service prev.gif (707 Byte)     @mike's page > hobbies > mindstorms > tips&tricks    next.gif (723 Byte) weltweit lego

 

Lego

RCX

Technik

TIPS&TRICKS

Auf dieser Seite will ich versuchen einige Tips & Tricks zu geben.

Banane, oder ... warum fährt mein Bot nicht geradeaus?
Bluetooth, oder ... warum spricht mein NXT nicht mit mir?

Converter-Kabel, oder ... wie stelle ich meine eigenen NXT-RCX-Kabel her?
Geometrie, oder ... wie verbinde ich Technikbalken richtig?

Kabel, oder ... wie stelle ich meine eigenen NXT-Kabel her?

Linearmotor, oder ... wie komme ich ohne Pneumatik aus?
MotorSharing, oder ... wie verwende ich 1 Motor für 2 Antriebe?

Musik, oder ... wie bringe ich dem RCX die Noten bei?
arrow2.gif (1387 Byte) Power Functions, oder ... wie kann ich meinen NXT fernsteuern?
Prüfung!, oder ... wie steuere ich Motore direkt vom RCX?

Rotationssensor, oder ... warum nehme ich nicht billige Standardteile?

Rotationssensor Teil 2, oder ... warum nehme ich nicht billige Standardteile?
StepperMotor, oder ... wie baue ich einen Ersatz?
Taster, oder ... wie verbinde ich 2 Taster als "UND"-Verknüpfung?

Fragen oder Wünsche an mike

rbw.gif (4292 Byte)

Banane, oder ... warum fährt mein Bot nicht geradeaus?

Das kennt man ja, der Roboter fährt nie gerade aus, immer nur eine Banane.
Was ich dagegen tun kann ...

... folgt!

rbw.gif (4292 Byte)

Bluetooth, oder ... warum spricht mein NXT nicht mit mir?

Der Mindstorms NXT kann neben USB auch eine Bluetooth-Verbindung (BT) aufbauen ...
... und so stellt man sie ein:

Den BT-Dongle (den Bluetooth-Stecker) einfach am PC anschließen und
Windows erkennt ihn von selbst (zumindest Windows XP).
Nachdem Windows den BT-Dongle erkannt hat sollte in der Taskbar
(im Systemtray, rechts bei der Uhrzeit) ein BT-Symbol stehen.
Start, Ausführen, bthprops.cpl eintippen (und OK clicken) bt00.jpg (29163 Byte)
bt01.jpg (46556 Byte) hinzufügen drücken
NXT einschalten (und im NXT-Menü BT einschalten!) bt02.jpg (153033 Byte)
bt03.jpg (70869 Byte)
nachdem BT-Geräte erkannt wurden, das Symbol vom NXT-BT anclicken
bt04.jpg (73731 Byte) und "Eigenen Hauptschlüssel" wählen bt05.jpg (110460 Byte) und 1234 eintippen
bt06.jpg (68671 Byte)
wenn aufgefordert wird, den Schlüssel am NXT eingeben (default 1234) bt07.jpg (53734 Byte)
bt08.jpg (157175 Byte) und fertig ist die Bluetooth-Verbindung bt09.jpg (52072 Byte)
und die Software NXT-G erkennt die Hardware NXT! bt10.jpg (67297 Byte)

rbw.gif (4292 Byte)

Converter-Kabel
, oder ... wie stelle ich meine eigenen NXT-RCX-Kabel her?


Der neue Mindstorms NXT hat nicht mehr die alten zweipoligen LEGO-Kabel und Stecker
sondern ein sechspoliges Kabel mit einer Art Telephonstecker (ähnlich RJ12).
Trotzdem kann man aber die alten RCX-Motore und Sensoren verwenden.
Man benötigt dazu allerdings ein ConverterKabel!

