Hallo,
versuche gerade, eine Art X-Y-Plotter mit einem Arduino über PID-geregelten DC-Motoren anzusteuern.
Ich verwende jeweils einen eigenen PID-Regler für eine Achse.
Einer der Motoren ist etwas langsamer als der Andere. Zwar werden die Zielkoordinaten wunderbar angefahren, aber für eine glatte Bewegung müssten die Motoren synchron fahren. Z.B. bei einer Gerade darf es nicht so sein, dass einer der Motoren nachläuft, da der "End-Effektor" sonst einen Haken schlägt.
Meine erste Idee war, den langsamen Motor eine größere Verstärkung zu geben. Das funktioniert schon etwas aber noch nicht zufriedenstellend, weil offenbar der Unterschied nicht für alle PWM-Werte gleich ist. Zusätzlich können Widerstände in der Mechanik auftreten, die diese Unterschiede unberechenbar machen.
Wie kann man die Regelung so aufbauen, dass die Motoren synchron gefahren werden? Das hat bestimmt schon einer von Euch gemacht.
Florian
versuche gerade, eine Art X-Y-Plotter mit einem Arduino über PID-geregelten DC-Motoren anzusteuern.
Ich verwende jeweils einen eigenen PID-Regler für eine Achse.
Einer der Motoren ist etwas langsamer als der Andere. Zwar werden die Zielkoordinaten wunderbar angefahren, aber für eine glatte Bewegung müssten die Motoren synchron fahren. Z.B. bei einer Gerade darf es nicht so sein, dass einer der Motoren nachläuft, da der "End-Effektor" sonst einen Haken schlägt.
Meine erste Idee war, den langsamen Motor eine größere Verstärkung zu geben. Das funktioniert schon etwas aber noch nicht zufriedenstellend, weil offenbar der Unterschied nicht für alle PWM-Werte gleich ist. Zusätzlich können Widerstände in der Mechanik auftreten, die diese Unterschiede unberechenbar machen.
Wie kann man die Regelung so aufbauen, dass die Motoren synchron gefahren werden? Das hat bestimmt schon einer von Euch gemacht.
Florian
Statistik: Verfasst von atzensepp — 17 Dez 2024, 22:33