Search code examples
raspberry-pi3pwm

PWM transistor heating - Rapberry


I have a raspberry and an auxiliary PCB with transistors for driving some LED strips. The strips datasheets says 12V, 13.3W/m, i'll use 3 strips in parallel, 1.8m each, so 13.3*1.8*3 = 71,82W, with 12 V, almost 6A. I'm using an 8A transistor, E13007-2. In the project i have 5 channels of different LEDs: RGB and 2 types of white. R, G, B, W1 and W2 are directly connected in py pins. LED strips are connected with 12V and in CN3, CN4 for GND (by the transistor). Transistor schematic.

I know that that's a lot of current passing through the transistors, but, is there a way to reduce the heating? I think it's getting 70-100°C. I already had a problem with one raspberry, and i think it's getting dangerous for the application. I have some large traces in the PCB, that's not the problem. Some thoughts:

1 - Resistor driving the base of the transistor. Maybe it won't reduce heating, but i think it's advisable for short circuit protection, how can i calculate this?

2 - The PWM has a frequency of 100Hz, is there any difference if i reduce this frequency?


Solution

  • The BJT transistor you're using has current gain hFE of roughly 20. This means that the collector current is roughly 20 times the base current, or the base current needs to be 1/20 of the collector current, i.e. 6A/20=300mA.

    Rasperry PI for sure can't supply 300mA current from the IO pins, so you're operating the transistor in linear region, which causes it to dissipate a lot of heat.

    Change your transistors to MOSFETs with low enough threshold voltage (like 2.0V to have enough conduction at 3.3V IO voltage) to keep it simple.