switching 4W wire wound resistor with a transistor

I'm trying to make a heating element from a 4W wire-wound sandbar resistor and a 12V power supply. My Ruggeduino is using temperature measurements from a DS18B20 sensor to determine when to switch a transistor controlling power to the the resistor. My problem is that I have burnt out two transistors (one C945 and one H945) already and I don't know why. I have a flyback diode parallel to the resistor to disperse any back EMF the resistor coil generates and a pull-down resistor on the base of the transistor. I can switch an LED on and off with this circuit (not at 12V, obviously) but when I try it with the sandbar it quickly goes up in smoke.

Here's the circuit:

The grounds are all common. For simplicity I haven't put the DS18B20 in there.

I am now using a big E13009 transistor (not the datasheet for the exact part but a similar one) as I thought I was putting too much power through the little transistors. A glance at their datasheets shows they're only happy with <150mA and the power supply I'm using is 3A. At 12V I calculate that the 4W sandbar will be dissipating all of that, which explains the rapid release of magic smoke from them. However, even the E13009 is getting really hot when I switch it on & I'm afraid its going to go the way of its little brothers.

Should I be running it with a heatsink? Why does it get this hot? I thought resistance of transistors, especially larger ones like that, was negligible. I measured the voltage from the basepin on the Ruggeduino and it was putting out 4.4V. Am I doing something wrong? Is this too low to open the transistor gate sufficiently? I am confused. Any input will be most gratefully received.

Cheers,
Scary

However, even the E13009 is getting really hot when I switch it on

Yes it will do.

Am I doing something wrong?

Yes your transistor is in an emitter follower mode not the correct common emitter.
Emitter to ground, collector to load, other end of load to +12V.

So what is the resistance of your resistor?
It sounds like you are pulling too much current down it.

I'm rather confused by your drawing. Mike has pointed out some issues and I see more.

...shows they're only happy with <150mA and the power supply I'm using is 3A.

Above (I think) shows is a common misunderstanding about power sources. Your circuit is only as good as its weakest link. You have plenty of power "available" and originally used a device that will break if more than 150mA is allowed to flow through it. (...which you have allowed in this circuit)

  1. An over driven transistor via high base current will cause problems for the transistor. You show a pull down when you needed to be limiting the current from the base of the transistor and the Arduino pin.
  2. Your arrangement of parts will not create ideal conditions
  3. You assume that you have to worry about kickback from the wirewound resistor at this point but I think you need to worry about using general purpose 150mA transistors when higher power transistors are needed. It is very clear to me why you have killed parts so far. A TIP120 transistor would be a better choice to start with. Your selection of higher power seems a good next step once you start limiting base current. Your pull down configuration at the base is not helping right now.
  4. If anyone is to help out here... we need to know more about your heater. Wire wound resistors are not known for having inductive kickback and if there is any at all it's relatively small. ( I realize that some get sold as being non-inductive but the differences between normal wire wound and specially marked ones is probably quite small.) You need to continue to think of a wire wound resistor as a resistor.

Grumpy_Mike:

Am I doing something wrong?

Yes your transistor is in an emitter follower mode not the correct common emitter.
Emitter to ground, collector to load, other end of load to +12V.

Hi Mike, thanks for the reply. Your comments led me to Wikipedia and a nice image of the 'right' way of wiring up my circuit.

I will give this a go tomorrow. Can you confirm that Vout should run from the collector to the Ruggeduino's ground? Also, do you think I should use a heat sink? I don't want the blasted transistor to be dispersing heat- I want the sandbar to do that!

The sandbar resistor is 10 Ohm, I think. The pull-down is either 4.7K or 2.2K. I'll have to check.

Cheers,
Scary

Hi pwillard, thanks for your input too. Here's a snap of the sandbar:

You say I need to be limiting the current from the base of the transistor and the Arduino pin. Every I/O pin on the Ruggeduino is protected by a 5.1V zener diode and has a 220 ohm 30mA resettable fuse in series. I hope this should cover it.

Thanks for the schematic. You haven't included a pull-down resistor so I take it you think I don't need one at all. I'll try this and see what happens. Also good to know I can do without the diode. Simplicity is beauty.

