Thursday, May 30, 2013

It lives! First experimental drives...

I've gotten the board installed on the aluminum mounting plate, and all wired up. I've done some short experimental drives both outside and inside the house. My pug was not amused.

So far, it's driving well. I have had the rover shed a track once, but it has been otherwise reliable.

Right now it's very simple - the motors controller inputs are driven from the IOIO PWM ports, but they are just being turned fully on or off for right now. Now that I have a couple successful test drives, I have a number of improvements I want to make.

Lessons learned so far:

1) The Gravitech 3V->5V line level converter was less than satisfactory. I wired mine up according to the instructions, and connected the 3V outputs from the IOIO to the 3V inputs on the level converter board. No matter what I did, I only got 3V out the other side. I emailed their support account, but never got a response. This was disappointing. I found that the motor controller board seems to switch just fine at 3.3V logic, so I just eliminated the board from the design. 

2) Even with the very crude video streaming, there seems to be plenty of bandwidth even on my very old access point to stream and drive.

Now that I know the concept works, I have a lot of things I want to improve:

1) I need to set up my robot control app to start automatically when the phone boots to avoid a lengthy setup time when I want to drive it.

2) Variable speed, based on mouse location, is next. This will use the IOIO's PWM outputs to drive the PWM inputs on the motor controller board.

3) An Android app to drive the rover would be fun.

I'll also work to get some code and video posted. Here's some closeups of the deck and electronics mounting