`
`[19]
`
`[11] Patent Number:
`
`4,831,509
`
`[45] Date of Patent:
`Jones et a1.
`May 16, 1989
`
`[54] DOOR OPERATION CONTROL
`APPARATUS
`
`[75]
`
`Inventors: Richard E. Jones, Carlingford;
`Richard W. Aubert, Victoria, both of
`Australia
`
`[73] Assignee:
`
`Byrne & Davidson Doors
`(N.S.W.)PTY. Limited, Revesby,
`Australia
`
`[21] Appl. No.: 4,998
`
`[22] Filed:
`
`Jan. 20, 1987
`
`[30]
`
`Foreign Application Priority Data
`
`Apr. 16, 1986 [AU] Australia .............................. PH5499
`
`[51]
`
`Int. Cl.4 ...................... G06F 15/20; E05F 15/10;
`HOZP 1/04
`[52] US. Cl. ................................... 364/167.01; 49/28;
`49/25; 318/266; 318/466; 340/539; 340/825.72;
`364/178; 364/400
`[58] Field of Search ............... 364/167, 148, 178, 179,
`364/513, 400; 318/266, 281, 282, 286, 469, 16,
`466, 467, 468, 636; 49/28, 26, 139, 25, 31;
`340/696, 825.72, 825.69, 539, 534
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`1/1981 Mercier ........................... 318/469 X
`4,247,806
`....... 364/167
`5/1982 Matsuoka et a .
`4,328,540
`364/266 X
`4,365,250 12/1982 Matsuoka et al.
`
`5/1983 Matsuoka et a1.
`....... 364/167
`4,386,398
`
`4,475,069 10/1984 Tadokoro et al.
`313/266 X
`
`4,498,033
`2/1985 Aihara et a1.
`.....
`318/266 X
`
`4,638,433 1/1987 Schindler ........................ 318/266 X
`
`Primary Examiner—Joseph Ruggiero
`Attorney, Agent, or Firm—Pennie & Edmonds
`
`[57]
`
`ABSTR Acr
`
`A door controller for roller type doors is disclosed
`incorporating a microprocessor control system. The
`microprocessor measures and stores the door speed
`over segments of the door travel to generate a door
`speed travel characteristic. This characteristic enables
`the door controller to accurately assess obstruction
`conditions by comparing a real time characteristic with
`a stored characteristic. The microprocessor also stores
`electronically the upper and lower limits of door travel.
`The microprocessor monitors electric motor duty cycle
`to avoid overheating of the motor and possible burnout
`while also controlling locking of the drive mechanism
`when the motor is inoperative. The microprocessor is
`also used to set the radio control signal code used to
`activate the door drive mechanism, the setting proce-
`dure allows for immediate verification of the set code.
`
`6/1975 Newson .............................. 318/469
`3,891,909
`4,206,390 6/ 1980 Jessup .................................. 318/469
`
`16 Claims, 10 Drawing Sheets
`
`a 200
`201
`u
`
`a!
`
`.
`
`m
`
`2
`
`Y
`
`206
`
`207
`
`ram-
`
`20.
`
`I?»
`
`211
`@u
`g!
`
`__
`
`
`
`216'
`
`Webasto Roof Systems, Inc.
`Exhibit 101 O
`
`1
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`US. Patent
`
`. May 16,1989
`
`Sheet 1 of 10
`
`4,831,509
`
`trans— N
`1tlons
`
`?
`
`Y
`SumLast
`
`1
`
`204
`
`205
`
`@421"E ,
`
`@Y
`
`2
`
`Webasto Roof Systems, Inc.
`Exhibit 101 0
`
`2
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`US. Patent May 16,1989
`
`Sheet 2 of 10
`
`4,831,509
`
`236
`
`FIG. 2
`
`3 -
`
`Webasto Roof Systems, Inc.
`Exhibit 101 0
`
`3
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`US. Patent May 16,1989
`
`Sheet 3 of 10
`
`4,831,509
`
` 246-\
`
`253
`
`flGié
`
`25°
`
`Y
`
`‘
`
`4
`
`Webasto Roof Systems, Inc.
`Exhibit 101 O
`
`4
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`US. Patent May 16,1989
`
`Sheet 4 of 10
`
`4,831,509
`
`267
`
`272
`
`269
`
`5
`
`Webasto Roof Systems, Inc.
`Exhibit 101 0
`
`5
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`US. Patent May 16,1989
`
`'
`
`Sheet 5 of 10
`
`4,831,509
`
` 6
`
`Webasto Roof Systems; Inc.
`Exhibit 101 0
`
`6
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`US. Patent May 16, 1989
`
`Sheet 6 of 10
`
`4,831,509
`
`300
`
` 308
`
`3 07
`
`309
`
`‘
`
`3 10
`
`
`£73. 6
`
`7
`
`Webasto Roof Systems, Inc.
`Exhibit 101 O
`
`7
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`US. Patent
`
`May 16, 1989
`
`Sheet 7 of 10
`
`4,831,509
`
`T 5
`
`1‘
`
`9E?
`
`I'
`
`.PNQ.933SO<st6.3+F
`
`
`Webasto Roof Systems, Inc.
`Exhibit 101 O
`
`8
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`US. Patent
`
`May 16, 1989
`
`Sheet 8 of 10
`
`4,831,509
`
`+V
`
`lfl
`
`
`
`R-l3
`
`I”5:c:l:‘[::lm CIXTAL
`
`I212 V52
`
`IRM-
`
`2 XTALI
`
`
`
`6”
`
`-
`
`Icue
`
`+ $.5V
`
`
`
`RIG RI? RIB
`
`Webasto Roof Systems, Inc.
`Exhibit 101 O
`
`9
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`US. Patent
`
`May 16, 1989
`
`Sheet 9 of 10
`
`4,831,509
`
`as
`.w...
`
`m"0Q
`
`
`
`10
`
`Webasto Roof Systems, Inc.
`Exhibit 101 O
`
`10
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`US. Patent
`
`May 16, 1989
`
`m:
`
`
`
`«wIIIII.Illnlll
`
`
`
`WIT
`
`w.
`
`m
`
`4,831,509
`
`2.01an.ownm_2mm_a.
`
`SEQum45uZm02m
`
`%m6.....
`.GSm_>+3.?$2.
`
`>p>«mm:mad/“mm—“‘8
`
`11
`
`Webasto Roof Systems, Inc.
`Exhibit 101 O
`
`11
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`
`DOOR OPERATION CONTROL APPARATUS
`
`BACKGROUND OF THE INVENTION
`
`5
`
`10
`
`15
`
`20
`
`25
`
`The present invention relates to an improved door
`controller for roller type doors.
`Such doors are well known and comprise a flexible
`door curtain which can be raised and lowered from a
`drum located above the door aperture. It is also well
`known to employ a pair of end drums rotatably
`mounted on a fixed axle extending horizontally across
`the top of the door aperture. The curtain is secured at its
`upper end to each of the spaced end drums and a ring
`gear is secured to one drum and provided with a motor
`drive for rotating the drums and thereby raising or
`lowering the door.
`Door controllers of the type having a remote control
`transmitter which sends a coded signal to a controller
`coupled to the door drive means for controlling raising
`and lowering the door are also well known. These con-
`trollers usually operate in conjunction with mechani-
`cally operated upper and lower limit switches and ob-
`struction detection devices. The forms of obstruction
`detection are many and include mechanical sensors in
`the lower portion of the door curtain, motor load moni-
`toring devices, and run time monitors.
`Each of these systems has inherent disadvantages and
`particular problems have been found with the type of
`door described above where the downward movement 30
`of the door is dependent upon the weight of the door
`curtain causing the door curtain to fall into the door
`opening. In such doors the changes in motor load will
`be dependent on the position of the door. Furthermore,
`the relationship between motor load and door position 35
`will vary with door age, climatic conditions and track
`condition. Thus setting of load monitoring device to
`only detect actual obstructions is difficult as each of
`these variations must be compensated for in order to
`avoid false tripping of the door mechanism.
`SUMMARY OF THE INVENTION
`
`4O
`
`The present invention seeks to overcome or at least
`ameliorate these problems by providing an improved
`door controller which can “learn” the characteristics of 45
`a particular door.
`.
`the present invention
`According to a first aspect,
`provides a door controller including:
`a mechanism for driving a door curtain between open
`and closed positions in response to received door opera- 50
`tion command signals,
`door position encoder for providing signals indicative
`of the position of the door curtain relative to the door
`opening;
`timing mechanism for providing timing signals for 55
`said controller;
`processing mechanism responsive to said encoder and
`said timing mechanism for producing a representation
`of a door travel speed characteristic;
`memory device coupled to said processing mecha-
`nism for storing said representation of a door travel
`speed characteristic.
`According to a second aspect, the present invention
`provides a door controller according to said first aspect
`wherein said processing mechanism is adapted to com- 65
`pare the door travel speed characteristic for each run of
`the door with the previously stored characteristic and
`being responsive to the difference in said characteristics
`
`60
`
`1
`
`4,831,509
`
`2
`exceeding a predetermined margin to indicate an ob-
`struction condition.
`Preferably, said mechanism for driving the door cur-
`tain is further responsive to detection of an obstruction
`condition to reverse the direction of travel of the door
`curtain for a predetermined period and then stop travel
`of said door curtain.
`According to a third aspect, the present invention
`provides a door controller including:
`a mechanism for driving a door curtain between open
`and close position in response to received door opera-
`tion command signals,
`door position encoder for providing signals indicative
`of the door curtain relative to the door opening,
`first memory device coupled to said door position
`encoder for storing signals representative of a desired
`closed position of the door curtain,
`'
`second memory device coupled to said door position
`encoder for storing signals representative of a desired
`open position of said door curtain,
`said mechanism for driving the door curtain being ,
`responsive to said signals stored in said first and second
`memory devices to limit door curtain travel to between
`these stored positions.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`’
`
`Embodiments of the invention will now be described
`by way of example only with reference to the accompa-
`_
`nying drawings in which:
`FIG. 1 shows a flow chart of the processor opera—
`tions used to control the door characteristic function
`and reversing function of the door controller according
`to the invention;
`FIG. 2 shows a flow chart of the main control pro-
`gram of the processor used in the door controller ac-
`cording to the invention;
`FIG. 3 shows a flow chart of the programs subroutine
`for the limit setting function of the door controller
`according to the invention;
`FIG. 4 shows a flow chart of the program subroutine
`for the warm start function of the door controller ac-
`cording to the invention;
`FIG. 5 shows a flow chart of the program subroutine
`for the radio control input decoding function of the
`door controller according to the invention;
`FIG. 6 shows a flow chart of the program subroutine
`for the code setting function of the door controller
`according to the invention;
`FIG. 7 shows a circuit diagram of the power supply
`circuit for the door controller according to the inven-
`tion;
`FIGS. 8, 9 and 10 show a circuit diagram of the main
`control unit for the door controller according to the
`invention.
`
`DESCRIPTION OF THE ILLUSTRATED
`EMBODIMENTS
`
`The door controller according to the embodiments of
`the invention provides several different features which
`will be described separately hereunder. These can be
`summarized as follows:
`(1) Door Characteristic Learning
`(2) Reversing and Obstruction Detection
`(3) Limit Setting
`(4) Warm Start Function
`(5) Code Setting and Decoding
`(6) Motor Protection
`(7) Door Locking
`
`12
`
`Webasto Roof Systems, Inc.
`Exhibit 101 O
`
`12
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`3
`
`Door Characteristic Learning
`
`4,831,509
`
`In order to understand the characteristic learning
`function of the door controller the general concept of
`achieving such a function will first be described fol;
`lowed by one preferred implementation of this concept.
`The door curtain position relative to the door open-
`ing is obtained from an encoder coupled to the door
`drum. Pulses are provided to the encoder from opto-
`electronic sensors appropriately placed or positioned in
`relation to a set of spinning blades coupled to the drive
`means for the roller door. In this way the encoder can
`produce signals indicative of the position of the door
`curtain. For preference, at
`least
`two optoelectronic
`sensors are used so as to enable the direction of door
`travel to be sensed.
`In order to determine a door travel characteristic the
`
`processing means samples the time taken for the door
`curtain to travel a fixed distance and therefrom deter-
`mines changes in the speed of the door. Preferably this
`is done by notionally dividing the door travel into a
`plurality of segments and further sub-dividing each
`segment into a plurality of sectos and producing a run-
`ning average of peak speed changes for each sector and
`storing this average for each segment of the door travel.
`This running average of peak speed changes for each
`segment is used to represent the door travel speed char-
`acteristic.
`
`The running average is regularly updated with each
`run of the door unless the value of peak speed change is
`outside predetermined limits indicating an error in the
`system or detection of an obstruction. Thus over a per-
`iod of time the processing means learns a door travel
`speed characteristic for the particular door being con-
`trolled.
`
`Referring to FIG. 1 a particular example of a pro-
`gram implementation of the door travel characteristic
`learning function will be described.
`In order to determine the time taken for the door to
`travel a fixed distance the processor determines
`whether a fixed number of encoder transitions have
`occurred, in this example'sixteen, if they have not, the
`subroutine returns to main program and awaits the next
`test. When the number of transitions have occurred,
`that is the door has travelled a predetermined distance,
`the processor calculates the time period to travel this
`distance by summing the last sixteen encoder periods.
`This time summation is then compared with a previ-
`ously stored time sum for the particular sector of inter-
`est. This comparison takes the form of subtracting the
`old time summation from tee newly calculated time
`sum. If the difference is negative, that is the new value
`is less than the old value, the difference value is set to
`zero. If the difference is positive or zero the program
`drops through to the next test.
`The next test compares the newly calculated differ-
`ence value for the particular sector with a previously
`stored peak difference value. If the new difference
`value is greater than the old peak difference value, it
`replaces the old value and is stored. The new difference
`value is then compared with a value representing an 8%
`speed change. This value represents the upper limit of
`speed change considered acceptable, any higher value is
`considered an error or obstruction. If the new differ-
`ence is above the 8% speed change value, it is replaced
`by this upper limit value.
`The processor next tests whether the values of peak
`difference are suitable for updating the sector sensitivity
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`characteristic. This is done by testing whether the door
`curtain is travelling downward, and has been for more
`than a predetermined period, in this example 2 seconds.
`If either of these tests is not satisfied, the peak difference
`value is reinitialized to a value representing a 1% speed
`change. If the door movement satisfies these two condi-
`tions a further test is made to determine whether the
`door curtain is approaching its lower limit, in this exam-
`ple within 25 mm of its lower limit. If the door curtain
`is not close to its lower limit the subroutine considers
`the value of peak difference for a particular sector to be
`suitable for further processing. If the door is close to its
`lower limit the peak difference value is again reinitial-
`ized to a 1% speed change value.
`Once reinitialization has taken place the processor
`tests whether the sector number presently being reini-
`tialized is greater than the previously stored sector
`number, if it is not, the subroutine is exited. If it is
`greater, then the old sector number is replaced by the
`present sector number and the program loops back to
`reinitialize the value of the peak difference.
`If further processing of the peak difference value is
`indicated by the above tests the subroutine compares
`the new difference value with a previously stored sector
`sensitivity value. If the new difference value is greater
`than the stored sector sensitivity value, this indicates the
`detection of an obstruction and the subroutine steps in
`relation to this result will be described later. If the new
`
`difference value is not greater than the previously
`stored sector sensitivity value,
`the door position is
`tested to determine whether it is close to its lower limit.
`If it is within 50 mm of the lower limit the sector num-
`ber is set to a value of zero and the value of sector
`number is then compared with the old stored sector
`number. If the sector sensitivity value has already been
`updated, that is the present sector number equals the old
`stored sector number, then the subroutine is again ex-
`ited.
`
`If the sector sensitivity is to be updated, a running
`average technique is used, in this particular embodi-
`ment, the new sector sensitivity is set to 75% of the old
`sensitivity value plus half the new peak difference
`value. The old stored sector number is then replaced
`with the present sector number and the peak difference
`value is reinitialized before the subroutine is exited.
`
`Reversing and Obstruction Detection
`
`As stated above the stored running average of peak
`speed changes for a segment is regularly compared with
`the calculated peak speed change for the same segment
`on a present run of the door. If this new value exceeds
`the stored value, the door controller will consider an
`obstruction to have been detected in the travel path of
`the door. The detection of an obstruction will prefera-
`bly cause the door to stop and reverse away from the
`obstruction. This can be done preferably for either di-
`rection of travel of the door. When an obstruction con-
`dition occurs the value of the running average for the
`particular segment is not updated to the value detected
`but is modified by a predetermined margin which serves
`to desensitize the door in order to minimize the occur-
`rence of false obstruction detection conditions. This
`margin would preferably be of the order of 1%. In
`contrast if no obstruction detection conditions occur
`over a period of time the door will gradually reach
`maximum sensitivity for a particular door travel charac-
`teristic.
`
`13
`
`Webasto Roof Systems, Inc.
`Exhibit 101 O
`
`13
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`4,831,509
`
`5
`The learning of the door travel characteristic and the
`regular updating of this characteristic enables the door
`controller to make an accurate assessment of the correct
`operation of the door, and appropriate action to be
`taken should this operation deviate from the character-
`istic learned by the controller.
`
`5
`
`6
`load is detected the door position register is initialized,
`thus setting the lower limit. The motor is then turned
`off and depression of the limit set button is tested for, if
`the button is depressed the subroutine loops back and
`waits for release of the button before proceeding to the '
`next test which tests for release of the power limit but-
`ton.
`
`Limit Setting
`
`20
`
`25
`
`As the door controller is provided with information
`from the door position encoder, in order to ensure cor- 10
`rect Operation of the door this position information
`must in some way be referred to door curtain position in
`relation to the door opening. This requires setting the
`limits of the door travel within the opening.
`In the past this has been done by providing detectors 15
`at the lowermost limit of door travel, usually ground
`level, and at the uppermost limit of door travel, usually
`near the top of the door opening. This has in most cases
`required accurate manual adjustment by the installer of
`the door limit detectors.
`The embodiments of the present invention overcome
`the need for adjustment of such detectors and also do
`away with the need for separate limit detectors by en-
`abling the limits of door travel to be set within the
`memory of the door controller.
`The limit setting function is performed as follows.
`The door curtain is driven down into the floor or lower
`limit of the door opening by activation of a first switch
`until an overload condition is detected and the motor
`cut-out activated. A second switch is then operated to 30
`cause the lower limit to be stored in a memory register
`of the controller. In the case where an overload condi-
`tion has been detected a number or count representing
`the lower limit setting is reduced by several counts so
`that the lower limit is a predetermined distance above 35
`the overload condition point.
`An alternative form of lower limit setting can be also
`performed by manually moving the door to a desired
`lower limit point and operating the second switch to
`store the limit setting in a memory register. In this case 40
`the count representing the lower limit is not altered as
`no overload condition has occurred.
`Once the lower limit has been set the first switch is
`again operated and causes the door curtain to travel
`upward until the door curtain reaches the upper door 45
`stops and an overload condition is again detected and
`the motor de-activated. A similar procedure is then
`followed to set the upper limit. Manual adjustment of
`the door is again possible if an overload condition has
`not been caused.
`.
`
`50
`
`In normal operation a door position counter holding
`a count representative of the door curtain position is
`regularly compared with the limit setting counts stored
`in the appropriate memory registers. When an equality
`with either stored count is detected the door curtain 55
`will be considered to have reached the upper or lower
`limit of travel and the drive motor will be stopped.
`A particular example of a processor subroutine for
`performing the limit set function will now be described.
`The subroutine begins by testing whether the power 60
`limit button has been pressed. If the button is pressed
`the motor is activated and drives down towards the
`lower limit or floor. The subroutine then tests for the
`period of time the motor has been running. If this period
`is below a predetermined value, in this example 25 sec- 65
`onds, the program loops back to the start of the subrou-
`tine. If the predetermined time value is exceeded the
`subroutine tests for a motor overload. If a motor over-
`
`Once the power limit button is released the subrou-
`tine proceeds to the upper limit setting program. The
`state of the power limit button is again tested and if it is
`depressed the motor is activated in an upward direction
`and its running time is monitored and the program loops
`back continually to test for depression of the power
`limit button until the running time exceeds a predeter-
`mined value, in this example two seconds. Once this
`value is exceeded a motor overload is tested for with
`similar program to that used for lower limit setting until
`an overload occurs. When this condition is satisfied the
`door position is tested. If the door is not a predeter-
`mined distance above the lower limit when an overload
`occurs, in this example 500 mm, the program returns to
`the beginning of the limit setting procedure. If the door
`is above the predetermined distance, the door size regi5<
`ter is set, the motor is deactivated and the upper limit
`setting completed, followed by return by the subroutine
`to the main program.
`If the power limit button is not depressed once the
`upper limit setting program is entered, the motor is
`deactivated and the state of the limit set button is tested.
`When the limit set button is detected as being depressed
`and the door is a predetermined distance above the
`lower limit, the door register size is set allowing for
`door overrun and the motor is deactivated and the sub-
`routine exited.
`
`Warm Start Function
`
`The warm start function relates to the requirement to
`reset door operation parameters following an unex-
`pected event such as a power failure. The door control-
`,ler is preferably provided with emergency power in the
`form of battery backup. In the event of power failure
`the door controller will lose track of the door curtain
`position relative to the door opening.
`The controller overcomes this problem by providing
`automatic seeking of the lower door travel limit once
`power is restored and at the next activation of the door
`by an operator. On initial operation of the door follow~
`ing a power failure the door curtain preferably goes up
`a short distance and then drives down to the floor and
`stops. The initial upward movement of the door curtain
`is to allow the door to reach normal running speed
`when driving into the floor and thus provide a consis-
`tent lower limit setting irrespective of where the door
`curtain stops during a power interruption.
`The controller detects a speed fall below a predeter-
`mined limit as the lower floor limit and resets the
`counter holding the door position counts. Preferably a
`visual indicator, for example an LED, is used to tell the
`operator that a power interruption or fault has occurred
`and this indicator will go out once the door position
`counter has been reinitialized by the door controller.
`A specific example of the warm start function is
`shown in the flow chart of FIG. 4.
`The subroutine begins by activating the motor to
`drive upwards and testing for a predetermined time
`elapsed interval,
`in this particular example, two sec-
`onds. When this time interval has elapsed the motor is
`reversed and drives the door downwards. After a pre-
`
`14
`
`Webasto Roof Systems, Inc.
`Exhibit 101 O
`
`14
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`4,831,509
`
`7
`determined time period, again in this example, two sec-
`onds, the subroutine tests for a motor overload. That is,
`it tests for the door curtain reaching floor level.
`Once an overload is detected, the motor is deacti-
`vated and the door position register is reinitialized to
`the lower limit value. The subroutine then returns to the
`main control program.
`
`Code Setting and Decoding
`
`The processor performs several functions when set-
`ting the codes used for radio-controlled activation of
`the door motor. The processor is required to decode
`incoming signals, filter out unwanted signals, set the
`code if necessary and verify the code setting. These
`functions are performed by two related subroutines
`which will be described below.
`Referring to FIG. 5 the radio control decoding sub-
`routine is shown. The subroutine begins with a testing
`loop which continually tests for a positive transition of
`the radio control input. When a positive transition is
`detected a data hit counter is reset to enable the subrou-
`tine to count the number of data bits detected and thus
`determine when transmission has been completed.
`Once the counter has been reset the subroutine again
`tests for a positive transition on the radio control input.
`If no transition has occurred and a predetermined per-
`iod has elapsed since the last detected positive transi-
`tion, the processor samples the state of the radio control
`input. It then tests a register within the processor to
`determine whether a code setting flag has been set. This
`flag controls the code setting operation, if it is not set
`the subroutine proceeds to the normal decoding opera-
`tion. This comprises comparing each bit of the input
`code with the stored code, testing to determine whether
`the code transmission is complete, setting a flag if it is
`and then determining whether the whole received code
`is equivalent to the stored code. If the codes are equiva-
`lent a “code valid” flag is set and the subroutine loops
`back to await the start of the next transmission. If the
`codes are not equivalent the subroutine ignores the
`transmission and returns to await the next code trans-
`mission.
`
`If the codes setting flag is set, the processor stores the
`current remote control input state in a code storage
`register and then tests for end of code transmission. If
`the transmission is completed, a flag is set and the sub-
`routine returns to await the start of the next transmis-
`sion.
`
`If the tests for end of transmission are negative the
`subroutine increments the data bit counter and loops
`back to test for a positive transition on the radio control
`input.
`The code setting subroutine is shown in FIG. 6. The
`subroutine begins by setting a flag indicating code set-
`ting is taking place and then tests for the end of a code
`transmission. If the transmission is complete the “code
`setting” flag is reset and the subroutine proceeds to a
`verification loop. If the code transmission is not com-
`plete the subroutine enters a code learning loop which
`tests the state of a code setting button. If the button is
`not depressed the subroutine decodes and stores a piece
`of the new code and returns to test for completion of the
`code transmission. This looping continues until the end
`of the code transmission or the code setting button is
`depressed, manually terminating the code setting proce-
`dure.
`
`The code verification loop comprises a code validity
`check which compares the originally learnt code with
`
`8
`the new code transmission. If the code is not valid, that
`is the comparison fails, the subroutine tests the time
`period which has elapsed since the original code was
`received. If this period exceeds a predetermined value,
`in this example, one second, the verification is consid-
`ered to have failed and the subroutine loops back to its
`beginning. If the predetermined period has not elapsed
`and the code setting has not been manually terminated
`by depression of the code setting button, the subroutine
`again decodes the input and compares the code for
`validity. This loop continues until a valid code is veri-
`fied or the time period for successful verification elap-
`ses.
`
`When the code is verified or the coding setting proce-
`dure is manually terminated, the “code setting” flag is
`reset and the subroutine returns to the main program.
`Motor Protection
`
`10
`
`15
`
`20
`
`Motors used to drive the doors under discussion are
`normally required to have high torque and be compact
`so as to fit within the confines of the door roll. Such
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`motors normally are only rated for intermittent opera-
`tion and thus must be protected against excessive opera-
`tion which may result in motor “burn out”.
`According to a further aspect of the present inven-
`tion, the door controller provides means to monitor the
`duty cycle of the driving motor and in response to said
`means indicating the duty cycle has been exceeded
`preventing operation of the motor until a predetermined
`time period has elapsed, said time period being related
`to the run time of the motor prior to the duty cycle
`being exceeded.
`For example, consider that the motor can only be
`operated for up to 160 seconds of consecutive cycle
`from “cold” condition. Once this period has been ex-
`ceeded the motor is prevented from operating further
`until a “cooling off" period has been allowed and the
`motor is considered to have returned to a “cold ” condi-
`tion. In this particular example for each 1 second of
`running time the motor needs 4 seconds of cooling time.
`Thus if the motor has run for 160 seconds, a period of
`640 seconds is allowed for the motor to reach a “cold”
`condition before the motor can be reactivated.
`In the embodiments of the invention the duty cycle of
`the motor is monitored by the processor provided in the
`door controller and the processor inhibits operation of
`the motor for the desired cooling time. For preference,
`a visual indication is also given that the motor duty
`cycle has been exceeded and the motor is inoperable.
`This indication will cease once the cooling period has
`elapsed and the motor is reenabled.
`
`Door Locking
`
`The form of drive train usually provided with power
`operated doors of the type under discussion, has a worm
`drive having a gear profile which provides self-locking
`of the door when the motor drive is deactivated.
`Such drive trains have been found to be too large and
`inefficient when using high torque motors and it is desir-
`able to use other means to lock the motor and thus the
`door. The use of a processor in the door controller of
`the present invention enables door locking to done by
`means of a solenoid operated motor lock.
`The processor monitors the motor operation and if
`the motor is off for more than a predetermined time
`period, for example 2 seconds, the solenoid is engaged.
`For preference, engagement is done by de-energizing
`the solenoid. When a command is given for the motor to
`
`15
`
`Webasto Roof Systems, Inc.
`Exhibit 101 O
`
`15
`
`Webasto Roof Systems, Inc.
`Exhibit 1010
`
`
`
`9
`be started, the solenoid is energized and a small time
`delay allowed for the solenoid lock to disengage before
`the motor is activated. A delay is also applied when the
`motor is reversed in order to avoid damage to the motor
`control circuitry.
`
`Main Control Program
`
`The subroutine for providing various functions of the
`preferred embodiments have been described above.
`These subroutines are “called” by a main control pro- 10
`gram, an example of which is shown in FIG. 2.
`The program begins by testing whether the data
`memory security code is intact. If it is not, this indicates
`data has been lost during a power interruption and the
`program reloads the data memory security code. It then 15
`calls the limit setting subroutine previously described.
`If the memory security code is intact the program
`tests for depression of the limit set button, if this button
`is depressed it calls the limit setting subroutine. If the
`limit set button is not depressed the program tests the 20
`condition of the start button. If the start button