FET selection - parallel use - overheating

Here's another one.

I have sourced what I think is an appropriate low Rds(on) Logic Level N channel MOSFET, to switch a TEC module using Arduino PWM (Tellurex FAQ, point 41).

771-PSMN1R6-30PL,127 NXP (Phillips) MOSFET

Basic specs are - 30v, 306w, 100A - Qds (Vgs 4.5v dynamic, 25A) - Rds(on) 1.7 mOhms (Vgs 10v, 25A, static).

First question - is this the correct rating for the type of application? not sure about the Rds(on) 1.7mOhms Vgs 10v static spec. Should that be ~4.5v, and is the Rds(on) sufficiently low?

Second question - Will several FET's in parallel solve overheating of the FET due to lower drain source resistance.

Third question - If I run these in parallel to lower the Rds(on) how many is practical?

I have managed to burn out one or two. They get incredibly hot without resistance on the TEC -ve to FET Drain. In-fact I can only run the FET without a heat sink at about 2 - 3v, with very hot resistors, and this translates to ~10C cooling. The system at full blast is capable of ~34C differential.

TEC specs - 12V, 8A.

On the plus side, those mosfets have a very low Rds(on), 2.1m ohms max at Vgs=4.5V, Id=25A and 25C (will be a little higher when the mosfet is hot). On the minus side, the gate charge of that mosfet is very high (that comes with having a very low Rds(on)), so it will need very strong gate drive. Nevertheless, it should be suitable and you should not need to parallel them, provided you are not trying to smooth the gate drive or anything like that. How do you have it connected to the Arduino?

If you are driving them properly they shouldn't get very warm. We need to know the switching frequency and load current (8A seems to the be answer to that, which is OK). Try driving them via a 150ohm gate resistor. It will be switching pretty slowly, perhaps 10us or worse.

If still too hot then you'll need a MOSFET driver chip to speed up switching (charging up the gate capacitance is the issue here, typically you would expect to push about an amp in/out of the gate to get it to switch nice and efficiently with a high power load). I've used the Micrel MIC4422 driver chip before, which can drive large MOSFETs without sweating, but do need good decoupling.

Alternatively using a lower PWM frequency will reduce switching losses.

Start again.

Small 12v SMPS to Arduino is frying the FETs. Overheating resolved. Linear supplies only.

The FET gate is not switching off. Hence continuous cooling. When FET is controlled with digitalWrite HIGH, cooling starts and overshoots set point. Shortinh gate to source with a resistor temperature increases. Once set point is regained FET kicks in and cooling starts again.

I'm not sure what value resistor to use or how to work that out so that the gate closes when a Digital pin is set LOW below the set point temperature.

The resistor between mosfet gate and Arduino digital output pin should be around 120 to 220 ohms. If the mosfet is not turning off even after the PWM has been reduced to 0, then it sounds to me that you do not have a good connection between mosfet source and Arduino ground. Are you sure the PWM control really is reaching zero? It might help if you post your sketch.

Sorry. I have a series resistor, 100R, pin 9 to FET gate. I mean a pull down resistor gate to source
.
This MOSFET tutorial describes for motor control.

I tried forcing the gate by doing digitalWrite HIGH, and then LOW in the code when reaching set point temp, but no effect. To get the gate pull down I placed a resistor across gate to source. But this only worked at low resistance. Higher values did not work. Tried 47R 15K 45K 200K 800K up to 2M looking for a consistent value that would reliably pull the gate down without shorting the gate.

Using PWM the behavior is similar - the gate is not pulled down at 0 PWM.

I can't post attachments at the moment, but setup is same as your diagram except for the pull down resistor. Peltier current control - #25 by dc42 - Motors, Mechanics, Power and CNC - Arduino Forum

That sounds like a wiring problem to me. If there is still voltage between the gate and the source when the pin in pulled low, then either the gate is not connected to the pin via the 100 ohm resistor, or the source is not connected to Arduino ground, or there is a short between the gate and something else. Or you are not really pulling the pin low. Did you set the pin mode to OUTPUT before you write LOW to it?

If you set the pin mode to OUTPUT and digitalWrite LOW to it, what voltage do you measure between pin and ground, and between gate and ground?

The pin is set to OUTPUT, although I notice that I have set it to HIGH in void setup() which activates the pull up resistors - does this matter.

Pin LOW 0v gate to GND (shared with analog functions - temp sensors) and 0.02v gate to source. I have just noticed that the gate shares the same ground as the analog pins (temp sensors). I followed earlier advice and separated the GND for analog and digital pins. Because of the way things are configured on the shield (evolutionary) ground for the temp sensors is on the aRef pin side, and ground for the digital functions on the Vin side of the board. Consequently to read the gate I need to use the ground for the temp sensors - completely separated from the source ground, which is common to the ground for the digital functions and the power supply - the gate does not share a common ground with the source.

Except for the gate not pulling down it all works???

