na ja, ganz so einfach ist es nicht.
Wenn man mit Schrittmotoren sinnvoll arbeiten will, muß das steuernde
Programm jederzeit über die aktuelle Position des Motors informiert
sein, und das heißt, entweder jeden einzelnen Step auf irgendeine Art
und Weise auszugeben (scheitert aus Zeitgründen) oder auf eine
kompaktere Art die Daten auszugeben.
Also Motor:Richtung:Steps
Im MC müssen diese Daten den Motordaten entsprechend zeitlich
aufbereitet step für step ausgegeben werden. Und auch da sind noch
einige Sachen zu beachten, Beim Beschleunigen und Abbremsen müssen
Rampen gefahren werden, direkt max. Steppergeschwindigkeit anlegen
führt unweigerlich zu Schrittverlusten. Weitere Kleinigkeiten:
Stromabsenkung bei niedrigen Schrittgeschwindigkeiten bzw. Stillstand.
Idealerweise nimmst du einen Prozessor mit relativ viel RAM, baust dir
im RAM einen Ringbuffer mit unabhängigen Schreib- und Lesepointern. Die
Daten, die vom PC kommen, werden in die entsprechenden Motordaten
zerlegt und in den Ringbuffer geschrieben und per Timerinterrupt
gelesen und ausgegeben. Die Kunst besteht jetzt darin, diesen Puffer
weder leer werden zu lassen noch darf er überlaufen. Auf jeden Fall ist
also eine bidirektionale Kommunikation mit dem Hauptrechner
erforderlich.
Noch komplizierter wirds, wenn du nicht nur im festen
Vollschrittbetrieb arbeiten willst, sondern auch im Halb-oder gar
Mikroschritt.
Alles in allem: interessant, aber relativ aufwändig, solch ein Programm
schreibt man nicht an einem Nachmittag. Ich würde mich erst mal auf die
Suche nach fertigen Lösungen machen und diese dann erforderlichenfalls
anpassen.