I have been trying to figure out how to control the heater which appears to be a coated nichrome of some sort. There is an existing electronic control that turns the heat on and off. I attempted to cut the negative side and control that with a TIP120 from my arduino. This does not appear to work. It will work with a mechanical relay, but I am trying to make the operation silent.
I tried to bring the source of the ground from the editing control to the center pin and connect the emitter to the heater, which does not work. I tried to use the source ground and brought it to the negative rail of arduino so it would be a shared ground but that is not working either. Basically I need a silent switch. Any help would be great.
Sorry that was a typo. Yes the heater element has it's separate +12 source. I cut the negative to the heater. I put the ground source for the heater to emitter, common ground with Arduino. I ran the collector to the ground that goes to the heater.
Do you have a current limiting resistor from the arduino digital output to the base of the transistor ?
Have you tried turning the transistor on and off manually by removing the resistor at the arduino end and connecting it to +5vdc and ground alternately and measuring the current to the heater with an ammeter in series with the transistor collector ?
Yes there is a resistor on the base from the arduino, sorry crude drawing. No, I have not tried what u suggested, but I can. What would I be looking for?
This does not appear to work. It will work with a mechanical relay, but I am trying to make the operation silent.
I tried to bring the source of the ground from the editing control to the center pin and connect the emitter to the heater, which does not work. I tried to use the source ground and brought it to the negative rail of arduino so it would be a shared ground but that is not working either
Are you not saying here that you cannot turn it on with the transistor from the arduino ?
What is the value of the resistor ?
Rasch, if I disconnect the 330 resistor from pin 4 and connect it directly to +5v rail the heater comes on. Although it doesn't feel quite as hot as it does normally. The transistor gets very hot, I suppose that is to be expected? Anyway, not sure why it will not come on from the arduino pin, or why it is not as hot, probably because the transistor is using so much, is there a way to avoid that?
My initial resistor size was 1k, but I changed it to 330.
if I disconnect the 330 resistor from pin 4 and connect it directly to +5v rail the heater comes on. Although it doesn't feel quite as hot as it does normally. The transistor gets very hot, I suppose that is to be expected?
HEATSINK ? (WHAT KIND?) PLEASE DON'T TELL ME YOU DON'T HAVE ONE !
So, I added a 2n222 transistor as a switch for the TIP120 base. So when my arduino pin 4 is high, it activates base on the 2N222. The emitter on the 2n222 is connected to +5 rail. The collector is connected to the base of the TIP120. This configuration does work. I am still at a loss why I can't get the TIP120 to work from the arduino pin.
=>2N2222
SEE ATTACHED.
I guess that means the heatsink is anywhere but on the TIP120 ?
The emitter on the 2n222 is connected to +5 rail. The collector is connected to the base of the TIP120. This configuration does work.
The emitter on the 2n222 is connected to +5 rail. (damn! , now you got me doing it...)
The emitter on the 2n2222 is connected to +5 rail.
The collector is connected to the base of the TIP120
I think you better look at the datasheet. The only way it could be working is if the COLLECTOR is connected to +5V and the EMITTER is connected to the base of the TIP120.
FYI,, It is really not a good idea to omit the current limiting resistor on the base of the transistor. It is going to get very cross with you . It's probably already pissed off for you not putting a heatsink on.
=>2N2222
SEE ATTACHED.
I guess that means the heatsink is anywhere but on the TIP120 ?
The emitter on the 2n222 is connected to +5 rail. The collector is connected to the base of the TIP120. This configuration does work.
The emitter on the 2n222 is connected to +5 rail. (damn! , now you got me doing it...)
The emitter on the 2n2222 is connected to +5 rail.
The collector is connected to the base of the TIP120
I think you better look at the datasheet. The only way it could be working is if the COLLECTOR is connected to +5V and the EMITTER is connected to the base of the TIP120.
FYI,, It is really not a good idea to omit the current limiting resistor on the base of the transistor. It is going to get very cross with you . It's probably already pissed off for you not putting a heatsink on.
How often do you get into arguments with electronic components?
I am still at a loss why I can't get the TIP120 to work from the arduino pin.
Hello raschemmel,
The TIP120 is darlington type and will drop about 2V VCE when conducting more than an amp. If you're using an Arduino UNO or similar with 5V 1/0, it will only have 4.1 V on it's output, which will only leave (5-2-0.9) = 2.1V across the 330 ohm resistor. So in this case there's about 6.3mA used to turn on the transistor.
With the 2n2222 you're getting around 4.4V across the 330 ohm resistor which gives about 13.3mA to turn on the transistor (more than 2X more).
I am still at a loss why I can't get the TIP120 to work from the arduino pin.
Dlloyd,
FYI, the above quote is from the OP in Reply#9.
Regarding your comment, that is some useful information but I am not sure if you have been following this post closely.
Look at the drawing from the OP in Reply#3.
If you're using an Arduino UNO or similar with 5V 1/0, it will only have 4.1 V on it's output, which will only leave (5-2-0.9) = 2.1V across the 330 ohm resistor.
(I would like to talk about this) My first question is why are you subtracting the darlington VCE voltage from the voltage going to the base ? He is using the TIP120 to sink the heater current. He couldn't drive the darlington base from the arduino output. If the base foward voltage drop is 0.9 as you said then , as you said the arduino output voltage is 5V-0.9V = 4.1V. The VCE voltage of the TIP120 is , as it says, from the collector to the emitter, and doesn't effect the voltage on the base of the transistor. because the heater Vcc is 12V and doesn't affect the arduino 5V. So the 330 ohm resistor has 4.1V on the arduino side and 0.9V on the darlington base side leaving 4.1-0.9=3.2V accross the 330 ohm resistor. So, 3.2V/330 ohms = 0.009A or 9mA The darling hfe is 1000 so 9mA should be enough to turn it on but clearly it was not which is why the OP added the 2n2222 (not 2n222) as a driver. Now he is running it without the 330 ohm resistor because it turn the darlington full on that way. I'm not sure if that is a good idea. I think the problem might be that the arduino pin is not sourcing enough current. I would be interested in your feedback on the above.
Yeah, I meant to use the base values from the TIP120 datasheet. I think the important numbers here (from the datasheet) are:
IEBO (Emitter Cut-off Current) = 2 mA <--- the transistor is off below this
VBE = 2.5V <--- voltage drop base to emitter for Ic = 5 Amp.
VBE = 1.5V <--- voltage drop base to emitter for Ic = 1 Amp.
On the DC current gain graph, hfe drops down to around 480 for Ic = 100 mA
OK, so we have the Arduino pin at 4.1V --> 330R --> 1.5V at the base for Ic = 1 Amp.
Therefore, 2.6V/330R = 7.9 mA. If the Arduino pin under load drops to 3.0V, then there'll be 1.5V/330R = 4.6 mA
Yes, I agree he should use the 330 ohm resistor (for the base) of the 2N2222 driving the TIP120. The Arduino pin is probably still OK (could be tested with LED or voltmeter).
Well, after all this, in summary, I would recommend using a logic-level low R(on) MOSFET to do the job. Simpler to connect, voltage driven and less heat dissipation.
So the 330 ohm resistor has 4.1V on the arduino side and 0.9V on the darlington base side leaving 4.1-0.9=3.2V accross the 330 ohm resistor. So, 3.2V/330 ohms = 0.009A or 9mA
one telling thing to me is the overheating of the TIP120. either it is carrying so much power (2 amps?) that is just getting hot, or it was not being driven into saturation.
to me, the addition of the 2222 indicates it was not being driven into saturation.
two TIP120's could split the load, run cooler.
the calculations are correct, makes me think there is something else with the heater power.
a mosfet would have much less resistance and would run cooler naturally.
VBE = 2.5V <--- voltage drop base to emitter for Ic = 5 Amp.
Ok. I got it. Yeah , that does change things ...
so we have the Arduino pin at 4.1V --> 330R --> 1.5V at the base for Ic = 1 Amp.
Since the OP said the heater wasn't getting hot enough then maybe he was wrong about the max current. Maybe it is really way more than 0.4A. He hasn't given us any current measurement data and actually that's why he posted in the first place so we have to assume that if he begins his post by stating "I want to measure the heater current" he should follow it by the statement "I THINK the max current is 0.4A but don't assume that is correct. " Since the heater did not get hot enough with the 330 ohm resistor then I think we can assume the current is greater than 1A and your calculation above is no longer valid. Now we should consider:
quote] * VBE = 2.5V <--- voltage drop base to emitter for Ic = 5 Amp. [/quote]
Let VBE = 2.5v
Let VB = 0.9V
Let V (out:arduino)=5V
Then 5V-2.5V-0.9V=1.6V
1.6V/330=0.0048A=4.8mA
That is low but I think it's time we asked for some empirical data. I haven't seen any voltage measurement data from the OP .
Now he is using the 2n2222 to drive darlington directly so we need the V(base) voltage (2n2222 VE).
It would be nice if we could get the 2n2222 collector current. That is what we really need.
And yes, your right, a MOSFET is a much better tool for the job.
VectorSix:
Rasch, if I disconnect the 330 resistor from pin 4 and connect it directly to +5v rail the heater comes on. ...... The transistor gets very hot, .......
um.... maybe we are looking at this all wrong.......