Kugel-Sortierer
Lego Mindstorms

Karten Mischer
Karten-Mischer

Kugel-Sortierer
Kugel-Sortierer, Mindstorms kombiniert mit "normalen" Legos

KTilted Twister
Tilted Twister, löst Zauberwürfel

Startseite

Lego Mindstorms

Spass mit Lego Technik, aber auf Erwachsenem Niveau. Lego Mindstorms richtet sich an Menschen, die spielerisches Interesse an der Konstruktion von Maschinen haben, die sie anschließend auch selbst programmieren möchten. Schulen und sogar Universitäten verwenden es im Unterricht.

Der Schwierigkeitsgrad hängt ganz davon ab, welchen Aufgaben man sich stellt. Die vier Basis-Modelle kann sicher jedes 10 Jährige Kind nachbauen. Spannender jedoch ist es, sich eigene Aufgaben auszudenken und umzusetzen.

Zur Mechanik muß ich wohl nicht viel sagen. Es handelt sich um Lego Technik Teile aus Plastik, die ohne Werkzeug zusammengesteckt werden. Spannend wird das Ganze durch den Einsatz der drei Getriebemotoren und der Sensoren, welche an den Computer-Baustein angeschlossen werden. Die Programme erstellt man auf einem PC und lädt sie zur Ausführung per USB oder Bluetooth in den Computer-Baustein. Mindstorms Roboter funktionieren daher typischerweise autark ohne PC, man kann sie allerdings auch vom PC aus fernsteuern.

Von den meisten elektrischen Teilen hat Lego detaillierte technische Unterlagen veröffentlicht, womit die Entwicklung eigener Erweiterungen offiziell unterstützt wird.

Wer sich unsicher ist, ob er Lego Mindstorms gut finden soll, dem möchte ich die Videoclips auf Youtube nahelegen. Die herausragendsten Projekte, die ich dort gefunden habe sind:

Lego Mindstorms ist ein tolles Geschenk, das lange hält und sehr lehrreich sein kann. Leider ist es auch ziemlich teuer - wie alles von Lego.

NXT Computer

Der NXT Computer beinhaltet einen ARM Mikrocontroller mit 256KB Programmspeicher, 64KB RAM, und er wird mit 48Mhz getaktet. Das monochrome LCD Display kann Text und Grafik anzeigen. Mit einen kleinen Lautsprecher gibt der Baustein Töne und selbst aufgenommene Geräusche wieder.

Der Computer hat 3 Anschlüsse für Motoren, sowie 4 Anschlüsse für Sensoren. Jeder Sensor Port hat einen analogen Eingang, sowie zwei digitale I/O Leitungen, die man auch als I2C Bus nutzen kann. Der Sensorport 4 kann außerdem als RS485 Schnittstelle verwendet werden. Er wird üblicherweise genutzt, um zwei NXT Computer miteinander zu verbinden.

Zur Stromversorgung dienen 6 Mignon Batterien - vorzugsweise Akkus, da sie nur für wenige Stunden reichen.

Programme lädt man mit einem USB Kabel oder drahtlos per Bluetooth in den Computer. Die Bluetooth Schnittstellle kann auch zum Fernsteuern, sowie zur Kommunikation zwischen zwei NXT Computern verwendet werden.

Lego liefert das Set mit der grafischen Programmier-Software NXT-G aus. Damit erstellt man einen Programm-Ablauf Plan, indem man Symbole mit der Maus per Drag and Drop anordnet und miteinander verbindet. Mit ein bisschen Hilfe durch Erwachsene, kommen damit sogar viert-Klässler zurecht.

Größere Programme schreibt man besser mit der C-Ähnlichen Entwicklungsumgebung Bricx CC (nur unter Windows), oder mit der Java Variante Lejos (Windows, Linux, Mac). Ich habe für Linux eine Installationsanleitung erstellt.

Pinbelegung der NXT Anschlüsse

Seit Herbst 2013 wird der leistungsstärkere EV3 Computer verkauft. Er hat die gleichen Anschlüsse, so dass die hier vorgestellten Erweiterungen auch damit nutzbar sind.

Pin Farbe Motorports Sensorports
1 weiss Motor 9V 1A
mit PWM geregelt
analoger Eingang
mit 10k Ohm Pull-up auf 5V
und schaltbare Stromquelle 18mA auf 9V
2 schwarz GND
3 rot GND
4 grün VCC 4,3V max. 180mA für alle 7 Ports zusammen
5 gelb digitaler Eingang digitaler I/O und SCL
6 blau digitaler Eingang digitaler I/O und SDA

Die Leitungen sind alle kurzschlußfest. Passende Kabel mit den speziellen Steckern bekommt man im Online-Shop von Lego zu einem fairen Preis.

Die per Software zuschaltbare Stromquelle an Pin 1 liefert konstante 18mA. Die Leerlauf-Spannung der Stromquelle entspricht der Batterie-Spannung und ist mit 6-9V nicht konstant. Normalerweise ist die Stromquelle ausgeschaltet, dann wird der Eingang über einen internen 10k Ohm Widerstand auf 5V gezogen.

