`Caddick et al.
`
`[11] Patent Number:
`[45] Date of Patent:
`
`4,463,426
`Jul. 31, 1984
`
`[54] AUTOMATIC POSITION CONTROL FOR A
`VEHICLE SEAT
`
`[75]
`
`Inventors: Gary R. Caddick, Lake Orion; Philip
`Q. Guest, Jr., Birmingham, both of
`Mich.
`
`[73] Assignee:
`
`International Telephone and
`Telegraph Corporation, New York,
`N.Y.
`
`[21] Appl. No.: 84,108
`
`Oct. 12, 1979
`[22] Filed:
`[51]
`Int. CI.J ......................... G06F 15/20; B60N 1/02
`[52] U.S. Cl .................................. 364/424; 296/65 R;
`318/466
`[58] Field of Search ............. 364/424, 425; 296/65 R;
`297/346; 318/466,467;248/394, 396; 200/1 R,
`153 R, 153 A, 153 L, 153 P
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`3,105,668 10/1963 Pickles et al. ....................... 248/394
`3,135,492 6/1964 Steere et al. ........................ 248/394
`3,183,314 5/1965 Pickles ··'····························· 248/394
`
`3,597,554 8/1971 Siegal .................................. 318/466
`3,626,130 12/1971 Siegal .................................. 318/466
`3,906,207 9/1975 Rivere et al. ....................... 364/425
`4,015,812 4/1977 Heesch ................................ 248/394
`4,158,160 6/1979 Meiller ................................ 318/467
`4,204,255 5/1980 Cremer ................................ 364/425
`Primary Examiner-Errol A. Krass
`Attorney, Agent, or Firm-James B. Raden; Marvin M.
`Chaban
`ABSTRACT
`[57]
`A seat position control device for a powered or auto(cid:173)
`matic seat adjusting mechanism for motor vehicles. The
`motor drives for the various adjustments uses a motor
`with a predetermined number of poles. Thus, for each
`revolution of a motor, a predetermined number of
`pulses is generated. By counting these pulses relative to
`a reference, the position of the seat can be determined.
`Within memory, a desired location setting may be regis(cid:173)
`tered to return the seat to that setting when desired. A
`commercially available microprocessor or suitable elec(cid:173)
`tronic components may be used as the logic and mem(cid:173)
`ory medium.
`
`3 Claims, 20 Drawing Figures
`
`+5V
`
`DRIVER
`
`SELECTOR
`SWITCH
`BANK
`
`55
`
`40
`
`• 'f 41
`--------··{MOTOR"II)_~
`HORt2
`- - - - - - @M§:oT~O~R~"~12)::==~? 4r2--+--+-
`VE-vr rR
`,43
`
`TO
`POWER
`SOURCE
`
`51
`
`52
`
`53
`
`WEBASTO EX. 1030
`WEBASTO ROOF SYSTEMS, INC. v. UUSI, LLC
`IPR2014-00650
`Page 1
`
`
`
`0\
`N
`.a::.
`...
`0\ w
`.a::.
`...
`.a::.
`
`
`-~
`
`....,
`
`.... -0
`
`(D
`B
`::r
`tf.l
`
`w -..
`i a
`•
`• en
`c::
`
`-
`
`~
`~
`
`~
`
`I
`
`I
`I
`
`I
`
`I
`I
`
`SOURCE
`POWER
`
`TO
`
`•
`
`• £
`
`FIG. I
`
`53
`
`PULSE I
`
`SHAPER
`
`I
`I
`
`I
`I
`
`I
`
`'
`
`'
`52
`
`SHAPER
`PULSE
`
`PULSE I
`
`SHAPER
`
`VE/lT. REAli.
`MOTOR~ .f"43
`
`V£,er. FR.
`MOTOR#J2
`
`1
`21 J -'--------{MOTOR#IIJ
`
`f{(JR/Z.
`
`1
`
`40
`
`L3l
`
`PROCESSOR
`
`MICRO
`
`55
`
`SELECTOR
`
`BANK
`SW[TCH
`
`Page 2
`
`
`
`0\
`tv
`~
`..
`0\ w
`~ ..
`
`~
`
`0 ....., -~
`(I) -N
`
`(I)
`::r
`tl.l
`
`t,.) -.. -\0
`"'C a (1) a
`•
`• rn
`c::
`
`~
`
`~
`00
`
`~~--0
`
`1/PU
`
`-
`
`.
`
`.
`
`R3
`R2
`Rl
`
`VooRo§
`
`28
`
`R7
`I
`IR6
`
`K8
`
`...,r-D9
`
`.,.s-D8
`..,...,-D7
`_s-D6
`.,...,.-D5
`_..-D4
`....s-D3
`. -~ :-:_
`"!!~
`Kl""'" -·
`-na
`
`-
`
`I
`
`L_ _____ , _____ ~_j
`I RECALL #2
`I
`I
`I RECALL #J HIS
`I VERT FRONT DOWN
`I VERT. FRONT UP
`I VERT. REAR DOWN
`I VERT. REAR UP
`HORii!. REARWARD I -/
`I HORI~. FORWARD _/0
`I
`I
`,----------f~
`
`{
`
`SET
`
`FIG. 2
`
`FIG. 2C
`
`FIG. 2A
`
`FIG. 28
`
`FIG. 28
`
`L-55
`
`,
`
`/'1£/l
`
`I
`I
`I
`:
`
`-
`
`::L
`
`""'
`»
`GROUND)
`BATT)
`
`Page 3
`
`
`
`U.S. Patent
`U.S. Patent 4 Jul. 31, 1984
`Jul. 31, 1984
`
`Sheet 3 of 14
`'Sheet 3 of 14
`
`4',463,426
`74,463,426
`
`_._
`
` a..."IA.altmN_mo:_4_-3w_n._rL..
`um6Ewulllll.n-P
`
`
`
`¢~mmova
`n'-:9
`
`-I~mmpom
`
`onmm
`
`“Al.fin’-e“
`
`Page 4
`
`
`
`
`U.S. Patent
`
`Jul. 31, 1984
`
`Sheet 4 of 14
`
`4,463,426
`
`~-. --,
`
`~31
`
`I
`I
`I
`I
`I
`I
`I
`L ____ _j
`-
`
`. 21)
`
`+5V
`SOURCE
`
`_£32
`, - --l
`I
`I
`
`22)
`
`-
`
`-
`
`K2
`
`-
`
`K3
`
`HORIZ
`
`II,/
`
`MOTOR
`
`-
`
`VERT.
`FRONT
`
`12../
`
`MOTOR
`
`VERT
`REAR
`
`MOTOR
`
`_ _L ____ l
`
`~34
`
`.----......-~r-_._.
`
`,
`
`I
`I
`
`DIRECTION
`
`FIG. 2C
`
`Page 5
`
`
`
`0\
`N
`~
`~ ...
`0\
`~
`~ ...
`
`~ .....
`
`~
`
`Ul
`~
`tfJ g
`
`~
`00
`\0
`.....
`..
`.....
`w
`~
`
`~ a (1) a
`~ . en
`
`•
`
`t--
`t--
`
`FIG. 3
`
`".7
`
`l ROM
`
`1
`~
`
`RAM
`
`X REGISTER
`
`~
`
`::> PROGRAM COUNTER
`
`RETURN REGISTER
`AND SUBROUTINE
`
`~
`
`·~
`
`REGISTER
`
`ACCUMULATOR
`Y REGISTER AND
`
`...-
`..--
`
`STATUS
`
`LOGIC UNIT
`ARITHMETIC
`
`0
`
`BUFFER
`
`LATCH AND
`R-OUTPUT
`
`~}
`
`BUFFARS AND
`
`CONVERTER
`PLA CODE
`
`LATCHES
`
`O-OUTPUTS
`
`~7
`
`16 BITS
`
`OUTPUTS
`
`8 BITS
`
`0 OUTPUTS
`
`REGISTERS
`
`AND PAGE BUFFER
`
`PAGE ADDRESS
`
`-v
`~
`
`~ INSTRUCTION
`
`DECODER
`
`AND TIMING
`OSCILLATOR
`
`4 BITS
`K INPUTS
`
`LOGIC BLOCK DIAGRAM
`
`Page 6
`
`
`
`U.S. Patent
`
`Jul. 31, 1984
`
`Sheet 6 of 14
`
`4,463,426
`
`YES
`
`RESET
`SET/MD FLAG
`
`JUMP TO
`UP POS
`
`NO
`
`DWNLP
`
`OUTPUT
`REV. MOTORS
`
`BACKWARD.
`DOWN
`SEQUENCE
`
`___ _j
`
`I
`I
`
`RESET
`SET/MD FLAG
`
`JUMP TO
`UP POS
`
`FIG. 4A
`
`FIG. 48
`
`FIG. 6A
`
`FIG.4A
`
`FIG. 6C
`
`FIG. 68
`
`FIG. 4
`
`FIG. 6
`
`FIG. 7A
`
`FIG. 78
`
`FIG. 7
`
`Page 7
`
`
`
`U.S. Patent
`
`Jul. 31, 1984
`
`Sheet 7 of 14
`
`4,463,426
`
`POWER
`
`CLEAR ALL
`RAM
`
`INITIALIZE
`BUFFERS(BFR)
`---+ POS
`--. HIS
`__.,HERS
`
`ANY UP
`POSITIONING
`SWITCHES
`ACTIVATED?
`
`YES
`
`YES
`
`HORIZ
`(H:e)
`
`RESET¢
`FLAG
`
`SET
`FLAG 16
`
`VERT. REAR
`(VR)
`
`UP
`SEQUENCE
`
`YES
`
`YES
`
`RESET
`FlA6
`I
`
`SET
`FLAG 1
`
`VERT FRONT
`(VF)
`
`YES
`
`YES
`
`RESET
`FLAG Z
`
`SET
`FLAG 2
`
`FIG. 48
`
`Page 8
`
`
`
`0\
`N
`~
`..
`0\ w
`~ ..
`0 ...., -~
`
`~
`
`00
`0 .....
`0
`::r
`(ll
`
`Colo) -... -\0
`~ a n a
`c •
`
`•
`tf.l
`
`~
`00
`
`'-4 F-
`
`POS BFR. TO
`TRANSFER
`
`HIS BFR
`
`DEST BFR
`HIS BFR. TO
`TRANSFER
`
`FIG. 5A
`
`SET HIS RCL
`
`FLAG
`
`YES
`
`YES
`
`---.......
`
`UP LOOP
`JUMP TO
`
`t
`
`I
`
`SET SET MD l SET SET MODE
`
`FLAG
`
`1
`
`I
`
`NO
`
`I
`
`YES
`
`r:. __ --" / /:_~
`
`FIG. 5
`
`I
`
`FIG. 58
`
`I
`
`FIG. 5A
`
`Page 9
`
`
`
`0\
`N
`~
`...
`0\ w
`~
`~ ...
`
`10
`$l
`~
`Cfj
`
`~ -~
`
`w -~ -10
`1-C a ('I) a
`tl'.l .
`c::: .
`
`~
`
`~
`00
`
`FIG. 58
`
`UP LOOP
`JUMP TO
`
`POS-DEST-DEST
`
`VF
`
`THREE DIRECTIONS
`DESTINATION FOR
`CALCULATE DISTANCE TO
`
`RESETRCL MD
`
`FLAG
`
`HER BFR TO
`TRANSFER
`
`DEST BFR
`
`POS BFR TO
`TRANSFER
`
`HER BFR
`
`Page 10
`
`
`
`U.S. Patent
`
`Jul. 31, 1984
`
`Sheet 10 of 14
`
`4,463,426
`
`RECALL
`
`SET RCL MD
`FLAG
`
`UP POSITIONING
`REQUIRED ?
`
`NO
`
`SET FLAG f6
`
`NO
`
`SET FLAG 1
`
`NO
`
`SET FLAG 2
`
`YES
`
`RESET
`FLAG 0
`
`YES
`
`RESET
`FLAG 1
`
`YES
`
`RESET
`FLAG 2
`
`NO
`
`FIG. 6A
`
`Page 11
`
`
`
`0\
`N
`'"' ~
`0\ w
`'"' ~
`~
`
`FIG. 68
`
`,-
`
`I
`
`~(/ ~(/
`
`RESET FLAGS
`
`0, I, AND 2
`
`
`
`--
`
`~
`
`A
`
`I
`
`TURN OFF I
`
`ALL MOTORS
`
`I
`NO I SET FLAG 1 I
`
`~---H~ ... ~ YES / Hl BKWD~ NO I SET FLAG 0 I
`
`NO /HER RCL~
`
`NO
`
`RECALL (RCL)
`HIS OR HER
`
`YES /HIS RCL .............
`
`0
`
`.....
`CD
`CD
`::s-'
`til
`
`~
`~
`
`~
`
`ac
`
`w -~ -\0
`
`::s
`a (1)
`"'C
`VJ .
`•
`c:::
`
`t""'t-
`
`NO I SET FLAG 2 I ....., -~
`
`Page 12
`
`
`
`U.S. Patent
`
`Jul. 31, 1984
`
`Sheet 12 of 14
`
`4,463,426
`
`RESET
`REACHED DOWN
`~.....-_F_L.....,A,....G_flJ_.....J DES T1 NAT ION 1
`
`RESET
`FLAG I
`
`RESET
`FLAG 2
`
`NO
`
`APPROPRIATE RECALL
`SWITCH RELEASED 7
`
`0
`
`NO
`
`JUMP TO
`ALL OFF
`
`FIG. 6C
`
`Page 13
`
`
`
`0\
`N
`~
`...
`0\ w
`~
`~ ...
`
`g, -~
`a -~
`
`fll go
`
`~ -"' -\0
`~ a n a
`c •
`
`~
`00
`
`~
`
`•
`VJ
`
`~ STALL COUNT STALL COUNT
`
`0----+H! I CLEAR
`
`STALL BKWD
`
`FLAG
`
`RESET H!
`
`I
`
`II DESTINATION
`
`INCREMENT
`
`BUFFER
`
`BUFFER
`POSITION
`INCREMENT
`
`------
`
`/~ II
`
`FIG. 7A
`
`I
`
`NO
`
`-
`
`-
`
`-
`
`STALL FWD YES
`
`I SETH~ I
`
`FLAG
`
`RESET HORZ.FF
`
`RESET
`
`YES I OUTPUT ~ P~Llf:SE ~I II OUTPI.IT
`
`H~ ON
`
`H~ OFF
`OUTPUT
`
`I
`
`LOOP
`HORIZ. (Hi!)
`
`NO
`/
`
`UP POS
`
`Page 14
`
`
`
`~
`00
`
`w -,. -\0
`
`~
`•
`~
`.
`L!
`
`I k--
`~
`a
`~ (D
`a
`
`__ _j
`--l
`
`I
`I
`
`COUNTERS
`DECREMENT
`
`I
`
`I
`
`LOOP
`HORIZ
`
`0\
`N
`--~
`w
`0\
`~ --~
`
`~
`
`0
`
`(I)
`(I)
`:::r
`Cll
`
`P-'t) -
`/y~--, ~
`..... -
`
`__ _j
`
`I
`I
`
`f
`
`1
`
`I
`I
`I
`
`LOOP
`
`VR
`
`FIG. 8
`
`F/6.78
`
`JUMP TO ~KliL/MU~ JUMP TO )
`
`OWN RCL
`
`FLAG
`
`OWN LP
`
`__ j
`
`I
`I
`I
`
`LOOP
`
`VF
`
`(
`
`'
`I
`I
`
`UP LOOP
`JUMP TO ~ KliL/MU~ JUMP TO )
`
`UP RCL
`
`FLAG
`
`I __ _j_ __ j
`
`'
`l
`
`VF OFF
`OUTPUT
`
`i
`I
`
`LOOP
`
`VF
`
`--,
`__ _L __ j
`
`I
`
`I
`I
`
`YES
`
`I
`--,--l
`
`I
`
`YES
`
`I
`I
`i
`
`LOOP
`
`VR
`
`Page 15
`
`
`
`1
`
`4,463,426
`
`AUTOMATIC POSITION CONTROL FOR A
`VEHICLE SEAT
`
`BACKGROUND OF THE INVENTION
`Automatic or powered tracks for seats of vehicles is
`well-known from many U.S. patents such as U.S. Pat.
`Nos. 4,015,812 issued Apr. 5, 1977 and 3,951,004 issued
`Apr. 20, 1976 both toM. 0. Heesch. In these patents is 10
`shown a seat track mechanism in which three separate
`motors or motor armatures are used for the respective
`motor drives, i.e., horizontal or fore and aft, vertical,
`front end and vertical rear end. Each such motor oper(cid:173)
`ates a mechanical drive for adjusting the seat position in 15
`response to the manual operation of a motor controlling
`switch. In such systems, a pair of switches may be pro(cid:173)
`vided for each motor, one switch of the pair for each
`direction of seat travel. One or more switches are actu(cid:173)
`ated and held actuated until the seat has reached a de- 20
`sired position.
`With these powered adjustments, an interest arose in
`setting a position and retaining a memory of that posi(cid:173)
`tion so that the seat would return to that position auto(cid:173)
`matically on actuation of one or more switches. In cer- 25
`tain of the developments in this field, the door position
`and return was tied to the door opening and closing.
`The mechanisms employed included cam-operated
`memory devices such as shown in U.S. Pat. Nos.
`2,827,105 issued Mar. 18, 1958; 3,183,314 issued May 11, 30
`1965 and 3,626,130 issued Sept. 11, 1970.
`In patents of the type shown, cams or gears are posi(cid:173)
`tioned at a desired setting and declutched from the
`motor drive. The seat can then be positioned free of the
`setting. If the seat is to be repositioned at the setting 35
`represented by the cam, the cam is coupled to the motor
`by a clutch to stop the motor travel at the desired set(cid:173)
`ting.
`
`2
`It is therefore an object of the invention to provide a
`new and improved memory and position control appa(cid:173)
`ratus for a powered seat mechanism for a vehicle.
`It is a further object of the invention to provide an
`5 electronic control for an adjustable seat track position(cid:173)
`ing mechanism.
`It is a still further object of the invention to provide a
`powered seat track mechanism in which the revolutions
`made by the drive motors are counted and a memory of
`the counts maintained relative to an arbitrary starting
`position for controlling the movement of the seat to one
`of two separate settings, each setting being one of an
`almost infinite number of possible settings.
`It is still another object of the invention to provide an
`automatic motor stall protection into the seat control of
`a powered seat track mechanism.
`
`BRIEF DESCRIPTION OF THE ORA WINGS
`FIG. 1 is a schematic block diagram of the circuit for
`the system employing our invention;
`FIG. 2 is a block showing the arrangement of FIGS.
`2A-2C to comprise a schematic circuit drawing show(cid:173)
`ing details of the block diagram of FIG. 1;
`FIG. 3 is a schematic logic block diagram of the
`microprocessor described herein; and
`FIG. 4 is a block diagram providing the relative posi(cid:173)
`tions of FIGS. 4A and 4B to show the flow chart of the
`power up routing;
`FIG. 5 is a block diagram providing the relative posi(cid:173)
`tions of FIGS. SA and SB to show the flow chart of the
`one scan sequence;
`FIG. 6 is a block diagram providing the relative posi(cid:173)
`tions of FIGS. 6A, 6B and 6C to make up the recall
`routine;
`FIG. 7 is a block diagram providing the relative posi(cid:173)
`tions of FIGS. 7A and 7B to make up the UP movement
`routine; and
`FIG. 8 is a flow chart of the down movement routine.
`
`40
`
`SUMMARY OF THE INVENTION
`The present invention is directed to an electronic
`memory and control for automatic adjustment of a
`power seat track.
`The memory and logic are contained within a mi- 45
`crocomputer, and other commercially available elec(cid:173)
`tronics.
`The basic principle of the invention resides in the use
`of separate motors for the three drives, the motors being
`selected to have a fixed number of poles, five pole mo- 50
`tors having been selected for use.
`For each revolution of a motor, ten signals are pro(cid:173)
`duced, one from each end of a pole passed during the
`revolution. A current transformer is used in series with
`the power leads of the motor to couple the signals pro- 55
`duced by the poles to the electronics. The electronics
`shape the pole signals so that they can be counted to
`define seat positions relative to a reference location.
`For each motor there is provided three memories,
`one acting as a present position indicator and the re- 60
`maining two as set position memories. The present posi(cid:173)
`tion counter has at least twice as many memory loca(cid:173)
`tions as the maximum number of pulses representing the
`full travel path of a motor. Thus, the original position of
`the counter need not be calibrated, the counter being set 65
`to its mid or center position on power-up of the system.
`From the central point, the counter may traverse the
`full motor travel in pulses in either direction.
`
`DETAILED DESCRIPTION OF THE
`DRAWINGS
`In the block diagram of FIG. 1, we show three mo(cid:173)
`tors 11, 12 and 13 labeled horizontal, vertical front and
`vertical rear. These motors may be housed in a single
`casing as shown by U.S. Pat. No. 3,437,303 issued to J.
`Pickles on Apr. 8, 1969, or may be separated into indi(cid:173)
`vidual housings. The motors are of conventional con(cid:173)
`struction and are five pole, bidirectional, permanent
`magnet motors. As is well-known (not shown herein),
`each motor through suitable mechanical linkage oper(cid:173)
`ates one drive of the seat adjustment mechanism.
`For each motor drive there is a relay, relay 21 for
`motor 11, relay 22 for motor 12 and relay 23 for motor
`13. In addition, there is a fourth relay 24 which controls
`the direction of energization of the motors. For each
`relay 21-24, there is a driver 31-34 respectively, which
`responds to the output signals L1-L4 from the mi(cid:173)
`crocomputer 40 to operate the respective relays.
`The microcomputer or controller 40 is a four-bit
`device which may be that one sold by Motorola, Inc.
`under the device number MCI41200. Inputs to the con(cid:173)
`troller are received from the motor current transformer
`phase shapers and from the selection switches of selec(cid:173)
`tor switch bank 55 to produce outputs to the relay driv(cid:173)
`ers.
`Each current transformer responds to the current
`variations caused by the rotation of the motor with
`which it is associated. For each revolution of a motor,
`
`Page 16
`
`
`
`25
`
`30
`
`4,463,426
`
`3
`the motor being a five pole one, ten current fluctuations
`or signals are generated in sequence. These signals are
`detected and shaped by the pulse shapers 51-53. These
`pulses are received, acknowledged and stored in the
`controller as will be explained.
`Also providing input to the controller is the selector
`switch bank 55 shown as a block in FIG. 1 but shown in
`greater detail in the circuit of FIG. 2B joined as shown
`in FIG. 2.
`In the circuit of FIG. 2B, there are shown nine nor- 10
`mally open, single pole, single throw, momentary
`contact switches comprising the selector switch bank
`55. Each switch is commonly connected to the return
`lead which connects the K8 input of the controller. The
`switches include two horizontal switches, one forward, 15
`the other rearward; two vertical rear switches, one up,
`the other down; two vertical front switches, one up and
`the other down; a set switch 61, a recall his' switch 62,
`and a recall her's switch 63. Each switch has a path
`which may be traced through an isolation diode D1-D9 20
`to a common input lead to the controller or micro(cid:173)
`processor (MPU) 40. The isolation diodes Dl-D9 allow
`detection of simultaneous multiple switch actuation.
`There are nine output switch enable leads R6-R13 and
`R15 and the common input check lead K8. The control-
`ler activates each output R6-R13 and R15 individually
`and checks the K8 input for an indication of the activa(cid:173)
`tion of the switch associated with the R output acti-
`vated at that instant.
`The seat movement is accounted for by the controller
`through pulse signal inputs derived from three current
`transformers 41-43 (FIG. 2A), one associated with each
`motor. As a motor rotates, the current transformer
`senses a signal associated with the current variations 35
`caused by motor commutation. The secondary of the
`transformer such as 42 is coupled to the inputs of a
`comparator 66 through like resistors 67 and 68. The
`secondary of the transformer 42 also has a capacitor 70
`across the leads to provide high frequency cancellation. 40
`The rectangular wave output from the comparator is
`passed through a differentiator or falling edge detection
`circuit comprised of capacitor 72 and associated com(cid:173)
`ponents. The components, including capacitor 72, gate
`74 and associated components taken as a whole, act to 45
`shorten the pulse width and provide pulse shaping in a
`manner appropriate for the SET input of the pulse latch
`80. This pulse compression reduces the chance of the
`SET input and RESET input from the controller 40
`occuring simultaneously. When the controller 40 senses 50
`the latch or flip-flop 80 set, the pulse will be internally
`counted and an acknowledge or reset pulse is sent from
`controller output 02, which resets latch 80.
`Thus, there are three pulse inputs to the controller,
`horizontal on input Kl, vertical rear on input K2 and 55
`vertical front on input K4. Associated with each of
`these inputs is a reset or acknowledge output from the
`controller, 00, 01 and 02, connected to the RESETS
`of latches 80, 81 and 82 respectively.
`For the microcomputer and the pulse input circuits, 60
`there is a five volt D.C. source derived from the 12 volt
`battery input from the vehicle supplied on lead L1
`(FIG. 2B). The input is regulated by the zener diode
`D20 and through transistor Q5 to provide the supply
`voltage to the microcomputer and pulse shaping cir- 65
`cuits. Once the system is coupled to the battery, the
`controller is powered up and remains in operation. Only
`in the event of disconnection from the battery source is
`
`4
`the controller shut off, in which case, the stored data
`within the volatile memories of the controller are lost.
`The output section of the system comprises four tran(cid:173)
`sistor driver stages 31-34, each connected to its respec-
`5 tive relay 21-23 (FIG. 2C). Three of the relay coils
`21-23 control contacts Kl-K3 for operation of the
`respective motors. The fourth relay 34 controls the
`direction of operation of the three motors. With relay
`34 unenergized, and contacts K4 in the normal position
`as shown in FIG. 2C, ground is connected to the lower
`end of the winding of each motor. This ground will
`energize each motor enabled by the activation of the
`upward or forward switches of switch bank 55 (FIG. 1),
`in the forward or upward direction. With a motor relay
`31-33 energized, 12 volt battery is supplied to the top
`winding of the respective motor winding to enable the
`motor or motors in the forward or upward direction.
`With relay K4 energized, 12 volt battery is supplied to
`the lower motor winding allowing the motor or motors
`to be operated in the backward or downward direction
`when the respective relay 31, 32 or 33 is de-energized.
`All motors, 11, 12 and 13, will be off either when the
`four relays 21-24 are de-energized or when the four
`relays are all energized.
`In FIG. 3, we show the manufacturers functional
`block diagram of a single chip microcomputer, type
`MC141200, which may be used as the controller.
`Within the microcomputer, there is a read only mem(cid:173)
`ory which retains the program for controlling data
`input, storage, processing and output. Data which is
`input on the K inputs from the motor rotation pulse
`detection circuits and from the switches flow to the
`logic unit for processing. These inputs enter the logic
`unit and cause modifications to the program execution
`sequence eventualizing a logical control of the outputs.
`The outputs 00-02 act as acknowledge resets for the
`pulse latches. The R outputs are used to scan the func(cid:173)
`tion switches and also to enable the appropriate relay
`drivers and associated motor relays.
`There are nine such switches multiplexed into one
`input (K8) with nine output multiplex enabling leads
`R6-R13 and RlS. No more than one enabling output
`shall be activated at any particular instant. These
`switches can be divided into four functional groups:
`A. Positioning Switches, Forward or Up (Three such
`switches)
`B. Positioning Switches, Reverse Rearward or Down
`(Three such switches)
`C. Recall Switches (Two switches)
`D. Set Switch (One switch)
`When the system is idle, the first function group
`switch to be activated is the group which takes prece(cid:173)
`dence.
`Within switch groups A: and B., the first switch de(cid:173)
`pressed determines the group acted upon and the other
`switches within that group will be monitored and acted
`upon simultaneously. All other switches are ignored
`until all switches of the original direction group are
`released.
`Within switch group C., the first switch depressed is
`the one acted upon while all other switches are ignored
`until the first switch is released.
`Within switch group D., the controller is enabled for
`the setting of a particular memory (His or Hers). With
`the group D. switch being depressed and held, all other
`function groups can and will be acted upon.
`When a switch in group C. is activated (Recall
`Switches), the controller computes the distance and
`
`Page 17
`
`
`
`4,463,426
`
`20
`
`60
`
`5
`direction to the desired position and enables the appro(cid:173)
`priate motors accordingly over output leads RO-R3. If
`recalling requires a motor or motors to go forward and
`other motors reverse, the motors are enabled in the
`forward direction first and then the reverse direction is 5
`enabled for the appropriate motor(s) once all the motors
`activated in the forward direction have reached their
`destination or have stalled.
`A recall switch (group C.) depressed following acti(cid:173)
`vation of the set mode, causes the present seat position 10
`to be saved in the memory position (His or Hers) repre(cid:173)
`sented by that recall switch. If .a positioning switch
`(group A. and B.) is depressed following the activation
`of the set mode, the set mode is deactivated.
`If the controller detects that a motor has stalled due 15
`to reaching the end extreme of a particular direction or
`due to system failure, that motor direction will be dis(cid:173)
`abled for further attempts of movement in that direc(cid:173)
`tion. To re-enable that direction, the controller must
`· detect movement in the opposite direction.
`In the flow charts, FIG. 4 represents the program
`entry when power is applied to the system. This pro(cid:173)
`gram entry is executed whenever the power is initially
`applied to the system. The system thereafter runs and
`cycles continuously as long as power is maintained. The 25
`system will remain running and operative for the life of
`the system. Whenever the power is removed and subse(cid:173)
`quently replaced, initialization will recur.
`For each direction, horizontal, vertical rear and verti(cid:173)
`cal front, there are four buffers or memories used within 30
`the controller. These include: the actual position buffer
`(POS), two memory buffers (HIS and HER) and a desti(cid:173)
`nation buffer (DEST) used for calculating the distance
`to destination.
`Additional memories within the controller include 35
`various one bit memories or flags used for processing
`control. One group of flags referred to as flag 0, flag 1
`and flag 2 are used as indicators for which motors are
`presently enabled to allow counting of rotation pulses
`for these motors only. Another grouping of flags indi- 40
`cates which motor directions have stalled in the past
`and should not be enabled. There are six of these flags;
`Hz stall forward, Hz stall backward, VR stall forward,
`VR stall backward, VF stall forward and VF stall back(cid:173)
`ward. In addition, there are three other flags to control 45
`processing, the RCLMD flag indicates whether or not
`recall processing is taking place, the SETMD flag indi(cid:173)
`cates whether the set switch has been activated and the
`HISRCL flag indicates which recall switch was last
`activated.
`Viewing FIG. 4B, the first process occuring on a
`power-up condition is to clear all random access mem(cid:173)
`ory of spurious data. The position buffer and His' and
`Her's buffers or memories are then initialized to the
`numeric center position of the memories with disregard 55
`for the initial positions of the seat adjustment mecha(cid:173)
`nism. Since the buffer memories have. a capaCity of
`more than double the number of possible motor posi(cid:173)
`tions, a full traverse of any motor drive is then possible
`without memory overflow." ..
`When the system is inactive (no switches activated),
`all nine switches are continuously scanned. This is ac(cid:173)
`complished as shown in the flow diagrams FIGS. 4B,
`4A and SA with the routines labeled UPLOOP,
`DWNLP and RCLCK. This program sequence is re- 65
`peated until a switch is activated. When a switch is
`activated, the program sequence will change according
`to the function described by the activated switch.
`
`50
`
`6
`If an up positioning switch is pressed, detection
`would be accomplished in the UPPOS routine as shown
`in FIG. 4B. The program will check the corresponding
`stall forward flag to determine if that particular direc(cid:173)
`tion may be enabled. Assuming that the stall flag is not
`set, the corresponding count enable flag (flag 0, flag 1 or
`flag 2) will be set.
`Continuing, the other up direction switches are
`checked for activation and similarly, the appropriate
`count enable flags will be set, providing stall has not
`occured in these directions. Previous to entry into
`DWNLP (FIG. 4A), a check is made for any count
`enable flags being set.
`With an up position switch having been pressed and
`the flag set, the program will then take the branch caus(cid:173)
`ing the SETMD flag to be reset (positioning switches
`diable the set mode as described previously) and flow
`proceeds to the UPPOS routine. The UPPOS routine
`handles the turning on and off of motors and the count(cid:173)
`ing of pulses as allowed by the count enable flags.
`Inspection of FIG. 7A shows that a motor will be
`turned off or turned on directly, dependent upon the
`state of flag 0. With the flag set, and motor enabled, the
`pulse input is then inspected for a corresponding rota(cid:173)
`tion pulse. If no pulse is present, the associated stall
`counter is incremented to keep track of the number of
`complete up positioning program loops made without a
`pulse being present. When this counter overflows, the
`forward stall flag will be set, the count enable flag will
`be reset and the motor will be turned off. This will
`happen after an approximate one-half second absence of
`rotation pulses.
`When a rotation pulse is sensed, the program outputs
`a pulse latch reset, increments the position memory by
`one count, increments the distance to destination mem(cid:173)
`ory by one count, zeros or resets the stall loop counter
`and will reset the opposite (reverse) stall flag if previ(cid:173)
`ously set. This described procedure is repeated for the
`other two directions as shown in FIG. 7B. The last
`check within the UPPOS routine is to check for the
`RCLMD flag being set. Since this routine is used for
`both positioning and recalling, this check is needed to
`determine which part of the program to return to,
`UPLOOP or UPRCL.
`The cyclical sequence for up positioning, which in(cid:173)
`clude the routines UPLOOP and UPPOS, are repeated
`until all count enable flags are reset. This will occur
`after all up positioning switches are released and/or all
`up direction motors have stalled. At that time, program
`flow proceeds to the DWNLP routine where similar
`processing takes place upon inspection of the down
`positioning switches and motor rotation pulses.
`When down positioning is complete, program flow
`proceeds to the RCLCK routine. This routine checks
`the remaining switches associated with memory setting
`and recalling. The action taken upon detection of the
`SET switch is to simply set the SETMD flag for future
`reference. If the SET switch is not activated, the two
`RECALL switches are inspected for activation. With
`one of these switches being activated, the program then
`checks the SETMD flag to determine what action to
`take.
`If the SETMD flag is set, due to a previous activation
`of the SET switch, memory setting will be accom(cid:173)
`plished by transferring non-destructively, the contents
`of the present position memory to the appropriate mem(cid:173)
`ory, HIS or HER, depending upon which recall switch
`is activated. Otherwise, the indicated function is to
`
`Page 18
`
`
`
`4,463,426
`
`7
`accomplish a memory position recall, either his' or
`her's.
`For future reference as to what type of recall is taking
`place, a HISRCL flag will be set if HIS RECALL
`switch is activated or reset if HER RECALL switch is 5
`activated. The routine then sets up for a distance-to-des(cid:173)
`tination calculation by transferring, non-destructively,
`either the HIS or HER memory to the DEST memory.
`The program then subtracts this calculated number
`from the present position value and returns the result to 10
`the DEST memory. The DEST memory now reflects
`the number of pulses required to reach the destination
`for each direction, horizontal, vertical rear and vertical
`front.
`Proceeding to the RCL routine, the program sets the 15
`RCLMD flag and then inspects each DEST value for a
`negative quantity (FIG. 6A). If the value is negative,
`which indicates movement in the up or forward direc(cid:173)
`tion is necessary, a check for stall in that direction is
`made and the count enable flag is set appropriately. 20
`After the same procedure is repeated for the other two
`directions, the routine UPRCL is entered.
`The UPRCL routine as shown in FIG. 6A inspects
`the DEST memories to determine when the destination
`has been reached. When that condition has been met, 25
`the associated count enable flag is reset.
`The cyclical sequence for upward recalling passes
`repeatedly
`through
`the UPRCL routine and
`the
`UPPOS routine. As described previously, the UPRCL
`routine determines when a particular direction should 30
`stop movement, indicated by the reseting of the associ(cid:173)
`ated flag and the UPPOS routine does the actual output
`control of the motor and the counting of rotation pulses
`as well as the detection of motor stall. The last sequence
`within the UPRCL routine determines whether the 35
`recall switch, which initiated the recall, as indicated by
`the HISRCL flag, remains activated. This allows the
`system to terminate a recall operation by release of the
`recall switch. If it is determined that the switch has been
`released, the program proceeds to ALLOFF routine 40
`which shuts off all motors and resets flags to return the
`system to the inactive state.
`When the upward recall is completed, as determined
`by all count enable flags being reset due to reaching the
`destination for all forward movement or due to stall 45
`(assuming the recall switch remains activated), the flow
`then proceeds to the downward recall portion of the
`program. Downward recalling is accomplished in a
`manner similar to upward recalling with repetitive cy(cid:173)
`cling through the DWNRCL routine (FIG. 6C) and the 50
`DWNPOS routine (FIG, 8). Again, at the end of the
`DWNRCL routine, checks are made for switch release
`and downward recall completion. In order to exit from
`the recall routine and return to the inactive mode, the
`switch must be released. When these conditions are met, 55
`the routine flow proceeds to the ALLOFF routine and
`then commences with the complete switch scan associ(cid:173)
`ated with the idle mode.
`We claim:
`1. A control apparatus for controlling the position of 60
`the seat of a powered seat mechanism for bidirectional
`travel in a fixed path of limited extent, said apparatus
`
`8
`including a bidirectional motor operative to drive said
`mechanism in either of two directions, said motor hav(cid:173)
`ing a predetermined number of poles, means for deriv(cid:1