O 97/12109 PC17NZ96/00106
ELECTRONICDOOROPERATOR
BACKGROUND OF THE INVENTION
This invention relates to a remotely controllable door operator.
It is common practice to provide door operators for tilt type and roller type garage doors as well as other closures such as gates. Generally, these operators are remotely controllable such that a user can cause the closure to open and shut when the user is situated at a remote location, eg in a motor vehicle. Such operators not only allow for convenient operation of the closure but also provide security for the user as the user does not have to leave the security of his or her vehicle to operate the closure.
Known remotely controlled operators, while providing the necessary opening and closing operations, suffer from drawbacks. For example, most known operators are readily mountable in conjunction with a tilt or roller type door, however, they tend to be time consuming and fiddly to adjust in order to achieve correct operation of the door. Also, when a "power down" situation occurs, such as when there is a cut in the main power supply, most known operators need to be re-set sometimes with the assistance of a skilled technician.
For safety reasons (and to meet regulations in some countries) it is a requirement of remotely controllable door operators that the operator senses an obstruction to the door so as to either cease operation of the door or cause the door to move in the opposite direction. This "sensitivity" to an obstruction is particularly important for the safety of, say, children who may be in the vicinity of the door when it is closing and becomes caught in the closing door.
With most known remotely controlled operators of this type the operator is provided with a sensitivity function which is generally set in relation to the lowest door speed during the entire movement of the door in one or both of the opening and closing directions. This can, however, result in the sensitivity setting in, say, approaching the closed position being too high so that it is of insufficient sensitivity to detect an obstruction and thereby prevent damage or injury occurring during that part of the travel of the door. This can have dire consequences in the event of, say, a young child becoming trapped by the closing door.
To overcome this problem the sensitivity setting can be adjusted to a lower threshold but this can cause problems during normal operation of the door as the operator becomes too sensitive to slightly increased or out of the ordinary loadings such as, say, in windy conditions.
In our New Zealand patent specification 233965 there is disclosed a remotely controllable door operator which is easily and readily installed and adjusted for correct operation. The door operator is microprocessor controlled and is programmed to include an install mode which automatically results in adjustment of the controller for both span of movement and sensitivity. Even when a power down situation occurs the operator re-establishes adjustments and this is quite often carried out without the user even being aware that such adjustments are required. However, as with other known controllers, the operator simply has a single sensitivity setting for both opening and closing directions of operation.
SUMMARY OF THE INVENTION
Thus, it is an object of the present invention to provide a remotely controllable operator which provides for better sensitivity characteristics during operation in the closing or opening of a door or other closure.
According to a broad aspect of the invention there is provided a remotely controllable operator, the operator being microprocessor controlled, there being means to sense limits indicating positions corresponding to open and closed positions of the closure and thereby determine the span of
movement of the closure, there being memory means for storage of such span value whereby the microprocessor can control the duration of operation of the drive unit of the operator to move a closure coupled to the operator between open and closed positions of the closure, the operator being characterised by further having means for adjusting sensitivity to obstruction of the operator during at least part of the span of movement of the closure in one or both directions of movement of the closure between open and closed positions.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a circuit diagram of the power supply and relay drive circuitry of the operator,
Figure 2 is a circuit diagram of the microprocessor,
Figure 3 is a circuit diagram of the sensor,
Figure 4 is a circuit diagram of the inputs and outputs of the circuitry of the operator, Figure 5 is a circuit diagram of an opto input for the operator circuitry,
Figure 6 is a software flow diagram showing power on initialisation of the operator,
Figure 7 is a software flow diagram of the install operation of the operator,
Figure 8 is a software flow diagram of the reset operation of the operator after a power down,
Figure 9 is a software flow diagram of the open/closed door operation of the operator,
Figure 10 is a software flow diagram of the obstruction processing procedure of the operator, and Figure 11 is a software flow diagram of the main loop processing of the operator.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
The content of New Zealand patent specification 233965 is herein incorporated by way of specific reference.
For ease of reference the closure to be operated by the operator will be referred to as a door.
In accordance with known operators of this type-, the operator can be activated from a signal from a remote transmitter, the signal being received via a radio frequency receiver interface coupled to the Data and RSSI inputs of the microprocessor. Alternatively, the operator can be activated by a manual switch accessible to the user and located in an area which is secure when the door is in the closed position.
The power supply 10 consists of a transformer 11 to reduce the mains supply a varistor V to limit transients on the mains, a full wave rectifier 12 to rectify the supply, capacitors C14 and C6 to filter the DC supply, integrated
circuits 13 and 13" to regulate the DC supply to 12 volts DC and 5 volts DC once either supply is connected to ground.
The relay driver circuitry comprises relays RL1-RL3 coupled by plug 14 to mains supply and the motor of the operator. The relays RL3 and RL4 switch the motor in two different directions while a relay RL2 turns on a courtesy light of the unit, these relays being operated by outputs "down", "up" and "light" from the microprocessor 15. Relay RLI provides a protect function (as hereinafter described) and as actuated by Protect output from the microprocessor 15.
Information on the motor of the operator, such information including position and speed, comes from two hall effect sensors 16 and 17 which change their state from high to low when a magnetic field of a suitable strength passes through the device. Mounted on the end of the motor shaft is a magnetic wheel which has five magnetic north poles which effectively divide each turn of the motor into five segments. As each segment is of nearly equal length the exact distance is thus taken as a constant in all calculations and hence ignored.
A signal (Hall 1) from hall effect sensor 16 is passed into the timer input capture port of the microprocessor 15. This provides accurate timings for the purpose of measuring speed.
Signals (Hall 2) from other sensor 17 are applied to a
O 97/12109
standard input port of the microprocessor and are used under software control to decide if the current count should be incremented or decremented from a current position.
Outputs from the microprocessor 15 are coupled to light emitting diodes LD2-LD5. Also coupled to the microprocessor 15 is a reset generator 18 and oscillator circuit 19 which provides a 4mHz clock required for the microprocessor 15.
EEprom 20 is coupled to the microprocessor 15, this preferably being pre-programmed for one or two primary door types. It may also be externally programmed for secondary door types. For example, the primary types can be tilt/jamb garage doors and roller garage doors while a secondary type can, for example, be a hinged or sliding gate.
Finally, the microprocessor 15 iε connected to dip switch array SWl, the purpose of which will be hereinafter described.
To more fully describe the construction and operation of the operator according to the present invention and the manner in which the microprocessor 15 is programmed the mode of operation of the operator will now be described.
The position of a door controlled by the operator is held as a sixteen bit unsigned number as the current count of the
number of hall effect 16 transitions the motor has had in a particular direction. When the operator is first powered up the current position is always assigned the hexadecimal value 7FFF. As the motor rotates in one direction this number is incremented to 8000, 8001, 8002, etc and likewise when the motor reverses in direction the count decrements to 8001, 8000, 7FFF, 7FFE, 7FFD, etc.
Each time there is a hall effect 16 transition it interrupts the microprocessor. If the transition is valid the microprocessor then checks to see whether it should increment or decrement the current position count by polling1 the input of hall effect 17. If the input of hall effect 17 is high the position count is incremented otherwise it is decremented.
This position counting is carried out at all times when power is applied to the operator regardless of whether or not the motor is running. As a consequence any creeping of the door away from the closed (or open) position iε automatically detected and accounted for when the door is next opened (or closed) .
At power up end stops which define the span of the movement of the door are unknown. As the microprocessor 15 only maintains in memory the number of counts between the top and bottom positions, ie open and closed positions of the closure
it must thus go in search of an end stop and this is done by finding an obstruction. The means of determining an obstruction is hereinafter described.
Once the microprocessor 15 detects an end stop ( ie obstruction) it is a simple matter of adding or subtracting the span to find actual positions. As the motor has overrun (that is the distance the motor travelε after the power to the motor has been removed) this needs to be allowed for in the calculation of the end stops. The operator thus has a fixed overrun allowance for each stop (overrun-up and overrun-down) as each stop can be slightly differe'nt. These overrun values are held in EEprom 20 aε two eight bit unsigned numbers representing a number of counts which are set-up once at the time of manufacture.
If the microprocessor determines an end stop as the closed position then the:- actual closed position = position count - overrun-down, actual open position = position count - overrun-down- span.
If the end stop found was the open position then the: actual open position = position count + overrun-up, actual closed position = position count + overrun-up + span.
The stop which the microprocessor will go in search of depends on a position variable held in EEprom 20. This position variable is updated with the current direction of travel each time the motor passes through the mid point of its span. When the operator powers up it looks at this variable and always chooses to travel in the opposite direction than indicated, ie if the door is mostly closed the stop to search for will be the open stop. If the door is mostly open the stop to search for will be the closed stop.
The microprocessor is programmed such that if an end stop is not found within 30 seconds the door will stop and if the door is travelling in the down direction the door will reopen. This time period is known as the cycle timer and is held in the EEprom as an eight bit unsigned number representing the time in five second steps. It is set up once at the time of manufacture.
At each interrupt of the hall effect sensor 16 the current time (in 2uS steps) is recorded as an unsigned 16 bit number (tne ) and the previous time is stored (told). From these two times the instantaneous speed can be calculated: speed defined as = distance between points -÷ time taken.
As the distance between the two points is always constant the formulae becomes : speed = k x time taken.
The constant k may therefore be ignored and the speed may be simply represented by the time taken, ie Δt = tnew - told
where Δt = different in time.
Each new instantaneous speed is fed into a rotating buffer of the eight last speeds. These eight speedε are then averaged to produce a filtered speed called Ave-Speed from which all measurements are taken. As each new speed is calculated it is added to the ring buffer and the oldest speed is removed. This averaging gives the effect of filtering out noise and variations in motor speed due to erratic movement of the door.
Ave-Speed = (Δtj + Δt2 + Δt3 + Δt4 + Δt5 Δt6 + Δt7 +
Δt8) ÷ 8.
In the preferred arrangement the Ave-Speed is not calculated in the first 300mm of door movement as set-up in the EEprom at the time of manufacture. This value is an unsigned eight bit number and is set-up in number of position counts called Start-Count. The Start-Count is required to allow the motor speed to stabilise before the obstruction detection is enabled.
There are two methods of detecting an obstruction:
1. The Ave-Speed falls below a Min-Speed which is determined at the time of installation and the direction of travel;
2. The Ave-Speed falls below the Tracking-Speed (hereinafter described)
3. The Opto Beam (hereinafter described) gets interrupted.
The emitter and detector of an opto coupler arrangement (Figure 5) are coupled to connections 0PT01 and OPT02. The emitter and detector are generally located either side of the door opening and at a height about the level of the floor aε determined by the requirements of the user or regulation. The output opto of the opto coupler is connected to the opto input of microprocessor 15.
If the door was opening at the time of obstruction type 1 or 2, then the door will stop moving and the obstruction LED D2 will illuminate. If the door was closing at the time of any obstruction then once the door stops moving the door will reopen. If the door is requested to close and the opto beam is interrupted, the door will not close. When only an opto beam obstruction is detected the obstruction LED will flash.
It is determined the motor is stopped when there has been no hall effect 16 interrupt for a period set-up in the EEprom 20 at the time of manufacture. Thiε value is an eight bit unsigned number in steps of lmS called Stop-Time.
By waiting until the motor has stopped turning before reopening the door, the life of relays RL3 and RL4 is extended. The Stop-Time therefore helps to prevent relay contact welding as the inrush currents are lower and potential voltage differenceε are lower.
The operator will not reverse if the door is nearly closed. The nearly cloεed poεition is called the Snow-Stop and is held in EEprom 20 as an offset from the number (8 bit unsigned) of counts from the closed position.
With the operator installed with a door the operator must follow an installation routine in order to set up the microprocessor variables to find the best fit for the particular construction and installation of the door. Some initial minor characteristics are required by this' process and are set up in the EEprom 20 at the time of manufacture. These motor characteristics are:-
Initial-Min-Speed: This is the initial minimum speed used by the microprocessor to detect an obstruction throughout the installation process.
Min-Speed-%: This is the percentage slower for each direction of door movement from the Minimum-Speed- Measured for installation phases 3 and 4 (see below).
Rate-of-Tracking: This is the maximum rate the Tracking-Speed may vary towards the Optimum-Speed in a single hall effect 16 interrupt.
Tracking-Speed-%: This is the percentage slower the Tracking-Speed will aim to keep to from the Min-Speed- Measured in phase 4 of the installation process.
Initial-Tracking Difference: To eliminate complex mathematics from the normal running of the operator, this value is set to 200uS. This is the operators tracking sensitivity during the installation process.
The installation procedure consists of four phases as set out below. These phases occur in order once the install button SW3 has been pressed and released within one second. The four phases are as follows.
Phase 1: In thiε phase the microprocessor determines the position of the closed end stop. This is achieved by running the motor in the close direction until an obstruction is detected. The closed end stop is then calculated and stored as a sixteen bit unsigned number in a Closed-Count register.
Phase 2: In thiε phaεe the microprocessor determines the position of the open end stop. This is achieved by running the motor in the open direction until an obstruction is detected. The open end stop is then calculated and stored as a sixteen bit unsigned number in an Open-Count register.
Phase 3: This phase determines the Closed-Min-Speed by finding the minimum speed over the entire phase called the Min-Speed-Measured. The Closed-Min-Speed iε then calculated from the Min-Speed-Measured and the Min- Speed-% .
Closed-Min-Speed = Min-Speed-Measured - (Min-Speed- Measured x Min-Speed-% ÷ 100).
Phase 4: This phase determines the Open-Min-Speed by finding the minimum speed over the entire phaεe called the Min-Speed-Meaεured. The Open-Min-Speed iε then calculated from the Min-Speed-Measured and the Min- Speed-%.
Open-Min-Speed = Min-Speed-Measured - (Min-Speed- Measured x Min-Speed-% ÷ 100).
The Tracking-Diff is calculated at this stage from the Min-Speed-Measured and the Tracking-Speed-% . This is
done to reduce the necessity for complex maths routines in the normal operation of the operator.
Tracking-Diff = Min-Speed-Measured - (Min-Speed- Measured x Tracking-Speed-% ÷ 100).
After the installation phaseε have been completed the following variables are saved in EEprom 20 for future use in a normal power up of the operator.
1. Span. The difference between the open and closed count registers.
2. Closed-Min-Speed.
3. Open-Min-Speed. 4. Tracking-Diff.
During all operations of the operator including installation thereof the Tracking-Speed is constantly adjusted toward an Optimum-Speed in steps of the Tracking-Diff at each hall effect 16 interrupt to give the maximum sensitivity for the particular door. The Optimum-Speed is a speed which is leεs than the average speed by a factor of the Tracking-Diff. Accordingly, manual adjustment of the sensitivity is not required as the sensitivity is continually adjusted throughout operation of the opening and closing procedures. It may if desired operate only over a part of the overall span of the opening and/or closing of the closure.
If the Tracking-Speed falls below the Optimum-Speed then the Tracking-Diff is subtracted or else it is added. Thus aε described above an obstruction is detected if the average speed falls below the Tracking Speed.
At initial power up of the operator the reεet LED LD3 lights and the operator awaits a user operation. If the install button SW3 is momentarily pressed the operator will go into its installation mode after a three second delay. If, however, it is held pressed in for a longer than three seconds the closure will open but will εtop aε soon as the button is released.
If an external transmitter is decoded correctly or the external start switch is enabled the operator will collect its previously saved values from EEprom 20 and go in search of one of its end stops.
In its normal mode of operation the microprocessor awaits a start pulse either from the remote transmitter or the external start switch at which time it will start the operator in the opposite direction of travel from the last time it operated. The motor will remain operative until one of the following conditions occurs:
1. The current position matches the end stop position.
2. Another start pulse is detected (this will stop the door moving) .
3. An obstruction is detected.
4. There is a time out of 30 seconds.
If the door is closed at the end of its cycle the statuε LED LD4 will not be illuminated. While the door is moving, however, LED LD4 will flash.
If the install button SW3 is held pressed for a period of three seconds the operator will go into remote learn mode and the remote learn LED LD4 will light.
According to the remote learn mode of operation the operator has the capability of learning up to ten different remote codes. The code transmitted from a remote transmitter conεists of a 16 bit fixed block code and a 24 bit random code. The block code received from a remote must match the block code stored in the microprocessor. It is therefore the random code that the operator will learn during the remote learn mode.
The microprocessor is programmed to carry out the remote learn mode. When in this mode the programme LED LD4 will indicate to the user which of the different remote code positions the microprocessor is at. The LED will flash one time for position 1, twice for position 2 and so on up to ten
times for position 10. A delay is provided between indicating position and proceeding to the next poεition. Once the LED haε indicated the position it is in clearing can be achieved by holding the button of the remote down until the LED lights continuously for a period of time. Once the button is released the LED will then indicate the next position.
Once the LED has indicated the position it is in the user simply presses the button of the remote to set the code of the remote. The LED LD4 will go out and wait for the code to be sent. At this stage the remote button will be held depressed whereupon the operator will automatically learn the code being transmitted by the remote. Once the code has been learnt the LED LD4 will light for one second and then indicate its next position.
The microprocessor is programmed so that if no code is detected correctly after a period of time (say, five εeconds) the unit will return to the run mode. Alternatively, the run mode can be selected by simply pressing the button of switch SW3 without the remote button being depressed. After a period (five seconds) the operator will return to the run mode. The reset LED LD3 will go out after one second indicating it has :returned to the run mode.
The microprocessor is also programmed so as to provide an auto close function. This is a timing function which can be enabled via the auto close dip switch of array SWl. If the auto close timer is enabled the door will automatically close after a pre-set time if the door is fully .open and no obstruction has been detected on the last close cycle.
As previously discloεed the operator haε four relayε. The light relay operates whenever the operator starts and is controlled via the microprocessor so that the light remains on until the elapsed time has expired. If the operator is operated again this timing will restart at the end of the operating cycle. The time, in five second steps, is held as an 8 bit number in the EEprom. The light timer may also started by the light input being activated.
The protect relay RLI is used to prevent the up or down relays RL3 and RL4 remaining on due to a welded contact. The protect relay RLI is wired in series with the up/down relays. At each operation of the operator the protect relay RLI is enabled first and if motion of the door is detected the up/down relay contacts muεt be welded. The icroproceεsor thus causes the protection relay RLI to disconnect.
The possibility of a contact weld is, as stated previously, reduced greatly by the up or down relay not operating until the motor has stopped turning. This prevents any back EMF
from increasing the starting current above the relays maximum switching current.
A further input to the microprocesεor iε the external "interlock" input which when externally tied to . ground stops the door from moving and disables all further actions of the operator. This input is debounced in software. When enabled via a dip switch the interlock becomes an alarm output and is toggled using the laεt five remote codeε . This allows a security alarm to be disarmed or armed as a consequence of operation of the door operator.
The dip switch array SWl can also include a "swap" switch. This can be enabled to select the direction of downward travel of the door. The door direction iε always the direction the operator operates first during installation. This swap function iε thuε only included for roller doorε aε the operator can be mounted at either end of the door and the swap switch uεed to ensure correct direction of operation of the operator to drive the door correctly.
The operator may be connected via itε εerial lineε and an adaptor to a PC if the diagnoεtic mode is enabled by the dip switch of array SWl. This diagnostic mode enables settings to be viewed and altered while various diagnostics can alεo be run. Graphε of the door motion can also be viewed. This
provides an effective and easy means of determining operating parameters of the operator.
The software programming of the operator resulting in the modes of operation as outlined above can also be seen in the software flow diagrams of Figures 6 to 11.
The operator according to the preεent invention provideε improved sensitivity to an obstruction as the senεitivity is continuously adjusted to track toward an optimum-speed which is less than the average speed. This ensures that sensitivity is commensurate with the operating characteristics of the door so that the sensitivity is the optimum throughout the travel of the door. Obstruction detection occurs during all installation phases during the installation mode. This leads to reduced impact loadings of the door, door fixtures and fittings during installation when the end stops are reached.