Sunday, March 24, 2013

Hardware planning and initial testing

My rover base and motor controller arrived, and I'm quite pleased with them. The rover base is larger than I expected and very solid. I've gotten as far as hooking up the controller to the base and manually jumpering +5V to the control pins to get the treads to spin and confirm all four channels of the controller are ok. Everything looks good.

The motor controller has two inputs per motor - a pulse width modulation input and a direction input. Each motor thus requires two inputs.

However, two motors drive each tread, and it's a safe bet that the motors on each side will be running at the same time and in the same direction, so I plan on driving each side of the vehicle from the same two IO pins.

Because the motor controller expects 5V logic inputs, and the IOIO uses 3.3V logic, I opted to use of the the cool little logic level shifter boards from Gravitech to convert them. Mouser Electronics carries them, and I got it there. Odds are it would have switched at 3.3V, but in the interest of reliability I decided it was worth the effort. I did look at the shifters from Sparkfun, which are small and inexpensive, but this one is easier to mount to the chassis, so it won.

Next step is to add the needed few lines of code to the server program that runs on phone to actually toggle the IOIO pins in response to client input, and verify I actually get 5V out the other side of the logic converter.  At that point I'll be ready to test the motor control over the network. More to follow.

Saturday, March 2, 2013

Rover platform selection

I put a fair amount of research into the robot platform. A standard approach is to modify an R/C car, but I wanted something that could maneuver in tight spaces, be durable, and capable of climbing over modest obstacles.

I selected the Dagu Rover 5 since it appears to be pretty capable. The only negative I've heard is that it can occasionally shed tracks if heavily loaded, but the videos I saw of it in action look perfect. It can also be changed to wheels later, if you prefer, so its pretty flexible. It includes shaft encoders on all 4 motors, which can tell a microprocessor how much the shaft is turning. This would be very useful if I wanted to make the rover autonomous.

Driving the motors was an interesting challenge - each is rated at 2.5 amps stall current, which is a bit over the rating of the standard LM293 controller boards. Dagu sells a $27 board specifically for this rover, with 4x 2.5 amp outputs, and circuitry to read the shaft encoders. I eventually determined that's a pretty good deal and selected it.

Here's a demo video a fellow on Youtube shot of his Rover 5 buzzing around outside.