Subversion Repositories Projects

Rev

Rev 840 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 840 Rev 903
1
Servo controlled infrared transmitter
1
Servo controlled infrared transmitter
2
 
2
 
3
Application examples:
3
Application examples:
4
- Remote control for a camera on a RC-model through normal servo channels.
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.
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.
6
- Control for a stereo at home. Motion sensor connected to one input - pump up the volume to scare a housebreaker.
7
 
7
 
8
The idea for this project came up, to control a HD-camcorder on a Mikrokopter with a second radio-transmitter.
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
9
Gas-Stick: Zooming Camera
10
3-way Switch: Stop/Picture/Movie record
10
3-way Switch: Stop/Picture/Movie record
11
Nick-Stick: Cameraholder-Nick
11
Nick-Stick: Cameraholder-Nick
12
Roll-Stick: Cameraholder-Roll
12
Roll-Stick: Cameraholder-Roll
13
 
13
 
14
 
14
 
15
Inputs:
15
Inputs:
16
2 channels for servo-signals, switches or other TTL signals
16
2 channels for servo-signals, switches or other TTL signals
17
1 IR-Receiver to learn new codes (36 - 40 kHz)
17
1 IR-Receiver to learn new codes (36 - 40 kHz)
18
 
18
 
19
Output:
19
Output:
20
Modulated infrared signal at 950 nm
20
Modulated infrared signal at 950 nm
21
 
21
 
22
Controls:
22
Controls:
23
1 LED to indicate several operating modes
23
1 LED to indicate several operating modes
24
1 button to enter/leave the learning mode and switch between single and multi mode
24
1 button to enter/leave the learning mode and switch between single and multi mode
25
 
25
 
26
Supply voltage:
26
Supply voltage:
27
5V DC @ 50 mA
27
5V DC @ 50 mA
28
(Attention when using RC-Receivers with higher voltage)
28
(Attention when using RC-Receivers with higher voltage)
29
 
29
 
30
 
30
 
31
Theory of operation:
31
Theory of operation:
32
 
32
 
33
Each channel is seperated into 5 states, depending on the positive pulse width:
33
Each channel is seperated into 5 states, depending on the positive pulse width:
34
0,00 - 0,74 ms => 0 (switch to GND)
34
0,00 - 0,74 ms => 0 (switch to GND)
35
0,75 - 1,24 ms => 1 (stick down)
35
0,75 - 1,24 ms => 1 (stick down)
36
1,25 - 1,74 ms => 2 (stick middle)
36
1,25 - 1,74 ms => 2 (stick middle)
37
1,75 - 2,24 ms => 3 (stick up)
37
1,75 - 2,24 ms => 3 (stick up)
38
2,25 - more ms => 4 (switch to VCC or open input)
38
2,25 - more ms => 4 (switch to VCC or open input)
39
 
39
 
40
Together with the second input, you get theoretically 25 different combinations, which all can be populated with learned IR-code.
40
Together with the second input, you get theoretically 25 different combinations, which all can be populated with learned IR-code.
41
 
41
 
42
When using servo signals only, you have 3 states per channel, so 9 combinations.
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.
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.
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.
45
When using only one channel, you get 2 (switch) or 3 (servo) states.
46
 
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).
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.
48
When the device sends out IR-Code, the red LED lights up.
49
 
49
 
50
 
50
 
51
Theory of learning:
51
Theory of learning:
52
When you press the button on the device, it goes to learning-mode.
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.
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.
54
When pressing the button again, you can choose between single- or multi-mode.
55
 
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.
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.
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.
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.
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.
60
The device goes back to normal operation and is ready for orders.
61
 
61
 
62
 
62
 
63
Currently supported IR-Protocols
63
Currently supported IR-Protocols
64
Protocol:   Used by
64
Protocol:   Used by
65
===================
65
===================
66
GRUNDIG     Grundig
66
GRUNDIG     Grundig
67
JVC         JVC
67
JVC         JVC
68
KASEIKYO    Panasonic, Technics, Denon and more japanese manufacturer, which are member in "Japan's Association for Electric Home Application"
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
69
NEC         NEC, Yamaha, Canon, Tevion, Harman/Kardon, Hitachi, JVC, Pioneer, Toshiba, Xoro, Orion, NoName and much more japanese manufacturer
70
NIKON       Nikon
70
NIKON       Nikon
71
NOKIA       Nokia, e.g. D-Box
-
 
72
RC5         Philips and more european manufacturer
71
RC5         Philips and more european manufacturer
73
RECS80      Philips, Nokia, Thomson, Nordmende, Telefunken, Saba, Technisat
72
RECS80      Philips, Nokia, Thomson, Nordmende, Telefunken, Saba, Technisat
74
SAMSUNG     Samsung
73
SAMSUNG     Samsung
75
SIRCS       Sony
74
SIRCS       Sony
76
 
75
 
77
 
76
 
78
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
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
79
 
78
 
80
This project is based on the nice IR decoder/encoder routines (IRMP/IRSND) from Frank Meyer => http://www.mikrocontroller.net/articles/IRMP
79
This project is based on the nice IR decoder/encoder routines (IRMP/IRSND) from Frank Meyer => http://www.mikrocontroller.net/articles/IRMP