Mich intressiert in erster Linie wie ein Schrittmotor angesteuert wird und wie ich ihn dazu bringe ihn mit einer bestimmt Drehzahl drehen zu lassen.
Hier steht schon einiges zur Ansteuerung drin. Und die Datenblätter zu L297 und L298 als mögliche und bewährte Bauteile zur Ansteuerung für Voll- und Halbschrittbetrieb.

Die Schaltung mit L297 und L298 erwartet noch einen externen Takt, jedesmal wenn ein Impuls gegeben wird macht der Motor einen Halb- bzw. Vollschritt. Für diesen Taktgeber würde man sinnvollerweise einen Mikrocontroller einsetzen. Wahrscheinlich genügt da schon etwas kleines, z.B. ATtiny45.
Das Problem mit der winkelabhängigen Geschwindigkeit würde ich im ersten Ansatz so lösen indem man den Motor immer von einer bekannten Winkelstellung aus startet. Der Mikrocontroller kennt dann die Zahl der Schritte die er von dieser Stellung aus gemacht hat und kann die Zeit zwischen zwei Schritten einer entsprechenden Funktion anpassen. Das Problem mit den Mikrocontrollern ist, dass sie meistens viel mehr können als man braucht, was die Sache für den Anfänger recht unübersichtlich macht. Außerdem muss man sich auf eine Programmiersprache einlassen, lernen wie man das Programm in den Chip bekommt und viele weitere kleinere und größere Hürden überwinden. Es gibt aber ziemlich viele Tutorials und Infos im Internet. Wenn man das Konzept mit der gebogenen Gewindestange übernimmt braucht man nur eine konstante Frequenz, das wäre wohl auch ohne Mikrocontroller mit einem Quarzosszillator und einem programmierbaren Frequenzteiler hinzubekommen.