DPRG List  

[DPRG] How to protect TETRIX motors

Subject: [DPRG] How to protect TETRIX motors
From: Chuck McManis cmcmanis at mcmanis.com
Date: Wed Feb 20 00:32:21 CST 2013

This has been an interesting discussion for two reasons, one because
the state of motor technology is still kind of sad, and two because
there is a self destructing motor out there.

On the motor, it fries, as many have observed, because at high
currents it cannot dissipate the heat buildup in the wiring which
subequently melts. The simplest way to keep it from smoking and dying
is to put a resistor in front of the driver. As you would expect this
lowers the voltage the motor sees as the resistance goes up. Measure
the static wire resistance of the armature, pick a safe "current", You
want the voltage to be 'zero' at that current, so apply ohms law as

E = I * R -> R = E/I, compute R total
Now Rtotal = Rwire + Rlimit So your limit resistor is (Rtotal - Rwire)
pick a resistor that is the next higher resistance (round up) and put
that limiting resistor in series with your motor. Poof, no more melt

There are two downsides of course, the first is that torque is
proportional to current and since the resistor will never let the
current get too high, even for an instant, your motors will be less
'torquey' The other issue is that resistor will dissipate heat,
I*I*Rlimit at the worst case (where I is the max current). Lets say
you have a 5W power resistor as your current limiter because its 1 ohm
and at 2 amps that is 4*1 or 4 Watts. That thing will get hot, and
that heat is wasted battery power.

The alternative is to build a chopper circuit. Use a much smaller
resistor as a shunt (say .01 ohms) and an opamp to measure the voltage
drop over that resistor, then when the current exceeds your threshold
have it turn off the power (easy way is a FET in series with ground)
Now when ever the motor trys to draw too much current, blam, the
circuit turns it off. You can put an RC network on the output to limit
the slew rate (which will let the motor go overcurrent briefly (based
on the time constant) but will still protect it from extended current


On Tue, Feb 19, 2013 at 4:57 PM, Dick Swan <dickswan at sbcglobal.net> wrote:
> Several suggestions.
> Run the motors at 25 to 50% of max power if that is still sufficient to move
> your arm. Or at least use this level for testing until you've got your code
> functional.
> Probably not legal but run the motor power outlets through a limit switch
> that mechanically disconnects the motor power when reached.
> Create a separate task that is monitoring the encoders and power level. If
> motor encoder does not change for NN millisecond and high power is being
> applied then motor is stalled. Have the task stop the motor!
> There may be an alternative source for the motors? The original motors were
> same manufacturer part number as a motor that I think Lynxmotion (now part
> of Robot Shop) used to sell at a lower price. In any case, the encoders
> should be re-usable on a different motor.
> _______________________________________________
> DPRGlist mailing list
> DPRGlist at dprg.org
> http://list.dprg.org/mailman/listinfo/dprglist

More information about the DPRG mailing list