View Single Post
Old 11-18-2010, 03:45 PM   #4004 (permalink)
DJBecker
EcoModding Apprentice
 
Join Date: Nov 2010
Location: Annapolis
Posts: 159
Thanks: 0
Thanked 29 Times in 24 Posts
If I could suggest a few features:

An 8 channel ADC to measure these traction-side voltages:

Traction voltage referenced --isolated from house voltage

Battery-side voltages:
0: Traction battery voltage (battery voltage before contactor, up to 250V)
1: Capacitor rail voltage (Voltage at middle capacitor, up to 250V)
2: Capacitor rail ripple -- Capacitor-diode coupled, filtered (1KHz 3db, simple C+RC filter) ripple voltage sample. Zener clamped

Motor-side voltages:

3: Output rail waveform (fast sample)
4: Output rail drive level (filtered negative excursion)
5: Output rail freewheel level (filtered positive excursion)

Internal voltages
6: Gate driver voltage+
7: Gate driver voltage-

8:
Frame voltage offset/impedance -- a safety check for leakage current, high impedance balanced bridge. Perhaps better done in the BMS.

The point of most of these should be obvious. Some are to verify correct operation, and others are to understand heat and efficiency problems as well as to know how close to the edge the devices are operating at.

The capacitor rail and motor output channels should be fast samples, without a low-pass filter. A smart controller could build a waveform report by slightly shifting the sample offset every cycle. That gives an instrument cluster display controller the opportunity to show an oscilliscope-like display, or can be stored in a data logger for later analysis.

The gate driver voltage monitoring is because I'm planning on trying a software controlled combined pre-charge / gate drive approach. It uses a small relay, a MOSFET with sleazy isolated gate drive, and a few resistors and capacitors.

At initial power-on a PWM channel drives the MOSFET (through an isolator) to build the gate power supply voltage up to a safe level. When the ADC reports that the gate supply is a bit above the minimum operation voltage (about 9V, thus we have positive gate control) the controller switches to pre-charge mode.

In precharge state the controller uses the same MOSFET to precharge the main capacitor bank. It stops the PWM output momentarily, closes the pre-charge relay contact, and waits 100msec for the relay contact to settle. It resumes the PWM going from narrow to wide pulses to keep the current approximately constant, always under 1 amp. When the voltage monitor reports that the capacitor bank is within a few volts of battery voltage, it switches the PWM off, opens the relay contact, waits for 10 msec, and enables the main contactor. It then switches to operating voltage mode.

In operating voltage mode it runs the PWM output to generate the target gate voltage. That's usually about 18V, but may be closer to 30V for some devices.

There are several advantages to this design.

First, we can eliminate or shrink some bulky components such as the gate DC-DC converter and the precharge resistor. The gate driver might take a few amps peak, but for well under 0.1% of the time. A DC-DC converter module provides great isolation, but way more average power than we need.

By using smart control we can eliminate the precharge power resistor and use a much smaller relay. The traditional approach is using a relay and power resistor. Both have to be hefty because of the initial power surge, not because they handle much total energy. Increasing the resistance drops that surge, but a slow RC charge tail means that precharge time gets to be annoying. With this design the relay never sees current while switching and the max current is limited, so it can be small. The pulse width is actively controlled, so even with a small initial current the precharge can be finished quickly because we linearly ramp instead of having a tail.

(I don't think that we shouldn't completely eliminate the precharge relay. It's a good idea for safety and isolation, although a small fuse might be good enough to protect against a failed-shorted MOSFET.)

This is software controlled, so the gate voltage can be reduced as the threshold and breakdown voltages drop with temperature. Or just to find the most effective operating point for different conditions, as we are essentially changing the turn-on time by using a higher voltage.

The MOSFET and gate drive can be really sleazy. In fact we want both to be crappy to minimize switching transients. And most of the power the MOSFET switches is going to be wasted anyway. The gate drive really only needs to be strong enough to keep the battery rail ripple from switching the MOSFET on.

A final advantage is one I consider to be the most important. We can run self-checks and diagnostics.

Before starting we can verify traction voltage, establish a baseline, and can check that the capacitor bank and gate voltage are both negligible.

Initial gate supply startup lets us check that the MOSFET is switching and that no gate driver is shorted.

If the main capacitor voltage increases we can report a stuck-on precharge relay.

The relay contact stabilization period lets us check that the gate supply capacitor is still good (less than 1V drop).

After the first timer period of precharge we can verify that the rail voltage is rising. If not we have a shorted MOSFET or other device.

If the rail voltage stops rising approximately linearly, we have a questionable semiconductor. (Note that the incandescent pilot light used for discharging the bank will draw less current as the voltage rises.)

When we stop precharge we sample the motor output to check for leakage or disconnect (very unlikely).

After the relay open period we sample the rail voltage to verify that the incandescent pilot lamp has been drawing power and we have lost a few voltage.

After the contactor has closed we verify that we have fully battery voltage and thus the contactor works.


The disadvantage of this approach vs. Paul's is that we now actually need a traction power supply. You can't "dry test" without traction power. Perhaps there is a sleazy way (9V battery clipped onto gate power?) to mitigate this.

Wow, that was way more than I planned on writing. Especially since I'm not certain that anyone here has an interest.

Last edited by DJBecker; 11-22-2010 at 01:18 PM.. Reason: Fixed some of the lost indenting
  Reply With Quote
The Following User Says Thank You to DJBecker For This Useful Post:
MPaulHolmes (11-19-2010)