The present invention relates to barrier moving operators, such as garage door operators, and, more particularly, to learning new security codes to the operator.
A barrier moving operator usually comprises a barrier moving unit, or opener, such as a controlled motor, and intelligent activation and safety devices. The opener is typically activated in response to an access code transmitted from a remote transmitter. RF signaling is the most common means of transmitting the access codes.
Many barrier moving systems, for example, garage door operators use codes to activate the system which change after each transmission. Such varying codes, called rolling codes, are created by the transmitter and acted on by the receiver, both of which operate in accordance with the same method to predict a next access code to be sent and received. A known rolling type access code includes four portions, such as a fixed transmitter number identification portion, a rolling code portion, a fixed transmitter type identification portion, and a fixed switch identification portion. The fixed transmitter identification is a unique transmitter identification number. The rolling portion is a number that changes every transmission in order to confirm that the transmission is not a recorded transmission. The type identification is used to notify the barrier moving operator of the type and features of the transmitter. The switch identification is used to identify which switch on the transmitter is being pressed. There are systems where the function performed is different depending on which switch is pressed.
When the garage door operator is installed, the homeowner receives at least one handheld transmitter that is already trained into the operator. In order to operate the door from a new learning transmitter, there is a two-step learning procedure for training the new learning transmitter. First step is to teach the learning transmitter the type and potentially the code of the owner's handheld transmitter. While holding the handheld transmitter a few inches from the learning transmitter, pressing and holding the handheld transmitter's button active and at the same time pressing the button on the learning transmitter, the owner teaches the access code type and frequency to the learning transmitter. The second step of the learning process is to train the learning transmitter to the operator. To do this, the learn button on the overhead operator has to be pressed, and within 30 seconds the learning transmitter should be activated.
The car manufacturers presently provide learning transmitters permanently mounted within a car. When the homeowner purchases a car with a learning transmitter, the two-step procedure for the rolling code type transmitter system must be performed in order to get the new learning transmitter to operate the owner's garage door operator. There is a problem due to the fact that the homeowners usually do not know that there is a learn button on their garage door operator, and secondly, it is troublesome to get up on a ladder to activate the button on the overhead garage door operator, and then within 30 second to send transmission to the operator, especially in the case of a car built-in learning transmitter.
Also, presently, when the first step of learning of the code by the learning transmitter is performed from the owner's handheld transmitter, the learning transmitter information does not have any correlations with the handheld transmitter code. In this case any automatic learning system is in jeopardy of reducing the security of the system. If an auto learn system, which does not provide a correlation portion for the code trained into the learning transmitter is used, a code from any transmitter could be trained into a learning transmitter and then to the door opener to operate the door. So, there is a need to provide a higher level of security for the learning process.
Therefore, a need exists for an easier method for training a barrier movement operator to learn a rolling code from a newly trained learning transmitter, and to provide a higher security level for the operator system.
This need is met and the objects are achieved with the present invention.
As described herein, a barrier movement operator provides a method of learning of valid security codes by a security code receiver comprising steps of receiving a first security code, then within a predetermined period of time receiving a second security code, having a predetermined relationship to the first security code; and storing a representation of the second security code as a valid security code.
When used for a barrier movement operator, the method for automatically learning a rolling type access code from a learning transmitter comprises steps of receiving from a first original transmitter a first rolling type access code to move the barrier, the code having a fixed identification portion recognized by the operator; saving the code received from the first transmitter in the operator, at the same time training the learning transmitter by receiving the first rolling type access code from the pre-trained transmitter and storing a representation of the first rolling type access code; then, within a predetermined period of time from receiving the first rolling type access code, sending to the operator a second rolling type access code from the learning transmitter. The second rolling type access code received from the learning transmitter is compared with the first rolling type access code or codes saved in the operator, and, if a predetermined relationship exists between the first rolling type access code and the second rolling type access code, the operator stores the representation of the second rolling type access code from the learning transmitter.
The predetermined relationship is represented by a correlation between the codes, such as the fixed identification portion recognized by the operator, which portion is received from the first transmitter and is stored in the learning transmitter as part of the second rolling type access code. It is desirable that the second rolling type access code is next in sequence to the first rolling code access code saved in the operator. The fixed identification portion in the preferred embodiment is a transmitter number identification portion, however, it also may be a transmitter type identification portion.
In order to provide a higher security, in another embodiment of the present invention, during the first receiving step, after operator receives the first access code for moving the barrier, the operator further receives a signal from the first transmitter to stop the barrier on a mid-travel level, and this barrier position is recorded as a starting point for the learning mode.
Also for security purposes, another embodiment includes that prior to receiving a first transmitter access code by the operator, a barrier is closed while the first transmitter and the learning transmitter are placed between the barrier and the barrier movement operator, for example inside the garage. Then the operator receives the first access code from the first transmitter to open the barrier, and soon after this transmission the operator receives a signal to stop the barrier on a mid-travel level. This barrier position is recorded as a starting point for a learning mode. The rolling type access code from the learning transmitter is stored by the operator only if the duration of the learning mode is within some predetermined time limits.
Another embodiment of the method of the present invention includes steps of receiving a first rolling type access code by the operator from a trained transmitter, moving the barrier in response to the access code, setting an auto learn mode for the operator and saving the first rolling type access code in the operator; within a predetermined time limits receiving a new transmitter rolling type access code by the operator, the new transmitter being trained by the trained transmitter to store a representation of the first rolling type access code; and saving the new transmitter rolling type access code in the operator, if both the new transmitter rolling type access code and the first access code saved in the operator have a correlated fixed identification portion, recognizable by the operator, the new transmitter rolling code is next in sequence to the first rolling code saved in the operator, and the duration of the auto learn mode is within predetermined time limits.
A barrier movement operator system providing a learning method according to present invention comprises a receiver for receiving, learning and responding to transmitted rolling code type access codes; at least one trained transmitter for operating the system by transmitting a rolling code type access code to the receiver, the rolling code including a fixed identification portion recognized by the system; at least one learning transmitter for learning the rolling code type access code from said trained transmitter in order to operate the system; a controller for evaluating relationship between a learning transmitter rolling type access code and a trained transmitter rolling type access code; and a device for providing a barrier movement in response to access codes received by the receiver, wherein the controller is a programmable microcontroller, and the system may include a timer to run the duration of the auto learn mode, which is the time between the last operation of the barrier by the trained transmitter and the receipt by the system of a rolling access code from the learning transmitter, comprising a recognized fixed identification portion.
Another embodiment of the present invention represented a method for modifying a rolling type operation code for a barrier movement operator, comprising steps of receiving a first rolling type operation code from the learning transmitter by the operator; saving the first rolling type operation code in the operator; modifying a rolling type operation code of the learning transmitter; within a predetermined period of time from the first receiving step, receiving a second modified rolling type operation code from the learning transmitter , the second code having a predetermined relationship with the first code; and storing the second modified rolling type operation code in the operator. This method can use both modified type identification portion and switch identification portion.
Referring now to the drawings and especially to
In the preferred embodiment the fixed transmitter identification portion is chosen for correlation because it represents a unique transmitter number showing that the known original transmitter was the unit used to train the learning transmitter. Also, in another embodiment the transmitter type identification portion is used for correlation, and likewise any other fixed identification portion of the code may be used for this purpose.
Another potential use for this auto learn system is that new codes can be generated having unique operation features. Both the type identification, and the switch identification can be modified to create unique known transmitted code. If a code for the first switch identification is used to operate the operator, there are two more auto-learned codes that can be used for other features. One strong potential is to have a code for an open command only. Another potential is to use a code for a closed command only.
The garage door operator 10 with the head unit 12 is shown in
Although the controller 70 is capable of receiving and responding to a plurality of types of code transmitters such as the multibutton rolling code transmitter 30, single button fixed code transmitter and keypad type door frame mount transmitter (called keyless), the present embodiments describes its use with rolling code type transmitter systems.
Referring now to
The microcontroller 678 produces output signals at the lead 681, which are supplied to a resistor 625 which is coupled to a voltage dividing resistor 626 feeding signals to the lead 627. A 30-nanohenry inductor 628 is coupled to an NPN transistor 629 at its base 620. The transistor 629 has a collector 631 and an emitter 632. The collector 631 is connected to the antenna 683, which, in this case, comprises a printed circuit board, loop antenna having an inductance of 25-nanohenries, comprising a portion of the tank circuit with a capacitor 633, a variable capacitor 634 for tuning, a capacitor 635 and a capacitor 636. A 30-nanohenry inductor 638 is coupled via a capacitor 639 to ground. The capacitor has a resistor 640 connected in parallel with it to ground. When the output from lead 681 is driven high by the microcontroller, the capacitor Q1 is switched on causing the tank circuit to output a signal on the antenna 683. When the capacitor is switched off, the output to the tank circuit is extinguished causing the radio frequency signal at the antenna 683 also to be extinguished.
Microcontroller 678 reads a value from nonvolatile memory 680 and generates therefrom a 20-bit (trinary) rolling code. The 20-bit rolling code is interleaved with a 20-bit fixed code stored in the nonvolatile memory 680 to form a 40-bit (trinary) code as shown in
Referring now to
In a step 510, the next highest power of 3 is subtracted from the rolling code and a test is made in a step 512 to determine if the result is equal to zero. If it is, the next most significant digit of the binary rolling code is incremented in a step 514, following which flow is returned to the step 510. If the result is not greater than 0, the next highest power of 3 is added to the rolling code in the step 516. In the step 518, another highest power of 3 is incremented and in a step 520, a test is determined as to whether the rolling code is completed. If it is not, control is transferred back to step 510. If it has, control is transferred to step 522 to clear the bit counter. In a step 524, the blank timer is tested to determine whether it is active or not. If it is not, a test is made in a step 526 to determine whether the blank time has expired. If the blank time has not expired, control is transferred to a step 528 in which the bit counter is incremented, following which control is transferred back to the decision step 524. If the blank time has expired as measured in decision step 526, the blank timer is stopped in a step 530 and the bit counter is incremented in a step 532. The bit counter is then tested for odd or even in a step 534. If the bit counter is not even, control is transferred to a step 536 where the bit of the fixed code bit counter divided by 2 is output. If the bit counter is even, the rolling code bit counter divided by 2 is output in a step 538. By the operation of 534, 536 and 538, the rolling code bits and fixed code bits are alternately transmitted. The bit counter is tested to determine whether it is set to equal to 80 in a step 540. If it is, the blank timer is started in a step 542. If it is not, the bit counter is tested for whether it is equal to 40 in a step 543. If it is, the blank timer is tested and is started in a step 543. If the bit counter is not equal to 40, control is transferred back to step 522.
The receiver 80 is shown in detail in
As shown in
As shown in
The apparatus includes an up limit switch 93a and a down limit switch 93b which detect the maximum upward travel of door 24 and the maximum downward travel of the door. The limit switches 93a and 93b may be connected to the garage structure and physically detect the door travel or, as in the present embodiment, they may be connected to a mechanical linkage inside head end 12, which arrangement moves a cog (not shown) in proportion to the actual door movement and the limit switches detect the position of the moved cog. The limit switches are normally open. When the door is at the maximum upward travel, up limit switch 93a is closed, which closure is sensed at port P20 of microcontroller 85. When the door is at its maximum down position, down limit switch 93b will close, which closure is sensed at port P21 of the microcontroller.
The microcontroller 85 responds to signals received from the wall switch 39, the transmitter 30, the up and down limit switches, the obstruction detector and the RPM signal to control the motor 106 and the light 81 by means of the light and motor control relays 104. The on or off state of light 81 is controlled by a relay 105B, which is energized by pin P01 of microcontroller 85 and a driver transistor 105A. The motor 106 up windings are energized by a relay 107B which responds to pin P00 of microcontroller 85 via driver transistor 107A and the down windings are energized by relay 109B which responds to pin P02 of microcontroller 85 via a driver transistor 109A.
Each of the pins P00, P01 and P02 is associated with a memory mapped bit, such as a flip/flop, which can be written and read. The light can thus be turned on by writing a logical “1” in the bit associated with pin P01 which will drive transistor 105A on energizing relay 105B, causing the lights to light via the contacts of relay 105B connecting a hot AC input 135 to the light output 136. The status of the light 81 can be determined by reading the bit associated with pin P01. Similar actions with regard to pins P00 and P02 are used to control the up and down rotation of motor 106.
Pin P26 of microcontroller 85 (
In the preferred embodiment of the present invention the auto learn mode is set when the operator receives within a short pre-programmed time two rolling codes from an original transmitter and a new transmitter having correlated fixed identification portions and a one-operation difference between the rolling code portions. In another embodiment, the auto learn mode starts when the door stops in a mid-open position. Also in another embodiment, in order to provide higher security, the auto learn mode starts only after the door is first closed and then opened by the pre-trained transmitter.
In step 750, a determination is made whether the operator received an access code from a rolling code transmitter. When step 750 identifies that a rolling code is received, the auto learn mode begins, and step 752 is performed to save information received from the transmitter and time when the code was received. Then the flow proceeds to step 754 to determine if the operator is activated by the access code received from the transmitter. This step gives more time to the owner to activate the handheld transmitter. If the response is positive, the transmitter information and the time of activation is saved for further references in step 756, and in the next step 758 a determination is made whether the operator received a transmission from a new transmitter. If a rolling code transmission is received from a new transmitter, the determination is made in step 760 whether the new transmitter is a learning transmitter. If yes, then the new rolling code is compared with the saved rolling code to determine whether the present rolling code has a one-operation difference with the saved rolling code. If no match is found, flow proceeds to step 770 and the code is rejected and a return is executed to step 750. When step 762 determines that the present rolling code is next in sequence to the past rolling code, in step 764 the fixed identification portion of the present rolling code is compared with the past code fixed identification portions. When no correlation is detected, the flow proceeds to step 770, where the learning process is terminated and a return is executed. When step 764 detects a correlation, flow proceeds to step 766. If not, flow proceeds to step 770. Step 766 determines whether the proper code from the learning transmitter was received within predetermined time limits, e.g. 30 seconds. If the process has taken longer than the maximum predetermined period, the flow goes to step 770. If yes, flow proceeds to step 768 to store the learning transmitter access code into the operator memory.
The performance of step 768 concludes the learning process, which began with setting of the auto learn mode in step 752.
In the present embodiment the brief auto learn mode is entered at any reception of a proper rolling code by the operator. Greater security may be achieved by entering the auto learn mode only after the performance of some other function initiated by the original transmitter. For example, the auto learn mode could be set to start only when a garage door is first closed then raised and stopped on intermediate position in response to commands from the original transmitter.
While there has been illustrated and described a particular embodiment of the present invention, it will be appreciated that numerous changes and modifications will occur to those skilled in the art, and it is intended in the appended claims to cover all those changes and modifications which fall within the true spirit and scope of the present invention. By way of example, the transmitter and receivers of the disclosed embodiment are controlled by programmed microcontrollers. The controllers could be implemented as application specific integrated circuits within the scope of the present invention.
This application is a continuation of prior application Ser. No. 09/925,867, filed Aug. 9, 2001, which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 09925867 | Aug 2001 | US |
Child | 11216224 | Aug 2005 | US |