You are on page 1of 8

Home Sign Up!

Browse Community Submit


All Art Craft Food Games Green Home Kids Life Music Offbeat Outdoors Pets Photo Ride Science Tech

How To Radio Control DC Motors Cheaply


by Al1970 on June 14, 2008 Table of Contents How To Radio Control DC Motors Cheaply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro: How To Radio Control DC Motors Cheaply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 1: How It All Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 2: How To Hook Up The VEX Reciever To The Interface Chip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 3: How To Hook Up A Microcontroller To The Interface Chip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 4: List Of The Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 5: Pin Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 4 4 5 5 6 6 6

http://www.instructables.com/id/How-To-Radio-Control-DC-Motors-Cheaply/

Intro: How To Radio Control DC Motors Cheaply


For the people who don't know what a "VEX" is. It is a company that sells robotic parts and kits. They sell a "VEX" transmitter and receiver on their site for $129.99 but you can get a "VEX" transmitter and receiver for about $20 on "Ebay" and many other places. The "VEX" transmitter is a 6 channel FM transmitter with 2 joysticks that can go up & down and from side to side. On the backside of the transmitter there are 4 buttons which control channel 5 and channel 6. The transmitter controls can be set to tank-style or arcade-style. The transmitter has a host of other features. This makes it a very cheap way to remote control servos. The only problem is that you can only control servos motors and you need to buy an expensive $149.99 "VEX" microcontroller just in order to do that. That is until now!

http://www.instructables.com/id/How-To-Radio-Control-DC-Motors-Cheaply/

http://www.instructables.com/id/How-To-Radio-Control-DC-Motors-Cheaply/

Step 1: How It All Works


This low cost ($14.95) "motor interface chip" can be bought at: http://robotics.scienceontheweb.net The chip can decode the signals from the "VEX" receiver to control up to 8 motor's H-bridges and 1 driver. It can also receive commands from another microcontroller chip to control the motors. This interface chip uses 3 output pins to control a motor's H-Bridge. Two pins to control the motor's direction and one pin to control the motor's speed by using P.W.M. The chip uses the input from the two buttons on channel 5 to control the input from the "VEX" transmitter left joystick so that it can control 6 motors. The chip uses the input from the other 2 buttons on channel 6 to lock in the high or low output on pin 14 of the motor interface chip. The motor interface chip has the following features. These features may not work since a receiver may pick up a signal from anywhere. We assume no responsible directly or indirectly from using these parts. WARNING! NEVER USE THE REMOTE ON A ROBOT THAT CAN CAUSE DAMAGE IF IT GOES OUT OF CONTROL. If your robot goes out of transmitter range; the motor interface chip may shut down the motors and give control to a microcontroller if your robot is using one. This may also be true if you turn your transmitter off. The motor interface chip does not use a serial port to communicate with other microcontrollers. This means you can use a very inexpensive microcontroller chip to be the brains of your robot. Putting a low on pin 2 will cause all the motors to operate at half the power level when using the transmitter.

Step 2: How To Hook Up The VEX Reciever To The Interface Chip


Motors, relays and power supplies will cause radio interference; so pick a spot on your robot where the "VEX" reciever is far away from these things. I mounted mine on a 43 in. long mast that was attach to the robot's base. The "VEX" reciever comes with a yellow cable. Plug the cable into the "VEX" reciever, the other end of the cable plugs into a telephone handset jack. You must buy the jack. Since I will not know the colors of the wires coming out of your jack; I will referent the yellow cable wires. If you look at the yellow cable you will see 4 wires which are yellow, green, red and white. The yellow wire gets wired to + 5 volts. The green wire is the signal and it gets wired to pin 6 on the interface chip. The red wire gets wired to ground. The white wire is not used. You need to wire a 4.7 K pull up resistor from pin 6 on the Interface Chip to the + 5 volts. You will also want to wire a 2200 uf capacitor across the power wires close to the "VEX" reciever. Pin 2 is an input pin. It must be wired and NOT left floating. It can be wired to + 5 volts or ground thru a 47 ohm resistor. It can also be wired to pin 14. Option 1: pin 2 high will give the full range of power to the motors. Option 2: pin 2 low will give half the range of power to the motors. Option 3: pin 2 wired to pin 14. When channel 6 top button is pressed it gives the full range of power to the motors. When channel 6 bottom button is pressed it gives half the range of power to the motors.

