Home

RoboClaw Series Brushed DC Motor Controllers User Manual

image

Contents

1. WO9 591040HUOUO Odil LAS aaow el B el l CD m em gt SE Y Board Edge 1 7 W X 1 9 L Hole Pattern 0 125D 1 44 W x 1 68 H RoboClaw Series User Manual 9 fi OPI ha RoboClaw Series e ROBOTIC Brushed DC Motor Controllers RoboClaw 2x15A and 2x30A Hardware Overview D C E O I sO 5 RoboClaw EH HE OrionRobotics com em O MID R10 CR SAL ZD we BNN D4 Soa sum WD Zz om N ZjejNjo ulololo g LI LI MODE SET LIPO E e PIO LU Heat Sink Power Stabilizers Main Battery Input Motor Channel 1 Motor Channel 2 BEC 3A Circuit Setup Buttons Logic Voltage Source Selection Header Encoder Inputs Controller Inputs USB Connector MiniB Optional Z a r Q m m 9 0 9 p RoboClaw Series User Manual tas O ION RoboClaw Series OTICS Brushed DC Motor Controllers e 2 9 2 6 RoboClaw OrionRobotics com O mw mg R10 men ST A N Olu omm D4 EM dd FT mnt MODE SET LIPO mm 1 8 Board Edge 2 W X 2 9 L Hole Pattern 0 125D 1 8 W x 2 6 H RoboClaw Series User Manual 11 tas O ha RoboClaw Series e Brushed DC Motor Controllers Geo i Lad eue DN daturi MAORONR Sie e RoboClaw 2x60A OrionRobotics com Heat Sink Power Stabili
2. r r nn rna 65 RoboClaw Series User Manual tas O ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers RoboClaw Revision History RoboClaw is an actively maintained product New firmware features will be available from time to time The table below outlines key revisions that could affect the version of RoboClaw you currently own Revision Date Description July 20th 2013 1 Added 10ms time out per byte when receiving commands 2 Added optional ack byte on write commands 3 Changed from DMA mode to standard mode for transmiting data via USB 3 1 5 May 10th 2013 1 Added high resolution current filtering 3 1 3 Jan 20th 2013 1 Added new read and write configuration commands RoboClaw Series User Manual tas O ION RoboClaw Series ROBOTICS IC Brushed DC Motor Controllers Precautions There are several important precautions that should be followed when dealing with RoboClaw or damage will result The following list should be observed when dealing with any motion control systems 1 Disconnecting the negative power terminal is not the proper way to shut down a motor controller If I O are connected it can easily result in a ground loop This can cause damaged to RoboClaw and or any attached devices To shut down a motor controller the positive power connections should be removed 2 A DC brushed motor will work like a generator when spun As an example a robot being pushed or turned off with fo
3. roboclaw TurnLeftMixed address 604 delay 2000 roboclaw ForwardBackwardMixed address 32 delay 2000 roboclaw ForwardBackwardMixed address 96 delay 2000 roboclaw LeftRightMixed address 32 Cmd delay 2000 roboclaw LeftRightMixed address 96 Cmd delay 2000 stop motors roboclaw ForwardMixed address 0 delay 10000 RoboClaw Series User Manual Cmd 6 Cmd 7 Cmd 6 fue T 9 MO Cmd 11 jOmel 12 Ciel 12 TS 13 13 41 tas O ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers ADVANCED PACKET SERIAL RoboClaw Series User Manual tas O ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers Version Status and Settings Commands The following commands are used to read board status version information and set configuration values Command Description Read Firmware Version Read Main Battery Voltage Read Logic Battery Voltage Set Minimum Logic Voltage Level Set Maximum Logic Voltage Level Read Motor Currents Read Motor 1 Velocity PID Constants Read Motor 2 Velocity PID Constants Set Main RUBRI Voltages a 7 J 59 Read Main Battery Voltage Settings 60 Read Logic Battery Voltage Settings s3 feed Motor 1 Position PID Constans Read Motor 2 Position PID Constants EET gt gt 7 JQ4 0000 9 Read Error Stats 94 ReadEncoder Moe 92 JSetMotoriEncoderMode 93 JSetMotoriEncoderMode 94 WrteSeti
4. uint8 t depthl depth2 do displayspeed roboclaw ReadBuffers address depth1 depth while depth1 roboclaw SpeedAccelDistanceM address 12000 12000 48000 do displayspeed roboclaw ReadBuffers address depth1 depth while depth1 RoboClaw Series User Manual tas O ha RoboClaw Series s Brushed DC Motor Controllers Characteristic Pulse Per Second Logic Battery Main Battery 2x5A 2x15A 2x30A 2x60A External Current Draw BEC Motor Current Per Channel asoan Jo 20 tocaron far ma jo yo input far we Jo b oe far we p Po analog Voltage Range JA vocc o 2 Tempature Range m e f6 1 ms RoboClaw Series User Manual 65 tas O ION RoboClaw Series ROBOTICS ic Brushed DC Motor Controllers Warranty Orion Robotics warranties its products against defects in material and workmanship for a period of 90 days If a defect is discovered Orion Robotics will at our discretion repair replace or refund the purchase price of the product in question Contact us at support orionrobotics com No returns will be accepted without the proper authorization Copyrights and Trademarks Copyright 2013 by Orion Robotics Inc All rights reserved RoboClaw and USB RoboClaw are registered trademarks of Basic Micro Inc Other trademarks mentioned are registered trademarks of their respective holders Disclai
5. 57 41 Buffered M1 Drive With Signed Speed And Distance 57 42 Buffered M2 Drive With Signed Speed And Distance 57 44 Buffered M1 Drive With Signed Speed Accel And Distance 58 45 Buffered M2 Drive With Signed Speed Accel And Distance 58 46 Drive M1 M2 With Signed Speed Accel And Distance 59 47 Read Buffer Length ss soje mu BOGA eee ree e Ier q c Pru ERR ERR e Fx EEN 59 50 Drive M1 M2 With Speed And Individual Acceleration 59 51 Drive M1 M2 Speed Individual Accel And Distance 60 52 Drive M1 With Signed Duty And Acceleration 60 53 Drive M2 With Signed Duty And Acceleration 60 54 Drive M1 M2 With Signed Duty And Acceleration 60 61 Set Motor 1 Position PID Constant ts nnne 61 62 Set Motor 2 Position PID Constant ts nennen 61 65 Drive M1 with signed Speed Accel Deccel and Position 61 66 Drive M2 with signed Speed Accel Deccel and Position 61 67 Drive M1 amp M2 with signed Speed Accel Deccel and Position 61 Reading Quadrature Encoder Arduino Example eene 62 Speed Controlled by Quadrature Encoders Arduino Example 63 RoboClaw Electrical Specifications
6. RoboClaw Series Brushed DC Motor Controllers RoboClaw 2x5A RoboClaw 2x15A RoboClaw 2x30A RoboClaw 2x60A User Manual Firmware 3 1 3 and Newer Hardware V4 and Newer User Manual Revision 4 c 2013 Orion Robotics All Rights Reserved tas ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers RoboClaw Revision Historia 5 KU en 6 Motor Selection ciere tie petat a be Rn YER TOR LE GERA x 101 alU patas POPE aoa 6 Stall Current ERE 6 Running Be ln AE 6 WIFEILEN GENS OT 6 RUM AWAY ii gd NEE quas RE cheeses ENEE dE X ARES Ki BREG e DER e ENEE usaq 7 POWEr SoUrceS aS 7 Optical ele e EE 7 RoboClaw 2x5A Hardware Overview ae een emen nnns 8 RoboClaw 2x5A Dimensions 1 ccc enne nnn nnn 9 RoboClaw 2x15A and 2x30A Hardware Overvlew esee nnn 10 RoboClaw 2x15A and 2x30A Dimensions mmn 11 RoboClaw 2x60A and HV 2x60A Dimensions een 13 Header OVERVIEW Lm 14 Logic Battery LB IN uuu sassa saka aa s kana ERR EE ER Eva i 14 BEC Source EB MB 4426 eite ZER AE cere ee 14 Encoder Power TF s coaster xke ERE E REX anaku DEDE VAI RED Aa kay FE KU Edu 14 Encoder Inputs ENT EN2 ii ikun ia idee ec deu de aleja v wr epa EEN A adr VEI DE 14 Control Inputs S1 S2 S3 iiiter eet Eo a XE E Ra S tebe dE RENE ANNE EN 14 Main Battery Screw Terminals emen menn 15 DISCONMECE ii a T E E EAEN E E EEEN 15 Motor Screw Terminals NENNEN 15 Status and Error LEDS ten deis denge eua take Pa RR RENE eek 16 Rob
7. Address 0x87 USB Mode Packet Serial Address 0x80 RoboClaw Series User Manual 18 tas ORION RoboClaw Series s ROBOTIC Brushed DC Motor Controllers Mode Options After the desired mode is set and saved press and release the SET button for options setup The STAT2 LED will begin to blink out the current option Press SET to increment to the next option Press MODE to decrement to the previous option Once the desired option is selected press and release the LIPO button to save the option to memory RC and Analog Mode Options Option Description RC Flip and Exponential Enabled RC Flip and MCU Enabled RC Flip and Exponential and MCU Enabled 2 3 i 4 5 RCripSwth O 6 i i 8 Simple and Packet Serial Mode Options Option Description a LI 2400ps 2 9600ps S 3 1920bps 00000 a 3840bps S Battery Cut Off Settings The battery settings can be set by pressing and releasing the LIPO button The STAT2 LED will begin to blink out the current setting Press SET to increment to the next setting Press MODE to decrement to the previous setting Once the desired setting is selected press and release the LIPO button to save this setting to memory Battery Options Option Description Normal 2 Cell 6v Cutoff 3 Cell 9v Cutoff 5 Cell 15v Cutoff 6 Cell 18v Cutoff 2 EM ES 5 4Ge tavCutoff 6 8 7CelQivCuoff RoboC
8. 13 Turn Left or Right 7 Bi eu irte eere rete ee AEN eb e bati ida 39 Packet Serial Wiring ioi eiii ient a sa BA bi qhaq KA Wi a be eer YR ena wi EXE da 40 Packet Serial Arduino Example a nennen nennen 41 Version Status and Settings Commande 43 21 Read Firmware Version ENNEN 43 24 Read Main Battery Voltage Level 43 25 Read Logic Battery Voltage Level 44 26 Set Minimum Logic Voltage Level unu HEE Goode uwa eee 44 27 Set Maximum Logic Voltage Level 44 49 Read Motor Current NENNEN 44 55 Read Motor 1 P I D and QPPS Settings aaraannrnnvnnennnernenrnernnrnsernnnn 44 56 Read Motor 2 P I D and QPPS Gettinge nnne 44 57 Set Main Battery VOIES umu su ay arn LER a eaa ini YE ER ER Roda 45 58 Set Logic Battery Voltages meme eene 45 59 Read Main Battery Voltage Settings u u aaa a ayasa suwa ww 45 60 Read Logic Battery Voltage Gettings sim u nn 45 63 Read Motor 1 Position P I D Constants 45 RoboClaw Series User Manual tas ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers 64 Read Motor 2 Position P I D Constants 45 82 Read Temperatures cis 1 cence data weeds eee NEEN dE qapa pali Qh RENE RE eed 45 90 Read Error Status u usu a cits dE ERR kana RR DER EE RR a Ep aaa dE e 46 91 Read Encoder Mode asua iere NEE de ree a Ra Y ea ERA SPORE AN 46 92 Set Motor 1
9. 4 bytes Deadzone 4 bytes MinPos 4 bytes MaxPos 4 bytes Position constants are used only with the Position commands 65 66 and 67 and RC or Analog mode when in absolute mode with encoders or potentiometers 65 Drive M1 with signed Speed Accel Deccel and Position Move M1 position from the current position to the specified new position and hold the new position Accel sets the acceleration value and deccel the decceleration value QSpeed sets the speed in quadrature pulses the motor will run at after acceleration and before decceleration The command syntax Send Address CMD Accel 4 bytes QSpeed 4 Bytes Deccel 4 bytes Position 4 Bytes Buffer 1 Byte Checksum 66 Drive M2 with signed Speed Accel Deccel and Position Move M2 position from the current position to the specified new position and hold the new position Accel sets the acceleration value and deccel the decceleration value QSpeed sets the speed in quadrature pulses the motor will run at after acceleration and before decceleration The command syntax Send Address CMD Accel 4 bytes QSpeed 4 Bytes Deccel 4 bytes Position 4 Bytes Buffer 1 Byte Checksum 67 Drive M1 amp M2 with signed Speed Accel Deccel and Position Move Mi amp M2 positions from their current positions to the specified new positions and hold the new positions Accel sets the acceleration value and deccel the decceleration value QSpeed sets the speed in quadrature pulses
10. 47 De Encoder Wiring RoboClaw Series Brushed DC Motor Controllers RoboClaw is capable of reading two quadrature encoders one for each motor channel The main RoboClaw header provides two 5VDC connections with dual A and B input signals In a robot with two motors configuration one motor will spin clock wise CW while the other motor will spin counter clock wise CCW The A and B inputs for one of the encoders must be reversed as shown If both encoder are connected with leading edge pulse to channel A one will count up and the other down This will cause commands like mix drive forward to not work as expected UART TX UART RX 5VDC GROUND MCU RoboClaw Series User Manual S1 Signal S2 Signal 5VDC GROUND MIR Positive Negative M2B RoboClaw Battery 48 tas O ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers Encoder Commands The following commands are used in dealing with the quadrature decoding counter registers The quadrature decoder is a simple counter that counts the incoming pulses tracks the direction and speed of each pulse There are two registers one each for M1 and M2 Note A microcontroller with a hardware UART is recommended for use with packet serial modes Command Description Read Quadrature Encoder Register for M1 Read Quadrature Encoder Register for M2 Read M2 Speed in Pulses Per Second Resets Quadrature Encoder Registers for M1 and M2 ES Read
11. Encoder Mode NENNEN 46 93 Set Motor 2 Encoder Mode NENNEN 46 94 Write Settings to EEPROM uuu eR Ra i NEEN E UR REN NE 46 sieut 48 Encoder Commands is vives vets yu eg een EE sva Ya VER ERA IU deo REN tapan 49 16 Read Quadrature Encoder Register MI 49 17 Read Quadrature Encoder Register M2 L 50 18 Read Speed M31 ere Rec Ex gH E AEN RN AR ER SEAN Fea ERA tive ANN EN 50 19 Read Speed M22 u ia jat Ba kanqaqa qa d EE eiat oae ORE ITA RET i SEEN dE dE eda 51 20 Reset Quadrature Encoder Counters 51 Advanced Motor Control 52 28 Set PID Constants M3 eee ece sie pneu dad E ovo vite e IER ea LER ka ERR LEY Ras 53 29 Set PID Constants M2 ii nkiteb e i ERI HER 53 30 Read Current Speed MI 355 ENNEN 54 31 Read Current Speed Mi 54 32 Drive M1 With Signed Duty Cycle ee nmm nnns 54 33 Drive M2 With Signed Duty Cycle tees mmm 54 34 Drive M1 M2 With Signed Duty Cycle eese mnn 55 35 Drive M1 With Signed Speed tee Ce REESE E ER iben a Ke ad ga 55 36 Drive M2 With Signed Gpeed nenne 55 37 Drive M1 M2 With Signed Speed 56 38 Drive M1 With Signed Speed And Acceleration 56 39 Drive M2 With Signed Speed And Acceleration 56 40 Drive M1 M2 With Signed Speed And Acceleration
12. RoboClaw features dual channel quadrature decoding When paring encoders to motors you must make ensure the polarity of the motors are correct If the encoder is backwards to the direction of the motor a run away state will occur Referring to the encoder section of this user manual for proper setup RoboClaw Series User Manual tas O ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers RoboClaw 2x5A Hardware Overview C28 O n 5 x N 6 8 C32 C23 E STATI C19 O EZ STAT2 ma 5 S HERR 4 U4 Eg LLO O H WOJ SJIJOgO Odi LAS aaow el el el o Power Stabilizer Main Battery Input Motor Channel 1 Motor Channel 2 Setup Buttons Control Inputs Encoder Inputs Logic Voltage Source Selection Header Status and Error LED Indicators IOmmooo RoboClaw Series User Manual tas O ION RoboClaw Series ROBOTICS IC Brushed DC Motor Controllers RoboClaw 2x5A Dimensions A O VZW SUN C RoboClaw 2x5A 19 1 68 CI STATI CI STAT2 ERR LLO
13. be counted as 4000 pulses The acceleration is measured in speed per second An acceleration value of 12 000 QPPS with a speed of 12 000 QPPS would accelerate a motor from O to 12 000 QPPS in 1 second Another example would be an acceleration value of 24 000 QPPS and a speed value of 12 000 QPPS would accelerate the motor to 12 000 QPPS in 0 5 seconds RoboClaw Series User Manual 59 tas O ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers 51 Drive M1 M2 Speed Individual Accel And Distance Drive M1 and M2 with a speed acceleration and distance value The sign indicates which direction the motor will run The acceleration and distance values are not signed This command is used to control both motors top speed total distanced traveled and at what incremental acceleration value to use until the top speed is reached Each motor channel M1 and M2 have separate buffers This command will execute immediately if no other command for that channel is executing otherwise the command will be buffered in the order it was sent Any buffered or executing command can be stopped when a new command is issued by setting the Buffer argument All values used are in quad pulses per second The command syntax Send Address CMD AccelM1 4 Bytes QSpeedM1 4 Bytes DistanceM1 4 Bytes Ac celM2 4 Bytes OSpeedM2 4 bytes DistanceM2 4 Bytes Buffer 1 Byte Checksum 4 Bytes long are used to express the pulses per second The Buffer argument ca
14. command will return 6 bytes Byte 1 2 3 and 4 make up a long variable which is received MSB first and is the current ticks per second which can be any value from 0 4 294 967 295 Byte 5 is the direction 0 forward 1 backward Byte 6 is the checksum RoboClaw Series User Manual 50 tas O ION RoboClaw Series ROBOTICS IC Brushed DC Motor Controllers 19 Read Speed M2 Read M2 counter speed Returned value is in pulses per second RoboClaw keeps track of how many pulses received per second for both decoder channels Since CMD 19 is a read command it does not reguire a checksum to be sent However a checksum value will be returned from RoboClaw and can be used to validate the data Command syntax Send Address CMD Receive Valuel Byte3 Valuel Byte2 Valuel Bytel Valuel Byte0 Value2 Checksum The command will return 6 bytes Byte 1 2 3 and 4 make up a long variable which is received MSB first and is the current ticks per second which can be any value from 0 4 294 967 295 Byte 5 is the direction 0 forward 1 backward Byte 6 is the checksum 20 Reset Ouadrature Encoder Counters Will reset both quadrature decoder counters to zero Send 128 20 128 20 amp OX7F RoboClaw Series User Manual 51 tas O ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers Advanced Motor Control The following commands are used to control motor speeds acceleration and distance using the quadrature encoders All
15. it does not reguire a checksum However a checksum value will be returned from RoboClaw and can be used to validate the data Command syntax Send Address CMD Receive Valuel Byte3 Valuel Byte2 Valuel Bytel Valuel Bvte0 Value2 Checksum The command will return 6 bytes Byte 1 2 3 and 4 make up a long variable which is received MSB first and represents the current count which can be any value from 0 4 294 967 295 Each pulse from the quadrature encoder will increment or decrement the counter depending on the direction of rotation Byte 5 is the status byte for M1 decoder It tracks counter underflow direction overflow and if the encoder is operational The byte value represents BitO Counter Underflow 12 Underflow Occurred Clear After Reading Bit1 Direction 0 Forward 1 Backwards Bit2 Counter Overflow 1 Underflow Occurred Clear After Reading Bit3 Reserved Bit4 Reserved Bit5 Reserved Bit6 Reserved Bit7 Reserved Byte 6 is the checksum 18 Read Speed M1 Read M1 counter speed Returned value is in pulses per second RoboClaw keeps track of how many pulses received per second for both decoder channels Since CMD 18 is a read command it does not require a checksum to be sent However a checksum value will be returned from RoboClaw and can be used to validate the data Command syntax Send Address CMD Receive Valuel Byte3 Valuel Byte2 Valuel Bytel Valuel Bvte0 Value2 Checksum The
16. speeds are given in quad pulses per second QPPS unless otherwise stated Quadrature encoders of different types and manufactures can be used However many have different resolutions and maximum speeds at which they operate So each quadrature encoder will produce a different range of pulses per second Command Description 28 Set PID Constants formt NT 2 Set PID Constants forM2 30 Read Current Mi Speed Resolution 125th of a Second 31 Read Current M2 Speed Resolution 125th of a Second 12 Drive mi with Signed Duty Cycle Encoders not required 13 brive M2 With Signed Duty Cycle Encoders not required 3a Mix Mode Drive Mt M2 With Signed Duty Cycle Encoders not required 35 Drive Mi With Signed Speed 36 Drive M2 With Signed Speed O 38 Drive Mi With Signed Speed And Acceleration 39 Drive M2 With Signed Speed And Acceleration ao Mix Mode Drive M1 M2 With Speed And Acceleration a1 Drive mi With Signed Speed And Distance Buffered UU a2 Drive M2 With Signed Speed And Distance Buffered UU a3 Mix Mode Drive Mi M2 With Speed And Distance Buffered 44 Drive mi With Signed Speed Acceleration and Distance Buffered As brive M2 With Signed Speed Acceleration and Distance Buffered _ A6 Mix Mode Drive Mt M2 With Speed Ac
17. stop and 127 full reverse Example with RoboClaw address set to 128 Send 128 9 127 128 9 127 amp Ox7F 10 Turn right Turn right in mix mode Valid data range is 0 127 A value of 0 stop turn and 127 full speed turn Example with RoboClaw address set to 128 Send 128 10 127 128 10 127 amp 0x7F1 11 Turn left Turn left in mix mode Valid data range is 0 127 A value of O stop turn and 127 full speed turn Example with RoboClaw address set to 128 Send 128 11 127 128 11 127 amp Ox7F 12 Drive Forward or Backward 7 Bit Drive forward or backwards Valid data range is 0 127 A value of 0 full backward 64 stop and 127 full forward Example with RoboClaw address set to 128 Send 128 12 96 128 12 96 amp Ox7F 13 Turn Left or Right 7 Bit Turn left or right Valid data range is O 127 A value of 0 full left O stop turn and 127 full right Example with RoboClaw address set to 128 Send 128 13 0 128 13 0 amp Ox7F RoboClaw Series User Manual 39 tas O ION RoboClaw Series ROBOTICS ic Brushed DC Motor Controllers Packet Serial Wiring In packet mode the RoboClaw can transmit and receive serial data A microcontroller with a UART is recommended The UART will buffer the data received from RoboClaw When a request for data is made to RoboClaw the return data will always have at least a 1ms delay after the command is received This will allow slower processors and proce
18. value is used This prevents an accidental write 29 Set PID Constants M2 Several motor and quadrature combinations can be used with RoboClaw In some cases the default PID values will need to be tuned for the systems being driven This gives greater flexibility in what motor and encoder combinations can be used The RoboClaw PID system consist of four constants starting with QPPS P Proportional I Integral and D Derivative The defaults values are QPPS 44000 P 0x00010000 I 0x00008000 0x00004000 QPPS is the speed of the encoder when the motor is at 100 power P I D are the default values used after a reset Command syntax Send Address 29 D 4 bytes P 4 bytes I 4 bytes QPPS 4 byte Checksum Each value is made up of 4 bytes for a long To write the registers a checksum value is used This prevents an accidental write RoboClaw Series User Manual 53 tas O li ra RoboClaw Series ROBOTICS Brushed DC Motor Controllers 30 Read Current Speed M1 Read the current pulse per 125th of a second This is a high resolution version of command 18 and 19 Command 30 can be used to make a independent PID routine The resolution of the command is required to create a PID routine using any microcontroller or PC used to drive RoboClaw The command syntax Send Address CMD Receive Valuel Byte3 Valuel Byte2 Valuel Bytel Valuel Bvte0 Value2 Checksum The command will return 5 bytes MSB sent first for a long The
19. 8000 define Kd 0x00004000 define qops 44000 BMSerial terminal 0 1 RoboClaw roboclaw 5 6 void setup terminal begin 38400 roboclaw begin 38400 roboclaw SetM1Constants address Kd Kp Ki qpps roboclaw SetM2Constants address Kd Kp Ki qpps void displayspeed void uint8 t status bool valid uint32 t encl roboclaw ReadEncMl address amp status amp valid if valid terminal print i terminal print encl DEC Imc 2 terminal print U terminal print status HEX terminal print U uint32 t enc2 roboclaw ReadEncM2 address amp status amp valid if valid terminal print Encoder2 terminal print enc2 DEC terminal print terminal print status HEX terminal print U RoboClaw Series User Manual 63 tas ION RoboClaw Series ROBO s Brushed DC Motor Controllers uint32 t speedl roboclaw ReadSpeedMl address amp status amp valid if valid terminal print Speedl terminal print speed1 DEC terminal print U uint32 t speed roboclaw ReadSpeedM2 address amp status amp valid if valid terminal print Speed2 terminal print speed2 DEC terminal print terminal println void loop roboclaw SpeedAccelDistanceM1 address 12000 12000 48000
20. Claw Series User Manual 35 tas O ION RoboClaw Series ROBOTICS ic Brushed DC Motor Controllers Packet Serial Mode Packet serial is a buffered bidirectional serial mode More sophisticated instructions can be sent to RoboClaw The basic command structures consists of an address byte command byte data bytes and a checksum The amount of data each command will send or receive can vary Address Packet serial requires a unique address With up to 8 addresses available you can have up to 8 RoboClaws bussed on the same RS232 port There are 8 packet modes 7 to 14 Each mode has a unique address The address is selected by setting the desired packet mode using the MODE button Packet Modes Mode Description Packet Serial Mode Address 0x80 128 8 Packet Serial Mode Address 0x81 129 9 9 Packet Serial Mode Address 0x82 130 10 Packet Serial Mode Address 0x83 G31 11 Packet Serial Mode Address 0x84 132 12 Packet Serial Mode Address 0x85 133 13 Packet Serial Mode Address 0x86 134 1a Packet Serial Mode Address 0x87 135 Packet Serial Baud Rate When in serial mode or packet serial mode the baud rate can be changed to one of four different settings in the table below These are set using the SET button as covered in Mode Options Serial Mode Options Option Description FO T a 9600S 3 E a 380 TT Checksum Calculation A
21. ICS IC Brushed DC Motor Controllers RC Mode RC mode is typically used when controlling RoboClaw from a hobby RC radio This mode can also be used to simplify driving RoboClaw from a microcontroller using servo pulses In this mode S1 controls the direction and speed of motor 1 and S2 controls the speed and direction of motor 2 This drive method is similar to how a tank is controlled Using RC Mode with feedback for velocity position control RC Mode can be used with encoders Packet Serial commands must be used to enable this option Velocity and or Position PID constants must be calibrated for proper operation using Packet Serial commands Once calibrated values have been set and saved into Roboclaws eeprom encoder support using velocity or position PID control can be enabled using commands 92 for motor 1 or 93 for motor 2 See the Packet Serial section for more details RC Mode With Mixing This mode is the same as RC mode with the exception of how S1 and S2 control the attached motors S1 controls speed and direction of both motors 1 and 2 S2 controls steering by slowing one of the motors This drive method is similar to how a car would be controlled RC Mode Options Option Function Description aio TTL Flip Switch Flip switch triggered by low signal TTL Flip and Exponential Softens the center control position This Enabled mode is ideal with tank style robots Mak ing it easier to control from an RC radio Flip switch triggered by
22. M1 Speed in Pulses Per Second 16 Read Quadrature Encoder Register M1 Read decoder M1 counter Since CMD 16 is a read command it does not require a checksum However a checksum value will be returned from RoboClaw and can be used to validate the data Command syntax Send Address CMD Receive Valuel Byte3 Valuel Byte2 Valuel Bytel Valuel Byte0 Value2 Checksum The command will return 6 bytes Byte 1 2 3 and 4 make up a long variable which is received MSB first and represents the current count which can be any value from 0 4 294 967 295 Each pulse from the quadrature encoder will increment or decrement the counter depending on the direction of rotation Byte 5 is the status byte for M1 decoder It tracks counter underflow direction overflow and if the encoder is operational The byte value represents Bito Counter Underflow 1 Underflow Occurred Clear After Reading Bit1 Direction 0 Forward 1 Backwards Bit2 Counter Overflow 1 Underflow Occurred Clear After Reading Bit3 Reserved Bit4 Reserved Bit5 Reserved Bit6 Reserved Bit7 Reserved Byte 6 is the checksum It is calculated the same way as sending a command Sum all the values sent and received except the checksum and mask the 8th bit RoboClaw Series User Manual 49 tas O ION RoboClaw Series ROBOTICS IC Brushed DC Motor Controllers 17 Read Ouadrature Encoder Register M2 Read decoder M2 counter Since CMD 16 is a read command
23. Receive P 4 bytes I 4 bytes D 4 bytes MaxI 4 byte Deadzone 4 byte MinPos 4 byte MaxPos 4 byte Checksum 82 Read Temperature Read the board temperature Value returned is in 0 1 degree increments Command syntax Send Address 82 Receive Temperature 2 bytes Checksum RoboClaw Series User Manual 45 tas O ION RoboClaw Series ROBOTICS IC Brushed DC Motor Controllers 90 Read Error Status Read the current error status Command syntax Send Address 90 Receive Error Checksum Error Mask Normal 0x00 M1 OverCurrent 0x01 M2 OverCurrent 0x02 E Stop 0x04 Temperature 0x08 Main Battery High 0x10 Main Battery Low 0x20 Logic Battery High 0x40 Logic Battery Low 0x80 91 Read Encoder Mode Read the encoder mode for both motors Command syntax Send Address 91 Receive Model Mode2 Checksum 92 Set Motor 1 Encoder Mode Set the Encoder Mode for motor 1 Command syntax Send Address 92 Mode Checksum 93 Set Motor 2 Encoder Mode Set the Encoder Mode for motor 1 Command syntax Send Address 93 Mode Checksum Encoder Mode bits Bit 7 Enable RC Analog Encoder support Bit 6 1 N A Bit 0 Quadrature 0 Absolute 1 94 Write Settings to EEPROM Writes all settings to non volatile memory Command syntax Send Address 94 Receive Checksum RoboClaw Series User Manual RoboClaw Series User Manual RoboClaw Series Brushed DC Motor Controllers ENCODERS
24. SB mode Power up a USB RoboClaw while it is attached to an active USB cable or set it to mode 15 If a PC is used to drive RoboClaw mode 15 should be set RoboClaw Series User Manual 17 tas O ION RoboClaw Series ROBOTICS IC Brushed DC Motor Controllers Configuring RoboClaw Modes The 3 buttons on RoboClaw are used to set the different configuration options The MODE button sets the interface method such as Serial or RC modes The SET button is used to configure the options for the mode The LIPO button doubles as a save button and configuring the low battery voltage cut out function of RoboClaw To set the desired mode follow the steps below 1 Press and release the MODE button to enter mode setup The STAT2 LED will begin to blink out the current mode Each blink is a half second with a long pause at the end of the count Five blinks with a long pause eguals mode 5 and so on 2 Press SET to increment to the next mode Press MODE to decrement to the previous mode 3 Press and release the LIPO button to save this mode to memory MODE SET LIPO Modes Mode Description RC mode RC mode with mixing Analog mode Analog mode with mixing Simple Serial Simple Serial with slave pin Packet Serial Mode Address 0x80 Packet Serial Mode Address 0x81 Packet Serial Mode Address 0x82 Packet Serial Mode Address 0x83 Packet Serial Mode Address 0x84 Packet Serial Mode Address 0x85 Packet Serial Mode Address 0x86 Packet Serial Mode
25. The configuration below uses a separate logic battery so remove the MB LB jumper Before powering up center the control sticks on the radio transmitter turn the radio on first then the receiver then RoboClaw It will take RoboClaw about 1 second to calibrate the neutral position Channel 1 S1 Signal Channel 2 S2 Signal 5VDC 5VDC GROUND GROUND Receiver MIR Positive Negative M2B Battery RoboClaw RoboClaw Series User Manual tas O ha RoboClaw Series OTICS ROB Brushed DC Motor Controllers RC Control Arduino Example The example will drive a 2 motor 4 wheel robot in reverse stop forward left turn and then right turn The program was written and tested with a Arduino Uno and P5 connected to S1 P6 connected to S2 Set mode 2 with option 4 Basic Micro RoboClaw RC Mode Control RoboClaw with servo pulses from a microcontroller Mode settings Mode 2 with Option 4 include lt Servo h gt Servo myservol create servo object to control a RoboClaw channel Servo myservo2 create servo object to control a RoboClaw channel ine pos e variable to store the servo position void setup myservol attach 5 Wife enr vo karcenie void loop delay 2000 delay 1000 delay 2000 delay 1000 delay 2000 delay 1000 delay 2000 delay 1000 RoboClaw Series User Manual attaches the RC signal on pin 5 to the servo obj
26. ad Buffer Length Read both motor M1 and M2 buffer lengths This command can be used to determine how many commands are waiting to execute Send Address CMD Receive BufferM1 1 Bytes BufferM2 1 Bytes Checksum The return values represent how many commands per buffer are waiting to be executed The maximum buffer size per motor is 31 commands A return value of 0x80 128 indicates the buffer is empty A return value of 0 indiciates the last command sent is executing A value of 0x80 indicates the last command buffered has finished 50 Drive M1 M2 With Speed And Individual Acceleration Drive M1 and M2 in the same command using one value for acceleration and two signed speed values for each motor The sign indicates which direction the motor will run The acceleration value is not signed The motors are sync during acceleration This command is used to drive the motor by quad pulses per second and using an acceleration value for ramping Different quadrature encoders will have different rates at which they generate the incoming pulses The values used will differ from one encoder to another Once a value is sent the motor will begin to accelerate incrementally until the rate defined is reached The command syntax Send Address CMD AccelM1 4 Bytes QspeedM1 4 Bytes AccelM2 4 Bytes OspeedM2 4 Bytes Checksum 4 Bytes long are used to express the pulses per second Quadrature encoders send 4 pulses per tick So 1000 ticks would
27. ax ccc cece ee eee eee Een nnn 31 Standard Serial Wiring Example rr eee teeta da a op 32 Standard Serial Mode With Slave S lect uu a u nee 33 Standard Serial Arduino Example u u ulus au mme 34 Packet Serial M00868 erre eunt nre s ka ERR ANER sapanka ned 36 Ja ata E TEILTE 36 Packet Modes ioo io bina bebe ip B Heiden CEPR a EE dE NEEN NERA o OR e 36 Packet Serial Baud Rate u ua cet ic u Du Aug ghadi reed cats Godan NEES 36 Serial Mode Options ess uuu a asas ENZ SEENEN dE SKS SER AEN EAR SN EES 36 Checksum Calculation 5 2 2 dNKS EEN cies EEN ER EN d ANN NENNEN sides estan EEN IR RA at 36 Commands 0 7 Standard Commandes 37 0 Drive Forward NI sinjal ika si SEA HES dE ENER EES AE pawuqaq ans ERR ERE 37 1 Drive Backwards MI iii defi dE mi eret ad a l Bl EE ENEE ed 37 2 Set Minimum Main Voltage i eene ehh hn har he ay ERKENNEN 37 3 Set Maximum Main Voltage memes 37 4 Drive Forward M2 NENNEN NEE anna nena sea a sea sua aea sena sea wawa wu nnn 37 5 Drive Backwards M2 set ertet tijak oca ti qva OY YR XT dansere kite 38 6 Drive M1 7 Bit iiec in dE Ra ERR ERR ERR uwa k VERE VERRE EE dE dE 38 7e Dive M2 NEE 38 Commands 8 13 Mix Mode Commands 2 EA kasq 39 8 Drive Forward weiss terret D RR eu ERR SE RA d EE XR aqya ERR CERA NEE dE d AE e 39 9 Drive BackWards crecer correr ia be kiebi piu koni bad poda RE EE DD ro dE 39 TO Turn ole TP 39 11 Turn EES 39 12 Drive Forward or Backward 7 BEI 39
28. boClaw Series ROBOTICS ic Brushed DC Motor Controllers Main Battery Screw Terminals The main power input can be from 6VDC to 34VDC on a standard RoboClaw and 13VDC to 48VDC for the HV High Voltage RoboClaw The connections are marked and on the main screw terminal is the positive terminal and is the negative terminal The main battery wires should be short as possible Disconnect The main battery should have a disconnect in case of a run away situation and power needs to be cut The switch must be rated to handle the maximum current and voltage from the battery This will vary depending on the type of motors and or power source you are using A typically solution would be an inexpensive contactor which can be source from sites like Ebay Motor Screw Terminals The motor screw terminals are marked with M1A M1B for channel 1 and M2A M2B for channel 2 There is no specific polarities for the motors For both motors to turn in the same direction the wiring of one motor should be reversed from the other The motor wires should be short as possible Long wires can increase the inductance and therefore increase potential harmful voltage spikes M1B Positive Negative M2B Battery RoboClaw Series User Manual 15 tas O ION RoboClaw Series ROBOTICS IC Brushed DC Motor Controllers Status and Error LEDs The RoboClaw has three LEDs Two status LEDs marked STAT1 and STAT2 An error LED marked ERR When RoboC
29. celeration And Distance Buffered 50 Mix Drive Mi M2 With Individual Speed and Acceleration ai Mix Drive M1 M2 With Individual Speed Accel and Distance 52 Drive Mi With Duty and Accel Encoders not required 53 Drive M2 With Duty and Accel Encoders not required sa Mix Drive Mi M2 With Duty and Accel Encoders not required 6 Set Position PID Constants form 62 Set Position PID Constants rh 65 Drive Mi with signed Speed Accel Deccel and Position 6 Drive M2 with signed Speed Accel Deccel and Position RoboClaw Series User Manual tas O ION RoboClaw Series ROBOTICS ic Brushed DC Motor Controllers 28 Set PID Constants M1 Several motor and quadrature combinations can be used with RoboClaw In some cases the default PID values will need to be tuned for the systems being driven This gives greater flexibility in what motor and encoder combinations can be used The RoboClaw PID system consist of four constants starting with QPPS P Proportional I Integral and D Derivative The defaults values are QPPS 44000 P 0x00010000 I 0x00008000 D 0x00004000 QPPS is the speed of the encoder when the motor is at 100 power P I D are the default values used after a reset Command syntax Send Address 28 D 4 bytes P 4 bytes I 4 bytes QPPS 4 byte Checksum Each value is made up of 4 bytes for a long To write the registers a checksum
30. data range is 0 127 A value of 127 full speed backwards 64 about half speed backward and O full stop Example with RoboClaw address set to 128 Send 128 5 127 128 5 127 amp OX7F 6 Drive M1 7 Bit Drive motor 1 forward and reverse Valid data range is 0 127 A value of 0 full speed reverse 64 stop and 127 full speed forward Example with RoboClaw address set to 128 Send 128 6 96 128 6 96 amp OX7F 7 Drive M2 7 Bit Drive motor 2 forward and reverse Valid data range is 0 127 A value of 0 full speed reverse 64 stop and 127 full speed forward Example with RoboClaw address set to 128 Send 128 7 32 12847432 amp OX7F RoboClaw Series User Manual tas O ION RoboClaw Series ROBOTICS ic Brushed DC Motor Controllers Commands 8 13 Mix Mode Commands The following commands are mix mode commands and used to control speed and turn Before a command is executed valid drive and turn data is required You only need to send both data packets once After receiving both valid drive and turn data RoboClaw will begin to operate At this point you only need to update turn or drive data 8 Drive Forward Drive forward in mix mode Valid data range is 0 127 A value of 0 full stop and 127 full forward Example with RoboClaw address set to 128 Send 128 8 127 128 8 127 amp Ox7F 9 Drive Backwards Drive backwards in mix mode Valid data range is 0 127 A value of O full
31. de RoboClaw expects TTL level RS 232 serial data to control direction and speed of each motor Simple serial is typically used to control RoboClaw from a microcontroller or PC If using a PC a MAX232 type circuit must be used since RoboClaw only works with TTL level input Simple serial includes a slave select mode which allows multiple RoboClaws to be controlled from a signal RS 232 port PC or microcontroller Simple serial is a one way format RoboClaw only receives data 4 Packet Serial Mode 7 through 14 In packet serial mode RoboClaw expects TTL level RS 232 serial data to control direction and speed of each motor Packet serial is typically used to control RoboClaw from a microcontroller or PC If using a PC a MAX232 type circuit must be used since RoboClaw only works with TTL level input In packet serial mode each RoboClaw is assigned an address using the dip switches There are 8 addresses available This means up to 8 RoboClaws can be on the same Serial port When using the quadrature decoding feature of RoboClaw packet serial is required since it is a two way communications format This allows RoboClaw to transmit information about the encoders position and speed 5 USB Mode 15 USB RoboClaw only In USB mode the RoboClaw s USB port acts as a CDC Virtual Comport in Packet Serial mode with packet address 128 Packet serial mode functionality is available in USB mode as well as baud rates up to 1mbit There are two ways to activate the U
32. e different rates at which they generate the incoming pulses The values used will differ from one encoder to another Once a value is sent the motor will begin to accelerate incrementally until the rate defined is reached The command syntax Send Address CMD Accel 4 Bytes Qspeed 4 Bytes Checksum 4 Bytes long are used to express the pulses per second Quadrature encoders send 4 pulses per tick So 1000 ticks would be counted as 4000 pulses The acceleration is measured in speed per second An acceleration value of 12 000 QPPS with a speed of 12 000 QPPS would accelerate a motor from O to 12 000 QPPS in 1 second Another example would be an acceleration value of 24 000 QPPS and a speed value of 12 000 QPPS would accelerate the motor to 12 000 QPPS in 0 5 seconds 39 Drive M2 With Signed Speed And Acceleration Drive M2 with a signed speed and acceleration value The sign indicates which direction the motor will run The acceleration value is not signed This command is used to drive the motor by quad pulses per second and using an acceleration value for ramping Different quadrature encoders will have different rates at which they generate the incoming pulses The values used will differ from one encoder to another Once a value is sent the motor will begin to accelerate incrementally until the rate defined is reached The command syntax Send Address CMD Accel 4 Bytes Ospeed 4 Bytes Checksum 4 Bytes long are used to expres
33. e polarity of the motors are correct If the encoder is backwards to the direction of the motor a run away state will occur Referring to the encoder section of this user manual for proper setup Wire Lengths RoboClaw switches its MOSFET stage at high frequencies Wire lengths should be keep as short as possible Longer wires will create increased inductance which will produce undesirable effects such as electrical noise If RoboClaw must be mounted an extended distance from the main power source use the robots chassis as the ground RoboClaw Series User Manual tas O ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers Run Away During development of your project caution should be taken to avoid run away conditions The wheels of a robot should not be in contact with any surface until all development is complete If the motor is embedded ensure you have a safe and easy method to remove power from RoboClaw as a fail safe Power Sources A battery or linear power supply is recommended as the main power source for RoboClaw Switching power supplies are suitable in some cases The regenerative nature of RoboClaw will cause switching power supplies to behave erratically The regeneration creates power spikes These power spikes are interpreted by the switching power supplies internal sensors as an over voltage The switching power supply will momentarily reduce voltage and or limit current effectively causing brown outs Optical Encoders
34. ect attaches the RC signal on pin 6 to the servo object myservol writeMicroseconds 1500 Stop myservo2 writeMicroseconds 1500 Stop myservol writeMicroseconds 1250 full forward myservol writeMicroseconds 1500 stop myservol writeMicroseconds 1750 full reverse myservol writeMicroseconds 1500 Stop myservo2 writeMicroseconds 1250 full forward myservo2 writeMicroseconds 1500 Stop myservo2 writeMicroseconds 1750 full reverse tas ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers ANALOG MODE RoboClaw Series User Manual 27 tas O ION RoboClaw Series ROBOTICS ic Brushed DC Motor Controllers Analog Mode Analog mode is used when controlling RoboClaw from a potentiometer or a filtered PWM signal In this mode S1 and S2 are set as analog inputs Voltage range is OV Full reverse 1V Stop and 2V Full forward Using Analog Mode with feedback for velocity position control Analog Mode can be used with encoders Packet Serial commands must be used to enable this option Velocity and or Position PID constants must be calibrated for proper operation using Packet Serial commands Once calibrated values have been set and saved into Roboclaws eeprom encoder support using velocity or position PID control can be enabled using commands 92 for motor 1 or 93 for motor 2 See the Packet Serial section for more details Analog Mode With Mixing This mode is the same as Analog mode with the
35. eed 4 Bytes Distance 4 Bytes Buffer 1 Byte Checksum 4 Bytes long are used to express the pulses per second The Buffer argument can be set to a 1 or 0 If a value of 0 is used the command will be buffered and executed in the order sent If a value of 1 is used the current running command is stopped any other commands in the buffer are deleted and the new command is executed 45 Buffered M2 Drive With Signed Speed Accel And Distance Drive M2 with a speed acceleration and distance value The sign indicates which direction the motor will run The acceleration and distance values are not signed This command is used to control the motors top speed total distanced traveled and at what incremental acceleration value to use until the top speed is reached Each motor channel M1 and M2 have separate buffers This command will execute immediately if no other command for that channel is executing otherwise the command will be buffered in the order it was sent Any buffered or executing command can be stopped when a new command is issued by setting the Buffer argument All values used are in quad pulses per second The command syntax Send Address CMD Accel 4 bytes QSpeed 4 Bytes Distance 4 Bytes Buffer 1 Byte Checksum 4 Bytes long are used to express the pulses per second The Buffer argument can be set to a 1 or 0 If a value of O is used the command will be buffered and executed in the order sent If a value of 1 is used the cu
36. er Manual 54 tas O ION RoboClaw Series ROBOTICS ic Brushed DC Motor Controllers 34 Drive M1 M2 With Signed Duty Cycle Drive both M1 and M2 using a duty cycle value The duty cycle is used to control the speed of the motor without a quadrature encoder The command syntax Send Address CMD DutyMl 2 Bytes DutyM2 2 Bytes Checksum The duty value is signed and the range is 1500 35 Drive M1 With Signed Speed Drive M1 using a speed value The sign indicates which direction the motor will turn This command is used to drive the motor by quad pulses per second Different quadrature encoders will have different rates at which they generate the incoming pulses The values used will differ from one encoder to another Once a value is sent the motor will begin to accelerate as fast as possible until the defined rate is reached The command syntax Send Address CMD Ospeed 4 Bytes Checksum 4 Bytes long are used to express the pulses per second Quadrature encoders send 4 pulses per tick So 1000 ticks would be counted as 4000 pulses 36 Drive M2 With Signed Speed Drive M2 with a speed value The sign indicates which direction the motor will turn This command is used to drive the motor by quad pulses per second Different quadrature encoders will have different rates at which they generate the incoming pulses The values used will differ from one encoder to another Once a value is sent the motor will begin to accelerate a
37. ered in the order it was sent Any buffered or executing command can be stopped when a new command is issued by setting the Buffer argument All values used are in quad pulses per second The command syntax Send Address CMD QSpeedM1 4 Bytes DistanceM1 4 Bytes QSpeedM2 4 Bytes DistanceM2 4 Bytes Buffer 1 Byte Checksum 4 Bytes long are used to express the pulses per second The Buffer argument can be set to a 1 or 0 If a value of 0 is used the command will be buffered and executed in the order sent If a value of 1 is used the current running command is stopped any other commands in the buffer are deleted and the new command is executed 44 Buffered M1 Drive With Signed Speed Accel And Distance Drive M1 with a speed acceleration and distance value The sign indicates which direction the motor will run The acceleration and distance values are not signed This command is used to control the motors top speed total distanced traveled and at what incremental acceleration value to use until the top speed is reached Each motor channel MI and M2 have separate buffers This command will execute immediately if no other command for that channel is executing otherwise the command will be buffered in the order it was sent Any buffered or executing command can be stopped when a new command is issued by setting the Buffer argument All values used are in quad pulses per second The command syntax Send Address CMD Accel 4 bytes QSp
38. es for each motor The sign indicates which direction the motor will run The acceleration value is not signed This command is used to drive the motor by PWM using an acceleration value for ramping The command syntax Send Address CMD DutyM1 2 bytes Accelml 4 Bytes DutyM2 2 bytes AccelM1 4 bytes Checksum The duty value is signed and the range is 1500 The accel value range is 0 to 65535 RoboClaw Series User Manual 60 tas O ION RoboClaw Series ROBOTICS IC 61 Set Motor 1 Position PID Constants The RoboClaw Position PID system consist of seven constants starting with P Proportional I Integral and D Derivative MaxI Maximum Integral windup Deadzone in encoder counts MinPos Minimum Position and MaxPos Maximum Position The defaults values are all zero Send Address CMD P 4 bytes I 4 bytes D 4 bytes MaxI 4 bytes Deadzone 4 bytes MinPos 4 bytes MaxPos 4 bytes Position constants are used only with the Position commands 65 66 and 67 and RC or Analog mode when in absolute mode with encoders or potentiometers 62 Set Motor 2 Position PID Constants The RoboClaw Position PID system consist of seven constants starting with P Proportional I Integral and D Derivative MaxI Maximum Integral windup Deadzone in encoder counts MinPos Minimum Position and MaxPos Maximum Position The defaults values are all zero Send Address CMD P 4 bytes I 4 bytes D 4 bytes MaxI
39. exception of how S1 and S2 control the attached motors S1 controls speed and direction of both motors 1 and 2 S2 controls steering by slowing one of the motors This drive method is similar to how a car would be controlled Analog Mode Options Option Function Description aio TTL Flip Switch Flip switch triggered by low signal TTL Flip and Exponential Softens the center control position This Enabled mode is ideal with tank style robots Mak ing it easier to control from an RC radio Flip switch triggered by low signal TTL FLip and MCU Continues to execute last pulse received until Enabled new pulse received Disables Signal loss fail safe and auto calibration Flip switch trig gered by low signal TTL FLip and Exponential Enables both options Flip switch and MCU Enabled triggered by low signal RC Flip Switch Enabled Same as mode 1 with flip switch triggered by RC signal RC Flip and Exponential Same as mode 2 with flip switch Enabled triggered by RC signal 7 RC Flip and MCU Enabled Same as mode 3 with flip switch triggered by RC signal RC Flip and Exponential Same as mode 4 with flip switch and MCU Enabled triggered by RC signal RoboClaw Series User Manual tas O ION RoboClaw Series ROBOTICS IC Brushed DC Motor Controllers Analog Wiring Example RoboClaw use a high speed 12 bit analog converter Its range is O to 2V The analog pins are protect and 5V can be applied without damage The potentiometer range will be
40. first 4 bytes are a 32 byte value long that repersent the speed The 5th byte Value2 is direction 0 forward 1 backward is A checksum is returned in order to validate the data returned 31 Read Current Speed M2 Read the current pulse per 125th of a second This is a high resolution version of command 18 and 19 Command 31 can be used to make a independent PID routine The resolution of the command is required to create a PID routine using any microcontroller or PC used to drive RoboClaw The command syntax Send Address CMD Receive Valuel Byte3 Valuel Byte2 Valuel Bytel Valuel Bvte0 Value2 Checksum The command will return 5 bytes MSB sent first for a long The first 4 bytes are a 32 byte value long that repersent the speed The 5th byte Value2 is direction 0 forward 1 backward is A checksum is returned in order to validate the data returned 32 Drive M1 With Signed Duty Cycle Drive M1 using a duty cycle value The duty cycle is used to control the speed of the motor without a quadrature encoder The command syntax Send Address CMD Duty 2 Bytes Checksum The duty value is signed and the range is 1500 33 Drive M2 With Signed Duty Cycle Drive M2 using a duty cycle value The duty cycle is used to control the speed of the motor without a quadrature encoder The command syntax Send Address CMD Duty 2 Bytes Checksum The duty value is signed and the range is 1500 RoboClaw Series Us
41. law Series User Manual tas ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers RoboClaw Series User Manual USB CONTROL 20 tas ORION RoboClaw Series s ROBOTIC Brushed DC Motor Controllers USB RoboClaw Power The USB RoboClaw is self powered Which means it is not powered from the USB cable The USB RoboClaw must be externally powered to function correctly USB RoboClaw Connection The USB RoboClaw should have its USB cable connected before powering it up unless USB mode is specifically set mode 15 If the master controller the PC is powered up the USB RoboClaw will automatically detect it is connected to a powered USB master and will enter USB mode In some cases it may be necessairy to set USB mode manually by setting RoboClaw to mode 15 USB Comport and baudrate The USB RoboClaw will be detected as a CDC Virtual Comport When connected to a Windows PC a driver must be installed The driver is available for download On Linux or OSX the RoboClaw will be automatically detected as a virtual comport and an appropriate driver will automatically be loaded Unlike a real Comport the USB CDC Virtual Comport does not need a baud rate to be set It will always communicate at the fastest speed the master and slave device can reach This will typically be 1mbit s RoboClaw Series User Manual 21 RoboClaw Series User Manual RoboClaw Series Brushed DC Motor Controllers RC MODE 22 tas O ION RoboClaw Series ROBOT
42. law is first powered up all 3 LEDs should blink briefly to indicate all 3 LEDs are functional LEDs will behave differently depending on the mode RoboClaw is set to During normal operation status 1 LED will remain lite continuously or blink when data is received in RC Mode or Serial Modes Status 2 LED will light when the drive stage is active Error Description RoboClaw Series User Manual 16 tas O ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers RoboClaw Modes There are 4 main modes with variations totaling 14 or 15 modes in all Each mode enables RoboClaw to be controlled in a very specific way The following list explains each mode and the ideal application 1 RC Mode 1 amp 2 With RC mode RoboClaw can be controlled from any hobby RC radio system RC input mode also allows low powered microcontroller such as a Basic Stamp or Nano to control RoboClaw RoboClaw expects servo pulse inputs to control the direction and speed Very similar to how a regular servo is controlled RC mode can not use encoders 2 Analog Mode 3 amp 4 Analog mode uses an analog signal from OV to 5V to control the speed and direction of each motor RoboClaw can be controlled using a potentiometer or filtered PWM from a microcontroller Analog mode is ideal for interfacing RoboClaw joystick positioning systems or other non microcontroller interfacing hardware Analog mode can not use encoders 3 Simple Serial Mode 5 amp 6 In simple serial mo
43. limited if 5V is utilized as the reference voltage A simple resistor divider circuit can be used to reduce the on board 5V to 2V See the below schematic R1 3 3K and R2 2 2K One resistor divider circuit can be shared between two potentiometers Set mode 3 with option 1 Center the potentiometers before applying power or the attached motors will start moving S1 potentiometer will control motor 1 direction and speed S2 potentiometer will control motor 2 direction and speed GROUND S1 Signal 5VDC M1B Positive Negative M2B Battery RoboClaw RoboClaw Series User Manual 29 tas ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers STANDARD SERIAL RoboClaw Series User Manual 30 tas O ION RoboClaw Series ROBOTICS ic Brushed DC Motor Controllers Standard Serial Mode In this mode S1 accepts TTL level byte commands Standard serial mode is one way serial data RoboClaw can receive only A standard 8N1 format is used Which is 8 bits no parity bits and 1 stop bit If you are using a microcontroller you can interface directly to RoboClaw If you are using a PC a level shifting circuit See Max232 is required The baud rate can be changed using the SET button once a serial mode has been selected Serial Mode Baud Rates Option Description DREES 2 90 TT 3 1900 4 34 Standard Serial Command Syntax The RoboClaw standard serial is setup to control both motors with one byte sized com
44. ll packet serial commands use a 7 bit checksum to prevent corrupt commands from being executed Since the RoboClaw expects a 7bit value the 8th bit is masked The checksum is calculated as follows Checksum Address Command Data bytes amp Ox7F When calculating the checksum all data bytes sent or received must be added together The hexadecimal value OX7F is used to mask the 8th bit RoboClaw Series User Manual 36 tas O ION RoboClaw Series ROBOTICS IC Brushed DC Motor Controllers Commands 0 7 Standard Commands The following commands are the standard set of commands used with packet mode The command syntax is the same for commands 0 to 7 Address Command ByteValue Checksum 0 Drive Forward M1 Drive motor 1 forward Valid data range is 0 127 A value of 127 full speed forward 64 about half speed forward and 0 full stop Example with RoboClaw address set to 128 Send 128 0 127 128 0 127 amp OX7F 1 Drive Backwards M1 Drive motor 1 backwards Valid data range is 0 127 A value of 127 full speed backwards 64 about half speed backward and O full stop Example with RoboClaw address set to 128 Send 128 1 127 128 0 127 amp OX7F 2 Set Minimum Main Voltage Sets main battery B B minimum voltage level If the battery voltages drops below the set voltage level RoboClaw will shut down The value is cleared at start up and must set after each power up The voltage is set in 2 volt i
45. low signal TTL Flip and MCU Continues to execute last pulse received until Enabled new pulse received Disables Signal loss fail safe and auto calibration Flip switch trig gered by low signal TTL Flip and Exponential Enables both options Flip switch and MCU Enabled triggered by low signal RC Flip Switch Enabled Same as mode 1 with flip switch triggered by RC signal RC Flip and Exponential Same as mode 2 with flip switch Enabled triggered by RC signal 7 RC Flip and MCU Enabled Same as mode 3 with flip switch triggered by RC signal RC Flip and Exponential Same as mode 4 with flip switch and MCU Enabled triggered by RC signal RoboClaw Series User Manual tas O ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers Servo Pulse Ranges The RoboClaw expects RC servo pulses on S1 and S2 to drive the motors when the mode is set to RC mode The center points are calibrated at start up 1000us is the default for full reverse and 2000us is the default for full forward The RoboClaw will auto calibrate these ranges on the fly unless auto calibration is disabled If a pulse smaller than 1000us or larger than 2000us is detected the new pulses will be set as the new ranges Pulse Function 1000us Full Reverse 2000 1 11 1 jFull Forward RoboClaw Series User Manual 24 IC Brushed DC Motor Controllers tas O ION RoboClaw Series ROBOTICS RC Wiring Example Connect the RoboClaw as shown below Set mode 1 with option 1
46. mand character Since a byte can be anything from 0 to 255 the control of each motor is split 1 to 127 controls channel 1 and 128 to 255 controls channel 2 Command character 0 will shut down both channels Any other values will control speed and direction of the specific channel Character Function po Shuts Down Channel 1 and 2 A Channel 1 Full Reverse ps Channel 1 Stop 127 128 fenannel2 FullReverse og Ce ass i Channel 2 Full Forward RoboClaw Series User Manual 31 tas O ION RoboClaw Series ROBOTICS IC Brushed DC Motor Controllers Standard Serial Wiring Example In standard serial mode the RoboClaw can only receive serial data The below wiring diagram illustrates a basic setup of RoboClaw for us with standard serial In this setup only one power source is used in which the LB MB jumper will need to be installed UART TX S1 Signal 5VDC 5VDC GROUND GROUND MCU M1B Positive Negative M2B Battery RoboClaw RoboClaw Series User Manual 32 tas O ION RoboClaw Series ROBOTICS IC Brushed DC Motor Controllers Standard Serial Mode With Slave Select Slave select is used when more than one RoboClaw is on the same serial bus When slave select is set to ON the S2 pin becomes the select pin Set S2 high 5V and RoboClaw will execute the next set of commands sent to S1 pin Set S2 low OV and RoboClaw will ignore all received commands All RoboClaw s on the bus
47. mer Orion Robotics cannot be held responsible for any incidental or consequential damages resulting from use of products manufactured or sold by Orion Robotics or its distributors No products from Orion Robotics should be used in any medical devices and or medical situations No product should be used in a life support situation Contacts Email sales orionrobotics com Tech support support orionrobotics com Web http www orionrobotics com Discussion List A web based discussion board is maintained at http forums orionrobotics com Technical Support Technical support is made available by sending an email to support orionrobotics com All email will be answered within 48 hours All general syntax and programming questions unless deemed to be a software issue will be referred to the on line discussion forums RoboClaw Series User Manual 66
48. n terminal prin terminal prin terminal prin jaiaeeotexc dL s p enc1 HEX Gran far aria aS 2 zj uint32 t enc2 roboclaw ReadEncM2 address amp status amp valid if valid terminal prin terminal prin terminal prin terminal prin terminal prin mr mr Gr ar e RR 2 lt uint32 t speedl roboclaw ReadSpeedM address amp status amp valid if valid terminal print Speedl terminal print speedl HEX terminal print uint32 t speed roboclaw ReadSpeedM2 address amp status amp valid if valid terminal print Speed2 terminal print terminal print terminal println delay 100 RoboClaw Series User Manual 62 NIE RoboClaw Series Brushed DC Motor Controllers Speed Controlled by Quadrature Encoders Arduino Example The following example was written using an Arduino UNO using packet serial wiring and quadrature encoder wiring diagrams The example will command a 4wheel robot to move forward backward right turn and left turn slowly You can change the speed by adjusting the value of Speed and Speed2 variables Basic Micro RoboClaw Packet Serial Mode Switch settings SW3 ON SW4 ON SW5 ON include BMSerial h include RoboClaw h define address 0x80 define Kp 0x00010000 define Ki 0x0000
49. n be set to a 1 or 0 If a value of 0 is used the command will be buffered and executed in the order sent If a value of 1 is used the current running command is stopped any other commands in the buffer are deleted and the new command is executed 52 Drive M1 With Signed Duty And Acceleration Drive MI with a signed duty and acceleration value The sign indicates which direction the motor will run The acceleration values are not signed This command is used to drive the motor by PWM and using an acceleration value for ramping Accel is the rate per second at which the duty changes from the current duty to the specified duty The command syntax Send Address CMD Duty 2 bytes Accel 2 Bytes Checksum The duty value is signed and the range is 1500 The accel value range is 0 to 65535 53 Drive M2 With Signed Duty And Acceleration Drive M1 with a signed duty and acceleration value The sign indicates which direction the motor will run The acceleration values are not signed This command is used to drive the motor by PWM and using an acceleration value for ramping Accel is the rate at which the duty changes from the current duty to the specified dury The command syntax Send Address CMD Duty 2 bytes Accel 2 Bytes Checksum The duty value is signed and the range is 1500 The accel value range is 0 to 65535 54 Drive M1 M2 With Signed Duty And Acceleration Drive M1 and M2 in the same command using acceleration and duty valu
50. ncrements A value of 0 sets the minimum value allowed which is 6V The valid data range is 0 120 6V 30V The formula for calculating the voltage is Desired Volts 6 x 5 Value Examples of valid values are 6V 0 8V 10 and 11V 25 Example with RoboClaw address set to 128 Send 128 2 25 128 2 25 amp OX7F 3 Set Maximum Main Voltage Sets main battery B B maximum voltage level The valid data range is 0 154 OV 30V If you are using a battery of any type you can ignore this setting During regenerative breaking a back voltage is applied to charge the battery When using an ATX type power supply if it senses anything over 16V it will shut down By setting the maximum voltage level RoboClaw before exceeding it will go into hard breaking mode until the voltage drops below the maximum value set The formula for calculating the voltage is Desired Volts x 5 12 Value Examples of valid values are 12V 62 16V 82 and 24V 123 Example with RoboClaw address set to 128 Send 128 3 82 128 3 82 amp OXTF 4 Drive Forward M2 Drive motor 2 forward Valid data range is 0 127 A value of 127 full speed forward 64 about half speed forward and O full stop Example with RoboClaw address set to 128 Send 128 4 127 128 4 127 amp OX7F RoboClaw Series User Manual 37 tas O li ra RoboClaw Series ROBOTICS Brushed DC Motor Controllers 5 Drive Backwards M2 Drive motor 2 backwards Valid
51. nd QPPS Settings Read the PID and QPPS Settings Command syntax Send Address 55 Receive P 4 bytes I 4 bytes D 4 bytes QPPS 4 byte Checksum 56 Read Motor 2 P I D and QPPS Settings Read the PID and QPPS Settings Command syntax Send Address 56 Receive P 4 bytes I 4 bytes D 4 bytes OPPS 4 byte Checksum RoboClaw Series User Manual 44 tas O ION RoboClaw Series OTICS Brushed DC Motor Controllers 57 Set Main Battery Voltages Set the Main Battery Voltages cutoffs Min and Max Command syntax Send Address 57 Min 2 bytes Max 2bytes Checksum 58 Set Logic Battery Voltages Set the Logic Battery Voltages cutoffs Min and Max Command syntax Send Address 58 Min 2 bytes Max 2bytes Checksum 59 Read Main Battery Voltage Settings Read the Main Battery Voltage Settings Command syntax Send Address 59 Receive Min 2 bytes Max 2 bytes Checksum 60 Read Logic Battery Voltage Settings Read the Main Battery Voltage Settings Command syntax Send Address 600 Receive Min 2 bytes Max 2 bytes Checksum 63 Read Motor 1 Position P I D Constants Read the Position PID Settings Command syntax Send Address 603 Receive P 4 bytes I 4 bytes D 4 bytes MaxI 4 byte Deadzone 4 byte MinPos 4 byte MaxPos 4 byte Checksum 64 Read Motor 2 Position P I D Constants Read the Position PID Settings Command syntax Send Address 604
52. ngstoEEPROM 21 Read Firmware Version Read RoboClaw firmware version Returns up to 32 bytes and is terminated by a null character Command syntax Send Address 21 Receive RoboClaw 10 2A v1 3 9 Checksum The command will return up to 32 bytes The return string includes the product name and firmware version The return string is terminated with a null 0 character 24 Read Main Battery Voltage Level Read the main battery voltage level connected to B and B terminals The voltage is returned in 10ths of a volt Command syntax Send Address 24 Receive Value Bytel Value Byte0 Checksum The command will return 3 bytes Byte 1 and 2 make up a word variable which is received MSB first and is 10th of a volt A returned value of 300 would equal 30V Byte 3 is the checksum It is calculated the same way as sending a command and can be used to validate the data RoboClaw Series User Manual 43 tas O ION RoboClaw Series BO s RO TIC Brushed DC Motor Controllers 25 Read Logic Battery Voltage Level Read a logic battery voltage level connected to LB and LB terminals The voltage is returned in 10ths of a volt Command syntax Send Address 25 Receive Value Bytel Value Byte0 Checksum The command will return 3 bytes Byte 1 and 2 make up a word variable which is received MSB first and is 10th of a volt A returned value of 50 would equal 5V Byte 3 is the checksum It is calculated the same way a
53. o Claw Modes iere eR SEENEN ukawa Elm kan dE to arh dna Gorane NER QUEE ce 17 Configuring RoboClaw M06068 uu ua usa ioirik eem eee A eene 18 MOGE EE 18 Glen 19 Simple and Packet Serial Mode Options r 19 Battery Cut Off Settings eee ENEE NEEN ENEE SE NEEN taq 19 Battery Options iuuyyy ED EEEE EE GER teen MEE E EE DENTS 19 USB RoboClaw POWER arr b ba a a UC O Ed EEN a haa Bien Qha ene 21 USB RoboClaw Connection ENNEN 21 USB Comport and baudrate sir uu aus Eed ghadi pk EE ge iu EEN EN 21 RC oc ET 23 Using RC Mode with feedback for velocity position control 23 RC Mode With MIXING eg EN dg ERAN AER EEN Eu ag eR RERO eg a eT as 23 RC Mode Options suasana tha ER ENK cosine SERIE a aa a VERA YR e REX coves sk 23 Servo Pulse Ranges i edere ext eek a e Eae edv eh ga ENEE ala GR FERRE NEE 24 RC Wiring Example erste xu fersken 25 Analog MO rere et rex do exa Ca ERE Ex ead haa a Cr X DOG E ER eR 28 Using Analog Mode with feedback for velocity position control 28 Analog Mode With MIXING iic ceo rh p ERR Eh RR ERR ENEE va cid a ORT RE 28 Analog Mode Optionsi EE 28 RoboClaw Series User Manual tas ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers Analog Wiring Example u u t eren kanaa E e ka qasqa DEER NR ji 29 Standard Serial Mod Lo sie iii urne na ia a a taya dE dE brae 31 Serial Mode Baud Rates ENNEN 31 Standard Serial Command Svnt
54. peed And Distance Drive M2 with a speed and distance value The sign indicates which direction the motor will run The distance value is not signed This command is buffered Each motor channel M1 and M2 have separate buffers This command will execute immediately if no other command for that channel is executing otherwise the command will be buffered in the order it was sent Any buffered or executing command can be stopped when a new command is issued by setting the Buffer argument All values used are in quad pulses per second The command syntax Send Address CMD QSpeed 4 Bytes Distance 4 Bytes Buffer 1 Byte Checksum 4 Bytes long are used to express the pulses per second The Buffer argument can be set to a 1 or 0 If a value of 0 is used the command will be buffered and executed in the order sent If a value of 1 is used the current running command is stopped any other commands in the buffer are deleted and the new command is executed RoboClaw Series User Manual 57 tas O ION RoboClaw Series ROBOTICS ic Brushed DC Motor Controllers 43 Buffered Drive M1 M2 With Signed Speed And Distance Drive M1 and M2 with a speed and distance value The sign indicates which direction the motor will run The distance value is not signed This command is buffered Each motor channel M1 and M2 have separate buffers This command will execute immediately if no other command for that channel is executing otherwise the command will be buff
55. rrent running command is stopped any other commands in the buffer are deleted and the new command is executed RoboClaw Series User Manual 58 tas O ION RoboClaw Series ROBOTICS ic Brushed DC Motor Controllers 46 Drive M1 M2 With Signed Speed Accel And Distance Drive M1 and M2 with a speed acceleration and distance value The sign indicates which direction the motor will run The acceleration and distance values are not signed This command is used to control both motors top speed total distanced traveled and at what incremental acceleration value to use until the top speed is reached Each motor channel M1 and M2 have separate buffers This command will execute immediately if no other command for that channel is executing otherwise the command will be buffered in the order it was sent Any buffered or executing command can be stopped when a new command is issued by setting the Buffer argument All values used are in quad pulses per second The command syntax Send Address CMD Accel 4 Bytes QSpeedM1 4 Bytes DistanceM1 4 Bytes QSpeedM2 4 bytes DistanceM2 4 Bytes Buffer 1 Byte Checksum 4 Bytes long are used to express the pulses per second The Buffer argument can be set to a 1 or 0 If a value of O is used the command will be buffered and executed in the order sent If a value of 1 is used the current running command is stopped any other commands in the buffer are deleted and the new command is executed 47 Re
56. rward momentum can create enough voltage to power RoboClaws logic in some cases which will create an unsafe state 3 RoboClaw has minimum power requirements of at least 6V Under heavy loads if the logic battery and main battery are combined power drops can and will happen This can cause erratic behavior from RoboClaw Motor Selection When pairing RoboClaw to a motor several key factors must be considered All brushed DC motors will have two amperage ratings which are maximum stall current and running current The most important rating is the stall current This rating can determine what RoboClaw model should be used Stall Current A motor at rest is in a stall state Which means during start up the motors stall current will be reached The loaded of the motor will determine how long maximum stall current is required A motor that is required to start and stop or change directions rapidly but with light load will still require maximum stall current often Pairing RoboClaw by using its peak current to handle these situations is not advised This will only result in erratic behavior and possible damage to RoboClaw In some applications RoboClaw can be paired using its peak current This should only be considered in situations where the motor is under very light load and not expect to start stop or change directions rapidly Running Current RoboClaw features dual channel quadrature decoding When paring encoders to motors you must make ensure th
57. s fast as possible until the rate defined is reached The command syntax Send Address CMD Ospeed 4 Bytes Checksum 4 Bytes long are used to expressed the pulses per second Quadrature encoders send 4 pulses per tick So 1000 ticks would be counted as 4000 pulses RoboClaw Series User Manual 55 tas O ION RoboClaw Series ROBOTICS ic Brushed DC Motor Controllers 37 Drive M1 M2 With Signed Speed Drive M1 and M2 in the same command using a signed speed value The sign indicates which direction the motor will turn This command is used to drive both motors by quad pulses per second Different quadrature encoders will have different rates at which they generate the incoming pulses The values used will differ from one encoder to another Once a value is sent the motor will begin to accelerate as fast as possible until the rate defined is reached The command syntax Send Address CMD QspeedM1 4 Bytes QspeedM2 4 Bytes Checksum 4 Bytes long are used to express the pulses per second Quadrature encoders send 4 pulses per tick So 1000 ticks would be counted as 4000 pulses 38 Drive M1 With Signed Speed And Acceleration Drive M1 with a signed speed and acceleration value The sign indicates which direction the motor will run The acceleration values are not signed This command is used to drive the motor by quad pulses per second and using an acceleration value for ramping Different quadrature encoders will hav
58. s jumper if using a separate logic battery Encoder Power The pins labeled and are the source power pins for encoders The positive is located at the board edge and supplies 5VDC The ground pin is near the heatsink Encoder Inputs EN1 EN2 EN1 and EN2 are the inputs from the encoders Channel A of both EN1 and EN2 are located at the board edge Channel B pins are located near the heatsink When connecting the encoder make sure the leading channel for the direction of rotation is connected to A If one encoder is backwards to the other you will have one internal counter counting up and the other counting down Which can affect how RoboClaw operates Refer to the data sheet of the encoder you are using for channel direction Control Inputs S1 S2 S3 S1 S2 and S3 are setup for standard servo style headers I O 5V and GND S1 and S2 are the control inputs for serial analog and RC modes S3 can be used as a flip switch input when in RC or Analog modes In serial mode S3 becomes an emergency stop S3 is active when pulled low It is internally pull up so it will not accidentally trip when left floating The pins closest to the board edge are the 1 0s center pin is the 5V and the inside pins are ground Some RC receivers have their own supply and will conflict with the RoboClaw s logic supply It may be necessary to remove the 5V pin from the RC receivers cable in those cases RoboClaw Series User Manual 14 tas O ION Ro
59. s must share a common signal ground GND shown by the black wire The S1 pin of RoboClaw is the serial receive pin and should be connected to the transmit pin of the MCU All RoboClaw s S1 pins will be connected to the same MCU transmit pin Each RoboClaw S2 pin should be connected to a unique I O pin on the MCU S2 is used as the control pin to activate the attached RoboClaw To enable a RoboClaw hold its S2 pin high otherwise any commands sent are ignored S1 Signal S2 Signal 5VDC GROUND MIR MCU Positive Negative Connect to S2 of next RoboClaw M2B Battery Connect to S1 of next RoboClaw RoboClaw RoboClaw Series User Manual 33 ti OR I ha RoboClaw Series e ROBOTIC Brushed DC Motor Controllers Standard Serial Arduino Example The following example will start both channels in reverse then full speed forward The program was written and tested with a Arduino Uno and Pin 5 connected to S1 Set mode 5 and option 3 Basic Micro RoboClaw Standard Serial Test Switch settings SW2 ON and SW5 ON Make sure Arduino and Robo Claw share common GND include BMSerial h BMSerial mySerial 5 6 void setup mvSerial begin 19200 voici looo 1 mySerial write 1 mySerial write 1 delay 2000 mySerial write 127 mySerial write 127 delay 2000 RoboClaw Series User Manual 34 tas ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers PACKET SERIAL Robo
60. s sending a command and can be used to validate the data 26 Set Minimum Logic Voltage Level Sets logic input LB LB minimum voltage level If the battery voltages drops below the set voltage level RoboClaw will shut down The value is cleared at start up and must set after each power up The voltage is set in 2 volt increments A value of 0 sets the minimum value allowed which is 3V The valid data range is 0 120 6V 28V The formula for calculating the voltage is Desired Volts 6 x 5 Value Examples of valid values are 3V 0 8V 10 and 11V 25 Send 128 26 0 154 amp OX7F 27 Set Maximum Logic Voltage Level Sets logic input LB LB maximum voltage level The valid data range is 0 144 OV 28V By setting the maximum voltage level RoboClaw will go into shut down and requires a hard reset to recovers The formula for calculating the voltage is Desired Volts x 5 12 Value Examples of valid values are 12V 62 16V 82 and 24V 123 Send 128 27 82 213 amp OX7F 49 Read Motor Currents Read the current draw from each motor in 10ma increments Command syntax Send Address 49 Receive M1Cur Bytel MICur Bvte0O M2Cur Bytel M2Cur Byte0 Checksum The command will return 5 bytes Bytes 1 and 2 combine to represent the current in 10ma increments of motori Bytes 3 and 4 combine to represent the current in 10ma increments of motor2 Byte 5 is the checksum 55 Read Motor 1 P I D a
61. s the pulses per second Quadrature encoders send 4 pulses per tick So 1000 ticks would be counted as 4000 pulses The acceleration is measured in speed per second An acceleration value of 12 000 QPPS with a speed of 12 000 QPPS would accelerate a motor from 0 to 12 000 QPPS in 1 second Another example would be an acceleration value of 24 000 QPPS and a speed value of 12 000 QPPS would accelerate the motor to 12 000 QPPS in 0 5 seconds RoboClaw Series User Manual 56 tas O ION RoboClaw Series ROBOTICS ic Brushed DC Motor Controllers 40 Drive M1 M2 With Signed Speed And Acceleration Drive M1 and M2 in the same command using one value for acceleration and two signed speed values for each motor The sign indicates which direction the motor will run The acceleration value is not signed The motors are sync during acceleration This command is used to drive the motor by quad pulses per second and using an acceleration value for ramping Different quadrature encoders will have different rates at which they generate the incoming pulses The values used will differ from one encoder to another Once a value is sent the motor will begin to accelerate incrementally until the rate defined is reached The command syntax Send Address CMD Accel 4 Bytes OspeedM1 4 Bytes OspeedM2 4 Bytes Checksum 4 Bytes long are used to express the pulses per second Quadrature encoders send 4 pulses per tick So 1000 ticks would be counted as 4000 p
62. ssors without UARTs to communicate with RoboClaw UART TX S1 Signal UART RX S2 Signal 5VDC 5VDC GROUND GROUND MCU M1B Positive Negative M2B Battery RoboClaw RoboClaw Series User Manual 40 EE Packet Serial Arduino Example RoboClaw Series Brushed DC Motor Controllers The example will start the motor channels independently Then start turns with mix mode commands The program was written and tested with a Arduno Uno and P5 connected to S1 Set mode 7 and option 3 Basic Micro RoboClaw Packet Serial Test Commands 0 to Switch settings SW3 ON and SW5 ON include BMSerial h include RoboClaw h define address 0x80 RoboClaw roboclaw 5 6 void setup roboclaw begin 19200 vore loool 1 roboclaw ForwardM1 address 64 Cmd 0 roboclaw BackwardM2 address 64 Cmd 5 delay 2000 roboclaw BackwardM1 address 64 Cmd 1 roboclaw ForwardM2 address 64 Cmd 6 delay 2000 roboclaw ForwardBackwardM1l address 960 roboclaw ForwardBackwardM2 address 32 delay 2000 roboclaw ForwardBackwardMl address 32 roboclaw ForwardBackwardM2 address 96 delay 2000 stop motors roboclaw ForwardBackwardmMi address 0 roboclaw ForwardBackwardM2 address 0 delay 10000 roboclaw ForwardMixed address 64 Cmd delay 2000 roboclaw BackwardMixed address 64 Cmd delay 2000 roboclaw TurnRightMixed address 64 Cmd delay 2000
63. the motor will run at after acceleration and before decceleration The command syntax Send Address CMD Accel 4 bytes QSpeed 4 Bytes Deccel 4 bytes Position 4 Bytes Buffer 1 Byte Checksum RoboClaw Series User Manual Brushed DC Motor Controllers 61 rn Reading Quadrature Encoder Arduino Example RoboClaw Series Brushed DC Motor Controllers The example was tested with an Arduino Uno using packet serial wiring and quadrature encoder wiring diagrams The example will read the speed total ticks and direction of each encoder Connect to the program using a terminal window set to 38400 baud The program will display the values of each encoders current count along with each encoder status bit in binary and the direction bit As the encoder is turned it will update the screen Basic Micro RoboClaw Packet Serial Mode Switch settings SW3 ON SWA ON SW5 ON include BMSerial h include RoboClaw h define address 0x80 define Kp 0x00010000 define Ki 0x00008000 define Kd 0x00004000 define qops 44000 BMSerial terminal 0 1 RoboClaw roboclaw 5 6 void setup terminal begin 38400 roboclaw begin 38400 roboclaw SetMlConstants address Kd Kp Ki qpps roboclaw SetM2Constants address Kd Kp Ki qpps void loop uint8 t status bool valid uint32 t encl roboclaw ReadEncMl address amp status amp valid if valid terminal prin terminal pri
64. ulses The acceleration is measured in speed per second An acceleration value of 12 000 QPPS with a speed of 12 000 QPPS would accelerate a motor from 0 to 12 000 QPPS in 1 second Another example would be an acceleration value of 24 000 QPPS and a speed value of 12 000 QPPS would accelerate the motor to 12 000 QPPS in 0 5 seconds 41 Buffered M1 Drive With Signed Speed And Distance Drive M1 with a signed speed and distance value The sign indicates which direction the motor will run The distance value is not signed This command is buffered This command is used to control the top speed and total distance traveled by the motor Each motor channel M1 and M2 have separate buffers This command will execute immediately if no other command for that channel is executing otherwise the command will be buffered in the order it was sent Any buffered or executing command can be stopped when a new command is issued by setting the Buffer argument All values used are in quad pulses per second The command syntax Send Address CMD QSpeed 4 Bytes Distance 4 Bytes Buffer 1 Byte Checksum 4 Bytes long are used to express the pulses per second The Buffer argument can be set to a 1 or 0 If a value of 0 is used the command will be buffered and executed in the order sent If a value of 1 is used the current running command is stopped any other commands in the buffer are deleted and the new command is executed 42 Buffered M2 Drive With Signed S
65. zers Main Battery Input Motor Channel 1 Motor Channel 2 BEC 3A Circuit Setup Buttons Encoder Inputs Controller Inputs USB Connector MiniB Optional e Hrommogogo RoboClaw Series User Manual 12 tas O ION RoboClaw Series ROBOTICS Brushed DC Motor Controllers RoboClaw 2x60A and HV 2x60A Dimensions 3 9 s ae DCH gece Sg RoboClaw 2x60A OrionRobotics com i Board Edge 3 4 W X 3 9 L Hole Pattern 0 125D 3 1 W x 3 67 H RoboClaw Series User Manual Woron ese s ROBOTIC Brushed DC Motor Controllers Header Overview They same header layout is shared for each of the RoboClaws covered in this user manual The main control I O are arranged for easy connectivity to control devices such as RC controllers The headers are also arranged to provide easy access to ground and power for supplying power to external controllers Logic Battery LB IN The logic side of RoboClaw can be powered from a secondary battery wired to LB IN The positive terminal is located at the board edge and ground is the inside pin closes to the heatsink Remove the LB MB jumper if a secondary battery for logic will be used BEC Source LB MB RoboClaw logic requires 5VDC which is provided from the on board BEC circuit The BEC source input is set with the LB MB jumper Install a jumper on the 2 pins labeled LB MB to use the main battery as the BEC power source Remove thi

Download Pdf Manuals

image

Related Search

Related Contents

Chantilly - Villes et Pays d`art et d`histoire  ERCOT Nodal Operating Guides  WPC1.1-Compatible A5/A11 Wireless Power Transmitter  省エネ・節電対策にご協力を  BH_Brillant - Smaragd Kühlvitrinen_AKE (12A).indd  USER'S GUIDE - BISSELL Direct  Leica ES2 Leica EZ4 Leica EZ4 W Manuale d`istruzioni    Mark 4E2 Spanish  FOMA N905i 商品カタログ  

Copyright © All rights reserved.
Failed to retrieve file