ZapPat said:I can't agree with this first part at all, fetcher, since by shorting the motor like you suggest, you will not be getting ANY regen at all, this could merely be usefull to slow down the motor by dumping the energy into the FETs in case of an emergency or something (could use the top or bottom FETs for this BTW). Regen is done merely by lowering your duty cycle to a point where energy starts flowing backwards from your motor into your battery pack. You are now taking a lower voltage from the motor, and steping it up to a high enough voltage to start recharging your pack. There are a number of factors which influence the efficiency of such a system, a number of them external to your controller. Like charge acceptance of the battery for one... Supercaps would help greatly with this problem, but when oh when will they pop into existance?
Lowering the duty cycle will do nothing to make the motor regen into the batteries. If the motor is turning at a speed that is lower than its no-load speed, the back EMF will be lower than the battery voltage, and no regen will be possible regardless of duty cycle.
By shorting the motor, the current in the motor windings will start out at zero, then rise quickly to a level where it becomes constant, and a function of the motor winding resistance and the back emf of the motor. If you release the short before the windings reach steady state, the magnetic field collapses, generating a very high voltage spike which will be circulated back to the batteries by the body diodes in the FETs. By controlling the duty cycle of this shorting, you can vary the average braking current. You can get power back into the batteries even though the motor is going much slower than its no-load speed. This works exactly like a boost switching converter, except we're using the motor windings as the inductor.
On my Zappy, I was able to regen into the batteries all the way down to under 5mph. It works.