http://www.instructables.com/id/How-To-Radio-Control-DC-Motors-Cheaply/

Step 3: How To Hook Up A Microcontroller To The Interface Chip


Your microcontroller if you are using one can communicate with the Interface Chip over 3 wires. Pin 7 on the Interface Chip is the input for the data bit. When the pin is low it is a zero data bit. When the pin is high it is a one data bit. Your microcontroller must output the data bit before the clock pulse. The data bit must be at least 40 us long. Pin 16 on the Interface Chip is the input for the clock bit. Your microcontroller must output a high pulse for at least .5 us. Pin 5 on the Interface Chip is an output pin. When this pin goes high it is to let your microcontroller know that it is ready to receive the next command. This pin will go low if the Interface Chip is getting a signal from the "VEX" transmitter. This pin will also go low and stay low if there was a communication error between your microcontroller and the Interface Chip. Pin 4 is an output pin. If there is a communication error between the Interface Chip and your microcontroller, this pin will go high and stay high . A reset must be done in order to clear this error.

Step 4: List Of The Commands


There are 32 commands that the interface chip understands. All the commands are 3 bytes or 24 bits long. The format for the commands are as follows. The 1st byte that is sent is always the command byte which is the left most number on the list below. The 2nd byte sent may be a PWM byte. It is a number between 0 and 50. When a 0 is sent the P.W.M. pulse is low which means the motor will be off. When the number 50 is sent the P.W.M. pulse is high which means the motor will be on at full power. When the number 25 is sent the motor will run at about half power. As seen on the list sometimes the 2nd byte is just 0 which is being used just for a place holder. It has no affect on the motor. The 3rd byte sent may be a PWM byte or an error checking number. Example: To order motor 1 to go at full speed and motor 2 to go at half speed forward, the command would be. 1 50 25 To order motor 7 to go backward at 10% power, the command would be. 16 5 16 1 Motor 1 & 2 forward, PWM #, PWM # (no error checking) 2 Motor 1 & 2 backward, PWM #, PWM # (no error checking) 3 Motor 1 forward, PWM #, 3 4 Motor 1 backward, PWM #, 4 5 Motor 2 forward, PWM #, 5 6 Motor 2 backward, PWM #, 6 7 Motor 3 forward, PWM #, 7 8 Motor 3 backward, PWM #, 8 9 Motor 4 forward, PWM #, 9 10 Motor 4 backward, PWM #, 10 11 Motor 5 forward, PWM #, 11 12 Motor 5 backward, PWM #, 12 13 Motor 6 forward, PWM #, 13 14 Motor 6 backward, PWM #, 14 15 Motor 7 forward, PWM #, 15 16 Motor 7 backward, PWM #, 16 17 Motor 8 forward, PWM #, 17 18 Motor 8 backward, PWM #, 18 19 All motors speed, PWM #, 19 20 Motor 1 & 2 speed, PWM #, PWM # (no error checking) 21 Motor 1 & 2 stop, X, 21 (pins low) 22 Motor 1 stop, 0, 22 (pins low) 23 Motor 2 stop, 0, 23 (pins low) 24 Motor 3 stop, 0, 24 (pins low) 25 Motor 4 stop, 0, 25 (pins low) 26 Motor 5 stop, 0, 26 (pins low) 27 Motor 6 stop, 0, 27 (pins low) 28 Motor 7 stop, 0, 28 (pins low) 29 Motor 8 stop, 0, 29 (pins low) 30 All motors stop, 0, 30 (pins low) 31 Pin 14 high, 0, 31

http://www.instructables.com/id/How-To-Radio-Control-DC-Motors-Cheaply/

32 Pin 14 low, 0, 32

Step 5: Pin Summary


