dephwyggl:
I'm working on an automotive project which will use an Arduino as a controller. For this part, the requirements are:
- use the IRF4905 (PMOSFET, 55V, 740W, .02 ohm RDS(on)) as a high side switch
- switched load could be up to 150W (preferably without heat sinks on the PMOSFET)
- loads to be managed with the Arduino's native 500Hz PWM
- all components to be through-hole
Assumptions which can be made for this topic:
- +V is reliably 11-15V
- reverse polarity protection is in place
No assumptions can be made about which PWM values will be used or when (they'll be all over the place).
Without knowing as much as necessary or learning a ton of the calcs required to make complete sense of everything, I've read lots on this (here and elsewhere) and have not been able to find any complete answers. I did a Google search on these forums which produced a lot of topics on this; I've read every one of them and even started my own. Lots of hints, allusions, partial answers, etc. - a lot of it beyond my understanding, and nothing definitive.
Here is a commonly suggested schematic to allow logic level control of PMOSFETs:
However, PMOSFETs won't last very long if the Arduino's 500Hz PWM is applied to them; switching takes too long and they'll overheat. To mitigate this heat production, reductions in switching times are required;
Switching frequency has nothing to do with rise and fall time. The only thing is that the rise and fall time is a fixed value, and multiplied by a faster PWM rate results in the mosfet being in the "bad zone" for longer in total.
Anyway, you don't need an elaborate circuit... the one in your quote is just fine (aside from not showing a proper resistor between the base of the BJT and the PWM pin). If you want a PWM rate slower than 500 Hz, just change the timer divider.
