Rds(On) Voltage and back EMF

Hello!

I'm working on a side project where I'll be controlling automotive cooling fans with an Arduino. I have two questions: 1) I'd like some advice on calculating Rds(On) voltage and current for a MOSFET 2) How should I deal with back EMF from the motors

Regarding Rds(On), I'm having a little trouble deciphering the datasheets. Ideally, I'd like to drive the MOSFET gate with the current at or near 100% flow directly from the PWM pins on the Arduino. Can someone tell me which graph to look for on the datasheet? Or what formula to use? Is it just Ohms law?

Regarding back EMF, I'm wondering how I should address this. The Arduino is going to be mounted in the passenger compartment and the fans are a good 4 feet away. Am I being too literal by wanting to place a diode between the positive & negative terminals directly at the fan? Can I place the diode at the MOSFET located near the arduino?

Some specs on the project: - two 12VDC brushed electric fans @ ~10A each - PWM control required

Thanks in advance! Alternative approaches are always welcome! :)

alexxander_foster: Regarding Rds(On), I'm having a little trouble deciphering the datasheets. Ideally, I'd like to drive the MOSFET gate with the current at or near 100% flow directly from the PWM pins on the Arduino. Can someone tell me which graph to look for on the datasheet? Or what formula to use? Is it just Ohms law?

MOSFETs are primarily voltage based devices, so it's the voltage applied to the gate that determines how open the channel is between the source and drain. While MOSFETs do have a minimum current through the gate necessary to function, basically it's a very small threshold value. For most MOSFETs it should be well below the limits an Arduino output can supply. Now if you were using BJTs then the current of the controling signal would be a much more important consideration...

alexxander_foster: Regarding back EMF, I'm wondering how I should address this. The Arduino is going to be mounted in the passenger compartment and the fans are a good 4 feet away. Am I being too literal by wanting to place a diode between the positive & negative terminals directly at the fan? Can I place the diode at the MOSFET located near the arduino?

The diode needs to be in parallel with the motor. That doesn't necessarily mean directly soldered between the fan motor's connection tabs, but if you put it else were you'll have to run the wiring appropriate to keep electically in parallel with the motor.

Far-seeker: MOSFETs are primarily voltage based devices, so it's the voltage applied to the gate that determines how open the channel is between the source and drain. While MOSFETs do have a minimum current through the gate necessary to function, basically it's a very small threshold value. For most MOSFETs it should be well below the limits an Arduino output can supply. Now if you were using BJTs then the current of the controling signal would be a much more important consideration...

Gotcha! So its a voltage based device. Well, thats definitely helpful, but it brings me back to my original question: how do you calculate the voltage required to open the drain completely in a MOSFET based on Rds(On)? Is it just Ohms law?

What I'm finding is that, in the power range I'm looking for (25 amps), not all MOSFETs will have a completely open drain at the voltage and amperage levels the Arduino's pins can produce. Nearly all of them seem to have a threshold around logic levels, but I want full voltage potential at logic level.

Far-seeker: The diode needs to be in parallel with the motor. That doesn't necessarily mean directly soldered between the fan motor's connection tabs, but if you put it else were you'll have to run the wiring appropriate to keep electically in parallel with the motor.

Fantastic! That answers my question, thank you!

Is it just Ohms law?

No, you just supply the gate voltage and it turns on. You need to look at the datasheets for the MOSFETs, at the curves of Vgs vs Idrain.

Basically, it's easiest to use a logic-level nMOSFET, as it will turn on hard with Vgs=5V. Then, for the current levels you are talking about, 10A, find one with the lowest Rds rating you can find, typically something like 0.01 ohm or less. The current rating [max] for such devices will normally be many Amps, 50-80 range.

Put the diode right at the motor. This reduces the inductive current-loop [motor winding -> wires -> diode] to the minimum. Otherwise, it's like a big loop antenna, broadcasting to the outside world.

alexxander_foster:

Far-seeker: MOSFETs are primarily voltage based devices, so it's the voltage applied to the gate that determines how open the channel is between the source and drain. While MOSFETs do have a minimum current through the gate necessary to function, basically it's a very small threshold value. For most MOSFETs it should be well below the limits an Arduino output can supply. Now if you were using BJTs then the current of the controling signal would be a much more important consideration...

Gotcha! So its a voltage based device. Well, thats definitely helpful, but it brings me back to my original question: how do you calculate the voltage required to open the drain completely in a MOSFET based on Rds(On)? Is it just Ohms law?

No, not Ohms law, but rather analysis of the device's datasheet. For example: http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Components/General/FQP30N06L.pdf has two key things to look at. First there is the Ron spec will show the minimum resistance at some stated gate source voltage in this case at two different values of gate voltage. Second they almost always publish a graph showing current flow at several gate voltage values, as in Figure 1 in that data sheet which shows drain current Vs gate voltage at eight different gate voltage values.

What I'm finding is that, in the power range I'm looking for (25 amps), not all MOSFETs will have a completely open drain at the voltage and amperage levels the Arduino's pins can produce. Nearly all of them seem to have a threshold around logic levels, but I want full voltage potential at logic level.

That is because you are looking at non-logic level mosfets that normally rate their Ron value at +10vdc gate voltage and are indeed not suitable for direct control from a arduino +5vdc logic level. Gate threshold is not the correct specification to look at but rather the gate voltage Vs current flow graph at the gate voltage of interest to you.

Far-seeker: The diode needs to be in parallel with the motor. That doesn't necessarily mean directly soldered between the fan motor's connection tabs, but if you put it else were you'll have to run the wiring appropriate to keep electically in parallel with the motor.

Actually the effectiveness of the freewheeling diode is best/better if mounted right at the motor terminals as the dissipated currents won't be effected by the resistance of the motor lead wires. Lefty

Fantastic! That answers my question, thank you!

oric_dan(333): Put the diode right at the motor. This reduces the inductive current-loop [motor winding -> wires -> diode] to the minimum. Otherwise, it's like a big loop antenna, broadcasting to the outside world.

Good point that I neglected, if the total distance was on the order of an inch the effect wouldn't be so bad. However, the OP did state the distance was about four feet away...

Hey guys, thanks for the input. That pretty much answers all my questions. I'll solder the diode right next to the electric motor just inside the housing so that I can keep the EMF "broadcasting" to a minimum -haha. And that explanation of how to determine the right MOSFET based on the graph is absolutely perfect! It was exactly what I needed. I was looking right at that graph but couldn't see the purpose until you spoon fed it to me. Thanks everyone!