An EV battery pack usually consists of a number of large battery cells connected in series in order to get high enough voltage.
When a pack of batteries age the individual cells tend to do so at different rates. Some batteries in the pack will have less capacity then others and as you repeatedly charge and discharge them the cell voltages will start to drift apart, some cells may even start reversing on deep discharge. Reversing a cell will kill it quickly.
To avoid this the pack need to be balanced from time to time. There are several methods for doing so, the simplest is to slowly overcharge the pack until all cells are full. This isn't possible with most battery chemistries as overcharging the cells will kill them. Some chemistries can handle being overcharge but it still tends to shorten their life.
Another method is to switch in resistors in parallel with the cells that are reaching full state of charge first. The resistors shunt current past the full cell so they don't overcharge while the rest of the pack continues to charge. This method naturally wastes some energy in the shunt resistors but not very much as balancing will only happen towards the end of the charge cycle.
The most simple form of resistive balancing is the Lee Hart zener shunt regulator.
TimK just posted a circuit on his blog that uses a third method. This circuit takes charge from the cells at a high state of charge and shuttles it to the cells at a lower state; thereby eventually balancing the pack. TimK uses a switched capacitor scheme to shuttle charge from cell to cell, charging the capacitor on the higher voltage cells and discharging it on the lower voltage cells.
It is an elegant circuit and I like it for its simplicity and low cost. I did however have an idea for how you could potentially make it even cheaper. By replacing the dedicated gate drivers with a capacitor lift up scheme the most expensive component can be removed.
I just ran a quick simulation on it and it seems to work as planned.
The upper N-channel MOSFETs (Q2,Q4,Q6 in TimK's schematic) are replaced with P-channel devices. Resistors keep the capacitors on the gate charged to the same potential as the source pin of the MOSFET.
V5 and V6 generate square wave signals with some dead-time between them to eliminate shoot through. They essentially do the same job as TimKs 555 circuit.
As V5 goes from 0V to 15V all the N-channel MOSFETs turn on due to the voltage across the gate capacitors pushing the gate voltage up an equal amount. As V5 goes low again the same effect acts to turn of the MOSFETs.
When V6 transitions from 15V to 0V the gate of the P-Channel devices gets pulled down consequently turning them on.
The charge shuttling capacitors (C1,C2,C3) thus gets switched between adjacent cells and will eventually even out any charge difference between them.
The graph shows the circuit in action. The green trace is the voltage across charge shuttling capacitor C3, the blue trace is the current flowing in and out of the capacitor as it is switched back and forth. The red trace shows the gate voltage of M8, the lower MOSFET.
This circuit was just a quick test to see if it would work, the component values were just wild ass guesses so nothing has been optimized. I wouldn't recommend anyone builds this circuit without doing some more careful analysis and optimization.
The simulation files can be downloaded below, I use LTSpice from linear technologies to simulate my circuits. The software can be downloaded for free from their website .