Input Pins Pin 1 If it goes low it does a rest (MCLR) Pin 2 If low it only gives one half of the output to the motors Pin 6 "VEX" receiver Pin 7 commands and data from another microcontroller Pin 33 data interrupt Pin 11 + 5 volts Pin 32 + 5 volts Pin 12 ground Pin 31 ground Output Pins Pin 34 P.W.M. for motor 1 Pin 35 High when joystick 1 is left Pin 36 High when joystick 1 is right Pin 37 P.W.M. for motor 2 Pin 38 High when joystick 2 is up Pin 15 High when joystick 2 is down Pin 16 P.W.M. for motor 3 Pin 17 High when joystick 3 is up Pin 18 High when joystick 3 is down Pin 23 P.W.M. for motor 4 Pin 24 High when joystick 4 is left Pin 25 High when joystick 4 is right Pin 26 P.W.M. for motor 5 Pin 19 High when joystick 3 is up and top button 5 is press Pin 20 High when joystick 3 is down and top button 5 is press Pin 21 P.W.M. for motor 6 Pin 22 High when joystick 4 is left and top button 5 is press Pin 27 High when joystick 4 is right and top button 5 is press Pin 28 P.W.M. for motor 7 Pin 29 High when joystick 3 is up and bottom button 5 is press Pin 30 High when joystick 3 is down and bottom button 5 is press Pin 8 P.W.M. for motor 8 Pin 9 High when joystick 4 is left and bottom button 5 is press Pin 10 High when joystick 4 is right and bottom button 5 is press Pin 14 Stays high when top button 6 is press; goes low when bottom button 6 is press Pin 5 Tells other microcontroller it can send the next command Pin 4 Goes high if a command error has been detected All the other pins are not being used. No need to put pull-ups on these pins.

Related Instructables

Simple Arduino Robotics Platform! by CalcProgrammer1

PIC RC Motor Controller (and example lego Sparky - DIY robot) by Web-Based PaulMakesThings Telepresence Robot by sparkyrust

iRover: Remotely controlled iRobot Create (or Roomba) by techgeek75

iRobot Create Personal Home Robot by dttworld

HOW TO MAKE A simple RC SPY ROBOT by charbel harfouche

Comments
29 comments Add Comment

momomo68 says:

Feb 4, 2011. 5:27 PM REPLY I realize this is an old post- I'm having trouble finding how to control 5-6 dc motors w/ remote control because the links are no good anymore, any current info on the topic? Thank you. Mar 24, 2009. 11:56 AM REPLY Anyone know why radio-controlled model (electric) trains aren't marketed? Seems like a good idea to me because: RC offers more commands than existing control systems; speaking of transformers, RC offers lower input voltages; should be easy to run several trains and keep each under separate control. I ask because I'm planning to build a model railroad.

haclil says:

http://www.instructables.com/id/How-To-Radio-Control-DC-Motors-Cheaply/

evad says:

Jun 19, 2009. 1:10 PM REPLY Because the latest in model train control is DCC- Basically, the track has a constant DC voltage, and AC signals from a controller are sent "on top of " the track voltage, and the engine has a receiver / decoder. They can be had with many channels. Some live steam and garden railway folks use R/C

kissiltur says:
I wondered if anyone was doing that with trains. Thanks.

Sep 22, 2009. 1:30 PM REPLY

123KA says:

Nov 27, 2010. 2:35 AM REPLY Wow thanks for this instructable I am building a robot for my son with some parts from RC Tanks that I got from here. We didnt have the budget for all of the radio gear but this has really helps... Thank You.

akhile1996 says:
i am actully feeling bad as VEX is not present in ebay india.So please reccomend something else.

Mar 12, 2010. 2:56 AM REPLY

akinich says:
hey i live in india too where do u live? i live in chennai by the way my name is also akhil(aki)

Apr 17, 2010. 12:59 PM REPLY

ben_englund says:
For cheap RC gear go to http://www.raidentech.net http://www.hobbycity.com http://dealextreme.com They have pretty much everything you need Ben

Mar 31, 2010. 7:26 PM REPLY

adam 101 says:


does the PWM come from the remote or a micro controller?

Sep 26, 2009. 6:37 PM REPLY

Al1970 says:
Comes from the micro.

Sep 26, 2009. 11:13 PM REPLY

adam 101 says:


so you are saying i cant control speed remotely with this?

