Let's Make Robots!

Wild Thumper Robot Controller

OddBot's picture

AttachmentSize
Wild_Thumper_Controller_Instructions.pdf1.23 MB
Wild_Thumper_Controller.zip4.51 KB
Wild_Thumper_Diagnostic.zip2.51 KB
Vendor's Description: 


Wild Thumper  Robot Controller

After creating the Wild Thumper robot chassis I wanted to make a suitable motor controller for it as stall current can be as high as 33A if all 6 motors stall together. As the Wild Thumper chassis's were also ideal platforms for our robot arms I wanted more than just a dual "H" bridge, I wanted servo outputs and a power supply capable of driving some heavy duty servos. Then I thought, hmm.. a battery charger would be handy. The end result is an Arduino compatible controller on steroids!

Features:
  - Dual 15A continuous FET "H" bridge with individual fuse protection
  - Current sensing and blown fuse detection for each motor
  - Electronic braking for those high speed robots
  - 7 digital I/O pins terminated in 3 pin male headers with power allowing servos to plug directly onto the board.
  - 5 analog inputs terminated with 3 pin male headers with +5V and Gnd for sensors.
  - 5A LDO regulator to supply power for logic, sensors and servos.
  - 2A current regulator for charging NiCd, NiMh and SLA batteries.
  - Battery voltage monitored by processor. Charger controlled via processor. Allows robot to charge its own batteries.
  - Communication via USB, TTL serial and I2C. Can also accept RC and analog inputs.
  - ATmega 168 processor with 16K flash memory. Programmable via USB or ISP.
  - Comes preloaded with the Arduino bootloader and sample software.

Although designed to work from 6.5V - 12V the controller can be used at voltages as high as 20V if the 5V regulator is not heavily loaded. A CPU fan should be mounted on the heatsink with voltages of 12V or more.

NOTE: The original sample code was written in version 0018 of the Arduino IDE. Newer versioned included definitions of analog pins that prevented the code from compiling. The sample code listed here has been corrected to work with Arduino 0022.

For those advanced users who want to change the PWM frequency, beware! Frequencies above 24KHz will damge the controller.

Here's a something you might want to try.

 

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Anas's picture

I tried this parallel programmer with ATMEGA8A ( from MRGeneral). It succeded in programming the BootLoader. This is leading to one thing, the controller is not working properly.

OddBot's picture
Then this will be the second time that a controller has worked fine for a while and then had the processor die. Either we have some bad chips or people are getting Vcc higher than 7V somehow.
OddBot's picture

Assuming you followed all instructions correctly you may need a different version of avrdude. I had to use the avrdude from AVRstudio to program the bootloader and even then it fails the first attempt.

Try burning the bootloader twice. For some reason mine always fails the first time and works perfect the second time.

Anas's picture

i tried this parallel port ISP programmer, and get the following message:

avrdude: AVR device not responding

avrdude: initialization failed, rc=-1

avrdude: Yikes!  Invalid device signature.

avrdude: Expected signature for ATMEGA168 is 1E 94 06

avrdude: AVR device not responding

 ***failed;  

avrdude: verification error, first mismatch at byte 0x0000

         0x00 != 0x07

avrdude: verification error; content mismatch

OddBot's picture

I've never tried it before but according to the tutorial it should work ok. Give it a go. If it works then you have a new tool for your toolbox :D

Anas's picture

it seems good to use an other arduino as ISP programmer. The problem i dont have other working arduino. i have pic boards only.

can i use this simple parallel programmer? http://arduino.cc/en/Hacking/ParallelProgrammer?from=Main.ParallelProgrammer

 

Anas's picture

i think it is bootloader problem. However, i dont have SPI programmer. can i use simple usb - UART to down load the boot loader?

 

OddBot's picture

You need to use the ISP socket. You can use an Arduino as an ISP programmer. There are a few tutorials on the net. I use an Arduino Nano.

OddBot's picture

Ok. Check the solderjoints holding the USB socket to the PCB. If they are not cracked or broken then try reloading the bootloader

 

Anas's picture

I discconected every I/O during programming. but no success.

I used PS2 keyboard which is +5V. i connected the keyboard to the +5 pins on the board. the controller is not damaged since it still working on the last program. the problem is it is not accepting  new programing.