Cheers,
Scary

See my drawing above.... you don't want a pull down... you want to control base current with a series resistor or you will be dissipating some heat in the transistor.

I hope this should cover it.

Actually, it doesn't. The parts that exist on the ruggeduino are ONLY to protect the Arduino "pins". You need to think about not over driving the transistor... so more than 200 ohms resistance is required.

Can you confirm that Vout should run from the collector to the Ruggeduino's ground?

No not at all. That would short out the transistor. Rc is your heating resistor

You need a series base resistor not a pull down.
10R at 12V gives you 1.2Amps current, in that case your transistor need to be able to stand at least 2A.

Also 1.2A at 12V gives you a power of 14.4 Watts so your 4W resistor is going to fry as well.

At that kinda current I would start looking into mosfets to keep the heat down, after 1amp heat starts to get in the way with transistors

10R at 12V gives you 1.2Amps current, in that case your transistor need to be able to stand at least 2A.
Also 1.2A at 12V gives you a power of 14.4 Watts so your 4W resistor is going to fry as well.

So either a power supply of 7V only, or a thirtysomething Ohms resistor (to take 0.3A from 12V for about 4W)
But the thread assumes these two are given, just the transistor is replaced regularly :wink:

What about a ~ 30% PWM output ( analogWrite(6, 75); ) to limit the resistor load to 4W?
I understand the transistor still has to be rated for >1.2 A

edit: I noticed you use pin 6, which is PWMable, too.

What about a ~ 30% PWM output ( analogWrite(6, 75); ) to limit the resistor load to 4W?

Yes that would work.

After playing around with this for a while I gave up as the big transistor I was using had to be reallocated to another project (which is working wonderfully, thanking you).

So as I still wanted a heater circuit and I am lazy I bought one of these.

Grumpy_Mike:
Also 1.2A at 12V gives you a power of 14.4 Watts so your 4W resistor is going to fry as well.

Thanks, this is an issue I hadn't foreseen. Fortunately new information suggests the sandbar is rated at 11W, not 4W. Last night I wired it up to a 7.5V 1.5A power supply via the Relay shield and managed to switch it successfully. The smart crowd will notice the fundamental flaw in this plan.

Anyhoo, I mounted the sandbar into an old CPU heat sink with a bit of silicone thermal compound, jammed a DS18B20 temperature sensor from Adafruit in there with it and stuck it under my fermenter. Its winter here in NZ and temperatures fall to single figures overnight so keeping my brew warm is essential. I bashed together some code to switch the relay in response to the temperature of the heating block and another line to keep the heater off if ambient temperature (measured with a TMP36) rose past 20C. The thing worked delightfully all night until about 0500 when the heater died and never came on again. This is because I am a moron and didn't do my sums before selecting 7.5V of output for the heater.

7.5V x 1.5A = 11.25W

Therefore my little 11W sandbar was overpowered and its demise is unsurprising. I'm now going to go and wire up the backup I have and try it again. This time using 6V- or even 4.5 to be on the safe side.

You could probably cycle it with the 7v supply, add another ds18b20 easily and when it reaches max temperature, kill it and when it drops a bit turn it on
it has enough thermal mass to keep things warm in between

Hi winner, thanks for your comment. Because the heater is just stuck on the bench underneath the fermenter, with a little insulation around it, thermal transfer to the vessel is poor at this stage. This is something I'm looking at improving, probably with an immersion heater, but the point I'm trying to make is that you need the heater at a much higher temperature than the desired fermentation temp. The upshot of this is that switching of the heater, on or off, occurs every few minutes so it would still burn out. For example, its now running off 6V and I've got it running straight off the power supply without an control. The heating element is stable at 46 degrees which today has warmed the 23 liter fermenter by a couple of degrees C above ambient (~18C). I've left it running overnight and I expect it will still be at about 20C tomorrow morning as night temperatures are chilly. I might set the relay up again tomorrow. The irony is that the DC power supply I'm using kicks out about as much heat as the resistor does. Unfortunately its too big to fit under the fermenter!

Here's pics of the Arduino and the setup. The fermenter is covered by a black bag.