Hallo, ich versuche auf einem Controller 3 Achsen zu steuern. Ich verwende dabei Schrittmotoren mit Microstep. Nun mein Problem. Das dies per Interrupt / Timern laufen soll, finde ich keinen Ansatz, wie ich dies mit Timern / Interrupt's realisieren könnte. Die Achsen sollen eine gerade laufen. D.h. glaube ich Interpolierend. Nun bekomme ich sicherlich für 3 Timer keinen Reload der auf die "Steigung" der 3 Achsen passt. Eine ist ja immer die schnellste (Ausser alle Achsen 45 Grad. Da sind alle gleich schnell). Somit taktet die per Timertakt 1 *. Die 2. Achse soll aber z.B. nur alle 3,3333 Takte kommen. Da ich bei dem Eingangstakt keine Nachkommastellen habe, müsste ich den 2. Timer / 3 laufen lassen. Dann stimmt aber meine "Steigung" nicht mehr, ausser ich korrigierte sozusagen "Online" immer wieder das Teilungverhältnis von dem 2. Timer. Also ein paar mal bclk / 3, dann wieder bclk / 4, bclk/3 usw. Somit käme ich auf das Teilungsverhältnis von 3,3333. Ganz zu schweigen von der 3. Achse. Das ist allerdings viel Stress für den Controller. Ich weiss auch nicht genau ob dieser dies schafft. Einen Timer verwendet ich auf jeden Fall für die Geschwindigkeit. Dieser "speisst" sozusagen die Timer der 3 Achsen. Wenn ich nun den Eingangstimer verändere, so verändert sich auch die Geschwindigkeit aller 3 Achsen. Ich hoffe ich konnte mein Problem einigermaßen formulieren. Hat jemand eine Hilfe für mich oder einen anderen Lösungsansatz? Timer habe ich genug. Insgesamt 13 Stück. noeppkes ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.