Simultanes betreiben mehrerer Schrittmotoren

Hallo,

ich möchte zwei Schrittmotoren mit einem Arduino Mega, Ramps 1.4 und den Treibern Pololu A4988 betreiben.

Ich möchte das sich der eine Motor (1) die ganze Zeit dreht und der Andere Motor (2) sich um eine bestimmte Schrittzahl weiterdreht wenn der 1. Motor eine Umdrehung gemacht hat, dann stehen bleibt und wartet bis der 1.Motor wieder eine Umdrehung gemacht hat und wieder paar Schritte weiter fährt und immer so weiter.

Ich habe es versucht erst ohne Bibliotheken aber die haben sich nicht simultan bewegt und ich wusste nicht wie ich die Position der Motoren abfragen soll.
Dann habe ich es mit Accelstepper.h probiert, aber sobald ich den zweiten Motor betreiben möchte, funktioniert garnichts mehr. Also ich möchte beide Motoren einfach nur laufen lassen mit setSpeed(); und runSpeed();. Mit einem Motor funktioniert das super aber mit zwei läuft der 2. garnicht und der 1. ruckelt etwas.
ich möchte aber auch keine Beschleunigung oder Abbremsen haben.

Ich weiß nicht mehr weiter.
Ich hoffe Ihr könnt mir helfen.

Hallo,

mit der Accelstepper lib geht das, wenn Du uns nicht zeigst was Du gemacht hast können wir Dir nicht sagen wo Dein Fehler ist. Wichtig ist das nicht blokierende "Befehle" verwendet werden. Doku lesen hilft da auch.

Welche Motore hast Du verwendet, Netztteil ?

Du kannst auch die MobaTool lib verwenden.

Heinz

Ich habe hier viel Probiert mit bis zu drei Schrittmotoren Gleichlauf. Ohne Lib.
im Beitrag 34 habe ich die Fehler bereinigt, die ich anfangs hatte. Im Programm Beitrag 34 laufen drei Nema 17 gleich.

Ich möchte das sich der eine Motor (1) die ganze Zeit dreht und der Andere Motor (2) sich um eine bestimmte Schrittzahl weiterdreht wenn der 1. Motor eine Umdrehung gemacht hat, dann stehen bleibt und wartet bis der 1.Motor wieder eine Umdrehung gemacht hat und wieder paar Schritte weiter fährt und immer so weiter.

Eine Uhr mit Minuten und Stundenzeiger?
Wenn sich der Stundenzeige im gleichen Takt wie der Minutenzeiger weiterdrehen darf dann ist es einfach. Das funktioniert sogar mit delay. Einfach den Takt auf beide Schrittmotoren geben wenn beide drehen sollen, sonst nur auf einen.
Grüße Uwe