Author Topic: Pwm MOSFET driver  (Read 30981 times)

0 Members and 1 Guest are viewing this topic.

Offline jackbobTopic starter

  • Regular Contributor
  • *
  • Posts: 180
  • Country: us
    • My YouTube Channel
Pwm MOSFET driver
« on: October 08, 2011, 03:44:58 am »
I am looking to build another pwm motor control about 500 amps and 150v. I have built countless 12v controllers but ran into a problem on this big controller. I am using an arduino to provide the signal and I have 20 irfp250 transistors. The there is no way the arduino can drive all of them by itself. I have seen many methoods using bjt gate drivers but when you turn off the arduino the mosfets put out full power. I found one way that worked, using op amps to drive the mosfets it worked but never done it before and it seems a
little shady. Any other ideas on how to drive the gates. I tried optocouplers too and no luck with 150v rails.

 Thank you,
Jacob
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: Pwm MOSFET driver
« Reply #1 on: October 08, 2011, 04:41:05 am »
First thing is to look at how quickly you need the mosfets to switch on and off.

Lets say you want them to switch off in 1uSec.

That means the voltage on the drain will rise from 0V to 150V in 1uS which means 1.5 x 108 V/sec.

Now the combined drain to gate capacitance is 20 x 300pF = 6000pF.

So to turn off the fets, the gate drive has to sink  6000 x 10-12  x 1.5 x 108 = 0.9 A.  If you have 10V on the gate to trun the fets on, then the additional current needed to discharge the gate source capacitance is another 0.4A making 1.3 amps in total.

Now if you let the mosfets switch off in 1uSec, then while they are switching off, they might dissipate a  total of 0.02 Joules. That is a first pass approximation.  If the PWM switching rate is 20KHz, then the power being wasted in the Mosfets due to switching losses while turning off is 20,000 X 0.02 = 375 Watts.  I will add another 375W for the turning on losses making about 750W. This does not include the resistive losses while the fets are on.

This might be way too much, so to make the FETS dissipate only 70W switching losses, you might want to turn them on and off in 100nS. That will need 13A from the gate driver rather then 1.3A.

Turning the FETs on will take a similar current to turning off.

So forget microcontroller outputs and optocoupler outputs - you need  to work out what switching speeds you need to meet the efficiency you require, and from that, you driver probably made from a pair of MOSFETs to cope with the gate current or alternatively, lots of lower power gate drivers.

Then you will need to calculate what kind of drive is needed to drive the gate drivers.

Richard.

 
The following users thanked this post: papanasos

Offline jackbobTopic starter

  • Regular Contributor
  • *
  • Posts: 180
  • Country: us
    • My YouTube Channel
Re: Pwm MOSFET driver
« Reply #2 on: October 08, 2011, 05:18:19 am »
I would much rather run high gate currents than waste and dissapate that much heat. However to drive the gates you need a positive voltage and if I use mosfets to drive the gates then they would need to be driven with a negative voltage at the gate. The arduino only puts out 5v pulses. I suppose I could take 5v arduino signal, invert it to -12v pulses with an op amp to drive the gate mosfets, then use the gate mosfets to drive the big mosfets at 12v and around 10 amps.
 

Offline jackbobTopic starter

  • Regular Contributor
  • *
  • Posts: 180
  • Country: us
    • My YouTube Channel
Re: Pwm MOSFET driver
« Reply #3 on: October 08, 2011, 05:42:34 am »
I drew a quick schematic to show what im talking about. I drew it off the top of my head so the values of the resistors and such may not be exact but general. I left out pull down resistors too. It takes the 5v pulse and inverts it to -12v in the op amp, then goes to a preamp mosfet gate which drives the gate of the irfp250.  I only drew one output transistor to keep it simple for now.
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: Pwm MOSFET driver
« Reply #4 on: October 08, 2011, 07:37:21 am »
You need both pull up and pull down driver FETS - that circuit you drew has nothing to turn the output FETs off, and you cannot just use a resistor to ground - the pull down has to be active.

