TVS diode Edit
https://groups.yahoo.com/neo/groups/osmc/conversations/topics/16451 I'm wondering, why osmc 3.2 has TVS just on lower fets + one across the supply terminals. And why not to put just one TVS across the motor terminal? It should 'catch' all the spikes coming directly from motor.
tvs across each fet Edit
This was a design shortcut back in the day. There should be a TVS across each FET leg and one more across the supply. The provide pretty good protection against spikes. For longevity the FETs should be 75V units for a 24V nominal 48V max system.
In low current system many aspect of a real circuit are close enough to the ideal circuit that the differences can be safely ignored. Fast changing high currents as seen in high power motor controllers brings to light a host of problems that will kill semicondutors very quickly if not accounted for.
The motor is going to be noisy and putting a hefty capacitor across the terminals of the motor is a good way of cleaning up the noise because it will slow down some of the fast rising signals also known as spikes. Putting a TVS diode across the terminals would not do much except catch some of the high voltage spikes and the diode would have a short life due to constant heating.
The reason it would only catch some of the spikes is because spikes are the result the inductors in the system fighting against the changing current flowing. The motor is the largest inductor, but every wire in the system that is carry heavy current contributes to the problem.
The FETs are the important thing to protect. The wires between the motor (the largest source of the noise) and the FETs will act like an inductor and a resistor. The resistance will help to dissipate the energy of the spikes which makes the TVS diode's job easier as well as not have the extra heat from the motor raising it's temperature. More importantly the current flowing through the inductive wires causes a voltage differences in the system, these difference can manifest as ground bounce.
The voltage at the lower FET source terminals can be higher or lower than power ground. When the source goes lower than ground and the gate is at ground voltage then the gate is forward biased, turning on the FET when it should be off. If the source goes higher than ground then the gate may not be fully biased during the period when you want it to be fully on. This also means than protective circuitry needs to have the lowest resistance connect to the drain and source terminals possible so that no matter what is happening in the wiring the FETs are protected.By using TVS diodes across both lower FETs you have a complete circuit around the motor. Using a TVS diode across the power supply protects the power supply and the circuits it is driving from high voltage spikes.
Gate, source ground Edit
Additionally the ground of the FET drivers(HIP) needs to be tied directly to the source of the transistor it is driving.It is important that the gate when turned off follows the voltage seen at the transistors source terminal and not just to power ground.
An easy way of seeing how things will work is to draw a resistor and an inductor in for every wire path that will be handling high current levels. Designing your PC board to lower these resistances and inductances is more critical than controller you use.