Electronic – How to demodulate an IR signal

demodulationinfrared

For an Arduino project that I'm building, I'd like to read codes from an IR remote, operating at 455 kHz. There is a combined IR eye and demodulator TSOP7000 that I think would fit the bill perfectly, but unfortunately it is discontinued and appears to be difficult acquiring today.

Hence, I figured it might be possible to buy the modulator separately from the IR eye, so basically my circuit would be [IR eye] – [IR modulator] – Arduino digital In. Alternatively build one, but the only I have seen is this that does not really seem to work that well, judging from the authors closing remarks.

Any ideas where I could buy one, or build my own in order to get the same result as with the discontinued TSOP7000?

Best Answer

Like Russell says a receiver is not easy, that's also the reason why I asked if you couldn't work on the transmitter. If you don't mind tampering with that I'd suggest open-transmitter surgery. The idea is to intercept the 455 kHz output from the controller to the LED's transistor, and place a small microcontroller like the PIC10LF320 in between the controller's output and the transistor's input. It's just a SOT23-6 package, so it will probably not be a problem to include it in the remote control.

Let the PIC wake up from sleep upon a rising edge on its input. That means the transmitter starts sending a code. At that moment the PIC starts a PWM output at 36 kHz, which drives the LED. Also start a 3 µs timer. That can be a soft timer, you don't have anything else to do anyway. Restart the timer on each new interrupt. At 455 kHz that will be every 2.2 µs, so that's shorter than the timeout. As long as the timer doesn't timeout you're receiving the 455 kHz carrier. If the timer times out it means the 455 kHz carrier has stopped, either because of a 0 bit ("space") is being sent, or because of the end of the code. In that case stop the PWM output and go to sleep.

That's it. This way you detect the 455 kHz carrier and replace it with a 36 kHz (or 38 kHz, whatever), so you can use a regular IR RC receiver. Vishay has lots of them.