Zuletzt noch zwei kurze Videos:
Video 1: Starten und Abschalten des Raspberry Pi 3 (ca. 56 s)
Video 2: Funktionsvorführung (ca. 3 min)
Dinge, die ich teilen möchte
Zuletzt noch zwei kurze Videos:
Video 1: Starten und Abschalten des Raspberry Pi 3 (ca. 56 s)
Video 2: Funktionsvorführung (ca. 3 min)
Wie bereits gesagt, kommt als Herz ein Raspberry Pi 3 zum Einsatz. Das integrierte Bluetooth-Modul ist praktisch und lässt sich schön mit einer Wiimote koppeln.
Betriebssystem ist das aktuelle Raspbian, als Python-Version kommt 2.x zum Einsatz, da die verwendete Wiimote-Bibliothek mit der Version 3.x nicht funktioniert.
Ah ja, eine Anleitung, wie man die Bibliothek installiert und wie man die Wiimote koppelt, gibt es z.B. auf dieser Seite. Beim Pi 3 kann man sich das Installieren eines Bluetooth-Dongles natürlich sparen.
Hier ein Ausschnitt des Python-Programms:
while True: buttons = wii.state['buttons'] #Achtung: WiiMote wird quer gehalten, deshalb RIGHT --> Vorwaerts if(buttons & cwiid.BTN_RIGHT): if(buttons & cwiid.BTN_DOWN): #DOWN --> rightfor Drive_rightfor() elif(buttons & cwiid.BTN_UP): #UP --> leftfor Drive_leftfor() else: Drive_forward() elif(buttons & cwiid.BTN_LEFT): #LEFT --> Rueckwaerts if(buttons & cwiid.BTN_DOWN): #DOWN --> rightback Drive_rightback() elif(buttons & cwiid.BTN_UP): #UP --> leftback Drive_leftback() else: Drive_back() else: if(buttons & cwiid.BTN_UP): #UP --> leftturn Drive_leftturn() elif(buttons &cwiid.BTN_DOWN): #DOWN --> rightturn Drive_rightturn() else: Drive_stop() time.sleep(0.1) #Turm drehen mit 1 und 2 if(buttons & cwiid.BTN_1): Turn_left() elif(buttons & cwiid.BTN_2): Turn_right() else: Turn_stop() time.sleep(0.1) #Turm heben mit + und - if(buttons & cwiid.BTN_PLUS): Lift_up() elif(buttons & cwiid.BTN_MINUS): Lift_down() else: Lift_stop() time.sleep(0.1) #Band und Bagger if(buttons & cwiid.BTN_A): if(pressed == '0' and run == 'stop'): Band_run() pressed = 'A' elif(pressed == '0' and run == 'run'): Band_stop() pressed = 'A' else: pressed = '0' time.sleep(0.1) ....
Und hier die Belegung der Wiimote:
Da natürlich kein Monitor und keine Tastatur am Pi stecken wird, muss das Programm automatisch starten. Die Status-LED, die immer blau leuchtet, wenn Spannung anliegt, blinkt kurz rot, wenn die Wiimote gekoppelt werden kann (gleichzeitiges Drücken von 1 und 2). Wenn die Kopplung erfolgreich ist, leuchtet die grüne LED zusätzlich.
Wenn die Kopplung nicht erfolgreich ist, beendet sich das Programm, der Pi bleibt aber an.
Nach erfolgter Kopplung kann man mit dem Bagger spielen.
Hat man keine Lust mehr, trennt man die Wiimote mit dem Home-Button. Dann fährt auch der Pi herunter. Hält man den B-Knopf (auf der Rückseite) gedrückt, während man Home drückt, trennt man nur die Verbindung. Der Pi fährt aber nicht runter.
Bevor ich zur Platine selbst komme, ein paar Worte zum Akku.
Als Akku kommt eine Powerbank zum Einsatz. am besten eine mit 2 USB-Anschlüssen, einen für den Raspberry Pi und einen für die Motoren. Der Formfaktor sollte so sein, dass er gut einbaubar ist. Ich hatte mich für einen flachen quaderförmigen Typ entschieden, der einen High-Power-Output hat. Das ist wichtig, da die Motoren durchaus einen relevanten Strom ziehen (Details kann man sich googeln). Leider reichte auch das nicht aus. Der Akku reagierte nämlich sehr empfindlich auf den Anlaufstrom der Motoren, d.h., die Überstromsicherung schaltete oft den Akku aus, was ziemlich lästig war. Zum Glück habe ich dann noch einen anderen Akku mit ähnlichen Abmessungen und etwas mehr nomineller Strombelastbarkeit gefunden. Der hier ist es, wie lange es den allerdings gibt, wer weiß …
Ich brauche:
Für die Motoransteuerung der M-Motoren verwende ich den L293D, ein robuster bewährter DC-Motor-Treiber, die Version mit den integrierten Dioden.
Da der XL-Motor keine Drehrichtungsumkehr braucht, reicht hier ein Relais aus, ich habe ein DIL14-Reed-Relais (Typ 3570-1210-053 bei Conrad) mit 0,5A Schaltstrom genommen.
Der Step-Up-Converter ist ein LM2577-ADJ, robuste Technik, leicht überdimensioniert, da gibts keine Probleme.
Dazu noch eine RGB-Status-LED, fertig.
Als Gehäuse für den Raspberry Pi habe ich ein Lego-kompatibles Teil genommen. Die Platine soll genau drauf passen, damit sie mit Legoteilen eingebaut werden kann. Die folgenden Bilder zeigen, wie das aussieht.
Wie bereits erwähnt, war das Ziel, mit möglichst wenig Änderungen auszukommen. Trotzdem geht es nicht ohne zusätzliche Teile.
Die 4 M-Motoren sowie die Zuleitungen habe ich direkt bei Lego.com bestellt. Alle anderen Teile gab es bei KieselBrick über Brickscout, kann ich nur empfehlen.
Mit einer genauen Liste kann ich leider nicht dienen, da ich die Teile nach Gefühl ausgesucht habe und auch viele Teile wieder verwenden konnte, die durch den Umbau erstmal übrig geblieben waren.
Das Original fährt, aber nur geradeaus, lenken ist nicht. Außerdem sitzt der Motor oben im Hauptgetriebe. Deshalb habe ich unten 2 M-Motoren eingebaut, die getrennt ansteuerbar sind. Die Inspiration habe ich mir hier geholt, letztendlich habe ich aber meine eigene Variante gebaut, die mir etwas einfacher scheint.
Die Zuleitung zu den Motoren habe ich über die Drehachse zentral geführt, so dass ein Drehen des Turms weiterhin möglich ist.
Auch das Drehen des Turms wird im Original über das Zentralgetriebe mit dem XL-Motor gelöst. Ich habe die Verbindung zwischen Getriebe und Gestänge getrennt and an diese Stelle einen M-Motor mit Schneckenrad gesetzt.
Das Heben und Senken des Schaufelrads ist im Original nur manuell möglich. Aber auch hier kann man sehr einfach einen M-Motor mit Schnecke einsetzen.
Bleibt der Antrieb des Schaufelrades und der Förderbänder: Das bleibt einfach, wie es ist. Der XL-Motor macht das prima. Den letzten Freiheitsgrad, das Drehen des kleinen Förderbandes, habe ich auch unverändert gelassen.
Das Projekt besteht im wesentlichen aus 3 Teilen:
Hier schon mal das Original und der fertige Umbau. Ein Ziel war es, den Bagger so original wie möglich zu belassen.
Details zum gesamten Umbau folgen später.
Mein Wunsch ist in Erfüllung gegangen! Ich habe den Schaufelradbagger von Lego zum Geburtstag bekommen.
Das Aufbauen war schon toll, aber natürlich hat mich das nicht zufrieden gestellt. Der eine Motor, der alles antreibt, kann es ja nicht sein!
Deshalb habe ich den Schaufelradbagger so umgebaut, dass sämtliche schon vorher angetriebenen Funktionen unabhängig voneinander per Fernbedienung steuerbar sind. Zusätzlich ist er nun auch lenkbar und das Schaufelrad ist per Motor absenkbar.
Bilder, Video und Beschreibung gibt es bald.