Thursday, October 21, 2010

Lab Notes: IR Remote

This is an experimental blog entry.  This is a set of notes, as I keep in my electronic lab book, on building a high-powered IR remote control.  This gives you a look into my thought process as I'm starting a project.  If you're not a EE or electronics hobbyist, a lot of this probably makes no sense at all.  You may want to come back some other time when I'm back to writing prose rather than EE stream-of-consciousness.

This is something I've been thinking about for several weeks, but haven't done anything about.  If I make progress on this, I might continue to edit this entry.  To that end, I'll note Last Date Edited (and update this if/when I make changes): October 21, 2010.

Optimal wavelength: I've got IR LEDs from 810nm to ?? (lots longer.)  What's the peak detection wavelength? The Sharp integrated remote control transceiver modules are at 940nm.  Several other IR remotes seem to be at that wavelength as well.

Looking on Digikey for 940nm IR LEDs, there are a bunch.  Let's say I want to go with a high-efficiency one, to get peak IR/watt.  What are my choices?  Searched 940nm in stock, and there are 60.  Luminous intensity is given in terms of mW/sr @ xx mA.  sr = steradian, but this increases with viewing angle (smaller angle, photons more concentrated).  Some choices:

TSAL6100: 80mw/sr @ 100mA, 20 degree angle
TSAL6200: 40mw/sr @ 100mA, 34 degree angle
TSAL5300: 30mw/sr @ 100mA, 44 degree angle
TSAL6400: 25mw/sr @ 100mA, 50 degree angle
TSAL7600: 15mw/sr @ 100mA, 60 degree angle

These are all 5mm (T 1 3/4) LEDs with 1.35V nominal forward voltage.  Are these all the same die, with just different optics?  (Question: How do LEDs get different viewing angles?)  These are Vishay Semiconductor parts.

And what viewing angle do I want for these LEDs anyway?  Am I trying to make a remote that has maximum range when aimed, or maximum spread when spraying a large area?  Well, if it was a super-TV-B-Gone, I'd go for the widest spread.  But the primary goal is maximum range.  So I think I'm going ot use the TSAL6100.  20 degree ( +/- 10 degrees of center) for the beam width.  MAYBE I'll have one or two wide-beam LEDs just to provide some near-in breadth, at the expense of a little bit of range.

Of course, if narrow and far is really all I want, there's an OSRAM with 160 mW/sr at 10 degree beam width (P/N SFH4545).  The forward voltage is 1.5V nominal, and it costs about 10% more than the Vishay parts above...

So how many of them to use?  Inverse square law says I need to increase the intensity by a factor of 4 to double the range.  So 4 LEDs gets me 2X the range of 1 LED.  16 LEDs gets me 4X the range.  64 LEDs gets me 8X the range. 256=16X,  1024=32X.

What are my limiting factors:
  - Size: I can only fit so many LEDs on the front of my device.
  - Cost: These things ain't free!
  - Power: This is the real limit:  at 1.35V Vf I could probably put two in series (2.7V) and still run it with a 3.3V system voltage.  But that's nominal...  Peak Vf is 1.6V so 3.2V for a stack of two.  I could *probably* still get away with running those off a 3.3V rail.

How many of these 2 LED stacks can I run off batteries?  I'd like to use 4 AA batteries, switched down to 3.3V for optimal efficiency.  Figure 1A peak current is about what I want to draw.  8 x2 stacks of LEDs gets me 800mA.  Or do I want to run the LEDs directly off the batteries?  Not really, because battery voltage is going to vary from 6.4+V fresh to 4.0V dead, and the current would vary with battery voltage.  What about voltage overhead for my switching NPN?  Do I want to use a FET instead?

Or instead of doing two LED stacks, do I want to have one per BJT, but with a potentially higher peak current?  What's my pulse length?  At a slower modulation frequency of 36KHz, we've got a pulse of 1/(2x36000) = 13.8uS.  LED Datasheet specifies a peak pulse current of 200mA for 50% duty cycle for pulses less than 100uS, so we're golden.  Furthermore, Radiant Power per mA seems to scale pretty well from 100mA to 200mA, so running the LEDs at twice the current is just about the same (in this range) as twice as many LEDs.

Waveform: Remotes vary in the frequency of the carrier: 40KHz, 38KHz, 36.x KHz...  I'd like to have the hardware capable of hitting all of these.  Ways to generate a modulated carrier:
  - Bit bang all the way - This is sloppy & potentially dangerous.  If I'm running the LEDs at 2X nominal forward current because I'm depending upon them never staying solid on, then I really better never write code (or hang the microcontroller) with them solid on, lest I cook my IR emitters.*
  - PWM on the uC turned on and off to gate it.
  - PWM gated at the i/o (turning the output to a pulled input aught to do it.)
  - Externally generated carrier externally gated (seems a waste of additional circuitry when my uC choices all have PWM / Counters / Timers galore.)

*This inspires an additional functional mode: IR Flashlight.  Is it useful as a flashlight strobing at 40KHz, with the carrier just constantly on?  Or is there any other frequency that would be better?  Something that *doesn't* alias with camera imagers or video frame rates, presumably, as those are what I'd be using to view the invisible illumination...

Question:  Which uC do I want to use on this thing? Driving factors: Power consumption (for battery life), user interface, programming environment.


Question: Do the IR Receivers depend upon the carrier remaining consistently in phase with itself over time?  And do they care about runt-pulses if the signal is turned out mid-way through the carrier on-time?  (i.e. Do I want a synchronizer for sending data with only integer numbers of in-phase carrier pulses?)

LED switching:  NPN transistor...  What about current limiting to the LEDs?  Do I just direct connect the LED and depend upon a BJT + voltage rail to limit the forward current?  Or include a small current limiting resistor?  (Built a spreadsheet, and possibly breadboard this up or SPICE it to see performance over ranges of voltage, etc, etc.)

Question: What is my LED failure mode?  If it is just thermal, could I mitigate it by heat sinking them?  The LED datasheet calls out operating modes of much lower duty cycles (like 1%) with much higher current (like 1A) which suggests that it is not magnetostrictive failure of the bonding leads...

Also need a housing...  Want to find something fairly rugged, that holds 4AA, with enough room for a small PCB for electronics, and enough front end face space for the LEDs and enough top face space for a good UI.  Button pad?  LCD display?  Dunno yet...

No comments: