Amplify IR Transmitter

I am trying to control my room lighting using IR. The lamp has a built in IR-Receiver and is controlled using a remote. I copied the signal of the remote and am now able to control the light using an arduino and a standard 50mA transmitter.

The range of my remote is pretty good. I can control the light from anywhere in the room and the remote doesn't even have to be spot on. If I am using my own IR Transmitter, however, the range is pretty bad. The transmitter has to be faced exactly in the direction of the sensor, even the slightest rotation kills the signal. And even if I am facing the right direction, the signal just stops working at around 3 meters.
I added a second transmitter (which gets me to the maximum 100mA the Arduino port can handle, right?) which barely improved the situation.

How can I achieve a proper, remote-like transmission? Are there high power high angle IR Transmitter you can recommend? Can I somehow improve the signal quality?

I don't have any power constraints (at least no that would exclude any IR solution).
I can't modify the receiver in any way.

Instead of driving the IR led directly from an Arduino pin, you can use a transistor to switch the led. Also, choose a led with a narrow (say 10 degree) “viewing angle” as this will deliver a more concentrated beam.

which gets me to the maximum 100mA the Arduino port can handle, right?

The absolute maximum that a pin can supply is 40 mA. You can use a transistor (bipolar, MOSFET) to supply an IR LED with higher current. Consult the LED datasheet to see the specifications for max pulsed forward current and duty cycle.

the maximum 100mA the Arduino port can handle

20 mA per pin is safe, if much higher you eventually destroy the pin.

You MUST use a transistor to switch a high current LED.

actyc:
How can I achieve a proper, remote-like transmission? Are there high power high angle IR Transmitter you can recommend? Can I somehow improve the signal quality?
I can't modify the receiver in any way.

It is probably not a power problem, the fact that you have to AIM your remote at the light shows that your IR emitter has a narrower beam angle than the original remote.

You may have to start looking at the IR diode specs to check beam angle.

If you have an old remote that is stuffed or not used anymore, try using the IR LED out of it.
Tom.... :slight_smile:
PS. NEVER throw old electronics out, without first scavenging them for parts, keep ALL old remotes.

OK. The OP has now got two separate suggestions for the "viewing angle" of the IR emitter.

  1. It should be narrow.
  2. it should be wider.

My experience is that a powerful narrow beam bounces all round the room and somehow gets to the receiver. anyway, a say 10 degree viewing angle does not require high directional precision. If the signal fails at 3M even if accurately pointed, it is difficult to see that an even wider viewing angle will help.

Hi,
Use the camera of your phone to look at the IR LED in both your original remote and your new remote.
See if you can work out if the beam angles or intensity are different.

Tom... :slight_smile:
PS most digital cameras can see some IR energy.

IR LEDs may be able to handle a couple hundred mA, maybe even 1A. That's indeed the current used in normal remote controls, making the LED super bright, so it often works when you're pointing the remote backwards, that's how bright it is. The LED doesn't burn as the pulses are short, and the total number of pulses per burst is small.

Of course you need an appropriate driver for this. Not straight from the pin.

wvmarle:
The LED doesn't burn as the pulses are short, and the total number of pulses per burst is small.

One minor concern is the remote possibility that the Arduino code just might crash with the LED under power (particularly during development); much less likely with the ASIC in the original remote. :astonished:

TomGeorge:
PS. NEVER throw old electronics out, without first scavenging them for parts, keep ALL old remotes.

Love it! A man after my own heart, and vexatious to wives. :grinning:

Ok thank you for the input guys. I will try pushing a few hundred mA through the transmitter. Just an external power source and a transistor as the switch should do the job, right? Any external power source recommended for this type of project? Anything I should stay away from? Or is there a way with which I can get that much power from my arduino mega?

Is there a specific part you can recommend for this? Is there even a 1V 0.5-1.0A power supply that is easy to use?