The easiest way is to use FET driver IC's which have a high current pull up/pull down output, and also are designed so that both output FETs don't turn on at the same time..

The link below is a collection of App notes from Microchip.  It is all relevent, but look at AN898 on page 12  in particular.  The driver chip mentioned in this note - the TC4422 - is a good one, but many other companies make such chips.

http://ww1.microchip.com/downloads/en/AppNotes/00898a.pdf

It is important that you control the peak gate currents - don't just connect a driver chip up and expect it to magically not blow up. 

So you want to put a series resistor to the gate of each power FET to control the peak current.

You will need a supply for the gate driver that will have to be able supply the average current needed, along with some generous capacitors to take the 10+  Amp surges. A lot depends on the pulse rate from the PWM - it could be 20,000 pulses per second. It could be 1 pulse per second - I don't know. It is obviously a massive DC motor with a lot of momentum, and so you should be able to get away with a fairly slow pulse rate. If it is a low rate, you can afford to turn the power fets off slowly, as long as the high dissipation at the instant of switching does not affect their reliability.

But it is still important to realise that whatever the PWM pulse rate, it does not change the peak gate currents when the power FETs are turning on and off. That will be set by the series gate resistors, and the supply voltage of the gate drive circuit.

Richard.
 

Offline jackbobTopic starter

  • Regular Contributor
  • *
  • Posts: 180
  • Country: us
    • My YouTube Channel
Re: Pwm MOSFET driver
« Reply #5 on: October 08, 2011, 10:02:12 am »
You couldn't have found anything better. Looks perfect for the job. I will order them asap but i just want to make sure I got it right. With this driver you wouldn't need preamp transistors right? It puts out 9 amps so i would assume not, but of course you need resistors between each gate on the irfp 250's and the driver. I would probably put one driver per 10 mosfets, so 2 drivers total. Maybe 4 drivers because the output current is only 2 amps cont. I made another quick cheap schematic.. I know its not exact perfect but the general idea. The power supply will be a 32 amp supply with godly capacitors... i love capacitors. As far as frequency goes the arduino has a fixed freq. of 1khz pwm. I am trying to find a way to change it but if I can't I will find a new pwm ic or microcontroller. The higher the frequency the more gate current required but lower losses in heat and the lower the frequency the more heat but less gate current on the fet right?

Thanks fr your help,
 Jacob
 

Offline jackbobTopic starter

  • Regular Contributor
  • *
  • Posts: 180
  • Country: us
    • My YouTube Channel
Re: Pwm MOSFET driver
« Reply #6 on: October 08, 2011, 10:07:55 am »
Almost forgot that great schematic.  ;)
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: Pwm MOSFET driver
« Reply #7 on: October 08, 2011, 10:25:44 am »
The good news is that 1kHz means you can divide all the power dissipation numbers I gave you by 20.  You still have to calculate the power due to the on resistance of the MOSFETS.

This also means you can consider going back to a slower rise time. 750 watts / 20 = about 38watts - much better. I think 1kHz should be fine, but I am sure you can find a way to change the switching frequency.  DC motors are regularly controlled with this kind of circuit, so the suppliers may have some advice about good switching frequencies.

The lower the switching frequency, the lower the power dissipation.

The slower the MOSFETS switch the higher the dissipation. Bascially they don't disipate anything when they are off.  They only dissipate the I2Ron heat when they are on. It is when they are half on or off that they are dissipating massive amount of power.

Richard
 

Offline IanJ

  • Supporter
  • ****
  • Posts: 1719
  • Country: scotland
  • Full time EE & Youtuber
    • IanJohnston.com
Re: Pwm MOSFET driver
« Reply #8 on: October 08, 2011, 11:04:58 am »
Hi all,

I''ve been playing with home designed dual channel 50amp @ 30vdc capable design of my own......hi current designs like this aren't my forte but so far so good, it's working. I'm driving a couple of wheelchair motors.

