Arexx RP6 V2 Build your own robot kit RP6 V2 Manuale Utente
![Arexx](https://files.manualsbrain.com/attachments/7d5bfb0ba6ea5b2685c982333a7389b552ce0a09/common/fit/150/50/e2737ebddbd476d0e73a3bf82f6692f0e681a71c3e37eb574014e9811fb8/brand_logo.gif)
Codici prodotto
RP6 V2
RP6 ROBOT SYSTEM - 4. Programmierung des RP6
4.6.9. Antriebs Funktionen
Der Antrieb des Roboters kann mit Funktionen der RP6Library sehr komfortabel
gesteuert werden. Es gibt dort bereits Funktionen, die mithilfe der Drehgeber automa-
Der Antrieb des Roboters kann mit Funktionen der RP6Library sehr komfortabel
gesteuert werden. Es gibt dort bereits Funktionen, die mithilfe der Drehgeber automa-
tisch die Geschwindigkeit der Motoren einregeln, den Motorstrom überwachen,
automatisch bestimmte Distanzen abfahren und noch einiges mehr. Das ist sehr
automatisch bestimmte Distanzen abfahren und noch einiges mehr. Das ist sehr
komfortabel, aber man muss – wie bei den anderen Systemen auch - ein paar
Besonderheiten beachten wenn man das benutzen will.
Und die aktuelle Fassung ist sicherlich noch nicht optimal. Da kann noch viel verbes-
sert und hinzugefügt werden!
Besonderheiten beachten wenn man das benutzen will.
Und die aktuelle Fassung ist sicherlich noch nicht optimal. Da kann noch viel verbes-
sert und hinzugefügt werden!
void task_motionControl(void)
Die Funktion
task_motionControl
muss man ständig aus dem Hauptprogramm aufru-
fen – sonst funktioniert diese automatische Regelung nicht! Ständig aus dem Haupt-
programm aufrufen heisst hier nichts anderes, als dass man diese Funktion in der
Hauptschleife des Programms bei jedem Schleifendurchlauf einmal aufrufen muss. Es
Hauptschleife des Programms bei jedem Schleifendurchlauf einmal aufrufen muss. Es
reicht, wenn die Funktion alle 10 bis 50 Millisekunden einmal aufgerufen wird. Besser
ist es allerdings, die Funktion noch sehr viel öfter aufzurufen. Es schadet nicht, wenn
ist es allerdings, die Funktion noch sehr viel öfter aufzurufen. Es schadet nicht, wenn
man die Funktion noch schneller aufruft, denn das Timing wird von einem der Hard-
waretimer gesteuert. Daher ist es auch egal ob man die Funktion in gleichbleibenden
waretimer gesteuert. Daher ist es auch egal ob man die Funktion in gleichbleibenden
Intervallen aufruft, oder ob man mal 1ms und mal 10ms zwischen den einzelnen Auf-
rufen benötigt. Es kostet auch nur unwesentlich mehr Rechenzeit, die Funktion oft
rufen benötigt. Es kostet auch nur unwesentlich mehr Rechenzeit, die Funktion oft
aufzurufen. Sie wird nur komplett ausgeführt, wenn auch etwas zu tun ist.
Wird diese Funktion korrekt angewandt, kümmert sie sich darum die Motoren immer
Wird diese Funktion korrekt angewandt, kümmert sie sich darum die Motoren immer
relativ genau mit den gewünschten Drehzahlen laufen zu lassen.
Das wird hier erreicht, indem bei jeder Geschwindigkeitsmessung die Abweichung
Das wird hier erreicht, indem bei jeder Geschwindigkeitsmessung die Abweichung
ermittelt und alle gemessenen Abweichungen aufsummiert werden (also ein integrie-
render Regler). Mit diesem Fehlerwert kann dann die Spannung an den Motoren über
render Regler). Mit diesem Fehlerwert kann dann die Spannung an den Motoren über
die PWM Module des Mikrocontrollers angepasst werden. Ist die Geschwindigkeit zu
niedrig, sind die Fehlerwerte positiv und die Spannung an den Motoren wird dement-
niedrig, sind die Fehlerwerte positiv und die Spannung an den Motoren wird dement-
sprechend erhöht. Ist die Geschwindigkeit zu hoch, wird die Spannung verringert. Das
pendelt sich beim RP6 dann schnell auf einen relativ konstanten PWM Wert ein (kleine
pendelt sich beim RP6 dann schnell auf einen relativ konstanten PWM Wert ein (kleine
Schwankungen sind normal). Durch diese Regelung wird die Geschwindigkeit unab-
hängig von der Akkuspannung, der Belastung (Gewicht, Untergrund, Steigung/Abhang
hängig von der Akkuspannung, der Belastung (Gewicht, Untergrund, Steigung/Abhang
etc.) und Fertigungstoleranzen eingeregelt. Würde man die PWM Kanäle nur auf einen
festen Wert einstellen, würde sich die Geschwindigkeit abhängig von der Belastung
festen Wert einstellen, würde sich die Geschwindigkeit abhängig von der Belastung
und Akkusspannung sehr stark verändern und wäre auch für jeden Kanal unterschied-
lich aufgrund der immer vorhandenen Fertigungstoleranzen.
lich aufgrund der immer vorhandenen Fertigungstoleranzen.
Auch die Drehrichtung der Motoren wird von dieser Funktion gesteuert, denn es wäre
der Lebensdauer der Motoren und der Getriebe nicht gerade zuträglich, wenn man öf-
ters z.B. bei 15cm/s die Drehrichtung abrupt ändert. Wenn die Drehrichtung also ge-
ters z.B. bei 15cm/s die Drehrichtung abrupt ändert. Wenn die Drehrichtung also ge-
ändert werden soll, wird automatisch auf 0cm/s abgebremst, die Drehrichtung geän-
dert und erst dann wieder auf die Sollgeschwindigkeit beschleunigt.
Neben der Geschwindigkeitsregelung und Drehrichtungskontrolle, wird auch der Mo-
torstrom überwacht und die Motoren automatisch abgeschaltet wenn einer von beiden
dert und erst dann wieder auf die Sollgeschwindigkeit beschleunigt.
Neben der Geschwindigkeitsregelung und Drehrichtungskontrolle, wird auch der Mo-
torstrom überwacht und die Motoren automatisch abgeschaltet wenn einer von beiden
zuviel Strom benötigen sollte. Das verhindert, dass die Motoren überlastet werden und
- 99 -