Home Automation Using a Personal Computer
by Boyd W. Penn
91 Navarre Street
Hyde Park, Ma. 02136
May 1, 1992
(c) Copyright 1991, 1992 Boyd W. Penn
All Rights Reserved
Permission is granted to distribute
exact copies of this document with its
AUTOMATE - Home Monitoring and Control Shareware Version 3.0
1. INTRODUCTION ............................................. 1
2. OBJECTIVES OF THE AUTOMATE PROJECT ....................... 3
3. ABOUT THE AUTHOR ......................................... 4
4. LICENSE .................................................. 6
5. APPLICATIONS ............................................. 8
6. HOW TO DO AUTOMATION AND CONTROL ........................ 11
USING A PERSONAL COMPUTER
7. SIMULATIONS AND ILLUSTRATIONS OF COMPUTER.................. 15
MONITORING AND CONTROL
8. SENSORS .................................................. 16
9. FILES OF ACTUAL MONITORING ............................... 19
10. X-10 POWER LINE INTERFACE SYSTEM ......................... 20
11. GAME CARD ............................................... 23
12. COMMUNICATIONS WITH YOUR PC USING ........................ 27
INFRARED OR RADIO
13. ROBOTICS ................................................. 28
14. CALLER ID AND OTHER TELEPHONE APPLICATIONS ............... 29
15. PROGRAMMING .............................................. 30
16. THE SOLAR ENERGY PROJECT ................................. 33
17. THE WEATHER STATION PROJECT ............................... 35
18. GENERAL AUTOMATION AND CONTROL THEORY .................... 36
19. AUTOMATION AND CONTROLS LAB .............................. 40
20. MURPHY'S LAW ACCORDING TO CONTROL THEORY ................ 41
21. PROBLEM AREAS AND LIMITATIONS ............................ 44
22. WHAT DO I GET IF I REGISTER .............................. 45
23. THE AUTOMATE TOOL-BOX ..................................... 48
24. QUESTIONS ................................................ 49
REGISTRATION AND ORDER FORM
This software offering is probably a little different than most you have
seen. Its about doing things with your computer. Not just databases, word
processing, games and all that sort of thing but doing real stuff like
turning on lights, making the coffee, monitoring the house in short
getting out of the computer world and bringing the real world into the
Home automation, monitoring and control has been the dream and goal of
many folks but until recently it has not been practical for many reasons.
Number one, the cost of real computer automation was out the financial
reach of most people in their home environment. Number two, you needed to
be a programmer, electrical engineer, control engineer and just plain
lucky to get your brilliant buzzing computer box to do anything practical
as far as the rest of the world was concerned. Number three, the real
world runs on high voltage, like 115 VAC for lights, dishwashers, etc and
220 VAC for larger appliances like dryers and air conditioners.
High voltage and computers don't mix, put high voltage (except for the
wall plug to power it) anywhere near your computer and you have one fried
machine that is in bad need of a repair shop.
That has all changed. The hardware is now available on the market to allow
the average computer owner to have automation, monitoring and control of
the home environment. This program explains it in simple terminology,
shows what is possible, tells you how to get the information into and out
of the computer and for registered users provides details on building
equipment, design of control programs, lists of equipment manufacturers,
references to all sorts of information, more sample programs, how to get
analog signals into the computer and write programs to manipulate or
control from the data. And as the sales persons like to say and much,
The offering is divided into two issues. This the shareware version is a
discussion of what is possible and simulations. The registered version is
an completely different set of files, devoted to the actual control and
Welcome to the exciting world of computer monitoring and control. This
version introduces the concepts, provides background information and
education in the overall field and allows for a "test drive" to show and
demonstrate what monitoring and control using your personal computer will
Imagine pressing a key on your computer keyboard and turning on/off
lights, appliances, dimming/brightening lights, setting the lighting mood,
monitoring temperature, alarming when the temperature drops below
freezing, total automated control and monitoring of the home environment
and all those other things folks have promised for years but where never
really available to the average personal computer user.
AUTOMATE is written and developed by an experienced instrumentation and
controls engineer with extensive background in automation of large
projects. AUTOMATE is a tutor, equipment selection guide, provides a
complete engineering working method for achieving your goals. In addition
it is fun, maybe the best computer fun ever, with that elusive quality of
vastly increasing your computer skills while enjoying the experience and
having a ball.
More important AUTOMATE'S instruction manual is written to the level of
the average computer user and assumes no engineering, electronics or math
background. The registered version contains a huge manual and
documentation written to be very detailed instructions to accomplish the
goals of home monitoring and control. The instructions provide the
background and step by step instructions to allow the average computer
user to develop their dream home automation systems.
The AUTOMATE menuing system is provided to allow for access of all areas
and functions provided by this offering.
OBJECTIVES OF THE AUTOMATE PROJECT
The primary objective of the AUTOMATE project was first and foremost
information. This shareware program is designed to be an information
program, a one stop, essentially free look at what is available to the
home computer hobbyist.
Another very high objective was to develop an integrated home automation
system totally under control of the user to develop in any direction that
met that users needs. The one big thing that stands out in the field of
automation systems there is no "one size fits all". Everyones desires,
needs and wants are different. AUTOMATE was developed to allow for the
user to customize their systems to their tastes.
Integrated is just that integrated. The users has total control of all
functions in the automation system. All functions can be in one big fully
coordinated program written by the user.
AUTOMATE is modular in construction. Each function is developed as a stand
alone fully functional application. All functions are developed and
presented with a text descussion, source code applications programs and
complete bills of materials if hardware is required.
AUTOMATE is developed with the home computer hobbyist's pocket book in
mind. All functions are as low cost as possible. In many cases the
function is available as a commercial product. The AUTOMATE developed
function will be a fraction of the commercial products cost and in most
cases will perform as good if not better. Using the junkbox as much as
possible with a common sense approach to problem solving and costs.
AUTOMATE was developed as a tutor. The short time on the market has shown
the vast difference in user's skills. Some are very accomplished and some
are new or novice computer users. One of the goals was to accommodate all.
This shareware program serves the function of very basic introductory
AUTOMATE was designed to never be complete. As long as there are new
ideas, there will always be something else to do with AUTOMATE. In keeping
with that concept, AUTOMATE can never be out of date, constant upgrades
are prossible as technology changes or new functions become available.
None of this scrap the system and buy some new whiz bang system.
The overall goal of the AUTOMATE project is to become the premeir program
for the home computer hobbyist and experimenter. A one source, constantly
improving development incorporating affordable, understandable, doable
home automation projects.
The AUTOMATE project is a very time hungry, resources gobbling beast. I am
now on my fifth year of the project.
ABOUT THE AUTHOR
Most software I have used brings to mind the question, who is the idiot
who did this monstrosity? If you buy a book, there is usually a little
section on the the back cover that tells you about the author, then you
can decide to believe what they say based on what they have done. Software
isn't like that, something about computer stuff that says you better
believe it and if it don't work it must be your fault. I said if I ever
wrote anything for the general public I would at least include a sketch
about the author.
I spent about twenty years working as an instrumentation and control
engineer building big things like power plants, industrial plants, energy
projects, etc. Basically I did the engineering for all sensors to collect
data, the control room, computer systems, monitoring systems, controls of
all types, programming for industrial type computers and the like. This is
my first software ever released to the general public, mostly because the
bulk of what I write is very custom and I wanted something general in
nature. Plus something useful and that could be modified by the user to
their needs. So no fancy flashing graphics, windows, gimmicks but
something you can use and develop further.
Also had factory jobs, electronics technician, The Army, Navy nuclear
power program on a submarine as a reactor operator/technician, worked in a
power plant and in general kind of knocked around the world and saw a lot
of different situations. I had one interesting project of developing a
monitoring system based on a personal computer to monitor a small factory
operations, compute and log the data and transmit it to remote locations
over the phone lines. Also worked in a calibration lab and did a lot of
field cal work. Will give some hints on low tech/low cost calibration
Any programming examples will be done in modules with each module
explained. The shareware version does not have any real world application
programming examples. All programs in this version use the joystick to
simulate computer monitoring inputs. The registered version includes
program examples for monitoring using real world inputs.
My software philosophy is simple. It is:
a. Software should be of use to the user.
b. Be tunable to their needs.
c. Be understandable
d. Be fully disclosed, with no "hidden secrets".
e. Rights to use the results generated from use of that
software should be included in the purchase.
f. Folks should be willing to pay for what they get.
g. And finally it should be enjoyable, fun and hopefully
have some humor. Enough of this white knuckle approach to
AUTOMATE is developed and published by Boyd W. Penn of 91 Navarre Street,
Hyde Park, Ma. 02136.
The information presented therein is for educational, experimental and
hobby purposes only. NO direct applications for home automation and
control have been provided as part of this program, in whole or in part.
Although extra efforts have been made to ensure this program and its
documentation are accurate and precise, they are provided to you on an "as
is" basis. No warranty of any kind (direct or implied) is made with
respect to this program and its related files. The author of this program
is expressly not liable for any damages to computer hardware, software or
any other equipment. Also there shall be no liability to the author of
this program for lost profits, lost revenue or other incidental or
consequential damages arising out of the use or information of this
The user assumes ALL risks with respect to the accuracy, quality,
reliability, performance or otherwise use of this program and its
A limited license is granted to all users to this program to make copies
of the program files and its related documentation, and to distribute them
to other users subject to the following conditions:
1. The program, its related files and documentation are
not modified in any way and all files are distributed
together in their original form.
2. No fee is charged for the software and documentation,
except for a small distribution and media fee.
3. The program, its related files and documentation may not
be packaged with any other software (except as part of a
shareware software distribution program as stated in items
1 and 2) or hardware without written agreement from the author.
4. Any for profit, business or commercial use of this program,
its files and information is expressly prohibited.
5. The software contained herein will be used in a "shareware try
before you buy mode", without continuous or useful daily use.
Additional restrictions and terms are contained in chapter 22 of this
version for the right to purchase this software. In signing the order form
agreement, the purchaser is acknowledging reading and understanding those
additional restrictions and terms in addition to an understanding of what
is being offered in the registered version.
Note: X-10 is registered trademark of X-10 (USA) INC.
WHAT CAN I DO - APPLICATIONS USING YOUR COMPUTER
What kind of things can a home automation, monitoring and control system
based on using a personal computer do?
These applications come to mind and I'm sure its far from complete:
A. Burglar alarm
B. Security systems
1. Control lights in responds to motion
2. Control surveillance video systems
3. Calls if fire/break in
4. Extra smart garage door control
5. Door entry control
6. Night light control
7. Fire alarms
8. Outside parameter monitor
9. Counting events, people passing, etc.
10. Smart doorbell(s) (rings where you are)
11. Basement/cellar flooding monitor
12. Crib/area/room monitor
13. Oil tank level low monitor
14. Pool area monitor
15. Event logging
16. Panic/Help buttons
17. Sump pump control
C. Energy systems
1. Solar energy (a big one, more to come)
2. Attic fan
3. Thermostat control
4. Air conditioning
6. Hot water
8. Greenhouse temperature control
9. Snow melting
10. Auto warming
11. Environment control, air cleaners, humidity
12. Exhaust fans
13. Swimming pool temperature/level/pump control
D. Appliance control
1. Make coffee in morning
3. Wake up service
6. Ceiling fans
7. Window fans
8. Light bright/dim control
1. Phone answering machine
2. Remote control of home over the phone
3. Home status over the phone
4. Home based switchboard/paging/call forwarding
5. Telemarketing dialing
6. Voice mail
7. Remote door answer over the phone
8. Security calling features
9. PBX features through out house using one phone line
10. Communications/TV dish/antennas
11. FAX monitor
12. Phone/communications charges/time/logging monitor
1. Lawn watering
2. Freezer thaw alarm
3. Automatic plant watering
4. Pet entry/exit control
5. Outdoor/Indoor temperature monitoring
6. Snowfall/rainfall monitoring
7. Mailbox monitor (did the mailman cometh yet)
8. Gate monitor (Is it open/closed)
9. Dawn/dusk light control
10. hallway/bathroom nighttime light control
11. Drapery control
12. Voice/motion activated control
13. Aquarium monitor
14. Freeze Alarm
15. Automatic timed computer operations
16. Automatic weighting and data entry to weight control
17. Fitness program monitoring
As you can see security, energy systems and communications are big areas
for home automation. But there are already systems on the market to do a
lot of those things, why mess around with a computer?
Number 1 - Most stand alone systems are "dumb". They blindly do their
thing no matter what is happening around them. Basically you want an
integrated system. Most stand alone systems work on time. Why water the
lawn just because its 6 O'clock in the morning and raining. Or why turn
off the window fan at three in morning when its still hot. Using the
information developed by one system and then shared by all other systems
is very powerful, cost effective and provides systems that are very useful
and easy to live with.
Number 2 - Most don't work very well at their best. Murphy's Law talks
about the hidden flaw and most stand alone systems manage to find them.
Some little gismo breaks and the entire system no longer works or the
set-up is complicated with instructions that make no sense and can not be
remembered plus you lost the written instructions. Another big flaw many
require running wires for power or control through an existing
ceilings/walls or where ever, lots of luck. The systems I will talk about
in later sections avoid new wiring completely or let you decide the
applications where it is possible.
Number 3 - Most don't tell what they did or if they did it at all.
Computer based systems provide data logging with the event time and date.
Plus its at no real cost and can be very complete and detailed.
HOW TO BUILD AN AUTOMATION SYSTEM
Ok so how do we actually build one of these automated systems. The answer
is the the X-10 "power line carrier" technology that has been around for
awhile. Basically its little modules that plug into the standard 115 VAC
wall power receptacles. They are capable of sending signals to each other
over the same wiring that powers the house. The modules talk to each other
based on codes set on small dials on each module.
Many are familiar with the motion sensing light systems that turn on
lights when someone walks in an area. These sensors are also capable of
turning on remote lights inside the house via other modules tuned to
listen for their signal. Many manufacturers make these systems, some are
Powerhouse, Stanley and Heathkit to name a few. Many stores carry the
basic X-10 modules in the security section.
What type of modules are there?
1. Lamp modules to turn on/off and dim/brighten lights
2. Appliance modules to control small appliances
(15A or 1/3HP motor limits)
3. Motion sensing modules
4. Annunciator modules
5. High voltage appliance modules (220 VAC at 20 amps)
6. Contact sensing/input modules
7. Transmitter units to control the modules
(usually by a pushbutton)
8. Communication modules
9. Timer modules
All this has been around awhile, the system is programmed by setting dial
codes and control is by a fixed base station or remote hand carried
What is now different is that hardware gateway modules are now available
to allow your personal computer to talk to the X-10 modules over the power
line that powers the house. The power line interface plugs into the wall
receptacle and another cable connects to the computer serial or parallel
port. Two way communication is now possible between the computer and the
X-10 modules. In short the computer can now control lights, appliances,
etc. Also the computer can read the power line for communications between
two modules or a transmitter/control unit. An integrated automation and
control system is now possible.
So what's the difference, the computer just replaced the
transmitter/control unit and is doing the same thing only it costs a lot
more. Doesn't sound like a big gain to me. What is needed is a way of
using the power of computer software to react to the changing environment
and modify a fixed rigid program (that put in the X-10 transmitter/control
units - push a button turn something on) to a flexible program reacting to
changes like what time of the day is it, what day of the week is it, is it
raining, is it hot/cold outside, is the sun shining. In short the computer
replaces the human for monitoring and some decision making.
AUTOMATE is written with a common sense approach. The why's, what and
concepts are based on proven engineering techniques. AUTOMATE was written
around a concept of what was needed to having a working system. Those
difficult or impossible areas are worked out and presented as "plug in"
files for developing your systems. There is no experiment with this
concept and see if you can get a working application. All applications
presented in AUTOMATE have been built, debugged and tested as working
applications by the author.
AUTOMATE was developed based on a scaled down model of industrial
monitoring and control concepts. Safety was and is a prime consideration.
Safety is discussed in detail and is a common thread throughout the
offering. The user is guided in the areas of equipment selection,
construction and in the overall use concepts.
Lets stop and see what we know and what is missing to allow use of a
personal computer as a good control device.
A. The X-10 technology can solve the problem of connecting
the computer to the high voltage real world.
B. The X-10 technology is "Dumb". It just does what its told.
Therefore we need information from another source. Using this
other source of information we can modify the system operation
to meet the changing environment.
C. The status of the X-10 technology devices is not continuously
reported. The system only reports status when commands are
given. Therefore in certain situations we may need to verify
an operation actually happened.
D. Data logging and event reporting really become a useful possible
option at little or no cost.
E. Software design can become a problem if many different pieces of
software from different sources are used for separate functions.
F. We are kind of limited to on/off type control output.
G. The X-10 technology is modular in nature so you can try a little
project and then expand as the needs change.
H. The X-10 technology is not totally "Fail Safe", especially in a
computer control environment. The local control switches to the
devices being controlled are still operational but good software
design is still required.
I. The X-10 technology can not perform direct operation of many
AUTOMATE is basically the missing link to allow the home monitoring and
control system to operate as an integrated, smart system. AUTOMATE can
measure parameters in the real world, be programmed with the user's wishes
and exercise the control via a communications gateway to operate the X-10
technology. Those X-10 control/transmitters are a very poor method of
achieving control using the X-10 technology. First they are not very
powerful in capabilities. Second they make no sense to program and you are
forced to do it the way someone else wanted. Third they do not keep time
very well, your computer keeps excellent time. Fourth, they cannot measure
the outside world. Fifth, the system size is very limited, using AUTOMATE
it is possible to build huge systems.
Where do we get those other sources of information and how do we get them
into the computer? Plus why who you really want to do it? A good place to
start is the game port. You can buy input/output boards but my experience
with them has been dismal. Manufacturers like to sell these boards and
make all sorts of claims. I found few to pan out. They tend to be
expensive and the software included (if any) is very cramped and short
sighted. Usually your into some sort of development program to make it all
There are input/output boards for personal computers ranging from around
several hundred dollars to over a thousand but when you stop and look at
what is required to actually get them to perform real world control or
monitoring functions, its many of the same things that you have to do
using my methods. Only my methods don't cost even one hundred dollars, is
totally under your control, uses very low cost sensors and input equipment
and in the end, if properly understood and implemented is just as accurate
or maybe even more accurate.
I have used some of these other input systems and found little problems,
like no ability to make corrections for sensor errors or inaccuracy in the
software, hardware and software compatibility problems and stupid things
like you could not unplug a sensor without causing the entire system to
crash. Another big drawback, you pay them for the input board but they
forget to mention the amount of calibration equipment required to ever get
a working system. The board winds up being only a very small fraction of
the cost of a working system.
The game port is good because usually its already there at no cost. Both
analog and contact status data is possible. The software routine to read
the data is very straightforward. Game ports can be added at very low
cost. Many sensors can be fashioned that work quite well. As long as you
don't try a great complex system or require blazing accuracy it will
probably serve well.
The reason for doing it is simple. It is what is known as a hybrid control
system, both analog and digital (contact type) are available. When
combined with the X-10 technology you have all the necessary ingredients
for a hybrid control system. That allows all the really good stuff like
direct control/monitoring of systems such as solar energy collecting
systems to be possible. Plus meaningful data logging is available. Lot
more on all this in the other chapters.
What emerges from all this is the ability to build control systems for
home automation where equipment, appliances, lights, etc. can be directly
controlled via a personal computer. The control can be initiated by
signals developed by AUTOMATE, the computer keyboard, time/date as kept by
the computer, computed set points by a program, signals from remote
control stations or combinations thereof. AUTOMATE carries this concept
through the signal developments, integration into a monitoring and control
system and the ability to control the X-10 modules to make a working
system. AUTOMATE includes no hardware as part of the purchase. All X-10
hardware and some software is by others. A complete reference is given in
the registered version for purchase of those parts. The instructions to
integrate all components is given in AUTOMATE.
AUTOMATE approximates the capabilities of using a commercial 8 bit input
card. The lowest cost card is in the general range of $500 for just the
card. This method has no software development problems and unlike most
commercial cards the input have been found to be extremely stable with no
drifting of values.
The systems built using AUTOMATE are very flexible. They can be easily
modified or adjusted to compensate for changes. The systems using AUTOMATE
do not become out of date as the technology changes. The AUTOMATE systems
can be upgraded without scrapping the original system. The AUTOMATE
systems are very low cost and powerful when compared to any other method
available for home automation, monitoring or control.
SIMULATIONS AND ILLUSTRATIONS OF COMPUTER MONITORING AND CONTROL
Simulation files have been included to show what computer monitoring and
control using X-10 modules and the gamecard would look like.
All simulations use the joystick or keyboard cursor keys to simulate
analog or contact signals into the computer via the gamecard. Programming
of the simulations is actually more difficult than programming of the real
control or monitoring scheme.
The simulations feature some animation and have a written text explanation
that is offered before each simulation. The program automatically selects
the proper mode for running the simulations based on your equipment.
The simulations and illustrations are selected by choosing Item C from the
The operative sections of the simulations, graphic displays for analog,
etc. source code has been snipped out, packaged and is included in the
********** WARNING ************ WARNING ************** WARNING *******
DO NOT TRY TO USE ANY SENSOR THAT GENERATES ITS OWN POWER OR VOLTAGE
AS PART OF ITS SIGNAL INTO YOUR COMPUTER. ALL SENSORS AS REPRESENTED
IN THIS DOCUMENTATION ARE RESISTIVE IN NATURE. IN SHORT THE COMPUTER
SUPPLIES THE POWER. EXTREME CARE MUST BE TAKEN IN ANY DESIGN THAT NO
OTHER VOLTAGE SOURCE OTHER THAN THAT OF THE COMPUTER GAMECARD IS PRESENT
IN ANY WAY, SHAPE OR MANNER AT ALL TIMES!!!!!!!!! THERMOCOUPLES FOR
MONITORING TEMPERATURES SHOULD NEVER BE USED AS PART OF THIS MONITORING
SCHEME!!!!!!! THIS SHAREWARE VERSION IS NOT AN INSTRUCTION MANUAL FOR
THE SELECTING, CONSTRUCTION OR ACTUAL MONITORING OF ANY SIGNAL BY ANY
COMPUTER. IF YOU DAMAGE YOUR HARDWARE I AM NOT RESPONSIBLE IN ANY MANNER,
FASHION OR DEGREE!!!!!!!!!!!!!!!
******** WARNING ************* WARNING *************** WARNING *********
First of all what is a sensor. A sensor is a device that detects
something, or measures something. Some display directly the parameter they
are measuring, like a wall thermometer. It measures the air temperature
and displays it by means of a pointer on a dial or a column of colored
liquid. Other sensors measure something but do not directly display the
Instrumentation and controls engineers spend a lot of time selecting the
right device to measure or monitor a particular control application. There
are literally thousands of different sensors. The following factors are
a. A knowledge of the function to be monitored.
b. A understanding of the scientific principles involved.
c. How does the sensor work.
d. What sensor is best for this particular application.
e. How much does it cost.
f. Who makes it and how do I get one.
g. What is involved in getting it to work in a complete system.
I will try to boil all that down into something the average person can
understand, can use to monitor things with a personnel computer, can
afford, can readily obtain, can calibrate, can build and finally can put
into a home automation system as part of a complete package.
The devices we will be talking about are called analog sensors. Analog
means it is a continuous measurement. The speedometer in a car is an
analog device. It shows your speed at all times and changes its display as
your speed changes. Remember, we can put four such measurements per game
connector into the computer. (good stuff all right) What might we like to
monitor around the house? The following comes to mind:
b. Levels (of tubs, tanks, etc)
c. The amount of light (is light or dark)
i. All those things I haven't thought of yet.
Remember that is for analog measurements, those where you could look at
the computer and see a continuous display of a parameter. Like looking at
a wall thermometer only this time the temperature would be displayed
continuous on the computer screen. A temperature sensor would be connected
to the gamecard and use one of the four available analog channels on the
There are other types of sensors than the analog ones we have been talking
about for use to a home control system. Many sensors sense something is
either on or off, is high or low, is hot or not hot, etc. In short these
sensors detect one of two possible conditions. Usually they are referred
to as switches. The temperature switch in an attic fan detects the attic
is too hot or not hot. If too hot it switches on (closes a set of
contacts) and starts the attic fan. Their output to the real world is a
set of contacts that usually complete an electrical circuit to make some-
thing happen. Contacts look like this --[ ]-- when open, and are referred
to as N.O. or normally open contacts contacts when closed --[/]-- are
represented like this and are referred to as N.C. or normally closed
contacts. Another way to think about it is contacts are the working part
of switches. Examples of switches around the house are light switches,
level switches to stop filling the clothes washer when the water level is
correct and many others.
Contacts are also referred to as wet or dry. A wet contact is like in the
thermostat to start your heating furnace. Take off the cover of a
thermostat and you will see a little glass tube pinched at both ends with
wires going into the tube. The tube has a little ball of mercury inside
and is tilted as the temperature changes. With the thermostat not calling
for heat the mercury is down in one end of the tube and the contacts are
open. As the room temperature cools a bimetal wound spring tilts the glass
tube and the mercury covers the bottom of the tube its entire length.
Mercury conducts electricity so an electrical circuit is completed through
the ball of mercury. So the term wet contact. A dry contact is just that,
dry, no mercury. Pinch your forefinger and thumb together, two contacts
close, a good illustration of a dry contact. We can monitor both types
with our computer.
So where are we? We now know what an analog sensor is? What contacts are?
We also know we can monitor both with the computer. Four measurements of
analog and four of contacts. (In the registered version, I show you how to
put about all the contacts you could want into the computer so the
restriction on four contacts isn't really what it seems.)
Remember what analog and contacts are. I use those terms through out this
documentation. Analog is the continuous display of a measured value. If
you want to see a reading of something displayed and constantly updated on
the computer screen that will probably require an analog input to the
Contacts are the on or off things in life. Contacts are actuated by
switches. Contacts are about position or status. Things like is the gate
open or closed. It could be halfway open, a computer reading a set of
contacts would just see the gate is open.
The registered version includes the data files,part No.s, curve generators
and instructions for four temperature sensors and one visible light
Industrial type sensors can get very complex. Most include the ability to
measure the parameter intended and then "condition or smooth" the data
before sending it to a computer or other monitoring device. Just because a
sensor sees something doesn't mean that what it is seeing is correct.
FILES OF ACTUAL MONITORING
Several files of actual monitoring using the gamecard, a visible light
sensor and a calibrated temperature sensor have been included to
demonstrate this monitoring capability. A sample mailbox monitoring
program using a contact input with a microswitch to monitor and log when
the mail arrives is included.
These files were collected by sensors mounted on my connector box and left
running in an unattended mode for several days.
The visible light sensor logged the light out the dining room window and
the temperature sensor logged a couple of steamy Boston day's temperatures
inside the dining room.
The registered version includes all instructions, files and methods to
implement monitoring to this level.
The information in these files can be further developed for control via
X-10 Power Line Carrier technology. AUTOMATE Version No.1 (the registered
version) does carry the monitoring through control development with X-10.
X-10 is a separate set of software and the hardware is developed, patented
and distributed by others.
The registered version provides a discussion of X-10 technology,
communication file for controlling X-10 modules from within AUTOMATE
derived programs and additional information for purchase of the better
X-10 technology, software for X-10 control by others and full details for
integration of all aspects.
Control can be via real time information as developed by AUTOMATE, through
keyboard inputs, time generated setpoints by the computer or via computed
or logged information based on AUTOMATE inputs. Combinations of the
methods are also possible.
To print out the daily log, select data logging feature from the menu and
follow the prompts.
X-10 POWER LINE INTERFACE SYSTEM
Many people have called me with questions about the X-10 technology. There
seems to be a lot of interest, some confusion and misunderstanding.
First a little history. First X-10 didn't invent the power line method of
communication. The method of impressing information on a power source at
one location and reading that information back from the power source has
been around for quite awhile. A number of industrial processes use these
In the late 1970's the X-10 concept was introduced through a line of
modules to be controlled from base transmitters. Sears, Radio Shack and
others marketed these systems. Basically it was light control and few
feeble attempts at burglar alarms systems and the like. The systems had
problems, were buggy, lot of false triggering.
Over the next twenty years the bugs got worked out of the modules and the
general communications method. What emerged was a kind of standard. The
code format became a kind of defacto standard because so many modules were
produced built on that format.
Basically the technology is to set a system of codes kind of like Morse
Code. In general there is 256 separate codes possible in the basic set and
something called extended codes. To sent the codes the hardware detects as
accurately as possible when the power sine wave (the house 220/110 VAC) is
alternating current) is at the Zero Crossing point. 120 KHz signals are
then impressed on the power referenced to the zero crossing point. These
signals are shaped and have a 1 millisecond duration and are placed on the
power in a certain sequence.
Kind of like with a teletype communications there is a start portion of
the code and then the data is in blocks. It takes a number of power cycles
to send one complete X-10 command. The zero crossing point is the same for
all power through out the house. So the X-10 modules also have a reference
with which to know when a signal starts and can decode the signal strings,
validate the data and filter for noise.
I have found no problems in the basic X-10 module technology. None seem to
produce large amounts of heat that was common in dimmer, timer type
A lot of the problems, folks are attributing to poor X-10 modules are
actually caused by their electrical systems. Poorly installed systems,
incorrect grounding, noise generating appliances. This explains the
complain, I have all kinds of problems, the guy next door does not. In the
registered version section on X-10 I go into many of these areas, how to
tell what is probably the cause of your problems and some possible
The most likely causes of problems are the cheap transmitter/control units
and poorly installed or badly retrofitted electrical systems. A word here
about this offering. AUTOMATE Shareware Version 3.0 and its preceding
issues is basically an information program. I do not offer technical
support to the shareware version. This offering is to inform, put issues
in focus and see who is really interested in the subject of automation,
monitoring and control.
Registered owners of AUTOMATE get full support. I cannot design systems
over the phone. I can answer questions concerning what you are getting in
the registered version. Registered owners get the full support up to that
I can legally do. If I don't see the actual installation, I cannot give
What registered owners do get is full support in the monitoring area. I
will analysis the AUTOMATE generated page prints for problems. Not just
phone support, but real support of looking at your problem on the
individual level. The X-10 support level in more general, I will look at
programs for general faults in the AUTOMATE/X-10 interface. I will not and
cannot comment on programs for the actual control features to any control
Back to the discussion of X-10. After going through a computer development
to control X-10, as I said the problems appear to be in the cheap
transmitters/controllers. The computer based systems have none of the time
keeping problems. The quality of the transmitted signals is superior and I
have never found any of the type problems folks talk about. The quality of
the transmitted signal is important, if you put a junky signal out, do you
really expect a perfect reception on the other end?? The quality of the
computer generated signals appears to be very high grade. I have
experienced no communication problems what so ever between AUTOMATE
generated programs and X- 10.
So AUTOMATE's basic contribution is in the area of data collection,
ability to have total control of all programming and software development,
identify the best hardware available for monitoring and control including
X-10 and finally to put it all together in one fully usable,
understandable system. The X-10 communications are in ASCII (plain
english) and can be accomplished from the keyboard, generated as setpoints
in AUTOMATE derived programs or as computed values from AUTOMATE programs.
The X-10 thing isn't really a big deal when you get into it. The
communications to actually send commands takes quite awhile when compared
to anything in the industrial world. A command sequence is in the order of
seconds not milliseconds. Most X-10 systems on the market use only time as
the controlling parameter or try to sell you fancy expensive do-dads that
you then jury rig to make some kind of control system. AUTOMATE allows you
to do it the right way, with the proper information and system control and
at a very good price.
I talk a lot about safety in both issues of AUTOMATE. It is not to be
taken lightly. Safety and the subjects above are tied together. Good
safety practices can prevent problems before they occur.
The general drift of the presentation through out AUTOMATE is be
responsible, research your projects carefully, know what you are doing.
The registered version is that, a careful step by step approach. The level
of detail is very high, cautions and warnings are given at the appropriate
times and the general idea is to progress in an orderly and safe fashion
both from an equipment and personnel safety point of view. I welcome
comments from registered owners of AUTOMATE when they have their systems
up and running.
********** WARNING ************ WARNING ************ WARNING ***************
WHO SHOULD NOT USE THIS APPROACH TO LIFE ON THE COMPUTER HIGHWAY OF
ANSWER - ANYONE WHO HAS A COMPUTER THAT THEY JUST CAN'T AFFORD TO LOSE !!!
IF YOU HAVE A HIGH PRICED, HIGHLY DEVELOPED, MUST HAVE COMPUTER SYSTEM
THAT IS CRITICAL TO YOUR LIFE. TAKE MY ADVISE, DON'T GET ANY MONITORING
AND CONTROL, X-10 MODULE ON/OFF APPLICATIONS, HARDWARE OR ANY OTHER "OUT
OF THE COMPUTER" STUFF WITHIN TEN YARDS OF YOUR VALUABLE MACHINE. THINGS
DO HAVE A WAY OF GOING "BUMP IN THE NIGHT".
I HAVE A HARD DISK SYSTEM USED IN MY BUSINESS, WITH ALL SORTS OF
DEVELOPMENT TIME IN VARIOUS THINGS. UNDER NO CIRCUMSTANCES WOULD I EVEN
GET A ONE DISK DRIVE "BANG AROUND MACHINE" OR IF IT GETS "HURT" TYPE
MACHINE THAT YOU CAN STILL GET TO SLEEP. GOOD TIPS ON WHERE TO GET THESE
IN THE REGISTERED VERSION.
BESIDES IT MORE FUN WHEN YOU CAN GET IT "DOWN IN THE DITCH AND NOT WORRY"
*********** WARNING ************ WARNING ************ WARNING ****************
Why use the game card for automation and control using a personal
computer. First its probably there, most personal computers have one
installed. Second, if you don't they are cheap to purchase and easy to
install. Sears sells a game card with two game port connectors for about
Another big feature is you can easily put both analog and digital (contact
closures) type information into the computer. Four channels of analog and
four contact closures are available at each port connector. In the
registered version I show you how to increase the number of contacts into
the computer to just about any number you could want with no changes
required to the gamecard and its very easy to do.
Using BASIC or about another programming language this information can be
addressed and collected directly. Very nice, write a little control
program in BASIC and the intelligence needed to monitor conditions in the
outside environment can be brought in though the game port and addressed
directly in the same BASIC program. The commands to X-10 technology
modules to turn ON/OFF high voltage equipment can also be initiated by the
same program. Just what the doctor ordered, we can get into and out of the
computer and have total control of all processes. No archaic gateway card
to buy with software that nobody could ever understand let alone ever make
it work in an integrated monitoring and control system.
The gamecard can also "trap events". For contact inputs the gamecard will
act like a information monitor while your software is off taking care of
If you have an IBM, or IBM clone, or IBM compatible computer with a
gamecard the port connector should be a 15-pin, miniature D-shell, female
connector. Sometimes its a separate card and sometimes part of a mother
board but it should be marked "GAME". Some systems will have two
connectors, one for joystick #1 and another for joystick #2.
The connector should look something like this:
[ 8 7 6 5 4 3 2 1 ]
[ ________________________________________ ]
[ \ . . . . . . . . / ]
[ \ / ]
[ \ . . . . . . . / ]
[ \________________________________/ ]
[ 15 14 13 12 11 10 9 ]
Look up the gamecard in the manual that came with the computer. The pins
should be identified like so:
Pin 1 +5V Pin 9 +5V
Pin 2 Button Pin 10 Button
Pin 3 Position Pin 11 Position
Pin 4 Ground Pin 12 Ground
Pin 5 Ground Pin 13 Position
Pin 6 Position Pin 14 Button
Pin 7 Button Pin 15 +5V
Pin 8 +5V
If the manual is missing or doesn't say you can check by using your
joystick. Read pins 2 & 4 with an ohmmeter while pushing the #1 push-
button on the joystick. Sometimes its wired 2 & 5, but it should be one of
the two. Check the #2 pushbutton (if you have one) by reading pins 7 & 4
(again sometimes its wired 7 & 5).
********** WARNING ****** WARNING ****** WARNING ******
***** DO NOT TRY TO READ THE PINS ON THE CONNECTOR ATTACHED TO THE ****
COMPUTER. YOU CAN CAUSE DAMAGE. BE SAFE. USE THE JOYSTICK.
Read pins 1 & 3 for resistance. you should get a reading of between about
20 to 70K ohms by varying the calibration dial on the joystick. Check pins
6 to 8 for resistance and you should get the same readings.
If all this checks out, then all the information, programming examples and
hookups I give in this offering should work for you.
If you take your joystick apart (no big deal, isn't very complicated,
there isn't much in there why do they cost so much?) you will find very
few use all of the pins usually only 6 or 7. Also a good way to really
check things out. How do gamecards really work? A little more information
can be helpful at this point. The gamecard generates a staircase shaped
voltage pattern. something like this:
]__ 5 v
]__ 4.5 v
]__ 4 v
]__ 3.5 v
]__ 3 v
]__ 2.5 v
]__ 2 v
This is not the actual pattern, just something to illustrate the point,
the actual pattern is much finer between steps. Just great for what we
want to do. This staircase voltage pattern is compared to the input
voltage developed across the resistor value in the joystick. The card
selects the staircase voltage value that closest matches the input signal
from the joystick and generates a binary value for use by the program
software. So different resistor values in the joystick wind up being
different binary values in the computer. Easy to see how the computer
knows where the joy- stick position is. By playing around with the
joystick demo programs included you can see better how this works. The
pushbuttons do not use this staircase voltage pattern, just the analog
joystick position readings.
********************* WARNING *************** WARNING ********************
NEVER PUT ANY SIGNAL INTO THE GAME CONNECTOR THAT HAS ITS OWN VOLTAGE
SOURCE.YOUR JOYSTICK HAS NO POWER. NO BATTERIES. NO POWER FROM A 115
VAC WALL RECEPTACLE. THE COMPUTER SUPPLIES ALL THE POWER SOURCE FOR ALL
MONITOR AND CONTROL FUNCTIONS THROUGH THE GAMECARD. ALL!!!! THAT IS ALL
!!!!! SENSORS THAT I WILL TALK ABOUT ARE PURELY RESISTIVE IN NATURE AND
GENERATE NO VOLTAGE OR POWER BY THEMSELVES. IF YOU DON'T KNOW WHAT YOU ARE
DOING ASK SOMEONE WHO DOES. ALSO GREAT CARE MUST BE TAKEN IN CONNECTING
SIGNALS INTO THE GAMECARD. DO NOT USE ALLIGATOR CLIPS OR JURY RIGGED
CONNECTIONS. GET A GOOD CONNECTOR BOX. I GIVE DETAILED INSTRUCTIONS IN THE
REGISTERED VERSION ON A CONNECTOR BOX CONSTRUCTION AND CHECK-OUT. A MISTAKE
OR ERROR IN DESIGN, HOOKUP OR ACCIDENTAL FAULT CAN DAMAGE YOUR GAMECARD,
COMPUTER POWER SUPPLY, CONNECTOR CABLE AND BOX AND SENSORS. KNOW WHAT YOU
******************** WARNING ***************** WARNING ********************
By using this staircase voltage pattern we can measure and calibrate
analog measurements like temperature, amount of light (how bright,dim),
level, pressure and many others. I give detailed instructions in the
registered version on sensors, calibration and how to use the developed
signals in a program.
The AUTOMATE method of using the gamecard approximates the capabilities of
using a commercial 8 bit input card. That is a signal resolution
capability of one part in 256. I have found this method far more stable
than most commercial input cards. The commercial input cards all exhibited
problems with the measurement values drifting, especially temperature. The
AUTOMATE methods have proven to be remarkably stable and repeatable.
A final big reason!! MONEY !!. The X-10 technology does somethings well
but sensing and reacting to a dry contact, with no power involved, telling
the control system something is happening is not one them.
COMMUNICATIONS WITH YOUR PC USING INFRARED OR RADIO COMMUNICATIONS
Imagine setting in the old easy chair and control the house with one of
those TV channel changing clicker controls. Or being out in the yard and
have the personal computer automation system do things around the
homestead via use of radio signals. Kind of like carrying around one of
those garage door opener type transmitter.
This was always one of the applications to design for use with AUTOMATE.
At present I have several designs for both applications in the works.
There is commercial equipment on the market in both areas. All of it is in
the hundreds of dollars range, doesn't appear to be all that capable and
they brush over the description of the software included.
So I began working up some very low cost alternative applications.
Probably can get most of the hardware complete and with a little
modifications have working systems. Both applications built by me were
under $20. The infrared transitter and receiver cost me the princely sum
With the other few parts needed this application is going to cost around
$14 when completed. Talk about a bargain. The unit will have twelve
different control channels. That is twelve different commands capable of
being sent to turn some on/off or otherwise. Control engineers like to
talk about how much something cost in terms of cost per measurement point
or control channel. Folks that's about a buck a control channel.
Like all AUTOMATE applications the methods will be fully described. Bills
of material furnished by model number and suppliers referenced. Sample
programs for the application will be included. A picture will be included
of any complete prototype hardware.
This application will be included as part of the AUTOMATE TOOL-BOX.
The shareware version includes a questionnaire attached to the order form.
That questionnaire allows me to determine areas of potential user interest
in which to develop marketable products. The two most asked for products
are something to do with the telephone, either control external to the
house via the telephone, message logging/numbers dialed out or incoming
caller ID and the other big requested area is robotics capabilities.
I am in the process of developing a robotics capability for AUTOMATE. This
will be a separate commercial program with no shareware information. This
is a fairly time hungry project.
Brief details. Just getting into the project.
The project will include software, software drivers, instruction manual,
hardware to connect to the parallel port.
The robotics capability requires a rather fast acting control loop. This
is not possible the X-10 technology the delay in sending one signal
command is in the order of seconds.
Plus this project opens many other interesting possibilities. Things like:
1. Motor speed control
2. Quick acting control loops
3. Monitoring of many more parameters, capacitance, voltage, current, etc
4. Measuring light color and other properties of light
5. Positioning applications, to include sensing and measurement
6. Digital storage techniques for audio, analog data, etc.
7. Speech techniques
8. Oscilloscope type displays
9. All those analog to digital or digital to analog applications.
A preliminary look shows the present developed capabilities of AUTOMATE
with inputs through the connection box complement this project very
nicely. The connector box provides usable very cheap input ability.
No time frame for having a marketable product. The hardware required is
probably going to have to be pre-manufactured on maybe in kit form. Just
have to play it by ear.
CALLER ID AND OTHER TELEPHONE APPLICATIONS
The telephone applications of automation are an area of great interest.
The telephone companies are installing a Caller ID capability. What this
allows is for the receiving party of the telephone call to see the number
of the calling party, including the area code. I guess the rational is to
see who is really making all those calls with just the heavy breathing
There are a number of systems on the market which will monitor and log
your out going calls, length of the call in minutes, seconds, time of day
the call was placed and the number called.
A number of AUTOMATE users indicated they presently use some type of
telephone automation equipment. Apparently it is very useful for checking
the accuracy to the telephone bill or determining who in the household is
running up the phone bill. A number of systems have the ability to log the
information on a personal computer.
There is a new integrated circuit chip on the market for the caller ID
function. A brief look and talking to one of the makers representatives
seems to be fairly simple circuits. A handful of components. The computer
serial port would power the circuit and there is some sort of hook-up to
The only rub I've heard of, the person or company building the circuit has
to certify that the operating device meets some standard. There is a
standard set by Ma Bell and all connected equipment must meet than
standard. Apparently not that tough to do, but if requires test equipment
and some skills in that area.
The whole idea works around the principle of when a call comes in, after
so many rings the calling ID information is available on certain phone
connections. A signal generates an interrupt and the computer software is
able to read and process the information from the serial port.
Haven't done that much work on the application yet. Am getting a IC set
for that purpose, after a little more study maybe will include it in the
AUTOMATE stable. No promises at this point.
I'm sure the equipment is going to be available very shortly on the
commercial market. That may prove to be the way to go. Buy a pre-certified
hunk of hardware and it would probably include some software. Like most
things what will be the price and will the phone company want something
Groan, don't tell me programming is involved.
Yes, Virginia programming is part of the deal to have really capable home
automation custom to your application.
Programming has gotten a very bad rap. AUTOMATE 1.0 to 2.0 shareware and
its attendant registered version were developed around the BASIC
programming language. All program lines had line numbers and would run
under GWBASIC, BASICA in a interpreted mode. All executable files where
prepared with the IBM BASIC compiler. The compiler was buggy, lots of
teeth gashing, muttering and sometimes worse.
The good thing about sticking with the BASIC language is most folks have a
foggy idea of the language, it is upwards and downward compatible with
about all versions ever produced and is still the language of choice for
many data acquisition systems, large data file manipulation or
AUTOMATE 3.0 and up will use the Microsoft QuickBasic integrated
programming environmnent. All prior AUTOMATE BASIC programs will run under
this environment. The QuickBasic 4.5 is totally compatible with the
AUTOMATE concepts and objectives. First is it very affordable. Microsoft
QuickBasic version 4.5 can be purchased from:
Computer Discount Warehouse
2840 Maria Avenue
Northbrook, Il. 60062
1-708-498-1426 (in Illinois)
For a price around $73 including all charges. This is the lowest price, I
QuickBasic allows many of the more powerful programming features and
program design methods available in some of the more erubescent languages.
Its downward compatible feature coupled with the advanced features uses
what you already know and builds toward the more advanced features. The
commonsense approach. The QuickBasic makes .EXE files smooth as silk, any
problems it runs them down, puts the cursor right on the offending critter
and has a help section to explain what is wrong.
QuickBasic has an excellant tutoral, is menu driven, can be used in a
object module library mode. In addition users can very easily turn their
BASIC control and monitoring programs into DOS executable files (those
with the .EXE extentsions). I highly recommend the product. In addition
the compiled programs run much faster and are much easier to use in the
QuickBasic consists of four 360K disks. It requires a hard disk or high
capacity floppy drives to use the product. I use it on a hard disk and
just love the system. Microsoft has a winner, the novice programmer has
been well considered. With a BASIC manual, a little practice, you will be
able to handle anything in AUTOMATE in very short order. QuickBasic has a
458 page manual and the documentation is excellant.
QuickBasic is self installing and can be customized to the users taste. A
very nicely done product. QuickBasic is far more particular about its
syntax than is plain vanilla BASIC. The other big advantage is QuickBasic
does not have the 64 K limit to program size. Getting into large control
programs with lots of graphic displays can really produce the lines of
program. QuickBasic can handle a 640 K program.
Each module is still restricted to a 64 K block size. The way to write
huge programs is lay out the organization first to ensure each module is
less than 64K. Modules are then compiled to make object files and those
can be linked to make the huge programs. The code is pretty compact in
QuickBasic so 64 K is a fairly capable chunk of code.
The whole programming thing is very over done. I constantly see folks
referring to "SOFTWARE" with all sorts of strange notions. All software is
essentially only two things.
1. Program steps to execute instructions
2. Data to be manipulated by those instructions
With QuickBasic and a simple instruction book like the old Sinclair
Manuals or other introductory manual anyone can master the skills in very
short order. Your childern who have taken the most rudimentary computer
course can walk you through the process.
The QuickBasic programs can also be run under QBasic which is included as
part of MircoSoft's DOS 5.0 and 6.0 releases.
I have Borland's Turbo C and Turbo PASCAL 4.0 and I can chug along but I
really love the QuickBasic. I am not the most dazzling programmer, so
nothing is going to get very complicated. Where required all program
source code will always have an accompanying written text description and
the source code.
A number of folks call and a very disappointed that everything is not in
the C language. If its not in C it must not be very capable.
The simple answer is, it just isn't required. That fine detail of control
and capability of C or Pascal, just isn't required. In some cases it
actually gets in the way. Blinding speed isn't that important either. When
moving into robotics, I can see some assembly language routines will be
required but QuickBasic is very capable of bolting those on piggy back
C and Pascal don't give you any faster access to I/O than does QuickBasic.
The compatibility problems between different versions of Pascal can drive
you up a wall. The data handling and control routines are actually more
compact in QuickBasic. Why do some folks like life complicated as
possible? Beats me.
A good understanding of the control concepts and application techniques is
far, far more important than all of the rigamarole about langauges or the
fine hair splitting some folks like to engage in.
Just using the program modules provided in the registered versions, making
minor alterations and using QuickBasic can develop very capable, custom
home automation systems. The AUTOMATE approach will get slicker as time
goes by. Modules will be provided in vehicles like TOOL-BOX so the
programming can become more an editing function than writting of a control
The TOOL-BOX has been developed to have each application compiled to run
as a stand alone application. There is a manual for each application. In
addition the source code is included for each application. That way if you
don't want to get into the source code you can run a standard application
All AUTOMATE programs will eventually get redone in QuickBasic 4.5. Those
will be compiled and be menu driven. I highly recommend the QuickBasic.
The programs are much smaller, much easier to write and understand and any
complex situation it's QuickBasic hands down.
The QuickBasic also includes a very slick text editing feature. Kind of
like a word processor in many ways. You can copy, move, delete and other
wise manipulate large blocks of source code very efficently. This feature
is available within the programming envirnoment. It really proved useful
in the development of the TOOL-BOX.
Some applications will be complete stand alone programs that also can be
linked together to make large integated control programs. There will also
be very basic text instructions in most areas.
More functions will get bundled, compiled and have set-up routines via
menus. The source code will always be provided for the daring folks.
THE SOLAR ENERGY PROJECT
Included in this shareware version is a bit of information about a drain
down solar energy collection system being designed by the author.
I have always been very interested in solar energy. Over the years, I made
accommodations for adding it to my house. I dug a pit for the hot water
storage area under the front porch. I installed part of the piping system
to interconnect the system. I researched, researched, did costs analysis,
more on paper dreaming.
The same project impediments would always pop up. One was the commercial
available control systems. Expensive, poorly designed, just not what I was
looking for in a control system. I talked to a number of folks who had
sprung for a commercial system in the days of the big energy shortages. Do
you remember those days?
Many of the systems didn't last. Operated poorly, the warranties were
worthless. The vendors had all gone bankrupt, gotten out of the business
or just plain run off.
Another impediment was total system cost. The collectors were expensive.
None performed up to specifications, were easily damaged, sufferred from
corrosion, had problems with leaking and deteriorated over time. For cold
climates (Boston does get cold) most systems have multiple pumps,
antifreeze loops and other Rube Goldberg craptrap.
Ta-daa, enter SUPER AUTOMATE to save the day. AUTOMATE could do the system
control in real bang-up style. I could design an all steel welded
collector from scrap parts laying around. Use some tempered glass sheets
(saved from going to increase our dump capacity) and have the lowest cost
collector around, like almost free.
Use some door length ordinary mirrors to have system gain. Why not have at
it. Drag out ye olde welder, get some 1" square channel, use the old chop
saw, weld the channel up in a serpentine configuration, weld on backing
plates. Presto, one super energy collecting device and this baby will take
full home heating system pressure. (Up to 30 psi). One instant plug in
module that can heat the house direct if required.
AUTOMATE to the rescue. AUTOMATE can do very complex logic, measure
temperature, control 115 Vac pumps and solenoid control valves, run
different modes depending on the season, do data collection, be controlled
from the keyboard of my control computer. Winter approaches and the
project grinds to slow pace as the weather gets worse.
Playing around one night designing the system. Why not do a recreational
programming exercise to see what this system will look like. The solar
demo program is born. There is not room on this disk to include a
simulation of the solar project.
The drain down feature removes the water from the system collector and any
areas subject to freezing. The attic does not go below freezing. How do I
know? Temporary AUTOMATE temperature measuring and data logging over last
winter. Great for those little projects like what is really happening
there all the time.
The solar energy program will probably be fully developed as a shareware
stand alone program. A control program will get written and will be
available through one of the AUTOMATE commercial offerings.
Again a number of ideas to develop for AUTOMATE come from the users of the
registered version. A couple of comments on the order form questionnaire
are responsible for this application.
They said you already have ambient temperature and daylight why not go all
the way and develop the bulk of measurements found in a home weather
station. Good idea.
This project is in the very preliminary stages. The shareware version of
AUTOMATE gets updated about once a year. The TOOL-BOX and the Registered
Version are worked on a continuous basis. So this is an attempt to
preguess how the weather station will finally work out.
Probably fit into the TOOL-BOX because it is a stand alone application,
will get the full graphics treatment.
What can be added. Wind Speed and Wind Direction for sure, maybe a rain
and snow fall detector and gauge. Prototypes will get built and a picture
included. The calibration procedures will have to be developed. Wind speed
and direction seem very plausible on paper.
Other possible parameters might be a barometer and humidity. This all
brings up the point won't I run out of analog channels pretty quick. No,
that requirement to expand the analog channel capability has been under
consideration for some time. So another application would be to develop a
way to pack the entire weather station into one analog channel.
There are examples of this requirements from things I did in the
industrial world. So I'm fairly confident it can be done. Also a small
drop in commercial data acquisition board is being looked at to expand the
capabilitites. Some of this runs into the things that will be required
when the robotics part gets tackled.
The bottom line is it will all have to meet the AUTOMATE objectives.
Everything has to be capable of being integrated together and be under
direct control of the user. That probably means source code compatible to
the overall ojectives from each application.
I'm always a little amused when researching a new project like this. The
prices and promises for some of the commercial versions. Plus when you ask
that question, can this thing run in the background, can I use my personal
computer to monitor other things at the same time. Usually either silence
or mumblings about yes, sure, maybe but it's up to you to figure out how
Could get pretty wild, couple X-10 to the weather. Wind speed over 20 MPH,
maybe make the coffee early.
GENERAL AUTOMATION AND CONTROL THEORY
Control theory brings to mind, lots of math, complicated theory, arcane
stuff and just so much mumbo-jumbo. In truth it is far from that and in
the everyday home setting can be applied with great results, all you have
to know is a few of the principles involved. Have some common sense and
control theory can be applied to many situations. I will try to show how
some of those principles are applied in the everyday world.
First a little bit about control engineering. Basically it is hard to
master from schooling, the best control engineers learned the trade in an
apprentice fashion. When applied to the real world its about knowing your
equipment, knowing the application, knowing what not to do, understanding
how the design process works, organization, experience, history of the
trade, knowing a little about what everyone does to make a successful
project, a little programming skill and finally a lot about SAFETY,
SAFETY, SAFETY and more SAFETY.
When applied to home applications it can be broken down into simple
principles. Some of those principles to be aware of are:
FAIL SAFE CONCEPT - Fail safe is just that, when something fails it is
inherently safe in its failed state. Example: When a light burns out it
doesn't present much of a threat, you just don't get any light. This is
true even though the power to the light is still on. Control engineers
spend a lot of time asking, what happens when this device fails. Another
example of fail safe: The power to the burner and fuel oil solenoid valve
of a home fuel oil fired furnace comes through the contacts of high
temperature sensing probe and other safety sensors. These sensors are
designed to fail or actuate with their control contacts in the open
position. With the contacts open, the burner and fuel oil cannot get power
to operate and the entire system shuts down.
Most appliances have their fail safe concept built in. Example: A
dishwasher must have the door closed and latched to get power to the timer
to start the washing cycle. If there is a problem and the door is opened
to check on the problem the appliance is inherently fail safe. Opening the
door removes power from all operative functions. The water fill solenoid
valve cannot get power to open and flood the kitchen floor.
Most computer control is only to the level of operating a unit. Like: The
computer might turn power on to the dishwasher but would not perform the
functions to control the washing cycle. Only a fool tries to put all
control functions into a computer. Computers are not inherently fail safe
devices. In industry many systems rely on hard wired contacts with sensors
on the actual equipment to back up the computer control. If there is a
problem the hard wired sensor win any argument between it and the computer
as to what is safe.
With home automation becoming a real possibility many manufacturers will
be hawking all sorts of equipment and gizmos to be controlled from
computers. Be careful. A good question to ask yourself is "would I really
do this if no computer was involved"? Computer control can actually make a
safe condition into an unsafe one. Example: Put a electric room heater
near a pile of papers in the off condition, walk away and have a computer
turn it on a later time.
PERMISSIVES - A permissive is a device that allows something to happen.
Our above example of the oil fired furnace, the safety sensor contacts are
permissives. They must be closed to get power to the fuel valve and burner
in order for the system to operate. Computer control is very good because
it allows for very extensive development of permissives in complex control
situations. Usually a combination of contacts sensing something in the
real world and software permissives in order for an action to proceed.
Home control can benefit from this power by bringing contact information
in thru the gamecard and developing software information through analog
information allows for very powerful design concepts. Solar energy
collecting systems for example. The general idea of permissives and fail
safe operation are closely tied together in most applications. In general
if you are trying to get a personal computer to do something in a home
environment where the concept is unsafe by itself, using a computer is not
going to make it safe. Think out any application. Understand what is
involved. It is very easy to think I'll write a program to take care of a
ADAPTIVE CONTROL - Adaptive control is often touted as control that learns
from its own actions. In practice it is really a number of predetermined
courses of action to a given situation. It is usually the concept to which
people refer when raving about the power of computer control. Some
Say you are trying to measure a range of 32 to 600 /F but can't find one
sensor to do it in a satisfactory manner. But you do find a sensor that
can measure 32 to 350 /F and one for the range of 300 to 650 /F. By
connecting both to the computer and then having the software switch
sensors at the appropriate time a satisfactory solution could be a had to
Industrial applications use a lot of adaptive control routines. It is the
basis which allows many complicated processes to be controlled to very
tight and efficient setpoints. Many processes will measure the same thing
with more than one sensor and then have the computer switch on the fly if
it detects a failure in a sensor. Great concept to understand.
A good understanding of adaptive control concept and computer programming
is the dynamite combination. This combination allows solving many complex
problems or just getting you out the sticky I don't have the right sensors
FEEDBACK - Feedback is a complicated sounding concept but in practice is
quite simple. In general is information returned to tune, correct or
adjust an on going event. It is probably the one concept that a
misunderstanding of can get a would-be home automator into big trouble.
Example: You are controlling greenhouse grow lights to maintain adequate
light for the plants at all times. Just turning them on based on time of
day may not be energy efficient. So banks of grow lights are installed.
The overall light level is sensed in the greenhouse, and banks of grow
lights are switched on or off to maintain that certain light level. On
most days all lights would be off and then come on as the light fades at
sunset. On bright moonlight nights less lights would be on than on dark
nights. The information provided by the sensing of the amount of light is
feedback. That information allows adjusting or correction of the amount of
light by varying the number of banks of grow lights.
So how can feedback get you into trouble.? Basically by causing something
called cycling or sometimes called "pumping". Take our above example: Say
a bank of grow lights just turned on to maintain a certain light level.
The overall light sensor detects the increased light level after the bank
of lights turns on. The software program in the computer reads the new
light level reported by the sensor and thinks the light level is now to
high and turns off a bank of lights. Its now too dark, so the computer
turns on a bank of lights and the cycle repeats and repeats because the
computer soft- ware cannot find a level which is just right. This is a
common problem that must be guarded against in all control applications.
Microprocessor based control is particular akin to this problem. The
process itself can be the problem, the setpoint in the software can be the
problem or the way the sensor is mounted can be the problem or finally a
combination of all of the situations. Cycling can be a problem even in the
simple program just based on time with no analog inputs.
The connector box described in the registered version comes in very handy
in detecting these problems as it can act as a checkout lab or development
board. This allows checkout of the software and its sensors without
actually installing the equipment. X-10 technology can also be
incorporated in the lab checkout scheme.
It is not something to be afraid or excited about, instead something to be
aware is a common problem. It is something to be detected during software
checkout in a lab setting before installation of an application. Cycling
can still occur after lab checkout if the problem is related to the
process feeding back information that is causing the cycling. Sensor
mounting (the way and manner something is detected) can be the problem.
The other common cause is too narrow a control band in the software to
turn something on and then off. Some cycling problems may be inherent in
the application. These can be controlled by having the software leave
something for a minimum amount of time as long as no unsafe or operating
parameters are exceeded.
Cycling can and does destroy equipment. Trying cycling an ordinary light
wall switch and see how long the light bulb lasts. Cycling causes most
electrical equipment to increase in operating temperature. Again something
to be watched for carefully in designing projects, programming, software
checkout and finally in installation and checkout of that installation.
The purpose of this discussion has not been to alarm anyone or to deter
anyone from using home computer automation type control. Instead it has
been to point out there are a logical principals involved and well planned
projects that is thoroughly understood can be very beneficial. Be wary of
manufacturer claims of easy, foolproof gizmos. Just take this software and
plug it in and lots of magic will immediately happen. Understand what is
being offered and does it fit your application. No industrial control
engineer will take precanned solutions and just plug them in. No major
manufacturer of industrial control equipment will offer any. Examples of
how to program their equipment and software that demonstrates the
capabilities are usually all you will get. Somewhere out there is a
programmer who is going to write the worlds perfect menu driven control
program to solve all home applications. He is a fool and the person who
tries to use it is a fool. There is liability involved, probability no
matter the number or manner of disclaimers offered.
In the registered version are example programs for use in monitoring and
control of the real world environment. Just as important are discussions
of how to "trim" your programs and sensors to adjust them to the
particular application. Pre-canned programs WILL NOT work in all or even
most situations. Each computer, program, sensor and application has its
own set of characteristics. The registered version provides the basic
knowledge required to fit the measurement to the application. A high
degree of programming knowledge is not required, just a small
understanding of BASIC.
The registered version programs are working examples. More important they
are taken though all steps, design of equipment, construction,
calibration, curve generation, data fitting and actual coding of a routine
to use with that information. Also explained are some conditioning, data
validation and smoothing techniques required to get a working
installation. All required information is provided with instructions.
Where programs are complied, appropriate source code is furnished for
those wanting to modify for their use.
AUTOMATION AND CONTROL LAB
It won't take long after reading and playing with the demos that most
people who are into computers will say "I've just got to try some of this
control stuff". Maybe you don't have any home projects on the menu. Maybe
you don't even own the place. How to do some projects. You got it, a
automation and control lab. It doesn't have to be fancy. A few X-10
modules, a gateway and a few lights, the gamecard/connector box and some
analog and contact inputs.
The lab has many functions. If you design home projects to actually
install, the software has to be tested and a lab situation is the best
way. Plus labs are great fun, maybe the best computer fun ever. I used to
design small control projects using programmable controllers (kind of
industrial computer dedicated to control) and I would take a controller
home set it up in the den and check out software at night.
Some of the industrial machines have some of the lab functions designed
in. Like most consist of a control unit (computer), a power unit, a track
unit with input/output signal modules and a box to program the unit. The
track unit with its modules had LED's (lights) to show when output modules
were turned on/off and the contact input modules had little toggle
switches built in to simulate contacts closing in the factory. I built a
analog generator box and presto, one small factory application in the den.
I also built a wooden mounting rack so it was mounted very similar to a
factory mounting and was safe.
The gamecard input box I designed can be used as a lab. The design is such
that inputs can be simulated even if no actual automation project is being
produced. The demos and the joystick is a kind of lab. The design is
simple but it does the job.
Automation labs are fun but you can get into trouble. There is great
temptation to do unsafe things. Like having 115 VAC on exposed wiring with
alligator clip jury rigs, etc. Using the gamecard as an input, having jury
rigged inputs. If high voltage is involved and exposed a mistake can
result in short circuits, smoke, equipment damage and maybe even injury or
death. The US Navy has about 1000 sailors killed each year even in
peacetime. Looking at who gets killed, it falls into three categories.
Sailors being killed in accidents on the dangerous flight deck of an
aircraft carrier, sailors being killed by electrocution and others. Those
being killed by electrocution are usually sailors who are radar
technician, electrician or electronic technician. All had formal training
in their jobs, safety training and experienced supervision. The Navy has a
safety program where films called "your deadly shipmate - 115 VAC" are
shown. Even with all this they still are killed, sometimes several hundred
each year. Most are very young, just out of training school. There is a
moral to all this "Rookies and the careless get hurt". BE VERY CAREFUL
WHERE CHILDREN ARE INVOLVED IN THE HOME ENVIRONMENT.
The analog and contact inputs to the computer through the gamecard are
inherently safe. The highest voltage involved is 5 VDC. The danger comes
when combining that ability with X-10 technology to control 115 or 220
Why did I include this chapter? Schools, colleges, the formal educational
system doesn't even recognize that good olde Murphy even exits. Murphy's
laws are not written by some fat assed politician, nor are they the fruits
of very deep and learned intellectual experience, instead they have
evolved based on the experiences of those poor souls who get dirty doing
the actual work. Play with personal computer automation very much and you
will get to know Murphy on a first name basis and probably get to meet all
his brothers, nephews and cousins.
MURPHY'S LAWS ACCORDING TO CONTROL THEORY
IN EVERY BIG PROGRAM THERE ARE THREE LITTLE ONES TRYING TO GET OUT. ONE OF
THEM IS FLAWED
CONTROL PROJECTS TAKE ALL THE PARTS YOU HAVE, PLUS ONE MORE.
ALL CONTROL PROJECTS TAKE TWICE THE TIME ALLOCATED.
THE FIRST INSTRUCTION DELETED WAS THE CORRECT ONE.
ALL MECHANICAL DESIGNS ARE FLAWED.
ALL BIG FLAWS ARE FOUND AFTER MIDNIGHT.
MOTHER NATURE REALLY IS A BITCH.
ALL MASTER PLANS ARE DOOMED TO FAIL
IF ITS FIXED, YOU HAVE TO PLAY WITH IT UNTIL, YOU BREAK IT. IF ITS BROKE,
YOU HAVE TO PLAY WITH IT UNTIL ITS FIXED.
IF THE FLAW IS IN A SENSOR, IT WILL BE FOUND IN SOFTWARE.
THE ONLY GOOD CONTROL SYSTEM IS THE ONE THAT WAS JUST REPLACED.
MOTHER NATURE REALLY DOES SIDE WITH THE HIDDEN FLAW.
THE LAST PART CHECKED IS THE BAD ONE.
THE WORK OF ALL JURY RIG EXPERTS LASTS TILL ONE DAY AFTER THEY QUIT.
ALL BREAKS OCCUR IN THE WRONG END OF WIRE.
NO PROGRAM IS ANY GOOD UNTIL CHANGED TWENTY TIMES. A PROGRAM CHANGED
TWENTY TIMES IS USELESS.
IF A PROGRAM IS USELESS IT WILL HAVE TO BE DOCUMENTED.
THE INSTRUCTIONS ARE NEVER READ. UNTIL THE EQUIPMENT IS DAMAGED.
NO FLAW IS EVER FOUND BY LOOKING FOR IT DIRECTLY.
DATA USEFULNESS IS INVERSELY PROPORTIONAL TO THE AMOUNT OF IT.
ALL BAD DESIGNS CAN BE FIXED BY MORE LINES OF PROGRAM
THE OBSCURE ROUTINE NOT THOROUGHLY CHECKED IS FLAWED.
ALL FLAWS ARE CAUSED BY OBSCURE ROUTINES.
IF IT DON'T WORK, MORE DATA WILL HAVE TO BE COLLECTED.
WHEN ANY CONTROL SYSTEM IS FULLY UNDERSTOOD IT IS OBSOLETE.
ALL CONTROL PROGRAM SCAN PROBLEMS ARE CAUSED BY GLITCHES
THINGS DO GO BUMP IN THE NIGHT
BUMPS IN THE NIGHT ARE CAUSED BY THINGS
A PERSON DOING KNOWS NOTHING. A PERSON WATCHING KNOWS ALL.
ALL SIMPLE PROBLEMS ARE COMPLEX. ALL COMPLEX PROBLEMS ARE SIMPLE.
COMPUTER MALFUNCTIONS ARE DIRECTLY PROPORTIONAL TO THE AMOUNT OF PAPER IN
THE PRINTER BOX.
THE WORTH OF ANYTHING IS DIRECTLY INVERSELY PROPORTIONAL TO ITS COST.
BIG TALKERS, DO SMALL, SMALL TALKERS, DO BIG
ALL PARTS THAT CAN NOT BE LOCATED ARE WORTHLESS.
ALL PLANS OR PROGRAMS ARE FLAWED, BE THEY OF MICE OR MEM.
IF THE COMPUTER IS BIG ENOUGH, ALL PROBLEMS CAN BE SOLVED.
THE AMOUNT OF FLAWS DISCOVERED IS DIRECTLY PROPORTIONAL TO THE AMOUNT OF
ALL CHECKS IN THE MAIL AND ALL PARTS SHIPPED TODAY TAKE SIX TO EIGHT WEEKS
THE PART NOT ORDERED, IS THE CRITICAL ONE.
PROBLEM AREAS AND LIMITATIONS
X-10 technology has some bugs in it. Basically the modules communicate
over the wires that power the house, depending on how your house is wired
will determine if you have problems or not.
Some of these problems can be very annoying. In the registered version is
a much more detail discussion with the problem areas fully explained,
solutions offered and various situations that different user might face
In addition all problems with equipment, the best equipment for the
application and all problem areas/equipment difference and other areas of
difficulty encountered during the development of AUTOMATE are discussed.
These discussions and information alone are worth the price of the
registered version of AUTOMATE. Some of these areas can rapidly exceed the
ability of the average user to find or understand/correct the problem.
WHAT DO I GET IF I REGISTER ?????????
1. First of all my humble gratitude and thanks for rewarding my efforts.
Second a completely different program and instructions for doing all the
things discussed and demonstrated in the introductory shareware version.
2. Construction details on how to build sensors, calibration techniques
and curve generators.
A look at the in/outs of designing sensors and trimming programs to use
Discussions on methods of using graphic displays to show off your
A complete example of how to build, test, calibrate and program a system
to monitor analog real world parameters (visible light and temperature).
The data sets for four temperature probes referenced to their part no.s
and information on suppliers and design of those sensors.
Example of how to use that system for parameter display on the computer
screen, data logging and setpoints generation for control applications.
A complete discussion on inputing contact information via the gamecard. In
addition a input expansion method to increase the number allowable.
The only complete engineering based program on the market for using a
personal computer for monitoring, automation and control.
3. Construction details on building a connection box for the game port.
The box design takes into consideration the identification of gamecard
channels, programming considerations, acts as prototyping testbed to allow
development and calibration of sensors and allows for connection of
sensors to the gamecard for monitoring or control applications. Walks you
through the calibration and testing of the gamecard for monitoring/control
applications and has automatic characteristic curve generator.
4. A photo of the completed connection box, other useful equipment and
several prototype sensors.
5. Information on sensors useful in home applications. Model No.s,
approximate price, where to buy and how to use them.
6. List of suppliers for X-10 technology equipment.
7. List of suppliers for electronic and other hardware.
8. Calibration details and examples of how to do it.
9. Sample programs for monitoring and data logging. (source code is
included for all program examples.). Also included is a mail box monitor
program. No more that mail person sneaking up on you.
The lastest additions to the registered version. That program is
constantly being revised and additions made. The total program is 700 K+
10. Tips and hints on designing control programs.
11. A discussion on X-10 technology and how to communicate with X-10
modules. Included is a communication program for use with AUTOMATE
monitoring and control programs. A sample program using AUTOMATE and X-10
modules together. Information on buying the best X-10 interface and
communications software. Discussions on the problem areas and how to fix
12. A completely different program with more in depth discussion in many
areas. The registered version IS NOT a warmed over version of the
shareware version. All redundant files of the shareware version has been
13. Full disclosure of all methods and files. All compiled files have
their source code included. As time goes by the Registered Version is
being updated and compiled more with menu driven instructions. Where this
occurs source code will be furnished of the working parts and methods.
Nothing is "hidden".
14. The only limitations to the purchaser are: The purchaser may not seek
to duplicate the intent, methods or manner of AUTOMATE so as to supersede,
or directly compete with AUTOMATE in a commercial manner or in any other
manner render AUTOMATE obsolete. Vhe purchaser shall have the right to