Forum: Mikrocontroller und Digitale Elektronik 3-Achsen Schrittmotorsteuerung


von noeppkes (Gast)


Lesenswert?

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 ...

von Axel D. (axel_jeromin) Benutzerseite


Lesenswert?

suche mal nach Bresenham und CNC



Axel

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
Noch kein Account? Hier anmelden.