User manual

RP6 ROBOT SYSTEM - 2. Der RP6 im Detail
2.3.4. Stoßstangensensoren (Bumper)
Vorn am Roboter sind zwei Mikroschalter mit langem Schalthebel auf einer separaten
Platine untergebracht, die etwas vor der anderen Sensorplatine liegt. Dadurch werden
die IR LEDs auf der Sensorplatine geschützt und können nicht so leicht verbiegen
wenn der Roboter mal gegen ein Hindernis fährt. Mit den zwei Schaltern kann der Mi-
krocontroller einen solchen Aufprall registrieren und dann beispielsweise zurücksetzen,
sich etwas drehen und weiterfahren. Die Schalter sind an zwei der Ports die schon mit
den LEDs verbunden sind angeschlossen und blockieren so keine anderen Ports des
Mikrocontrollers. Daher leuchten die LEDs auch immer wenn man einen der Schalter
drückt! Da dies normalerweise relativ selten passiert, stört das aber nicht weiter.
Die Stoßstange kann man auch abmontieren und z.B. gegen eine Schuss- oder Sam-
melvorrichtung für Bälle o.ä. ersetzen wenn man möchte.
2.3.5. Motorstromsensoren (Current sensing)
Es befinden sich zwei Leistungswiderstände in den beiden
Motorstromkreisen. Aus dem Ohm'schen Gesetz
U = RI
folgt, dass sich die Spannung die an einem bestimmten Wi-
derstand abfällt, proportional zum Strom verhält, der die-
sen durchfließt!
Damit die Spannungsabfälle an den Widerständen nicht zu
groß werden, müssen die Widerstände klein gewählt wer-
den. In unserem Fall haben Sie einen Wert von 0.1 Ohm
Die abfallende Spannung ist also nur sehr klein (0.1V bei einem Strom von 1A) und
muss verstärkt werden bevor sie mit dem ADC gemessen werden kann. Das erledigt
jeweils ein sog. Operationsverstärker (OPV). In der Schaltung des RP6 wird je Motor-
kanal ein OPV verwendet. Der Messbereich geht etwa bis 1.8A. Bei 1.8A fallen etwa
0.18V am Widerstand ab und es ergibt sich am Ausgang des OPV eine Spannung von
etwa 4V. Mehr kann der verwendete OPV bei 5V Betriebsspannung nicht ausgeben.
Die Leistungswiderstände haben eine Toleranz von 10%, die Widerstände am OPV
5%, also ist das alles nur sehr ungenau (Ungenauigkeiten im Bereich von etwa 270mA
sind möglich wenn man die Sensoren nicht kalibriert!). Wir brauchen allerdings auch
nur den ungefähren Wert um festzustellen ob die Motoren stark oder wenig belastet
werden. So kann der Roboter gut blockierte oder gar defekte Motoren bzw. Drehgeber
erkennen! Die DC-Motoren benötigen mehr Strom je stärker sie belastet werden
(Drehmoment) und somit steigt der Strom sehr stark an wenn die Motoren blockiert
sind. Das wird von der Robotersoftware zur Notabschaltung verwendet: wenn die Mo-
toren dauerhaft mit hohem Strom betrieben würden, könnten diese sehr heiß werden
und dadurch Schaden nehmen! Und wenn die Encoder mal ausfallen sollten aus wel-
chem Grund auch immer kann auch das damit erkannt werden. Man würde dann
eine Drehzahl von 0 messen. Lässt man die Motoren aber auf voller Kraft laufen und
der Strom bleibt trotzdem klein (also sind die Ketten nicht blockiert!), kann man ge-
nau daraus schließen, dass entweder die Encoder, oder die Motoren ausgefallen sind
(oder Encoder und Motorstromsensoren nicht funktionieren... das passiert z.B. wenn
man vergessen hat diese vorher per Software einzuschalten).
- 22 -