Hello,
I have a project that uses IRFZ44N N-Channel MOSFET transistors to control 3 different RGB LED Strips using the Arduino digital PWM pins and a higher power supply. The strips run at 12v but for my needs I need about 10amps to 30amps to run them depending on the color setting for each strip.
Now, I have tried 2 times now to get that circuit onto a perfboard and for whatever reason, the transistors burn out, just flat out don't work, or partially work. Why would it work on the breadboard then fail when I solder the circuit?(I want to make the bonds more permanent so that I don't have to worry about wires coming loose)
Another thing I don't understand is that the arduino has to be grounded to the separate power supply in order for the transistors to take effect. If it is not grounded to the power supply, the LEDs flicker rapidly(maybe at the arduino clock rate?) and are partially lit no matter what the gate voltage is.
I know the IRFZ44N is not logic level but I have tried many other transistors(Darlington, BUZ11A, TIP33C, etc...) and the IRFZ44N ones have been the only ones to work well and reliably without overheating. I have some IRL540s and additional IRFZ44Ns on order.
Please help me as I have spend hundreds of hours on this and no progress has been made.
Another thing I don't understand is that the arduino has to be grounded to the separate power supply in order for the transistors to take effect.
You always need a common ground connection if you have multiple power supplies and you need them to cooperate (via something like a transistor switch). Not having common ground means there is no cooperative reference point and results range from nothing to random behavior until a proper circuit path exists.
Random only means that the circuit is struggling to find a way to work and almost finding it... likely in a completely wrong way... electrons... persistent little suckers.
But why does the circuit not work if I assemble a perfboard? I follow the same design and checked each transistor before powering the entire board and each one worked. As soon as I powered it all the same way as a perfboard, it failed. Why?
Can you show us the picture of the assembled perfboard? And also, I am surprised if you got your leds to turn off without any pull down resistors on the gate of your mosfets, as the gate will be floating when your pin is low.
A non-logic level FET will often overheat when it is used with loads that it's spec-sheet would lead you to belive it could handle, because it's in a half-on state, where the resistance is higher, and thus it gets hotter than it would if you were driving it correctly (or using a comparable logic level FET). PWMing a fet also makes heating worse, because it spends more time in the process of switching.
Byork:
Can you show us the picture of the assembled perfboard? And also, I am surprised if you got your leds to turn off without any pull down resistors on the gate of your mosfets, as the gate will be floating when your pin is low.
I built 2 boards, this is the first one and when I plugged in the psu, there was a snap crackle and pop and smoke coming from some of the transistors. It's so frustrating because it has been on a breadboard for the last 6 months operating with zero trouble at all. WHY CAN'T IT JUST STOP BEING FICKLE AND WORK!
The picture of the board is not wired up, so we can't tell if it was an issue with your wiring. I strongly suggest that you switch to logic level fets as well, there is a logic version of the IRFZ44N, the IRLZ44N. I believe they cost roughly the same price.
The trouble with the IRLZ44N transistor is that it does not have the amperage output I need. Each transistor SHOULD be able to drive 300 12v Blue LED strip portions of RGB LEDs since Blue LEDs use the most amperage/power. That totals up to be about 1.2Amps or more(depending on the length of the RGB LED feet, the reels come in 16ft sections and can be daisy chained together). The transistors I want should have a gate voltage of 0 to 5(from the arduino) to have full range from the arduino pwm pins and be able to supply 12v and 10+ amps on the drain and source without a heat sink or any other type of compensation, after all, that is what MOSFETs are for.
What transistor would be the best heavy duty, cost-effective and efficient? I also looked at solid state relays but found no documentation on how well they work with arduino and ones that are DC voltage to DC volatage that can go 0 to 5 on one side and 12v and enough amperage on the other.
What is your recommendation?(Please no references to other topics, I need a clear explanation and a wiring diagram from my original if possible and specific part numbers)
AOI510 would be good too, a little higher in price
I have 32 of AOI516 or AOI518 (similar parts, slightly different Rds) on this board that I offer for sinking 1A each from high current loads. Each will do more individually, the power traces were laid to support an amp each with all on. http://www.crossroadsfencing.com/BobuinoRev17/
Two or more mosfets can be parallelled to get the current requirement you want.
Consider powering and switching each end of a very long LED strip.
Use gate (switch)current limiting resistors (220ohm) between PWM pin and gate if you value your Arduino pins.
Use bleed resistors from PWM pin to ground (100k) if you don't want problems during bootup.
Leo..
You must always use a logic-level FET if driving it direct from the 5V Arduino output - that's a given.
If you want to switch 30A with one device them it needs to have a very low on-resistance and any
necessary heat-sinking.
The formula for dissipation for a MOSFET switched on (static) is simply I-squared-R, like any other
resistor.
For 30A you'll need a decent heatsink and its best to choose a device with on-resistance of 3 milliohms
or less. At those power levels I personally would use a non-logic-level FET and drive it with a MOSFET
driver chip run off the 12V. MOSFET driver chips do what the name suggests and you'll be able to use
PWM at full power without significant switching losses (can be an issue otherwise).
There are far far more choices of power FET that are non-logic-level BTW - for high power
its completely standard to use a MOSFET driver, gives good speed and protects microcontroller
from drain-gate capacitive feedback.
jammerxd:
The strips run at 12v but for my needs I need about 10amps to 30amps to run them depending on the colour setting for each strip.
Wawa:
Consider powering and switching each end of a very long LED strip.
It's not just "consider" - you must connect a heavy duty supply line in parallel - for each colour and ground - into the strip every metre or two because the foil on the LED strip will not be able to carry the current, certainly not more than about two amps (and the positive strip carries the combined current). And when I say "into", I mean forward and back - you need to connect power to both ends of each one or two metres.
Otherwise you will notice colour distortion as the blue, which requires the most voltage, gets less.
jammerxd:
Another thing I don't understand is that the Arduino has to be grounded to the separate power supply in order for the transistors to take effect.
Seems you do not understand electricity then! An electrical circuit needs to be a complete loop for the current to flow. This - referring to the control circuit - means you have to have the ground return for the "source" terminal of the FETs, back to the Arduino to complete the circuit.
jammerxd:
But why does the circuit not work if I assemble a perfboard? I follow the same design and checked each transistor before powering the entire board and each one worked. As soon as I powered it all the same way as a perfboard, it failed. Why?
Because you are doing something different to what you think you are doing. However we can't tell what that is due to lack of information from you. Posting schematics and links to data sheets are the key.