RP6-JM03-61 RP6 SENSOR BOARD RP6 Sensor board ©2013 AREXX Engineering and 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 This manual is protected by the laws of Copyright. It is forbidden to copy all or part of the contents without prior written authorization! Product specifications and delivery contents are subject to changes. The manual is subject to changes without prior notice. You can find free updates of this manual on http://www.arexx.
Safety recommendations IMPORTANT: Prior to using this robot arm for the first time, please read this manual thoroughly up to the end! They explain the correct use and inform you about potential dangers! Moreover they contain important information that might not be obvious for all users. - Check the polarity of the batteries or power supply. - Keep all products dry, when the product gets wet remove the power directly. - Remove the batteries or power when you are not using the product for a longer period.
RP6V2/RP6WIFI – RP6_Sensor&I/O Board Picture shows the RP6 with RP6WiFi Control board, the RP6_Sensor&I/O Board, Sharp Sensor and a part of the AREXX Robot Arm RA2-HOBBY. AREXX Engineering & JM3 Engineering Version: 1.20 Apr.
Introduction What can I do with the RP6_Sensor&I/O Board? The RP6_Sensor&I/O Board enables all versions of the RP6 Robots, but it is primarily designed for the RP6V2 and RP6WIFI. It provides the capabilities to measure signals and gives control over the sensor power consumption. Together with the RP6V2 and RP6WIFI board you can send sensor data back to the ‘Command Center’ (PC Program) - e.g. compass heading, outside temperature, pitch & role angle. You can also command new headings e.g.
1.1. Board overview LED headlight 3.3V regulator Distance sensor option Sharp (front) 3D Compass I2C Expansion modules e.g. GPS I2C module Button & LED compass ‚Jumper‘ for interrupts RTC & recharge-able battery -Attention – not user serviceable! Servo_PWR Input Temp. sensor Attention – no revers polarity protection! CAM I2C & PWR I2C Hotswap VSS PIN – no short protection! 4 CH Power switch 5.
On board there are: - - - 2 x Sharp Sensor ports with power ON/OFF capability (front K5) / rear K3) 1 x I2C Expansion module port and 5V power ON/OFF capability MOSFET (K28) 8 x Servo output with separate power supply (5V / 3A)and ON/OFF capability 8 x PWM outputs 1 x CAM interface (CAM_IF) e.g. for a CMUcam3/CMUcam4 and power switch capability The serial link can be attached to the RP6WIFI board (e.g. UART1).
1.3. RP6V2– Setup 1.3.1. Signals to be connected to the mainboard The following signals need to be wired from the main board if you want to use the signals. a. b. c. d. ADC0 ADC1 ADC4 PWRON -> -> -> -> PIN_1 PIN_2 PIN_5 PIN_3 USRBUS1 (Sharp front) USRBUS1 (Gyro) USRBUS1 (Sharp rear) USRBUS1 The following options are possible: i. Connecting the Sharp Front & Rear sensor to ADC0 – in this case you have to switch the Sharps sensors alternately on (time –multiplex) and read out ADC0.
iv. The PWRON signal is the general enable/disable signal for the MOSFETS. Make the wire connection from the USRBUS1 PIN_3 to PWR signal on the main board. HINT: To power a sensor you must select the specific sensor (see chap 3.2 Hardware Register) and set the PWRON signal to logic 1. Wire from Y3 to PWR 1.4.
2 SW – Package for RP6_Sensor&I/O board working with the RP6WIFI 2.1 C++ and C-Source code support Together with the RP6_Sensor&I/O board the door into the C++ word has been opened for the RP6 Robot - and this in an easy way – no worry! The C++ language is a superset of the C language or vice versa the C++ language is an extension of the C-language, but more powerful and structured – more rigid in the compiler checks.
Here an example how to add in C-code in the C++ world (taken from the Demo Program): /**********************************************************************\ * 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 Provides a base implementation to control the Sensor & IO board. A display 2 x 16 char will be supported. The description is within the source code. Source code files for both boards are included in the package (see src folder). The software can be complied with Visual Studio 2010 Express (free download at Microsoft) – the makefile is included.
2.5 RP6-RC Demo SW (Remote Control) The RP6 Robot and the RP6WIFI board together enables you to control the RP6 Robot remotely so you can ‘drive’ the robot via a Joystick or WASD keys on the key pad - right, left, forward, backward and turns. The joystick should be moved as straight as possible to the directions left, right forward or backward. The current version is a demonstration PC program and associated RP6 Base and WIFI hex-flies.
Switch the RP6 ON and run the application, then type your RP6 IP into the Hostname field and click on the connect button and click on the box to ‘Enable Remote Control’. You should see the following: Your Robot IP ! Status message – remote control active after enabling the remote control ! After the connection has been accepted, you get some signals reported from the RP6, which are: 1.) 2.) 3.) 4.) 5.
3. Detailed descriptions of the integrated circuits see datasheets - LM75BM - LSM303DLHC - DS1339U33 - MAX7311AUG - TCA6507 - LY330ALH - PCA9685 Temp. Sensor Magnetometer and Accelerometer RTC I/O digital LED Driver Gyro Yaw PWM Servo controller 4. Connector PIN-OUT 4.1.
4.2. Connectors on Board: 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. Rechargeable Battery The Battery will be recharges automatically while the IO Board is in use (RP6 is switched on). Overloading is not possible. Hint: You must enable the Trickle charger in the RTC (DS1339 – 2kOhm and Diode). Refer to the source IOExtDemo Software and/or the datasheet of the DS1339! Hint: There should be no need to replace this battery! Recharging will occure during normal operation of the Robot. The data will be kept over several weeks. 5. Technical data 5.1.
RP6 SENSOR BOARD CIRCUIT DIAGRAM 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 BOARD PCB LAYOUT AREXX Engineering & JM3 Engineering Version: 1.20 Apr.