Startseite>Raspberry Pi steuert Fischertechnik-Roboter
Aus Raspberry Pi Geek 08/2018

Raspberry Pi steuert Fischertechnik-Roboter

© Unternehmensgruppe fischer, http://www.fischer.group

PiBot

Martin Mohr

Aus einem Fischertechnik-Baukasten lässt sich schon mit wenigen Teilen ein Roboter aufbauen. Fehlt nur noch ein Gehirn: Das stellt der Raspberry Pi.

Mit Fischertechnik bauen bereits kleine Kinder beeindruckende Robotermodelle. Wäre es nicht schön, diese Modelle mit dem Raspberry Pi anzusteuern? Mit einigen wenigen Bauteilen und etwas Geschick lässt sich die GPIO-Schnittstelle des RasPi genau zu diesem Zweck erweitern. Die dazu nötigen Bauteile kosten nur ein paar Euro, die Programme schreiben wir in C. Dabei kommt die Bibliothek WiringPi zum Einsatz, die eine hardwarenahe Programmierung ermöglicht.

Bevor Sie mit dem Löten und Programmieren beginnen, braucht es zunächst einige Grundlagen, unter anderem Wissen über die verwendeten Bauteile. Auch die Art der Programmierung bietet viel Neues, etwa zahlreiche interessante Schaltungen aus der Elektronik. Sie bekommen auch einen Einstieg in die Programmierung von Hardware-Interrupts.

Spannungsdifferenzen

Die GPIO des Raspberry Pi arbeitet bekanntlich mit 3,3 Volt, schon bei einer Spannung von 5 Volt können irreparable Schäden auftreten. Die Fischertechnik-Komponenten hingegen verwenden eine Betriebsspannung von 9 Volt – das übersteigt auf jeden Fall die Fähigkeiten des Raspberry Pi. Erschwerend kommt hinzu, dass die Fischertechnik-Motoren einen Strom von etwa 250 Milliampere benötigen. Diese Menge Strom können die GPIO-Ports des Raspberry Pi nicht bereitstellen.

Alles in allem scheinen das denkbar schlechte Ausgangsbedingungen, um die beiden Welten miteinander zu verbinden. In der Praxis stellt das Szenario allerdings kein größeres Problem dar. Da in der Elektronik schon immer Pegelanpassungen nötig waren, gibt es Bausteine von der Stange, die das für Sie übernehmen. Für das Anpassen der Eingangsspannung von 9 auf 3,3 Volt kommt der Baustein CD4010 zum Einsatz, ein klassisches Beispiel für das, was Elektroniker im Allgemeinen als Pufferbaustein bezeichnen.

Zum Ansteuern der Motoren müssen Sie hingegen zu einer andere Klasse Halbleiter greifen. Hier kommt der L293 zum Einsatz, ein Halbleiter, mit dem sich bis zu vier Gleichstrommotoren steuern lassen. Alternativ bietet der Baustein die Möglichkeit, H-Brücken aufzubauen. Was das genau bedeutet, klären wir, sobald wir uns genauer mit dem L293 beschäftigen.

CD4010

Der CD4010 verfügt über sechs Puffer, mit denen sich die Spannungspegel von digitalen Signalen anpassen lassen. Er arbeitet nicht invertierend in einem Spannungsbereich von 3 bis 15 Volt. Es existiert eine baugleiche invertierende Variante des Chips, der CD4009. Beide ICs sind intern mit Feldeffekttransistoren aufgebaut und benötigen daher nur wenig Energie, typischerweise ziehen sie rund 500 Milliwatt. Das Datenblatt zu zum CD4010 liefert zahlreiche weitere Informationen [1]. Die Pinbelegung des Bausteins zeigt Abbildung*1.

Abbildung 1: Pinout des CD4010.

Abbildung 1: Pinout des CD4010.

L293

Beim L293 handelt es sich um einen Vierfach-Halb-H-Motortreiber. Um die kryptische Bezeichnung zu erklären, müssen wir etwas ausholen: Gleichstromelektromotoren drehen sich, sobald Strom durch sie fließt; ihre Drehrichtung hängt von der Stromrichtung ab. So weit, so gut. Möchte man nun einen Motor über eine Elektronik ansteuern, gibt es dafür eine Standardschaltung, die sogenannte H-Brücke.

