Can an Arduino Effectively Drive a Power MOSFET at High Frequencies?

In summary: Having had a look at some of the commercial Arduino boards from arduino.cc, the digital outputs can source/sink 40-50 mA per pin according to their specifications, so your solution would probably work fine.
  • #1
Curl
758
0
I want to drive a IRFP250N power MOSFET using a square wave generated by an Arduino at high frequencies, maybe 1kHz or so. I doubt I can hook up the digital out to the mosfet gate, so is there some kind of gate driver I can make/buy that will take in the square wave signal and violently switch that mosfet on/off at the proper Vgs (I think 4V for the 250N) as fast as possible?

thanks
 
Engineering news on Phys.org
  • #2
The Gate Threshold Voltage you see in the datasheet is really an "off"-characteristic and is where you'll start to see the on-resistance of the FET begin to drop.

For the IRFP250N, a V_GS of 10 to 15 V would decrease its on-resistance substantially, e.g. they use 10 V for the test circuits in the datasheet. You should have a look at the output or transfer characteristics of the FET instead to determine what gate voltage you should drive it with.

Even for the IRFP250N, with its relatively large input capacitance, 1 kHz isn't really that high. Does your Arduino board have open-collector/drain outputs? How much current can it sink through its output pins?

You could throw in a push-pull stage yourself to drive the FET or you could just pick one of the simple drivers from Linear/TI/Fairchild etc.
 
  • #3
I am trying to do this as well. Do you have any specific components that you recommend? How about this one: UC3710

Fairly expensive but is it worth it?
 
Last edited:
  • #4
The UC3710 is maybe a tad overkill for driving a IRFP250N at 1 kHz. If price is a concern, I'd just have a look at whatever was cheapest in a DIP-package (if you have to solder it yourself).

I did a quick search on Farnell and this was the cheapest in my country (Denmark):
http://ww1.microchip.com/downloads/en/DeviceDoc/21390d.pdf

Pop that one in with a 22 ohm resistor in series with its output and I'm sure you'd be fine.

Edit:
You'd need a supply capable of feeding it and some decoupling caps, but I hope that goes without saying.
 
  • #5
Why not just use an npn transistor in a common base configuration with a higher voltage supply?
 
  • #6
See attached for common base level shifter for Arduino.
 

Attachments

  • Arduino Level Shifter.jpg
    Arduino Level Shifter.jpg
    20.8 KB · Views: 703
  • #7
skeptic2 said:
Why not just use an npn transistor in a common base configuration with a higher voltage supply?

Low input impedance and high output impedance, isn't that the opposite of what you're looking for in a driver?

I guess you could solve it with buffering, but why not just add a matched pnp for a totem pole instead?
 
  • #8
milesyoung said:
Low input impedance and high output impedance, isn't that the opposite of what you're looking for in a driver?

Are you trying to make a philosophical argument or are you stating that an Arduino can't drive a 10k load and a 51k source impedance can't drive a mosfet?
 
  • #9
skeptic2 said:
Are you trying to make a philosophical argument or are you stating that an Arduino can't drive a 10k load and a 51k source impedance can't drive a mosfet?
I'm saying you probably wouldn't use a common-base amplifier to drive a power MOSFET since it loads the input to charge the FET's gate capacitance.

Edit:
Having had a look at some of the commercial Arduino boards from arduino.cc, the digital outputs can source/sink 40-50 mA per pin according to their specifications, so your solution would probably work fine. I'd personally rather use a push-pull stage instead for the larger current drive and to avoid loading the Arduino.
 
Last edited:

1. How can I use an Arduino to drive a FET?

To use an Arduino to drive a FET, you will need to connect the digital output pin of the Arduino to the gate pin of the FET. You will also need to connect the source pin of the FET to ground and the drain pin to your load. Make sure to use a resistor between the gate pin and the Arduino to limit the current.

2. What is the purpose of using a FET with an Arduino?

The purpose of using a FET with an Arduino is to control high-power devices that cannot be directly controlled by the Arduino's digital output pins. FETs are able to switch on and off high currents and voltages, making them ideal for driving motors, lights, and other high-power devices.

3. How do I choose the right FET for my project?

When choosing a FET for your project, you will need to consider the voltage and current requirements of your load, as well as the voltage and current capabilities of the FET. Make sure to also check the FET's datasheet for its maximum ratings and choose one that can handle the power requirements of your project.

4. Can I use any type of FET with an Arduino?

No, you cannot use any type of FET with an Arduino. You will need to choose a FET that is compatible with the voltage and current levels of your project. Additionally, make sure to check the FET's datasheet for its gate threshold voltage, as this will determine the minimum voltage required to turn the FET on.

5. How can I protect my Arduino when using a FET?

To protect your Arduino when using a FET, you can use a diode in parallel with the FET. This will prevent any reverse voltage spikes from damaging your Arduino. You can also use a resistor in series with the gate pin of the FET to limit the current and prevent damage to the Arduino's digital output pin.

Similar threads

  • Electrical Engineering
Replies
10
Views
467
Replies
80
Views
3K
Replies
39
Views
3K
Replies
7
Views
1K
  • Electrical Engineering
Replies
1
Views
813
  • Electrical Engineering
Replies
28
Views
3K
  • Electrical Engineering
Replies
32
Views
3K
  • Electrical Engineering
Replies
14
Views
2K
  • Electrical Engineering
Replies
9
Views
3K
Replies
1
Views
2K
Back
Top