I'm looking to control a radio controlled car via my Arduino UNO. I want the UNO to control the steering servo, the drive motors will be controlled by the existing ESC with the control signal, that was coming from the RC receiver, will now come from the UNO. The ESC has a separate battery so power draw from the UNO should not be a concern.
From what I've read I can drive the steering servo directly with the UNO but servo's under load can also draw more current than the UNO can supply, first question: Is that correct?
Adafruit does have servo shields, one is for 12 servos, one is for 16 and one controls 2 servos but also stepper motors and drive motors.
Is there a shield, or some other kind of driver, for just a single servo?
From what I've read I can drive the steering servo directly with the UNO but servo's under load can also draw more current than the UNO can supply, first question: Is that correct?
Driving a servo and controlling a servo are different things. Driving means supplying the current (and voltage) that the servo needs to operate. Controlling is supplying the correct signal to the servo to make it do what you want( move to position). A servo can require an amp or more at the proper voltage (certainly depends on servo) of current to operate the motor. The signal is a Pulse Width Modulated signal of the proper voltage and very low current (a few milliamps). The Uno voltage regulator can not supply enough current to reliably DRIVE the servo, but can easily provide the correct controlling signal. So you don't need a "driver". You will need a proper power source connected to the servo power terminals, a wire connecting an Uno output to the servo signal input and a wire connecting the Uno ground to the servo/power ground.
The "Drive" part is what I was concerned with, The signal isn't much but the servo itself can draw more that the UNO can supply. As AWOL suggest I could use the ESC battery. That battery is powering the receiver and servo now. The battery plugs into the ESC, the ESC control signal cable plugs into the receiver, the servo also plugs into the receiver.
Based on what you're saying I could leave the battery plugged into the ESC, have a separate battery powering the UNO. Connect the ground and signal, not the power, from the ESC to the UNO. That keeps the ESC battery powering the drive motors and the PWM signal from the UNO.
I would do the same, signal and ground, from the servo connected to the UNO but how do I power the servo? I don't think I would connect it directly to the ESC battery, wouldn't I need a regulator or power transistor there?
directly to the ESC battery, wouldn't I need a regulator or power transistor there?
What is the ESC battery voltage? If it is within the servo voltage requirement specification you can connect it directly to the servo power and ground.
The ESC battery is a 7.2 VDC 4600 mah, NIMH battery. Actually I just bought one of the servos but it didn't come with a data sheet and the companies website doesn't list and specs. I'll call them on Monday.
As far as I know it's a "typical" servo. What is the normal voltage range for a servo?
It seems 4.8V to 6V is common for servo power supply. This has a section on servo power. Since your servo has no specifications, I would assume a maximum voltage of 6V. You can easily drop the 7.4V to near 6V with 2 silicon diodes (1N5400* for instance) in series with the plus side of the battery. So battery +, two diodes in series, servo power input. Diode bands toward servo power input.
*The 1N5400 is obsolete but still available and cheap. It is through hole package so easy to work with.
use of a small off-the-shelf dc/cdc converter might work for you if you don't really want to do your own fabrications. search "mp1584en step down" on ebay for possibilities. 7.2v to 5v is easily done.
A couple of great suggestions. I have a couple of diodes, so that would be easy. What about putting a resister it there to limit current? Although I don't know if the receiver limits it's power and the article groundfungus attached said maybe 1 amp. Interesting article by the way.
I found the dc/dc converters that wgOz mentioned on Amazon. 6 for $12, now there's a deal.
Using a resistor to limit current to a motor is always the very last choice. The voltage dropped by a resistor varies proportional to the current whereas a diode voltage drop is pretty constant versus current. Also any voltage dropped by a resistor has to be dissipated in heat. The more current the more heat (power) is pissed away. Diodes, used within their specs, won't dump heat. By setting the voltage to the correct value, current is automatically limited. Make sure that your diodes can handle the current and have the proper forward voltage drop. Do you have a data sheet for the diodes?
What is the part number? I can look, too. The important specs are continuous forward current (If) and forward voltage drop at 1 amp current (Vf @ 1A). The continuous current will be listed in something like the DC specs. The voltage drop at one amp is usually found in the graph of forward voltage versus forward current.
I considered the 1N400x diodes when I wrote the original post. They probably will work just fine since we are assuming 1 amp draw and that is probably more like inrush, not running. The reason that I chose the 1N5400 is that they are 3 amp continuous and drop less than 0.8V at 1 amp. Kind of a conservative choice. You will loose a little more voltage with the 1N400x as they are close to 1.0V drop (Vf) at 1 amp.
I'll get some of the 1N5400's and try them both out. I originally got the IN4004, at Radio Shack, to put around the coil of a relay I was using for EMF so I wasn't thinking to much of voltage drop at the time.