March Break 2012 - Robot Challenge

In 2011 my son and I built some robots. They performed some simple behaviours and I considered the build a success. But the design did suffer from several flaws which I hoped to remedy in this year's build. Since then the project has morphed into a more serious project which can be found under the Fitzy and Carraldo Project.

These pages you are reading are depricated and will not be updated further.

Drive Train

The 2011 robots used the T-Pro Mini Servo SG-90's modified for continuous rotation. When sent a control pulse of 1.5 ms the servos should be motionless. A longer pulse width causes motion in one direction. A shorter pulse width causes motion in the other. In practice 1.5 ms may not result in a motionless state so you have to tweak the width a bit. Further, over time, the centre drifts so that the motors start to creep in one direction or the other.

Secondly, while pulses that deviate further from the centre value of 1.5 ms cause the motion to be faster, there is no simple relationship. This means it's hard to control the exact speed of the wheels. So, this year my #1 priority is to add optical encoders to the wheels so the robot can determine their speed and direction. This will allow much better dead-reckoning navigation.

In addition, I want to add the option to use other gear motors like the small Pololu gear head motors. These will give higher top-end speeds. The SG-90's rotate at less than 1 revolution per second. The Pololu 1:100 motors should top out at about 5 rps. This means that the software will support two drive methods. A simple PWM to drive the servos, and an H-Bridge plus direction and PWM to drive the Pololu gear head motors.


Last year we used the simple led plus a phototransistor combo to give our robots some vision. One pair faced forward to look for obstacles or victims, while the other pair faced downward and was used to follow lines and stay within an arena.

The led plus phototransistor combos will still be used for close range but I plan to add a Sharp IR range sensor. The Sharp 2Y0A21 is sensitive from about 10 to 80cm and should give our new robot better long range vision.


A robot should always have a purpose or else it feels sad. Sumo and line following are fine but on this robot I'm planning on adding some novel appendages in future projects so I need to reserve some control lines for future add-ons. Specifically I will bring out the I2C lines and a handful of digital and analogue I/O lines. I can use the I2C to communicate with add on boards that can add all kinds of neat functions.


Last year we powered the robots via quad AAA battery packs. These are seriously underpowered for having lot's of fun. This year we will use 3 cell Li-ion packs made from salvaged cells from old laptops. The best are from old Sony laptops and yield 3.78V at 2200mAh per cell. Wiring three in series will give 11.34V at 2200mAh. To power the motors I will use an economically priced switching buck regulator to drop the voltage to 6V. The particular regulator I use claims a 10A capability which should far exceed our requirements. Being a switching regulator it will perform the voltage conversion with relatively few losses. Also, this year I will use 3.3V linear regulators to power the microcontroller.


My hopes for this robot are much higher than last year so I will be using a 44 pin dsPIC33FJ128MC804 in a TQFP surface mount package. These are very easy to solder with modest equipment. So don't let "surface mount" scare you. You'll be surprised how easy it is and soon you'll want to do nothing but. I routinely solder 1206 (0.12 x 0.06 inches) passive components with no trouble at all, even with my middle-aged eyes. Even 0603 (0.06 x 0.03 inches) are doable although I wouldn't personally want to do anything smaller.

So there you go. My ideas for this year's robot. Next, circuits will spring to life.

Next Section: The Details