Zuerst braucht man die passenden Stecker und eine Telephonstecker-Crimpzange,
weiters noch Telephonkabel und die Hälfte eines 9V-Verbindungskabels.
Allerdings passen die NXT-Stecker nicht genau zu der Zange, da bei den Telephonsteckern die
Verriegelungsnase mittig und nicht seitlich ist. (Umbauanleitung hier)
convertercable01.jpg (66052 Byte) convertercable02.jpg (58912 Byte)
Zuerst lötet man die zwei Pole des 9V-Verbindungskabels an zwei außenliegende Adern des Telephonkabels.
Anschließend crimpt man den RJ12-Stecker ans Kabel (beide außenliegende Adern bei der Verriegelungsnase!)
convertercable03.jpg (63517 Byte) convertercable04.jpg (61378 Byte)
Und fertig ist das Converter-Kabel, um Motore und Sensoren im "alten" 9V-System (Mindstorms RCX)
verwenden zu können. Entsprechende MyBlocks für NXT-G (Legacy Block Library) kann man hier runterladen!
convertercable05.jpg (67213 Byte) convertercable06.jpg (104081 Byte)
Stecker: Mindsensors (NXT Compatible (male) Plugs)
Crimpzange RJ12: Conrad (Crimp Zange orange universal)
oder Crimpzange für MP 6-4 und 6-6: Reichelt (Modular-Crimpzange für MP 6-4 und 6-6)
Kabel 4pol: Conrad (conrad.at)
Legacy Block Library: LEGO (NXT Software Updates)

rbw.gif (4292 Byte)
Geometrie
, oder ... wie verbinde ich Technikbalken richtig?


Jeder kennt das. Nicht immer ist ein Bauwerk so stabil wie gewünscht. Aber mit der richtigen
Verbindung kann man sich sehr gut helfen ...

Hier eine kleine Nachhilfe in Grundlagen:
leggeo1.jpg (216851 Byte) leggeo2.jpg (201978 Byte) leggeo3.jpg (206518 Byte) leggeo4.jpg (213186 Byte) leggeo6.jpg (227919 Byte)
leggeo5.jpg (196604 Byte)
Alles klar?

rbw.gif (4292 Byte)

Kabel, oder ... wie stelle ich meine eigenen NXT-Kabel her?

Der neue Mindstorms NXT hat nicht mehr die alten zweipoligen LEGO-Kabel und Stecker
sondern ein sechspoliges Kabel mit einer Art Telephonstecker (ähnlich RJ12).
Was tun wenn ich jetzt eigene Kabel bauen will (länger, weicher oder Konverterkabel)?

