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