Due to the high cost and capacity limitations of commercially available controllers, I decided to make my own. After extensive (and I do mean extensive) help from Tim on the ABYMC forums, I hashed out the details of the design: an array of power IGBTs driven by a PWM controller with feedback to maintain a constant-current characteristic and enforce RPM limits. Since reverse can be done mechanically through the vehicle's existing manual transmission, and dynamic/regenerative braking is superfluous in flat Indiana, a full H-bridge was not necessary.
Instead of immediately spending money on power electronics, I decided to first build a prototype, using rectified line current and a single power IGBT to power a treadmill motor. This is a reasonable approximation of a 1/10th scale of the actual motor and controller, which will use ten of the same IGBTs in parallel.
Now, on to the circuit diagrams. (To be abundantly clear, my expertise in electronics is such that I mostly just asked questions until diagrams emerged. Tim is the one who actually knows how these things work, and I can't thank him enough for his help on this project.)
This is the circuit diagram for the power side of things--ten paralleled IGBTs, each with a snubber circuit. (Yes, I'm fully aware the schematic only shows two.) The prototype uses a 350uH filter and 50uF on the motor capacitor, and 1,000uF electrolytic bypass capacitor. The 350uH inductor wasn't hard to wind as an air-core coil using 10-ga. magnet wire, but the 35uH inductor for the real thing will be quite difficult, since it has to handle 1kA of current. My current plan is to buy some 1/4" aluminum plate and cut it into long strips, then wind a pancake-style coil (air-core) out of that. Aluminum is necessary for cost and weight issues--a copper coil of this size would be about twice as heavy and about four times as expensive. Unfortunately, making a good low-resistance electrical contact that won't galvanically corrode will be difficult.
Also perhaps of interest: that resistor right after the negative terminal of the motor. That's the ammeter shunt--1 milliohm for the prototype and a tenth of that for the real thing (yielding an approx. 100mV maximum signal voltage), made of nichrome strip brazed to copper terminals. Commercial units are moderately pricey at about $40 apiece, so I'm (yet again) making my own.
The power circuitry will all be water-cooled (except the motor), so thermal runaway shouldn't be a big issue (also, internal resistance should level things out).
PWM Generator and Gate Drive
This next schematic is a little large to go inline, so I'll provide a link instead.
This is the part I've done the most actual work on as of now (6/09). The first thing I did is split out all the power supply circuitry (for the whole project) into a separate power board, which looks something like this:
(Board layouts done in Eagle 5.4.0; source files available for non-profit use on request.)
Here are some pictures of the physical version, missing the 1212 because I hadn't made its heatsink yet (that thing gets pretty hot after a while, even without a load). Also missing are most of the leads.
Not too long after I made this, I managed to fry the expensive 1212 (and the less-expensive 7809) with a short somewhere on my prototyping board. In extracting the 1212, some of the traces peeled off, so I had to add a few jumper wires. I did get it fixed, though.
After finishing the power board, I got the PWM circuit working, drew up a board, and built it.
No pictures of the finished version (not that it looks terribly exciting), but here's a picture of what it does:
(5V/div and 500us/div)
Actually, this is a picture of an earlier version, not the one in the schematic. I'll have to take a recent picture and update this. The big difference is that CV (that's what's on the multimeter) has 0% duty cycle at about 3.75 volts instead of 0 volts. The way my feedback circuit works, this is much nicer to deal with. Frequency is also different for the final version.
I've currently also prototyped (but not etched and built) the main gate drive circuit. Instead of using the grouping of four transistors right after the opto, I elected to substitute a purpose-made driver IC. Right now, the PWM signal is being successfully passed to the power IGBT, but something is drawing more current than it should. I'll have to track that down before I can build the final version.
Desat and UVLO are still being worked on.
Desat Cutoff Circuit
This is just a little tidbit of logic circuitry that detects the signal from the error-catching circuitry above and passes it to the feedback circuitry. It also includes an indicator light and a reset button.
Here's the feedback circuitry, a chain of op-amps that decides what to do with the throttle input and creates a CV signal to drive the PWM circuitry. The stuff at the top right went on the power supply board, so that's already mostly covered. (The TL431 is there to protect the inputs of the 1209 from a higher-than-normal battery voltage, since those inputs are rather more delicate than the 1212's.)
On the right, the middle op-amp amplifies the signal from the ammeter shunt, and the bottom one amplifies the signal from the tachometer, a repurposed hobby motor (with some trimpots to adjust the cutoff RPM). These are added together, with a constant source voltage added in to boost the zero point of the signal. This composite signal voltage is then compared to the signal from the throttle pot, with a pull-down coming from the desat error circuit, and the output is CV.