Archive for Robot

DC Motor Driver

I wrote a simple driver a few nights ago for the single DC motor driver FAN8082 by Fairchild. This is a very straight-forward 8 pinned IC. The motor is controlled by two inputs, and can be set to spin forward, reverse, or brake. Today I setup a breadboard on the car and wired the microcontroller circuitry to the 4 AA batteries housed underneath the car. After some experimentation with the motor driver, I gave the DC motor its own dedicated 9V supply :-)

Yes it spins very fast (relatively speaking to the stock setup), but I think it will work out fine. The DC motor driver is actually very neat because you can control the speed of the motor by changing the voltage on the Vctl pin (I left it unconnected).

Here is a short video of the motor spinning forwards and backwards, toggled by a simple button connected to the microcontroller: video

Comments (1)

AVR Servo Control

Well, my two days worth of figuring out AVR timers and PWM produced a very small and clean servo driver. Today my two 5g servos arrived and I hooked up one of them to the chip. I setup a test program and it worked out of the box. If you care to see it, just watch this:

http://www.frozeneskimo.com/electronics/wp-content/uploads/Videos/avrservo.avi

Comments

RF Transmitters/Receivers Arrived

Those RF units I was talking about in the previous post arrived today. Since the transmitter and receiver are actually separate devices, I ordered two sets at different frequencies for the robot and computer to communicate. One set is 433MHz, the other set is 418MHz.

These things are very small, and after playing with them, they seem to be on par for $12 per transmitter and receiver pair–even though they have a maximum speed of 2400 bps. I hooked up the transmitter to an AVR microcontroller (ATTiny2313) that was sending A’s straight out of the UART port. I hooked up the receiver to max232 serial module which was connected to my computer through a serial->USB converter. When the transmitter isn’t transmitting, the receiver picks up junk data that is floating around. With the AVR sending A’s though, I could see a fresh, clean stream of A’s coming in with the transmitter and receiver about 10 inches apart. It simply worked out of the box. More distance between the transmitter and receiver required some sort of an antenna, so I just plucked a 5 or something inch wire with the transmitter, and the receiver picked up the A’s from all the way across my room (it probably could have picked up from even further).

Here are some pictures of the devices:

__(’Read the rest of this entry »’)

Comments

Building a Basic Robot

Well, I’ve decided that I wanted to build a basic robot based on a toy car I recently dissected. I took out all of the cheap RF stuff in there, and left the back DC motor and gear box that gives it two-wheel drive. I also modified the front wheels so that they had complete left and right freedom of motion (the radio controlled toy car had this interesting steering mechanism that had only let the wheels point straight or to the right).

What do I have left? A simplified car frame with two-wheel drive, 4 AA battery compartment housing, an on-off switch, and front wheels that can’t steer. The only thing to do mechanically is to add steering to the two front wheels, which I’ll probably do using Ackermann Steering, kind of like what cars use. I originally thought of using a gear rack, and doing a simple rack and pinion model with a stepper motor, but later I found out that the easiest (and cleanest) way is to use a servo motor. Since the two front wheels have a connecting bar that keeps the wheels parallel, I only need to focus on moving this bar left or right. A stiff wire connected from the horn of a servo motor to this bar (or a wheel) would do exactly this. Besides, servos remember their position, so all I’ll have to do is send it the angle I want the wheels to be at. I ordered two cheap 5g servo motors from ebay.

__(’Read the rest of this entry »’)

Comments