EDIT:
I used a 100 Ohm Resistor to limit the power going through the transmittef. Removing this resistor makes the LED work pretty well (not quite as well as I'd like it to do). Is there any real danger for my arduino if I use the LED without a resistor until I find a better solution?

My experience is that a powerful narrow beam bounces all round the room and somehow gets to the receiver. anyway, a say 10 degree viewing angle does not require high directional precision. If the signal fails at 3M even if accurately pointed, it is difficult to see that an even wider viewing angle will help.

If my LED dies before I reach a satisfying result I will try it with a different, low angle transmitter.

actyc:
I used a 100 Ohm Resistor to limit the power going through the transmitter. Removing this resistor makes the LED work pretty well (not quite as well as I'd like it to do). Is there any real danger for my Arduino if I use the LED without a resistor until I find a better solution?

Are you telling us you connected a LED directly to an Arduino port without a current control resistor? :roll_eyes:

Is there any real danger for my arduino if I use the LED without a resistor until I find a better solution?

Yes. Well a racing certainty in fact. You have already damaged your pin as a result of doing this. You might not notice now but it will fail sooner than it otherwise would. You might even have limited the maximum output current.

Hi,

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?
Showing how you are driving the LED and your power supply.

Thanks... Tom...

actyc:
Is there any real danger for my arduino if I use the LED without a resistor until I find a better solution?

I think it is possible to damage the Arduino pin powering an IR LED directly if you are using 5V supply voltage. But I believe it is also possible no damage occurs or it is so discrete it will take years before you notice. It also depends on your setup. How do you power the Arduino? From USB? Is it 5.2V or 4.8V? Or even less? Are you using a solderless breadboard with long thin wires connecting Arduino and the LED? They may easily add tens of Ohm reducing the current considerably.

The absolute maximum DC current for a pin is 40mA. The datasheet does not give more details. But I cannot believe a pin designed to survive 40mA for years at ambient temperature 80°C could fail sourcing 60mA for a few microseconds at room temperature.

Smajdalf:
designed to survive 40mA for years at ambient temperature 80°C

Is it? I don't think it's written like that in the datasheet. Now of course I haven't read it end to end but never seen anything like this.

I do recall reading about experiments where the pins were loaded to 40 mA. The main result was that the voltage at the pin dropped drastically: internal resistance kicking in. Until 20 mA or so the voltage was kept very close to where it should be: Vcc when set to high; 0V when set to low.

It'd be interesting to measure the current through a pin with a multimeter: set pin to low, connect multimeter between pin and 5V, see what current you get. Repeat for opposite polarity. Another thing would be to measure the voltage over a 250Ω resistor connected to that pin for a 20 mA load, and a few larger and smaller resistors for lower/higher currents.

Smajdalf:
But I cannot believe a pin designed to survive 40mA for years at ambient temperature 80°C could fail sourcing 60mA for a few microseconds at room temperature.

First off the data sheet does not say it will survive 40mA for years at ambient temperature 80°C. It actually says:-

Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent dam- age to the device. This is a stress rating only and functional operation of the device at these or other conditions beyond those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.

Second it is not just a few mS.

Book learning only gets you so far you know, real life experience has a lot to offer. But then you always think you know better than the data sheet don't you.

Yes I know you always take every opportunity to bad mouth me, but give it a rest for your own sake.

@Grumpy Mike: the quoted "explanation" of Absolute Maximum Ratings is full of weasel words and don't really say anything. I understand it "we tried design the chip to survive at the AMR but if you try hard you may damage it even within AMR". Moreover there are the process variations - the average device must be considerably more rugged to ensure that even the weakest one will meet the specifications. I think it is reasonable to assume the device is designed to survive at the AMR conditions but it is possible some marginal die may be damaged at unlucky combination of the stress - they simply say there is no guarantee.
And second it is not "just a few ms". With 38kHz and 50% duty one pulse is about 13 microseconds long.

Luckily citing holy texts is not the only scientific method nowadays. I am running a very simple test. Preliminary results seem encouraging (about one hour without noticeable harm). When it is finished I will show the data.

There are lots of crazy, out-of-spec things one can do with Arduinos. Many such things they may survive, others not.

For a bench test for a proof of concept of something, that's just fine. Not recommended, know that it can go wrong and that you have added additional points of failure so if the project fails it may be because of that rather than the concept, etc.

For a production run where stuff has to work one time every time, it's not.

I understand it "we tried design the chip to survive at the AMR but if you try hard you may damage it even within AMR".

You understand wrong. This is not weasel words but a legally binding contract.

I am running a very simple test. Preliminary results seem encouraging (about one hour without noticeable harm). When it is finished I will show the data.

If you think that test holds any validity then you are a bigger fool that I thought you were.
What are you testing for when you are running this? Are you X-Ray the package? Are you determine the metal fatigue on the bonding wires? Are you testing for the light output of the IR LED? Run it for 24 hours and you might be able to check the light output drop if you have good enough equipment which I doubt.

Testing one unit proves absolutely nothing so don’t waste our time thinking it does.

wvmarle:
I do recall reading about experiments where the pins were loaded to 40 mA. The main result was that the voltage at the pin dropped drastically: internal resistance kicking in. Until 20 mA or so the voltage was kept very close to where it should be: Vcc when set to high; 0V when set to low.

So these "experiments" contradict Figures 35-22 and 35-24 in the datasheet then which indicate a reasonably linear voltage drop of 0.5 V at 20 mA at room temperature - equivalent to a 25 Ohm internal resistance.

One might anticipate if unwisely tested, a drop of slightly more than 1 V at 40 mA or less than 200 mA into a short circuit; 100 mA for two outputs driving against each other.