Higher Voltage Motor Driver

Thread Starter

gmdriscoll

Joined Aug 28, 2012
4
I have a project that requires the control of a 90v 4amp DC motor. The motor currently has a speed control that sets the initial speed of the motor. What I am doing is then varying that normal speed down to another slower speed using PWM to create a sinusoidal wave. The circuit works as planned, but the problem is that I am burning up mosfets. Attached is a diagram. The parts are what I had around.

Tried changing PWM Frequency from around 32k hz to 200 hz, no change in time to overheat. I also have tried to minimize the switching time on the Mosfet, which I believe to be in microseconds.

My calcs are showing that at say 45 volts, the motor is drawing 2 amps, which equates to P = 2 ^2 * .3 ohms (mosfet resistance) = 1.2 watts running through the mosfet. This can ramp up as high as 4^2 *.3 or 4.8 watts at full power.

Should I change out the Mosfet to one that can handle the voltage and amp load but with like .07 ohm resistance? Or is my circuit in need of help? or both?

Mosfet burning up is IRF9530 P-Type

See attachment
 

Attachments

Last edited:
Are you using a heatsink? A TO-220 can dissipate 1W by itself (according to wikipedia) after that, you need a heatsink. Also, measure all the nodes and make sure the voltages are what they should be. For instance, is the gate on the PFET as high as it should be? Otherwise it might not be fully on, and then you can't count on the drain to source resistance to be what it says in the datasheet. To accurately get a picture for how much power is being dissipated, measure Vds when the circuit is fully on (PWM input is a steady 5V) and multiply it by the current through the transistor.

One last thing, what are you measuring for Vgs when your circuit is on? The datasheet says the maximum value is +/-20V and it looks like, based on the resistor divider, Vgs would be very close to that maximum. You could try changing the resistor values if that's the case
 

Thread Starter

gmdriscoll

Joined Aug 28, 2012
4
Yes, using heatsink. As this project requires that the motor be able to basically stop, I am testing down to 10 volts. So total range of input voltage is 10v - 90v.

Testing with 12v dc power supply and 12v 2A motor.

Vin to mosfet is 10.75v
No load voltage at 100% duty cycle is 10.3volts out of mosfet.

Vgs is 0 volts so mosfet seems fully on. Cannot check with oscilloscope. At higher voltages, zener kicks on and Vgs is approx 12v less than motor voltage.

Can someone help with switching time math? The mosfet may not be switching fast enough. Does the .45v loss from Vin mean mosfet is not fully on?
 

shortbus

Joined Sep 30, 2009
10,045
Never saw motor control PWM done like this before. That said 5V to the gate of your irf510 (T2) is not enough to fully turn it on, so the gate of T1 can't be turning on,or at least not fast enough.

The usual way to PWM a motor that doesn't need to reverse is to use a Nmos, like your T1 between one side of motor and ground. The wiring would be Power from VS1 - SW1 - motor - Nmos T2 - ground.

Also speed with PWM is controlled by the pulse width also called duty cycle. This then controls the amount of current/amps through the motor, not the voltage. By doing this the motor retains its torque (volts) but its speed is still controlled.
 

Thread Starter

gmdriscoll

Joined Aug 28, 2012
4
Never saw motor control PWM done like this before. That said 5V to the gate of your irf510 (T2) is not enough to fully turn it on, so the gate of T1 can't be turning on,or at least not fast enough.
Ok, seems I was forgetting about the irf510 as I was more worried about the 9530 getting hot. The 510 stays cool so assumed it was fully turning on.

The usual way to PWM a motor that doesn't need to reverse is to use a Nmos, like your T1 between one side of motor and ground. The wiring would be Power from VS1 - SW1 - motor - Nmos T2 - ground.
Initial design is due to parts that I had. I am open to using NMOS for primary motor driver. Just have to order them.

Also speed with PWM is controlled by the pulse width also called duty cycle. This then controls the amount of current/amps through the motor, not the voltage. By doing this the motor retains its torque (volts) but its speed is still controlled.
I think you are saying that I should be measuring the current through the load instead of the voltage to make sure things are working?

The way I understand how a motor works is that it will draw whatever amps are available based on how hard the motor has to work. So there is a no load current draw variable to a full load current draw. At different voltages the motor runs faster or slower, but the current draw could be the same based on the load.

As PWM is basically turning on and off the energy going to the motor fast enough so the motor doesn't know the energy is changing, would this not change voltage and current?
 

Thread Starter

gmdriscoll

Joined Aug 28, 2012
4
Seems that IRF510 isn't even close to what I need it to be in this situation. Anyone have any suggestions as to what N-Type I can put in there instead just to get this working?
 

shortbus

Joined Sep 30, 2009
10,045
Ok, seems I was forgetting about the irf510 as I was more worried about the 9530 getting hot. The 510 stays cool so assumed it was fully turning on.

Initial design is due to parts that I had. I am open to using NMOS for primary motor driver. Just have to order them.



I think you are saying that I should be measuring the current through the load instead of the voltage to make sure things are working?

The way I understand how a motor works is that it will draw whatever amps are available based on how hard the motor has to work. So there is a no load current draw variable to a full load current draw. At different voltages the motor runs faster or slower, but the current draw could be the same based on the load.

As PWM is basically turning on and off the energy going to the motor fast enough so the motor doesn't know the energy is changing, would this not change voltage and current?
I don't know how to do the individual quotes, so the answers are in order to what you asked -

1. The 9530 is getting hot because the 510 is not able to turn completely on.

2. The 510 should work but you need to get ~10V for the gate.

3. No volts are still the measurement.

4. The PWM is whats only allowing the needed amps to the motor, this then controls the speed. Voltage also can/does control speed, but if your voltage is higher than motor ratting you waste power in heat to lower the voltage. PWM doesn't waste this power.

5. PWM is like an average or percentage. Its called duty cycle, on time verses off time. The voltage leads the current, so the voltage stays much the same. But more on time (a higher average) allows more current to flow. This gives more speed and power.

You need to read the E-book at the top of the page. Theres a search box with it just search PWM. Or you can Google, but the E-book is good.

You Don't say where the PWM signal is coming from. If it is a micro controller and you want to buy a new Nmos, look for one called a "logic level". These have gates that work at micro output voltages.
 

donpetru

Joined Nov 14, 2008
185
If you want you can try to made the following circuit. You must replace MOSF-FET and then will have to make a circuit to be able to power 555
 

Attachments

Last edited:

shortbus

Joined Sep 30, 2009
10,045
If you want you can try to made the following circuit. You must replace MOSF-FET and then will have to make a circuit to be able to power 555
The only thing wrong with using this circuit for PWM (although many do) is that changing the pulse width also changes the "carrier frequency" (switching frequency) at the same time. Use of a comparator after the 555 will allow the PWM to be changed without affecting the carrier frequency.
 
Top