
RP6 CONTROL M32
Bedienungsanleitung
- Deutsch (German) -
Version RP6-M32-DE-20071031
WICHTIGE INFORMATION!
Bitte unbedingt lesen!
Bevor Sie dieses RP6 Erweiterungsmodul in Betrieb nehmen, lesen Sie
bitte diese Anleitung UND die RP6 ROBOT SYSTEM Bedienungsanleitunug vollständig durch! Sie erläutert Ihnen die korrekte Verwendung
und weist auf mögliche Gefahren hin! Weiterhin enthält sie wichtige
Informationen, die für viele Anwender keineswegs offensichtlich sein
dürften. Die RP6 CONTROL M32 Anleitung ist nur eine Ergänzung!
Bei Nichtbeachtung dieser Anleitung und der RP6 ROBOT SYSTEM Anleitung erlischt jeglicher Garantieanspruch! Weiterhin übernimmt AREXX Engineering keinerlei Haftung für Schäden jeglicher Art, die aus
Nichtbeachtung dieser Anleitung resultieren!
Bitte beachten Sie vor allem den Abschnitt "Sicherheitshinweise" in
der RP6 ROBOT SYSTEM Bedienungsanleitung!

Impressum
©2007 AREXX Engineering
Nervistraat 16
8013 RS Zwolle
The Netherlands
Tel.: +31 (0) 38 454 2028
Fax.: +31 (0) 38 452 4482
"RP6 Robot System" ist eingetragenes Warenzeichen von AREXX Engineering.
Alle anderen Warenzeichen stehen im Besitz
ihrer jeweiligen Eigentümer.
Diese Bedienungsanleitung ist urheberrechtlich geschützt. Der Inhalt darf ohne vorherige schriftliche Zustimmung des Herausgebers auch nicht teilweise kopiert oder übernommen werden!
Änderungen an Produktspezifikationen und
Lieferumfang vorbehalten.
Der Inhalt dieser Bedienungsanleitung kann
jederzeit ohne vorherige Ankündigung geändert werden.
Neue Versionen dieser Anleitung erhalten
Sie kostenlos auf http://www.arexx.com/
Wir sind nicht verantwortlich für den Inhalt von externen Webseiten, auf die in dieser Anleitung verlinkt wird!
Hinweise zur beschränkten Garantie und Haftung
Die Gewährleistung von AREXX Engineering beschränkt sich auf Austausch oder Reparatur
des Roboters und seines Zubehörs innerhalb der gesetzlichen Gewährleistungsfrist bei
nachweislichen Produktionsfehlern, wie mechanischer Beschädigung und fehlender oder
falscher Bestückung elektronischer Bauteile, ausgenommen aller über Steckverbinder/Sockel angeschlossenen Komponenten.
Es besteht keine Haftbarkeit für Schäden, die unmittelbar durch, oder in Folge der Anwendung des Roboters entstehen. Unberührt davon bleiben Ansprüche, die auf unabdingbaren
gesetzlichen Vorschriften zur Produkthaftung beruhen.
Sobald Sie irreversible Veränderungen (z.B. Anlöten von weiteren Bauteilen, Bohren von
Löchern etc.) am Roboter oder seinem Zubehör vornehmen oder der Roboter Schaden infolge von Nichtbeachtung dieser Anleitung nimmt, erlischt jeglicher Garantieanspruch!
Es kann nicht garantiert werden, dass die mitgelieferte Software individuellen Ansprüchen
genügt oder komplett unterbrechungs und fehlerfrei arbeiten kann.
Weiterhin ist die Software beliebig veränderbar und wird vom Anwender in das Gerät geladen. Daher trägt der Anwender das gesamte Risiko bezüglich der Qualität und der Leistungsfähigkeit des Gerätes inklusive aller Software.
AREXX Engineering garantiert die Funktionalität der mitgelieferten Applikationsbeispiele unter Einhaltung der in den technischen Daten spezifizierten Bedingungen. Sollte sich der Roboter oder die PC-Software darüber hinaus als fehlerhaft oder unzureichend erweisen, so
übernimmt der Kunde alle entstehenden Kosten für Service, Reparatur oder Korrektur.
Bitte beachten Sie auch die entsprechenden Lizenzvereinbarungen auf der CD-ROM!
Symbole
Im Handbuch werden folgende Symbole verwendet:
Das "Achtung!" Symbol weist auf besonders wichtige Abschnitte hin, die sorgfältig beachtet werden müssen. Wenn
Sie hier Fehler machen, könnte dies ggf. zur Zerstörung des
Roboters oder seinem Zubehör führen und sogar Ihre eigene
oder die Gesundheit anderer gefährden!
Das "Information" Symbol weist auf Abschnitte hin, die nützliche Tipps und Tricks oder Hintergrundinformationen enthalten. Hier ist es nicht immer essentiell alles zu verstehen, aber
meist sehr nützlich.