My design is also controlled by an Arduino (PWM), however, although I've built low current h-bridges before where the mosfets are directly driven from the Arduino, I elected to use TC4431/4432 and on top of that I also decided I don't trust the Arduino to NOT turn on both low & high sides at the same time (instant smoke!). So I used a simple logic circuit to built in an interlock and also give me a discrete direction control at the same time.

PS. I used the TC4431/4432 pair as they are 30v capable.

Here's my schematic, still a work-in-progress:-

Ian Johnston - Original designer of the PDVS2mini || Author of the free WinGPIB app.
Website - www.ianjohnston.com
YT Channel (electronics repairs & projects): www.youtube.com/user/IanScottJohnston, Twitter (X): https://twitter.com/IanSJohnston
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19878
  • Country: gb
  • 0999
Re: Pwm MOSFET driver
« Reply #9 on: October 08, 2011, 02:06:15 pm »
I drew a quick schematic to show what im talking about. I drew it off the top of my head so the values of the resistors and such may not be exact but general. I left out pull down resistors too. It takes the 5v pulse and inverts it to -12v in the op amp, then goes to a preamp mosfet gate which drives the gate of the irfp250.  I only drew one output transistor to keep it simple for now.
How can the op-amp give -12V out when there's no negative power supply?

The driver MOSFET is configured as a source follower so will have a high voltage loss.

There's nothing to discharge the MOSFET's capacitance so it may never turn off.

You need a push-pull driver.

You didn't post your BJT design. The one attached will work Yours was probably inverting so turned on the MOSFETs when the power to the MCU went down.

The attached schematic will work put you'll probably need a higher output current to drive so many MOSFETs. Your best bet is to buy a proper driver IC.


 

Offline jackbobTopic starter

  • Regular Contributor
  • *
  • Posts: 180
  • Country: us
    • My YouTube Channel
Re: Pwm MOSFET driver
« Reply #10 on: October 08, 2011, 06:18:41 pm »
I will try 1 kHz but the sound it produces would be annoying.  IanJ, cool design I probably use contactors or build a mosftet h bridge to change directions. With 30 amps it won't kill to have mosfets on both sides as you did but I have 20 on one side as it is so I will find a way around having to put more an h bridge. How do you like the arduino 1khz?  Hero999, the output was inverted -12 relative to the positive rail not ground... I know it's kinda funky, I'm not using that design anymore.
 

Offline IanJ

  • Supporter
  • ****
  • Posts: 1719
  • Country: scotland
  • Full time EE & Youtuber
    • IanJohnston.com
Re: Pwm MOSFET driver
« Reply #11 on: October 08, 2011, 07:26:09 pm »
How do you like the arduino 1khz?

I'm running my Arduino at the standard PWM freq. i.e. 488Hz. Of course this can be adjusted, but as yet I'm not sure I will as the wheelchair motors I'm using seem to work fine at that, from zero to full speed.

The only advice I'd give, given the amount of FET's you are looking to use and the power/energy therein is make sure you build in as much precautions against failure (therefore fire & smoke) as possible.
I'm building a home-built off-road Segway and so I'm not finished yet in terms of modifying my design with this in mind.

As has been mentioned, the TC range of driver IC's are good, they'll take a chunk of manual work out of your design.

Ian.
Ian Johnston - Original designer of the PDVS2mini || Author of the free WinGPIB app.
Website - www.ianjohnston.com
YT Channel (electronics repairs & projects): www.youtube.com/user/IanScottJohnston, Twitter (X): https://twitter.com/IanSJohnston
 

Offline jackbobTopic starter

  • Regular Contributor
  • *
  • Posts: 180
  • Country: us
    • My YouTube Channel
Re: Pwm MOSFET driver
« Reply #12 on: October 08, 2011, 07:49:04 pm »
Yes it is very important to watch for failures especially on this scale. Do you know how to change the arduino frequency? I'm sure there is a way but I don't know how.
 

Offline IanJ

  • Supporter
  • ****
  • Posts: 1719
  • Country: scotland
  • Full time EE & Youtuber
    • IanJohnston.com