Oct 1, 2009. 9:01 AM REPLY

Br547 says:
Is this the same thing as the vex signal splitter that vex offers on there web site?

Apr 28, 2009. 7:45 AM REPLY

Al1970 says:
Hi: No. It is not make by "VEX" This chip can control up to 8 DC motors.

Jun 19, 2009. 9:44 PM REPLY

SaurabhSingh says:

Jan 14, 2009. 2:14 AM REPLY I NEED A HELP REGARDING MY PROJECT OF "RC HELICOPTER" I HAVE TO CONTROL THE SPEED OF FOUR DC MOTORS BY MEANS OF IR REMOTE CONTROL

TheTrustedOne says:
Is it just me or is that "interface chip" a PIC16F uC, probably pre-programmed with your guess is as good as mine firmware?

Dec 22, 2008. 9:59 AM REPLY

yourtubemeera says:
hello does anybody has the circuit diagram of this robot http://www.robotroom.com/Sandwich.html i really wanna make this n don hav money to buy d book or the PCB

Jul 10, 2008. 4:45 AM REPLY

http://www.instructables.com/id/How-To-Radio-Control-DC-Motors-Cheaply/

Procrastination says:
search "line follower" and I'll bet the sandwich curcuit is copyrighted but general line followers arn't

Dec 5, 2008. 6:05 PM REPLY

The Jamalam says:


the front of the control looks like a face and the back looks like a pair of eyes :P

Jun 20, 2008. 9:20 AM REPLY

benthekahn says:
I found a place to buy the Vex remote and receiver for $30.

Jun 19, 2008. 4:00 PM REPLY

Al1970 says:
You can get them on EBay for less.

Jun 19, 2008. 11:16 PM REPLY

chadsly says:

Jun 16, 2008. 6:58 AM REPLY This is really cool. I'm hoping to get the chance to turn my electric lawn mower into a remote controlled lawn mower. This should work well. The link on the second page worked, but when I click to purchase it, the link sent me to a web host. Can you check those links again?

Al1970 says:

Jun 17, 2008. 1:22 AM REPLY Hi chadsly: The links do work but it is a free web site so they work only when they want to LOL. The link would take you to PAYPAL. You can just go there and send the money to: arealperson@hotmail.com At some point do you want to give the lawn mower a brain?

alexhalford says:
Can PWM be used on AC motors and if not how could I control the speed of an AC motor? Thanks Great 'ible Alex Halford

Jun 15, 2008. 12:08 PM REPLY

Al1970 says:

Jun 15, 2008. 3:32 PM REPLY Hi: Speed control for some A.C. motors is done by clipping the peaks of the AC waveform. But there are many types of A.C. motors and they don't all work the same way.

dchall8 says:

Jun 14, 2008. 5:11 PM REPLY Oh, yeah! That's what I'm talking about!! Here's a question for you. Can you do something similar to control the motors on an RC airplane or car with a wireless X-Box or Playstation controller?

Al1970 says:

Jun 15, 2008. 12:20 AM REPLY Hi dchall8: I don't have a wireless X-Box or Playstation controller so I wouldn't know. I am sure they could NOT be used for an airplane, the range would be too short. The VEX transmitter was just so cheap on Ebay, I had to give it a try.

dchall8 says:

Jun 15, 2008. 11:09 AM REPLY A power boost and antenna for a game controller seems like a worthwhile project for someone. The game controllers already have the joysticks, but they also have a lot of other buttons that could be used to do other things on the vehicle. For example if you had an aerial photography plane, you could pan, tilt, zoom, adjust the focus, etc. from one very inexpensive controller.

mrbob1000 says:

Jun 14, 2008. 6:27 PM REPLY a wile ago i saw an rc car that was controlled by a playstation 2 controller but i dont know if you can still find one. i also saw a xbox controller (old one not new) controlling a rc heli (home made) wirelessly.

joejoerowley says:
Very Cool! This will be very useful for a stage I building in the fall. Thanks Joe

Jun 14, 2008. 2:11 PM REPLY

http://www.instructables.com/id/How-To-Radio-Control-DC-Motors-Cheaply/

You might also like