Sunteți pe pagina 1din 6

Circuit Description: Small Garage Door Opener

This Project is designed to add functionality to the garage door circuit, including monitoring status, ZigBee connectivity into a whole home network of things, and tracking of door activity. Door opener assembly Has door open contacts that controls Relay A Has door closed contacts that controls Relay B Uses I2C to communicate to Main GDO and from it to the main button/LED unit Detects obstruction through sense of voltage drop on OBS lead Detects motor in operation by sensing ac to motor coils (future) Uses radio receivers relay to operate door Uses 24v to power Arduino board, converted to 5v via 7805, with 24v and 5v Ground common Arduino Inputs 1. Small Garage button 1 pressed 2. ZigBee signal received (has subsets) 3. Main Garage button 2 pressed 4. Obstruction detection 5. Opened door switch (see above) from Relay A 6. Closed door switch (see above) from Relay B Arduino Outputs 1. Operate door 2. Door operating LED 3. Activate command LED 4. Door ajar LED 5. Obstruction detected LED 6. Closed door notification (Door Open LED extinguished) 7. ZigBee reports Need to check software. Need to add relays into the open and closed contacts circuit. Create 5v circuit from 24v. Door obstruction sensor looks to pull down voltage when working and no obstruction, voltage present when obstruction exists. Obstruction is ~20vdc at OBS lead (versus common) while ~7 to 13vdc when unobstructed. Need to detect voltage differential using LM339 Comparator. Need to look into circuit of motor control assembly to see if there is a way to determine if motor is operating and then if door is opening or closing. Should be

possible, just need to figure out the specs of the door control and motor. Possibly at the cap that may have both directions on it. When main garage button for small garage (Button 2) is pressed, it signals to Arduino to operate the door. This is an interrupt as well. When the small garage operation button (Button 1) is pressed it signals to Arduino to operate door. This is an interrupt as well. When door operate command received over ZigBee the door is operated.

The Garage door opener, when achieving maximum open, closes door open indicator contacts via nylon pegs on chain, thus causing Relay A to operate. Upon Relay A operation, contacts A1 signal to motor control assembly to halt motor while contacts A2 signal to Arduino that door is fully open. This is not an interrupt. The garage door opener, when achieving maximum closed, closes door closed indicator contacts via nylon pegs on chain, thus causing Relay B to operate. Upon Relay B operation, contacts B1 signal to motor control assembly to halt motor while contacts B2 signal to Arduino that door is fully closed. This is not an interrupt. When door begins operation in either direction, it enters a door ajar state where it is registered as neither fully open nor closed. This triggers a report upon timeout. If door is taken off its chain trolley the Arduino does not know state of door (ajar). This needs to be addressed in future design. The ability to turn on light is using the PB and COM leads this uses a 1mf cap across the leads to turn on and off the lights. Need to find a way to add this to Arduino design. The on button turns on the lights without a timer to extinguish, so needs to be turned off or door operated.

Pin Assignment 2 D0 3 D1 4 D2, Int. 0, Any Button or Radio Activation 5 D3, Int. 1, Obstruction Detected 6 D4, Fully Opened Door Switch via Relay A 11 D5, Fully Closed Door Switch via Relay B 12 D6, Small Garage Button (1) 13 D7, Radio Signal Detected 14 D8, 15 D9, 16 D10, 17 D11, 18 D12, 19 D13, Operate Garage Door (via radio unit relay) 23 A0, Door Ajar 24 A1, Door Operating 25 A2, Door Activation Request LED 26 A3, Obstruction Detected LED 27 A4, SCL 28 A5, SDA Notes: 1. I2C interface to Main GDO and Button/LED unit 2. Reserved for XBee Communications

Direction

Notes 2 2

Done?

Input Input Input Input Input Input

Output Output Output Output Output 1 1

Yes Yes Yes Yes Yes

Button LED Unit for the two garages

3-color LEDs Buttons

Buttons

Front view of faceplate Side view of Module

INT & 24v GND

I2C*

Btn 1 Btn 2

LED 1

LED 2

5v

I2C Extender

*Note that I2C leads are each paired with a Ground


The unit will have an I2C interconnect to the controllers for the two doors. Button 1 is ignored by the Small GDO while Button 2 is ignored by the Main GDO. Each Button has its own tri-color LED, where the colors are used as discrete signals, not mixed colors. LED Color Associated Door Status Notes RED Ajar (Open) Door may be operating or halted BLUE Closed fully GREEN Open fully What this means is that the LED for a Button is installed inside the Button assembly and the LED shines out through the Button, allowing the user to determine the associated door status quickly, which is a help for the small GDO as it is unseen from the control location. As well, the LEDs provide a more discernible target for the user to aim for to operate the doors versus un-illuminated buttons.

Feeds from the Small GDO to the Unit are the SDA and SCL leads for the I2C link, 24v Ground (GND) common with the Main GDO 24v GND, the INT lead from the Extender to the Arduino (with blocking diode) to use the INT as a trigger for sensing the Extender actions, if wanted (this may or may not be implemented). Each of the I2C leads is paired with a lead that has 5v GND on it to act as a noise suppressor due to the length of the cable from Small GDO to unit. The I2C pinout assignments are as follows: Pin Designation Function Notes 1 A0 LOW For Addressing [010111000] 2 A1 LOW For Addressing [010111000] 3 A2 NC For Addressing [010111000] 4 P0 Button 1 sense xxxxxx11 5 P1 Button 2 sense xxxxxx11 6 P2 Button 1 Red LED xxx00111 7 P3 Button 1 Blue LED xxx01011 8 GND 5v GND Common to GDO controllers GND 9 P4 Button 1 Green LED xxx10011 10 P5 Button 2 Red LED 001xxx11 11 P6 Button 2 Blue LED 010xxx11 12 P7 Button 2 Green LED 100xxx11 13 INT Interrupt Goes LOW for INT 14 SCL I2C Clock 15 SDA I2C Data 16 VCC 5v From 7805 The circuit board consists of the attachment points for the wires from the GDOs, wires to the buttons and LEDs, the 7805 Regulator, the PCF8574 I2C Extender, and misc. discrete components. The Extender is apparently able to drive a weak LED, while the RBG LEDs have specific power requirements of their own that may require driver circuits (chip or transistors).

S-ar putea să vă placă și