Inhaltsverzeichnis
1. Das RP6 CONTROL M32 Erweiterungsmodul ...................................... 5
1.1. Technischer Support ................................................................ 6
1.2. Lieferumfang .......................................................................... 6
1.3. Features und technische Daten ................................................. 7
2. Montage des Erweiterungsmoduls .................................................... 9
3. RP6 CONTROL Library .................................................................. 11
3.1.1. Mikrocontroller initialisieren................................................12
3.1.2. Status LEDs.....................................................................12
3.1.3. Taster.............................................................................13
3.1.4. Beeper............................................................................13
3.1.5. Mikrofonsensor.................................................................14
3.1.6. LC-Display.......................................................................14
3.1.7. SPI Bus und SPI EEPROM...................................................16
3.1.8. ADCs...............................................................................18
3.1.9. I/O Ports.........................................................................18
4. Beispielprogramme ...................................................................... 20
ANHANG ....................................................................................... 27
A – Anschlussbelegungen................................................................27

RP6 ROBOT SYSTEM - 1. Das RP6 CONTROL M32 Erweiterungsmodul
1. Das RP6 CONTROL M32 Erweiterungsmodul
Mit dem RP6 CONTROL M32 (oder kurz „RP6-M32“) Erweiterungsmodul können Sie
dem Roboter einen zweiten Atmel ATMEGA32 Mikrocontroller hinzufügen, der jedoch
doppelt so schnell getaktet ist wie der Controller auf dem Mainboard. Auch sonst steht
dem Anwender auf dem RP6-M32 mehr Rechenzeit zur Verfügung, da der Controller
nicht auch noch mit Motorregelung, ACS, IRCOMM, etc. beschäftigt ist.
Mit dem externen 32KB SPI EEPROM befindet sich ein sehr oft wiederbeschreibbarer
(1 Mio. Zyklen) Festspeicher auf dem Modul, den man beispielsweise zum Datenloggen oder als Programmspeicher für Bytecode Interpreter verwenden kann (wie z.B.
die NanoVM für Java). Optional kann man sogar noch einen 8 poligen DIP Sockel auf
das Modul löten und ein zweites EEPROM im DIP 8 Gehäuse hinzufügen.
Weitere interessante Möglichkeiten bieten die Eingabetaster, die LEDs, der Piezo Piepser und das optional erhältliche LC-Display. Damit kann man den Roboter auch direkt
bedienen und z.B. ein kleines Auswahlmenü programmieren um verschiedene Programme über die Taster zu starten – und natürlich auch Messwerte und Statusmeldungen anzeigen. Der Piepser kann verschiedene Töne erzeugen und z.B. eine
Begrüßungsmelodie abspielen wenn das Programm gestartet wird oder bei niedriger
Akkuspannung warnen.
Eigene Schaltungen auf den Lochraster Erweiterungsmodulen kann man mit den 14
freien I/O Ports ansteuern, die auf zwei 10 polige Wannenstecker herausgeführt sind.
Von den 14 I/Os sind 6 als Analog/Digial Wandler Kanäle verwendbar.
Abgerundet wird die Ausstattung des Moduls mit dem Mikrofonsensor, der auch schon
auf dem alten CCRP5 vorhanden war. Damit kann man den RP6 beispielsweise starten
indem man in die Hände klatscht oder ähnliche Dinge. Die Schaltung ist als „Peak Detektor“ ausgelegt, es werden also nur die Maximalwerte ermittelt. So kann die Lautstärke von Umgebungsgeräuschen grob gemessen und entsprechend darauf reagiert
werden. (das klappt natürlich nur dann gut, wenn die Motoren nicht laufen weil über
Körperschall vom Roboter selbst erzeugte Geräusche besonders gut vom Mikrofon detektiert werden...)
Bevor Sie mit dem RP6-M32 loslegen, sollten Sie sich unbedingt mit dem Roboter
an sich vertraut machen und alle Beispielprogramme des Roboters OHNE montiertes
RP6-M32 Erweiterungsmodul ausprobieren! Diese Anleitung versteht sich als kleine Ergänzung zur großen RP6 Bedienungsanleitung. Lesen Sie diese auf jeden Fall bevor
Sie mit dem RP6-M32 anfangen!
Ein wichtiger Hinweis für Anfänger: Für das RP6-M32 geschriebene Programme
laufen natürlich NICHT korrekt auf dem Mikrocontroller der Basiseinheit und umgekehrt (komplett andere Pinbelegung und Taktfrequenz)!
ACHTUNG: Wenn Sie ein Programm in den falschen Controller
laden, könnte dieser oder die gesteuerten Schaltungen durchaus beschädigt werden! Beispielsweise wenn ein I/O Pin normalerweise als Eingang verwendet, im Programm für den
falschen Controller aber als Ausgang geschaltet und dann
aufgrund der angeschlossenen Schaltung überlastet wird!
- 5 -

