Older blog entries for Chuck McM. (starting at number 6)

Sigh, I feel like I'm getting old. I just found out that the LM567 has been end-of-lifed by National some time ago. Others still carry it but next thing you know the 555 and 301 op amps will be just so many memories.

My latest effort has been the Servo Gizmo which is a PIC based board for implementing action at a distance. It started life as a means to control the pneumatics on two of our team's BattleBots, but has since evolved into something much more useful than that.

Ok, I went and did it. I created a logo for robotics. Not just any logo, the one I've been working on in my head for 8 years. Check it out at my notebook. You can click on it (top right on the page) for the story and a higher rez version. Now to get a stitch tape made...

So here is something fun. Making your own small plastic parts without a machine shop. There is a company named Alumilite (www.alumilite.com)that sells a plastic casting kit.

I've been using it to make wheels that have an integrated Servo horn for use on servo based robots.

Check it out at: www.mcmanis.com/chuck/robotics/projects/casting/

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 source impedences.

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!

16 Apr 2002 (updated 16 Apr 2002 at 08:21 UTC) »

Progress and none too soon. Firmware development on the PIC is fun and sometimes slow. Pictures are up at my site with pictures of the official speed controller board.

Some folks who have built OSMC boards have done some testing and have run them at 160 amps. I hope they knew what they were doing, because if they did then my board should stay at nearly room temperature doing 200A.

Another month. Wow.

So how do you build a truly competition grade high current speed controller? Answer: Carefully :-). I've got what I believe is the final layout of my speed controller and its off to the PCB house for a prototype run. Things that I've learned are: 2 oz copper means holes get smaller. 4 layer boards have weird layout requirements The strangest was theiving.

Theiving is a technique where small squares of copper are added to a layer (away from other features) to create a better copper/substrate ratio so that plating is more even. Strange! The PCB house guys added it for me so I didn't have to worry about it but it was news to me.

The second thing I've learned is that FETs are cheaper than copper. My original design used 16 FETs (4 per leg) and that meant dissipating 240 watts of heat when fully loaded. Not impossible, but it was a challenge. So taking a cue from Victor and others, I ran the thermal analysis with 32 FETs, dissipation drops to 60 watts. A whole lot better. Now I need only a fan and my water cooling system is surplus. (not that I looked forward to having a radiator hose blow in my battlebot!)

Building them up next Friday, and then its off to melt steel (crowbars make a great dummy load for a 200Amp speed controller :-)

Whoa, this is a very cool site and I am extremely honored to have be certified at Master status. Lately I've been building a 200 amp speed controller for very large motors.

The current design is going to use two 16F628 PICs as the basic control mechanism (servo code reception and PWM generation). I could use a PIC16F87x but its actually easier to do the multiprocessing thing. The guys at Microchip really make it easy.

So projects on the way to this goal include:
Pulse Measurement -- This uses the PIC's input capture to measure pulses in the "servo" range.

And a project for generating the PWM. Now since the PIC only has one bit of PWM my circuit has the PWM output pin driving four AND gates whose other inputs are being fed by four GPIO pins. The four GPIO pins hold the "command" for the bridge and the PWM pin pulses it.

Share this page