You are on page 1of 4

Introduction

The Digital Butler will allow the user to control commercially available X10
products through a menu system either from a webpage or from an on-board LCD screen
and keypad. The menu software will be dynamic in nature enabling the user to change
the state of individual outlets (e.g. turn on, turn off, and dim), schedule wall outlet events,
create lighting configurations, and receive status from the individual outlet units. The
control console will receive inputs through wires to a keypad and from a webpage
through an Ethernet connection. Based on the input, the console will send an X10
command to the X10 interface, display information on the LCD screen, update HTML
files (for a web page), and dynamically allocate memory to adapt the system to the latest
user needs.

Theory of Operation
-Keypad
The keypad is a 3x4 matrix of switches (12 buttons total) that, when pressed,
connects a unique pair of pins to create a short[5]. There are four column pins and three
row pins. The connection takes place between one column and one row. To detect when
a button is pressed, the keypad is connected to an MM74C922 keypad encoder [6]. The
encoder polls each row at the rising edge of the clock that is set by the rabbit
microcontroller. If a button is pressed the chip provides a four bit key-code for output
and sets the ‘data available’ pin high. ‘Data available’ is only set after bounce
elimination. The keypad encoder requires 5V supply voltage and 5 microcontroller port
pins. Software in the microcontroller handles input to the microcontroller from the
keypad decoder.

-LCD Screen
The Crystalfontz CFAG160160BYYHVU Graphic LCD Screen [4] has an on-
board controller which communicates with the microcontroller. The LCD controller
provides a text mode (as opposed to graphic mode) that displays information. Data from
the microcontroller is transmitted to the LCD screen buffer at a rate determined by the
‘LCDReadStatus’ flag from the LCD controller chip. The transfer is through 8 parallel
data pins and 5 control pins. Software in the microcontroller will determine the
information being provided to the LCD controller chip. The LCD screen requires 5V for
supply voltage and on board regulators generate the necessary -15V supplies.

-Ethernet Port
The Rabbit RCM3000 module is packaged with an integrated 10Base-T Ethernet
connection [2]. Microcontroller software (Dynamic C libraries) hosts a webpage. The
microcontroller pins used by the Ethernet interface have a very limited affect to the port
pin availability of the rest of our design.

-X10 Interface
The TW523 X10 interface is powered by a standard AC wall socket [3]. It serves
as a Power Line Carrier (P.L.C.) transmitter-receiver for X-10 code. The interface
connects to the microcontroller through an RJ11 telephone jack, and uses X-10
communication protocol to send/receive data. The home control console has an RJ11
phone jack. The phone jacks from the X10 interface and the home control console
connect together. Three of the four pins from the console phone jack (Tx, Rx, and zero
crossing) connect to microcontroller port pins after passing through a voltage
regulation/protection network. The zero crossing connection is used to monitor the
transmission of the commands and telemetry over the house hold power lines to keep the
system synced with the X10 products. The fourth pin is a common ground between the
two devices. Software is used to create, send, and receive X-10 code for the X10
interface to transmit.

-Microcontroller Internals [1]


The Digital Butler uses the microcontroller’s internal timer, and real time
interrupts. The timer module is used to keep a time of day clock which is used by
software to fire user-scheduled events. The clock is also displayed on the LCD screen.
The internal real time interrupts allow the system to respond to all user inputs.
-Power Supply
The Digital Butler is supplied with an unregulated 7V-12V from a wall wart. An
LM2575 switching voltage regulator [8] on board (which can handle 7V – 60V on the
input) converts the supplied voltage into regulated 5 volts DC, and can drive 1A of load
current. The 5 volt output provides power the LCD screen and Keypad decoder, X10
voltage dividers and the 3.3 V low-dropout linear regulator. The low-dropout linear
regulator (LM1117T) [7] also takes the regulated 5V and regulates 3.3 volts on the output
to supply power to the RCM3000. The LM1117T can support 800mA of load current,
and is enough for RCM3000 operation (the RCM3000 typically draws 125mA).

References
Rabbit3000 and Ethernet
[1] http://shay.ecn.purdue.edu/~477grp6/DataSheets/Rabbit/R3000UM-
rabbit3000_user_manual.pdf
[2] http://shay.ecn.purdue.edu/~477grp6/DataSheets/Rabbit/090-0136-
rabbit3000_board_schematic.pdf

X10 interface
[3] http://shay.ecn.purdue.edu/~477grp6/DataSheets/X10/TW523-
two_way_power_line_tech_note.pdf

Crystalfontz LCD Screen


[4] http://shay.ecn.purdue.edu/~477grp6/DataSheets/LCD/CFAG160160BYYHVU-
lcd_screen.pdf

Keypad and Decoder


[5] http://shay.ecn.purdue.edu/~477grp6/DataSheets/Buttons/C-06-
09_16_digit_keypad.pdf
[6] http://shay.ecn.purdue.edu/~477grp6/DataSheets/Buttons/MM74C922-
keypad_decoder.pdf
Power Supply
[7]
http://shay.ecn.purdue.edu/~477grp6/DataSheets/PowerSupply/LM1117_3p3V_regulator
.pdf
[8]
http://shay.ecn.purdue.edu/~477grp6/DataSheets/PowerSupply/LM2575_5V_regulator.p
df

You might also like