Note: Descriptions are shown in the official language in which they were submitted.
~Z~S'~
--1--
"ELECTRONIC PROGRAMMABLE CONTROLLER DEVICE"
BACKGROUND OF THE INVENTION
__ ___
An electronic programmable controller device is
a further improvement over my previous United States
patent 4,079,366 entitled ELECTRONIC TIMER AND THERMOSWITCH
DEVICE granted September 30th, 1977.
_MMARY OF THE INVENTION_ _ _ __ _ __ _____
The present invention permits programs to be set
to operate any electrical apparatus A.C. or D.C. operated
by means of time program settings, or sensor program set-
tings, such as for a temperature controller application
where a temperature sensor is used as the sensor input,
or applications such as for a pressure controller where a
pressure sensor is used for the sensor input. In either
case, the output from the sensor is connected to the input
of the analog to digital (A/D) convertor circuits. Like-
wise, the device can be used as an engine speed controller,
or a flowrate controller for flow applications, such as
irrigation systems and the like. These applications are
exemplary only as other applications can be applied.
The object of the present invention is to pro-
vide control outputs to control electrical apparatus and
include time control outputs comprising in combination an
electronic digital 24-hour, 7-day real time clock based on
a crystal controlled, time memory control logic; time pro-
gram memory; comparator; keyboard; and display unit.
. t-
~ ~z
In accordance with the invention there is pro~
vided a device for controlling electrical apparatus com-
prising a source of power, an electronic 24-hour, 7-day
real time clock, a single display unit, a time memory con-
trol logic unit, a single keyboard operatively connected
thereto for entering data therein, a time program memory
unit operatively connected to said time memory control
logic unit, means selectîvely connecting said time memory
control logic unit and said time program memory unit to
said display unit for displaying data called up from said
time program memory unit, a time comparator logic unit
operatively connected between said real time clock and
said time program memory unit, output means for controlling
the electrical apparatus and operable by said time compara-
tor logic unit when the time on said real time clock coin-
cides with time programmed into said time program memory
unit, individually selectively operable 7-day selector
switch means connected to said time memory control logic
unit and arranged to control activation of said output
means by said logic unit in dependence on the condition of
said switch means, sensor input means responsive to an
analogue input from a remote sensor, an analog to digital
convertor operatively connected to said sensor input means
for converting said input to digital format, a sensor mem-
ory control logic unit operatively connected to said pro-
gram setting keyboard, a sensor program memory unit opera-
'
7~5
-2A-
tively connected to said sensor memory control logic unit,
means selectively connecting said sensor memory control
logic unit and said sensor program memory unit to said
display unit for displaying data called up from said sen-
sor program memory unit, a sensor comparator logic unit
operatively connected between said sensor program memory
unit and said sensor input means via said analog to digi-
tal convertor, means to actuate said output means in de-
pendence upon a comparison of said sensor input values and
sensor values in said sensor program memory unit, first
switch means arranged to control display on said display
unit of data from clock and from said sensor input means
whereby to allow selective display of real time continuous-
ly, the sensed input continuously and alternately the real
time and the sensed input, second switch means operable to
connect said keyboard to one of said time memory control
logic unit and said sensor memory control logic circuit to
enable manual entry of a required program into one of the
time program memory unit and said sensor program memory
unit, respectively each of said memory units being arranged
to display said entered program on said display, means for
correcting said displayed entered program error detection
means for comparing said entered program with predetermin-
ed parameters to detect and indicate an error in said
entered program.
The program data entered into the time program
memory is compared with the real time clock. The time control
~. ~
",
S~ 5
output is switched ON and OFF in comparison to the time of
day, to the programmed values, and is enabled, on the day
of the week, to determine which day or days of the week,
the time control output may be activated. In other words,
the programs may be preset to operate on certain days of
the week such as Monday to Friday and not operate on the
remaining days such as Saturday or Sunday.
Other aspects of the invention consist of a sensor
control output to turn ON and OFF electrical apparatus,
including the sensor control output comprising a sensor
analog input; analog to digital (A/D) convertor; sensor
comparator; sensor memory control logic and the sensor
program Memory, and using the same display unit to display
the sensor input values and to display program data entry
and also using the same keyboard for programmingO
When the sensor programmed data, in the sensor
program memory is compared with the present sensor input
values, the sensor control output is switched, and turns
the electrical apparatus ON or OFF. However, the sensor con-
trol output runs continuously and will not be affected by theday selector switches, and the time control output.
A further aspect of the invention is to provide a
Time/Sensor control output, to turn ON or OFF electrical appa-
ratus, comprising a combination of the time, and sensor con-
1 Z ~5 97 ~ 5
-- 4
trol outputs in pairs. The device will turn the electricalappratus ON or OFF upon a comparison and matching of both
of the programs. T'ne sensor program memory address is
controlled by the tiMe program.
Furthermore, the device is provided with ERROR
detection circuits, in which programming error conditions are
detected. E E E E will flash on the display unit at a rate
of 1 hertz. This further eliminates human error when pro-
gramming the device.
A still further advantage of the present invention
is that it provides a program check circuit so that the ope-
rator of the device can check the programmed memory contents,
immediately after the program data is entered into the pro-
gram memories. This is to ensure that the correct data has
been programmed. If incorrectly programmed, data is found
during the program checking process, then correct program
data can be re-entered immediately.
The present invention utilizes a single display
unit selectively to display the time of day, day of week, the
actual sensor analog input, key input and the program memo-
ries contents, and also provides the programming error indi-
cation. This means that ~he cost of the device is reduced
and that it is more compact than previous devices.
Also, the device utilizes a single keyboard for
C~
-- 5
both the time programming, and the sensor programming, to
replace the mechanical setting, used on most of the devices
presently on the market. This further improves the program-
ming accuracy. More importantly, it increases the wider
range setting between the ON and OFF program settings, an
attribute which was found to be almost impossible to incor-
porate with the mechanical devices presently on the market.
The device also provides BCD multiple~er data out-
put, for computer terminals, and the like.
ln With the foregoing in view, and other advantages as
will become apparent to those skilled in the art to which this
invention relates as this specification proceeds, the inven-
tion is herein described by reference to the accompanying
drawings forming a part hereof, which includes a description
of the preferred typical embodiment of the principles of the
present invention, in which:
DESCRIPTION OF THE DRAWINGS
Figure 1 is a block diagram of the electronic pro-
grammable controller device.
Figure 2 is an isometric view of the device with
the cover open.
Figure 3 is a view similar to Figure 2 reduced in
scale but with the cover closed.
In the drawings like characters of reference indi~
- 5A
cate corresponding parts in the different figures.
DETAILED_DESCRIPTION
Proceeding therefore to describe the invention in
detail, reference should first be made to Fi.gure 2 in which
the front cover 89 is hinged by 88 to the device enclosure
82 to reduce the possibility of persons accidentally changing
the preset programs. On the inside of the cover there is
~,5t~;5
also provided programming instructions 86 and various switch
control functions 87, so that the operator of the device can
read the instructions while programming the device. A mount-
ing bracket 83, mounting knobs 84, and screw mounting holes
85 are provided so that the device can be mounted and adjust-
ed to any suitable position as mayi be desired.
Figure 2 illustrates the enclosure which embodies
the front panel 81 of the device and which includes the dis-
play unit 1. Day selector switches 20, keyboard 19 and va-
rious control switches 9 and the like are mounted therein as
will hereinafter be described. Sensor device input 80 is
also provided on the front panel 81 or remote for some applica-
tions.
~i~ure 1 shows a block diagram for the electronic pro-
grammable controller device to provide a 24-hour, 7-day real
time clock, based on a 32,768 hertz crystal input frequency,
and an analog to di~ital (A/D) conversion or a 2~ digit which
is set to start from a -99 value to a maximum out value of 199.
A 4-digit A/D conversion also can be achieved to start from
-999 value to a maximum value of 9999.
~n oscillator and timing chain 4 is provided which
includes a plurality of binary counters (not illustrated) which
divide the crystal oscillator frequency down to various fre-
quencies. As an example, 16,384 Hz, 256 ~Iz, 4 Hz and 1 Hz
(one cycle per second) etc. may be provided. The internal cir-
~2~'7~
-- 7
cuitry of such conventional oscillator and binary counters
is well known, so that i~ is no~ believed necessary to give
details of the construction thereof.
The 1024 Hz frequency from the oscillator and tim
ing chain 4 is utilized to strobe the 4 x 4 ma~rix coded key-
board 19, and the day selector switches 20. The key input K
lines (Kl, K2, K3, K4, K5) are normally at logic (0) provided
by pull-down resistors (not illustrated). The K lines are
used to provide program data entering to ~he following cir-
cuits. The Dl, D2, D3, D4 and D5 are digit strobes, where Dlis the most significant digit, D4 is the least significant
digit and D5 is used for the keyboard only, to provide logic
(1) to the K lines by a switch closure connecting the K line
to a strobe line. The scrobe lines are also used to strobe
the BCD (Binary Coded Decimal) data from the display bus 33
to the proper display digit 91, 92, 93, 94. When the time
program switch S3 is on RUN mode position 64 as shown in the
block diagram, the BCD data output is provided to the 7 seg-
ment decoder and drivers 2, to display the time of day or to
display time/sensor values or to display the sensor input
values. All of these may be displayed on a display unit 1
connected by bus 25.
This depends upon which numeral key is depressed.
If the number key Olis pressed, time of day is displayed. If
?
;3
'7~i
-- 8
key 3 is depressed, the time/sensor is displayed alternately,
if key 2 is depressed then the sensor input value is display-
ed and if key 0 is depressed, then display is OFF. For dis-
playing the time o~ day program, the 10's of hours is on di-
git 91, l's of hours is on digit 92, 10's of minutes is on
digit 93, and the l's of minutes is on digit 94; the colon
24 flashes at 1 Hz (one cycle per second). For the sensor
input display, the minus sign is displayed on the leading
digit, 100's is on 92J 10's is on digit 93, and l's will be
displayed on digit 94, and the colon is blanked. When either
one (but not both) the time program switch S3, or the sensor
program switch S4 is on "enterl' mode position 63, or 65 for
S4, then the program data will be displayed at D4 time or
on the least significant digit 94, which is responsive to
the numeral key within the keyboard 19 which is activated.
The 1 Hz frequency is also applied to the keyboard
encoder circui~ 18 and is further divided down to the factors
by 4, equal to 1/4 Hz ox a 4 second pulse within the keyboard
encoder 18. The shi~t register and logic circuits within the
keyboard encoder 18 are arranged so that if both the time pro-
gram switch S3 and the sensor program S4 are in "run" position,
by pressing Key 0 followed by pressing key 3 on the keyboard
l9,the display unit 1 will display the time of day for 4 se-
conds and the sensor input values will be displayed for 4 se~
,~ . .
l~lS76S
g
conds alternately. When key 01 on keyboard 19 is actuated,
the display unit 1 will display the time of day. Likewise
by pressing 02on the keyboard 19, the display unit will dis-
play the sensor input value, but if numeral 0 key is depres-
sed on the keyboard 19 with both time program switch S3 and
sensor program switch S4 in the "run" position then the dis-
play unit 1 will be turned off (displays blanked).
The switch control logic 21 logic arrangement is
as follows:
Program Switch Operation
S3 (time program) S4 (sensor program)
Logic 1 = enter mode Logic 1 - enter mode
Logic 0 = run mode Logic 0 = run mode
S2 (error enable/disable)
Logic 1 error detector enable
Logic 0 error detector disable
The 128 Hz frequency from the oscillator and timing
chain 4 is utilized to set the clock and will advance the
clock at a rate of 2.13 minutes per second when the "slow set"
key within the keyboard 19 is depressed, and will advance the
clock at a rate of 2.13 hours per second when the "fast set"
key is depressed. The "fast set" key is also used as the
minus sign entering key for the sensor programming if a minus
sign is required. However, the minus sign key is active only
.
-- 10
when the sensor program switch S4 is on the "enter mode" po-
sition 65, otherwise it will function as the "fast set" for
the clock.
The 1 Hz Erequency from the oscillator and timing
chain 4 is also used to operate the time of day counters 14,
and this frequency is Eurther divided down to one pulse per
minute (1/60 Hz) by the 60 second counters, one pulse per
hour (1/3600 Hz) by the minute counters, and one pulse per
24 hours (1/3600 x 24 Hz) by the 24 hour counters within the
time of day counter 14, which is conventional.
The BCD output data from the time of day counters
14, are fed to the 7 segment and drives 2 via the display bus
33, to display the time of day on the display unit. When the
display function key is pressed as above mentioned, the dis-
play operates as described. The BCD multiplexer output 79
as illustrated on the block diagram Figure 1. B0, Bl r B2, B3
is to provide the multiplexer BCD data from the segment deco-
der and drivers 2, for ~he computer terminal and the like if
desired, B3 being the most significant.
The 1/3600 ~ 24 ~z (24 hour pulse) is fed to the
day counters 23, and which consist of pre-settable binary
counters, and BCD to Decimal decoders. The -re-settable
binary counters are preset to divide the 24 hour pulse re-
ceived from the time of day counters 14 r in order to advance
... . . .
3LZ~ 7~
the day counter every 24 hours to complete the 7-day cycle.
The BCD output from the pre-settable binary counters is fed
to the BCD-to-Decimal decoder within the day counters 23.
This converts to BCD output to decimal value such as:
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
1 2 3 4 5 6 7
by depressing the day display key on the keyboard 19. This
will cause the day of the week to be displayed on the least
significant digit 94 (other leading digits are blanked).
For example, i.~ the day of the week is Monday, upon the de-
- pressing of the day display key, a 1 is displayed on the least
significant digit 94. If the day of the wee}c is.Friday, then
5 is displayed, etc. Each depression of the day advance key
(Day Adv) within the keyboard 19, will cause the day coun--
ter 23, to increment once. This advances the day counter by
one day.
The other BCD output is fed from the time of day
counters 14 (the actual. time of the day is BCD format), to
the time comparator logic 15 by data bus 45, and is used to
compare the time program med data in the time program memory
16. To achieve the ON time, and OFF time programming, the
time program switch S3, must be at "enter" mode (logic 1~.
This allows the program data to be entered into the time pro-
gram memory 16. The ~eyboard 19~ in the present embodiment,
5'76S
- 12
consists of the numerical numbers 0, 1, 2, 3, 4, 5, 6, 7, 8
and 9 as illustrated. The output of the keyboard setting,
is converted to BCD formats by the keyboard encoder 18.
The BCD output, from the keyboard encoder 18, is fed to the
time memory control logic 17, by the keyboard data bus 34,
then through the time memory control logic 17, and then to
the time program memory 16 via bus 47. The time memory con-
trol logic 17, consists of numbers of logic circuits such
as: analog switch multiplexers, static shift registers, memory
address counters (binary counters), etc. When one of the
numerical keys is depressed, the BCD representing same is
written into the time program memory 16, at D4 time, and
the number is displayed on the display unit 1 on the least
significant digit 94 with the leading digits blank. The pro-
gram data is entered as four BCD numbers for an ON time pro-
gram, and followed by four BCD numbers for an OFF time. The
number of ON and OFF time setting sequences is dependent upon
the size of RAM (Random access memory) within the time program
memory program 16. For example, a 13 bit word is used for
each memory address t2 bits for the 10's of hours, 4 bits
for the l's of hours, 3 bits for the 10's of minutes, and
4 bits for the l's of minutes) for each ON time and each OFF
time setting, and each ON time setting occupies one memory
address, and there is one memory address for each OFF time
765
~ 13
setting. If there are 48 ON time, and 48 OFF time setting
then a 96 x 13 biL-word RAM is required for the time program
memory 16.
After the time programming is completed, the time
program switch is set to "run" mode position 64~ as illus-
trated, in Figure 1. In "run" mode, the time program memory
16, will not accept data entry, and will function normally
as a timer. In addition, the memory address counter, is re-
set to address ~, so that the program always starts at address
0. Only keys 0, 1, 2, 3,fast and slow set, day display key
and day advance keys on the keyboard 19, are active while in
"run" mode.
An example of time program setting is as follows:
1. Set the time program switch S3 from "run" mode to
"enter" mode. Result: display will ShOW the current program
time (i~ no data i5 in the memory, ~he display is blank).
The time control output 76, and the previous program sequen-
cing are not interrupted until the reset key is pressed. All
other keys are non-functional until reset key is pressed.
Switches other than keyboard are active.
2. Reset key depressed. Result: Time control output
is reset, program counter is reset to zero address; memory
is reset, display unit 1 is blanked, and keyboard is active
and is ready or data entry.
" ?
1~ lS7
3. Set error detector switch S2 to "enable" mode 74.
Result: error conditions will be detected.
4. Program entry:
Program Se~uenceON time OFF time
1 9:45 10:26
2 13:55 . 14:49
3 17:03 21:23
4 23:59 :01
1:23 ~:57
Program EnterKeystroke DisplayMemory
Reset BlankAddress = 0
9 9 ..
1st ON time 4 :94 'I
9:45 "
END DATA BLANKAddress = l(m0 =
9:45)
: 1
1st OFF time 0 :10 "
2 1:02 "
6 10:26 "
END DATA BLANKAddress a 2(Ml -
10:26)
: 1
2nd ON time 3 :13
1:35 "
13:55 "
",.. !' .
~2~5i7~5j
- 15
END DATABLANK Address = 3(M2 =
13:55)
: 1
2nd OFF time 4 :14
4 1:44 "
914 :49 n
END DATABLANK Addxess = 4 (M3 =
14 :49)
: 1 1'
3rd ON time 7 :17 "
0 1:70 "
3 17:03 "
END DATABLANK Address = 5 ~M4 =
17~03)
2 : 2 "
3rd OFF time 1 :21
2 2:12 "
3 21:23 "
END DATABLANK Address = 6 (M5 =
21:23)
2 : 2 "
4th ON time 3 :23 "
2:35 "
9 23:59 "
- 16
END DATA BLANK Address = 7(M6 =
23:59)
O : O "
4th OFF time 1 :01 "
END DATA BLANK Address - 8~M7 =
' :01)
: 1
5th ON time 2 :12
3 1:23 "
END DATA BLANK Address - 9(M8 =
1:23)
8 : 8 "
5th OFF time 3 :83 n
7 8:37 "
END DATA BLANK Address = 10(M9 =
8:37)
5. PROGRAM CHECK END DATA 9:45 Address = 0
END DATA 10:26 Address = 1
END DATA 13:55 Address = 2
END D~TA 14:49 Address = 3
END DATA 17:03 Address = 4
END DATA 21:23 Address = 5
END DATA 23:59 Address = 6
END DATA :01 Address = 7
END DATA 1:23 Address = 8
END DATA 8:37 Address = 9
,. ~
`;~'3
~z~s~
6. PROGRAM CORRECT 8 : 8 Address = 9
:85 Address = 9
7 8:57 Address = 9
END DATA BLANK Address = 10 (M9 =
8:57)
7. END OF PROGRAM Set Time Program Switch from "enter"
to "run".
The above example programming numbers for time pro-
graM settings is used as an example only. The number of ON
time and OFF time setting sequences is dependent on -the size
of RAM which is used within the time program memory 16, as
previously mentioned.
8. Set day selector switch or switches within 20 for
which day or days the program is to be operated.
To check programming, simply depress the End Data
key (END DATA) on the keyboard 19 as in examples above mention-
ed. If incorrect program data is found, then the correct data
can be re-entered immediately, as in example above. The End
Data key, on the keyboard 19 is used to enter "end data" upon
each ON/OFF sequence and is also used for program check key
function. However, this key is only active when the time pro-
gram switch S3 or the sensor program switch S4, is on "enter"
mode. This key is inactive when the program switches are on
"run" mode.
The device is provided with E~ROR detection logic
~ ~ '
~2~5'~5
circuit 3, as illustrated in block diagram Figure 1. When
S2 is on "enable" position 74 (logic 1) to the input 30 of
the ERROR detection logic 3, error conditions are detected
and its output 29 is connected to the 7-segment decoder and
drivers 2. When the error conditions are detected, E E E E
flashes on the display unit 1 at a rate of 1 Hz. The follow-
ing are called error conditions:
1. Both the time program switch S3 and the sensor
program switch S4 are set to "enter" mode at the same time.
2. Entering key depressed when the time entered
has hours greater than 23 3 or minutes greater than 59.
3. Entering key depressed when the sensor entered
is not between O and 49, or leading digit is not blank.
4. Switch from "encer" mode to "run" mode, for
time programming, and the memory address counter is odd (mis-
sing program value, only ON time program data is entered, but
no OFF time program data has been entered into the memory).
5. If the device is operated by the stand-by battery, as
a power source, and if the power source is less than the pre-
set value (4 volts), "E's" flash and then the displays are
turned OFF automatically to reduce power consumption. If the
device is operated from a conventional AC power source, the
error condition is detected when power loss has occurred.
6. Program entry has excess memory addressed for
V
IL57j~
19
either time program or sensor program.
The following responses correspond to the above
illegal conditions:
1. Keyboard dead, switches active and E E E E flashes
on the display unit at 1 Hz until either the sensor program
S4 is switched to "run" mode or the time program S3 is switch-
ed to "run" mode.
2. Keyboard is dead except for the reset key, and ille-
gal time program value does not enter into the time program
memory. E E E E flashes at 1 Hz rate until reset key is
pressed or S3 is switched from "enter" mode to "run" mode.
3. Keyboard is dead except for the reset key, and il-
legal sensor program value entered into the sensor program
memory. E E E E flashes at 1 Hz rate until the reset key is
pressed or the sensor program switch S4 is switched from
"enter" mode to "run" mode or switched S2 from "enable"
mode to "disable" mode when a logical (0) is present at the in-
put of the Error detection logic, there are no E E E E flashes
but, the sensor program from -99 to 199,for 2~ digit A/D con-
vertor, for example, if desired. The sensor comparator output
response upon comparison, but if sensor program value exceeds
199, the sensor program value willnot enter into the sensor
program memory E E E E flashes until reset key is pressed
then the correct program values can be re entered.
;. ~
~2~ 5
- 20 -
4. The time program runs with missing value ~no
OFF time has been entered) the time control output switch
(turned off) at the next ON time value.
Por sensor programs running with missing values
(no OFF values are entered) the sensor control output switch
(turned OFF) is equal to the previous values plus one (ON
program + 1~ or if the ON program value is 35, as exàmple
then the sensor control output will be switched OFF when
the sensor input is 35 ~ 1 = 36~ and switched on at 35-1 = 34.
5. Replace khe battery or restore power ~o the
- device. S3 is set to "enter" mode and followed by depressing
the reset key, then set S3 back to "run" mode. Next, set ac~
tual time of day by fast set ox slow set key and day advance
key for the current day of the week and re-enter all programs.
6. Excess program entry cannot enter into the memo-
ry program. E E E E flashes at 1 Hz rate until the reset ]cey
is depressed then re-enter program, within program memoxy
capacity.
The day of the week is controlled by the seven sepa-
rate switches 20. Normally these switches are at the ON posi-
tion (left open). This permits the day to be selected; the
day "enable" logic 22 compares to the current day of the week.
If the day of the week matches ~he day selector switch or swit-
ches and is logical 1, an "enable" pulse is generated at the
~J
5~7~
- 21
output 35 of the day enable logic 22. But if the day se-
lector switch or switches are at the OFF position ~switch
closed), the day "enable" output 35 is "disabled". There-
fore, 35 is a logic (0). The day "enable" output 35 controls
both the time control output 51, 76 and the time/sensor con-
trol output 75, due to the time comparator output 27. The
day "enable" output 35 is ANDED by the AND gate 61, but has
no effect on the sensor control output 77, as illustrated on
the block diagram in Figure 1.
In operation, the 13-bit word BCD formats actual
time of the day from the time of day counters 14 via bus 45
and is fed to the (A) inputs of the 13-bit magnitude compara-
tor 15 together with the 13-bit word time programmed data
from the time program memory 16 via bus 46 which i.s fed to
the tB) inputs of the 13-bit magnitude comparator (not shown)
within the time comparator logic 15 so that when A=B the time
comparator output 27 toggle, (A = B - 1, for the ON time com-
parison, and A = B - 0 for the OFF time comparison).
For time programmed sequences as in the above exam-
ple, when the actual time reaches 9:45, which is equal to the
time programmed memory contents in the memory address ~0, the
time comparator output 27 is flip-flop toggle to a logical ~1),
and applied to one input of the AND gate 61. Assuming the
day of the week matches the day selector switches 20, a day
"enable" pulse logical 1 is generated and is appl;ed to the
~ s~s
other input of AND gate 61. Therefore, a logic (1) appears
at 51 and 76 thus turning ON the electrical apparatus when
it is connected to the switch control device 5 . Upon each
comparison, the memory address counter within the time memory
control logic 17 is incremented by one, to advance the time
program memory to the next memory address (Ml), and the first
OFF time programmed is now ready for comparison. When the
actual time is reached, say for example, 10:26 which is equal
to the OFF time memory contents in the memory address Ml, the
time comparator output 27 is toggle to logic (0) and appears
at 27~ Therefore 51, 76 is also at logic (0) and turns OFF
the electrical apparatus connected to the switch control de-
vice 5C. Again the memory address is incremented by one up-
on comparison. Thus the M2 memory address is ready for the
next ON time comparison. The operation repeats as above.
If the next memory address is empty (no time program data is
entered, as the above example), the empty memory address M10
is reached and the memory address counter within the time
memory control logic 17 is reset to 0 taddress ~). In this
manner the program is continuously run against the current
time of day values.
The analog to digital (A/D) convertor 13 is a 2-1/2
digit single ramp conversion, starting from 0 (zero) value to
a maximum output value of 199. Use of the 16,38~ Hz crystal
~IL~2~5~6~i
time base frequency from the oscillator and timing chain 4,
divides the ramp into ~l-micro-seconds intervals. This type
of A/D convertor circuit consists of a reference voltage
source ~1 from the voltage divider network 43, ~4 for stabi-
lity. A comparator, digital-to-analog (D/A) convertor, bi-
nary counters and control logic (not illustrated) are pro-
vided within the A/D convertor 13, to produce a BCD output
that represents an analog current or voltage which is applied
to the sensor inpu-t 39, which is well known, and is therefore
not believed necessary to give details of the construction
thereof.
A brief circuit operation of the A/D convertor 13
is as follows: When a start pulse is received in the control
logic circuits, it resets the binary counters and gates the
clock pulses into the counters input. The binary counter is
incremented.by each successive clock pulse and the output li-
nes from the binary counter are connected to the input termi-
nals of the digital-to-analog (D/A) convertorl so that when
the binary counter output changes the A/D convertor output
also changes. The A/D convertor output voltage is applied
to one input of a comparator 12 via bus 38 and the other in-
put of the comparator is connected to the analog input volt-
age from the sensor 80 via connection 39. If the analog in-
put voltage is greater than the A/D convertor output voltage,
~ ........................ . . .
LS~7~5;
- 24
the comparator output will be high (logic 1). This condi-
tion exists immediately after the start pulse is received.
When the A/D convertor output has been incremented to a
point where it is equal to the analog input voltage 39,
the comparator output will go low (O) thus stopping the
conversion action. The binary counter output will remain
latched, ho]ding the data word and an "end of conversion"
pulse is generated. ~ ramp capacitor ~0 is connected to
VSS (negative supply) and depends on the current source pre-
set in the circuit. The A/D convertor circuit within 13, isdesigned so that if the new sensor input value 39 changes
within +l of the old value, the update rate is once every
10 seconds. If the new input value is +2 or grea-ter, the up-
date rate of the conversion will be once ~or every second,
in order to reduce jitter at thresholds between the sensor
input values by changing the sampling rate relative to the
increment sizes.
The sensor programming operation is identical to
the time programming. When the sensor program switch S~ is
2~ set to "enter" mode position 65, held at logic (1), the sen~
sor memory address counter is reset to address 0 (zero)~ so
that the program always starts from address 0r and allows
program data to be entered into the sensor program memory 11,
by the K lines ox keyboard 19. The BC~ ~ormat program data
Lt3~
- 25
from the keyboard encoder 18 is connected to the sensor
memory control logic 10 by the keyboard data bus 34, and
to the sensor program memory 11, by data bus 36. The sen-
sor program data entered will be displayed on the display
unit 1 at D4 time, or will be displayed on the least signi-
ficant digit 94, which is responsive to the numerical key
which is depressed. The actual sensor BCD format input from
the AJD convertor 13 follows two pathsO One path connects
to the display bus 33, to display the actual sensor input
values when the key 0 is ac-tuated, followed by actuation of
key 2, as shown on the display operation mentioned above.
The other BCD format sensor input values from the A/D conver-
tor 13 is via outpu-t bus 38 which is connected to the (A) in-
puts of the 9-bit word magnitude comparator 12. The BCD for-
mat programmed data from the sensor program memory 11 is con-
nected to the (B) inputs of the same 9-bit word magnitude com-
parator within the sensor comparator logic 12 via bus 37.
When the sensor input values from the A/D convertor 13 are
equal to or less than the memory contents in M0 (the ~irst
ON programmed data), the sensor control output S2,77 goes
high (1). This turns ON the electrical apparatus which is
connected to the switch control device 5 A, and upon.each
comparisonl the sensor program memory address counter within
the sensor memory control logic 10 is incremented, to advance
~ ~5~76~
- 26
the memory address to Ml (the first OFF program data) and
the sensor comparator 12 is then ready for the first OFF com~
parison. When the sensor input value equals or is greater
than the program value within the memory address Ml, the
sensor comparator output 52,77 goes low (0). This will turn
OFF the electrical apparatus connected to the switch control
device 5A. Again the memory address increments by one, to
M2, the second ON programmed data is ready for comparison.
. The operation is repeated as above. When the next memory
address is empty (no program data been en-tered) the memory
address counter within the sensor memory control logic 10 is
reset to address 0 (zero). Therefore, the program is conti-
nuously run against the current sensor input values.
The sensor program value is preset on the pre-set-
table binary counter within the sensor memory control logic
circuit 10 so that the sensor program entered has a value
between 0 to a maximum value of 49, for legal program entry.
If the "program entry" values are not between 0 to ~9, the
error condition is declared, and E E E E will be flashed at 1
Hz rate on the display unit 1. This :is providing that the
error detector switch S2 is at the "enable" position 74
(logic 13. But if the switch S2 is at the "disable" position
73 (logic 0) the sensor program may be entered from 99 to a
maximum value of 199 without causing the E E E E to flash on
~ - \
L5~6~
- 27
display unit 1. This option is very useful for applications
such as the temperature controller, or pressure controller,
etc., for limited low range programming applications.
The sensor comparator logic 1~ is arranged as fol-
lows:
SENSOR INPUT MEMORY ADDRESS SENSOR CONTROL OUTPUT
A <= B (M0) ON (logic 1)
If sensor input is less than, or equal to, the ON program
memory address value; the sensor control output will be ON
stated or in logic (1).
A =~ B (Ml) OFF (logic 0)
If sensor input value is equal to, or greater than, the OFF
programmed memory address value, the sensor control output
will turn OFF or to logic (0) state.
A~ B(M0) and <B(Ml) stays ON (logic 1)
If the sensor input is greater than the ON program memory
address value, but less than the OFF program memory address
value, then the sensor control output will remain in the ON
state, or remain in logic (1).
A> B(M0) and = > B(Ml) stays OFF (logic 0)
If the sensor input is greater than the ON program memory
address and is equal to or greater than the OFF program memory
address then the sensor control output will remain OFF, or in
logic (0) state.
~z~.S7~iS
- 28
An example of sensor program settings is as fol-
lows:
PROGRAM SEQUENCEON PROGRAMOFF PROGRAM
1 1 8
2 7 35
3 34 82
4 73 199
Programming Procedures and Results:
1. Set Error detection switch S2 from "enable"
mode to "disable" mode.
2. Set sensor program switch S4 from "run 1I mode
to "enter" mode.
Result: Display will show the current sensor program
values (if no data or values have been entered in
the memory, the display is blanked), sensor control
output and the previous programmed sequencing are
not interrupted until reset key is d~pressed. All
other keys are non-functional until the reset key
is depressed or actuated. Switches other than the
keyboard switches are activer
3~ Press the reset key
Results: The sensor control output is reset, pro-
gram memory is reset, program counter is reset to
address zero F and keys cJn the keyhoard axe active
~Z3L5~765
- :29
and ready for data entry.
4. Pr~gram entry-
PROGRAM ENTRY KEYSTROKE DISPLAY MEMORY
RESET BLANK ADDRESS - O
1st ON values END DATA BLANK ADDRESS - l(M0=1)
8 8 "
1st OFF values END DATA BLANK Address - 2(Ml=8)
7 7 "
2nd ON values END DATA RLANK ADDRESS = 3(M2=7)
3 3 "
"
2nd OFF values END DATA BLANK ADDRESS = 4(M3=35)
3 3 "
4 34 "
3rd ON ~alues END DATA BLANK ADDRESS = 5(M4=34)
8 8 "
2 82 "
3rd OFF values END DATA BLANK ADDRESS - 6(M5=82)
7 7 "
3 73 "
4th ON values END DATA BLANK ADDRESS = 7(M6=73)
, 1 1 "
g 19 -
199 1-
.~ .
~5'7165
- 3~ -
4th OFF values END DATA BLA~K ADDRESS = 8(M7=199)
5. PROGRAM CHECK END DATA 1 ADDRESS = O
END DATA 8 ADDRESS = 1
END DATA 7 ADDRESS = 2
END DATA 35 ADDRESS = 3
END DATA 74 ADDRESS = 4
END DATA 82 ADDRESS = 5
END DATA 93 ADDRESS = 6
END DATA ~99 ADDRESS = 7
}o END DATA BLANK ADDRESS = 8
6. END OF PROGRAM set sensor program switch S4 to l'run"
mode.
The above example shows an illegal sensor program en-
tered (the program entries are not between 0 - 49). Therefore,
the Error detection switch S2 must be set from "enable" to
"disable" mode. This disables the error detec~ion circuits
within 3 before start to program. Otherwise the display unit
EEEE
1 will flash/at the rate of 1 Hz as soon as the 73 key is de-
pressed. In the above example, the sensor control ~utput res-
ponds to the sensor input upon comparison.
If there is any error entry during programming, theerror program values can be corrected by re-programming the
rorrect data into the program memory upon the program check-
ing process, which is very similar to the time program cor-
i :j
7t~S
- 31
rection steps as shown in the time program example mentioned
above.
In the above example the number OL ON and OFF sen-
sor program setting sequences is used as an example only.
The number of ON and OFF settings is also dependent on the
size of the sensor program which is used. In the above ex-
ample, 4 ON and 4 OFF program settings are used.
Since 1 bit word is used for the 100's digit (digit 92)
4 bit word is used for the 10's digit (digit 93)
4 bit word is used for the l's digit (digit 94)
there is a total of a 9 bit word and since each ON program data
occupies one memory address and since each OFF program data
occupies one memory address, therefore a 8 x 9 bit word RAM
(randon access memory) will be required for the sensor program
memory 12.
If there are 10 ON and 10 OFF program sett;ng, then
a 20 x 9 bit word RAM will be required for the sensor program
memory 12.
The above sensor program sequence example operatlon
is as follows:
When the actual sensor input value drops to 1, which
i5 equal to the irst sensor ON programmed values, (M0 of the
sensor memory address contents), the sensor comparator output
52/77 goes high (1). This turns O~ the e:Lectr.ical, apparatlls
~2~5~65
- 32
connected to the switch control device 5A. At the same
time, upon comparison, the sensor memory address is advanced
to memory address Ml locations and the first OFF sensor
programmed value is ready for comparison. When the sensor
input value reaches 8 and is equal to the Ml memory contents,
the sensor comparator outpu~ 52 toggle to low (0), therefore
77 also goes low (0) and turns OFF the electrical apparatus
which is connected to the switch control device 5A. Again
the memory address is incremented by one upon comparison,
thus the memory contents in M2 is now ready for the second
ON comparison. The operation is repeated as above. When
the sensor drops to 7, it turns ON the electrical ~pparatus,
and turns OFF the electrical appara-tus when the sensor input
value reaches 35 and so on. When the empty memory address is
reached (as program sequences above mentioned, the empty me-
mory address will be M8), the memory address counter within
the sensor memory control logic 10 is reset to address 0. In
this manner, the sensor program is continuously run against
the current sensor input value.
The device also provides a time/sensor control out~
put 75 which is useful as an energy conservation device for
application such as a programmable timer/temperature control-
ler and it is similar to my previous U.S. patent ~,079,366 -
~LECTRONIC TIMER ~ND THERM~SWITCH DE~7ICE. I-lowever, t-he pre
5~7~5
- 33
sent inven-tion replaces the thermoswitch circuits within my
previous patent by the sensor program circuitry which is in-
cluded in the sensor memory control logic 10, sensor program
memory 11, sensor comparator logic 12 and the A/D convertor
13, together with the keyboard and display unit 1, as shown
in Figure 1. This provides the device more accuracy in pro-
gram setting and provides wider range and more flexibility
between the ON and OFF program settings, and can provide
more program setting, if desired. The device not only is
used to control electrical apparatus, but also to display
the sensor input values with a single display unit. In addi-
tion, the device provides the Error detection circuitry en-
abling the operator of the device to check each program en-
tered to eliminate programming error. If error data is de-
tected, the operation also can re-enter the correct data dur-
ing the program checking process. More important, the device
can be used for various applications such as temperature con-
troller, pressure controller, flowrate controller, etc. sim-
ply by replacing the sensor for the sensor unit to suit the
specific application.
When the device is used so that time/senor control
output turns ON and OFF, electrical apparatus such as a hea~-
ing system, the number of program values for each memory must
be even or in pairs. The sensor program runs continllouslyf
~.Z~LS~
.
- 3~ -
but the sensor program memory address counter is controlled
by the time program. ~he sensor memory adclress counter is
incremented by steps of two each OFF time program comparison,
such as when the first ON time program is compared, the sen-
sor control output responds with the sensor memory address
M0 and Ml (the first ON program and the first OFF program),
the time/sensor control output is actuated by the flip-flop.
Upon the third time (the 2nd ON time) comparison, the sensor
control output will respond as above with M0 replaced by M2
and Ml replaced by M3, the 5th time (3rd ON time3 comparison,
the sensor control output will respond with M4 and M5 and so
on~ This sequencing mode continues with each pair of time
program values specifying an ON and OFF time for each of
sensor program values.
An example for the time/sensor control output pro-
gram sequences as used for a timer/temperature controller
application is as follows:
Assuming the device is connected to the heating sys-
tem for the building and the following programming sequences
are required to operate the heating system in the building:
1. From 7:50 hours to 17:00 hours, the heating
system to be turned ON when the ambient tem-
perature within the building drops to 20C
and to turn OFF the hea~inq Sy~tem when the
57~i5
temperature reaches 23C.
2. From 17:01 hours to 7:58 next morning~ the
heating system to be operated between the
temperature range of 17~C to 19C.
3. The above program sequences operate every
day from Monday through Friday. On Satur-
day and Sunday the heating system will be
operated between the temperature from 17C
to 19C.
The above time/sensor program setting sequences will be as
follows:
A. Time programming is identical to the
above time program example.
1. Set error detector switch S2 to "enable"
mode.
2. Set time program switch S3 to "enter"
mode~
3. Press reset key.
~ . .
4. Program entry: ON TIME OFF TIME
1 7:59 17:00
2 17:01 7:5~
To enter this program press the following sequence of keys
on the keyboard:
END ~Mn END END
7 5 9 DATA 1 7 0 0 ~A 1 7 0 1 DATA 7 5 8 DATA
- 36
PROGRAM SEQUENCE KEYSTROKE DISPLAY MEMORY
RESET BLANKADDRESS = 0
7 : 7 "
:75 "
9 7:59 ~
1st ON timeEND DATA BLANK. ADDRESS = l(M0=
7:59
: 1
7 :17 "
0 1:70 "
0 17:00 "
1st OFF timeEND DATA BLANKADDRESS 2(Ml=
17~00)
: 1
7 :17 1-
0 1:70 "
1 -17:01
2nd ON timeEND DATA BLANKADDRESS = 3(M2=
17:01)
"
8 7:58 "
2nd OFF timeEND DATA BLANKADDRESS = 4(M3=
7:58)
5. PROGRAM CHECK END DATA 7 59ADDRESS = O
END DATA 17:00ADDRESS = 1
END DATA 17:01ADDRESS = 2
.
s
-- 37
END DATA 7: 58 ADDRESS = 3
END DP~TA BLANK ADDRESS -- 4
6. PROGRAM CORRECT: is similar to the above example.
7. Set time program switch S3 from "enter" to "run" mode.
8. Set time/sensor selector switch Sl to time/sensor mode.
B. Temperature Programming:
1. set sensor program switch S4 ~o "enter" mode.
2. press reset key.
3. program entry: ON TEMP. OFF TEMP.
1 20C 23C
2 17C 19C
To enter this program press the following sequence of keys
on the keyboard:
FJND END END E ~,
2 0 DATA 2 3 DATA 1 7 DATA 1 9 vAlA
4. Program check as example above
5. Program correct as example
6. Set sensor program switch S4 from "enter" to
"run" mode .
7. Set heat/air switch S5 to heat mode
8. Select days on which the program is to operate
with the day selector switches 20, Saturday and
Sunday OFF
PROGRAM SEQUENCE KEYSTROKE DISPLAY MEMORY
RESET BLANK ADDRESS = 0
2 2 "
s~
38
0 20 ADDRESS = 0
1st ON temp END DATABLANK ADDRESS = l(M0=20)
2 2 "
3 23 "
1st OFF temp END DATABLANK ADDRESS = 2(Ml=23)
1 1 "
7 17 "
2nd ON temp END DATABLANK ADDRESS = 3(M2=17)
9 19 "
2nd OFF temp END DATABLANK ADDRESS = 4(M3=19)
PROGR~M CHECK END DATA20 ADDRESS = O
END DATA23 ADDRESS = 1
END DATA17 ADDRESS = 2
END DATA19 ADDRESS = 3
END DATABLANK ADDRESS = 4(M4=empty
In operation, assuming ON Monday morning at 7:59
hours, the time comparator 15 is compared and is equal to the
memory contents in the time program memory address M~, and the
day selector switches 20 match the current day, the time com-
parator logic output 27, 51 goes high (1), and assuming at
this time that the ambient temperature in the building is ~e-
low 20C or equal to 20~C. The sensor comparator output 52
goes high (1), therefore 53, 75 also goes high (1). This
~, ,
~llZ~5~
- 39
turns ON the heating system which is connected to the time/
sensor switch control device 5B, and the sensor memory address
is incremented to Ml location (the first OFF temp.) xeady for
the OFF temperature comparison. When the ambient temperature
reaches to 23C the sensor comparator output 52 is switched
to low (0), a logical (0) appearing on the input of the AND
gate 58. Therefore 53 and 75 goes low (0) and turn the heat-
ing system OFF, and the sensor memory address is again incre-
mented to M0 and ready for the next comparison. If the tem-
perature in the building drops down to 20C, the sensor com-
parator output 52 is switched and also goes high (1), and
the AND gate output 53 and 75 also goes high (1) to turn ON
the heating system again. The operation of the sensor com-
parator logic 12 is repeated when the ambient temperature
drops to 20C.
At 17:00 hours when the actual time is equal to
the first OFF time memory contents in the time memory address
M1, the time comparator logic 15 is switched. There~ore 27
goes low (0), a logic (0) appears on the AND gate 61 input
thus causing its ou-tput 51 to go low (0). At this time both
OR gate 56 inputs are at logic (0), its output 57 is low (0)
and there~ore 53, 75 are also low (0), and turn OFF the heat-
ing system. At the same time upon the time comparison, ~he
time memory address is incremented to l~2 and the 2nd ON tjme
~L5~
- 40
program is ready for comparison. The sensor memory address
counter is incremented in steps to the next two memory addres-
ses and the sensor control output 52 will respond as above
mentioned with M2, M3 (sensor memory address M0 replaced by
M2, and Ml is replaced by M3).
At 17:01 hours, the actual time compared and equal
to the 2nd ON time programmed data in M2, the time memory
address is incremented to M3 memory address for the 2nd OFF
time comparison, and the time comparator output 27 is switch-
ed and goes high (1) upon comparison, and 51, 57 are also
high (1). When the ambient -tempera-ture in the building drops
to 17C, the sensor comparator output 52 is switched to high
(1), therefore 53, 75 also go high (1) and this turns ON the
heating system. When the temperature in -the building reaches
19C the heating system is turned OFF. The heating system is
turned ON and turned OFF at a temperature between 17C and 19C
until 7:58 hours. The next morning the output of the time
comparator 27 is switched and equal to logic (0) and 51, 53
also goes low to turn OFF the heating system. At this time
both ~he sensor address memory, and the time address memory
reach the empty memory address M4, therefore both memory
address counters are reset to address 0, and the program will
start from the beginning again.
~ t 7.~9 hollrs0 the operation of the time program
5~
- 41
and the sensor program is repeated as the above, and runs
continuously from Monday -to Friday.
On Saturday and Sunday, the day selector switches
20 are set to OFF positions and the day does not ma-tch the
switches. Therefore, the day "enable" logic 22 is "disabled"
and its output 35 goes low (0). This "disables" the time
comparator output 51 because a low (0) day disable 35 appears
on the input 27 of the AND gate 61. Therefore, the output of
AND gate 61 and 51 is at logic (0) and is so regardless of
what state the time comparator output 27 is in. The other
day disable pulse from 35 is applied to the input of an
inverter 55. This causes the inverter output 5~ to go high
tl). Therefore, 57 also goes high regardless of the time
comparison. The other path from 5~ is applied to the sensor
memory control logic 10 and this causes the sensor memory
address counter within the sensor memory control logic 10
to stop the incrementing steps, and therefore the memory
address will remain on the previous address as example above
and the sensor comparator output 52 will respond at M0 and
Ml. This sequence continues to operate the heating system
connected to switch control device 5B output 95 and to turn
ON and turn OFF the heating system between 17C and 19C until
7:59 hours Monday morning at whic time the time comparison
and the day of the week match the day s~:l.ect:or switches 2 n
- 42
and the operation of the time/sensor controller will be re-
peated as above.
The above example of the timer/temperature control-
ler application can be used to operate cooling system such as
an air~onditioner system for the building during the summer
months, simply by connecting the air~onditioner system to the
switch control device 5B output 96, and by setting the heat/
air switch S5 from heat mode (95) to air mode (96). The ope-
ration of the device is very similar to the above example
mentioned, except that the ON/OFF sequences will be reversed.
As an example of,the programmed sequences above mentioned,
the airconditioner system will turn ON when the ambient tem-
perature reaches 23C and turn OFF when the tempera-ture drops
to 20C from 7:59 to 17:00 hours and will turn ON the ai~kon-
ditioner system at 19C and turn OFF at 17C from 17:01 to
7:58 hours. This sequences continues operating from Monday
through Friday and on Saturday and Sunday the air,conditioner
systPm will be operating between 19C and 17C. However, the
device should be programmed to suit the application.
Since various modifications can be made in m~ inven-
tion as hereinabove described, and many apparently widely dif-
ferent embodiments of same made within the spirit and scope of
the claims without departing from such spirit and scope , it is
in~ended that all matter con-tained ir~ e accomparl.yi,ng speci-
lr37
- 43
fication shall be in-terpreted as illustrative only and not
in a limiting sense.