|
|
Abbildung 1 Der Roboter von
Fischertechnik |
Der
Trainingsroboter der Firma Fischertechnik (Baujahr 1986) besitzt 3 rotatorische
Hauptbewegungsachsen sowie eine Greifhand zur Aufnahme von Gegenständen.
Das Antriebs- und Positioniersystem besteht aus drei Gleichstrommotoren
für die Bewegung der Robotergelenke sowie Gabellichtschranken für die
Erfassung der Position des Roboters. Hierzu befinden sich an den
Antriebswellen Impulszahnräder, die mit Infrarotlicht durchleuchtet
werden. Ein Fototransistor liefert die elektrischen Impulse für die
Positionsbestimmung. Diese Impulse werden im PC ausgewertet und daraus die
aktuelle Position berechnet. Der Roboter ist somit in der Lage, schnelle
und präzise Bewegungen auszuführen. |
|
|
Abbildung 2 Der Greifer
|
|
Das Interface zum PC bildet die
Motorsteuerungsplatine (siehe Abbildung 3), die zum einen die
Leistungsstufe für die Motoren bereitstellt, zum anderen die
Sensorsignale verarbeitet. Ein weiterer Motor dient dem Öffnen und Schließen der Greifzange.
Für
die Initialisierung des Roboters, dem Anfahren einer Ruheposition, ist
jede Achse mit einem Taster ausgerüstet, der die Endstellung signalisiert.
Die Signalverarbeitung übernimmt eine PC-Steckkarte, die in den ISA-Slot eines PCs eingebaut wird, sowie eine
externe Motorsteuerungsplatine. Die Motorsteuerung arbeitet nach dem
Prinzip der Pulsweitenmodulation, welche die Regelung des
Leistungsmittelwertes im Gleichstrommotor erlaubt. Der Aufbau und die
Funktion dieser Platinen werden im folgenden erläutert.
|
Die Motorsteuerung
|
Das Layout der Motorsteuerungsplatine (damals noch Leiterbahn
für Leiterbahn in Corel Draw gezeichnet, da die bestellte CAD-Software für die
Leiterplattenentwicklung drei Monate auf sich warten lies), ist in Abbildung 3 dargestellt.
Die Funktionseinheiten der Platine sind zum einen die Leistungsstufen für die
vier Motoren des Roboters, die mit einer Umschaltlogik für Links- und
Rechtsbetrieb ausgestattet sind. Die Steuerung der Motoren erfolgt durch zwei
Bits: 00,11 = Stillstand, 01 = Rechtslauf, 10 = Linkslauf.
Zum anderen enthält sie die Signalaufbereitung für die
Sensorik. Hierzu zählen die vier Digitaleingänge E1, E2, E3 und E4,
die den Status der Endtaster an den Roboterachsen widerspiegeln (1 = Endtaster
gedrückt).
Zwei analoge Eingänge EX und EY dienen der Spannungsmessung. An sie kann z.B.
eine Photodiode angeschlossen werden. Die Spannung wird von dem Impulsgeber-Baustein
NE556 in eine Frequenz umgewandelt, die dann vom PC mittels
Periodendauerauszählung gemessen werden kann.
|
|
Abbildung 3 Motorsteuerungsplatine |
Zur Funktionskontrolle der Status- und Steuerleitungen
sind auf der Platine Leuchtdioden vorhanden. Acht grüne LEDs zeigen den
Links- bzw. Rechtslauf der vier Motoren an, während vier rote LEDs
den Status der Endtaster an den Roboterachsen repräsentieren. Die Platine wird von einem Netzteil mit 6,8V Gleichspannung
gespeist. Ein Spannungsregler erzeugt daraus die 5V-Versorgung für die ICs.
Die Signale für die Impulszählung werden auf der
Platine direkt zur ISA-Karte im PC durchgeschleift, wo sie an den
I/O-Portbaustein 82C55 geführt sind und anschließend weiterverarbeitet
werden können. Die Pulsweitenmodulation der Motorsteuersignale wird
mittels der Timer-ICs 8253 durchgeführt, die sich ebenfalls auf dieser
Karte befinden.
Einmal davon abgesehen, dass die gesamte Funktion dieser Platine durch einen
primitiven Mikrocontroller erledigt werden könnte, gibt der Aufbau doch einen sehr
guten Einblick in die Signalverarbeitung.
|
Die ISA-Karte
|
|
Abbildung 4 Bestückungsseite der ISA-Steckkarte
Abbildung 5 Lötseite der ISA-Steckkarte |
Auf
der PC-Karte sind links oben ein 4 MHz-Quarz sowie zwei Timerbausteine vom
Typ 8253 zu sehen. Rechts davon befindet sich der 40pin I/O-Portbaustein
82C55. Ein Vergleicher-IC vom Typ 74LS688 sowie der Demultiplexer 74LS139
und die NAND-Gatter des 74LS00 für die Adressdekodierung der Timer- ICs
und des Portbausteins liegen links unten auf der Karte. Unmittelbar
daneben befinden sich die beiden Portlatches 74LS245, die für die
Kopplung an den ISA-Bus des PCs verwendet werden. Eine Parallelport-Buchse
DB25 führt die Signale an die Motorsteuerungsplatine.
|
Stückliste der ISA-Karte
|
Menge |
Bauteil |
Typ |
Gehäuse |
Bezeichnung |
1 |
74LS00 |
74LS00 |
DIP14 |
U6 |
1 |
74LS139 |
74LS139 |
DIP16 |
U4 |
1 |
74LS688 |
74LS688 |
DIP20 |
U7 |
1 |
82C55A |
82C55A |
DIP40 |
U3 |
1 |
DELTA_25HF |
DELTA_25HF |
DB25FL |
J2 |
1 |
IBMXT |
IBMXT |
IBM_XT |
J1 |
1 |
XO5860 |
1 MHz |
OSZI_XO5860 |
X1 |
2 |
74LS245 |
74LS245 |
DIP20 |
U5,U8 |
2 |
8253 |
8253 |
DIP24 |
U1,U2 |
|
|
Schaltplan und Layout der ISA-Karte wurden in Ultiboard von
Ultimate
Technology entwickelt. Die Quell-Dateien für Ultiboard können hier
heruntergeladen werden und stehen ebenfalls als PDF-Datei zur Verfügung.
Roboter-Card_Schaltplan.pdf
Roboter-Card_Layout.pdf
|
Die Software
|
Die Treibersoftware für die ISA-Karte wurde in Assembler programmiert. Da
die Karte ohne Interrupts auskommt, müssen die Digitaleingänge periodisch
durch die Software abgefragt werden (Polling). Die Hauptaufgabe ist die
Erfassung der Impulse an den Inkrementalgebern mit Hilfe des Portbausteins
82C55. Mit ihm wird auch gleichzeitig der Status der Endtaster überwacht. Die
Signale der Pulsweitenmodulation zur Geschwindigkeitsregelung der vier Motoren
werden mit den beiden Timern 8253 erzeugt, die mit einer Quarzfrequenz von 1MHz
getaktet werden.
Mit einer Bedienoberfläche, die in Turbo Pascal geschrieben wurde, lässt
sich der Roboter per Joystick steuern oder Bewegungsabläufe in einer
Ablauftabelle speichern (siehe Abbildung 6). Sie unterstützt ebenfalls das Training des Roboters,
d.h. mit der Tastatur oder dem Joystick können verschiedene Positionen
angefahren werden, die sich dann per Tastendruck abspeichern lassen. Das
abgespeicherte Roboterprogramm kann anschließend selbständig ohne Eingriff des
Benutzers ablaufen.
|
Abbildung 6
Bedienoberfläche des Roboter-Trainingsprogramms
Die Software zum downloaden
Roboter_Software
zurück
© 1998,
Ralph Bräumer
|
|