Search all of my sites with Google

Monday, June 22, 2009

Designing A Motor Controller...

...is a lot harder than it looks.

Saturday I started building the UC3637 design. Before I even finished it, at an early stage in testing at low voltages and virtually no current, without even having the chip driving MOSFETs or a load, the chip just died. Internal short. I suspect ESD, despite my precautions (I don't have a full ESD bench, just a grounding strap and years of experience in how to not blow stuff up with ESD).

I was kind of upset, and since I had another design I wanted to test, I started up a new one with yet another kind of chip. This one at least made it to the bench-motor-testing stage. Then it died at very low throttle with no load on the motor, a few seconds into testing. Most pins on both the MOSFET driver chips *and* the motor controller chip are at the same voltage as the main power level, which means there is an internal short in them, too. :(

It did actually work, though. The 4pole motor started up fine and ran at low speed for those few seconds before a 60V/80A MOSFET (or both, it's a half-bridge) popped and then took out the Micrel MOSFET drivers. What I'm not sure of is if the main chip died before or after, because it seemed like just before the pop, that the speed jumped to full. That could be that the top MOSFET failed shorted, before actually cracking the case (the pop sound), or it could be that the motor controller chip (MC33033) failed first and caused sudden full drive of the Micrel chips that then caused full drive of the MOSFET, then the resulting commutator noise/etc then fried the MOSFET, since I had somehow forgotten to put a number of safety diodes around the MOSFETs during construction (I guess I got in too much of a hurry to finish it, and since it's all on perfboard with the MOSFETs on off-board heatsinks, it was easy to not notice and remember).

Whatever caused it, pretty much every active component on it is dead, I think. I have to actually test the MOSFETs, because it's possible the low side is still ok.

Before I try again, I need to redesign the thing with more protection in place between stages, and do what I can to keep the inductive spikes and other noise from coming back from the motor into the rest of the circuit. I'm pretty sure it was something like this that killed it.


However, I'm going to hold off on actually building my own designs for a while, since I'm getting some empty PCBs for 4QD's old discontinued 2QD controller that I can use instead--I already have all the parts laying around to build it from, which makes this option cheaper than buying a whole controller. Also, I know this controller design will work, and be reliable. I even understand how most of it does what it does and why, so troubleshooting it should be easy enough if I have problems with it. The only difference between the stock 2QD and mine will be that I am probably going to use the larger NTY100N10 MOSFETs with it, which will likely require offboard mounting/heatsink (which should work, as it did with my crappy Scoot-n-Go rebuilt controller for so long).

I'm probably also going to modify the accel/decel ramping circuit so it has faster deceleration time than acceleration time--the original design only has one time constant. This will probably require an off-board little PCB for the purpose, but that's ok as I will be building an interface board for my pedal-tension hall-throttle anyway, to be able to scale it's output to any controller I want to use on the bike (of course, I still have to build that throttle, too).

For those interested in a good place to learn how motor control works, including lots of details on the old 2QD (and a lot of other really good info about many other things), the http://4QDtec.co.uk site has a public section with quite a bit of info, plus an inexpensive members-only area with even more: http://www.4qdtec.com/Contact/Join.html .