Re: Pwm MOSFET driver
« Reply #13 on: October 08, 2011, 07:58:04 pm »
Yes it is very important to watch for failures especially on this scale. Do you know how to change the arduino frequency? I'm sure there is a way but I don't know how.

http://softsolder.com/2009/02/21/changing-the-arduino-pwm-frequency/

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1152547089

http://arduino.cc/en/Tutorial/SecretsOfArduinoPWM

Ian.
« Last Edit: October 08, 2011, 08:00:27 pm by IanJ »
Ian Johnston - Original designer of the PDVS2mini || Author of the free WinGPIB app.
Website - www.ianjohnston.com
YT Channel (electronics repairs & projects): www.youtube.com/user/IanScottJohnston, Twitter (X): https://twitter.com/IanSJohnston
 

Offline jackbobTopic starter

  • Regular Contributor
  • *
  • Posts: 180
  • Country: us
    • My YouTube Channel
Re: Pwm MOSFET driver
« Reply #14 on: October 09, 2011, 12:52:55 am »
So i drew up this schematic on how i will use the TC4422.  I will drive 10 mosfets with each one and use a 10 ohm resistor on the gates of each fet. I also put a 10k pull down on each one just to make me feel good to prevent if something goes weird and I loose 12v power, the mosfets will turn off.  I left out the input 12v filter caps and the output diodes to protect the mosfets in this schematic.  Does anybody have any recommendations at all. It just seems way too simple but I guess that's what those TC4422's are for. Is there anything I should add or change like resistors, or resistor values, add op amps, transistors, or anything?

Thanks,
Jacob
 

Offline jackbobTopic starter

  • Regular Contributor
  • *
  • Posts: 180
  • Country: us
    • My YouTube Channel
Re: Pwm MOSFET driver
« Reply #15 on: October 09, 2011, 01:10:08 am »
After I posted the schematic I went back to look at it and I added a 47k resistor between the arduino pwm output and ground to prevent problems if I loose arduino power or something else like that.
 

Offline jahonen

  • Super Contributor
  • ***
  • Posts: 1055
  • Country: fi
Re: Pwm MOSFET driver
« Reply #16 on: October 09, 2011, 08:45:09 am »
Is there anything I should add or change like resistors, or resistor values, add op amps, transistors, or anything?

Thanks,
Jacob

Remember to put hefty low-inductance bypassing for the gate driver chips, like 10ยต smd ceramic capacitors. It might cause all kinds of problems if the power supply of the gate drivers droop when gate is driven high.

Regards,
Janne
 

Offline jackbobTopic starter

  • Regular Contributor
  • *
  • Posts: 180
  • Country: us
    • My YouTube Channel
Re: Pwm MOSFET driver
« Reply #17 on: October 10, 2011, 10:05:40 am »
I am starting to draw schematics for the project and already ordered well over a hundred dollars in parts. This thing is full force now. I decided to build it in a plexiglass box. I will post many pictures when I begin building it. I might start a new topic for it.  One problem I have is a heatsink. I have a great one in my amplifier that could handle all 20 transistors but don't want to take apart my amp for it. I scored some very nice 24v blowers that will cool the thing like to tomorrow.  Anyways thank you to everyone who helped me and gave feedback I really appreciate it.

Jacob
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19878
  • Country: gb
  • 0999
Re: Pwm MOSFET driver
« Reply #18 on: October 10, 2011, 09:10:07 pm »
Hero999, the output was inverted -12 relative to the positive rail not ground...
I know I'm nitpicking but that's a confusing way of putting it. You mean the output was inverted or 180o out of phase.

So i drew up this schematic on how i will use the TC4422.  I will drive 10 mosfets with each one and use a 10 ohm resistor on the gates of each fet. I also put a 10k pull down on each one just to make me feel good to prevent if something goes weird and I loose 12v power, the mosfets will turn off. 
That's a much better design.

What's the motor driving? Is it safety critical? Could it starting accidentally cause an injury or damage to property?

If the answer is yes, think about what could happen if a MOSFET failed short circuit, a common failure mode, or there's a bug in your program. If this is to be used in something like a lift or an electric vehicle you need to consider the safety implications of devices failing and bugs in the software.
 