RP6 ROBOT SYSTEM - 1. Das RP6 CONTROL M32 Erweiterungsmodul
Normalerweise passiert nichts schlimmes wenn Sie sich mal vertun sollten, aber es
kann hier für nichts garantiert werden! Der RP6Loader kann nicht unterscheiden für
welchen Controller die Programme bestimmt sind, da die Hexfiles alle gleich aufgebaut
sind. Er verhindert also nicht, dass Sie Programme in den falschen Controller laden!
Nutzen Sie die Funktion des RP6Loaders, verschiedene Kategorien anzulegen! Für jedes Erweiterungsmodul eine eigene Kategorie ...
1.1. Technischer Support
Bei Fragen oder Problemen erreichen Sie unser Support Team wie folgt
über das Internet (Bevor Sie uns kontaktieren lesen Sie aber bitte
diese Bedienungsanleitung vollständig durch! Erfahrungsgemäß
erledigen sich viele Fragen so bereits von selbst!):
- über unser Forum: http://www.arexx.com/forum/
- per E-Mail: info@arexx.nl
Unsere Postanschrift finden Sie im Impressum dieses Handbuchs. Aktuellere Kontaktinformation, Softwareupdates und weitere Informationen
gibt es auf unserer Homepage:
http://www.arexx.com/
und auf der Homepage des Roboters:
http://www.arexx.com/rp6
Auch dem Roboternetz, der größten deutschsprachigen Robotik Community, kann man auf jeden Fall mal einen Besuch abstatten:
http://www.roboternetz.de/
1.2. Lieferumfang
Folgende Dinge sollten Sie in Ihrer RP6 CONTROL M32 Packung vorfinden:
● Fertig aufgebautes RP6-M32 Modul
● 4 Stück 25mm M3 Distanzbolzen
● 4 Stück M3 Schrauben
● 4 Stück M3 Muttern
● 2 Stück 14 pol Flachbandkabel
Die Software und die PDF Anleitung befinden sich auf der RP6 CD-ROM. Aktualisierte
Versionen der Software und dieser Anleitung gibt es auf unserer Homepage!
- 6 -

RP6 ROBOT SYSTEM - 1. Das RP6 CONTROL M32 Erweiterungsmodul
1.3. Features und technische Daten
Dieser Abschnitt gibt einen Überblick darüber, was das RP6 CONTROL M32 zu bieten
hat und dient gleichzeitig der Einführung einiger Begriffe und Bezeichnungen von
Komponenten des Moduls.
Features, Komponenten und technische Daten des RP6 CONTROL M32:
● Leistungsfähiger Atmel ATMEGA32 8-Bit Mikrocontroller
◊ Geschwindigkeit 16 MIPS (=16 Millionen Instruktionen pro Sekunde) bei 16MHz
Takt, also doppelt so schnell getaktet wie der Controller auf dem RP6 Mainboard!
◊ Speicher: 32KB Flash ROM, 2KB SRAM, 1KB EEPROM
◊ Frei in C programmierbar (mit WinAVR / avr-gcc)!
◊ ... und vieles mehr (s. Datenblatt)!
● Externes 32KB SPI EEPROM
◊ Sehr schnelles SPI Interface (8MHz Taktrate)
◊ Jede Speicherzelle mindestens 1.000.000 mal wiederbeschreibbar
◊ ... mehr technische Infos im Datenblatt auf der CD-ROM (AT25256A)!
◊ Ideal für Datenlogging oder als Speicher für Bytecode Interpreter (z.B. eine Java
VM wie die NanoVM: http://www.harbaum.org/till/nanovm/ . Allerdings müsste
diese erst noch angepasst werden damit auch das externe EEPROM verwendet
wird... )
● I²C-Bus Erweiterungsanschlüsse
◊ Kann beliebige I²C Bus Slaves ansteuern.
◊ Der MEGA32 auf dem Modul kann als Master oder Slave verwendet werden. Sinn-
vollerweise sollte er als Master verwendet werden und den Roboter komplett steuern (der Controller auf dem Mainboard übernimmt allerdings die Regelung der
Motorgeschwindigkeit, ACS, IRCOMM, Akku Überwachung etc. selbstständig und
entlastet so den Controller auf dem Erweiterungsmodul).
● Mikrofonsensor
◊ um Geräusche zu detektieren, z.B. in die Hände klatschen o.ä.
● Piezo Beeper
◊ um einfache Töne und Melodien zu erzeugen
◊ Signalgeber z.B. um Fehler oder Statuswechsel zu melden
● 4 Status LEDs
● 5 Eingabetaster
- 7 -