Der analoge Eingang misst Spannungen im Bereich 0 bis 3,3 Volt, verträgt aber auch 9V ohne Schaden zu nehmen. Für die digitalen Eingänge gelten Spannungen zwischen 2V und 9V als High Pegel.

Die digitalen Ausgänge liefern annähernd 3,3V bei High Pegel. Wegen der internen 4,7k Ohm Schutzwiderstände, die in Reihe zum Mikrocontroller geschaltet sind, sind die digitalen Ausgänge nur sehr gering belastbar.

Eigene Schaltungen mit I2C Bus

Elektroniker könnten sich für die folgenden Chips von Philips interessieren:
Man kann theoretisch jeweils bis zu 16 Stück von diesen Chips an einen einzigen NXT Sensorport anschließen, so kommen sie insgesamt auf fast 600 I/O Leitungen. Sowohl Lejos als auch Bricx CC unterstützen diese Chips. Meine kleine Erweiterung sieht so aus:

Foto I/O Erweiterung

Die Materialkosten dieser Platine liegen bei etwa 10 Euro.

Achtung: Die Ausgänge des PCF8574 sind vom Typ Open-Collector. Der Chip kann seine Ausggänge mit GND verbinden, aber nicht mit VCC. LED's muss man daher so anschließen, dass sie leuchten, wenn der Anschluss auf LOW (GND) liegt.


PCF8574 o---[===]---|<|---o VCC
           220 Ohm     LED
Schalter oder Taster schliesst man mit einem Pull-Up Widerstand an, so dass der Eingang auf HIGH liegt, solange der Taster nicht gedrückt ist:

PCF8574 o---+------[===]-----o VCC
            |     4,7k Ohm
            |       
            +------/ --------| GND
                 Taster                       

Modellbau Servos

Die preisgünstigen Modellbau-Servos kann man mit Hilfe meines Servo Controllers
anschließen.
Foto vom Servo Controller
An jeden Sensorport kann man bis zu 16 dieser Controller für jeweils 10 Servos anschließen, so kommt man insgesamt auf bis zu 640 Servos. Die analogen Eingänge des NXT bleiben dabei unbenutzt und stehen daher für andere Zwecke frei.

Download Doku und Java Klasse.

Neigungs- und Beschleunigungs-Sensor Bosch BMA020

Beim ELV Versand kann man einen sehr preisgünstigen Beschleunigungssensor bekommen (Artikel-Nr. 68-091521) - er kostet ungefähr 7 Euro. Der Sensor misst fortlaufend die Beschleunigung auf allen drei Achsen und liefert die drei Meßergebnisse in Form von Integer Zahlen. Da die Erdanziehungskraft auf den Sensor wirkt, kann man damit auch den Neigungswinkel messen.

Download Datenblatt und Java Klasse

Foto BMA020 Modul umbau Das Foto rechts zeigt, wie das Modul umgebaut werden muss, damit es am NXT funktioniert:

Diese Lötarbeiten sind nichts für Anfänger, da die Bauteile winzig klein sind.

Standardmäßig aktualisiert der Sensor seine Messwerte 25 mal pro Sekunde. Er liefert Werte im Bereich -512...+511 bei maximal 2G Beschleunigung. Der Messbereich kann auf 4G und 8G umgestellt werden.

Ladegerät

Ein Satz Akkus reicht selbst bei sparsamer Nutzung der Motoren nur für wenige Betriebsstunden aus. Das ist zunächst kein Problem, denn man kann die Akkus ja austauschen und wieder aufladen. Irgendwann wollen Sie aber mal ein Programm für längere Zeit laufen lassen. Oder sie möchten die Akkus nicht täglich wechseln, weil der Zugang zum Batteriefach verbaut ist.

Zu diesem Zweck bietet Lego einen Lithium Ionen Akku und ein Lade-Netzteil an. Diese Teile sind aber sehr teuer.

Das gleiche Funktionsprinzip kann man auch auf normale Nickel Akkus anwenden, nur muss man dann ein wenig basteln. Man klemmt zwei Drähte unter die Batteriekontakte (die unten gezeichneten Ecken), und verbindet sie mit einem selbtsgebauten Ladegerät.

Foto Ladegerät

Schaltplan Ladegerät

Das Steckernetzteil sollte mit 9V und einem Strom im Bereich von 300-500mA beschriftet sein. Die Fahrrad-Glühbirne begrenzt den Ladestrom, damit die Akkus bei Überladung weder heiß noch beschädigt werden. Sie dient zugleich als Sicherung. Ist alles richtig angeschlossen, dann leuchtet sie schwach.

Bei ausgeschaltetem NXT Computer, kann man so leere Akkus innerhalb von 5-10 Stunden aufladen. Bei eingeschaltetem NXT Computer reicht der Strom gerade aus, um die Akkus voll zu halten.

Wenn man die Motoren intensiv nutzt, werden die Akkus allmählich entladen, auch wenn gleichzeitig das Ladegerät angeschlossen ist.