IR Fernsteuerung für einen nibobee Roboter


Der nibobee Bausatz ist eigentlich für Jugendliche gedacht, aber ich wollte keinen großen Aufwand für einen Selbstbau betreiben und so bin ich auf den preiswerten Bausatz nibobee gelandet. Bis auf die Lagerung der beiden Fühler finde ich die Konstruktion gelungen. Ich habe die Lagerung der beiden Fühler anders gelöst, sowie die Fühler nach innen erweitert (Federstahlblech).

Es gibt für den nibobee eine Erweiterung mit einem Display, aber dies finde ich etwas seltsam, denn wenn der Robi fährt möchte ich sehen was der Robi anzeigt...

Lösung: Eine IR Fernsteuerung mit Datenempfang über IR vom Robi.
Es gibt für die IR Übertragung verschiedene Codierungen. Ich habe mich für das USART Interface entschieden, da die Microkontroller dafür entsprechende Interfaces bieten. Benutzt wird am nibobee der X5 Port, dort sind die beiden Signale RXD und TXD verfügbar.
Im Jahr 2010 hatte ich für den Sender den attiny24 ausgewählt, für diesen Zweck reicht auch ein attiny25.
Der Sender soll nur die 38kHz erzeugen und die IR Dioden ansteuern. Für die USART Signale wurde im Sender eine kleine Korrektur notwendig um symetrische Empfangssignale zu erzeugen, Grund: Der TSOP Empfänger hat sein Eigenleben.

nibobee

Die IR Sende Dioden wurden links angebaut und strahlen nach hinten. Der Empfänger ist rechts. Die Erweiterung mit dem Attiny24 in der Mitte. Die Datenrate wurde mit 2400 baud gewählt, eine höhere Datenrate ist für die IR Übertragung nicht zu empfehlen da ein Schritt hier 416µsek dauert. In dieser Zeit werden die 36kHz Impulse gesendet, ca. 28µsek. 416 / 28 ergibt ca. 15 Impulse, die braucht der IR Empfänger um ein Signal auszuwerten.

RXD und TXD kommen vom zentralen Atmega16 und der muss entsprechend programmiert werden. Dieses ist erst die halbe Miete, denn es fehlt noch die Fernsteuerung mit der Anzeige.

remote control

Dazu wird ein Atmega8 mit einem attiny24 (oder attiny25) verwendet. Der IR Sender und Empfänger sind wie am nibobee aufgebaut. Das Anzeigemodul ist ein kleines 20*4 Display EA DIP204-4. Dieses sitzt auf einer eigenen Platine mit einer 8 Bit Porterweiterung. Dadurch benötigt man nur 4 Pins für das Display.

Mein beigefügtes Programm prog10 weicht Hindernissen aus, indem gestoppt wird und rückwärts eine Kurve gefahren wird. Danach gehts es weiter vorwärts. Um aus schwierigen Situationen raus zukommen wird die Strecke zum Rückwärts fahren dem Zufall überlassen (Zufall = augenblicklicher Odometrie Wert). Das funktioniert erstaunlich gut.

Bis auf kleine Änderungen habe ich den Original Source code übernommen (incl002), jedoch an meine winAVR Umgebung angepasst.

Pfad: avr\nibobee\prog10\       nibobee source code prog10
Pfad: avr\nibobee\anzeige\      Anzeige source code mit der Schaltung
Pfad: avr\abc\                          Basis routinen
Pfad: avr\nibobee\attiny_TXD\ Sender Code attiny24 bzw 25 mit der Schaltung.
Pfad: avr\nibobee\incl002\       nibobee code          

beide zusammen

Hier die Ansicht von beiden, nibobee hat noch die schöne Haube behalten.


Update: 7.3.2013             Reinhard Alfons Lidzba 2013       Kontakt