Zuerst braucht man die passenden Stecker und eine Telephonstecker-Crimpzange.
crimp06.jpg (97288 Byte) crimp01.jpg (93092 Byte)
Allerdings passen die NXT-Stecker nicht genau zu der Zange, da bei den Telephonsteckern die
Verriegelungsnase mittig und nicht seitlich ist. Also her mit Feile und Bastelmesser und los gehts ...
Rechts oben muß man beim Loch für den sechspoligen Stecker
ein wenig Material wegfeilen, damit die Nase Platz hat (siehe gelber Kreis).
crimp02.jpg (98269 Byte)
crimp03.jpg (96881 Byte)
Nachdem der NXT-Stecker einwandfrei in die Zange passt ist das Herstellen
eigener Kabel kein großer Aufwand mehr ...
crimp04.jpg (96677 Byte) crimp05.jpg (97457 Byte)
Stecker: Mindsensors (NXT Compatible (male) Plugs)
Crimpzange RJ12: Conrad (Crimp Zange orange universal)
oder Crimpzange für MP 6-4 und 6-6: Reichelt (Modular-Crimpzange für MP 6-4 und 6-6
Kabel 6pol: Conrad (conrad.at)

rbw.gif (4292 Byte)

Linearmotor, oder ... wie komme ich ohne Pneumatik aus?

Pneumatik ist eine feine Sache. Aber nicht immer habe ich alle Pneumatikteile die ich auch benötige!
Da kann ich mir mit einigen Standardteilen helfen und baue einen Linearmotor ...

Der Linearmotor funktioniet so, daß zwei Scheibchen von einer Schnecke weiterbewegt werden.
leglinear1.jpg (212649 Byte) leglinear2.jpg (215630 Byte)
Die Länge des Betätigungsweges hängt nur von der Länge der Schnecke ab ...

rbw.gif (4292 Byte)

MotorSharing, oder ... wie verwende ich 1 Motor für 2 Antriebe?

Nicht immer hat man genug Motore zur Verfügung. Oder es ist einfach kein Platz mehr
für einen weiteren Motor. Dann kann man sich einfach helfen ...

Variante 1 (wie schon im Vorlagenheft auf den letzten Seiten gezeigt):
Man verwendet ein Differential und bringt eine Ratsche an. Schon kann man
zwei Funktionen erfüllen.
legmotshar0.jpg (214928 Byte)

Als Beispiel der Antrieb eines Bots. Wenn sich der Motor vorwärts dreht, drehen sich beide
Achsen und der Bot fährt geradeaus. Wenn sich der Motor aber in die andere Richtung dreht, wird
eine Achse abgebremst und der Bot fährt eine Kurve nach hinten ...

Variante 2 sieht vollkommen anders aus:
legmotshar1.jpg (207008 Byte)
Auch hier hat man nur einen Motor und treibt damit zwei verschiedene Sachen an.

legmotshar2.jpg (208441 Byte)

Wenn sich der Motor im Rechtslauf befindet, treibt die Schnecke die beiden grauen Zahnräder an.

legmotshar3.jpg (207923 Byte)

Wenn sich die Drehrichtung ändert verschiebt sich die Schnecke und treibt jetzt die blauen Zahnräder an

rbw.gif (4292 Byte)

Power Functions, oder ... wie kann ich meinen NXT fernsteuern?

Der Infrarotempfänger der Power Functions Serie kann auch als Sensor für den NXT verwendet werden!
Das Einzige was man dafür braucht, ist ein Spezialkabel zur Verbindung des
Empfängers mit einem Sensoreingang. Und außerdem benötigt man natürlich auch den Infrarotsender!

Man braucht den passenden NXT-Stecker und eine Telephonstecker-Crimpzange,
weiters noch zwei Widerstände, Telephonkabel und die Hälfte eines Power Functions-Verlängerungskabels.
Allerdings passen die NXT-Stecker nicht genau zu der Zange, da bei den Telephonsteckern die
Verriegelungsnase mittig und nicht seitlich ist. (Umbauanleitung hier)
pfnxtsens01.jpg (146050 Byte) pfnxtsens02.jpg (134062 Byte)
Zuerst schneidet man das Power Functions Verbindungskabel in zwei Hälften.
Wir verwenden den Stecker, der sowohl an der Ober- als auch auf der Unterseite die Power Functions Kontakte hat.

Dann löten wir die Widerstände an C1 und C2 und verbinden sie mit Pin 1 des NXT.
(Pin 1 ist bei der Verriegelungsnase des NXT-Steckers!)
Durch die zwei unterschiedlichen Widerstandswerte lassen sich dann auch beide Betätigungen des Hebels
des Power Functions IR-Senders erkennen.
 pfnxtsens_pfcon.jpg (20647 Byte) pfnxtsens03.jpg (130623 Byte)
(Bild und Beschreibung des Power Functions Steckers ©Philo (http://philohome.com)                                                                       

Pins NXT

Adern PF

1 weiss

10k + C1

1 weiss

22k + C2

2 braun

0V

4 grün

9V

Anschließend verbinden wir die Power Functions Masse (0V) mit der NXT Masse (Pin 2),
die Power Functions Spannung (9V) mit der NXT Spannungsversorgung (Pin 4)
und isolieren alle Adern mit Schrupfschlauch.
 pfnxtsens04.jpg (126381 Byte) pfnxtsens05.jpg (129796 Byte)
Abschließend crimpt man den RJ12-Stecker ans Kabel, fertig!
pfnxtsens06.jpg (135398 Byte) pfnxtsens07.jpg (118145 Byte)

Wenn man mit dem fertigen Kabel den NXT und den Power Functions Empfänger verbindet
kann man durch Ermittelung des RAW-Wertes eines Lichtsensors den Zustand erkennen
(Hebel auf der Power Functions Fernsteuerung nach vorne gedrückt, in der Mitte, nach hinten gedrückt).

Programm zum Downloaden hier:  

Stecker: Mindsensors (NXT Compatible (male) Plugs)
Crimpzange RJ12: Conrad (Crimp Zange orange universal)
oder Crimpzange für MP 6-4 und 6-6: Reichelt (Modular-Crimpzange für MP 6-4 und 6-6)
Kabel 4pol oder 6pol: Conrad (conrad.at)
Power Functions Verlängerungskabel (LEGO)

rbw.gif (4292 Byte)

Musik, oder ... wie bringe ich dem RCX die Noten bei?

Der Bot erledigt alle Aufgaben zur Zufriedenheit, da ist eine Melodie fällig ...

 legpiano.gif (7278 Byte)  Im RCX Controll Center (RCX CC) kann man unter "Tools / RCX Piano" direkt auf die Tasten drücken und ein Lied spielen. Als Ergebnis bekommt man z.B. diesen NQC-Code -->

#define __NOTETIME 10
#define __WAITTIME 12
PlayTone(330,4*__NOTETIME); Wait(4*__WAITTIME);
Wait(4*__WAITTIME);
PlayTone(175,4*__NOTETIME); Wait(4*__WAITTIME);
PlayTone(330,1*__NOTETIME); Wait(1*__WAITTIME);

rbw.gif (4292 Byte)

Prüfung!, oder ... wie steuere ich Motore direkt vom RCX?

Der Bot fertig gebaut, aber noch kein Programm geschrieben.
Wie teste ich jetzt einen Motor ...

Variante 1: Lego hat sich dazu was überlegt (sagt es aber leider keinem!):
Unser Bot ist fertig, der Motor hängt an Ausgang A vom RCX.
Den RCX einschalten, die Taste "View" so oft drücken (4x für Ausgang A), daß der große Pfeil auf Ausgang A zeigt, und die View-Taste gedrückt halten.
Jetzt kann man durch Drücken auf die Tasten "Run" bzw. "Prgm" den Motor nach links bzw. nach rechts laufen lassen. Ebenso bei Ausgang B (5x drücken) und Ausgang C (6x drücken) möglich.
 
legdirect.gif (10216 Byte) Variante 2 bietet das RCX Controll Center (RCX CC):
Bei dieser wirklich gelungenen Oberfläche zur Programmiersprache NQC gibt es unter "Tools / Direct Control" bzw. "Tools / RCX Joystick" die Möglichkeit, alle Motore des RCX über den InfrarotTower mit verschiedenen Geschwindigkeiten anzusteuern.
legjoystick.gif (6623 Byte)

rbw.gif (4292 Byte)

Rotationssensor, oder ... warum nehme ich nicht billige Standardteile?

Der Rotationssensor ist eine feine Sache. Leider einzeln etwas teuer (wenn man ihn bekommt), 
aber auch teuer im "Ultimate Accessory Set" zusammen mit der Fernsteuerung ...

Aber es geht auch ohne den original Rotationssensor!
Man kann sehr gut den billigen Polwendeschalter (Polarity Switch) verwenden.

Er funktioniert (wie  vorgesehen) folgendermaßen: Auf der einen Seite wird die Batterie angeschlossen
und auf der anderen Seite der Motor. Je nach Stellung des Polwendeschalters bewegt sich der Motor
links - gar nicht - rechts.
Schließt man den Polwendeschalter allerdings auf der einen Seite kurz (mit einem kurzen Kabel), dann
gibt er auf der anderen Seite bei jeder Umdrehung vier Impulse ab.
(Genauer gesagt: In NQC misst man mit dem Befehl "SENSOR_MODE_PULSE" vier Impulse,
mit dem Befehl "SENSOR_MODE_EDGE" sogar acht Impulse!)

Mit folgendem Versuchsaufbau habe ich sowohl den original Rotationssensor als auch
den Polwendeschalter getestet:
legrotpw2.jpg (226110 Byte)
Die Aufgabenstellung war: 15 Sekunden vorwärts fahren (ca. 1 m) und dabei die Impulse des jeweiligen
Rotationssensors mitzählen. Anschließend rückwärts fahren und bei Zählerstand "0" stoppen.
Die Abweichung vom Startpunkt wurde gemessen.

Der original Rotationssensor 
legrotpw3.jpg (214672 Byte)
kam auf folgende Werte: (NQC-Programm hier downloaden)

Versuch

Abweichung

1

-5 mm

2

0 mm

3

-5 mm

4

+10 mm

Der Polwendeschalter 
legrotpw5.jpg (203354 Byte)
kam auf folgende Werte: (NQC-Programm hier downloaden)

Versuch

Abweichung

1

0 mm

2

0 mm

3

0 mm

4

-5 mm

Wie man sieht ist der Polwendeschalter ohne weiteres zu verwenden.

Vor- und Nachteile: 
Der original Rotationssensor: genauer (wenn man ihn mit höherer Drehzahl betreibt),
teurer, ist aber schnell genug um auch direkt an der Motorachse betrieben zu werden.
Der Polwendeschalter: billig, erfordert mehr Motorkraft, funktioniert aber einwandfrei.

Achtung: Aufpassen beim Kurzschließen des Polwendeschalters mit einem kurzen Kabel!
Richtige Anordnung --> legrotpw7.jpg (183920 Byte) , falsche Anordnung --> legrotpw8.jpg (183857 Byte)

rbw.gif (4292 Byte)

Rotationssensor Teil 2, oder ... warum nehme ich nicht billige Standardteile?

Wenn man nicht wirklich einen Rotationssensor braucht, weil man eigentlich nur einige Impulse zählen will,
 dann kann man auch sehr gut den LEGO Speedcomputer verwenden, wenn man ihn umbaut.
speedcomputer01.jpg (67740 Byte)
Man kann den Speedcomputer zerlegen, wenn einen das Innenleben interessiert ...
speedcomputer04.jpg (76651 Byte)
... aber eigentlich benötigt man nur den Impulsgeber und die Hälfte eines Verbindungskabels.
speedcomputer02.jpg (62527 Byte)
Einfach beide Enden zusammenlöten und schon hat man einen Ersatz für den Rotationssensor!
speedcomputer03.jpg (60176 Byte)
Dieser Sensor liefert drei (3) Impulse pro Umdrehung. Einfach nur Impulse, kein richtungsabhängiges
Addieren oder Substrahieren wie der Rotationssensor.

rbw.gif (4292 Byte)

StepperMotor, oder ... wie baue ich einen Ersatz?

Schrittmotore sind in der Industrie übeall zu finden. Mit ihnen schafft man eine hohe Wiederholgenauigkeit.
Hier der Nachbau aus Standardteilen ...

... folgt!

rbw.gif (4292 Byte)

Taster, oder ... wie verbinde ich 2 Taster als "UND"-Verknüpfung?

Die Anzahl der Tastereingänge beim RCX sind begrenzt. Leider!
Aber mit der richtigen Verkabelung hat man mehr Möglichkeiten ...

... folgt!

rbw.gif (4292 Byte)

service prev.gif (707 Byte)     @mike's page > hobbies > mindstorms > tips&tricks    next.gif (723 Byte) weltweit lego