`Boisvert et al.
`
`[54] POWER WINDOW OR PANEL
`CONTROLLER
`
`[75]
`
`Inventors: Mario Boisvert; Michel Catudal, both
`of Reed City, Mich.
`
`[73] Assignee: Nartron Corporation, Reed City,
`Mich.
`
`[21] Appl. No.: 08/795,971
`
`[22] Filed:
`
`Feb. 5, 1997
`
`Related U.S. Application Data
`
`[63]
`
`Continuation-in-part of application No. 08/736,786, Oct. 25,
`1996, abandoned, which is a continuation of application No.
`08/275,107, Jul. 14, 1994, abandoned, which is a continu(cid:173)
`ation-in-part of application No. 07/872,190, Apr. 22, 1992,
`Pat. No. 5,334,876.
`Int. Cl.6
`...................................................... E05F 15/14
`[51]
`[52] U.S. Cl. ............................................. 318/468; 318/469
`[58] Field of Search ..................................... 318/469, 466,
`318/455, 458, 434, 468, 470, 447, 256,
`264, 265, 266, 286; 49/26, 28
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,514,670
`4,641,067
`4,673,848
`4,686,598
`4,730,152
`4,746,845
`4,823,059
`4,870,333
`4,980,618
`5,038,087
`5,069,000
`
`4/1985 Passel et a!. ............................ 318/467
`2/1987 Iizawa et a!. .
`6/1987 Hagiwara eta!. ...................... 318/266
`8/1987 Herr .
`3/1988 Foust et a!. ............................. 318/603
`5/1988 Mizuta eta!. .
`4/1989 Compeau eta!. .
`9/1989 Itoh et a!. .
`12/1990 Milnes eta!. .
`8/1991 Archer et a!. ........................... 318/469
`12/1991 Zuckerman .
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US005952801A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,952,801
`Sep.14,1999
`
`1!1992 Barthel et a!. .
`5,081,586
`7/1992 Mizuno eta!..
`5,131,506
`8/1992 DeLand eta!..
`5,140,316
`5,162,711 11/1992 Heckler.
`5,204,592
`4/1993 Huyer.
`5,218,282
`6/1993 Duhame.
`5,278,480
`1!1994 Murray.
`5,399,950
`3/1995 Lu eta!..
`5,432,413
`7/1995 Duke eta!..
`5,497,326
`3/1996 Berland et a!. .................. 364/424.045
`3/1998 Kamishima et a!. ...................
`5,729,104
`318/446
`318/453
`5,734,245
`3/1998 Terashima et a!. .....................
`
`FOREIGN PATENT DOCUMENTS
`
`581509A1
`2502679
`2189906A
`W092/20891
`
`2/1994 European Pat. Off ..
`10/1982 France .
`11/1987 United Kingdom .
`11/1992 WIPO .
`
`OTHER PUBLICATIONS
`
`Dept. of Transportation, Nat. Highway Traffic Safety
`Admin., Docket No. 87-10, Federal Register, vol. 56, No.
`73, Apr. 16, 1991, pp. 15290-15299.
`
`Primary Examiner---Bentsu Ro
`Attorney, Agent, or Firm-Watts, Hoffmann, Fisher &
`Heinke Co.
`
`[57]
`
`ABSTRACT
`
`A controller for energizing a power window or panel such as
`a power sunroof. The disclosed controller senses both hard
`and soft obstructions and de-activates a motor that moves
`the sunroof when an obstruction is detected. The controller
`senses obstructions by maintaining data relating to motor
`operation in three different memory buffers that are periodi(cid:173)
`cally updating upon receipt of pulses that are related to
`motor speed.
`
`26 Claims, 12 Drawing Sheets
`
`vee
`
`I I
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 1
`
`
`
`U.S. Patent
`
`Sep.14,1999
`
`Sheet 1 of 12
`
`5,952,801
`
`BATI
`
`GROUND o--r--I 44
`
`IGN
`
`60
`
`~0
`
`vee
`
`-vee (9o
`50K
`TEMP.
`1 OK SENSOR
`~----"\1\/'v---+---< A
`
`T100nf
`
`1 ooK
`
`vee
`10K
`
`vee
`4.7K
`SLIDE CLOSE/r~~~1'VOv-K -+----------+---+-----+---<
`VENT OPEN vee
`68
`SLIDE OPEN/
`VENT CLOSE
`
`2K
`
`70
`LIMIT 1
`FULL VENT
`so~JJJ
`
`I I -
`
`-
`
`LIMIT 2
`FULL OPEN
`
`76
`
`RAIN
`SENSOR
`10nfi
`7~ -
`
`-
`
`Fig.1A
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 2
`
`
`
`U.S. Patent
`
`Sep.14,1999
`
`Sheet 2 of 12
`
`5,952,801
`
`114
`-
`10K 126/ 124
`
`vee
`
`1 28
`-----.._
`'
`
`100nfi
`
`1 )
`
`"
`
`Q
`
`vv
`
`vee
`
`<
`
`1 i 1 OOK
`
`1 30
`~100K ~
`t~'>-----+---'V~'V'Avv-lf------.--v
`o J ~
`~10K
`.Axx°K
`\
`10K
`.~.
`A.AA
`_
`>
`vv
`1 K~ l ~ ~ 100nfT_- T __ 100K
`47nf~120
`
`Al------n
`
`.......--116
`
`B r-----++------,35K~
`> <
`f 35K
`< 70K
`
`1 o:rT ~2nf _l-r_ ,b>
`1
`
`30b
`24~IT
`
`a----<
`
`30a
`
`-
`
`22
`
`~r---tl--t-1------1-t-'
`~==================~
`
`®----
`0 )--------'
`
`1 OOnfl
`
`93Le
`468
`
`Fig.18 T ____ ~
`
`~
`
`'----------'
`
`l
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 3
`
`
`
`U.S. Patent
`
`Sep.14,1999
`
`Sheet 3 of 12
`
`5,952,801
`
`128
`
`INITIALIZE
`PORTS
`
`114 YES
`
`134
`
`YES
`
`136
`
`EXPRESS CLOSE
`FROM OPEN
`
`EXPRESS
`CLOSE
`FROM
`VENT
`
`140
`
`142
`
`Fig.2
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 4
`
`
`
`U.S. Patent
`
`Sep.14,1999
`
`Sheet 4 of 12
`
`5,952,801
`
`160
`
`~
`
`224
`
`r---....L...----L---, 2 3 4
`GO TOWARD 1-4-- ---~ GO TOWARD
`OPEN
`OPEN
`
`222
`
`238
`
`UPDATE OPEN
`LIMIT AND LEAVE
`
`Fig.3
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 5
`
`
`
`U.S. Patent
`
`Sep.14,1999
`
`Sheet 5 of 12
`
`5,952,801
`
`NO
`
`YES
`
`18~
`
`GO TOWARD
`VENT
`
`GO TOWARD
`...,______, .----~
`VENT
`
`NO
`
`UPDATE VENT
`LIMIT AND LEAVE
`
`Fig.4
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 6
`
`
`
`U.S. Patent
`
`Sep.14,1999
`
`Sheet 6 of 12
`
`5,952,801
`
`INITIALIZE
`VARIABLES
`
`~
`190
`
`150
`
`EXPRESS CLOSE
`FROM OPEN
`
`GO TOWARD
`VENT
`
`.,.___ __ ____,
`
`Fig.5
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 7
`
`
`
`U.S. Patent
`
`Sep.14,1999
`
`Sheet 7 of 12
`
`5,952,801
`
`INITIALIZE
`VARIABLES
`
`140
`
`EXPRESS CLOSE
`FROM VENT
`
`GO TOWARD
`OPEN t4----~
`
`170
`~
`
`STOP MOTOR YES
`AND LEAVE
`
`YES
`
`Fig.6
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 8
`
`
`
`U.S. Patent
`
`Sep.14,1999
`
`Sheet 8 of 12
`
`5,952,801
`
`~50
`
`MOTOR
`LEAVE
`
`Fig.7
`
`Fig.8
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 9
`
`
`
`U.S. Patent
`
`Sep.14,1999
`
`Sheet 9 of 12
`
`5,952,801
`
`286
`~_2_85 __ ~----------~58 OBS
`FLAG
`
`300
`
`Fig.9
`
`288
`
`TRIP POINT=
`PW(t-7)+32
`
`TRIP POINT=
`[((34*PW(t-7))/32)-4]
`+
`((I(t-7)-80)/32)+(It- I(t-95))
`
`Fig.10
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 10
`
`
`
`U.S. Patent
`
`Sep.14,1999
`
`Sheet 10 of 12
`
`5,952,801
`
`Fig.11
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 11
`
`
`
`U.S. Patent
`
`Sep.14,1999
`
`Sheet 11 of 12
`
`5,952,801
`
`GO TOWARD~---------------------------.
`FULL VENT
`
`>----~FLAG FOUND I----t STOP MOTOR
`HOME POS
`AND LEAVE
`
`NO
`
`YES
`
`YES
`
`FLAG HOME POS
`NOT FOUND
`
`GO TOWARD 1----<
`FULL OPEN
`
`STOP MOTOR
`AND LEAVE
`
`YES
`
`Fig.12
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 12
`
`
`
`00 = ~
`
`....
`N
`Ul
`\C
`....
`Ul
`
`'"""' N
`0 ......,
`'"""' N
`~ .....
`'JJ. =-~
`
`'0
`'0
`'"""'
`'0
`'"""'
`~,J;;..
`~ '?
`'JJ.
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`Fig.13
`
`BUFFER 1 & 2
`
`BUFFER 3
`
`BUFFER 4
`
`PW
`
`PW
`
`PW
`
`PW
`
`PW
`
`PW
`
`PW
`
`PW
`
`PW
`
`I r
`I PW
`
`I t
`I t
`
`I t-1 I
`I t-1 I
`
`I t-2 I
`I t-2 I
`
`I t-3 I
`I t-3 I
`
`I t-4 I
`I t-4 I
`
`I t-5 I
`I t-5 I
`
`I t-6 I
`I t-6 I
`
`I t-7 I
`I t-7 I
`
`I t-s I
`
`I t-951
`
`lt-2991
`
`Ic It-299 >40
`
`SOFT OBSTRUCTION
`
`TRIP POINT
`
`[ 34•P3: t-7 -4] + [It-;2 -80] + [Ic It-95] <It
`
`HARD OBSTRUCTION
`
`TRIP POINT
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 13
`
`
`
`5,952,801
`
`1
`POWER WINDOW OR PANEL
`CONTROLLER
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`The present application is a continuation in part of
`copending U.S. application Ser. No. 08/736,786 to Boisvert
`et al. which was filed on Oct. 25, 1996, which was a
`continuation of U.S. application Ser. No. 08/275,107 to
`Boisvert et al which was filed on Jul. 14, 1994 (abandoned)
`which is a continuation in part of application Ser. No.
`07/872,190 to Washeleski et al, now U.S. Pat. No. 5,334,
`876. The disclosure of these related applications is incorpo(cid:173)
`rated herein by reference.
`
`2
`tion has been detected, the controller activates the switch to
`stop the motor. The obstruction sensing is most preferably
`based on both motor current and sunroof speed. The sunroof
`speed is derived from motor commutator pulses whose pulse
`5 width depends on the speed at which the motor rotates.
`In accordance with a preferred embodiment of the inven(cid:173)
`tion a history of both pulse width and motor current is stored
`in a buffer or memory unit that is maintained by the
`programmable controller. The buffer is updated with newly
`10 acquired data which is accessed and compared to sense an
`obstruction.
`The above and other objects and advantages of the
`invention will be further described in conjunction with the
`accompanying drawings.
`
`15
`
`FIELD OF THE INVENTION
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present invention concerns a control system for use in
`activating a motor driven window or panel. One example of
`such a window or panel is a motor vehicle sunroof.
`
`BACKGROUND ART
`
`FIGS. 1A and 1B are schematics of a power window or
`panel control circuit constructed in accordance with the
`20 present invention;
`FIGS. 2-12 are flow charts of a control program for a
`programmable controller that forms part of the power win(cid:173)
`dow or panel control circuit; and
`FIG.13 is a diagram of motor induced pulses that are used
`25 during evaluation of the operation of the power window or
`panel control circuit and more particularly are used to sense
`obstructions in contact with a leading edge of a panel
`coupled to the motor.
`
`BEST MODE FOR PRACTICING THE
`INVENTION
`
`National Highway Traffic Safety Administration Standard
`118 contains regulations to assure safe operation of power
`operated windows. Standard 118 has been amended to apply
`to power operated roof panels. It establishes requirements
`for power window control systems located on the vehicle
`exterior and for remote control devices. The purpose of the
`standard is to minimize the risk of personal injury that could
`result if a limb is caught between a closing power operated 30
`window and the window frame. The changes to Standard
`118 become effective Sep. 1, 1992. Amended Standard 118
`states that the maximum force allowable during an auto
`closure is to be less than 22 pounds onto a solid cylinder
`having a diameter of between 4 and 200 millimeters.
`Certain problems have been identified with operation of
`existing power window controls. One problem is an unde(cid:173)
`sirable shutdown of the power window control. It is also
`desirable to detect a soft obstruction in the window travel
`path as well as a hard obstruction. The gasket area of the
`window which avoids water seepage into the vehicle can
`present a problem to the design of a power window control,
`since the window or panel encounters different resistance to
`movement in the gasket region. An additional problem is
`detection of an obstruction when the motor is first activated.
`
`35
`
`40
`
`Turning now to the drawings, FIGS. 1A and 1B depict a
`circuit 10 for activating a direct current (d.c.) motor M
`having an output shaft coupled to a transmission that moves
`a window or panel in a motor vehicle. The circuitry dis(cid:173)
`closed in U.S. Pat. No. 5,334,876 used a pulse width
`modulation activation of the motor windings of a direct
`current motor to control the speed of motor output shaft
`rotation as the motor opens or closes the window or panel.
`The present system, however, couples the full battery volt(cid:173)
`age of a motor vehicle across the motor M whenever panel
`motion is needed.
`When used to operate a power sunroof the control circuit
`45 10 can open the sunroof, close the sunroof, and also tilt open
`the sunroof to a vent position. The preferred embodiment of
`the invention is used to control a power sunroof but other
`panels or windows could be actuated using the disclosed
`control circuit 10 and obstruction detection routines.
`Panel movement is accomplished by controlled actuation
`of the motor M. Two transistors 20, 21 have base inputs 20a,
`21a coupled to a microprocessor controller 22. Selectively
`activating one or the other of the transistors 20, 21 (but not
`both simultaneously) causes the motor M to move the panel
`55 in one or the other direction. Although a microprocessor
`controller 22 is used in the preferred embodiment of the
`invention, hard-wired circuitry could be used to implement
`the disclosed controlled motor energization. A preferred
`microprocessor 22 is a model PIC16C73A microprocessor
`60 commercially available from Microchip which executes an
`operating system or control program stored within a micro(cid:173)
`processor memory. This circuit 10 also includes a separate
`EEROM memory unit 23 that communicates with the micro(cid:173)
`processor 22 for storing constants that are determined during
`65 execution of the control program.
`Power is applied to the motor M from the motor vehicle
`battery. As seen in FIG. 1B, a battery input 24 is coupled to
`
`DISCLOSURE OF THE INVENTION
`
`The present invention provides method and apparatus for
`controlling operation of motor vehicle power window sys- 50
`terns as well as power roof panels.
`One embodiment of the invention includes apparatus for
`activating a motor for moving a window or panel along a
`travel path and de-activating the motor if an obstacle is
`encountered by the window or panel. The apparatus includes
`a sensor for sensing the motor current as the motor moves
`the window or panel along a travel path. A switch is used for
`energizing the motor with an energization signal. The appa(cid:173)
`ratus further includes a controller such as for example a
`programmable controller coupled to the switch means for
`controllably energizing the motor and more particularly for
`de-energizing the motor in the event an obstruction is
`encountered.
`The programmable controller monitors motor current
`from the sensor and performs a comparison between sensed
`motor current and a prior motor current sensed during a prior
`period. If the results of this comparison indicate an obstruc-
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 14
`
`
`
`5,952,801
`
`3
`the motor M through one of two single pole double throw
`relays 30, 32 having contacts 30a, 32a. When the contact
`30a connects the battery input 24 to one motor input M2, the
`second motor input M2 is connected through the contact 32a
`to ground through a small current sensing resistor 33. The
`motor then rotates in one sense. When the contact 32a
`connects the battery input 24 to the motor input MI the
`contact 30a connects the motor connection M2 to the
`resistor 33 and the motor rotates in an opposite sense.
`The position of the contact 30a is controlled by the current
`through a relay coil 30b. The coil is energized when the
`transistor 20 is turned on in response from an output from
`pin 26 of the microprocessor controller 22. Current passing
`through the coil 30b moves the contact 30a to the battery
`connection 24. In a similar manner, when the transistor 21
`is turned on in response from an output from pin 25 of the
`microprocessor, the contact 32a connects the other motor
`connection M1 to the battery. In either instance the non(cid:173)
`energized side of the motor M is grounded through a resistor
`33.
`
`Power Supply
`
`4
`actuated to close the sunroof from a vent position. This input
`can be controlled in either express or manual mode.
`Three additional inputs 70, 72, 74 monitor the status of
`three possible limit switches. A first input 70 is optionally
`5 used to monitor a full vent position of the sunroof. This input
`70 is pulled low if the sunroof is moved to the fully opened
`vent position. A second of the limit switch controlled inputs
`72 provides an input when the sunroof reaches its home
`position, i.e. the sunroof is closed. A third input 74 is
`10 optionally used to monitor a fully opened sunroof position,
`i.e. when the sunroof is slid to a fully opened position this
`third input 74 is pulled low. The availability of these three
`inputs 70, 72, 74 depends upon the configuration of the
`sunroof which can vary between sunroof manufacturers. The
`15 operating system software of the programmable controller
`22 is changed depending on the availability of these inputs.
`An additional optional input 76 is used to monitor rain by
`means of a capacitive sensor 78 that may be used to
`automatically close the sunroof if rain is sensed. A final input
`20 80 serves as a ground connection for a wiring harness for
`these inputs.
`The present implementation of the invention includes a
`temperature sensor 90 on a controller printed circuit board.
`The controller includes a thermistor sensor 92 coupled to an
`25 output from the voltage regulator 54. The signal generated
`by the sensor 90 is related to temperature and coupled to pin
`5 of the microprocessor controller 22.
`
`Motor Current Monitoring
`
`A power supply 40 (FIG. 1A) supplies a regulated voltage
`(VCC) for powering the circuit 10. The power supply
`includes a diode 44 that protects the control circuit 10 from
`inadvertent reverse battery connection.
`An ignition input 46 is used to control the condition of the
`power supply 40. When the ignition input 46 goes high in
`response to the motorist movement of the ignition key to 30
`either run, start, or accessory position, a high signal is
`transmitted through a diode 48 to a base input of a transistor
`50. This causes a second transistor 52 to conduct which
`applies the battery voltage from the battery voltage input 24
`to a voltage regulator 54. An output from the regulator 54 is 35
`a regulated voltage vee for powering the circuit 10.
`The power supply 40 is temporarily latched into operation
`for a controlled time interval after the ignition signal has
`been removed when the user switches the ignition off. A
`diode 60 is connected to an output (pin 4) from the controller 40
`22 and latches the power supply 40 in the on condition.
`Latching of the power supply allows the circuit 10 to
`automatically close the power sunroof after the ignition key
`is turned to an off position. An advantageous feature of
`activating the power supply 40 and hence the circuit 10 only 45
`when the ignition is switched on is to reduce quiescent
`current consumed by the control circuit 10.
`
`In addition to controlling the rotation direction of the
`motor M by means of the state of the two transistors 20, 21
`the microprocessor monitors the motor current from which
`it determines sunroof position and speed. Returning to FIG.
`1B, it is noted that whenever one of the contacts 30a, 32a is
`connected to the battery input 24 another of the contacts is
`coupled to the resistor 33 and by means of a conductor 110
`to a junction 112 located midway between two sensing
`circuits 114, 116. A signal transmitted through the conductor
`110 originates at the motor M and provides a signal based
`upon the current through the motor windings.
`The junction 112 is capacitively coupled through a capaci-
`tor 120 to one input 122 of an operational amplifier 124
`configured as a comparator amplifier. A second input 126 is
`coupled to a resistor network 128 that provides a reference
`voltage (in the disclosed design about 2.5 volts) to the
`comparator amplifier. Each time the motor commutates a
`spike is generated that is transmitted to the junction 112 and
`through the coupling capacitor 120 to the input 122. A
`50 second operational amplifier 130 is used to square up the
`output waveform from the operational amplifier 124 and is
`fed back to the microprocessor controller 22. The micro(cid:173)
`processor monitors the pulse width or time period between
`rising edges of the signals at pin 13. These pulses occur at
`55 generally regular intervals over the travel path of the panel.
`For one representative vehicle sunroof there are 3000 pulses
`from full open to closed position of the sunroof. The pulse
`width of these signals provides an indication to the micro-
`processor of the sunroof speed.
`The signal at the junction 112 is the instantaneous voltage
`that is developed across the resistor 33 due to operation of
`the motor. The junction 112 is also coupled to an input of an
`operational amplifier 140 configured as an amplifier having
`an adjustable gain controlled by the microprocessor by
`controlling outputs on pins 22 and 21. An output from the
`operational amplifier 140 is filtered by a low pass filter
`circuit 142 that filters out noise and then connected to the
`
`External Inputs
`
`FIG. 1A illustrates multiple inputs that couple additional
`signals to the circuit 10. These inputs are pulled high by
`means of a series of pull-up resistors. Additional details
`concerning one suitable interface for generating this series
`of inputs is contained in U.S. Pat. No. 5,334,876 to Washe(cid:173)
`leski et al which is incorporated herein. The input designa(cid:173)
`tions on the left of FIG. 1A are active when they are pulled
`low. The inputs are summarized here and referred to below
`in describing detailed operation of the control program for
`the microprocessor controller 22.
`A slide close input 66 is a momentary type input activated 60
`by the motorist and is used to close the sunroof. If the
`sunroof is already closed when this input is actuated, the
`sunroof will move to a vent open position. Momentary
`actuation causes the controller to enter express mode and
`continued actuation causes the program to enter manual 65
`mode. A slide open input 68 is also a momentary type input
`and is used to open the sunroof. The open input is also
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 15
`
`
`
`5,952,801
`
`5
`microprocessor (pin 2) to provide an analog voltage signal
`related to motor current. This voltage is converted to a
`digital value by the microprocessor. Normal operation of the
`motor M causes the controller to register a value of between
`40 and 80 out of a full range scan of 256 on an arbitrary or 5
`unitless digital scale.
`
`Control Operation
`
`The following summarizes the different functions the
`controller provides in actuating the motor 12. So called
`manual mode is achieved by the motorist actuating a rocker
`switch to ground either the open or close input 66, 68 for at
`least a predetermined interval. When in manual mode the
`microprocessor 22 activates the motor 12 to move the
`sunroof in a direction that is requested by the user. The
`controller 22 removes power to the motor 12 once the
`sunroof has reached its requested destination.
`In a so-called express mode of operation, the motorist
`may depress the rocker switch to ground one of the open or
`close inputs for less than a preset time period. This causes
`the sunroof to begin moving until either the roof has reached
`its closed or home position, its full open or full vent position,
`an obstruction is encountered while closing, or the user
`presses another key to interrupt the express mode selection.
`If the motorist chooses to stop the movement during the
`express mode, he or she actuates the rocker switch to ground
`either of the open or close inputs 66, 68. In a presently
`preferred use of the invention the inputs are controlled by a
`rocker switch that pivots away from a center position to
`ground either the open or close input for a temporary or
`extended period based upon user control of the rocker
`switch.
`
`Calibration
`To allow the controller 22 to perform the above functions
`it must first be calibrated. The calibration step need only be
`performed the first time power is applied to the circuit 10, or
`if the physical characteristics of the sunroof change. If
`calibration has not been performed an express mode move(cid:173)
`ment feature is inhibited. The calibration process is depicted
`in flowchart form in FIG. 11 of the drawings.
`Calibration can be initiated at any time the user feels that
`the control circuit 10 is not performing as it should and must
`always be done if either the controller 22 or the sunroof is
`changed. The size of the roof is recorded in the EEPROM 23
`as well as an identification word flag to enable sunroof
`operation in the express mode. The position of the sunroof
`is recorded in the EEPROM 23 each time the sunroof is
`stopped from moving. This is done to guarantee that in the
`case of a power down, the current position of the sunroof is
`always known. If at any time the position is considered to be
`unknown, the express mode is disabled until the next time
`the sunroof is moved to the fully closed or home position.
`The size of the sunroof is recorded in the following
`manner: The ignition is turned off and within five seconds
`the Open key is pressed and the ignition is brought back on.
`The controller 22 attempts to find the home or park position
`by means of a routine depicted in FIG. 12 and then proceeds
`to find the limit of the open area of the sunroof, i.e. the fully
`open position. When a stall condition is sensed 100 the size
`of the sunroof open area (in motor generated pulses) is
`recorded 102 and the controller reverses the direction toward
`104 the park position. The controller then finds the limit of
`the vent area by driving the sunroof toward the fully vented
`position until a stall condition is sensed 106. In the presently
`preferred embodiment of the invention, a stall condition
`
`10
`
`15
`
`20
`
`6
`mans a motor current of 180 on the unitless current input
`scale. If it is not possible to perform the calibration due to
`a failure to find the park position, no information is recorded
`and the sunroof operation is disabled.
`Operating System Overview
`FIGS. 2-12 depict a flow diagram of the control operating
`system that the controller implements. Turning to FIG. 2,
`this figure illustrates a main processing loop 110 that the
`microprocessor 22 executes until a control input causes the
`microprocessor 22 to exit the loop. An entry point to the
`main processing loop starts upon power up of the micro(cid:173)
`processor 22 where the program initializes 112 the processor
`and this includes the step of initializing the 1!0 ports. The
`rest of the main processing loop performs the steps of
`checking to see if the ignition input has been switched off
`114, or testing to see if the rocker switch has been actuated
`by the user to move the sunroof back 116 or forward 118.
`Note, moving the sunroof back is equivalent to closing the
`sunroof if the sunroof is in the vent position.
`If the ignition is off, the user could be leaving the car or
`remain sitting in the car with no intent to open the sunroof.
`The program checks to see if the sunroof is closed 120 by
`checking the input 72 controlled by the limit switch that
`25 indicates the roof is in the home position. If the roof is
`closed, the controller waits five seconds 122 and powers
`down the sunroof 124 by removing the sustaining signal on
`the diode 60. Note, that while the processing is testing 122
`if five seconds has elapsed the user could turn the ignition
`30 switch on so the program checks 126 for this and if it occurs
`the program returns to its main loop by a branch 128.
`It is also possible that the ignition has been turned off and
`the roof is not closed. This condition causes the program to
`branch 130 and check to see if five seconds elapses 132.
`35 During this check 132, if the ignition is switched on the
`program senses 133 this condition and follows a branch 134
`back to the main processing loop. If the five seconds expires
`and the sunroof is in the vent position, the program branches
`136 to close the vent 140 in express mode (FIG. 8) and then
`40 shuts off the power 142. If the sunroof is in the opened in the
`non-vent position a branch 144 causes the program to
`execute an express close from open routine (FIG. 7) 150 and
`then shut down power to the control circuit 10.
`If the ignition is not switched off, the program 110
`45 performs the test of seeing if either of the inputs 66, 68 has
`been grounded by the user actuating the toggle switch. If the
`input 68 is low the program branches 152 to check 154 if the
`roof is closed. If the roof is closed the program opens 160
`(FIG. 3) the sunroof and returns by the branch 134 to the
`50 main processing loop. If the roof is not closed the program
`branches to check 162 if the roof is in the vent area. This is
`done by checking the EEPROM to find the sunroof position.
`If the program determines the sunroof is in the vent area a
`close from vent routine 170 is executed and when the
`55 program returns from that routine it returns to the main
`processing loop by the branch 134.
`If the ignition is not switched off, and the input 66 is low,
`the program branches 172 to see if the roof is closed 174. If
`the roof is closed, a vent roof routine 180 is performed and
`60 the program returns to the main processing loop. If the roof
`is not closed, a branch 176 is taken to determine 178 if the
`roof is in the open area (checking the EEPROM) and if the
`roof is in the open area, a close from open routine 190 (FIG.
`5) performed before branching back to the main loop by the
`65 branch 134.
`Flowcharts for the routines 140, 150, 160, 170, 180, 190
`are depicted in FIGS. 8,7,3,6,4, and 5 respectively. Turning
`
`BNA/Brose Exhibit 1051
`IPR2014-00416
`Page 16
`
`
`
`5,952,801
`
`8
`flag in the EEPROM is enabled. If so, the microprocessor
`jumps to a routine 150 for conducting an express close from
`open. This routine is depicted in FIG. 7. The routine 170 in
`FIG. 6 for closing the sunroof from the vent position is
`similar to the routine of FIG. 5, instead of jumping to the
`routine 150 of FIG. 7, however, this routine branches to a
`routine for express close from a vent position as depicted in
`FIG. 8.
`FIGS. 7 and 8 are similar in design. If an obstruction is
`10 sensed at a decision step 270 the direction of motor actuation
`is reversed until the sunroof is either fully opened (FIG. 7)
`or fully vented (FIG. 8). In order to sense an obstruction a
`so-called trip point must be calculated by both routines at the
`step 272.
`
`Obstruction Detection
`
`7
`to FIG. 3, this figure depicts the steps the microprocessor 22
`performs in opening the sunroof 160. The first step 210 is to
`check if the input 68 is still low. If it is not, the initial sensing
`may have been due to noise and the program returns 212
`from the routine 160. If the input 68 is still low, the program 5
`waits in a loop 214 for% second and again checks 216 the
`input 68. If the user temporarily actuates the rocker switch
`for less than % second, the user wants to perform an express
`open. If the user actuates the switch for greater than %
`second the control is in manual mode.
`Assume manual mode. A branch 220 is taken and the
`microprocessor activates 222 the motor to open the sunroof.
`The sunroof continues to open until either the input 68 goes
`high indicating the rocker switch was released or that the
`motor has stalled and therefore the sunroof been fully 15
`opened and has reached it's end of travel limit. If the toggle
`switch was released the motor is stopped 224 and the
`microprocessor 22 leaves the routine 160. If the motor stalls
`the motor is stopped 226 and the EEPROM position indi(cid:173)
`cating the sunroof end of travel is recorded 228 before the 20
`microprocessor 22 leaves the routine 160.
`If the user momentarily has pressed the rocker switch
`indicating an express open is desired a branch 230 is taken
`and EEPROM is checked 232 to see if a valid sunroof
`position is stored in the EEPROM. If there is not a valid
`position in the EEPROM, the program returns 212. If the
`EEPROM is valid, the program activates the motor 234. As
`the motor runs, the program checks 236 to see if a key is
`depressed. If the user has depressed a key indicating the user
`wishes to end the express open, a branch 238 causes the 30
`motor to stop 224 and the routine is exited. If a key has not
`been pressed, a test is made 240 to see if the motor has
`stalled. This is an indication that the sunroof has reached an
`end of travel so a branch is taken 242 to stop the motor 226
`and update 228 end of travel position. FIG. 4 is analogous
`to FIG. 3 except that the routine 180 outlined in the FIG. 4
`flowchart is for venting the sunroof and is accessed from a
`different part of the main control loop of FIG. 2.
`FIG. 5 is a flowchart of a routine 190 for closing an open
`sunroof from a position either fully or partially opened. A
`first test 250 determines that the input is still active to avoid
`false closing due to noise. The program then tests 252 to see
`if the user has requested an express or manual mode of
`closing the sunroof. If the user has actuated the rocker
`switch for longer than% second the microprocessor assumes
`manual mode and a temporary actuation of less than %
`second is an express mode. In manual mode a branch 254 is
`taken and the motor M is activated 256 to close the sunroof.
`The microprocessor then checks 258 to see if the user has
`released the switch and if so the motor is de-energized 260
`and the routine 190 exited.
`If the switch has not been released the microprocessor 22
`determines 262 if the motor has stalled. There are certain
`operating conditions where the motor is unable to move the
`sunroof to the home condition. At low battery voltage or due
`to other physica