]> git.friedersdorff.com Git - max/tmk_keyboard.git/blob - tmk_core/protocol/lufa/LUFA-git/Projects/RelayBoard/RelayBoard.txt
Merge commit '20b787fc1284176834cbe7ca2134e4b36bec5828'
[max/tmk_keyboard.git] / tmk_core / protocol / lufa / LUFA-git / Projects / RelayBoard / RelayBoard.txt
1 /** \file
2  *
3  *  This file contains special DoxyGen information for the generation of the main page and other special
4  *  documentation pages. It is not a project source file.
5  */
6
7 /** \mainpage OB's Quad-Relay outlet control using a Teensy2++
8  *
9  *  \section Sec_Compat Project Compatibility:
10  *
11  *  The following list indicates what microcontrollers are compatible with this project.
12  *
13  *  \li AT90USB1286
14  *
15  *  \section Sec_Info USB Information:
16  *
17  *  The following table gives a rundown of the USB utilization of this project.
18  *
19  * <table>
20  *  <tr>
21  *   <td><b>USB Mode:</b></td>
22  *   <td>Device</td>
23  *  </tr>
24  *  <tr>
25  *   <td><b>USB Class:</b></td>
26  *   <td>None</td>
27  *  </tr>
28  *  <tr>
29  *   <td><b>USB Subclass:</b></td>
30  *   <td>None</td>
31  *  </tr>
32  *  <tr>
33  *   <td><b>Relevant Standards:</b></td>
34  *   <td>USB Standards</td>
35  *  </tr>
36  *  <tr>
37  *   <td><b>Supported USB Speeds:</b></td>
38  *   <td>Low Speed Mode, Full Speed Mode</td>
39  *  </tr>
40  * </table>
41  *
42  *  \section Sec_Description Project Description:
43  *
44  *  Firmware for a Teensy2++ AVR-based miniboard to control four relays, using the
45  *  same protocol used by the commercially available Silver Shield PM power outlets
46  *  ( http://sourceforge.net/projects/sispmctl ) sold for some time. Because this
47  *  project mimics the original device, it can be controlled using the "sismpctl"
48  *  package included in many Linux distributions - including router-orientated
49  *  versions such as OpenWRT - to control the board's relays.
50  *
51  *  Relays 1 to 4 are respectively wired to pins C4, C5, C6 and C7 of the Teensy++ V2,
52  *  which are the PORTC bits 4 to 7 of the AT90USB1286. The relays MUST be wired through
53  *  a transistor, and a diode must be added in antiparallel on the relay's coil pins to
54  *  protect the transistor from back EMF generated from the relay when the coil is turned off.
55  *  The transistor base pin is wired to the Teensy data port through a 10K resistor. A
56  *  LED may be also be added as a relay status indicator on each channel.
57  *
58  *  The Relay coil will be driven by the transistor, but the power will come from
59  *  the 5V from the PC's USB port: Be careful in choosing the relay to avoid overloading
60  *  the PC, as the maximum current used MUST remains under ~450mA @ 5V.
61  *
62  *  The author's tested relays are 2 Finder 32.21.7.005.2000, coil il 125ohm, which can
63  *  handle 5A @ 250VAC. Be careful to use proper isolation if high voltages are manipulated.
64  *  The author used Hotglue to isolate all parts of the PCB in contact with high voltage.
65  *
66  *  See <a>http://www.pjrc.com/teensy/</a> for the Teensy2++ website.
67  *
68  *  <table>
69  *   <tr>
70  *    <td><b>Signal:</b></td>
71  *    <td><b>AVR Port:</b></td>
72  *   </tr>
73  *   <tr>
74  *    <td>Relay 1</td>
75  *    <td>PORTC, Pin 4</td>
76  *   </tr>
77  *   <tr>
78  *    <td>Relay 2</td>
79  *    <td>PORTC, Pin 5</td>
80  *   </tr>
81  *   <tr>
82  *    <td>Relay 3</td>
83  *    <td>PORTC, Pin 6</td>
84  *   </tr>
85  *   <tr>
86  *    <td>Relay 4</td>
87  *    <td>PORTC, Pin 7</td>
88  *   </tr>
89  *   <tr>
90  *    <td>Teensy2++ Yellow Led</td>
91  *    <td>PORTD, pin 6</td>
92  *   </tr>
93  *  </table>
94  *
95  *  \section Sec_Options Project Options
96  *
97  *  The following defines can be found in this project, which can control the project behaviour when defined, or changed in value.
98  *
99  *  <table>
100  *   <tr>
101  *    <td>
102  *     None
103  *    </td>
104  *   </tr>
105  *  </table>
106  */