Let me get this clear. What I think you are saying is:

  • if you set the mode of the pin driving the gate to output and digital write low to it, then you measure 0.02v between mosfet gate and source
  • yet the mosfet still conducts and the Peltier continues to cool
  • this only happens when the Arduino is powered from a SMPS supply, not if it is powered from a linear supply

Is that correct?

The reason for having a pulldown resistor between gate and source (or preferably, between the output pin and source, i.e the other side of the 100 ohm resistor) is to hold the gate low during the time that the Arduinio is powering up and running the initialization code. Once the pin mode has been set to output, the resistor has done its job. 10K is a typical value to use.

To get the gate pull down I placed a resistor across gate to source.

You probably need to put a high value resistor (like 47k or similar) between the gate and arduino ground to ensure the gate does not have any floating charge when not being intentionally supplied 5v.

if you set the mode of the pin driving the gate to output and digital write low to it, then you measure 0.02v between mosfet gate and source

Yes

  • yet the mosfet still conducts and the Peltier continues to cool

Correct - If I set the pwm pin/digital output to 0/LOW the TEC continues to cool - either way. Gate is not pulling down???

  • this only happens when the Arduino is powered from a SMPS supply, not if it is powered from a linear supply

Makes no difference. Except that an SMPS supply to the board produces erratic behaviour - and I suspect has burnt out several FETs.

The power supplies are separated now. Linear to the board and SMPS to the TEC - the TEC -ve lead is connected to the FET drain of course.

The reason for having a pulldown resistor between gate and source (or preferably, between the output pin and source, i.e the other side of the 100 ohm resistor) is to hold the gate low during the time that the Arduinio is powering up and running the initialization code. Once the pin mode has been set to output, the resistor has done its job. 10K is a typical value to use.

OK. I can move the 100R up to the camera end and connect a 10k from behind it to the FET source.

You probably need to put a high value resistor (like 47k or similar) between the gate and arduino ground to ensure the gate does not have any floating charge when not being intentionally supplied 5v.

Thanks, that's what I had in mind, but don't know how to derive the R value. It's a little different to dc42's suggestion of source to PWM pin. Does it matter which way I do it.

  1. OK, I think we really need to see some photos of your setup. If the forum won't accept an upload from you, how about uploading it to picasa or flickr ?

  2. A couple of other things to check:

  • do you definitely have the mosfet source and drain terminals the right way round? drain is normally the middle pin, but check the datasheet.
  • is the mosfet heatsink touching anything? The tab of a mosfet is usually connected to the drain pin.

Thanks, that's what I had in mind, but don't know how to derive the R value. It's a little different to dc42's suggestion of source to PWM pin. Does it matter which way I do it.

No rocket science on resistor value between gate and ground. A low value resistor will lower the voltage on the gate, so use a high value resistor to minimize the pin voltage pull down when the pin is supplying 5v. I can't answer to what dc42 is trying to accomplish.

zoomkat:
No rocket science on resistor value between gate and ground. A low value resistor will lower the voltage on the gate, so use a high value resistor to minimize the pin voltage pull down when the pin is supplying 5v. I can't answer to what dc42 is trying to accomplish.

Connecting it between gate and ground lowers the gate voltage slightly because of the voltage drop across the series resistor. The effect is very small if you use a high value resistor like 47K, but much more significant if you use e.g. 1K. Connecting it between the output pin and ground instead avoids that voltage drop. That's why I prefer it that way.

Checked datasheet.

FET pins are connected correctly and all other services are working; that is, camera shutter, stepper and LED array, sequence correctly. Temp readout on both sensors are stable.

I will try the pull down resistor first. If still problematic I will link to photos. Fritzing images of TEC setup here

The FET is fixed to its own heat sink, which is attached to and insulated from the cooling fan grill of the TEC heatsink. The TEC heat sink, except for contact with the TEC is electrically and thermally isolated by nylon screws - there is no metal to metal connection with the camera. The camera chassis is bonded to Arduino and power supply ground to suppress interference with the camera CMOS.

Here are some low res pics of the project.

Some of the info is out of date.

I moved the series 100R on the PWM pin to the camera side and the FET gate is going down without a pull down resistor - go figure?

Using only the laptop usb to power the board temperature drop was very slow and could not make 25 delta from ambient. Applying 12v from the wall adapter temperature shot through set point. Reducing to 6v maintained temperature accurately. I can work with this. Thanks for all the help.

I'm glad you got it working!

Thanks. I notice that powering the board with USB the FET will switch. If I then power the board using a 6v supply, and providing USB power is not removed the FET will continue to switch. Under the same condition an increase in power supply to 12v does not affect the FET and it will continue to switch.

However, if 12v is used first the FET will not switch, even if the supply voltage is subsequently reduced to 6v. That is, the reverse of the condition above.

If supply to the board is > 6v the FET will not switch. But the FET will switch at any voltage providing the first voltage does not exceed 6v.

I have reproduced this behaviour twice. I think pull down resistor is the only reliable option.

Also, unless 12v is applied to the board, the rate of cooling is quite slow and the temperature differential is reduced.