Electronic – limiting servo current consumption

currentservo

The tl;dr version of my question is – how can I trade off ability to hold an exact position for current draw.

The full version – I've got a battery-powered system with a servo. the servo is controlling the rudder of an RC sail boat. As such, precision of positioning is secondary to power consumption, and the amount of resistance the servo will encounter will vary with conditions. Since this is a standard hobby servo, it'll draw a pretty substantial amount of current (for the environment) if it can't reach the requested position. How do I cut off the amount of current it will draw until such time that the amount of mechanical resistance drops enough for it to reach its target?

EDIT: Based on a comment, here's some additional info / measurements

There are two servos at play here, though the question applies to both the same. One controls the rudder, the other controls the sails (the second is basically a winch). Both will experience variable mechanical resistance.

I hooked each of them up to the 5V line on an Arduino and measured the current they draw:

The rudder servo, when moving without resistance draws about 50mA, some amount of resistance pushes the current draw up to 200mA

The winch servo draws about 100mA normal, as much as 500mA when there's resistance.

Best Answer

A simple current limiting circuit may meet your needs. This will prevent the servo from drawing any more current than you want it to by adjusting the value of the resistor in the circuit. http://www.radio-electronics.com/info/circuits/diode_current_limiter/power_supply_current_limiter.php