PWM Motor Control Problem - Spikes on Supply Rail

Status
Not open for further replies.

surfline

New Member
Hi,

I am controlling a 30 amp motor through PWM from a microntroller to a driver to four parallelized mosfets (to split up the current and power dissipation). The core of my schematic is shown in the attachment. The input is coming from a micro controller.

This part of my circuit works, however I have been having some trouble dealing with the noise and voltage spikes on the supply line from what I believe is the switching motor collapsing field effect. That is the reason for diode D1. Without those Cap's and Chokes (inductors) the 14 V line is all screwed up, however those filters help significantly. However, I am still having a voltage spike up to about 20 volts every 20 kHz (my PWM switching frequency) that these filters don't seem to be getting rid of. That spike is not allowable for the rest of my circuit (rectangle box) and I was wondering if anybody has any idea's to help get rid of the voltage spike.

I have tried a 15V zener diode to ground with no success. I've also tried putting power diode in series on the 14V supply rail in order to try to block the spike from going back onto the line, however this causes my mosfet driver IC to break. I'm guessing that the current had to flow somewhere and since it can't go back out on the supply rail from my diode blocking it, the current flows into the driver, thus breaking it.

Any help would be greatly appreciated.

Thanks.
 

Attachments

  • motor.png
    27.1 KB · Views: 563
You can try adding an R-C circuit in parallel with your motor (ceramic capacitor and carbon resistor preferred), preferably you want the capacitance to be large and the resistance to be small, but doing so requires a higher power resistor. It's somewhat of a science and an art to size the two values to work with the motor inductance, but you coudl try trial and error.. And what kind of diode are you using for D1? YOu could try a schottky instead if a 1N4448 (or whatever else it is you may be using).

DO some research on snubbing circuits, specifically RC snubbers. They work much faster than diodes (since they don't need to switch on like a diode...it's just an R and C so they're always on), however they only dampen the voltage spike rather than clamping it like a diode will.
 
Last edited:
One thing to consider…you have a 30A motor drawing current thru a 100µH inductor at 20KHz (50µS period)… probably not going to work to well. Also be careful with parasitic inductance between the motor and the source… keep leads “fat & short”. Minimize any impedance (inductive and resistive) between the source and motor. Each MOSFET gate should have it’s own resistor… Fairchild & IR have some app notes on the “do’s and don’ts” of paralleling MOSFETS.

Zener diodes are not known for being “fast”… a transorb would be a better choice for catching a spike.

The capacitance of a series diode is more than enough to let hi dv/dt spikes thru.
 

if you want to do that you are filtering the wrong place. the diode should be a schottky, the inductor in series with the motor and the 470uF in parallel with the motor... yes, a simple buck regulator!
 
Thanks for your suggestions.

Attached is a picture of the scope of the spiky 14 volt line. This is for an automotive application and the GND i'm using for the scope is the battery GND or chassis GND. If I change the GND to use the GND on my PCB, there is not a spike. Similarly, if I measure PCB GND with respect to battery / chassis GND that same spike also shows up. So I have a feeling its actually the GND that the noise is being created on, not the 14V supply line.

Tried numerous different types of RC snubber circuits, but all without success.

Any suggestions for this problem?

Thanks.
 

Attachments

  • IMAG0073.jpg
    1.2 MB · Views: 441
Attached is an extract from an electronics magazine that may help you.
 

Attachments

  • extract.gif
    72.9 KB · Views: 704
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…