U.S. patent application number 13/911951 was filed with the patent office on 2013-10-17 for satellite irrigation controller.
The applicant listed for this patent is The Toro Company. Invention is credited to Scott Curren.
Application Number | 20130274932 13/911951 |
Document ID | / |
Family ID | 34922035 |
Filed Date | 2013-10-17 |
United States Patent
Application |
20130274932 |
Kind Code |
A1 |
Curren; Scott |
October 17, 2013 |
Satellite Irrigation Controller
Abstract
In one embodiment, the present invention provides a satellite
irrigation controller that allows a user to insert a input/output
card into any position in any sequence and be recognized as an
input card or an output card. When the correct card type is
determined, the card is service according to its specified
functionality. In another embodiment, the satellite irrigation
controller includes firmware which allows a user to program a range
of stations at one time. In yet another embodiment, the satellite
irrigation controller provides three user input programs that
reduce the amount of input data needed to program the irrigation
cycle of an irrigation station.
Inventors: |
Curren; Scott; (Riverside,
CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
The Toro Company |
Bloomington |
MN |
US |
|
|
Family ID: |
34922035 |
Appl. No.: |
13/911951 |
Filed: |
June 6, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13082992 |
Apr 8, 2011 |
|
|
|
13911951 |
|
|
|
|
12025420 |
Feb 4, 2008 |
|
|
|
13082992 |
|
|
|
|
11056830 |
Feb 10, 2005 |
7328089 |
|
|
12025420 |
|
|
|
|
60543504 |
Feb 11, 2004 |
|
|
|
Current U.S.
Class: |
700/284 |
Current CPC
Class: |
Y10T 137/1866 20150401;
G05D 7/0617 20130101; A01G 25/16 20130101 |
Class at
Publication: |
700/284 |
International
Class: |
G05D 7/06 20060101
G05D007/06 |
Claims
1. A method of detecting an I/O device of an irrigation controller
comprising: providing said irrigation controller comprising a
circuit board, a CPU connected to said circuit board, a memory
connected to said circuit board and a plurality of communications
ports connected to said circuit board; accepting a communicative
connection between a first I/O device and a first communications
port of said plurality of communications ports; detecting said
first I/O device with said CPU; accepting a non-sequential
communicative connection between a second I/O device and a second
communications port of said plurality of communications ports; said
second communications port being non-sequentially positioned
relative to said first communications port; and, detecting said
second I/O device with said CPU.
2. The method of claim 1, wherein said first I/O device and said
second I/O device are each selected from a group of an input device
and an output device.
3. The method of claim 2, wherein said first I/O device and said
second I/O device are each selected from a group of an irrigation
station control card and a sensor card.
4. The method of claim 1, wherein said first communications port
and said second communications port are located in non-adjacent
positions within said irrigation controller.
5. The method of claim 1, further comprising transmitting at least
one of a first protocol and a second protocol from said CPU to said
I/O device and determining a type of said I/O device based on a
response from said transmitting of at least one of said first
protocol and said second protocol.
6. The method of claim 1, wherein said accepting said communicative
connection between said a first I/O device and said a first
communications port of said plurality of communications ports
further comprises placing said first I/O device within an interior
compartment of said irrigation controller.
7. An irrigation controller comprising: a controller housing; a
circuit board disposed in said controller housing; said circuit
board having a CPU and a memory; said CPU configured to execute an
irrigation program; and; a plurality of device connections on said
circuit board in communication with said CPU; wherein each of said
connections is interchangeably connectable to any one of a
plurality of I/O devices; and wherein each of said plurality of I/O
devices can be coupled to any of said connections in a
nonsequential order.
8. The irrigation controller of claim 7, wherein said connections
are ports.
9. The irrigation controller of claim 8, wherein said I/O devices
are removably secured within said irrigation controller.
10. The irrigation controller of claim 9, wherein said I/O devices
are each selected from a group of an input device and an output
device.
11. The irrigation controller of claim 10, wherein said input
device includes a sensor device.
12. The irrigation controller of claim 10, wherein said output
device includes an irrigation station device.
13. The irrigation controller of claim 10, further comprising at
least four device positions; wherein said first I/O device can be
coupled to any of said connections and wherein said second I/O
device can be coupled to any of said connections.
14. The irrigation controller of claim 13, wherein said first I/O
device and said second I/O device are coupled to device positions
in non-adjacent locations.
15. A method of detecting a selectively removable I/O component of
an irrigation controller comprising: providing an irrigation
controller having a plurality of spaces to each accommodate said
I/O component; selecting a first I/O component from a plurality of
interchangeable I/O components; connecting said first I/O component
to a first port in a first space; selecting a second I/O component
from said plurality of interchangeable I/O components; successively
connecting said second I/O component to a second port in a second
space; said second space located in a nonadjacent position relative
to said first I/O component; communicating with said first I/O
component and said second I/O component with a CPU; wherein said
CPU detects the presence of said first I/O component and said
second I/O component.
16. The method of claim 15, wherein said second space is
nonsequentially positioned relative to said first space.
17. The method of claim 15, wherein said plurality of
interchangeable I/O components are input component or output
component.
18. The method of claim 17, wherein said input component is a
sensor card and wherein said output component is an irrigation
station card.
19. The method of claim 18, wherein said CPU executes a first
protocol and a second protocol for detecting said first I/O
component and said second I/O component.
Description
RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent
application Ser. No. 13/082,992 filed Apr. 8, 2011 entitled
Satellite Irrigation Controller, which is a continuation of U.S.
patent application Ser. No. 12/025,420 filed Feb. 4, 2008 entitled
Satellite Irrigation Controller (now abandoned), which is a
continuation of U.S. patent application Ser. No. 11/056,830 filed
Feb. 10, 2005 entitled Satellite Irrigation Controller (now U.S.
Pat. No. 7,328,089 issued Feb. 5, 2008), which claims priority to
U.S. Provisional Application Ser. No. 60/543,504, filed Feb. 11,
2004 entitled Satellite Irrigation Controller; all of which are
hereby incorporated by reference herein in their entireties.
FIELD OF INVENTION
[0002] This invention relates to an irrigation controller for
controlling the operation of an irrigation system pursuant to a
watering schedule that may be programmed by the user. More
particularly, this invention relates to an irrigation controller
for controlling multiple irrigation stations.
BACKGROUND OF THE INVENTION
[0003] Irrigation systems are commonly used to compensate for
inadequate rainfall by artificially watering turf or other
landscape. In their most basic form, irrigation systems comprise
water supply lines that direct water to a group of sprinklers. Each
sprinkler is placed at varying positions around the landscape,
preferably maximizing the area on which water is disbursed.
[0004] Control of each sprinkler is typically left to valves
coupled to the water supply lines, preventing or allowing water to
flow to each of the sprinkler heads. In some residential and
commercial irrigation systems, electrically controlled solenoid
valves are operatively connected to a central irrigation
controller. These irrigation controllers include a microprocessor
with an input interface (such as a dial and buttons) where a user
can program a desired watering schedule. When the watering schedule
calls for irrigation of at least a portion of the landscape, the
irrigation controller causes one or more solenoid valves to open so
that water flows to their respective sprinklers. When the schedule
calls for an end to the irrigation, the irrigation controller
causes the solenoid valves to close, stopping the water flow to the
sprinklers.
[0005] Large commercial irrigation systems, such as those used for
golf courses, generally operate in a similar manner to the previous
description. However, the complexity of managing larger irrigation
systems increases as the number of sprinklers and the area they
irrigate increases. For example, different locations may require
dramatically different amounts of water, due to installation of new
grass, valleys that collect water, variation in soil composition,
or even different grass types. Consequently, additional hardware
and software are used for more precise control over the system,
increased system reliability, irrigation performance, ease of
maintenance, and many other benefits.
[0006] In one popular irrigation system arrangement, a central
controller is provided which communicates with multiple satellite
controllers. Each satellite controller then communicates with
solenoid valves either upstream of a group of sprinklers or built
into each sprinkler's body for individual sprinkler control. In
some systems, users connect the power wires of multiple solenoid
valves to one irrigation station terminal on the satellite
controller to save wire and conserve irrigation stations. In any of
these arrangement, the satellite controller dictates which solenoid
valves should be activated for distributing water. Examples of such
a prior art irrigation system are disclosed in U.S. Pat. Nos.
4,101,786 and 4,244,022, each of which are incorporated herein by
reference in its entirety.
[0007] The user operates the irrigation system by programming an
irrigation schedule into the central controller which provides a
timetable and possibly a set of sensor conditions that must be met
for irrigation to occur. This schedule is then communicated to each
satellite controller which implements the program for the groups of
solenoid valves ultimately connected to it.
[0008] Preferably, satellite controllers have a wide range of
functionality to allow the user flexibility in how the satellite
controller is implemented in the irrigation system. Specifically,
the satellite controllers typically have a user interface which
allows the user to modify the irrigation schedule for the
sprinklers connected to that specific satellite controller and
possibly the schedules of other controllers as well. Thus, if the
user observes a problem, such as a dry area that requires more
water, the irrigation schedule for the problem area can be
conveniently modified at the nearby satellite controller, instead
of the distant central controller. However, modifying programs for
many irrigation stations (i.e. solenoid valves) can be time
consuming with the limited user input controls of the satellite
controller and the many schedule-programming options available for
each station.
[0009] Another functionality typically included in satellite
controllers is multiple expansion slots for inserting additional
station cards. As their name suggests, the station cards provide
additional terminals to connect additional solenoid valves, thus
expanding the number of sprinklers controlled by the satellite
controller. While allowing for convenient station upgrades, prior
art satellite controllers require that additional station cards be
inserted in ascending slot order (e.g., if slot 1 is filled, an
expansion card must be inserted into slot 2). Further, these slots
lack the flexibility to alternately accept sensor cards (e.g., a
card that connects to a soil moisture sensor).
[0010] As a result, there is a long felt need for an improved
satellite controller that overcomes the previously described
limitations, as well as other limitations not specifically
mentioned.
OBJECTS AND SUMMARY OF THE INVENTION
[0011] It is an object of the present invention to overcome the
limitations of the prior art.
[0012] It is a further object of the present invention to provide
an improved satellite irrigation controller.
[0013] It is another object of the present invention to provide a
satellite irrigation controller with universal input/output slots
which can accept either a station card or a sensor card.
[0014] It is another object of the present invention to provide a
satellite irrigation controller that can accept additional station
or sensor cards inserted in a non-sequential slot order.
[0015] It is another object of the present invention to provide a
satellite irrigation controller that allows for quicker
modification of multiple irrigation station parameters.
[0016] It is another object of the present invention to provide a
satellite irrigation controller with simplified schedule program
functionality.
[0017] The present invention attempts to achieve these objects, in
one embodiment, by providing a satellite irrigation controller that
allows a user to insert a station output card or sensor input card
into any slot in any sequence. The satellite controller
interrogates a newly inserted card to obtain card identification
data which it matches against a list of known cards. When the
correct card type is found, the card is serviced according to its
specified functionality.
[0018] In another embodiment, the satellite irrigation controller
includes firmware which allows a user to program a range of
stations at one time. This feature greatly reduces the time
necessary to program the irrigation schedule for multiple
irrigation stations.
[0019] In yet another embodiment, the satellite irrigation
controller provides three user input program types that reduce the
amount of input data needed to program the irrigation cycle of an
irrigation station. By reducing the amount of data the user is
required to input, the time to program the irrigation schedule is
further reduced.
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] FIG. 1 illustrates a perspective view of a satellite
irrigation controller according to the present invention;
[0021] FIG. 2 illustrates a side view of the satellite irrigation
controller of FIG. 1;
[0022] FIGS. 3A-3C illustrate sections of a block chart of the
functionality of a satellite irrigation controller;
[0023] FIG. 4 illustrates a top view of an irrigation station card
according to the present invention;
[0024] FIG. 5 illustrates a top view of an user input panel
according to the present invention;
[0025] FIG. 6A illustrates a top view of a main electronics board
according to the present invention;
[0026] FIG. 6B illustrates a top view of a power distribution board
according to the present invention;
[0027] FIGS. 7A and 7B illustrate irrigation station ranges
according to the present invention; and
[0028] FIGS. 8A-10E illustrate an input display showing various
example program settings according to the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0029] In one preferred embodiment of the present invention, a
satellite irrigation controller 100 is presented according to the
present invention. As seen best in FIGS. 1 and 2, the satellite
irrigation controller 100 includes a weather resistant outer case
112 which contains a main board 104, a power distribution board
103, a user interface 102, a power supply 110, and input/output
station cards 108 (i.e. input sensor cards or output irrigation
station cards).
[0030] As best seen in the simplified illustration of FIG. 6A, the
main board 104 in its most basic form includes a CPU 140, memory
142, interface port 146 and power communication port 147. The
interface port 146 couples to the user interface 102 which allows
the user to interact with irrigation programs stored in memory 142
and run with CPU 140. The main board 104 sends I/O card
communication data to communications port 147, through cable 116
and on to a power distribution board 103, seen best in FIGS. 1, 2,
and 6B.
[0031] The power distribution board 103 is responsible for
distributing the communications signals from the main board 104 to
the I/O cards 108. The distribution board 103 couples to cable 116
at ports 149 and distributes signals to and from the I/O cards 108
connected by ribbon cables 106 to ports 144. Since each port 144
includes a specified address, the main board 104 can address I/O
cards 108 on any of the ports 144. However, these addressing and
communications protocols will be further discussed in this
application.
[0032] The I/O cards 108 receive commands from the main board 104
that direct the cards 108 to act in a specified way. Since the I/O
cards 108 may be coupled to irrigation stations, sensors and other
similar irrigation equipment, the main board 104 may send a variety
of different commands for many different types of I/O cards 108.
For example, an I/O card 108 may be directed to turn on an
irrigation station, turn off an irrigation station, or obtain a
sensor reading.
[0033] The satellite controller 100 of the present invention
includes three distinct modes of operation. The first mode is a
"local mode" where the satellite will not attempt to communicate
with a central controller and will, instead, run irrigation
programs stored in its own memory 142.
[0034] The second mode is a "central" or remotely controlled mode,
in which the satellite controller 100 monitors communications over
a modem or network for instructions from the central controller. If
no such commands from the central controller are present, the
satellite controller 100 functions as if set to a local mode,
thereby running irrigation programs stored in its own memory 142 or
entered from the user interface.
[0035] The last mode is an "off" mode which does not water from
programs in memory or take instructions from the central
controller.
[0036] FIGS. 3A-3C illustrate sections of a block diagram overview
of the basic functionality of the satellite irrigation controller
100. More specifically, FIGS. 3A-3C provide an overview of power
connections to different functional units of the satellite
controller 100, such as a modem 160, the power distribution board
103 and I/O cards 108, as well as a basic overview of the
communications paths between these functional units within the
controller 100. For example, AC power is fed to the satellite
controller 100 at AC power in 150 which converts it to 24 VAC, then
directs the 24 VAC power to the I/O cards 108. In another example,
a first UART 154 (Universal Asynchronous Transmitter-Receiver)
communicates with a modem 160, while a second UART 156 communicates
with a portable device 158 such as a PDA or Notebook PC.
[0037] In a basic sense, the user operates the satellite controller
100 by modifying values in an irrigation scheduling program in the
memory 142 of the main board 104. The irrigation scheduling program
communicates with the I/O boards 108, through the power
distribution board 103, to enact the specified schedule by taking
sensor readings, activating an irrigation station, or deactivating
an irrigation station. The end result is the fruition of a user
specified irrigation schedule.
[0038] In one example where the satellite controller 100 is in a
local mode, a user may wish to have an irrigation station water its
surrounding turf between 3:00 and 5:00 if a water flow sensor
detects water pressure within a desired range. The user enters the
desired time range and water pressure values for a specified
irrigation station into the irrigation program in memory by way of
the user interface 102. Once the user is finished entering the
data, the CPU 140 and memory 142 run the irrigation program which
waits for the specified time (3:00) to first check that the water
pressure sensor value falls within the user specified range, then
communicates a signal to the I/O card 108 of the specified
irrigation station to begin watering the surrounding turf. Once the
time range has ended (5:00), the irrigation program causes a
communication signal to again be sent to the I/O card for the
specified irrigation station, directing the station to stop
irrigation.
[0039] Universal Card Positions
[0040] As previously described, prior art satellite controllers
have required different slots or connection positions for different
types of cards. For example, output station cards were required to
be positioned and connected to the main board only at certain ports
while input sensor cards must be positioned and connected to the
main board only at other ports. Additionally, cards were required
to be added to sequential ports (e.g. position 1, then position 2,
then position 3).
[0041] The present invention eliminates these limitations by
providing universal card positions which recognize different types
of input/output cards 108 at any card connection ports (i.e. cards
added to sequential ports or non-sequential ports). In this
respect, the process of adding further input/output cards 108 is
simplified and the possibility of improper configuration is greatly
reduced.
[0042] As seen in FIGS. 1, 2, and 6B, the satellite irrigation
controller 100 of a preferred embodiment includes eight card
positions (four on the visible side of FIGS. 1 and 2 and four more
on the hidden opposing side) including corresponding I/O connection
ports 144 on the power distribution board 103 to accommodate the
input/output cards 108. Each I/O card 108 is physically secured to
an inner framework inside the outer case 112 and connected to one
of the I/O ports 144 on the power distribution board 103 by ribbon
cable 106.
[0043] A typical I/O card 108 can be seen in FIG. 4 to include a
data port 107 and an adapter port 120. The data port 107 sends and
receives data to and from the power distribution board 103, while
the adapter port 120 connects to an adapter card, such as a station
adapter card 115, as seen in FIGS. 1 and 2. The station adapter
card 115 provides a set of terminals 114 where additional
irrigation stations can be connected. Other adapter cards may
provide sensor terminals or other connections, depending on the
functionality of the I/O card 108.
[0044] Returning to the power distribution board 103, multiple
interface protocols are simultaneously used to recognize the
presence of different types of I/O cards 108 connected to the I/O
ports 144. Each type of I/O card 108 responds to a different
protocol, allowing the main board 104 to match up this response to
a list of different types of I/O cards 108. Once the type of I/O
card 108 is determined, the I/O card 108 can be further
interrogated and controlled based on its known functionality. In
this respect, the type of I/O card 108 is recognized and thereby
controlled by the main board 104.
[0045] For example, two independent interface protocols may be
simultaneously used with a 12-pin embodiment of the I/O port 144 to
distinguish between an I/O card 108 for irrigation stations or an
I/O card 108 for sensors: a shift register protocol and an I.sup.2C
protocol, the general operation of which is known to those of
ordinary skill in the art. Although both protocols attempt to
initiate contact with the I/O card 108 at the same time or possibly
near in time, only one protocol will be able to communicate with
the card since input cards utilize different protocols than output
cards.
[0046] Specifically, in one preferred embodiment, the shift
register protocol is used with station output cards (such as an
8-station irrigation output card) while the I.sup.2C protocol is
used with all other input cards. In this respect, when a station
output card is connected to the communications port 144 of the
power distribution board 103, the main board 104 senses a return
data signal from the shift register and thereby recognizes this
card as a station output card. On the other hand, when a sensor
input card is connected to the communications port 144, the main
board 104 senses a return I.sup.2C signal and thereby recognizes
this station card as in input card.
[0047] Once the main board 104 determines if the connected card is
an input card or an output card, it can further interrogate the
protocol for additional information about the card. Specifically,
each card type has a different address that can be compared to a
predetermined list of addresses in the memory of the main board
104, allowing the main board 104 to service that card according to
the address stored in the memory.
[0048] For example, the communications port on a sensor input card
using the I.sup.2C protocol can be interrogated by the main board
104 through the I.sup.2C protocol to determine what kind of sensor
card the input card is (e.g., a rain sensor card, flow sensor card,
soil moisture sensor card, etc.). At this point, the main board 104
obtains specified data from the sensor card (e.g., the cards
address) and utilizes it as specified by the information stored in
the main board 104 for that address.
[0049] The shift register protocol as used herein operates in a
manner generally similar to a conventional shift register so as to
move a serially ordered data set into a discrete number of storage
locations (i.e., moving data from the main board 104 into the
memory of the I/O card 108). This is accomplished by making use of
5 signals on 5 of the different pins of the I/O port 144: CLK, SDI,
SDO, ENABLE, and LATCH.
[0050] The data from the main board 104 is clocked in to the I/O
card 108 using the SDI and CLK signals, as in a conventional shift
register protocol. Specifically, the SDI signal contains the
irrigation station data and the CLK signal contains a clock signal.
The two signals are sent together so that the each bit of data in
the SDI signal has a counterpart clock signal. The data (e.g. if
each irrigation station should be turned on or off) is shifted into
a shift register structure with 8 "slots" or data positions. As
each new bit of data enters the shift register, the oldest bit of
data in the register is shifted out and sent on the SDO line back
to the main board 104. In this respect, the main board 104 sends
new irrigation station data to an I/O card position, and then
listens for a response. If a response is sent back, the main board
104 determines that the communication port 144 is connected to a
properly operating I/O card 108, and more specifically an
irrigation station output card.
[0051] The two remaining signals of this protocol are used to
actuate on/off commands for each irrigation station of the I/O card
108. When the LATCH signal is received by the I/O card 108 from the
main board 104, it causes the I/O card 108 to update switches for
each irrigation station from the shift register that determine if
each station is on or off.
[0052] When the ENABLE signal is being sent, the I/O card 108
enables each of the irrigation stations to function according to
how each of their switches are set. For example, if the switch for
station 1 is set to on, and the switch for station 2 is off, the
ENABLE signal causes the I/O card 108 to send an activating
electrical signal to irrigation station 1 to cause irrigation,
while no such signal is caused for irrigation station 2. However,
if the ENABLE signal is not sent to the I/O card 108, all
irrigation stations will be prevented from operating. Thus, the
ENABLE signal is the "green light" that gives the I/O card 108 the
final approval before causing activation of specified irrigation
stations.
[0053] In summary, the main board 104 detects the presence of an
irrigation station output card connected to a communications port
144 by sending clocked data on the SDI line or pin. If an
irrigation station output card is present, this clocked data will
be shifted into memory and the old data in the memory shift
register is sent back to the main board 104 on the SDO line. Thus,
the main board 104 sends data and gets a recognized response which
confirms that an output card is connected to the specific
communications port 144.
[0054] The I.sup.2C protocol uses the SCLK, SDAT and SDI signals to
interrogate and communicate with input sensor cards connected to
the ports 144. This is performed near in time to the previously
described shift register protocol.
[0055] Initially, the SDI signal is used to attempt to assign
addresses to each card slot or communications port 144. The SDI
signal is asserted for only one particular port 144 at a time. If a
sensor card is present in that port 144, the sensor card sends a
response signal back to the main board on the SDAT line (for the
data) and SCLK line (for clocking the data). The main board 104
therefore recognizes that a sensor input card is connected to
communications port 144 if a response is received on the SDAT and
SCLK lines and assigns a unique communications address to that I/O
card 108 via the SDAT and SCLCK lines.
[0056] Once the input sensor card 108 is recognized by the main
board 104 and has a unique address, further communications between
the two can occur. Specifically, the main board 104 sends data with
the I.sup.2C protocol by including the unique communications
address of a particular I/O card 108 in the data messages. The data
is transmitted to all communications ports 144 over the SCLK and
SDAT lines, however, only the I/O card 108 with the proper address
will accept this data (e.g., sensor reading requests or sensor
data). In this way, the main board 104 sends and receives data from
an addressed I/O board 108.
[0057] It should be noted that in this example, all 8 I/O ports 144
allow for an I/O card 104 to be plugged into any I/O port 144 in
any sequence and be properly recognized and serviced. Thus, I/O
cards 104 are not required to be inserted sequentially (a first
card in port 1, a second card in port 2, etc.).
[0058] In this respect, the satellite controller 100 of the
previous example determines what type of I/O card 108 is connected
to any of the I/O ports 144. These features of the preferred
embodiment of the present invention further reduce the chances of
misconfiguring the satellite controller 100 and therefore are
likely to produce a more stable and reliable satellite controller
100.
[0059] Station Ranges
[0060] In another preferred embodiment of the present invention,
the satellite controller 100 includes irrigation schedule
programming software which allows the user to program a particular
attribute for a range of irrigation stations. Prior art satellite
controllers 100 required a user to input a specific attribute
individually for each irrigation station, often calling for
considerable time and concentration by the user to fully program
the satellite. The station range feature of the present invention
eliminates repetitive programming of stations, saving the user time
and energy.
[0061] In one preferred embodiment of the present invention, the
satellite controller 100 includes a software algorithm which
continuously sorts all consecutive irrigation stations into ranges
and displaying these ranges on the user interface. Specifically,
the algorithm searches for two or more consecutive irrigation
stations that have the same run times and assigns those irrigation
stations a unique range ID. Normally, the irrigation program
information is stored in nonvolatile memory, such as EEPROM.
However, a copy of this program data is copied into the volatile
RAM of memory 142 to allow the algorithm to quickly access and
modify this data. In this respect, the range algorithm constantly
monitors the irrigation program data, or at least constantly
monitors this data when the user sets the satellite controller to
an irrigation programming mode, and automatically creates ranges of
irrigation station.
[0062] This range algorithm allows a user to initially create a
range by assigning consecutive irrigation stations the same
runtime. The algorithm then recognizes these similar runtimes and
assigns each of them the same unique range ID. At this point, the
user may adjust the irrigation time for all units in the range at
once. Since large irrigation areas such as golf courses typically
have large regions with the same turf type, it is desired for many
of the sprinklers to have the same irrigation time. Station ranges,
therefore, can save potentially large amounts of time that would
otherwise have been spent programming multiple irrigation
stations.
[0063] For example, a user may wish to group irrigation stations
1-6 into a range for future irrigation schedule programming use.
The user enters the irrigation schedule programming mode with the
user interface 102 and adjusts the runtime for stations 1-6 to 15
minutes. The range algorithm, which is continually monitoring the
runtime values of the irrigation stations, recognize that the
consecutive irrigations stations 1 through 6 have the same runtimes
of 15 minutes. The range algorithm then assigns irrigation stations
1 through 6 a unique range ID, Range A.
[0064] Once irrigation stations 1 through 6 have been assigned to
Range A, the irrigation schedule programming mode displays Range A
similarly to an irrigation station, so that the user can modify the
irrigation runtime for all of the irrigation stations in that
range. By modifying the runtime of Range A, the runtime for
irrigation stations 1 through 6 are similarly modified, thus
reducing the time the user would have spent to modify the variables
for each irrigation station separately.
[0065] However, if a user wishes to modify the runtime of a single
station within a range, that entire range is not destroyed.
Instead, the range is separated into two distinct ranges.
Specifically, since the range algorithm is constantly monitoring
the runtime values for all of the irrigation stations, including
stations that currently belong to ranges, the algorithm becomes
aware of a change in the runtime of an irrigation station within a
range and reassigns new range ID's based on consecutive irrigation
stations with the same runtimes. In other words, by altering the
runtime of an irrigation station in a range, the range algorithm
"looks again" to find any remaining ranges that could be created
from the modified irrigation schedule.
[0066] FIG. 7B illustrates the example data of FIG. 7A where the
Run Time of Irrigation Station 3 has been modified from 15 minutes
to 10 minutes. Next, the range algorithm becomes aware of the
change in runtime for station 3 and reassigns range ID's. Since
consecutive stations 1 and 2 have the same runtimes, the algorithm
assigns them the range ID of Range A. Likewise, since consecutive
stations 4 through 6 have the same runtimes, the algorithm assigns
them the range ID of Range B. In this respect, modifying the
runtime of an irrigation station within a range (i.e., assigned a
range ID) "interrupts" the range and thereby automatically creates
two smaller ranges.
[0067] Further to this point, a user may interrupt a range multiple
times with the range algorithm continually recreating ranges
according to its preset rules, namely assigning ranges to
consecutive irrigation stations with the same runtimes. Thus, if a
range can be created after a runtime modification, the algorithm
will assign range ID's. Thus, even as ranges decrease in size, the
satellite controller 100 will require less time for a user to
program than prior art models.
[0068] FIG. 8B illustrates how such a range is preferably
implemented within the user interface. Stations 02 through 05 each
have the same runtime and are therefore grouped together in a group
intuitively named "02-05". The user may subsequently adjust the
irrigation stations of this range as if they were a single
irrigation station, reducing the apparent complexity of an
irrigation schedule to the user.
[0069] Watering Programs
[0070] In yet another preferred embodiment of the present
invention, the irrigation schedule programming software includes
three types of irrigation programs having different predetermined
aspects to reduce the time required to program an irrigation cycle.
For simplicity, these programs will be referred to as Basic,
Grow-in, and Advanced. Preferably, the satellite controller 100
allows at least 64 different irrigation schedules, with the option
that each schedule can be set to Basic, Grow-in, and Advance,
thereby reducing programming time for each schedule.
[0071] The first program type, Basic, is the simplest program for
the user, having the least amount of variables to enter before the
program will commence. Thus, the user can quickly program a simple
irrigation schedule for a group of irrigation stations.
[0072] To maintain simplicity, the Basic program type only requires
a few input settings from the user while the other irrigation
aspects are predetermined. For example, the Basic program type only
requires the user to enter a start time, a runtime, a percentage
run time adjustment, and a number of simultaneous stations that can
run at once. Each of these settings are discussed in further detail
below.
[0073] The start time setting determines when the irrigation cycle
will begin. The user enters the desired start time into the
irrigation schedule program which ultimately allows the irrigation
program to compare the start time value against an internal clock.
When the internal clock reaches the desired start time value, the
irrigation program commences irrigation according to the
program.
[0074] The irrigation station runtime value determines the length
of time each irrigation station irrigates. The user enters a number
of minutes corresponding to an irrigation station or a range of
irrigation stations which provides the irrigation program with a
time limit to stop watering the turf around specified stations.
[0075] The percentage runtime adjustment modifies all of the
station run times by the same specified percentage. The user simply
enters a percentage value into the percentage runtime adjustment of
the irrigation program by way of the user interface. The irrigation
program multiplies the percentage by the runtime value for each
irrigation station to get each irrigation station's new
runtime.
[0076] For example, the irrigation stations may initially be set to
water for 10 minutes, but the user determines that the irrigated
turf requires more water and so enters 150% as the percentage
runtime adjustment value. The irrigation program multiplies 150% by
the runtime of the first irrigation station, which is 10 minutes,
to get the new runtime value of 15 minutes. This process is
performed for every irrigation station runtime value. Thus, each of
the irrigation station runtimes are easily increased by modifying
the percentage runtime adjustment.
[0077] The simultaneous station number represents the maximum
number of irrigation stations that can be turned on simultaneously.
Since water pressure in an irrigation piping system decreases as
more irrigation stations are turned on, each irrigation system is
able to support a different number of simultaneously watering
irrigation stations before sprinkler performance is adversely
affected. To this end, the satellite controller 100 allows the user
to limit the number of simultaneously watering sprinklers and
therefore prevent low water pressure from affecting sprinkler
performance.
[0078] The user simply inputs into the program the maximum number
of irrigation stations that can be simultaneously turned on. The
irrigation program then limits the irrigation schedule to only turn
on that maximum number of irrigation stations or possibly fewer
during an irrigation cycle. Since that maximum number will likely
be less than the total number of irrigation stations in the system,
the irrigation program will schedule groups of irrigation stations
to water in consecutive shifts until all of the irrigation stations
have watered their respective turf areas.
[0079] After receiving the previously described irrigation program
values from the user, the Basic irrigation program determines the
remaining irrigation program values needed to produce a simple
irrigation schedule. Specifically, the program determines or
assumes irrigation schedule parameters that a user would otherwise
need to input into a standard irrigation program. For example, the
Basic irrigation programs determines that the schedule will not be
repeated multiple times in one day, active watering days are
assumed to be every day, and the maximum simultaneous stations are
assumed to be used at the same time. This way, additional
parameters may be assumed by the Basic program to create a simple
irrigation schedule that requires little time for the user to
create.
[0080] For example, FIGS. 8A and 8B illustrate the contents of a
user interface display 131 in the programming mode of the Basic
irrigation program. By manipulating the dial 130 and buttons 132
and 134, the user can modify program settings to desired values in
order to create a desired program. Specifically, FIG. 8A
illustrates a first "page" of the program display with a percentage
runtime adjustment of 150%, a start time of 9:05 am and a 5-minute
runtime for station 01. Scrolling down to the second "page", FIG.
8B shows that station ranges 02-05 are set to a 10-minute runtime
while station 6 is set to a 7-minute runtime. Finally, 10
irrigation stations may operate simultaneously. With these values,
the satellite controller 100 will run the basic program which
begins to water at 9:05 am with stations 01-06 for runtimes 50%
greater than those set for each station.
[0081] The irrigation controller 100 also includes a Grow-in
program type which includes additional user programmable variables
over the Basic program type. These input variables facilitate
programming repeated irrigation cycles within a specified time
period to produce increased turf growth.
[0082] For example, the Grow-in program includes user inputs for a
percentage runtime adjustment, start time, end time, runtime, delay
between cycles, and the number of simultaneous stations that can
run at once.
[0083] The percentage runtime adjustment, start time, runtime, and
the number of simultaneous stations operate as previously discussed
in reference to the Basic irrigation program. The delay between
cycles parameter, also known as a soak time, allows the user to
enter a time value into the irrigation program with the user input
102 which the irrigation program then uses as a timed delay value
between each irrigation cycle. In this respect, the user can create
an irrigation schedule that repeats after a relatively short time
so as to provide additional water and therefore quickly grow the
surrounding turf. The program will thus keep repeating until the
end time is reached.
[0084] FIGS. 9A-9C illustrate the interface display 131 of the user
interface 102 displaying an example Grow-in irrigation program.
FIG. 9A shows the first display "page" with the percentage runtime
adjustment set to 100%, the start time set to 9:05 am, and the end
time set to 4:00 pm. Scrolling down to the second "page" of the
program displayed in the interface display 131, the number of
simultaneous stations are set to 1, station 07 is set to run for 30
minutes, and the soak time (or delay between cycles) is set to 10
minutes. Finally, the last "page" of the irrigation program shows
stations 06-10 set to a 30 minute runtime with a 10 minute soak
time. These program settings are then implemented by the irrigation
program to create an irrigation schedule that begins at 9:05 am to
begin watering on station 07 for 30 minutes, then stations 06-10
for 30 minutes, waiting 10 minutes before starting this cycle over
again. At 4:00 pm, the irrigation schedule ceases all
irrigation.
[0085] The irrigation controller 100 also includes an Advanced
irrigation program type which requires even more user programmable
variables than the Grow-in program type. The additional variables
allow more flexibility in determining an irrigation schedule, yet
still provides predetermined irrigation schedule values to reduce
the time needed to create an irrigation schedule.
[0086] For example, the Advanced program type includes user inputs
for a percentage runtime adjustment, start times, end times,
runtimes, active irrigation days, number of times schedule should
be repeated, and the number of simultaneous stations allowed to
run. The percentage runtime adjustment, start time, end time,
runtime, and the number of simultaneous stations operate as
previously discussed in reference to the Basic and grow-in
irrigation programs. The active irrigation days setting can be
similarly entered through the user input 102 to specify which days
of the week the program should run. For example, the satellite
controller 100 could be programmed to irrigate only on Monday,
Wednesday and Friday. Alternatively, the satellite controller 100
could be programmed to water every third day.
[0087] FIGS. 10A through 10F illustrate various views of the input
display 131 presenting various "pages" of display of the Advanced
irrigation program. FIGS. 10A and 10B show alternative example
program settings for the Advanced irrigation program which allow
the user to determine the Days the irrigation schedule will be run.
Specifically, FIG. 10A shows individual days for two weeks in which
the user can specify to activate the watering schedule. In this
example, the irrigation will occur on Monday, Wednesday, and
Friday. On the other hand, FIG. 10B shows numbered day intervals in
which the user can specify watering to occur, for example once
every four days.
[0088] FIGS. 10C-10E illustrate alternative values for repeating
irrigation cycles in a schedule. In FIG. 10C the Repeats are set to
continuous, which instructs the irrigation program to continuously
repeat the schedule without end on active days. FIG. 10D
illustrates the Repeats value set to autocycle which also repeats
the irrigation schedule until the maximum cycle time (set elsewhere
in the irrigation program) is reached. Finally, FIG. 10E
illustrates the Repeats value set to 02, which directs the
irrigation program to repeat the programmed schedule twice, then
cease all irrigation.
[0089] Although the invention has been described in terms of
particular embodiments and applications, one of ordinary skill in
the art, in light of this teaching, can generate additional
embodiments and modifications without departing from the spirit of
or exceeding the scope of the claimed invention. Accordingly, it is
to be understood that the drawings and descriptions herein are
proffered by way of example to facilitate comprehension of the
invention and should not be construed to limit the scope
thereof.
* * * * *