RP6 ROBOT SYSTEM - 1. Das RP6 CONTROL M32 Erweiterungsmodul
● LC-Display Port
◊ Zum Anschluss eines 16x2 Zeichen LC-Displays. Auch andere LC-Displays lassen
sich hier anschlißen, z.B. 16x4 o.ä., allerdings lassen sich diese dann nur mit zwei
Distanzbolzen befestigen und könnten an einer Seite überstehen... Am besten vor
dem Kauf genau ausmessen und passendes Montagematerial mitbestellen! Ausserdem müssen Sie bei anderen Display Formaten als 16x2 evtl. ein paar anpassungen in der Library vornehmen, damit es korrekt funktioniert (Hauptsächlich die
Initialisierung des Displays und evtl. die Cursor Positionierung). Die Beispielprogramme sind alle auf ein 16x2 Zeichen Display zugeschnitten. Das lässt sich aber
leicht ändern.
◊ Das Display kann z.B. Textmeldungen/Menüs, Programmzustände oder Sensor-
werte anzeigen.
● 14 freie I/O Ports zur Ansteuerung eigener Schaltungen und Sensoren
◊ 6 davon sind als Analog/Digital Wandler (ADC) Kanäle verwendbar
● Bis zu 3 externe Interrupts am XBUS Anschluss lassen sich verwenden.
● Anschluss für das USB PC Interface für den Programupload
◊ Der Programmupload läuft genau wie beim Roboter selbst, schnell und einfach
über das USB Interface und die komfortable RP6Loader Software.
Weiterhin werden wie beim Roboter einige C Beispielprogramme sowie eine Funktionsbibliothek mitgeliefert, welche die Programmierung stark erleichtert.
Auf der Website zum Roboter werden demnächst evtl. weitere Programme und Updates für den Roboter und seine Erweiterungsmodule zur Verfügung stehen. Sie können
natürlich auch gerne Ihre eigenen Programme über das Internet mit anderen RP6
Anwendern austauschen! Die RP6ControlLibrary und die Beispielprogramme stehen
unter der Open Source Lizenz GPL!
- 8 -

RP6 ROBOT SYSTEM - 2. Montage des Erweiterungsmoduls
2. Montage des Erweiterungsmoduls
Wie Sie das Modul auf dem Roboter befestigen, hängt natürlich davon ab, welche
anderen Erweiterungsmodule Sie evtl. bereits auf dem Roboter montiert haben.
Um das Modul auf dem Roboter zu
montieren, müssen Sie zunächst die
vier Schrauben vom Mainboard lösen.
Eventuell können Sie auch den kleinen
Stecker der Bumperplatine vorsichtig
lösen, damit Sie das Mainboard komplett anheben können. Das ist aber
nicht unbedingt erforderlich wenn Sie
mit den Fingern auch so unter das
Mainboard greifen können um die Distanzbolzen mit den M3 Muttern festzuschrauben.
Achtung: Beim wieder Anstecken des
Kabels der Bumperplatine unbedingt
mit einem Finger hinter der Sensorplatine gegenhalten damit diese nicht zu stark nach hinten gedrückt wird! Alternativ kann
man auch die zwei Schrauben der Bumperplatine lösen und das Kabel dran lassen...
Dann können Sie die vier 25mm M3 Distanzbolzen nacheinander mit M3 Muttern in den Befestigungslöchern im Mainboard
festschrauben wie auf dem Foto gezeigt.
Auf dem Bild oben sind alle 8 Distanzbolzen angeschraubt,
auch die vom Lochraster Erweiterungsmodul!
Anschließend setzten Sie das Erweiterungsmodul oben auf die Distanzbolzen und
Schrauben es mit den vier M3 Schrauben fest.
Jetzt müssen noch die zwei Flachbandkabel angesteckt werden – fertig.
Wir empfehlen das RP6 CONTROL M32 auf
dem hinteren Erweiterungsstapel auf dem
Roboter zu montieren – als oberstes Modul, damit die Taster und ggf. das Display
zugänglich bleiben. Dann sind auch beide
Programmieranschlüsse auf der gleichen
Seite des Roboters zugänglich. Vorne
können Sie das bereits im Lieferumfang
des Roboters enthaltene Experimentiermodul anbringen (s. Foto auf der nächsten Seite für eine Beispielkonfiguration).
- 9 -