Offline jackbobTopic starter

  • Regular Contributor
  • *
  • Posts: 180
  • Country: us
    • My YouTube Channel
Re: Pwm MOSFET driver
« Reply #19 on: October 11, 2011, 08:31:52 am »
As of now it's just a project I want to make for hobby it might be used to drive a high power go kart or such. I would like to make it safe as possible, as if it were being used in a car.  I got a good thought but don't know how to do it.  I have a power inverter that is 1500watts and if you go a little over 1500w it will shut down. It obviously somehow senses how much power is flowing which is what I want to do to my controller. I want to make it so if I go over say 500 amps for a few seconds it will shut down or regulate power. I will also have a toggle switch within reach at all times which will control a contactor in case of a major failure. I  thought about adding a relay between the gates and drivers which is controlled by the arduino and only closes when the potentiometer is moved to control the speed ( don't know if this is a good idea just a thought). I have a thermistor to control fan speed an will shut down the control if things get too hot. Any more suggestions or thoughts on how to make it more safe or how to do that power sensing I mentioned above?

Thanks,
Jacob
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19878
  • Country: gb
  • 0999
Re: Pwm MOSFET driver
« Reply #20 on: October 13, 2011, 08:23:19 pm »
You need a propper emergency stop button.

One thing you could do is have a contactor which is on whenever the car is turned on. You could then use another MCU to monitor the MOSFET to ensure it's turning off in-between the PWM pulses and turn off the contactor off if it detects the MOSFETs have failed in the on state or there's a bug in the code on the other MCU causing the MOSFET to be permanently on.
« Last Edit: October 14, 2011, 07:38:02 pm by Hero999 »
 

Offline jackbobTopic starter

  • Regular Contributor
  • *
  • Posts: 180
  • Country: us
    • My YouTube Channel
Re: Pwm MOSFET driver
« Reply #21 on: October 13, 2011, 11:16:31 pm »
Wow that's a little more advanced. I'm just beginningin mcu's. I understand what you are saying but have not a clue where to start as far as setting up a mcu to do that. I also decided to add a snubber circuit of resistors and 1800v caps between the Gate and source to prevent MOSFET failure from high voltage spikes generated by the motor. If you know how to set up that mcu to monitor the mosfets I would greatly appreciate your help in doing it. I would prefer to use an atmega 328 or 316 if possible. I am not the best at programming them and I have only used arduino programming. I am currently using a 328 and all the outputs are used now.
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: Pwm MOSFET driver
« Reply #22 on: October 14, 2011, 12:58:29 am »
If you are connecting capacitors anywhere across the mosfets, you wont need 1800V, especially on the gate.

if any voltage exceeds any of the mosfet maximum voltages, then your mosfet is probably dead.  Without checking the specs, the maximum gate voltage is probably less then 50V.

The gate already has plenty of capacitance, so adding more will just put more load on the gate driver.

What you need is that the gate driver has to be powerful enough to prevent the gate voltage from rising.

Richard.
 

Offline jackbobTopic starter

  • Regular Contributor
  • *
  • Posts: 180
  • Country: us
    • My YouTube Channel
Re: Pwm MOSFET driver
« Reply #23 on: October 14, 2011, 02:50:25 am »
@ amspire, oops I wasn't thinking when I wrote that, I meant the drain and source. The caps will absorb any transient voltage spikes generated by the motor when it turns off. I will put diodes between the motor inputs too, they will help cut out voltage spikes. There will be resistors in series with the caps as they are on every snubber design I have seen.

Jacob.
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: Pwm MOSFET driver
« Reply #24 on: October 14, 2011, 04:12:28 am »
The drain source of those MOSFETS is 200V, so you have to keep the peak voltages on the drain below that.  So you still don't need anything more then that.

So you may need a snubber, but remember, the snubber adds to the switching loses in the Mosfets.

It is hard to design a snubber without knowing the characteristics of the motor transients.

Richard
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf