RP6-JM03-61 RP6 SENSOR MODUL RP6 SENSOR MODUL ©2013 AREXX Engineering und JM3 Engineering www.arexx.com AREXX Engineering & JM3 Engineering Version: 1.20 Apr.
Impressum ©2012 AREXX Engineering Nervistraat 16 8013 RS Zwolle The Netherlands Tel.: +31 (0) 38 454 2028 Fax.: +31 (0) 38 452 4482 "RP6" sind eingetragenes Warenzeichen von AREXX Engineering. Alle anderen Warenzeichen stehen im Besitz ihrer jeweiligen Eigentümer. Diese Bedienungsanleitung ist urheberrechtlich geschützt.
Sicherheitshinweise - Prüfen Sie die Polung von der Spannung. - Halten Sie die Elektronik stets trocken. Wenn das Gerät einmal nass geworden ist, entfernen Sie sofort die Batterien oder die Stromversorgung - Bei längerem Nichtgebrauch die Batterien entfernen bzw. die Stromversorgung trennen. - Bevor Sie das Modul in Betrieb nehmen, prüfen Sie stets seinen Zustand sowie auch den der Kabel.
RP6V2/RP6WIFI – RP6_Sensor&I/O Bord Das Bild zeigt den RP6 Roboter mit den RP6WIFI Controller, dem RP6_Sensor&I/O Bord mit Sharp Abstandssensor und ein Teil von den AREXX Roboterarm RA2-HOBBY. AREXX Engineering & JM3 Engineering Version: 1.20 Apr.
Einführung Was kann man mit dem RP6_Sensor&I/O Bord machen? Das RP6_Sensor&I/O Bord passt mit allen Versionen des RP6 Roboters zusammen, jedoch wurde es vorrangig für den RP6V2 und das RP6WIFI Control entwickelt. Es erweitert die Möglichkeiten des Roboters um weitere Sensorsignale und gibt die Möglichkeit die Sensoren ein – bzw. auszuschalten um Strom zu sparen. Zusammen mit dem RP6V2 und RP6WIFI Control besteht die Möglichkeit Sensordaten zum ‘Command Center’ (PC Programm) zu schicken, z.B.
1.1. PCB Bord Überblick LED Licht 3D Kompass 3.3V Regler Sharp Sensor (vorne) Taste & LED I2C Expansion Modul Schnittstelle e.g. GPS RTC - Pufferbatterie ‚Jumper‘ für Interrupts Achtung nicht vom Benutzer austauschbar! Servo_PWR Input Achtung – Eingang ist nicht verpolgeschützt! Temp. Sensor CAM I2C & PWR I2C Hotswap VSS PIN – ist nicht kurzschlussfest! 4 Kanal MOSFETs 5.
Auf dem Bord befinden sich im Einzelnen: - - - 2 x Sharp Sensor Port mit Power ON/OFF MOSFET (K5 - vorne) / K3 - hinten) 1 x I2C Expansion Modul Port mit Power ON/OFF MOSFET (K28) 8 x Servo Ausgänge mit separater Versorgung (5V / 3A) und über Software schaltbar 8 x PWM Ausgänge 1 x CAM Interface (CAM_IF) mit Power ON/OFF MOSFET für CMUcam3/CMUcam4 Der serielle Bus-Verbindung kann zum UART1 auf dem RP6WIFI Bord verbunden werden.
1.3. RP6V2 – Einbau 1.3.1. Notwendige Signale auf der RP6 Basis Leiterplatte Die folgenden Signale müssen zusätzlich auf der RP6 Basis Leiterplatte verdrahtet werden um eine Verbindung mit dem Sensor & I/O Bord herzustellen: a. b. c. d. ADC0 ADC1 ADC4 PWRON -> -> -> -> PIN_1 PIN_2 PIN_5 PIN_3 USRBUS1 (Sharp vorne) USRBUS1 (Gyro) USRBUS1 (Sharp hinten) USRBUS1 Zwei relative einfache Möglichkeiten gibt es: i.
iv. Das PWRON Signal ist das Enable/Disable Signal für alle MOSFET Schalter. Verbinde USRBUS1 PIN_3 mit dem PWR Signal auf dem Mainboard. Hinweis: Um einen Sensor mit Spannung zu versorgen muss der entsprechende Sensor im Hardware Register (siehe Kap 3.2 Hardware Register) eingeschaltet sein und das PWRON Signal auf logisch ‚1‘ gesetzt werden. Brücke von Y3 nach PWR 1.4.
2 SW – Package für das RP6_Sensor&I/O und RP6WIFI Bord 2.1 C++ und C-Source Code wird unterstützt Mit dem RP6_Sensor&I/O Bord wird gleichzeitig die Tür zur C++ Welt für den RP6 Roboter geöffnet – und das auf einfache Art und Weise – keine Angst! Die C++ Programmiersprache ist eine Weiterentwicklung von ‘C’ oder auch eine Erweiterung der ‚C‘ – Sprache, aber verbesserten Befehlen und besser strukturiert. Nicht zu vergessen sind die deutlich verbesserten Compiler Überprüfungen.
Hier ein Beispiel wie man C-Code in die C++ Welt einbindet (aus dem Demo Programm): /**********************************************************************\ * IO Extension Demo Program * main.cpp * v 1.1.0 \**********************************************************************/ extern "C" { #include "RP6M256.h" #include "RP6M256Lib.h" #include "RP6M256uart.h" #include "RP6I2CmasterTWI.h" #include "Yourcode.h"
2.3 Hardware Control Register Sensor/Item I2C Address Port # I2C Module - ON/OFF 0x40 0.0 Sharp_Front_PWR - ON/OFF 0x40 0.1 Sharp_Rear_PWR - ON/OFF 0x40 0.2 Ready Signal I2C buffer (TCA4311A) - Input 0x40 0.3 LED Drive (TCA6507) - ENABLE 0x40 0.4 CAM PWR - ON/OFF 0x40 0.5 Gyro SLEEP/PWR (PD_2) - ON/OFF 0x40 0.6 Gyro TEST (ST_2) – ON/OFF 0x40 0.7 I2C OUT - ENABLE 0x40 1.0 I/O (IO_EXT_PIN1; free) 0x40 1.1 I/O (IO_EXT_PIN2; free) 0x40 1.
2.4 IOExtDemo SW Bietet eine Basis um die verschiedenen Funktionen auf dem Sensor & I/O Bord ansteuern zu können. Ein LC-Display 2 x 16 Zeichen wird unterstützt. Die Beschreibung (Kommentare) sind im Source Code enthalten. Die Software kann mit Visual Studio 2010 Express (kostenfreier Download von Microsoft) und dem beigestellten makefile erstellt werden. Das hex-file kann wie üblich in das RP6WIFI Control Bord geladen werden.
2.5 RP6-RC Demo SW (Remote Control) Der RP6 Roboter, das RP6WIFI Control Bord und dem RP6_Sensor&I/O Bord ermöglichen es den Roboter fernzusteuern und entsprechende Daten zu übertragen. Damit ist es möglich den Roboter mit einen Joystick oder den WASD Tasten nach links, rechts, vorwärts und rückwärts zu steuern. Der Joystick ist möglichst ‘gerade’ in die entsprechende Richtung zu bewegen.
Schalten sie den RP6 ein und führen die Applikation aus. Danach sollte die IP Adresse (Hostname Field) des Roboters eingegeben werden und klicken sie ‘Enable Remote Control’ an. Ihr Bild sollte so aussehen: Ihre Roboter IP ! Status Meldung – Remote Control aktiv erscheint nachdem die Fernsteuerung aktiviert wurde. Nachdem die Verbindung akzeptiert wurde, sollten einige Werte schon übertragen werde: 1.) 2.) 3.) 4.) 5.
3. Eine detaillierte Beschreibung der IC’s finden Sie in den Datenblättern der Hersteller. - LM75BM - LSM303DLHC - DS1339U33 - MAX7311AUG - TCA6507 - LY330ALH - PCA9685 Temp. Sensor Magnetometer and Accelerometer RTC I/O digital LED Driver Gyro Yaw PWM Servo controller 4. PIN-OUT Stecker 4.1.
4.2. Stecker auf dem Bord: K2: (LED) PIN 1 PIN 2 = = P2 VDD_1 K3: (Sharp Rear) PIN 1 = PIN 2 = PIN 3 = ADC4 VDD_1 Load (100 Ohm) K4: (LED) PIN 1 PIN 2 P1 VDD_1 = = K5: (Sharp Front) PIN 1 = PIN 2 = PIN 3 = ADC0 VDD_1 Load (100 Ohm) K7: (Display.
4.3. Wiederaufladbare Battrie Die Batterie wird automatisch während dem Betrieb aufgeladen (RP6 ist eingeschaltet). Ein überladen / tiefentladen ist nicht möglich. Hinweis: Der Trickle-Charger in der Echtzeituhr (RTC) im DS1339 muss auf 2kOhm und Diode eingestellt werden. Bitte lesen sie im Datenblatt der DS1339 nach oder schauen sie sich die IOExtDemo Software an! Unter normalen Umständen muss die Batterie nicht ausgetauscht werden! Das Aufladen erfolgt im normalen Betrieb des Roboters.
RP6 SENSOR MODUL SCHALTPLAN AREXX Engineering & JM3 Engineering Version: 1.20 Apr.
AREXX Engineering & JM3 Engineering Version: 1.20 Apr.
AREXX Engineering & JM3 Engineering Version: 1.20 Apr.
AREXX Engineering & JM3 Engineering Version: 1.20 Apr.
RP6 SENSOR MODUL PLATINE LAYOUT AREXX Engineering & JM3 Engineering Version: 1.20 Apr.