IR Sonic Screwdriver - IR LED Low Voltage when Transistor Driven

As suggested in the title, I'm making a universal remote control and I'm going to shove it in a sonic screwdriver. The code is in place and works great, however the IR LED power was too low. As such I tried to get around it by using a 2N2222A transistor to draw current from the 5v line.

When I run it 5v ---> 112ohm Resistor ---> IR LED ---> GND it lights up reasonably well. Probably 60-70% of a tv remote.

However, when I wire it up through the transistor it is somewhere around 5-10% of a tv remote. I'm not sure what I'm doing wrong. If someone could look at my transistor circuit, that would be great, it is attached.

The LED I believe has a forward voltage of 1.4v and max amperage of 50mA. I'm trying to run it around 40mA.

Tcircuit.PNG

Find the datasheet of your IR LED. It can be given a whole lot more power than that at remote signal duty cycles.

when I wire it up through the transistor it is somewhere around 5-10% of a tv remote.

How do you know that?

Many IR LEDs have 100ma If with peak at up to 1 amp.

I pulled this particular LED from an old RC heli controller, so I have no way to know what the datasheet is. Adafruit sells IR led's for 50mA max continuance so I figured I'd play it safe until my 100mA rated arrive in the mail.

I checked the intensity just using a cell phone camera and estimated how it looked compared to a working TV remote. The only issue I can't figure out is why the intensity is lower through the transistor, when it should be significantly greater.

What kind of signal is your Arduino throwing at the transistor?
And are the grounds shared?

INTP, I'm using the original IRremote library so I expect PWM for the signal modulation.

The TV/DVD players receive the signal just fine, the issue is the range, as to be expected. However, there is little difference in the range using the transistor with the circuit attached versus just powering it directly from the pin with a current limiting resistor. If anything its shorter.

I've tried the shared ground and the ground (Digital Bank ground) and the ground closest to the 5V pin (Power Bank ground).

Did you measure the resistor. 112ohm is not a standard value.

An Arduino pin can drive an IR LED through a >=100ohm resistor directly (~15mA average, ~30mA peak).
You only need a transistor if R= <= 100ohm.

IR LEDs have a Vf (working voltage) of ~1.2-1.5volt.
Two IR LEDs in series is twice the light for the same current draw.
Calculate the CL resistor accordingly.
Leo..

I wired up a few resistors in parallel to get close to the right value, thus the 112v.

The pins can drive my colored LEDs perfectly, but for the IR LED I'm going to want upward of 90mA when they arrive in the mail. For the one I currently have, I want around 40mA. But, my transistor setup doesn't seem to be making a difference where I should be able to get much higher current.

I think if I add another IR LED they could interfere with each others signal and mix it up unless they are completely synchronous.

Volt drop across the LED + transistor is <=1.5volt.
= ~3.5volt across the resistor.
3.5 / 112 = 30mA peak.
50% on/off, so 15mA average when actively sending code.
Not a problem to use a lower value resistor.

Octavas:
I think if I add another IR LED they could interfere with each others signal and mix it up unless they are completely synchronous.

Wrong. 38kHz and the frequency of light are far apart.
Older remotes that worked on a 9volt battery had four IR LEDs in series.
Leo..

I see, I will definitely add another LED then.

If that's the case do I have the transistor wired up correctly? And how could I get the current higher such as 40mA to 90mA like i'd hoped?

Octavas:
If that's the case do I have the transistor wired up correctly?

And how could I get the current higher such as 40mA to 90mA like i'd hoped?

  1. Yes.

  2. Lower the resistor value.
    You know that ~1.5volt drops across the LED+transistor.
    So ~3.5volt across the resistor if the supply is 5volt (and not sagging).
    R = V / I = 3.5volt / 0.09Amp = ~39ohm for 90mA LED current.

For two LEDs in series, ~3volt will be across LEDs+transistor.
So 2volt across the CL resistor.
2/0.09= 22ohm for ~90mA LED current.
Leo..

I see, I'll have to stop at radio shack sometime and get a few lower resistors. I'll post back when I get the new parts.

Read the datasheet of the IR leds you have on the way. You are really not using a lot of their potential for distance and the second led is fine, but of course their wasted potential is now multiplied.

What do you recommend I do to increase their distance?

More power

Sorry to be simplistic, but I take it your design is a bit like this? ( see appended.

Tp fully saturate a low power transistor you need a lot of base current - I've shown 470R
which should give 10mA drive.

If you're using a much higher value you may not be driving the transistor hard enough.

To get a really hard drive you'd be better off with a logic level mosfet.

But it ought to work anyway....

Note that the regulator on an arduino can only supply a limited amount as well .

regards

Allan

irdrive.pdf (15.5 KB)

The ON semiconductor 2N2222 datasheet shows only ~0.1volt saturation voltage with 100mA LED current and that base current. Not worth changing to a mosfet.
Too much base current makes switching the transistor off slower.
Google "Baker clamp" for more info.

For a single IR LED, an emitter follower is another option.
Base directly to the Arduino pin, collector to 5volt, and LED/CL resistor between emitter and ground.
Saves one resistor. Has 0.7volt drop, so calculate CL resistor accordingly.
Leo..