Ein Blick auf Abbildung 2 macht schnell klar, warum die Schaltung H-Brücke heißt: Die Bauteile formen ein großes H. Daraus erklärt sich der Aufbau einer Halb-H-Schaltung: eine Hälfte einer H-Brücke, quasi eine Transistorendstufe. Der L293 bringt vier im Gegentakt arbeitende Endstufen mit. Der Treiber arbeitet mit einer Betriebsspannung zwischen 4,5 und 36 Volt bei einem Dauerstrom von 600 mA.

Abbildung 2: Schaltung einer H-Bücke.

Abbildung 2: Schaltung einer H-Bücke.

Integrierte Freilaufdioden verhindern Überspannungen bei induktiven Lasten (siehe Kasten “Freilaufdioden”). Weitergehende Informationen zum L293 liefert dessen Datenblatt [2]. Um Ihnen den Aufbau der Schaltung zu erleichtern, finden Sie in Abbildung 3 das Pinout des L293.

Abbildung 3: Pinout des L293.

Abbildung 3: Pinout des L293.

Freilaufdioden

Spulen aller Art (Induktivitäten) tendieren dazu, den elektrischen Stromfluss konstant zu halten. Beim Einschalten und solange der Strom konstant fließt, stellt das kein Problem dar. Wird der Stromkreis beim Abschalten nun aber unterbrochen, versucht die Spule trotzdem, den Stromfluss für eine gewisse Zeit aufrechtzuerhalten. Da der Widerstand im Stromkreis durch das Abschalten theoretisch unendlich hoch ansteigt, erhöht sich auch die Spannung an der Spule sprunghaft – theoretisch ebenfalls bis ins Unendliche.

Praktisch findet sich immer ein Weg, über den sich diese Spannung abbauen lässt. Der führt aber oft durch die Sperrschicht eines Halbleiters, die durchschlagen wird, was den Halbleiter zerstört. Um das zu verhindern, kommen in elektronischen Schaltungen Freilaufdioden zum Einsatz. In Sperrrichtung parallel zur Induktivität eingebaut, bauen sie genau diese Überspannungen ab und retten den Halbleitern das Leben. Dabei gilt es, nicht zu vergessen, dass auch Elektromotoren und Magnetventile Spulen beinhalten. Sobald ein Transistor eine Last schaltet, sollten Sie ihm eine Freilaufdiode spendieren. Sie schaden auch dann nicht, wenn Sie keine induktiven Lasten schalten.

PTC-Sicherung

Die PTC-Sicherung schützt andere elektronische Bauteile vor einem zu hohen Stromfluss. PTC steht hierbei für “positive temperature coefficient”: Sobald sich ein Bauteil erwärmt, erhöht sich dessen Widerstand, was den Stromfluss auf einen vorgegebenen Wert begrenzt. Der Stromfluss selbst erwärmt die PTC-Sicherung. Sobald die Sicherung wieder abkühlt, sinkt ihr Widerstand auch wieder.

Dieses Verhalten ermöglicht es, den Stromfluss dauerhaft zu begrenzen. Elektroniker bezeichnen die PTC-Sicherung daher auch als selbstrückstellende Sicherung. Sie dient oft zum Schutz von Leistungselektronik; in unserer Schaltung finden sich an mehreren Stellen PTC-Sicherungen.

Polling

Es gibt zwei grundlegende Möglichkeiten, einen digitalen Eingang abzufragen: Polling oder Interrupt-Verarbeitung. In den meisten Ihrer Projekte haben Sie sicher das Polling verwendet. Dabei fragt man einen Eingang kontinuierlich ab, um dessen Status zu ermitteln. Das genügt für die meisten Projekte vollkommen, hat allerdings einige Nachteile.

So erhalten Sie auf diesem Weg immer nur eine Momentaufnahme eines Eingangs: Rufen Sie das Signal etwa im Sekundentakt ab, bekommen Sie nicht mit, was in der Zwischenzeit an dem Eingang geschieht. Es könnten Hunderte Impulse unbemerkt vorbeirauschen.

Ein weiteres Problem liegt darin, dass der Raspberry Pi nicht echtzeitfähig ist. Stellt das Betriebssystem keine CPU-Zeit zur Verfügung, weil es gerade an etwas anderem arbeitet, wird unser Programm gar nicht zum richtigen Zeitpunkt ausgeführt. Geht es also darum geht, schnell auf Ereignisse zu reagieren, eignet sich das Polling denkbar schlecht. Zudem belastet das Polling die begrenzten Ressourcen des RasPi, das System muss ja regelmäßig den Code zum Einlesen der Eingänge ausführen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 8 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland