Hochschule Ulm
Bewerber

Studierende

Alumni

Unternehmen

Journalisten

Intern

V 1.6.1088.9223/


Übung Drehzahlregelung

Mit dieser Übung wird schrittweise eine Drehzahlregelung auf den qFix-Robotern realisiert. Damit die Programme korrekt funktionieren, ist unbedingt die in der Anleitung angeführte Verdrahtung nachzubauen.

Gleiches Pulsweitenverhältnis für beide Räder

Das Programm kommandiert für beide Motoren des Differentialantriebes das gleiche Pulsweitenverhältnis. Theoretisch sollte also der Roboter geradeaus fahren.



Woran liegt es, dass der Roboter dennoch meist nicht geradeaus fährt ?


Wie verhält sich der Roboter, wenn man eine Last anhängt ?

Datei: ex11-regler-pulsweiten.tgz

Achtung:

Der Roboter muss mit diesem Programm vorwärts fahren. Manchmal sind allerdings die Motoranschlüsse vertauscht verlötet, so dass der Roboter trotz korrekter Verdrahtung entweder rückwärts fährt oder auf der Stelle dreht. Anstatt zu löten kann die notwendige Korrektur einfach per Software durchgeführt werden. Hierzu muss einfach in allen Dateien "mega128board.cc" die Methode "void Mega128Board::motor(int i, int speed)" angepasst werden. Entweder ist nur eine der Änderungen, eventuell sind beide Änderungen notwendig. Einfach Ausprobieren !

"speedMotor1 = speed;" abwandeln nach "speedMotor1 = -speed;"

"speedMotor0 = speed;" abwandeln nach "speedMotor0 = -speed;"

Drehzahlregler nur für das linke Rad

Dieser Baustein realisiert einen fertigen Regler für das linke Rad. Wenn man das linke Rad mit der Hand bremst, spürt man im direkten Vergleich zur vorherigen Version, dass der Motor versucht, die Drehzahl durch eine größere Kraft konstant zu halten.

Datei: ex11-regler-drehzahlregler-einfach.tgz

Je ein Drehzahlregler für beide Antriebsräder

In diesem Programm ist der vorherige Drehzahlregler schlicht doppelt enthalten, je einmal für das linke und das rechte Antriebsrad. Lassen Sie den Roboter nun auf dem Boden fahren und beobachten Sie, wie gut er geradeaus fährt.



Was passiert, wenn man unterschiedliche Last anhängt ?


Halten Sie nun kurzfristig ein Rad fest und schauen Sie, was der Roboter macht.


Wie fährt der Roboter weiter, nachdem man das blockierte Rad wieder freigegeben hat ?

Datei: ex11-regler-drehzahlregler-doppelt.tgz

Differenzregler

Nun sind die beiden Drehzahlregler über einen weiteren Regler miteinander verbunden. Dieser Regler sorgt dafür, dass die Abweichung zwischen der Umdrehungszahl des linken und des rechten Rades ausgeglichen werden.



Halten Sie nun den Roboter in der Luft und blockieren ein Rad. Was macht nun das andere Rad ?


Lassen Sie den Roboter auf dem Boden fahren und blockieren Sie nun eines der Antriebsräder. Was macht der Roboter ?


Wie fährt der Roboter weiter, wenn Sie das Rad wieder freigeben ?


Vergleichen Sie das Verhalten mit der vorherigen Version und versuchen Sie eine Erklärung.

Datei: ex11-regler-drehzahlregler-differenz.tgz

Kreisbahnen

Schauen Sie nun im vorherigen Programm an das Ende der Datei "main.cc" und verändern Sie den Bias-Wert. Der Roboter fährt nun auf einer Kreisbahn.



Wieso kann mit diesem Wert eine Kreisbahn eingestellt werden ?


Lassen Sie den Roboter mit genügend Platz im Kreis fahren und überprüfen Sie die Fahrgenauigkeit beim Überfahren des Startpunktes.




ex11-regler-drehzahlregler-differenz.tgz (8KB)

ex11-regler-drehzahlregler-doppelt.tgz (7KB)

ex11-regler-drehzahlregler-einfach.tgz (7KB)

ex11-regler-pulsweiten.tgz (6KB)

ex11-regler-verdrahtung.pdf (211KB)

kapitel-2-III.pdf (395KB)

Hochschule Ulm
Prof. Dr. C.  Schlegel
Prittwitzstraße 10
89075 Ulm
Fon: +49 (0731) 50-28242
schlegelhs-ulm.de





Zurück zum Seitenanfang





Christian Schlegel
© 2007