Whew. Haven't done an entry for a while so figured I'd
update here and the web site later. BattleBots 6.0 has come
and gone, and my new speed controller aquitted itself
nicely altough there was one casualty. However, unlike
previous events KillerB was moving the entire match.
I have learned a remarkable amount about higher power
switching than I thought I ever would. This is what makes
robots so fun, you can go as deep as you'd like in any of
mechanics, software, or electronics and just keep going
deeper and deeper and deeper.
Things I learned about first hand were ripple current and
Ripple current is that A/C current component that a
capacitor across a PWM switching circuit "sees" when the
PWM circuit is operating. An engineer from Agilent started
me down the right path (he designs servo controllers) and
it opened an interesting door for me.
When you're running PWM you expect that the inductance of
the motor and its coil resistance will create a low pass
filter such that the motor "sees" a voltage that is
proportionally smaller than the full switching voltage.
That's pretty basic, but the A/C voltage is there too and
its amplitude is proportional to the width of the pulse as
well, except that it peaks at 50% duty cycle and goes down
if you are greater or less than 50%.
Why that is, is related to the circuit configuration, but
the interesting bit is that this A/C voltage is generating
a current in your filter capacitors (the ones that are
trying to keep the motor surges from destroying your
switching elements) and that current can be substantial
when you are flinging 100 - 200 amps around. So substantial
that the first time we fired up the speed controller on the
robot the 10uF capacitors on the speed controllers exploded!
After replacing them with higher voltage rated capacitors
(I hadn't clued in yet) they exploded again. Then I
switched to a higher value capacitor (100uF @ 63V) and the
steel leads vaporized! [The capacitor actually survived]
Finally in desparation at 3AM of the day of our first fight
I swapped in some 10,000 uF capacitors that I had from Digi-
key. These were configured as "RCD" (Resistor-Cap-Diode)
snubbers. I had some 5 ohm 5 watt resistors for the
resistors. On the initial tests it worked great! But the
resistor was getting so hot it was bubbling. Never a good
sign! So on my second snubber I used a 10 ohm 10 watt
resistor (big mistake!). At the end of our match on
Saturday one controller was dead, the other was fine (yes
we had tested it but nothing stresses things like the
battlebox). The difference? One resistor.
The resistor is there to "burn off" the surge and convert
it into heat. However if it doesn't burn it off fast enough
(ie with a low enough resistance) then when the next surge
hits the previous one is still lingering in the capacitor.
Uh-oh, there goes your FETs if you're right at the edge as
I was in terms of margin. (40V FETs on a 24V controller) By
swapping the FETs for 55V ones (that gave more margin) and
with 4.7ohm 10 Watt snubber resistors. The world is a much
happier place! While I dislike learning this stuff under
duress, at least it will stay with me for a while!