WiRobot X80 USER MANUAL WiFi 802.11 Wireless Mobile System Version: 1.0.6 JUNE.
Table of Contents Chapter I. WiRobot Getting Start Guide ........................................................................................... 4 I. Preface............................................................................................................................................................... 5 I.1 Audience.................................................................................................................................................... 5 I.2 Feedback ............
IV.1 Multimedia Control ................................................................................................................................ 61 IV.2 Events ..................................................................................................................................................... 64 V. WiRobot DRK6080/6000/8080/8000 Specific APIs .................................................................. 65 V.1 Low Level Protection.................................................
VIII.4 Specifications ...................................................................................................................................... 140 IX. DHM5150 Human Motion Sensor Module ............................................................................................141 IX.1 Introduction .......................................................................................................................................... 141 IX.2 Operations .......................................
Chapter I. Copyright © Dr Robot Inc.
I. Preface I.1 Audience This document is written for robot developers in using WiRobot systems. It provides the initial product information as well as a guide in helping users to understand how to use this system. The developers should have basic knowledge in Microsoft Visual C++ or VB. Detail programming information can be found in Chapter III. I.2 Feedback If you find any problems in this document, please send us your feedback to support@drrobot.com. Copyright © Dr Robot Inc.
II. WiRobot Overview TM WiRobot is an integrated electronic and software robotic system extended from Dr Robot’s comprehensive humanoid robot, which has demonstrated its interactive capabilities in the public and the media. Each WiRobot development system is designed to provide a user-friendly programming environment for hobbyists, students in robotic areas and researchers to develop their robot programs and applications at an affordable cost.
II.1 Software Components The WiRobot system comes with a CD containing the following software components and documents: . “WiRobot Gateway” which is used to connect the PC to the robot and show the connection status, . An ActiveX control, called WiRobot SDK ActiveX Module, with a set of APIs is provided for user to access the robot when developing his/her own applications in MS VC++ or VB, .
III. Software (WiRobot SDK) Installation III.1 System Requirements The PC requirements in using the WiRobot system are: . PIII 550MHz or faster CPU . 64 MB RAM or more . 20 MB hard disk free space . Microsoft Windows 2000 or XP operating system As well as, Microsoft Visual VB or VC++ 6.0 (with Service Pack 5) is required for users to develop their own applications. III.
By default, all these components will be installed under the directory “C:\Program Files\DrRobot\WiRobot-System” unless user specifies another location during the installation. Figure III.3 WiRobot Installation Step 3 IV. Connecting to WiRobot System IV.1 WiFi Wireless Connecting IV.1.1 Configuration your 802.11b (or 802.11b compatible) wireless access point/router Configuration your 802.11b (or 802.
IV.1.2 Run the WiRobot Gateway Figure IV.2 WiFi Gateway Check the WiFi Connection and input the IP of the robot which you want to connect, and input the Port with 10001, and then click the Connect button. You can find the robot IP under the robot. IV.2 Serial Cable Connecting The user can also connect the WiRobot system to a PC through a null modem cable (RS232 Crossover Serial Cable) as follows: Figure IV.3 WiRobot System Setup without Wireless Connection Copyright © Dr Robot Inc.
IV.2.1 Connecting the cable and module . Connect Serial cable, make sure the serial cable is connected to the COM1 socket of your PC at one end, and the other end should be connected to the RS232 interface module. 2. 1. 3. RS232 Figure IV.4 Connection of RS232 with Serial Cable . Unplug the serial WIFI (or Bluetooth) wireless module which had already plugged in the lower socket board PMB5010 of the robot. Figure IV.5 Upper reach SCI0 of Lower Socket Board PMB5010 .
Figure IV.6 GUI of WiRobot Gateway on PC The “WiRobot Gateway” will provide connection status information between the PC and the robot. This program is required to keep running as long as the user wants to access and control the robot through the sample applications or their custom programs. Robot data acquisitions including human sensor, ultrasonic sensor, Infrared distance sensor, tilting sensor, potentiometer, color CMOS image sensor, microphone, and etc.
. Click “Project” in the menu and choose the “Components” Figure V.1 Using ActiveX module under VB Step 1 . Uncheck the “Selected Items Only” box to show all components, choose the “WiRobot SDK ActiveX Module” and click “OK” Figure V.2 Using ActiveX module under VB Step 2 . A new icon on the left menu bar will appear and user can simply drag and drop this icon to the Project’s Form and start using the APIs offered by this ActiveX control. By default the variable name of this component is “WiRobotSDK1”.
Figure V.3 Using ActiveX module under VB Step 3 V.2 Sample Application 1 – WiRobot X80 Controller (VB) This sample application demonstrates the basic capabilities of the WiRobot X80 using Microsoft VB with source code provided. This program can read sensor data, obtain image and audio, play wave file, and control the robot movement with command or joystick. The GUI of this program is shown as follows: Copyright © Dr Robot Inc.
Figure V.4 GUI of the WiRobot X80 Controller (VB) User can click the button on the interface to control the robot as long as the “WiRobot Gateway” is connected to the robot. The following are some functions used in this sample application for controlling the servos mounted on the head: WiRobotSDK1.EnableServo 0 WiRobotSDK1.ServoTimeCtr 0, 3800, 1000 The WiRobotSDK1is the WiRobot SDK Component ActiveX control. The first line will enable the channel 0 servo.
V.3 Sample Application 2 - WiRobot DRK8000 Controller (VB) This sample application demonstrates the basic capabilities of the WiRobot DRK8000 using Microsoft VB with source code provided. This program can read sensor data, obtain image and audio, play wave file, set the LCD display image, and control the robot movement. The GUI of this program is shown as follows: Figure V.
Figure V.6 GUI of the WiRobot DRK6000/8000 Controller (VC++) To obtain an image from the robot, user can call the following function where m_ctlSDK is a member variable of the class CWiRobotSDK imported from the “WiRobot SDK ActiveX Module” m_ctlSDK.TakePhoto (); To control the robot to move forward continuously, user can call the following functions m_ctlSDK.SetDcMotorControlMode (0, 0); m_ctlSDK.SetDcMotorControlMode (1, 0); m_ctlSDK.
Chapter II. X80 System Specification -X80 Wireless Mobile System Copyright © Dr Robot Inc.
I. WiRobot X80 Overview WiRobot is an integrated electronic and software robotic system extended from Dr Robot’s comprehensive humanoid robot. Each WiRobot development system is designed to provide a userfriendly programming environment for hobbyists, students and researchers to develop their advanced robot programs and applications at an affordable cost. The X80 development system includes the respective mechanical structure, electronic modules as well as the software development kit (SDK).
The X80 includes all WiRobot development software components (for MS Windows 2000 and up), enabling easy access to all data and information in a standard Microsoft Windows programming environment (e.g., MS VB and VC++). Under the approach of using a separate PC for high-level control, there are no longer onboard restrictions on a mobile system’s processing power, memory and storage.
Standard Electronics components and Operation Detail WiRobot X80 Specifications: Table I.1 WiRobot X80 Specifications On-Board CPUs TI 120MIPS & Motorola 40MIPS 16-bit fix-point DSP On-Board Storage 1M x 16-bit words flash, Up to 256K x 16-bit words SRAM Degree of Freedom Built-in Peripheral Interface and Modules 2 x wheel motion, 2 x camera motion (Pan + Tilt) , up to 6 servos and 3 DC motors) X1 8-bit CIF (352 x 288) Color CMOS Camera Module X1 Audio codec and amplifier module with mic.
The standard WiRobot DRK series system electronic modules: Table I.
I.1 Mechanical Specification The following diagram illustrates the mechanical structure of the WiRobot X80 system: Figure I.1 WiRobot X80 I.2 Electrical I.2.1 Power The X80 is powered by a single 7.2V battery pack. This battery pack is connected to both PMS5005 and PMB5010 through a switch. User can turn on or turn off the system (both PMS5005 and PMB5010) by pressing the switch next to the head base. I.2.
I.2.3 Electrical Modules In this system, all electrical modules are located and connected as followed: Table I.
Please refer to Chapter IV.I PMS5005 (Page 67) for details on how to connect different sensors, DC motors, servos, and LCD display to the system. For camera, speaker and microphone, please refer to Chapter IV.II PMB5010 (Page 82). I.3 Other Specification Table I.4 Other Specification X80 Weight (including one battery pack) Recommended Maximum payload II. Miscellaneous II.1 Battery Recharging ~3.5kg ~10kg User can simply take out the battery at the lowest deck of the robot to recharge.
Chapter III. WiRobot SDK Application Programming Interface (API) (For MS Windows) Copyright © Dr Robot Inc.
I. Convention Data Type int: UWord16: short: 16 bit signed interger 16 bit unsigned interger 16 bit signed interger Syntax Syntax under each API reference is based on the C/C++ calling convention. Corresponding Visual Basic calling convention can be found in relevant VB reference book, or from the WiRobot VB code examples. Copyright © Dr Robot Inc.
II. WiRobot SDK Overview WiRobot Software Development Kit (SDK) is a part of the WiRobot development system. Being a PCbased software framework for robotic system development, the SDK contains the facilities for memory management, system communication and user interface, and the utilities for audio, video input/output, sensor data acquisition and motion control. Please refer to the Chapter IV.I PMS5005, Chapter IV.
PMB5010 controllers. Data in between WiRobot hardware and the “WiRobot SDK ActiveX Module” is managed and transferred by the supplied WiRobot Gateway Program (WiRobotGateway.exe) with the shared memory as shown in Figure II.2. Figure II.2 WiRobot Software Architecture Copyright © Dr Robot Inc.
III. WiRobot SDK API Reference for PMS5005 WiRobot SDK APIs for PMS5005 are grouped under the categories of Sensor Peripherals, Motion Control, Multimedia Control and Events. III.1 Sensor Peripherals This section contains the APIs for the operations of different sensor peripherals. III.1.
stop sending Return value: void Remarks: (1) The default update rate is 20Hz. User can set up the data refresh rate according to real system requirements. (2) System is default to continuously sending all data when bootup. See Also: SetSysMotorSensorPeriod, SetSysStandardSensorPeriod, SetSysCustomSensorPeriod, SetSysAllSensorPeriod.
10 void DisableStandardSensorSending (); 11 void DisableCustomSensorSending (); 12 void DisableAllSensorSending (); Description: DisableMotorSensorSending disables batch updating motor-related sensor packets. DisableStandardSensorSending disables batch updating standard sensor packets. DisableCustomSensorSending disables batch updating custom sensor packets. DisableAllSensorSending disables batch updating all the sensor packets.
packets to PC central controller */ Return value: void Remarks: The default PeriodTime = 50 (ms), i.e. update rate is 20Hz. PeriodTime should be bigger than 50 (ms), i.e. the system data fastest refresh rate is 20Hz. See Also: SystemMotorSensorRequest, SystemStandardSensorRequest, SystemCustomSensorRequest, SystemAllSensorRequest. III.1.
255 255 cm or longer 24 short GetSensorIRRange (); Description: GetSensorIRRange returns the current distance measurement value between the infrared range sensor and the object in front of it. Syntax: ival = GetSensorIRRange (); Parameter: Return value: void short ival; Return data interpretation when using Sharp GP2Y0A21YK: Table III.
Syntax: ival = GetSensorHumanAlarm1(); ival = GetSensorHumanAlarm2 (); Parameter: Return value: void short st //1 human alarm nd // 2 human alarm ival; Return data interpretation: The return data is the raw value of the analog to digital converter indicating the amplified (x 5 times) output voltage of the sensor device. The data range is between 0 and 4095. When there is no human present, the module output voltage is about 1.5 V and return value is about 2047.
29 short GetSensorTiltingX (); 30 short GetSensorTiltingY (); Description: GetSensorTiltingX, GetSensorTiltingY, return the current tilt angle values in the relevant directions from DTA5102 Tilting and Acceleration Sensor Module.
ival = GetSensorOverheatAD2(); Parameter: void Return value: short nd //2 overheating sensor ival; Return data interpretation: The return data is the raw value of the analog to digital converter indicating the output voltage of the sensor. The data range of the return value is between 0 and 4095. The output voltage of the sensor can be calculated from the following equation: Temperature (˚C) = 100- (ival – 980) / 11.
ival = GetSensorIRCode4 (); Parameter: Return value: void short // the fourth code ival Return data interpretation: The recovered infrared remote control command (4 bytes code) is as follows: Key Code: [the third byte] [the second byte] [the first byte] Repeat Code: [the fourth byte] where the repeat code would be 255 if button is pressed continuously.
GetSensorBatteryADX returns the current value of the relevant power supply voltage if the battery voltage monitor is enabled (default), or returns the relevant custom A/D inputs, if the custom A/D input is enabled which is configured by the jumpers on PMS5005. Please refer to Chapter IV.I PMS5005 Robot Sensing and Motion Controller (Page 67) for detailed information on hardware setting.
The return data is the raw value of the analog to digital converter indicating the output voltage of the monitor. The data range is between 0 and 4095. The following equation can be used to calculate the real voltage values. Voltage = (ival / 4095) * 6 (V) III.1.
2. Single sensor is mainly used for the control of robot joint with limited rotation range. The effective mechanical rotation range is 14˚ to 346˚, corresponding to the effective electrical rotation range 0˚ to 332˚. Angle position (˚) = (ival - 2048)/4095*333 + 180 3. Dual-sensor configuration is mainly used for continuous rotating joint control (such as wheels). The effective rotation range is 0˚ to 360˚. Dual sensor configuration is only available for channel 0 and 1.
Return value: short ival; Return data interpretation: The return data is the raw value of the analog to digital converter indicating the motor current. The data range is between 0 and 4095. The real current can be calculated with the following formula: Motor Current (A) = (ival * 3 *375 / 200 /4095) = ival / 728 III.1.
III.1.11 Custom Analog and Digital Inputs and Outputs 64 short GetCustomAD1(); 65 short GetCustomAD2(); 66 short GetCustomAD3(); 67 short GetCustomAD4(); 68 short GetCustomAD5(); 69 short GetCustomAD6(); 70 short GetCustomAD7(); 71 short GetCustomAD8(); 72 short GetCustomAD (short channel); Description: GetCustomADX returns the sampling value of the custom analog to digital input signals.
The return data is the raw value of the analog to digital converter indicating the input voltage levels. The data range is between 0 and 4095. The voltage levels can be calculated from the following equation: Sensor output voltage = (ival) * 3.0 / 4095 (V) See also: GetSensorBatteryAD1~3 73 short GetCustomDIN(); Description: GetCustomDIN returns a value with lower 8-bits corresponding to the 8-channel custom digital inputs.
G E + U Controller DC Motor Y F Potentiometer Figure III.1 Digital Controlled DC Motor System In the case of PID control, the transfer function of the PID controller looks like as: U ( s) / E ( s) = K P + K D S + K I / S When using potentiometers (optical encoder and etc.) as the rotational position feedback, you have to set the motor polarity properly using “WiRobotSDK” ActiveX control API “SetMotorPolarityX“ so that the negative feedback is achieved. See “SetMotorPolarityX“ for detail.
ival = SetMotorPolarity5 (short polarity); // Motor #5 ival = SetMotorPolarity6 (short polarity); // Motor #6 ival = SetMotorPolarity (short channel, short polarity); // motor#1, 2, 3, 4, 5, or 6 Parameter: short polarity; //1 or -1 short channel; // 0, 1, 2, 3, 4, or 5 for Sonar #1, 2, 3, 4, 5, 6 Return value: void ival; 82 void EnableDcMotor (short channel); 83 void DisableDcMotor ( short channel); Description: These functions are obsolete.
SetDcMotorVelocityControlPID sets up the PID control parameters of the specified DC motor control channel for velocity.
Syntax: SetDcMotorSensorUsage (channel, SensorType) Parameter: short channel; short SensorType; // 0, 1, 2, 3, 4, or 5 for single potentiometer sensor // 0, 1, or 2 for dual potentiometer sensor // 0 or 1 for quadrature encoder // 0 -- Single potentiometer sensor // 1 -- Dual potentiometer sensor // 2 – Quadrature encoder Return value: void Remarks: 1.
92 void DcMotorPositionTimeCtr (short channel, short cmdValue, short timePeriod); Description: DcMotorPositionTimeCtr sends the position control command to the specified motion control channel on the Sensing and Motion Controller (PMS5005). The command includes the target position and the target time period to execute the command. The current trajectory planning method with time control is linear.
1. Motor will be enabled automatically by the system when this command is received. 2. Target position value is in the A/D sampling data range 0 to 4095 when using single potentiometer, 0-4428 when using dual potentiometers. 3. Please refer to the description of GetSensorPot for data converting between angular values and the A/D sampling data values. 4. When using encoder as sensor input, the target position value is the pulse count in the range of 0- 32767.
Syntax: DcMotorVelocityNonTimeCtr (channel, cmdValue); Parameter: short channel; short cmdValue; Return value: void // 0, 1, 2, 3, 4, or 5 // Target velocity value Remarks: 1. Motor will be enabled automatically by the system when this command is received 2. No velocity is available for motor channel using single potentiometer sensor 3.
97 void DcMotorPwmNonTimeCtr(short channel, short cmdValue); Description: DcMotorPwmNonTimeCtr sends the PWM control command to the specified motion control channel on the Sensing and Motion Controller (PMS5005). The command includes the target pulse width value without specific execution time period. The motion controller will set the PWM output of this channel to the target value immediately.
Return value: void Remarks: 1. All DC Motors will be enabled automatically by the system when this command is received. 2. Target position value is in the A/D sampling data range 0 to 4095 when using single potentiometer, 0-4428 when using dual potentiometers. 3. Please refer to the description of GetSensorPot for data converting between angular values and the A/D sampling data values. 4. When using encoder as sensor input, the target position value is the pulse count in the range of 0- 32767. 5.
5. When some motors are not under controlled, their command values should be set as -32768 (0x8000). That means NO_CONTROL. See also: DcMotorPositionNonTimeCtr 100 void DcMotorVelocityTimeCtrAll(short cmd1, short cmd2, short cmd3, short cmd4, short cmd5, short cmd6, short timePeriods); Description: DcMotorVelocityTimeCtrAll sends the velocity control command to all 6 DC motor control channels on the Sensing and Motion Controller (PMS5005) at the same time.
DcMotorVelocityNonTimeCtrAll sends the velocity control command to all 6 DC motor control channels on the Sensing and Motion Controller (PMS5005) at the same time. The command includes the target velocities without specific execution time period. The motion controller will drive the motor to achieve the target velocity with maximum effort.
short timePeriod; Return value: void // Executing time in milliseconds Remarks: 1. All channel (motors) will be enabled automatically by the system when this command is received 2. Target pulse width value range is 0 to 32767 (0x7FFF), corresponding to the duty cycle of 0 to 100% linearly. 3. A pulse width value of 16363 means 50% duty cycle, putting motor in “Stop” stage.
4. When some motors are not under controlled, their command values should be set as -32768 (0x8000). That means NO_CONTROL. See also: DcMotorPwmNonTimeCtr III.2.2 RC Servo Motor Control 104 void EnableServo (short channel); 105 void DisableServo (short channel); Description: EnableServo enables the specified servo motor control channel. DisableServo disables the specified servo motor control channel.
short timePeriod; Return value: void // Executing time in milliseconds Remarks: 1. Target position value for cmdValue = (Pulse width in millisecond) * 2250. 2. Usually, a standard remote control servo motor expects to get the specified pulse width in every 20 milliseconds in order to hold the corresponding angle position. The pulse width value in millisecond for 0˚, 90˚ and 180˚ are servo manufacturer and model dependant, they are around 1ms, 1.5ms and 2.0ms respectively for most common servos.
short cmd2; short cmd3; short cmd4; short cmd5; short cmd6; short timePeriod; Return value: void // Target position for channel #2 // Target position for channel #3 // Target position for channel #4 // Target position for channel #5 // Target position for channel #6 // Executing time in milliseconds Remarks: 1. Please refer to the remarks under ServoTimeCtr. 2. When some servo motors are not under controlled, their command values should be set as -32768 (0x8000). That means NO_CONTROL.
III.3 Multimedia Control III.3.1 LCD Display 111 void LcdDisplayPMS(LPCTSTR bmpFileName); Description: LcdDisplayPMS displays the image data in the file bmpFileName (BMP format) on the graphic LCD connected to the Sensing and Motion Controller (PMS5005). Syntax: LcdDisplayPMS (bmpFileName); Parameter: LPCTSTR bmpFileName; Return value: void // Full path of the BMP file for displaying Remarks: The graphic LCD display is mono with dimension of 128 pixels by 64 pixels.
IV. WiRobot SDK API Reference for PMB5010 WiRobot SDK APIs for PMB5010 supports advanced Multimedia Control features. IV.1 Multimedia Control This section contains the APIs for the operations of audio input and output, image capturing and LCD display. IV.1.1 Audio Input and Output 115 void PlayAudioFile(LPCTSTR fileName); Description: PlayAudioFile sends an audio file (.wav format) to the Multimedia Controller (PMB5010). The file will be played back on the speaker.
Syntax: lpVal = GetVoiceSegment(); Parameter: void Return value: long lpVal; // pointer to current voice data. Remark: (1) You should use method GetVoiceSegLength() to get the length of the Voice segment. (2) Voice data is in PCM raw data format with 16bit, 8KHz sampling rate. 118 long GetVoiceSegLength(); Description: GetVoiceSegLength returns the length of current voice data in memory.
120 void StopRecord(); Description: StopRecord sends stop-recording command to the Multimedia Controller (PMB5010). SDK will not send recorded voice data to PC any more. Syntax: StopRecord(); Parameter: void Return value: void Remarks: There will be no effect if the Multimedia Controller is not recording. IV.1.2 Image Capturing 121 void TakePhoto(); Description: TakePhoto sends image capturing command to the Multimedia Controller (PMB5010).
Remarks: 1. Before calling SavePhotoAsBMP, the TakePhoto command needs to be called to request image taken. 2. When the image data arrive, the call back event “ImageEvent” will be fired 3. The cause of “failure to save” could be caused because the TakePhoto command was not sent or the file name / path is invalid. IV.1.
V. WiRobot DRK6080/6000/8080/8000 Specific APIs V.1 Low Level Protection Front When bumpers (optional) are installed on WiRobot RDK6080/6000/8080/8000 with the connection configuration shown on the right, a build-in low-level bumper Bumper_0 Bumper_1 collision protection scheme can be enabled or disabled with D_IN0 D_IN1 the next two commands. When this bumper protection feature is enabled: .
Chapter IV. WiRobot Module Copyright © Dr Robot Inc.
I. PMS5005 Sensing and Motion Controller I.1 Introduction The PMS5005 Robot Sensing/Motion Controller can be used as sensing, control, motion execution, LCD display and wireless communication processing unit for various robotic applications. Its onboard firmware makes the low level function modules such as motor driver module and wireless communication module transparent to the users. A host (e.g.
. . PMB5010 Multimedia controller (x1) MCB3100 Serial Bluetooth wireless module or MCR3210 RS232 interface module (x1) or WFS802b WiFi802.11b Serial wireless module Figure I.1 Block Diagram of the PMS5005 I.1.2 PMS5005 Connectors and Jumpers Figure I.2 shows the function and location of the connectors and jumpers on the PMS5005. Figure I.2 PMS5005 Connector and Jumper Locations Copyright © Dr Robot Inc.
* Note that the size of the PCB board of PMS5005 is about 14.5cm x 10.2cm. I.2 Operations The PMS5005 Robot Sensing/Motion Controller is designed to be running as part of the WiRobot system. The hardware preparation when using the PMS5005 is just simply connecting the relevant WiRobot modules to the relevant connectors on the PMS5005 board and setting the proper jumper configurations. Lower device-level operations are handled by the firmware embedded in PMS5005 controller with the following functions: .
System DC Motor Servo Motor J1 J2 J3 PSY PDM PSM S1-0 S1-1 S2-1 5.5 – 7.2 6.0 – 25.0 5.0 – 7.2 N/A 12 8 The system power supply is required at all time for the operation of this board and the power consumption of PMS5005 without connecting any peripheral modules is about 350mA using a 7.2V battery pack. We also recommend the use of three different power sources in powering the PMS5005 (System Power Supply, DC Motor Power Supply and Servo Motor Power Supply) since high power consumption devices (e.g.
Figure I.3 WiRobot System Communication Architecture The system communication connectors on the PMS5005 are described in Table I.4. Refer to Section I.2.5 for the definitions of the signals attached to the connector BTOOTH and SCI. Table I.4 System Communication Connectors Connector Type BTOOTH Upper Reach SCI Lower Reach Description SCI port with handshaking and control signals for both wired and wireless modules Two-wire serial communication interface (reserved for future use) I.2.
DTA5102 DHM5150 DAT5280 MIR5538/5540 MDM5253 3rd party 3rd party GP2Y0A21YK MGL5128 TILT HUMAN1 – 2 TEMPERATURE INFRAR MOTOR1_IN, _OUT MOTOR2_IN, _OUT SM1 - 6 ENCODER1 - 2 RANGE LCD 1 2 1 1 2 2-Axis tilting and acceleration sensor Human motion sensor Ambient temperature sensor Infrared remote controller module 3-channel DC motor driver module with position and current feedback 6 2 1 1 3rd party servo motor 3rd party quadrature encoder Infrared range sensor Mono Graphic LCD display module, 128x64 I.2.
I.2.8 PMS5005 Connections The definitions of the connector signals of the power supplies and the supported PMS5005 peripheral modules are listed in the following tables. Table I.6 Connections of the Power Jacks and Terminals Power Connection Positive Power Source Power Supply Ground Power Jack J1, J2, J3 Screw Terminal PSY, PDM, PSM Center Pin Circle 1 2 Table I.7 Upper Reach Communication Port BTOOTH Pin 1 2 3 4 5 6 7 8 Name VCC RXD TXD RTS CTS GND COMRST BTIN Signal Description +3.
Pin 1 2 3 4 Name VCCA AYD AXD GND Signal Description +5.0 V Y direction signal, analog 0 – 3.0V X direction signal, analog 0 – 3.0V Analog ground Table I.11 Human Motion Sensor Connectors HUMAN1 - 2 Pin 1 2 3 4 Name VCCA HMS HAS GND Signal Description +3.0 V Human motion signal, analog 0 – 3.0V Human presence alarm, analog 0 – 3.0V Analog ground Table I.12 Temperature Sensor Connector TEMPERATURE Pin 1 2 3 Name VCCA TVS GND Signal Description +5.0 V Temperature Data, analog 0 – 3.
Pin 1 2 3 4 5 Name ENCB VCC ENCA ENCI GND Signal Description Channel B signal +3.3V Channel A signal Index signal (reserved for future use) Power supply ground Table I.16 Infrared Range Sensor Connector RANGE Pin 1 2 3 Name VCC RVS GND Signal Description +5.0 V Range data, analog 0 – 3.0V Analog ground Table I.17 LCD Display Connector LCD Pin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Signal VDD VSS Vo D0 D1 D2 D3 D4 D5 D6 D7 CS1 CS2 RESET R/W D/I E VEE A K Description +5.
Pin Signal 1, 2, 3, 4 5, 6, 15, 16 7 8 9 10 11 12 13 14 + 3.0 V Ground AD_IN1* AD_IN2* AD_IN3* AD_IN4 AD_IN5 AD_IN6 AD_IN7 AD_IN8 Description Analog power supply, max. 40mA Analog ground Analog 0 – 3.0V Analog 0 – 3.0V Analog 0 – 3.0V Analog 0 – 3.0V Analog 0 – 3.0V Analog 0 – 3.0V Analog 0 – 3.0V Analog 0 – 3.0V *Note (Table I.18): When the relevant power supply voltage monitoring is enabled, AD_IN1, AD_IN2, AD_IN3 will be not available to the custom A/D expansions. Table I.
Figure I.5 Physical Connection 4. 5. Close all WiRobot software on PC (e.g. WiRobot Gateway and all sample applications) Start the hyper-terminal (which comes with MS Windows OS), give a name to this new connection and choose the COM port that is connected to the PMS5005 (normally COM1 or COM2) as shown in the following figure: Figure I.6 Choosing COM Port Connection 6.
Figure I.7 COM Port Setting 7. The lower left corner of the hyper-terminal will show the connection status. If the hyperterminal is still not connected, click the connect icon on the hyper-terminal to establish the connection (don’t turn on the PMS5005 yet!). 8. Choose “Transfer -> Send Text File” from the toolbar and set “files of type” to ALL. Locate the PMS5005 firmware HEX file only by HIGHLIGHTING the file (e.g. PMS5005_v11.dri).
9. 10. Please read step 10-13 ahead before turning on the PMS5005 in this step After you turn on the PMS5005 (by connecting power to the system power), you should see the text “(c) 2000-2001 Motorola Inc. S-Record loader. Version 1.1” in the hyper-terminal as shown in the following figure: Figure I.9 Status after Turning on the PMS5005 11. 12. Within 5 seconds (start counting when you turn on the PMS5005), you should click the “Open” button on the Hyper-terminal popup window.
II. PMB5010 Multimedia Controller II.1 Introduction The PMB5010 Robot Multimedia Controller can be used as audio, video and wireless communication processing unit for various robotic applications. Its onboard firmware makes the low level function modules such wireless communication module transparent to the users. A host (e.g. PC, DSP, or processor) will be used to communicate and control the PMS5005 for different applications through the UART (serial) interface.
II.1.2 PMB5010 Connectors and Jumpers Figure II.2 shows the function and location of the connectors and jumpers on the PMB5010. Figure II.2 PMB5010 Connectors and Jumpers II.2 Operations The PMB5010 Robot Multimedia Controller is designed to be running as part of the WiRobot system. The hardware preparation when using PMB5010 is just simply connecting the relevant peripheral modules to the relevant connectors on the PMB5010 board and setting the proper jumper configurations.
II.2.2 PMB5010 Jumper Settings The board address can be set to any value between 0 and 15. Please refer to the Table II.2 for the setting values. Table II.2 Board Address Jumpers B_ADDR Bit 0 (LSB) 1 2 3 (MSB) Pin 1, 2 3, 4 5, 6 7, 8 Value 1 open open open open Value 0 1-2 short 3-4 short 5-6 short 7-8 short II.2.3 PMB5010 System Communication Connections Under the WiRobot system architecture, all the controllers are connected in a chain. There is one and only one host serving as the central controller.
Connector Type BLUETOOTHT Upper Reach SCIT Lower Reach Description SCI port with handshaking and control signals for both wired and wireless modules Two-wire serial communication interface II.2.4 Peripheral Modules Supported by PMB5010 Table II.4 lists the WiRobot peripheral modules that can be directly connected to the PMB5010 board and supported by the firmware embedded in PMB5010. Refer to the relevant chapter of these peripheral modules for the detailed technical information. Table II.
Table II.7 Lower Reach Communication Port SCIT Pin Name 1 2 3 4 VCC RXD TXD GND Signal Description +3.3 V Data receiving Data transmitting Power supply ground Table II.8 Audio Codec and Amplifier Module Connector CODEC0 Pin 1 2 3 4, 6 5 7 8 9 10 11 12 Signal ADIN VCC5 AFS GND ADOUT ASCK AMCK RESET APDN AFC AVC3 Description Data input + 5.0V Frame sync Power supply ground Data output Shift clock NC Reset output Power down output Request output for secondary communication + 3.3V Table II.
16 D7 Image data bit 7 II.3 Procedure to upgrade the PMB5010 firmware 1. 2. 3. 4. 5. Download and save the latest PMB5010 firmware from www.DrRobot.com Turn off PMB5010 and keep it off until step 9 Use a null modem cable to connect the PC to PMB5010. All peripheral modules (e.g. LCD and etc.) can still be plugged to the PMB5010 without affecting the upgrade process Close all WiRobot software on PC (e.g.
7. The lower left corner of the hyper-terminal will show the connection status. If the hyperterminal is still not connected, click the connect icon on the hyper-terminal to establish the connection (don’t turn on the PMB5010 yet!). 8. Choose “Transfer -> Send Text File” from the toolbar and set “files of type” to ALL. Locate the PMB5010 firmware HEX file only by HIGHLIGHTING the file (e.g. robot.hex). Please make sure that you DON’T double click the file or click the “Open” button Figure II.
Figure II.7 Status after Turning on the PMB5010 11. 12. 13. Within 5 seconds (start counting when you turn on the PMB5010), you should click the “Open” button on the Hyper-terminal popup window. Firmware download will then start. If you fail to start the download within this period of time, the original firmware on PMB5010 will automatically start. You have to turn off the PMB5010, and repeat the download procedure again from Step 2 When the download is started, you will see the following text.
III. MDM5253 DC Motor Driver Module with Position and Current Feedback III.1 Introduction The MDM5253 DC Motor Driver Module with Position and Current Feedback is a three-channel Hbridge switching power amplifier board. It can be directly controlled by motion controller’s logic level PWM driving signals at a frequency up to 20 KHz. For each of the three independent channels, the MDM5253 also provides the current feedbacks and connectors for position sensors such as potentiometers.
Figure III.1 H-Bridge Switching Device In the design of the MDM5253, only one PWM control signal is required to control both the direction and the magnitude of the output for each channel. The H-bridge’s diametrical opposite pairs (control input 1 and 4, control input 2 and 3) are connected and driven HIGH and LOW together, and the two pairs are controlled with strictly inverted signals. Figure III.2 shows the relationship between the PWM duty cycle and system output.
By working with the PMS5005, users can simply call a function offered by the WiRobot SDK software on PC (requires Microsoft platform) or send a data packet (platform independent) to control the DC motors or to obtain the sensor feedback. Please refer to Chapter III. WiRobot SDK API (Page 26) and Chapter IV.I PMS5005 (Page 67) for the available motor control algorithms and schemes. III.2.
3 GND3 Signal ground Table III.3 Control Signal Connector MOTOROUT Pin Name 1 2 3 4 CTL1 CTL2 CTL3 ENA 5, 6 7, 8 9, 10, 11, 12 13, 14, 15, 16 GND5 VCC5 GNDM VCCM Function Channel #1 PWM control signal Channel #2 PWM control signal Channel #3 PWM control signal Output enable for all channels: High: enable; Low: disable Power supply ground for VCC5 + 5.0 V Power supply ground for VCCM Positive load power source Table III.
PWM Input Current Output-on Resistance DC Load Current Over-current Protection Over-temperature Protection PWM Frequency Output ON Delay Output OFF Delay Output Rise Time Output Fall Time Disable Delay Time Protection Turn-off Time Power-off Delay Time Position Sensor Input Range Current Feedback Sensitivity Current Feedback Accuracy Board Size Copyright © Dr Robot Inc. 2006 ICTL ROUT μA ±1 T = 25 ˚C 120 T = 150 ˚C 300 5.0 T < 150 ˚C 7.
IV. WFS802b WiFI 802.11 Serial Module with antenna IV.1 Introduction The WFS802b WiFi (802.11b) serial module is the most compact, integrated solution available to add 802.11b wireless networking to your robots with a serial interface. To enable access to a local network or the internet, the WFS802b integrates a fully developed TCP/IP network stack and OS. The WFS802b also includes an embedded web server that can be used to remotely configure, monitor, or troubleshoot the attached device.
Figure IV.1 WFS802bStructure IV.3.2 Connector Description The WFS802b is connected to WiRobot system via an 8-pin 2.54 mm-pitch single row connector1 (COM1): Table IV.1 Connector1 (COM1) Pin 1 2 3 4 5 6 7 8 Name VCC RXD TXD RTS CRTS GND NC NC Function +3.3 V Data receiving Data transmitting Request to send Clear to send Power supply ground Reserved Reserved Table IV.2 Connector2 (COM2) Pin 1 2 3 4 5 6 7 8 Copyright © Dr Robot Inc.
IV.4 Specifications Table IV.
IV.5 Configuration via Serial Mode or Telnet Port Configure the unit so that it can communicate on a network with your serial device. The WFS802b unit is configurable using a terminal program to access the serial port locally. Using this terminal program to respond to prompts is referred to as the Setup Mode. A Telnet connection may also be used to configure the unit over the network. The unit’s configuration is stored in nonvolatile memory and is retained without power.
address and 9999 is the unit’s fixed network configuration port number): Windows: telnet x.x.x.x 9999 UNIX: telnet x.x.x.x:9999 3. Click OK. The following information displays: Figure IV.1 MAC Address MAC address 00204AFFFF30 Software version 05.3(040129)WPT Press Enter to go into Setup Mode 4. To enter the Setup Mode, press Enter within 5 seconds. Note: Connection fails if Enter is not pressed within 5 seconds. The configuration settings display, followed by the setup menu options: Figure IV.
(xxx). Note: The easiest way to enter Setup Mode is to hold down the x key at the terminal (or emulation) while resetting the unit. This must be done within three seconds of resetting the WFS802b. 3. Upon connection, the following information displays: Figure IV.3 MAC Address MAC address 00204AFFFF30 Software version 05.3 (040129) WPT Press Enter to go into Setup Mode 4. To enter the Setup Mode, press Enter within 5 seconds Note: Connection fails if Enter is not pressed within 5 seconds.
Server configuration menu. Set the IP Address If DHCP is not used to assign IP addresses, enter it manually. The IP address must be set to a unique value in the network. Enter each octet and press Enter between each section inputted. The current value is displayed in parentheses. IP Address : ( 0) ( 0) ( 0) ( 0) Set the Gateway IP Address The gateway address, or router, allows communication to other LAN segments.
connection. DHCP Name There are three methods for assigning DHCP names to the unit. . Default DHCP Name: If the DHCP name is not changed and the IP is 0.0.0.0, then the DHCP name defaults to CXXXXXX (XXXXXX is the last 6 digits of the MAC address shown on the label on the bottom/side of the unit). For example, if the MAC address is 00-204A-12-34-56, then the default DHCP name is C123456. . Custom DHCP Name: Create your own DHCP name. If using an IP address of 0.0.0.
The following table displays available I/F Mode options: Table IV.5 Interface Mode Options I/F Mode Option RS-232C (1) 7 6 5 4 3 2 7 Bit 1 0 8 Bit 1 1 No Parity 0 0 Even Parity 1 1 Odd Parity 0 1 1 stop bit 0 1 2 stop bits(1) 1 1 1 0 0 0 *(1) 2 stop bits are implemented by the software. This might influence performance. Note: If attempting to select an I/F Mode bit pertaining to RS-422/485, a “WARNING: RS-422/485 I/F Modes not supported” message displays.
unit with this port number are received to this channel. The port number selected is the Incoming TCP/UDP port and Outgoing TCP/UDP source port. Port No (10001) ? The current value is displayed in parentheses. The default setting for Port 1 is 10001. The range is 1-65535, except for the following reserved port numbers: Table IV.
With modem_control_in Active 0 0 1 0 With a specific start character 0 0 1 1 Manual connection 0 1 0 0 Autostart 0 1 0 1 1 1 0 0 Hostlist 0 0 1 0 d) Datagram Type Directed UDP e) Modem Mode Full Verbose 1 0 1 1 0 Without Echo 0 0 1 1 0 Numeric modem result codes 1 0 1 1 1 a) Incoming Connection Never Accept Incoming Rejects all external connection attempts Accept with modem_control_in Active Accepts external connection requests only when the modem_control_
can include a destination port number. The IP address must be in standard dot-decimal notation and may be a partial address, representing the least significant 1, 2, or 3 bytes of the remote IP address. The period is required between each pair of IP address numbers. If present, the port number must follow the IP address, must be presented as a decimal number in the range 1-65535, and must be preceded by a forward slash (ASCII 0x2F). The slash separates the IP address and the port number.
Hostlist : No Entry ! Change Hostlist ? (N) Y 01. IP address : (000) 172.(000) 19.(000) 0.(000) 1 Port : (0) ?23 02. IP address : (000) 172.(000) 19.(000) 0.(000) 2 Port : (0) ?3001 03. IP address : (000) 172.(000) 19.(000) 0.(000) 3 Port : (0) ?10001 04. IP address : (000) .(000) .(000) .(000) Hostlist : 01. IP : 172.019.000.001 Port : 00023 02. IP : 172.019.000.002 Port : 03001 03. IP : 172.019.000.
Normally, there is a modem connected to a local PC and a modem connected to a remote machine. A user must dial from the local PC to the remote machine, accumulating phone charges for each connection. Modem Mode allows you to replace modems with WFS802bs, and to use an Ethernet connection instead of a phone call. By not having to change communications applications, you avoid potentially expensive phone calls.
When an active connection is in effect, the unit transfers data and does not process commands received from the serial interface. When a connection is terminated or lost, the unit reverts to command mode. When an active connection is in effect, the unit terminates the connection if it receives the following sequence from the attached serial device: . No serial data is received for one second. . The character sequence +++ is received, with no more than one second between each two characters. .
does not recognize compound commands such as ATE0V. Remote IP Address This is the destination IP address used with an outgoing connection. The current value is displayed in parentheses. Remote IP Address : ( 0) ( 0) ( 0) ( 0) Note: This option is not displayed when Hostlist is enabled from the ConnectMode prompt Remote Port Set the remote TCP port number for the unit to make outgoing connections. This parameter defines the port number on the target host to which a connection is attempted.
instead of blinking. (5) When Ctrl D or Hex 04 is detected, the connection is dropped. Both Telnet mode and Disconnect with EOT must be enabled for Disconnect with EOT to function properly. Ctrl D is only detected going from the serial port to the network. (6) When modem_control_in transitions from a high state to a low state, the network connection to or from the serial port drops.
Interval: 5sec Trailing Characters None One Two Send Characters 2-Byte Send Character Sequence Send Immediately After Send chars 1 0 0 1 1 0 1 0 1 1 Packing Interval: Packing Interval defines how long the unit should wait before sending accumulated characters. This wait period is between successive network segments containing data. For alternate packing, the default interval is 12 ms.
This parameter displays only if the terminal type option is enabled in Disconnect Mode. If this option is enabled, use the terminal name for the Telnet terminal type. Enter only one name. If the terminal type option is enabled, the unit also reacts to the EOR (end of record) and binary options, which can be used for applications such as terminal emulation to UNIX hosts. Channel (Port) Password This parameter appears only if the channel (port) password option is enabled in Disconnect Mode.
Security As an additional security measure, enable WEP on the WFS802b. The current value is displayed in parentheses. By default, WEP is disabled on WFS802b. Security 0=none, 1=WEP (0) ? Data Rate WFS802b permits the control of the transmission rate. The default is a data rate up to 11Mbps. The current value is displayed in parentheses. Data rate, Only : 0=1, 1=2, 2=5.5, 3=11 Mbps or Up to: 4=2, 5=5.
Disable SNMP Reserved SNMP Community Name Reserved Disable Telnet Setup Note: If this option is disabled, note that disabling both Telnet Setup and Port 77FE prevents users from accessing the setup menu from the network. This setting defaults to the N (No) option. The Y (Yes) option disables access to Setup Mode by Telnet (port 9999). It only allows access locally via the web pages and the serial port of the unit.
protecting Telnet access. Disable Port 77F0 (Hex) Port 77F0 is a setting that allows a custom application to query or set the eleven WFS802b configurable pins when they are functioning as general purpose I/O (GPIO). Disable this capability, if desired, for security purposes. Disable Port 77F0h ? The default setting, the N (No) option, enables GPIO control. The Y (Yes) option disables the GPIO control interface. IV.5.
Name Country Channel Security Data Rate LTRX_IBSS (0) United States 11 (0) None 11Mbps Expert Settings TCP keepalive ARP cache timeout 45 (seconds) 600 (seconds) Security Settings Disable SNMP SNMP Community Name Disable Telnet Setup Disable TFTP Firmware Update Disable Port 77FEh Disable Web Server Disable ECHO ports Enable Enhanced password Disable Port 77F0h (N) No public (N) No (N) No (N) No (N) No (Y) Yes (N) No (N) No Email Settings Trigger Priority Min.
IV.6 Configuration using Web-Manager This chapter describes how to configure the WFS802b using Web-Manager, DrRobot’s browser-based configuration tool. The unit’s configuration is stored in nonvolatile memory and is retained without power. The unit performs a reset after the configuration is changed and stored. This chapter includes the following topics: . Accessing WFS802b using Web-Manager . Network Configuration . Server Configuration . Host List Configuration . Channel 1 and Channel 2 Configuration .
IV.6.2 Network Configuration The unit’s network values display upon selecting Network from the main menu. The following sections describe the configurable parameters within the Network configuration menu. Note: The IP address is assigned via DHCP (on DHCP-enabled networks). Assign a static IP address only if necessary. Figure IV.2 Network Settings Automatic IP Address Configuration To automatically assign an IP address and its network configuration: 1. Click Network from the main menu. 2.
1. Click Network from the main menu. 2. Select Use the following IP configuration. 3. Enter the following (as necessary): IP Address Subnet Mask Default Gateway If DHCP is not used to assign IP addresses, enter it manually. The IP address must be set to a unique value in the network. A subnet mask defines the number of bits taken from the IP address that are assigned for the host part. The gateway address, or router, allows communication to other LAN segments.
an inactive connection before checking its status. If the unit does not receive a response, it drops that connection. Enter a value between 0 and 60 seconds. 0 disables keepalive. IV.6.4 Host List Configuration The WFS802b scrolls through the host list until it connects to a device listed in the host list table. After a successful connection, the unit stops trying to connect to any others. If this connection fails, the unit continues to scroll through the table until the next successful connection.
IV.6.5 Channel 1 and Channel 2 Configuration Channel 1 and Channel 2 configurations define how the serial ports respond to network and serial communication. Serial Settings To configure a channel’s serial settings: 1. From the main menu, click Serial Settings for either Channel 1 or Channel 2 to display the Serial Settings page for the selected channel. Figure IV.5 Channel Serial Settings 2.
a speed or baud rate to use for the serial connection. Valid baud rates are 300, 600, 1200, 2400, 4800, 9600 (default), 19200, 38400, 57600, 115200, 230400, 460800, or 921600. Data Bits Indicates the number of bits in a transmitted data package. Parity Checks for the parity bit. The default is None. Stop Bits The stop bit follows the data and parity bits in serial communication. It indicates the end of transmission. Port Settings Enable Packing Select the checkbox to enable packing on the WFS802b.
the Connection Settings page for the selected channel. 2. In the available fields, enter the following information: Connect Protocol Protocol Select TCP from the pull down menu. Figure IV.6 TCP Connection Settings 3. In the available fields, enter the following information: Connect Mode: Passive Connection Accept Incoming Select Yes to accept incoming connections. Password Required Determines whether a password is required for an incoming passive connection.
not already established. Start Character If Active Connect is set to With Start Character, enter the start character in this field. Modem Mode Indicates the on-screen response type when in Modem Mode (if enabled). Endpoint Configuration Local Port Enter the local port number. Auto increment local port number Select to auto-increment the local port number for new outgoing connections.
Connection Settings - UDP To configure a channel’s UDP settings: 1. From the main menu, click Connection for either Channel 1 or Channel 2 to display the Connection Settings page for the selected channel. 2. In the available fields, enter the following information: Connect Protocol Protocol Select UDP from the pull down menu. Figure IV.7 UDP Connection Settings Datagram Mode Datagram Type Configures remote IP or network broadcast address and the remote port. Enter 01 for directed or broadcast UDP.
IV.6.6 WLAN Configuration Without adequate protection, a wireless LAN is susceptible to access by unauthorized users. As such, WFS802b includes the Wired Equivalent Privacy (WEP) encryption standard as an additional means of security. To configure the WFS802b’s WLAN settings: 1. Select WLAN from the main menu to open the WLAN Settings window. Figure IV.8 WLAN Settings 2. Enter or modify the following fields: Network Interface Use the pull down menu to select a WLAN interface or an Ethernet interface.
Channel network. The default value is 11. Ad Hoc Country From the pull down menu, select a country for the Ad Hoc network. The default is United States. Wireless Network Security Security As an additional security measure, enable WEP on the WFS802b. By default, WEP is disabled on WFS802b. Authentication Select an authentication scheme (None or Shared) from the drop down menu. Encryption Select the encryption type from the pull down menu. 128 bits is the default encryption.
2. Configure or modify the following fields for each pin: Function From the pull down menu, select the purpose of the specified pin. Active Level Select the signal active level (Low or High). Direction Select whether the pin inputs or outputs. IV.6.8 Updating Settings Click the Apply Settings button from the main menu to save and apply the configuration changes. Copyright © Dr Robot Inc.
V. MCB3100 WiRobot Serial Bluetooth Wireless Module V.1 Introduction The MCB3100 Serial Bluetooth Wireless Module is a class II Bluetooth module with on-board communication stack. This device can be plugged into any UART or RS232 compatible serial port (requires MCR3210P RS232 Interface Module for signal change) on almost any devices without needing to install drivers.
Stop bits: Flow control: 1, hardware. 5. Plug USB cable again to reset Bluetooth module, you can get a message from HyperTerminal, AT-ZV -CommandMode-, AT-ZV BDAddress xxxxxxxxxxxx. 6. At another PC, you need launch same configuration of HyperTerminal. Get same result, but BDaddress should be different, it just like 00043e01xxxx. 7. At one PC, type command AT+ZV SPPConnect xxxxxxxxxxxx. Here xxxxxxxxxxxx is another Bluetooth module'BDAddress.
V.4 Specifications Table V.2 MCB3100 Specification Parameter Power Supply Voltage (VCC) Signal Pin Voltage RF Frequency Antenna Load Low-level Input Voltage High-level Input Voltage Low-level Output Voltage High-level Output Voltage Low-level Output Current High-level Output Current Board Size Copyright © Dr Robot Inc. 2006 Conditions MIN 3.0 TYP 3.3 3.3 2400 MAX 3.6 2483.5 50 VCC = 3.3V VCC = 3.3V VCC = 3.3V, IOL = 2mA VCC = 3.3V, IOH = 2mA VCC = 3.3V, VOL = 0.4V VCC = 3.3V, VOH = 2.4V 0.8 2.0 0.
VI. MAC5310 Audio Codec and Audio Power Amplifier Module VI.1 Introduction The MAC5310 Audio Codec and Audio Power Amplifier Module can be used as audio input/output interface in the WiRobot system by plugging into the PMB5010 Multimedia Controller board. The onboard codec provides high resolution signal conversion from digital-to-analog (D/A) and from analogto-digital (A/D) using over-sampling sigma-delta technology.
VI.3.2 Connector Description The definitions of the MAC5310 connector signals are listed in the following tables. Table VI.1 Speaker Connector SPEAKER Pin Name 1 2 SO1 SO2 Function Speaker output 1 Speaker output 2 Table VI.2 Microphone Connector MICROPHONE Pin Name 1 2 3 NC MIP MIM Function No connection Microphone input + Microphone input - Table VI.3 System Interface Connector CODEC Pin 1 2 3 4, 6 5 7 8 9 10 11 12 Name DOUT VCC5 FS GND DIN SCK MCK RESET PDN FC VCC3 Function Data output + 5.
Analog input voltage, peak-to-peak ADC or DAC conversion rate On-board oscillator Board Size RL = 8 Ohm VCC3 = 3.3 V 2 V 16 8.1920 30 x 40 kHz MHz mmxmm Note: THD + N = Total Harmonic Distortion + Noise Copyright © Dr Robot Inc.
VII. DUR5200 Ultrasonic Range Sensor Module VII.1 Introduction The DUR5200 Ultrasonic Range Sensor Module can detect the range information from 4 cm to 340 cm. It transmits an ultrasonic "ping" when instructed by your program and returns a signal when it receives an echo. The distance data is precisely presented by the time interval between the instant when the measurement is enabled and the instant when the echo signal is received.
When using the DUR5200 with the third party controller, the power supply and the input/output signals should be connected properly (please refer to Section VII.3 Connections). The basic operation is illustrated in Figure VII.1. Range measurement starts from the rising edge of TE. Then the controller set TE to low (logic 0) after t1 (250 μsec). The controller should measure the time interval td from the rising edge of TE to the first rising edge of RS, which is the returned sound wave.
4 GND Power supply ground VII.4 Specifications Table VII.2 DUR5200 Specification Parameter Power Supply Voltage (Vcc) Current Consumption Working Frequency Effective Range Directivity Board Size Copyright © Dr Robot Inc. 2006 Conditions MIN 4.9 Vcc = 5 V 25˚C TYP 5.0 45 40 4 MAX 5.
VIII. DTA5102 Two-Axis Tilt and Acceleration Sensor Module VIII.1 Introduction The DTA5102 Tilt and Acceleration Sensor Module is capable of measuring both the static acceleration (tilt or orientation) caused by the Earth’s gravity or the shock caused by an impact. The module uses a CMOS micro-machined accelerometer IC combined with on-board low-pass-filters and signal amplifiers. The measurement range of the DTA5102 module is ±1 g. VIII.1.1 . . . .
-Y -X +X +Y Figure VIII.2 Acceleration sensing directions To measure the tilt or orientation of an object, the DTA5102 should be mounted in such a way that the axes of sensitivity are parallel to the surface of the Earth.
VIII.2.2 Running as part of WiRobot System When using the DTA5102 with the WiRobot system, user can simply connect the module to the tilt sensor module connector on the PMS5005 controller board and the PMS5005 built-in sensor device driver will take care of the data acquisition. Users can simply call a function offered by the WiRobot SDK software on PC (requires Microsoft platform) or send a data request packet (platform independent) to obtain the data. VIII.2.
VIII.4 Specifications Table VIII.2 DTA5102 Specification Parameter Power Supply Voltage Current Consumption Acceleration Measuring Range Nonlinearity Bandwidth Response Board Size Copyright © Dr Robot Inc. 2006 Conditions VCC VCC = 5 V MIN 4.75 TYP 5.0 10 ±1 -2.0 MAX 5.25 15 + 2.
IX. DHM5150 Human Motion Sensor Module IX.1 Introduction The DHM5150 Human Motion Sensor Module incorporates a pyroelectric infrared sensor to detect infrared energy radiation from human body. The DHM5150 is able to detect human presence (like security alarm) in the range up to 500 cm. With the use of two modules, human moving direction can also be detected in the range up to 150 cm. Typical applications include a general-purpose security alarm and human presence and motion sensing in a robot system. IX.1.
When using the DHM5150 with the WiRobot system, user can simply connect the module to one of the human sensor module connectors on the PMS5005 controller board and the PMS5005 built-in sensor device driver will take care of the data acquisition. Users can simply call a function offered by the WiRobot SDK software on PC (requires Microsoft platform) or send a data request packet (platform independent) to obtain the data. IX.2.
IX.4 Specifications Table IX.2 DHM5150 Specification Parameter Power Supply Voltage Current Consumption Wavelength Human Motion Range Human Presence Range Directivity - Horizontal Directivity - Vertical Output Signal Voltage Board Size Conditions VCC VCC = 5 V MIN 2.2 TYP 3.3 5 MAX 5.0 10 14 150 500 100 60 VCC 30 x 48 Unit V mA μm cm cm ˚ ˚ V mm x mm IX.5 Fresnel Lens Copyright © Dr Robot Inc.
X. DAT5280 Ambient Temperature Sensor Module X.1 Introduction The DAT5280 Ambient Temperature Sensor Module uses high-precision CMOS temperature sensor to generate linear voltage signal according to the ambient air temperature. With a temperature coefficient of 25.5 mV/˚C and nonlinearity of ±0.5 %, the DAT5280 is superior in the functionality over conventional temperature sensors like thermometers. Typical applications include robotic system and high-precision thermal control. X.1.1 Features .
Figure X.2 Accuracy vs Temperature X.2.2 Running as part of WiRobot System When using the DAT5280 with WiRobot system, user can simply connect the module to the temperature sensor module connector on the PMS5005 controller board and the PMS5005 built-in sensor device driver will take care of the data acquisition. Users can simply call a function offered by the WiRobot SDK software on PC (requires Microsoft platform) or send a data request packet (platform independent) to obtain the data. X.2.
X.3.2 Connector Description The DAT5280 can be connected to the controller system via a 3-pin 2.54 mm-pitch single row connector. Table X.1 Temperature Sensor Connectors Pin Name 1 2 3 VCC TV GND Function Positive power source, 5 V DC Temperature voltage, analog signal output Power ground X.4 Specifications Table X.2 DAT5280 Specification Parameter Power Supply Voltage Current Consumption Nonlinearity Temperature Sensitivity Board Size Copyright © Dr Robot Inc.
Chapter V. Copyright © Dr Robot Inc.
Q: How to start the robot? A: Push the red button behind the robot’s head. Q: Why the robot does not start after I push the red button? A: Please check the power whether the battery has been Plugged-in. If the robot does not start after plugging-in the battery, please charge the battery and make sure it's voltage is higher than 7.5V. Q: Why I can’t connect the robot with my PC? A: Please follow the step below: 1 Connecting the Bluetooth cables .
25 Valleywood Dr. Unit#20, Markham, ON L3R 5L9 CANADA T: (905) 943-9572 F: (905) 943-9197 Email: info@drrobot.com www.DRROBOT.