Subversion Repositories Projects

Rev

Rev 840 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
840 - 1
Servo controlled infrared transmitter
2
 
3
Application examples:
4
- Remote control for a camera on a RC-model through normal servo channels.
5
- Control for a TV at home. Doorbell connected to one input - switches the TV to a surveillance cam.
6
- Control for a stereo at home. Motion sensor connected to one input - pump up the volume to scare a housebreaker.
7
 
8
The idea for this project came up, to control a HD-camcorder on a Mikrokopter with a second radio-transmitter.
9
Gas-Stick: Zooming Camera
10
3-way Switch: Stop/Picture/Movie record
11
Nick-Stick: Cameraholder-Nick
12
Roll-Stick: Cameraholder-Roll
13
 
14
 
15
Inputs:
16
2 channels for servo-signals, switches or other TTL signals
17
1 IR-Receiver to learn new codes (36 - 40 kHz)
18
 
19
Output:
20
Modulated infrared signal at 950 nm
21
 
22
Controls:
23
1 LED to indicate several operating modes
24
1 button to enter/leave the learning mode and switch between single and multi mode
25
 
26
Supply voltage:
27
5V DC @ 50 mA
28
(Attention when using RC-Receivers with higher voltage)
29
 
30
 
31
Theory of operation:
32
 
33
Each channel is seperated into 5 states, depending on the positive pulse width:
34
0,00 - 0,74 ms => 0 (switch to GND)
35
0,75 - 1,24 ms => 1 (stick down)
36
1,25 - 1,74 ms => 2 (stick middle)
37
1,75 - 2,24 ms => 3 (stick up)
38
2,25 - more ms => 4 (switch to VCC or open input)
39
 
40
Together with the second input, you get theoretically 25 different combinations, which all can be populated with learned IR-code.
41
 
42
When using servo signals only, you have 3 states per channel, so 9 combinations.
43
When using switch signals only, you have 2 states per channel, so 4 combinations.
44
When mixing both signals, you have 2 states for the switch and 3 states for the servo, so 6 combinations.
45
When using only one channel, you get 2 (switch) or 3 (servo) states.
46
 
47
After power-up, the device checks the inputs the whole time. When a combination was learned with an IR-Code before, this code is sent out through the IR-Diode. Depending on which mode this combination was learned, it is sent out only once (single-mode), or as long as the combination stays active (multi-mode).
48
When the device sends out IR-Code, the red LED lights up.
49
 
50
 
51
Theory of learning:
52
When you press the button on the device, it goes to learning-mode.
53
In this mode, the LED flashes 1 or 2 times (depending of the actual mode) every half second, indicating that the device is waiting for IR-codes.
54
When pressing the button again, you can choose between single- or multi-mode.
55
 
56
When an IR-code is sent to the device, it looks at which state-combination the inputs are, and saves the IR-code for this combination.
57
Saving is confirmed with fast flashing of the LED.
58
You can now learn multiple combinations with different (or same) IR-codes, you can even mix up different IR-protocols and use different modes on different combinations.
59
When you have learned enough, press the button for 2 seconds, to permanently save the data to the EEPROM. This is confirmed with fast LED-flashing.
60
The device goes back to normal operation and is ready for orders.
61
 
62
 
63
Currently supported IR-Protocols
64
Protocol:   Used by
65
===================
66
GRUNDIG     Grundig
67
JVC         JVC
68
KASEIKYO    Panasonic, Technics, Denon and more japanese manufacturer, which are member in "Japan's Association for Electric Home Application"
69
NEC         NEC, Yamaha, Canon, Tevion, Harman/Kardon, Hitachi, JVC, Pioneer, Toshiba, Xoro, Orion, NoName and much more japanese manufacturer
70
NIKON       Nikon
71
RC5         Philips and more european manufacturer
72
RECS80      Philips, Nokia, Thomson, Nordmende, Telefunken, Saba, Technisat
73
SAMSUNG     Samsung
74
SIRCS       Sony
75
 
76
 
77
The code was compiled using WinAVR-20081205. Other versions generate much bigger code which don't fit in the ATMega8 anymore. To avoid this, use another WinAVR version or disable some IR-protocols in irmpconfig.h and irsndconfig.h
78
 
79
This project is based on the nice IR decoder/encoder routines (IRMP/IRSND) from Frank Meyer => http://www.mikrocontroller.net/articles/IRMP