3-Achsen Schrittmotorsteuerung

Gast #1604647
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 ...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.