Current Output from a transistor to a heater

Hello everyone!

I tried a lot to fix a little problem in my project (for hours) and still no luck.

Basically, I wanted to make a heater that has 35Ω resistance (I also tried 6Ω), I connected the Arduino pin 5 to a TIP31c transistor to amplify the current.

But the only current I am getting is 12
mA, sometimes 20mA, so there must be something wrong.

I tried a 2N2222A transistor before that, I also tried increasing the base resistance to 1000Ω, and tried decreasing it to 1Ω, still did not help getting the result I was hoping for.

Here are images for schematics I drawn for the heater circuit, and the Arduino circuit, I hope you can help me, thank you!


Thanks for the schematics.
Connect the heater, the pump etc between +5 volt and the collector of the transistor.
Where does the +5 come from?

To add to what @Railroader said, you have a voltage follower, the voltage on the emitter will follow the voltage on the base, minus about 0.7V base emitter voltage. The problem is made worse by the (unnecessary) diode, which reduces the voltage by another 0.7V.

The base resistor should be about 220Ohms, 1 Ohm is way too low.

The 5V comes from the Arduino board, but I also tried to use an external 9V battery before and same happened.

And do you mean I cannot connect the pump and heater and fan between the ground and emitter? They are running (with low current).

And does that mean 1Ω is too low and 1kΩ too much? Would the 220Ω resistor get the current boosted?

The Arduiono board is not a power source. The tiny strips are made for some milliamps only.
9 volt battery? A PP3? Put it back in the fire alarm, remote or where ever it comes from.
Please post schematics showing the powering of the build. Your reply indicate severe mistakes.

Hi, @iceflake
Thanks for the schematics.

As explained above your loads need to be in the collector circuit to work.
An external 5V supply, sharing its gnd with the Arduino is also required.


Your LEDs need to be in parallel with the loads they are monitoring.

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

I posted another schematic, is this better? Arduino is connected to power socket by a 9v adapter.

And thank you so much for the comment that suggested changing base resistance to 220Ω it actually worked and my heater has 700mA running through it!

However, now the heater and fan work perfectly but the water pump doesn't, the water pump has 9.5Ω resistance and operates at 3-5V and 130-220mA.

I tried taking the LED off but it doesn't work. Should I also make the base resistance 220Ω ? Or would that cause the pump to burn or something?

5V applied to 9.5 Ohms is 526mA (Ohm's Law).

Connect the load (fan, pump, etc.) between 5V and the transistor's collector like TomGeorge shows.

Good. "Regular" LEDs work at about 20mA or less. The same current flows through all series components so the pump current is too much. Plus there is about 2V dropped across the LED so the pump is getting less voltage (and the total current is less than expected, but possibly too much for the LED).

Emitter followers will never work. You must have the load in the collector line.
And the base current must at least be 5% of the collector current (10% for a TIP31).
NPN transistors won't work for loads larger than a few hundred mA, because the Arduino can't supply enough base current. Not enough base current means that the transistor is not fully saturated, will get hot, and could fail.

A 1k base resistor delivers 5volt - 0.7volt BE junction loss = 4.3 / 1k = 4.3mA.
In theory only good for switching 43mA with a TIP31 or 86mA with a 2N2222.
A 220 ohm base resistor will do a bit better, but still falls short for the loads you're switching.
Logic level mosfets are needed for loads larger than ~400mA.
Leo..

Take a GOOD look at the circuit above and modify to suit.
Reasons why have already been given.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.