bl. PIC32 remote controlled robot project

The simple robot control circuit only measures one control parameter: accumulator battery voltage. The measurement is done once per a timer interval to prolong battery life. All the microcontroller inputs are either 5.5 V tolerant, or protected against over voltage.

HopeRF RFM69CW module is used for wireless communication between a remote controller and the robot. USB 2.0 connection is optional. It may be used for diagnostic during the robot assembly.

The schematic on the left is intended for a simple remote controlled car with drive (M1) and steering (M2) motors. It is relatively simple to build and it can operate relatively powerful DC motors. Motors speeds are regulated with pulse width modulation (PWM). Four PIC32MX2xxFxxxB outputs (RB0..RB3) are used to send PWM control signals to the motor driver circuits.

Remote controlled robots are fun to play with. If you buy a one, or if you buy a finished product, you may never know how it operates. You also would not be able to add arbitrary sensors to the robot. Mercedes C111 model can be controlled from about 90 m of distance according to HopeRF RFM69CW wireless communication module documentation. So ti would probably reach any room of your apartment with ease, as log as you can see it...

ALTERNATIVE: BUILD A LEGO TECHNIC REMOTE CONTROLLED TRUCK

Mercedes C111 robot circuit schematic. Three 1000 µF capacitors were added to assure stable operation of a robot with two DC motors.

ROBOT remote controller programming example and firmwares are available from Downloads section:

- PIC32MX270F256B firmware v2.9.2 for ROBOT - 8 MHz - XT .hex (Includes a watchdog to stop the robot in case of ireless connection loss.)

NOTE: This firmware is used for both the robot and the remote controller. See schematics on the left hand side. Use PC USB Projects HEX Editor v3.0 to adapt the *.hex file to your needs, if necesary (ex. if a different quartz crystal is used).

The PC remote controller circuit schematic is similar to the robot control circuit schematics. However, it is powered from a controlling PC USB 2.0 port and needs no batteries. Its main feature is RFM69CW transceiver module, which it uses for sending commands and reading robot status.

There are two versions of the robot control circuit. The first one is intended for rechargeable batteries with up to 1.36 V each, only. The second may be used with all kinds of AA type batteries. You may also replace the battery pack with a different rechargeable or non-rechargeable power source with higher voltage, but do not forget to alter the voltage divider (now set to 10k : 10k) accordingly. There is also no energy saving (voltage divider is always on). The motor driver electronics works up to +30 VDC. But no PIC32MX2xxFxxxB 5.5 V tolerant microcontroller pin input voltage may exceed 5.5 V.

PC USB remote controller circuit schematic: Click on the schematic to enlarge it.

- ROBOT remote contontroller v4.1 (x64).zip adds joystick support to make remote control of the robot easy. A new Giotech VX-2 joystick costed me just less than 10 €, but it is perfect for the job. Of course, the hardest part was integrating joystick support into LIB_PCUSBProjects v7.0.NET4(x64).dll library and making it available for VB.NET applications.... Use left control stick to control direction and the right control stick to control speed. Pressing the one of lowest two buttons on the left and right together with pushing in a control stick gives you turbo speed (twice the normal speed). The two buttons above half the speed. This makes robot control much easier and much more precise.

NOTE: The sample includes source code. Install DirectX11 runtime or at least DirectX9 runtime for the joystick to operate. Install DirectX11 SDK to get full development environment. You can get DirectX SDK free from http://developer.microsoft.com.

- ROBOT remote contontroller v3.1.zip (The accumulator battery voltage can now be measured.)

NOTE: The sample includes source code.

- PIC32MX250F128B firmware v2.9.1 for ROBOT - 8 MHz - XT .hex

NOTE: This firmware is used for both the robot and the remote controller. See schematics on the left hand side. Use PC USB Projects HEX Editor v3.0 to adapt the *.hex file to your needs, if necesary (ex. if a different quartz crystal is used).

OPTION: If you prefer not to make your own DC motor driver PCBs, you may also buy them here. You can also buy a ready to use DC motor driver PCB.

Standard PC joystick: Click on the photo to enlarge it.

ALTERNATIVE ROBOT CONTROLLER CIRCUIT SCHEMATICS. Please consider your motors specifications before selection the most suitable circuit for your robot:

Click on the photo to enlarge it,

Simple robot control circuit for for 4.8 V up to 5.5 V rechargeable battery power supply, only. Click on the schematic to enlarge it.

Click on the photo to enlarge it,

Simple robot control circuit with added over voltage protection for 4.8 V up to 6.4 V rechargeable or non-rechargeable battery power supply. Click on the schematic to enlarge it.

ALSO READ:

- PROGRAMMING GUIDE

- DC motor controller (robotics)

- DC motor control (robotics) with K8055 or K8055N board