**Imagine an ideal brushed DC motor whose +/- coil wires are directly connected to an adjustable DC voltage power supply, and whose output shaft is connected to a dynamometer capable of maintaining a constant torque.
The power supply is adjusted to 12 volts applied to the motor, and the dynamometer is set to maintain a constant load of To ounce inches on the motor’s output shaft, and as a result the motor spins at Wo RPM and the motor is drawing Io Amps. Assume this operating point is well within the motor’s safe continuous-duty operating range.
Without changing anything else, the applied voltage is adjusted down to 10 volts. Assume the motor is still spinning at this lower voltage. Ignoring secondary effects such as windage and bearing friction etc in the motor, to a first approximation what happens to the motor speed and current due to the decrease in applied voltage?
a) speed decreases and current decreases
b) speed decreases and current stays roughly the same
c) speed decreases and current increases
d) speed increases and current decreases
e) speed increases and current stays roughly the same
Alright, here’s my shot: The DC motor state equation is Voltage = kspeed + current over windings * R, which means that voltage is being split between back-EMF (the first term) and actually producing torque (second term). We can ignore k and R because this is asking about relative increase/decrease and both are positive constants. When voltage decreases, one of the two must decrease along with it. However, we’re told that torque is constant, so IR must remain constant. Therefore k*speed must decrease, so the motor gets slower.
EDIT: The instantaneous effect is that current drops, because velocity can’t change instantly. This reduces the torque for a moment, slowing the motor down until the back-EMF compensates entirely for the change in voltage.
I’ve got one but it’s important: modeling your motors for open-loop control or for feed-forward in closed-loop. By driving the robot at a bunch of steady voltages, you can find the velocity vs. voltage curve (it’s actually a line). The y-intercept of that line will give you the minimum amount of torque/current you need to overcome friction. The slope of that line gives K in the motor state equation I discussed above.
Once you have that equation, accelerate the robot any way you want (driving around works) and measure the voltage, velocity, and acceleration (use the derivative of velocity, not an accelerometer, they’re too noisy). By subtracting out the voltage that the motor “should” draw according to the line you got above, you can find how much voltage is going towards “productive” (i.e. not fighting friction) torque. Plotting that voltage against acceleration gives you R, the resistance of the windings. With these measurements, you can upgrade your open-loop/feedforward from voltage=12*(velocity sp/max speed) to voltage = kvelocity sp + intercept + r(acceleration), which almost fully characterizes the motor. The only things missing are inductance and capacitance, both of which are negligible for a drive motor and probably negligible for any mechanism slower than a can grabber.
“You must spread some Reputation around before giving it to noah.gleason again.”
@Mark: 3620 has not done what Noah describes, but we have used current as a measure of excess drag torque in two ways:
we dial in alignment and belt tension in our drive trains by measuring motor current required to drive them with wheels-up; i.e., chassis on blocks. Any current beyond N*I_free, where N is the number of motors per gearbox, is excess drag. We never completely eliminate that excess, but we aim to get it below 1.5 Ampere. We also aim to get it balanced left vs. right, so the robot will be easier to drive on a straight path. (We are a skid steer team, up through 2017.)
we measure motor current required by scoring mechanisms to determine how much friction we are fighting, and use that information either to explore ways to reduce the friction, or to assess how much our speed-reduction ratios must be adjusted to prevent motor overheating and/or brown-outs.
Both of the above are performed during prototyping and again during final integration of the robot, using in-line ammeters between the motors and their controllers. We use the same procedures to diagnose problems that arise during practice or at competition.