I have the following MOSFET circuit to current limit battery charging from an alternator. The alternator is currently not connected. I'm using a DC-DC boost converter to provide 25V from the battery.
Gate voltage is between 0-25V.
Battery voltage is 12.6V.
Vgs is therefore ~ -13 to 13V.
- Q23 with pull-up provides 0-25V signal
- Q26 / Q25 provides voltage follower (current source, 0-25V)
- Q24 provides faster rise time
When the driver circuit drains the gate (connects the gate to ground), the battery voltage spikes high (~25V), and the gate voltage spikes negative (~12V).
- CH1: 5V MCU signal
- CH2: SIGALT
- CH3: Actual gate voltage
- CH4: BAT
In the following I added a 5ohm between circuit ground and actual ground, as well as 10 ohm between 25V and Q24 (Q24 failed after 10 minutes of operation, presumably due to overcurrent). This has virtually eliminated negative gate voltage, but did not fix positive voltage spikes on BAT.
Math (purple): Vg-Vs
Vgs is ranging between -4V to 13.6V, which is well within operating margins of max +/- 20V.
Note: frequency measurement is incorrectly shown as 930kHz. When downscaling horizontally, it correctly shows ~19.2kHz.
- Why am I getting the negative spike on SIGALT and positive spike on BAT? Introducing D21 seems to have reduced the problem, but not eliminated it. Is there a problem with my driver circuit?
Is it a problem to have a 25V spike for ~1us? If the frequency is 20kHz, this would mean the voltage is 25V for 20ms per 1 second? That sounds rather undesirable.
Can I simulate the problem in LTspice? It doesn't appear in my simulation. I'd like to experiment with various solutions to reduce the problem.