NTB Robi2 mit MPC555

Der ursprünglich für den Motorola MC86332 entwickelte Robi2 kann mit dieser Adapterplatine auch mit dem Freescale MPC555 verwendet werden. Zusätzlich fügt die Adapter-Platine die Möglichkeit hinzu ein Bluetooth- oder ZigBee Modul aufzustecken und verfügt über helle LEDs, die mittels Bildverarbeitung für die Positionserkennung und Identifizierung verwendet werden können.

Entwicklung mit dem Robi

Deep Cross Environment

Um den Robi mit der deep Umgebung zu programmieren, existiert ein einfacher Treiber: ch.ntb.inf.deep.runtime.mpc555.driver.Robi2. Er basiert auf dem NTB Simple Tasking System und bietet Unterstützung für die Verwendung der wichtigsten Komponenten.

Komponenten

Anordnung der IR-Distanzsensoren und Motoren

In Kombination mit dem MPC555-Adapter besteht der Robi aus den folgenden Komponenten.

Antrieb

Der Antrieb für den Robi besteht aus zwei Maxon Gleichstrommotoren mit Getriebe. Dieses ist im Verhältnis 17/1 untersetzt. Die Eingebauten Encoder hat eine Auflösung von 16 Ticks pro Umdrehung. Daraus ergibt sich bei Vierflankenauswertung eine Auflösung von 17 x 16 x 4 = 1088 Ticks pro Radumdrehung.

IR-Distanzsensoren

Der Robi verfügt über 16 Infrarot-Distanzsensoren. Zwei davon (Nr. 0 & 1) sind nach unten gerichtet und können z.B. zum Folgen einer Linie verwendet werden. Die restlichen 14 Sensoren sind rund um den Robi angebracht und können zur Kollisionsverhinderung eingesetzt werden.

Achtung

Die Sensoren sind nicht der Reihe nach durchnummeriert. Auf Sensor Nr. 2 folgt direkt Nr. 4! Der Sensor mit der Nummer 3 ist hinten am Robi angebracht!

LED Muster

Hinten auf der Adapterplatine befinden sich 12 rote LEDs. Mit diesen kann ein Muster dargestellt werden, um beispielsweise mehrere Robis mittels Bildverarbeitung unterscheiden zu können.

Positions- und Richtungs-LEDs

Vorne in der Mitte und hinten auf beiden Seiten sind 3 helle weisse LEDs angebracht, über welche mittels Bildverarbeitung die Orientierung und auch Position des Robis festgestellt werden kann.

Zusätzlich kennzeichnet eine blaue LED das Zentrum des Roboters, welches auch gleich der Koordinatenursprung darstellt.

Funkmodulmodul Steckplatz

Auf der linken Seite befindet sich ein Steckplatz für ein Funkmodul. Hier kann z.B. das BlueRS+I-Bluetooth-Modul der Firma Stollmann aufgesteckt werden oder das NTB WiFiRS WLAN Modul . Das Modul ist mit der zweiten seriellen Schnittstelle (SCI2) des MPC555 verbunden. Der Reset-Eingang des Moduls ist an den den Ausgang MPIOB11 angeschlossen. Die genaue Pinbelegung ist der untenstehenden Tabelle zu entnehmen.

Achtung

Bei der Verwendung von Funkmodulen welche im 2.4 GHz Band arbeiten, wie beispielsweise BlueRS oder WiFiRS, kam es immer wieder zu Störungen der Kommunikation. Der Grund dafür liegt in der nahe an der Chip-Antenne gelegenen Groundfläche (ca. 1 cm) unterhalb der Funkmodule. Es wird daher dringend empfohlen bei diesen Modulen eine externe Antenne zu verwenden.
Pin Signal MPC555 Beschreibung
1 GND DGND/AGND Masse
2 +5V0 +5V 5 V Versorgung
3 GND DGND/AGND Masse
4 RM_TxD RXD2 Daten: Funkmodul → MPC555
5 GND DGND/AGND Masse
6 RM_RxD TXD2 Daten: MPC555 → Funkmodul
7 NC Nicht verbunden
8 NC Nicht verbunden
9 NC Nicht verbunden
10 NC Nicht verbunden
11 RM_Reset MPIOB11 Funkmodul reset
12 NC Nicht verbunden
13 NC Nicht verbunden
14 RM_LED Status LED (Sink)
15 NC Nicht verbunden
16 NC Nicht verbunden
17 NC Nicht verbunden
18 NC Nicht verbunden
19 NC Nicht verbunden
20 NC Nicht verbunden

Drehschalter

Rechts vom MPC555 ist ein Hex-Drehschalter angebracht. Er ist folgendermassen angeschlossen:

Wertigkeit MPIOB
8 15
4 14
2 13
1 12

Achtung

Die Pins MPIOB13 und 14 werden auf dem NTB MPC555-Headerboard auch für den CAN-Controller (U7) verwendet. Aus diesem Grund dürfen auf dem Robi2 nur MPC555-Headerboards verwendet werden, auf denen dieser nicht bestückt ist!

IR-Empfänger und Sender

Auf der Robi Basisplatine ist ein IR-Sender und Empfänger angebracht. Diese sind mit der TPU-B verbunden. An Kanal 9 ist der Empfänger angeschlossen und am Kanal 10 der Sender.

Kompass

Ebenfalls auf der Basisplatine ist ein Steckplatz für ein Kompassmodul vorhanden. Dieses ist jedoch nicht bei allen Robis aufgesteckt! Es ist mit der ersten seriellen Schnittstelle (SCI1) des MPC555 verbunden. Das Control Signal (CS) ist auf dem MPIOB10 verbunden.

Temperatursensor

Ein auf der Basisplatine angebrachter NTC-Widerstand kann als Temperatursensor verwendet werden. Ausgelesen wird dieser wie das Kompassmodul über die erste serielle Schnittstelle (SCI1).

SPI-Stecker

Für individuelle Erweiterungen steht ein Stecker mit einer SPI-Schnittstelle zur verfügung. Die Pinbelegung:

Pin Signal MPC555 Beschreibung
1 MISO MISO Data: master in, slave out
2 CS0 PCS0 Programmable chip select 0
3 MOSI MOSI Data: Master in, Slave Out
4 CS1 PCS1 Programmable chip select 1
5 SCK SCK Data: Master in, Slave Out
6 CS2 PCS2 Programmable chip select 2
7 +5V +5V 5 V Versorgung
8 CS3 PCS3 Programmable chip select 3
9 +3V3 +3.3V 3.3 V Versorgung
10 GND DGND/AGND Masse

Dokumentation