Home     Projects     Micro     Tools     Delphi     Developer     Site map

3 channel IR remote control


This project is a 3-channel IR remote control with 3 output
relay and easy to build.

Feature :
  • CPU PIC12F629 at 4MHz crystal for Tx/Rx
  • 3 channel output relay
  • The Tx use sleep mode for saving battery power
  • Use Phillips RC5 protocal
  • distance more than 7 m.
  • Easy circuit to build and assembly
  • small components
Basic RC5 protocal

The RC5 is probably the most used by hobbyists, probably because the wide availability of cheap remote controls and
easy to understand.

Feature :
  • 2 start bit always "1"
  • 1 toggle bit but this project not use and always "0"
  • 5 bit address and 6 bit command length
  • Bi-phase coding (aka Manchester coding)
  • Carrier frequency of 36kHz 25-50% duty cycle
  • Bit time period about 1.67 ms
  • Developt by Philips
The protocol uses bi-phase modulation (or Manchester code) of
a 36kHz IR carrier frequency. All bits are of equal length of about 1.67 ms as follows figure.

Figure 1. RC5 Modulation

Figure 2. RC5 Frame format

Figure 3. Bi-Phase coding

In figure 2,the first two pulses are the start pulses, and are both logical "1". (St1 and St2)

The 3d bit is a toggle bit. This bit is inverted every time a key is released and pressed again. But this project not use this bit
and always "0" (Ctrl)

The next 5 bits represent the IR device address, which is sent with MSB first. (S0-S4)

The next 6 bits is command and sent with MSB first too.(C0-C5)

Note that a RC5 frame consists of a total of 14 bits so the total
time is about 23 mS

RC5 detecting

When the detect subroutine is called, it first waits for a start bit. The length of the low part of the first start bit is measured. If the low pulse of first start bit is longer than 1.020 ms or less then 800 uS the routine returns indicating error or no
command received.

Figure 4. Synchronizing and Sampling of the Data

The measurement of the start bit is used to calculate two reference times, ref1 and ref2, which are used when sampling the data line. The program uses the edge in the middle of
every bit to synchronize the timing. 3/4 bit length after this
edge, the line is sampled. This is in the middle of the first half
of the next bit (see Figure 4).The state for each bit is stored and the routine waits for the middle edge.

Tx schematic

The TX use 8 pin PIC devices, here is PIC12F629 run at 4 MHz
crystal. Actualy, this device has 4MHz RC internal oscillator but
not suitible for use with the project that need cirtical time as
remote control.The 36KHz carrier and information bit generated by IC1.For saving power when use with battery powered we
need to use this device in sleep mode when any keys not
pressed and draw current <1 mA at 4MHz, 5.5V .

Example how to wake-up from sleep mode when key pressed.
main :  SLEEP
          BTFSS      CH1
          GOTO       Do_CH1
          BTFSS      CH2
          GOTO       Do_CH2
          BTFSS      CH3
          GOTO       Do_CH3
          GOTO       main

Rx schematic

The IR was recieved from Tx will demodulated by IC2 that is IR receiver Modules for Remote Control Systems.In this project I
use TSOP4836 from Vishay Semiconductors that is one of TSOP48XX series. After IR demodulated it was decoded the protocal by IC1 then turn on/off appropiate channel.The out out of IC1 is toggle every time when Tx send the same command to Rx.You may be change the output drive circuit for
suitible with your load.The pin 3 of IC1 must pull-up to vcc with
R10K becuase it is not has weak-up internal pull-up.

Here is an example application for reverse direction of dc motor

Note : don't for got to connect diode cross relay

Download source

Copyright(c) 2005-2007 sixca.com, All right reserved.
Best view @ 800X600, IE 6.0 up   
Terms of Use  Privacy Policy