Go Down

Topic: Arduino RC Car motor (Read 833 times) previous topic - next topic

jake128

I have a RC Motor that runs on 7.2 volts is there any way to control the speed and direction of the motor from the arduino.

MikMo

First thing to check is whether it's a DC motor or a servo motor.

If it's a DC motor (most likely)  you will need an H bridge IC that can handle the current draw of the motor.

Search the forum for "H bridge" and "DC motor" then you will find lots of info on how to do it.

scottmcleod

...or even better, just get a speed controller for R/C and plug it into the arduino. The ESC (Speed controller) itself is an h-bridge, has reversing, etc... and is MEANT for this.

No?
-Scott

bluesxman

I'm working on doing just that.  I think my problem is trying to get the ESC to arm.  From what I've heard I need to start it out with 1000 us pulses for a couple of seconds, which I've tried and haven't had any luck.  This weekend I'm going to see if I can use the arduino to sniff the signal the radio receiver sends the ESC and then try to replicate that.

kBit

Quote
I think my problem is trying to get the ESC to arm.  From what I've heard I need to start it out with 1000 us pulses for a couple of seconds, which I've tried and haven't had any luck.  This weekend I'm going to see if I can use the arduino to sniff the signal the radio receiver sends the ESC and then try to replicate that.


ESC safeties tend to take a specific pattern to unlock. Try a couple seconds of 1000 uS, followed by a couple seconds of 2000 us, followed by 1000 uS. You should now be "armed." If that doesn't work, try the reverse.

mnaef

Quote
I'm working on doing just that.  I think my problem is trying to get the ESC to arm.  From what I've heard I need to start it out with 1000 us pulses for a couple of seconds, which I've tried and haven't had any luck.  This weekend I'm going to see if I can use the arduino to sniff the signal the radio receiver sends the ESC and then try to replicate that.


1000us is too short. A neutral pulse is 1500us, with 1000 and 2000 roughly being the extremes. Also make sure you leave about 15-20ms between the pulses. In any case, why not just use one of the servo libraries?

Martin

Go Up