Anti-pinch detection system using power dissipation monitoring

EP4747105A1Pending Publication Date: 2026-05-27MAGNA SEATING INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
MAGNA SEATING INC
Filing Date
2024-08-14
Publication Date
2026-05-27

AI Technical Summary

Technical Problem

Existing anti-pinch detection systems in automotive seat assemblies fail to timely detect pinch conditions, particularly soft pinch conditions, and may not identify potential motor issues related to aging or overuse.

Method used

The system employs power dissipation monitoring by using a hall effect sensor to detect hall effect pulses, calculating rotational speed, and determining a new time constant to detect premature pinch conditions before the electric motor draws maximum current.

Benefits of technology

This approach enables early detection of pinch conditions, including soft pinch and hard collision, reducing the risk of motor stall and potential damage, while also identifying potential motor issues related to aging or overuse.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IMGF000040_0001
    Figure IMGF000040_0001
  • Figure 00000048_0000
    Figure 00000048_0000
  • Figure 00000049_0000
    Figure 00000049_0000
Patent Text Reader

Abstract

A method for detecting a pinch condition in a seat assembly for use in an automotive vehicle includes determining a rotational speed of an output shaft of an electric motor, determining a new time constant TCnew of the rotational speed, and detecting a pinch condition if the new time constant TCnew is greater than a calibration scaler G multiplied by a predetermined time constant TCn. A second method for detecting a pinch condition includes determining a delta power between an electric power provided to the electric motor and a mechanical power delivered by the electric motor and calculating an amount of energy E by integrating the delta power over the time period. The second method determines that a pinch condition has occurred based on the amount of energy E and based on an energy threshold TH.
Need to check novelty before this filing date? Find Prior Art

Description

ANTI-PINCH DETECTION SYSTEM USING POWER DISSIPATION MONITORINGCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to U.S. Provisional Application 63 / 532,459, filed on August 14, 2023, the disclosure of which is hereby incorporated by reference in its entirety7.FIELD OF THE INVENTION

[0002] The present invention relates to a seat assembly for an automotive vehicle. More particularly, the invention relates to an anti-pinch detection system using power dissipation monitoring for use in an automotive seat assembly.DESCRIPTION OF RELATED ART

[0003] Automotive vehicles typically include one or more seat assemblies having a seat cushion and a seat back for supporting a passenger above a vehicle floor. It is commonly know n for certain seat assemblies to be repositionable along opposing seat tracks. In addition, it is commonly known for the seat assembly to include an input switch, a controller, and an electric motor. Typically, the input switch is electrically connected to the controller and configured to input requests to the controller. In addition, the controller is electrically connected to the electric motor and configured to selectively supply power to the electric motor. The electric motor is ty pically operatively coupled to a component of the seat assembly and configured to reposition the component when the controller provides power to the electric motor.

[0004] However, the seat assembly might encounter an obstruction while the electric motor is receiving powder. A pinch condition occurs w hen a portion of the seat assembly encounters an obstruction or impacts an object while the electric motor is powered. One ty pe of pinch condition is a hard collision wherein the seat assembly encounters a hard object while the controller is providing power to the electric motor. The hard collision may cause the electric motor to stall and pull a high amount of current. A second type of pinch condition is a soft pinch, wherein the obstruction is compressible. The current drawn by the electric motor may increase slowly over time due to the soft pinch condition.

[0005] Typically, the controller will terminate power to the electric motor if the amount of current draw n by the electric motor exceeds a maximum hardw are current limit. The controlleris typically configured to stop the electric motor when a power surge or other errors are detected. In certain known seat assemblies, the controller includes a current sensor or a position sensor to sense inconsistencies in the motion of the component or in the motion of the electric motor. It is commonly known for the controller to detect a pinched condition based on monitoring the current sensor and / or a position sensor.

[0006] However, commonly known methods might not detect an obstruction before the electric motor stalls or pulls a high amount of current. In addition, the controller might not detect the soft pinch condition in a timely manner since the change in the amount of current draw n by the electric motor may increase at a slower rate than the increase with a hard collision. Further, commonly known methods might not detect the pinch conditions due to potential motor issues related with aging and overuse scenarios.

[0007] It is desirable for the controller of the seat assembly to include anti-pinch detection which can detect improper blockage of movement, and which can detect hindering of the movement of the electric motor. In addition, it is desirable for the controller to be able to detect hard collisions and soft pinch conditions before the electric motor draws the maximum hardware current. Further, it is desirable to identify potential motor issues related with aging or overuse scenarios.SUMMARY OF THE INVENTION

[0008] According to one embodiment, there is provided a method for detecting a pinch condition in a seat assembly for use in an automotive vehicle. The seat assembly includes a controller operatively coupled to an electric motor having an output shaft and a hall effect sensor configured to output hall effect pulses to the controller as the electric motor rotates the output shaft. The method includes the steps of providing a calibration scaler G, a predetermined amount of time Hi, and a predetermined time constant TCn; acquiring a first plurality of hall effect pulses received from the hall effect sensor during a first time period; and determining a first rotational speed of the output shaft during the first time period based on the first plurality of hall effect pulses. The method also includes the steps of determining a new- time constant TCnew related to an amount of change in the first rotational speed over the first time period; determining if the new' time constant TCnew is greater than the calibration scaler G multiplied by the time constant TCnfor at least the amount of time Hi; and determining that a pre-maturepinch condition has occurred if the new time constant TCnew is greater than the calibration scaler G multiplied by the time constant TCnfor at least the amount of time Hi.

[0009] According to a second embodiment, there is provided a method for detecting a pinch condition in a seat assembly for use in an automotive vehicle, wherein the seat assembly includes a controller operatively coupled to an electric motor having an output shaft and a hall effect sensor configured to output hall effect pulses to the controller as the electric motor rotates the output shaft. The method includes the steps of providing a predetermined energy threshold TH; acquiring a first amount of voltage and a first amount of pulse width modulation (PWM) power provided to the electric motor, a first amount of current drawn by the electric motor, and a first plurality of hall effect pulses received from the hall effect sensor during a first time period; and determining a first electric power provided to the electric motor based on the first amount of voltage and the first amount of current during the first time period. The method also includes the steps of determining a first mechanical power provided by the electric motor based on the first amount of PWM power provided to the electric motor and the first plurality of hall effect pulses received from the hall effect sensor during the first time period; determining a first delta power between the first electric power and the first mechanical power during the first time period; determining a first amount of energy' El by integrating the first delta power over the first time period; and determining that a pre-mature pinch condition has occurred when the first amount of energy El is greater than the predetermined energy threshold TH.

[0010] According to a third embodiment, there is provided a method for detecting a pinch condition in a seat assembly for use in an automotive vehicle, wherein the seat assembly includes a controller operatively coupled to an electric motor having an output shaft and a hall effect sensor configured to output hall effect pulses to the controller as the electric motor rotates the output shaft. The method includes the steps of providing a predetermined energy threshold TH; acquiring a first amount of voltage and a first amount of pulse width modulation (PWM) power provided to the electric motor, a first amount of current drawn by the electric motor, and a first plurality7of hall effect pulses received from the hall effect sensor during a first time period; and determining a first electric power provided to the electric motor based on the first amount of voltage and the first amount of current during the first time period. The method also includes the steps of determining a first mechanical power provided by the electric motor based on the first amount of PWM power provided to the electric motor and the first plurality of hall effect pulses received from the hall effect sensor during the first time period; determining afirst delta power between the first electric power and the first mechanical power during the first time period; and acquiring a second amount of voltage and a second amount of PWM power provided to the electric motor, a second amount of current drawn by the electric motor, and a second plurality of hall effect pulses received from the hall effect sensor during a second time period. The method also includes the steps of determining a second electric power provided to the electric motor based on the second amount of voltage and the second amount of current during the second time period; determining a second mechanical power provided by the electric motor based on the second amount of PWM power provided to the electric motor and the second plurality7of hall effect pulses received from the hall effect sensor during the second time period; determining a second delta power between the second electric power and the second mechanical power during the second time period; and determining that a pinch condition has occurred when the second delta power is greater than the first delta power and greater than the predetermined energy threshold TH.BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Advantages of the present invention will be readily appreciated as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings wherein:

[0012] Figure 1 is a perspective view of a seat assembly including a seat cushion, a seat back, a controller, a component, and an electric motor having an output shaft, according to one embodiment of the present invention;

[0013] Figure 2 is a graph of pulse width modulation (PWM) power provided to the electric motor of Figure 1 as the electric motor moves the component between a first position and a second position;

[0014] Figure 3 is a graph of hall effect pulses received over time by the controller of Figure 1;

[0015] Figure 4 is a graph of rotational speed of the output shaft of Figure 1 as the electric motor moves the component between the first position and the second position;

[0016] Figure 5 is a graph of hall effect pulses received by the controller of Figure 1 and the electric power supplied by the controller to the electric motor over time;

[0017] Figure 6 is a graph of the current drawn by the electric motor of Figure 1 as the component is moved between the first position and the second position;

[0018] Figure 7 is a graph of the voltage supplied to the electric motor of Figure 1 as the component is moved between the first position and the second position;

[0019] Figure 8 is a schematic view of a storage format for an ignition counter, according to one embodiment of the present invention;

[0020] Figure 9 is a flow chart for controlling the electric motor of Figure 1, according to one embodiment of the present invention;

[0021] Figure 10 is a flow chart for a sequence detection process, according to one embodiment of the present invention;

[0022] Figure 11 is a flow chart for an ignition counter, according to one embodiment of the present invention;

[0023] Figure 12 is a flow chart for an average current monitor, according to one embodiment of the present invention;

[0024] Figure 13 is a graph of the current drawn by the electric motor of Figure 1 as the component is moved between the first position and the second position, according to one embodiment of the present invention;

[0025] Figure 14 is a schematic of zones 1-9 of the current drawn by the electric motor of Figure 1. according to one embodiment of the present invention;

[0026] Figure 15 is a graph of the current drawn by the electric motor of Figure 1 as the component is moved between the first position and the second position, according to one embodiment of the present invention;

[0027] Figure 16 is a flow chart for an overcurrent monitor, according to one embodiment of the present invention;

[0028] Figure 17 is a schematic view of a storage format for an average current monitor, according to one embodiment of the present invention;

[0029] Figure 18 is a schematic view' of a storage format for an overcurrent monitor, according to one embodiment of the present invention;

[0030] Figure 19 is a schematic view of a storage format for storing a position and a PWM zone, according to one embodiment of the present invention;

[0031] Figure 20 is an enlarged view of portion 20 of the voltage graph in Figure 7;

[0032] Figure 21 is an enlarged view of portion 21 of the current graph in Figure 6;

[0033] Figure 22 is a graph of the electric power and the mechanical power over time, according to one embodiment of the present invention;

[0034] Figure 23 is a graph of the mechanical force over time, according to one embodiment of the present invention;

[0035] Figure 24 is a graph of the HE Delta T over time, according to one embodiment of the present invention;

[0036] Figure 25 is a graph of electric power and HE Delta T over time and showing storing values of EPave and DTaveinto memory, according to one embodiment of the present invention;

[0037] Figure 26 is a flow chart for a P5 event analysis, according to one embodiment of the present invention;

[0038] Figure 27 is a schematic showing storing values of EPaVe and DTavein memory over time and completing a health status assessment, according to one embodiment of the present invention;

[0039] Figure 28 is a graph of the average electric power (EPaVe) in comparison to the average HE Delta_T (DTave) for data in storage buffer M and in storage buffer M', according to one embodiment of the present invention;

[0040] Figure 29 is a flow chart for a P6 pinch detection, according to one embodiment of the present invention;

[0041] Figure 30 is a flow chart for a region C pinch detection, according to one embodiment of the present invention;

[0042] Figure 31 is a graph of the electric power and the mechanical power over time and showing a soft pinch condition, according to one embodiment of the present invention;

[0043] Figure 32 is a graph of the electric power over time and showing a soft pinch condition, according to the embodiment of Figure 31;

[0044] Figure 33 is a graph of the rotational speed over time and showing a soft pinch condition, according to the embodiment of Figure 31;

[0045] Figure 34 is a graph of the electric power and the mechanical power over time and showing a hard collision, according to one embodiment of the present invention;

[0046] Figure 35 is a graph of the electric power over time and showing a hard collision, according to the embodiment of Figure 34;

[0047] Figure 36 is a graph of the rotational speed over time and showing a hard collision, according to the embodiment of Figure 34;

[0048] Figure 37 is a graph of the electric power and the mechanical power over time and showing a first scenario, according to another embodiment of the present invention;

[0049] Figure 38 is a graph of the electric power and the mechanical power over time and showing a second scenario, according to another embodiment of the present invention;

[0050] Figure 39 is a graph of the electric power and the mechanical power over time and showing a third scenario, according to another embodiment of the present invention;

[0051] Figure 40 is a graph of the electric power and the mechanical power over time and showing a fourth scenario, according to another embodiment of the present invention;

[0052] Figure 41 is a graph of the electric power and the mechanical power over time and showing a fifth scenario, according to another embodiment of the present invention;

[0053] Figure 42 shows a schematic of values of an energy threshold TH, according to one embodiment of the present invention;

[0054] Figure 43 is a first flow chart for the P6 pinch detection, according to a second embodiment of the present invention;

[0055] Figure 44 is a second flow- chart for the P6 pinch detection, according to the second embodiment;

[0056] Figure 45 is a flow chart for the P6 pinch detection, according to a third embodiment of the present invention; and

[0057] Figure 46 is a chart showing a detection boundary, according to another embodiment of the present invention.DETAILED DESCRIPTION OF THE INVENTION

[0058] Figures 1-46 illustrate an automotive vehicle seat assembly 10 having an anti-pinch detection system 12, according to embodiments described herein. Directional references employed or shown in the description, figures, or claims, such as top, bottom, upper, lower, upward, downward, lengthwise, widthwise, left, right, and the like, are relative terms employed for ease of description and are not intended to limit the scope of the invention in any respect. Referring to the Figures, like numerals indicate like or corresponding parts throughout the several views.

[0059] Figure 1 illustrates a perspective view of a vehicle seat assembly 10 having a seat back 14 pivotally connected to a seat cushion 16 which is slidably coupled to opposing seat tracks 18, as is commonly known in the art. The seat assembly 10 also includes a controller 20. an electric motor 22, a gearbox 24, a forward switch 25 A, a rearward switch 25B, and a component 26. The controller 20 is electrically connected to the forward switch 25 A, the rearward switch 25B, and the electric motor 22.

[0060] The electric motor 22 includes an output shaft 28 operatively coupled to the gearbox 24. The electric motor 22 is configured to selectively rotate the output shaft 28 in a first rotational direction 30 and in an opposing second rotational direction 32 in response to pulse width modulation (PWM) power 34 (Figure 2) provided by the controller 20, as is commonly known in the art. In addition, the electric motor 22 includes a hall effect sensor 36 configured to output hall effect pulses 38 (Figure 3) in response to rotation of the output shaft 28 which are received by the controller 20. In certain embodiments, the PWM power 34 is adjusted using pulse width modulation (PWM), as commonly known in the art. The amount of the PWM power 34 is adjusted by increasing and / or decreasing the percentage amount of the PWM duty cycle 52, as will be discussed further below.

[0061] Depicted in Figure 1, the gearbox 24 is operatively coupled to the component 26 of the seat assembly 10. The gearbox 24 is configured to reposition the component 26 in a first direction 40 towards a first position 42 and in an opposing second direction 44 towards a second position 46 in response to the electric motor 22 rotating the output shaft 28 in the first and second rotational directions 30, 32, respectively. The seat assembly 10 also includes a rearward stop 48 and a forward stop 50 defining the first position 42 and the second position 46, respectively, as is commonly known in the art. It will be appreciated that the output shaft 28 of the electric motor 22 might be operatively coupled to alternate components of the seat assembly 10, wherein rotation of the output shaft 28 causes one component to be transposed and / or pivoted relative to a second component, as is commonly known in the art, without altering the scope of the present invention.

[0062] In operation, when the component 26 is in the first position 42 and the controller 20 receives an instruction from the forward switch 25A to reposition the component 26 towards the second position 46 (arrow 44), the controller 20 selectively provides the PWM power 34 to the electric motor 22 causing the output shaft 28 to rotate in the second rotational direction 32 which causes the component 26 to be repositioned towards the second position 46 (arrow 44). The controller 20 terminates the PWM power 34 to the electric motor 22 when the component 26 is the second position 46 and / or when the controller 20 receives instruction from the forward switch 25A to terminate movement of component 26. In addition, when the component 26 is in the second position 46 and the controller 20 receives an instruction from the rearward switch 25B to reposition the component 26 towards the first position 42, the controller 20 selectively provides the PWM power 34 to the electric motor 22 causing the output shaft 28 to rotate in the first rotational direction 30 which causes the component 26 to be repositioned towards the first position 42 (arrow 40). The controller 20 terminates the PWM power 34 to the electric motor 22 when the component 26 is the first position 42 and / or when the controller 20 receives instruction from the rearward switch 25B to terminate movement of component 26.

[0063] A power curve 34A in Figure 2 shows an exemplar}7graph of the amount of the PWM power 34 provided to the electric motor 22 by the controller 20 as the component 26 is repositioned from the first position 42 at time A to the second position 46 at time B. Depicted in Figure 2. the amount of the PWM power 34 at a specific time is described as an instantaneous power Pnat time tn. The amount of the PWM power 34 provided to the electric motor 22 is the electric power created by a PWM signal which is directly correlated with a percentage amountof the PWM duh' cycle 52, as is commonly known in the art. In more detail, the percentage amount of the PWM duty cycle 52 is the ratio of the duration of the full-power pulse to the entire pulse width modulation (PWM) interval period of the PWM power 34 provided to the electric motor 22. A percentage amount of 100% of the PWM duty cycle 52 indicates fullpower being provided to the electric motor 22. The amount of PWM power 34 provided to the electric motor 22 is generally proportional to the amount of force or torque provided by the electric motor 22 and is related to the percentage amount of the PWM duty cycle 52 provided to the electric motor 22.

[0064] Referring to Figure 1 and the power curve 34A of Figure 2, initially the electric motor 22 is de-energized with the component 26 in the first position 42. When the controller 20 receives an instruction from the forward switch 25 A, the controller 20 provides a low amount of PWM power 34 (i.e., a low percentage amount of the PWM duty cycle 52) to the electric motor 22 at time A. Next, the controller 20 ramps up the amount of PWM power 34 over time by increasing the percentage amount of the PWM duty cycle 52, as illustrated by portion 54 in Region C. Referring to portion 56 of power curve 34A in Region D, the controller 20 continues to provide a high amount of PWM power 34 (i.e., a high percentage amount of the PWM duty cycle 52) to the electric motor 22 until the controller 20 detects that the component 26 is nearing the second position 46. In certain embodiments, the controller 20 might detect that the component 26 is approaching the second position 46 based on the amount of the hall effect pulses 38 (Figure 3) received by the controller 20, the amount of time since initially providing the PWM power 34 to the electric motor 22, the amplitude of the current 58 (Figure 6) drawn by the electric motor 22, and the like, as is commonly known in the art. When the component 26 is nearing the second position 46, the controller 20 ramps down the amount of the PWM power 34 provided to the electric motor 22 by decreasing the percentage amount of the PWM duty cycle 52, as illustrated by portion 60 in Region E. Next, the controller 20 terminates the PWM power 34 to the electric motor 22 at time B when the controller 20 detects that the component 26 is in the second position 46.

[0065] The hall effect pulses 38 (herein after, “HE pulses”) received by the controller 20 are shown in more detail in Figures 3 and 5. Figures 3 and 5 show exemplary' HE pulses 38 received over time with the Y-axis shown in voltage (volts) and the X-axis shown in units of time (seconds). Alternatively, the units of time might be milliseconds, counts of sampling time, and the like without altering the scope of the present invention. Time values tn, tn+i, and the likerefer to specific times recorded by the controller 20 and do not necessarily correspond to successive units of time. In contrast, the small-time interv als Atn, Atn+i, on the X-axis of Figures 3 and 5 are spaced apart by a small-time interval At corresponding to a selected number of units of time. It will be appreciated that the small-time interval At might include one or more counts of sampling time (seconds), one or more milliseconds, and the like, without altering the scope of the present invention.

[0066] Referring to Figure 3, the HE pulses 38 received from the hall effect sensor 36 include a high voltage portion 64 followed by a low voltage portion 66. Each high voltage portion 64 includes a leading edge 68 where the voltage amplitude transitions from low voltage 70 to high voltage 72 and a trailing edge 74 where the voltage amplitude transitions from high voltage 72 to low voltage 70. The controller 20 counts the number of the HE pulses 38 received per smalltime interval At and calculates a rotational speed 76 (Figure 4) of the output shaft 28, as is commonly known in the art. One exemplary' method of calculating the rotational speed 76 is based on counting the number of the leading edges 68 of the HE pulses 38 received per smalltime interval At.

[0067] Referring to Figure 5, the controller 20 also counts the number of HE pulses 38 received in successive large-time interv als AT which are larger than the small-time intervals At. The controller 20 calculates a second rotational speed 76' (Figure 4) based on the number of HE pulses 38 received in each large-time interval AT. The large-time interval AT is a multiple of the small-time interv al At. In one exemplary' embodiment, the small-time interval At = 10 counts of sampling time and the large-time interval AT = 4*At = 40 counts of sampling time. In more detail, the number of HE pulses 38 received within the large-time interv al ATnis equal to the number of HE pulses 38 received within small-time intervals Atn, Atn+i, Atn+2 and Atn+s.

[0068] Referring to Figure 3, another method of calculating the rotational speed 76 is based on calculating a delta time DT between successive leading edges 68A, 68B, 68C of the HE pulses 38, generically described as HE Delta T. HE Delta T is measured in units of time, such as seconds, milliseconds, counts of sampling time, or the like. Referring to Figure 3, a first leading edge 68A occurs at time tnand a second leading edge 68B occurs at time tn+i, wherein tnand tn+i represent actual time values. The HE Delta_T for delta time DTnis calculated as the difference between time tnand time tn+i. i.e.. DTn= tn+i - tn. Further, a value for HE Delta_Tn+i is a delta time DTn+i between the second leading edge 68B and a third leading edge 68C. Thevalues of HE Delta T are proportional to the inverse of the rotational speed 76 of the output shaft 28.

[0069] Figure 4 shows an exemplary graph of the rotational speed 76 of the output shaft 28 as the component 26 is repositioned from the first position 42 at time A to the second position 46 at time B in response to the amount of the PWM power 34 (Figure 2) provided to the electric motor 22. In Figure 4. the x-axis is time (seconds) and the y-axis is rotational speed (RPM). Further, the rotational speed 76 at a specific time is generically described as an instantaneous speed Snat time tn. Referring to Figure 1, the power curve 34A in Figure 2, and the speed curve 76A in Figure 4, the rotational speed 76 is initially zero at time A since the electric motor 22 is de-energized. Referring to speed curve 76A, the rotational speed 76 gradually increases in portion 78 which corresponds to portion 54 (Region C) in Figure 2. The rotational speed 76 of the output shaft 28 is generally stable in portion 80 which corresponds to portion 56 (Region D) in Figure 2. In addition, the rotational speed 76 of the output shaft 28 rapidly decreases in portion 82 which corresponds to portion 60 (Region E) in Figure 2.

[0070] Figure 6 shows an exemplary graph of the amplitude of the current 58 drawn by the electric motor 22 as the component 26 is repositioned from the first position 42 at time A to the second position 46 at time B in response to the amount of the PWM power 34 (Figure 2) provided to the electric motor 22. The x-axis in Figure 6 is time (seconds) and the y-axis is current (amps). Further, the amplitude of the current 58 at a specific time is generically described as an instantaneous current Anat time tn. Referring to a current curve 58A in Figure 6, initially the current 58 has an amplitude of zero since the electric motor 22 is de-energized. The controller 20 initiates providing the PWM power 34 to the electric motor 22 at time A. Next, the amplitude of the current 58 rapidly increases (portion 86), reaches an inrush peak 88, and then the amplitude of the current 58 rapidly decreases (portion 90) in response to the PWM power 34 being provided to the electric motor 22. Portions 86 and 90 of the current curve 58A occur in time period 92 and are commonly described as the inrush current 86, 90. Next, the amplitude of the current 58 is generally steady in the portion 94 corresponding to a steady amount of the PWM power 34 being provided to the electric motor 22 in the portion 56 of Region D (Figure 2) and assuming constant friction and torque resisting the rotation of the output shaft 28. The time period 96 includes the current 58 provided in the portion 94 and is commonly described as steady current 94. Next, the amplitude of the current 58 rapidly ramps upward (portion 98) as the component 26 is repositioned towards the second position 46 andencounters the forward stop 50. The controller 20 terminates the PWM power 34 to the electric motor 22 when the amplitude of the current 58 reaches a predetermined maximum current value 100 which causes the amplitude of the current 58 to rapidly fall to zero (portion 102). The time period 104 includes portion 98 which is commonly described as stall current 98. In addition, the portion 98 generally corresponds to the portion 60 in Region E of Figure 2. Also show n in Figure 6 is a maximum hardware current Cmax. The controller 20 terminates the PWM power 34 to the electric motor 22 if the amplitude of the cunent 58 is equal or greater than the maximum hardware current C max-

[0071] Figure 7 shows an exemplary graph of the amplitude of voltage 106 provided to the electric motor 22 over time, shown as voltage curve 106A. The x-axis in Figure 7 is time (seconds) and the y-axis is voltage (volts). Further, the amplitude of the voltage 106 at a specific time is generically described as an instantaneous voltage Vnat time tn. Referring to the voltage curve 106A, voltage 106 is provided to the electric motor 22 in portion 108 from time A to time B. At time B, the controller 20 stops providing voltage 106 to the electric motor 22. shown as portion 110, w hich causes the amplitude of the voltage 106 to drop to zero.

[0072] The controller 20 might adjust and / or terminate the amplitude of the PWM power 34 to the electric motor 22 when the controller 20 detects an adverse condition. One example of an adverse condition is when the amplitude of the current 58 (Figure 6) drawn by the electric motor 22 is greater than the maximum hardware current Cmax. Typically, the controller 20 will terminate the PWM power 34 to the electric motor 22 when the amplitude of the current 58 drawn by the electric motor 22 exceeds the maximum hardware current Cmax.

[0073] A second example of an adverse condition is w hen the rotational speed 76 of the output shaft 28 varies outside of a target range 112 (Figure 4). The controller 20 might adjust the amount of the PWM power 34 provided to the electric motor 22 to maintain the rotational speed 76 of the output shaft 28 within the target range 112. commonly described as speed control. As generally known in the art, the load on the electric motor 22 is affected by the friction in certain components of the seat assembly 10, such as the gearbox 24, the seat tracks 18, and the like as non-limiting examples. In addition, the load on the electric motor 22 is affected by the weight of an occupant when the occupant is sitting on the seat cushion 16. It will be appreciated that the controller 20 might include speed control or might lack speed control without varying the scope of the present invention. It will be appreciated that the target range 112 might be adjustedbased on the operating parameters of the electric motor 22 as well as based on other parameters without altering the scope of the present invention.

[0074] A third example of an adverse condition is when an object (not shown) restricts movement of the component 26 betw een the first and second positions 42, 46, commonly described as a “pinch condition". The controller 20 includes the anti -pinch detection system 12 which detects if the component 26 encounters an obstruction (i.e., a “pinch condition”) while the component 26 is being repositioned.

[0075] Figure 9 shows an exemplary motor control flowchart 116 which includes the speed control and the anti -pinch detection system 12. according to one embodiment of the present invention. Referring to Figure 9, the motor control flowchart 1 16 starts at step 118. Next, the controller 20 initiates providing the PWM duty cycle 52 to the electric motor 22 (step 120) in response to the controller 20 receiving an instruction to reposition the component 26 from one of the forward switch 25 A and the rearward switch 25B. Next, in step 122, the controller 20 continues to provide the PWM duty cycle 52 to the electric motor 22 based on predetermined operating parameters while monitoring, and storing in memory, parameters relating to the HE pulses 38 received from the hall effect sensor 36 (Figures 3 and 5), the amplitude of current 58 drawn by the electric motor 22 (Figure 6), the voltage 106 provided to the electric motor 22 (Figure 7), and the percentage amount of the PWM duty cycle 52 provided to the electnc motor 22 (Figure 2) by the controller 20. In step 124, the controller 20 determines if a pinch condition has been detected while the controller 20 is providing the PWM duty cycle 52 to the electric motor 22. A pinch condition is detected by the anti-pinch detection system 12 described in more detail below. If a pinch condition is detected, the controller 20 terminates the PWM duty cycle 52 to the electric motor 22 (step 126) and ends the motor control flowchart 1 16 (step 128).

[0076] If the controller 20 does not detect a pinch condition (step 124), next the controller 20 determines if the rotational speed 76 of the output shaft 28 is below the target range 112 (step 130). The controller 20 continues to step 132 if the controller 20 determines in step 130 that the rotational speed 76 is not below the target range 112. If the controller 20 detects that the rotational speed 76 is below the target range 112 in step 130. then the controller 20 increases the amount of the PWM power 34 provided to the electric motor 22 (step 134) by increasing the percentage amount of the PWM duty cycle 52 and proceeds to step 132.

[0077] Next, the controller 20 determines if the rotational speed 76 is above the target range 112 in step 132. The controller 20 continues to step 136 if the controller 20 determines in step 132 that the rotational speed 76 is not above the target range 112. If the controller 20 determines that the rotational speed 76 is above the target range 112 in step 132, then the controller 20 decreases the amount of the PWM power 34 provided to the electric motor 22 (step 138) by decreasing the percentage amount of the PWM duty cycle 52 and proceeds to step 136.

[0078] In step 136, the controller 20 determines if the amplitude of the current 58 is equal or greater than the maximum hardware current Cmax. If the controller 20 determines that the amplitude of the current 58 is equal or greater than the maximum hardware current Cmax, then the controller 20 continues to step 126 and terminates the PWM duty cycle 52 to the electric motor 22. If the controller 20 determines that the amplitude of the current 58 is less than the maximum hardware current Cmax in step 136, then the controller 20 continues to step 140.

[0079] Next in step 140, the controller 20 determines if the component 26 is in the desired one of first and second positions 42, 46, also commonly described as end of travel. If the controller 20 determines that the component 26 is in the desired one of first and second positions 42, 46 (step 140), then the controller 20 continues to step 126 and terminates the PWM duty cycle 52 to the electric motor 22. If the controller 20 determines that the component 26 is not in the desired one of first and second positions 42, 46 (step 140). then the controller 20 returns to step 122 and continues to provide the PWM duty cycle 52 to the electric motor 22. It will be appreciated that the motor control flowchart 116 may vary' without altering the scope of the present invention.

[0080] The controller 20 also includes a sequence detection process 142, shown in a sequence flowchart 142A in Figure 10. The sequence detection process 142 includes the anti-pinch detection system 12 and includes additional functions as further described below. It will be appreciated that the sequence detection process 142 might vary without altering the scope of the present invention. Referring to Figure 10, the sequence detection process 142 starts at step 144 of the sequence flowchart 142A. The controller 20 monitors to determine if the vehicle ignition (not shown) is turned on (step 145). The controller 20 proceeds to step 146 when the controller 20 detects that the vehicle ignition has been turned on. Next in step 146, the controller 20 initiates a Pl NVRAM process 147. The Pl Non-Volatile Random- Access Memory (NVRAM) process 147 handles all data read out processes, logging of data, counts the ignition cycles, updates health status information, and counts the number of times the electric motor 22is actuated. In addition, the Pl NVRAM process 147 records peak occurrences of the PWM power 34 and current 58. The sequence detection process 142 is executed continuously while the ignition to the vehicle is on. The Pl NVRAM process 147 is also configured to identify potential motor 22 issues related with aging or overuse scenarios. As described in more detail below, the Pl NVRAM process 147 records detection statistics (not shown) relating to overcurrent incidents 148 (Figure 15) and changes in the average current 150 (Figure 12) drawn by the electric motor 22 during stable conditions. The detection statistics may be used for shortterm and / or long-term compensation. In addition, the detection statistics are summarized over time which captures the health of the motions of the electric motor 22 and provides additional insights for future services.

[0081] One embodiment of the Pl NVRAM process 147 (step 146 in Figure 10) includes an ignition counter 152, shown in Figure 11. The ignition counter 152 keeps track of the number of times an electric motor 22 is operated. In addition, the ignition counter 152 tracks movement of the electric motor 22 and at what point in time some of the data is stored in memory. Depicted in Figure 8, the ignition counter 152 stores an operation value 154 in an ignition memory 156 in a 16-bit format, as is commonly known in the art.

[0082] The ignition counter 152 is described in more detail in a counter flowchart 152A shown in Figure 11. Referring to Figure 11, the ignition counter 152 starts at step 158 of the counter flowchart 152A. Next, the controller 20 determines if a vehicle ignition is recorded (step 160). The controller 20 returns to step 158 if a vehicle ignition is recorded in step 160. How ever, the controller 20 proceeds to step 162 if a vehicle ignition is not recorded in step 160. Next in step 162, the controller 20 determines if any of the electric motors 22 are active. The controller 20 returns to step 158 if the controller 20 determines that the electric motors 22 are inactive in step 162. However, the controller 20 proceeds to step 164 if the controller 20 determines that at least one electric motor 22 is active in step 162. Next, the controller 20 reads the current operation value 154 from the ignition memory 156 in step 164, increments the operation value 154 in step 166, writes anew operation value 154 to the ignition memory 156 in step 168, and proceeds to the end of the counter flowchart 152A in step 170.

[0083] Referring to Figure 12, the Pl NVRAM process 147 (step 146 in Figure 10) also includes an average current monitor 172, according to one embodiment of the present invention. The average current monitor 172 calculates an average current 150 value of the current 58 drawn by the electric motor 22 during the time frame 96 that the amplitude of thecurrent 58 drawn is in a steady state, such as shown by region 174 in Figure 13. Region 174 generally corresponds to portion 94 of the current curve 58A shown in Figures 6 and 13. Referring to Figure 14, the expected amplitude of the current 58 varies from zero 176 to a predetermined overcurrent value 178. The amplitude range of the current 58 is divided into non-linear current zones 179 with each current zone 179 having a respective lower current limit 180 and a respective upper current limit 182. In the embodiment shown in Figure 14, the current zones 179 are divided into zone 1 - zone 9. The controller 20 determines which current zone 179 that corresponds to the detected average current 150 value.

[0084] Figure 17 shows an exemplary memory storage 184 for storing the detected zone 179 and the current ignition counter 186 in a 16-bit format. The memory storage 184 includes the current ignition counter 186 when the average current 150 value was calculated, a validity code 188, and the detected current zone 179. The validity code 188 is a confirmation strategy' to verify the detected current zone 179.

[0085] The average current monitor 172 is described in more detail in a current flowchart 172A shown in Figure 12. Referring to Figure 12, the average current monitor 172 initiates at step 192 of the current flow chart 172A. Next, the controller 20 determines if an electric motor 22 is active in step 194. If the controller 20 determines that an electric motor 22 is inactive in step 194, then the controller 20 proceeds to step 196. In step 196, the controller 20 determines if there is a new average current 150. If the controller 20 detects that there is not a new average current 150 in step 196, then the controller 20 proceeds to the end of the current flowchart 172A (step 198). If the controller 20 detects that there is anew average current 150 in step 196, then the controller 20 combines the new average current 150 for this ignition cycle and determines the current zone 179 based on the combined average currents 150 (step 200). Next, the controller 20 manages the validity code and the array in memory' in step 202. The controller 20 stores the average current 150 values and / or the current zone 179 as a shifting array and shifts the stored values when a higher current zone 179 is detected. After the controller 20 completes step 202, the controller 20 proceeds to the end of the current flowchart 172A (step 198).

[0086] However, if the controller 20 determines that an electric motor 22 is active in step 194, the controller 20 proceeds to step 206 of the current flowchart 172A. In step 206, the controller 20 determines if data was read from memory'. If the controller 20 determines that data was read from memory' in step 206, then the controller 20 proceeds to step 208. However, if the controller20 determines that data was not read from memory (step 206), then the controller 20 gets the current zone 179 to monitor from memory initialization (step 210) and proceeds to step 208. In step 208, the controller 20 determines if the inrush current 86, 90 (Figure 13) was ignored. If the controller 20 determines that the inrush current 86, 90 was not ignored in step 208, then the controller 20 proceeds to the end of the current flowchart 172A (step 198). However, if the controller 20 determines that the inrush current 86, 90 was ignored in step 208, then the controller 20 proceeds to step 211. In step 211. the controller 20 determines if there is an abrupt change in the amplitude of the current 58 or if a pinch detection is in process. If the controller 20 determines that there w as an abrupt change in the amplitude of the current 58 or detects that a pinch detection is in process (step 211), then the controller 20 proceeds to the end of the current flowchart 172A (step 198). However, if the controller 20 detects that an abrupt change in the amplitude of the current 58 was not detected and that a pinch detection is not in process in step 211, then the controller 20 calculates a new average current 150 value in step 212 and proceeds to the end of the current flow chart 172A (step 198).

[0087] Referring to Figure 16, the Pl NVRAM process 147 (step 146 in Figure 10) also includes an overcurrent monitor 214, according to one embodiment of the present invention. Referring to Figure 15, the overcurrent monitor 214 detects that an overcurrent incident 148 has occurred when the amplitude of the current 58 goes above an overcurrent threshold 216. The overcurrent monitor 214 tracks the difference between a detected overcurrent peak 217 and the overcurrent threshold 216 for each overcurrent incident 148. The overcurrent monitor 214 also tracks the amount of time 218 between the current 58 exceeding the overcurrent threshold 216 and the controller 20 turning off the PWM power 34 to the electric motor 22. The overcurrent monitor 214 provides an indication of the response of the controller 20 when a stall condition and / or a pinch condition occurs. The overcunent monitor 214 is directed to area 220 of the current curve 58A in Figure 15. In specific, the area 220 is defined by the time frame that the amplitude of the current 58 is greater than the overcurrent threshold 216 and equal or less than the overcurrent peak 217. In addition, the overcurrent monitor 214 evaluates an overcurrent height 224 as the difference between the overcurrent peak 217 and the overcurrent threshold 216. The amount of time 218 that the amplitude of the current 58 is above the overcurrent threshold 216 is alternatively described as the overcurrent width 218.

[0088] In addition, the overcurrent monitor 214 records a position zone 226 (Figure 1) where the stall condition and / or pinch condition occurred for each overcurrent incident 148 (Figure15). The position zone 226 corresponds to an approximate position between the first position 42 and the second position 46. Further, the overcurrent monitor 214 calculates a position validity code 227 (Figure 19) to authenticate the recurrence of the stall condition and / or the pinch condition.

[0089] The overcurrent monitor 214 is described in more detail in an overcurrent flowchart 214A shown in Figure 16. Referring to Figure 16, the overcurrent monitor 214 starts at step 228 of the overcurrent flowchart 214A. Next, the controller 20 determines if an electric motor 22 is active in step 230. If the controller 20 determines that the electric motor 22 is inactive in step 230, then the controller 20 proceeds to step 232. In step 232, the controller 20 determines if a new overcunent incident 148 (Figure 15) has occurred. If the controller 20 detects that a new overcurrent incident 148 has not occurred in step 232, then the controller 20 proceeds to the end of the overcurrent flowchart 214A (step 234). If the controller 20 detects that a new overcurrent incident 148 has occurred in step 232, then the controller 20 compares the overcurrent incident 148 and combines with old data stored in the overcurrent memory’ 235 (Figure 18) in step 236. Next, the controller 20 manages the position validity code 227 (Figure 19) and the array in the overcurrent memory 235 (Figure 18) in step 240. After the controller 20 manages the array in the overcurrent memory’ 235 (step 240), the controller 20 proceeds to the end of the overcurrent flow chart 214A (step 234).

[0090] An exemplary storage format of the overcurrent memory’ 235 is shown in Figure 18. Referring to Figure 18, the overcurrent monitor 214 stores data in a 32-bit format with bits 0- 9 storing the amount of the PWM power 34 supplied to the electric motor 22, bits 10-15 storing the overcurrent width 218 in multiples of 10 ms of time, bits 16-20 storing the overcunent height 224 in multiples of 0.5 amps, and bits 21 -31 storing the ignition counter value 186. Referring to Figure 19, the overcurrent monitor 214 stores additional data in a PWM memory 244 in a 16-bit format with bits 0-3 storing the current position zone 226 when the overcurrent incident 148 occurred. In addition, the overcurrent monitor 214 stores the position validity code 227 in bits 4-5. Further, the overcurrent monitor 214 determines a PWM zone 246 based on the percentage amount of the PWM duty cycle 52 and / or based on the PWM power 34 (Figure 2) provided to the electric motor 22 when the overcurrent incident 148 occurred. In addition, the overcurrent monitor 214 determines a PWM validity code 248 to confirm the detected PWM zone 246. Next, the controller 20 stores the PWM zone 246 and the PWM validity code 248 in bits 6-9 and bits 10-11 , respectively, within the PWM memory 244.

[0091] Referring to Figure 16, if the controller 20 detects that an electric motor 22 is active in step 230 of the overcurrent flowchart 214A, then the controller 20 determines if data has been read from the overcurrent memory 235 (step 250). If the controller 20 determines that data has been read from the overcurrent memory 235 in step 250, then the controller 20 proceeds to step 252. However, if the controller 20 determines that data has not been read from the overcurrent memory 235 (step 250), then the controller 20 gets data relating to the overcurrent incident 148 and the position zone 226 to monitor from memory initialization (step 254) and proceeds to step 252. Next in step 252, the controller 20 determines if the inrush current 86, 90 (Figure 15) has been ignored. If the controller 20 determines that the inrush current 86, 90 was not ignored in step 252, then the controller 20 proceeds to the end of the overcurrent flowchart 214A (step 234). However, if the controller 20 determines that the inrush current 86, 90 was ignored in step 252, then the controller 20 determines if the current 58 detected is above the overcurrent threshold 216 (step 256). If the controller 20 determines that the current 58 is not above the overcurrent threshold 216 (step 256), then the controller 20 proceeds to the end of the overcurrent flowchart 214A (step 234). However, if the controller 20 detects that the current 58 is above the overcurrent threshold 216 (step 256). then the controller 20 calculates a new average current 150 in step 258 and proceeds to the end of the overcurrent flowchart 214A (step 234).

[0092] Depicted in the sequence flowchart 142A shown in Figure 10. after the controller 20 initiates the Pl NVRAM process 147 (step 146), the controller 20 initiates a P2 hall effect process 260 (step 262). Referring to Figures 3 and 5, the P2 hall effect process 260 receives the HE pulses 38 from the hall effect sensor 36 in response to rotation of the output shaft 28. The P2 hall effect process 260 calculates a delta time DTnbetween successive leading edges 68A, 68B, 68C of the HE pulses 38, generically described as HE Delta T. In addition, the P2 hall effect process 260 counts the number of the HE pulses 38 received per small-time interval At. Next, the P2 hall effect process 260 calculates a first rotational speed 76 for each smalltime interval At based on the number of the HE pulses 38 received. The P2 hall effect process 260 also counts the number of the HE pulses 38 received per large-time interval AT. Next, the P2 hall effect process 260 calculates a second rotational speed 76' for each large-time interval AT based on the number of the HE pulses 38 received. Figure 4 depicts the rotational speed 76, 76' over time calculated by the P2 hall effect process 260.

[0093] In addition, the P2 hall effect process 260 monitors the amount of the electric power 263 provided to the electric motor 22 over time for each successive small-time interval At, as depicted in Figure 5. In addition, the electric power 263 is optionally based on the PWM power 34 and / or the percentage amount of the PWM duty cycle 52 provided to the electric motor 22. The P2 hall effect process 260 optionally filters the amount of the PWM power 34 or otherwise adjusts the values for the PWM power 34. Next, the P2 hall effect process 260 calculates a median filtered electric power value 264 for each successive small-time interval At. Optionally, the P2 hall effect process 260 calculates a second median filtered power value 264' for each successive large-time interval AT. The P2 hall effect process 260 continues until the P2 hall effect process 260 is terminated by the controller 20.

[0094] Depicted in the sequence flowchart 142A shown in Figure 10, the controller 20 initiates a P3 power calculation 266 (step 268) after the controller 20 initiates the P2 hall effect process 260 (step 262). Referring to Figure 22, the P3 power calculation 266 calculates electric power 270 supplied to the electric motor 22 and mechanical power 272 applied by the electric motor 22 over time, as further described below. The P3 power calculation 266 continues to run until terminated by the controller 20.

[0095] The P3 power calculation 266 calculates the electric power 270 (Figure 22) based on the voltage 106 (Figures 7 and 20) and the current 58 (Figures 6 and 21 ) provided to the electric motor 22. An enlarged view of the voltage 106 (volts) provided to the electric motor 22 over time (seconds) is depicted in Figure 20. Further, an enlarged view of the current 58 (amps) drawn by the electric motor 22 over time (seconds) is depicted in Figure 21. The P3 power calculation 266 determines an instantaneous value Vnof the voltage 106 and an instantaneous value An of the current 58 at time tn. Next, the P3 power calculation 266 determines an instantaneous value EPnat time tnof the electric power 270 by multiplying the instantaneous values Vnand Anat time tn(i.e., EPn= Vn* An). The P3 power calculation 266 repeats the calculation of the electric power 270 for each time value tn, tn+i. ... until the P3 power calculation 266 is terminated by the controller 20.

[0096] The P3 power calculation 266 also calculates the mechanical power 272 (Figure 22) applied by the electric motor 22 based on an estimate of force and / or torque 274 applied by the electric motor 22 and based on the rotational speed 76 of the output shaft 28. Referring to Figures 2 and 23, the P3 power calculation 266 estimates an instantaneous value MFnof force and / or torque 274 applied by the electric motor 22 at time tnbased on the instantaneous valuePnof the PWM power 34 supplied to the electric motor 22 at time tn. Figure 4 shows the instantaneous value Snof the rotational speed 76 of the output shaft 28 at time tnwhich is calculated by the P2 hall effect process 260 based on the HE pulses 38 received by the controller 20. During the P3 power calculation 266, the controller 20 calculates the instantaneous value MPnof mechanical power 272 by multiplying the instantaneous mechanical power MFnby the instantaneous speed Snat time tn.

[0097] In certain embodiments, the P3 power calculation 266 determines the instantaneous value MPnof the mechanical power 272 (Figure 22) based on the delta time DTnof the HE Delta T instead of the instantaneous speed Sn. HE Delta T is proportional to the inverse of the rotational speed 76 of the output shaft 28. An enlarged view of the HE Delta T over time (seconds) is shown in Figure 24. Referring to Figures 3 and 24, a delta time DTnat time tnis the amount of time betw een successive leading edges 68A, 68B of the HE pulses 38 recorded at time tn. In the embodiment shown in Figures 22-24, the P3 power calculation 266 determines an instantaneous value MPnof the mechanical power 272 at time tnby multiplying the instantaneous values MFnand DTnat time tn(i.e., MPn= MFn* DTn). The P3 power calculation 266 repeats the calculation of the mechanical power 272 for each time value tn, tn+i, ... until the P3 power calculation 266 is terminated by the controller 20.

[0098] Depicted in Figure 10, the controller 20 initiates a P4 region identifier 276 in step 278 after the controller 20 initiates the P3 power calculation 266 (step 268). The P4 region identifier 276 continues to run until terminated by the controller 20. Referring to Figure 4, the P4 region identifier 276 determines if the movement of the component 26 is associated with region C, region D, or region E of the speed curve 76A. The rotational speed 76 follows a predictable trajectory as the component 26 is being moved from the first position 42 at time A to the second position 46 at time B when the controller 20 includes speed control. The sum of all forces (or torques) within the seat assembly 10 include the driving force applied by the electric motor 22 via the gearbox 24 or gear train, friction associated with various components in the seat assembly 10, gravity-induced forces, and the like. The speed control in the controller 20 assists with obtaining desired speeds 76 by adjusting the amplitude of the PWM pow er 34 provided to the electric motor 22.

[0099] An exemplary speed trajectory is shown in Figure 4, illustrating the change in rotational speed 76 as the component 26 moves between the first position 42 and the second position 46. In more detail, the component 26 is stationary' at time A. Next, the controller 20 providesramping PWM power 34 to the electric motor 22 (portion 78) causing the component 26 to accelerate from the stationary position. Next, the component 26 travels at a generally stable rotational speed 76 for a period of time (portion 80) in response to the controller 20 providing a generally stable amplitude of the PWM power 34 to the electric motor 22. The controller 20 adjusts the amplitude of the PWM power 34 provided to the electric motor 22 to maintain the rotational speed 76 within a target range 112. The component 26 moves at generally a constant rotational speed 76 during portion 80 in Figure 4 since the driving force applied by the electric motor 22 generally balances out the frictions and gravity-induced forces. When the controller 20 determines that the component 26 is approaching the second position 46, the controller 20 ramps down the amplitude of the PWM power 34 which causes the electric motor 22 to reduce the rotational speed 76 of the output shaft 28 until the component 26 comes to stop at the second position 46.

[0100] The speed trajectory shown in Figure 4 includes predictable regions C, D, E generally associated with portions 78, 80, and 82. respectively, of the speed curve 76A. In more detail, Region C is defined by portion 78 wherein the rotational speed 76 is increasing over time. Region D is defined by portion 80 wherein the rotational speed 76 is generally maintained over time within a target range 112. In addition, Region E is defined by portion 82 wherein the rotational speed 76 is decreasing over time.

[0101] When the controller 20 includes speed control, the P4 region identifier 276 determines the current region C, D, E based on the calculated position of the component 26 and based on setpoints of target speeds. If the controller 20 lacks speed control, then the P4 region identifier 276 determines the current region C, D, E by monitoring the calculated rotational speed 76 based on the HE pulses 38 received by the controller 20. The calculated rotational speed 76 is determined by the P2 hall effect process 260.

[0102] The P4 region identifier 276 selects region C when the rotational speed 76 is ramping up over time. The P4 region identifier 276 will maintain the selected region C as long as the rotational speed 76 continues an upward trend over time. In contrast, the P4 region identifier 276 selects region E when the rotational speed 76 is ramping down over time. The P4 region identifier 276 will maintain the selected region E as long as the rotational speed 76 has a downward trend over time. However, the P4 region identifier 276 will select region D whenever the P4 region identifier 276 detects very transient situations, such as a fast transition between region C and region E. The P4 region identifier 276 will also select region D when therotational speed 76 is within a target range 112 or when the controller 20 is providing steady speed control.

[0103] Depicted in the sequence flowchart 142A in Figure 10, the controller 20 initiates a P5 event analysis 280 in step 282 after the controller 20 initiates the P4 region identifier 276 (step 278). Referring to Figures 25 and 26, the P5 event analysis 280 controls an enabler L and analyzes the electric power 270 and the HE Delta T over time. An exemplary P5 flowchart 284 for the P5 event analysis 280 is shown in Figure 26. The P5 event analysis 280 starts at step 286 of the P5 flowchart 284 and proceeds to step 288. The P5 event analysis 280 optionally initiates step 286 of the P5 flowchart 284 one time per vehicle ignition cycle, one time per operation of the electric motor 22, and / or periodically based on a predetermined time period or other criteria without altering the scope of the present invention. For example, the P5 event analysis 280 might initiate step 286 of the P5 flow chart 284 when the P4 region identifier 276 selects region D.

[0104] Next in step 288 of the P5 flowchart 284, the P5 event analysis 280 monitors the electric power 270 and the HE Delta_T and determines if both the electric power 270 and the HE Delta_T are in respective stable ranges. The P5 event analysis 280 optionally determines that the electric power 270 and the HE Delta_T are likely in respective stable ranges based on the P4 region identifier 276 selecting region D. If the electric power 270 and the HE Delta_T are in stable ranges, then the P5 event analysis 280 initiates the enabler L at time tstart, opens a new temporary' buffer, and proceeds to step 290. Next in step 290, the P5 event analysis 280 receives a first value Pwr(n) for the electric pow er 270 and a first value DT(n) for the HE Delta T at time tstart and proceeds to step 292. After receiving values for Pwr(n) and DT(n). the P5 event analysis 280 sets variable PwrMax(n) = Pwr(n), sets variable PwrMin(n) = Pwr(n), sets variable DT_Max(n) = DT(n), and sets variable DT_Min(n) = DT(n) in step 292 and proceeds to step 294. In step 294, the P5 event analysis 280 stores the current values of Pwr(n) and DT(n) in the temporary’ buffer and proceeds to step 296. Referring to Figure 25. the cunent value Pwr(n) of the electric power 270 and the current value DT(n) of the HE Delta T within the time blocks 298 and 300 are stored in the temporary buffer while the enabler L is active. Next in step 296, the P5 event analysis 280 sets variable PwrMax(n-l) = PwrMax(n), sets variable PwrMin(n-l) = PwrMin(n), sets variable DT_Max(n-l) = DT_Max(n), and sets variable DT_Min(n-l) = DT_Min(n) and proceeds to step 302. In step 302, the P5 event analysis 280 receives new values for Pwr(n) and DT(n) and proceeds to step 304. In step 304,the P5 event analysis 280 sets variable PwrMax(n) = max(PwrMax(n-l), Pwr(n)), sets variable PwrMin(n) = min(PwrMin(n-l), Pwr(n)), sets variable DT_Max(n) = max(DT_Max(n-l), DT(n)), and sets variable DT_Min(n) = min(DT_Min(n-l), DT(n)), and proceeds to step 306. Next in step 306, the P5 event analysis 280 determines if PwrMax(n) - PwrMin(n) > TH, where TH is a predetermined energy' threshold value. If PwrMax(n) - PwrMin(n) > TH, then the electric power 270 has become unstable and the P5 event analysis 280 proceeds to step 308.

[0105] However, if the P5 event analysis 280 determines that PwrMax(n) - PwrMin(n) =< TH in step 306, then the electric power 270 is stable and the P5 event analysis 280 proceeds to step 310. In step 310, the P5 event analysis 280 determines if DT_Max(n)-DT_Min(n) > TR, where TR is a predetermined time threshold value. If the P5 event analysis 280 determines that DT_Max(n)-DT_Min(n) > TR, then the HE Delta T has become unstable and the P5 event analysis 280 proceeds to step 308. However, if the P5 event analysis 280 determines that DT_Max(n)-DT_Min(n) =< TR, then the HE Delta T is stable and the P5 event analysis 280 proceeds to step 312. In step 312, the P5 event analysis 280 determines if a time out has occurred. A time out occurs when the vehicle ignition is turned off, when the electric motor 22 is deactivated, after a predetermined period of time, and the like as non-limiting examples. If the P5 event analysis 280 determines that a time out has occurred in step 312, then the P5 event analysis 280 proceeds to step 308. However, if the P5 event analysis 280 determines that a time out has not occurred in step 312, then the P5 event analysis 280 returns to step 294 and continues the P5 flowchart 284.

[0106] In step 308 in Figure 26. the P5 event analysis 280 terminates the enabler L at time tend and proceeds to step 314. In step 314. the P5 event analysis 280 closes the temporary buffer. After completing step 314, the P5 event analysis 280 calculates an average EPaveof the values of Pwr(n) stored in the temporary buffer (step 316), calculates an average DTaveof the values of DT(n) stored in the temporary' buffer (step 318), and proceeds to step 320. In step 320, the P5 event analysis 280 stores an output pair of EPave and DTave in a data buffer M and proceeds to the end of the P5 flowchart 284 (step 322).

[0107] Depicted in Figures 25 and 27, the output pair of EPaVe and DTaveare stored in the data buffer M by the P5 event analysis 280. The data stored in the data buffer M is used by the P5 event analysis 280 to do a health status assessment 326. The data buffer M includes at least 10x2 elements with each element including at least 8-bits. Preferably, a second data buffer M' is reserved for storing a second series of output pairs of EPaVe and DTavewhen the first databuffer M is full. As illustrated in Figure 27, the data is shifted in the data buffer M when a new output pair of EPaveand DTaveis added to the data buffer M. The P5 event analysis 280 opens a second data buffer M' when the first data buffer M is full or after N ignition cycles and stores new output pairs of EPaveand DTavein the second data buffer M'. The data stored in the data buffers M, M' are collected under a variety of operating conditions, such as when different loads and / or different occupants are supported by the seat assembly 10.

[0108] Referring to Figures 27 and 28, the P5 event analysis 280 performs a health status assessment 326 when the P5 event analysis 280 closes the first data buffer M and opens a new data buffer M'. During the health status assessment 326, the P5 event analysis 280 correlates the output pairs of EPaveand DTavein the data buffer M. Figure 28 shows a graph of the output pairs (EPave, DTave) in the data buffer M with the Y-axis depicting the amount of average electric power (EPave) and the X-axis depicting the amount of average HE Delta T (i.e., DTave). Data points 328 and 330 are exemplary output pairs (EPave, DTave) from the data buffer M. The P5 event analysis 280 calculates a first slope 332 of the data points 328, 330 from the data buffer M. Data point 328 has the lowest amount of average HE Delta_T (DTave) and the lowest amount of average electric power (EPave) of the output pairs (EPave, DTave) in the data buffer M and represents a no-load condition. During normal operating conditions, the load on the electric motor 22 is increased when an occupant is sitting on the seat cushion 16, which in turn increases the average HE Delta_T (DTave) and increases the average electric power (EPave). In certain embodiments, the P5 event analysis 280 obtains load information from other vehicle systems, such as an occupant classification system (OCS). The first slope 332 of the data points 328, 330 from the data buffer M is indicative of the health status assessment 326 of the vehicle seat assembly 10.

[0109] After N ignition cycles (such as 5000 ignition cycles), the P5 event analysis 280 closes the first data buffer M and opens a second data buffer M'. The P5 event analysis 280 proceeds to store data in the second data buffer M' until the second data buffer M' is full. Next, the P5 event analysis 280 performs another health status assessment 326 on the data in the second data buffer M'. During the health status assessment 326, the P5 event analysis 280 correlates the output pairs of EPaveand DTavein the data buffer M'. Exemplary' data points 334, 336 of the output pairs (EPave. DTave) in data buffer M' are shown in Figure 28. The P5 event analysis 280 calculates a second slope 338 of the data points 334, 336 from the data buffer M'. Data point 334 has the lowest amount of average HE Delta_T (DTave) and the low est amount of averageelectric power (EPave) of the output pairs (EPave, DTave) in data buffer M' and represents a no- load condition. The difference between the first slope 332 and the second slope 336 is indicative of a shift in the health status of the seat assembly 10. The shift in the second slope 336 compared to the first slope 332 might indicate that the seat assembly 10 needs more energy to move the same amount of displacement, that the electric motor 22 is less powerful, the hall effect sensor 36 might be defective, and the like as non-limiting examples. In addition, the health status assessment 326 may be performed periodically based on a fixed number of ignition cycles or based on the last health condition. For example, the P5 event analysis 280 might adjust the amount of time or the number of ignition cycles before performing the next health status assessment 326 based on the results of the current health status assessment.

[0110] Depicted in the sequence flowchart 142A shown in Figure 10, the controller 20 initiates a P6 pinch detection 340 in step 342 after the controller 20 initiates the P5 event analysis 280 (step 282). The P6 pinch detection 340 continues to run until terminated by the controller 20.

[0111] The P6 pinch detection 340 is described in more detail in a P6 flowchart 340A shown in Figure 29. The anti-pinch detection system 12 includes the P6 pinch detection 340 which monitors the current region identification (C, D, or E) and selects one of a plurality of methods to detect a pinch condition. The controller 20 initiates the P6 pinch detection 340 in step 344 of the P6 flowchart 340 A. Next in step 345, the P6 pinch detection 340 receives a new region identification (region C, D, or E) from the P4 region identifier 276 in response to the PWM power 34 being supplied to the electric motor 22 (i.e., the electric motor 22 is on). After the P6 pinch detection 340 receives the current region identification (C. D, or E) from the P4 region identifier 276 in step 345, the P6 pinch detection 340 determines if the current region is region C in step 346. If the P6 pinch detection 340 determines the current region is region C, then the P6 pinch detection 340 proceeds to step 348, executes a region C pinch detection 350 (Figure 30), and proceeds to step 352. In step 352, the P6 pinch detection 340 determines if there has been a change in the region identification or if the electric motor 22 has been turned off. The P6 pinch detection 340 returns to step 348 and continues to run the region C pinch detection 350 if the region identification has not changed and the electric motor 22 is still on. However, the P6 pinch detection 340 proceeds to step 354 if a change in the region identification has been detected or the electric motor 22 is off in step 352. In step 354. the P6 pinch detection 340 determines if a time out has occurred, such as the controller 20 terminating the P6 pinchdetection 340, a fault condition occurring, or the like. If the P6 pinch detection 340 determines that a time out has occurred in step 354. then the P6 pinch detection 340 proceeds to step 356 and ends the P6 flowchart 340A. However, if the P6 pinch detection 340 determines that a time out has not occurred in step 354, then the P6 pinch detection 340 returns to step 345 and continues to follow the P6 flowchart 340 A.

[0112] Referring to the P6 flowchart 340A shown in Figure 29, if the P6 pinch detection 340 determines that the current region is not region C in step 346, then the P6 pinch detection 340 proceeds to step 358. In step 358, the P6 pinch detection 340 determines if the current region is region D. If the P6 pinch detection 340 determines that the current region is region D in step 358, then the P6 pinch detection 340 proceeds to step 360. executes a region D pinch detection 362 (Figure 31 ), and proceeds to step 364. In step 364, the P6 pinch detection 340 determines if there has been a change in the region identification or if the electric motor 22 has been turned off. The P6 pinch detection 340 returns to step 360 and continues to run the region D pinch detection 362 if the region identification has not changed and the electric motor 22 is still on. However, the P6 pinch detection 340 proceeds to step 354 if a change in the region identification has been detected or the electric motor 22 is off in step 364. The P6 pinch detection 340 continues to follow the P6 flowchart 340A from step 354 as discussed above.

[0113] However, if the P6 pinch detection 340 determines that the current region is not region D in step 358, then the P6 pinch detection 340 proceeds to step 366. In step 366, the P6 pinch detection 340 determines if the current region is region E. If the P6 pinch detection 340 determines that the current region is region E in step 366, then the P6 pinch detection 340 proceeds to step 368. executes a region E pinch detection 370 (Figure 30). and proceeds to step 372. In step 372, the P6 pinch detection 340 determines if there has been a change in the region identification or if the electric motor 22 has been turned off. The P6 pinch detection 340 returns to step 368 and continues to run the region E pinch detection 370 if the region identification has not changed and the electric motor 22 is still on. However, the P6 pinch detection 340 proceeds to step 354 if a change in the region identification has been detected or the electric motor 22 is off in step 372. The P6 pinch detection 340 continues to follow the P6 flowchart 340A from step 354 as described above.

[0114] The region C pinch detection 350 is selected by the P6 pinch detection 340 when the P4 region identifier 276 determines that the current region is region C. As discussed above, the P4 region identifier 276 selects region C when the rotational speed 76 is increasing over aperiod of time, as illustrated by portion 78 of the speed cune 76A in Figure 4. The P4 region identifier 276 maintains the selection of region C as long as the rotational speed 76 is trending upward. How ever, the P4 region identifier 276 will select a different region when the rotational speed 76 is no longer trending upward.

[0115] Referring to Figure 4, the dynamics of the rotational speed 76 over time of speed curve 76A in region C can be estimated based on the equations dx / dt = Ax + Bu and y = Cx. A transfer function of region C can be approximated by a 1storder system with a time constant TC within a certain range for a normal movement. If a pinch condition occurs while the rotational speed 76 is in region C, the rotational speed 76 will be impeded and the feedback control for the amount of the PWM power 34 (based on the percentage amount of PWM duty cycle 52) provided to the electric motor 22 will be driven more forcefully in order to try to maintain a rotational speed 76 within a targeted range. The increase in the amount of the PWM pow er 34 during region C will result in a new- correlation betw een the amount of the PWM power 34 (based on the percentage amount of PWM duty cycle 52) provided to the electric motor 22 and the resulting rotational speed 76. The new correlation will result in a new time constant TCnew which is different than the original time constant TC.

[0116] An exemplary region C flowchart 350A of the region C pinch detection 350 (herein after "region C detection”) is shown in Figure 30. When the P6 pinch detection 340 proceeds to step 348 in the P6 flowchart 340A, the region C detection 350 is started at step 374 in the region C flowchart 350A. Next, the region C detection 350 proceeds to step 376 and sets initial values for Cmax, G, Gmax, Gmin, Gdeita, TCn, Hi, Ji, and Ki, wherein Cmax is the maximum hardware current limit, G is a calibration scaler based on data or machine learning, Gmax is a predetermined maximum value of G, Gmin is a predetermined minimum value of G, Gdeita is a predetermined increment value for G, TCnis a nominal value for the time constant TC, Hi is a predetermined amount of time, Ji is a predetermined amount of increase in percentage amount of the PWM duty cycle 52 provided to the electric motor 22, and Ki is a predetermined displacement value. Next, the region C detection 350 proceeds to step 378 and determines a value J, a value An, calculates a value TCnew, and starts count H, wherein J is related to the percentage amount of the PWM duty cycle 52 the controller 20 is currently providing to the electric motor 22, Anis the instantaneous current 58 drawn by the electric motor 22, TCnew is a new time constant based on how the rate the rotational speed 76 is currently changing over time and the amount of the PWM power 34 (based on the percentage amount of the PWM dutycycle 52) the controller 20 is providing the electric motor 22, and H is the amount of time. After step 378, the region C detection 350 proceeds to step 380 and determines if the new time constant TCnew is greater than the calibration scaler G multiplied by the nominal value for the time constant TCn(i.e., TCnew > G * TCn?).

[0117] If the TCnew is less than or equal to G*TCnin step 380, then the region C detection 350 proceeds to step 382 and determines if the instantaneous current Anis less than the maximum hardware current Cmax(An< Cmax?). If the instantaneous current Anis less than the maximum hardware current Cmax in step 382, then the region C detection 350 proceeds to step 384 and determines if there has been a change in the identified region (C, D, E) by the P4 region identifier 276 or if the electric motor 22 is turned off. If the region C detection 350 determines that there has not been a change in the identified region (C, D, E) and that the electric motor 22 is still receiving the PWM power 34 in step 384, then the region C detection 350 returns to step 378 and continues to follow the region C flowchart 350A. However, if the region C detection 350 determines that there has been a change in the identified region (C. D, E) or that the electric motor 22 is turned off in step 384, then the region C detection 350 proceeds to step 386 and ends the region C flowchart 350A.

[0118] However, if the region C detection 350 determines that the TCnew is greater than G*TCnin step 380, then the region C detection 350 proceeds to step 388 and determines if the current value of H is greater than the value Hi (i.e., H > Hi ?). If the region C detection 350 determines that the current value of H is greater than the value Hi in step 388, then the region C detection 350 determines that a pre-mature pinch has been detected (step 390). instructs the controller 20 to increase the current percentage amount of the PWM duty cycle 52 to the electric motor 22 by an amount Ji (i.e., J = J + Ji) in step 392, measures the amount of displacement K of the component 26 in response to the increase in the percentage amount of the PWM duty cycle 52 to the electric motor 22, and proceeds to step 394. In step 394, the region C detection 350 determines if the measured amount of displacement K in a predetermined amount of time is less than the displacement value Ki (i.e., K < Ki ?). If the region C detection 350 determines that the measured displacement K is less than the displacement value Ki in step 394, then the region C detection 350 determines that a mature pinch has been detected (step 396), terminates the PWM power 34 to the electric motor 22 (step 398), and ends the region C flowchart 350A (step 386).

[0119] However, if the region C detection 350 determines that H is less than or equal to Hi in step 388. then the region C detection 350 proceeds to step 382 and continues to follow the region C flowchart 350A as described above. In addition, if the region C detection 350 determines that the amount of displacement K is equal or greater than the displacement value Ki in step 394, then the region C detection 350 proceeds to step 400. In step 400, the region C detection 350 resets the pre-mature pinch, sets G = min (G + Gdeita, Gmax), proceeds to step 382, and continues to follow the region C flowchart 350A as described above. If the region C detection 350 determines that the instantaneous current Anis greater or equal to the maximum hardware current Cmaxin step 382, then the region C detection 350 proceeds to step 402, sets G = max (G - Gdeita, Gmin), proceeds to step 398 and continues to follow the region C flowchart 350A as described above.

[0120] Referring to Figures 4, 29, and 30, the region E pinch detection 370 is similar to the region C pinch detection 350 described above. As shown in Figure 4, the rotational speed 76 is decreasing over time in region E. In contrast, the rotational speed 76 is increasing over time in region C. The region C flowchart 350A in Figure 30 may be used to detect pinch conditions in region E and in region C. However, the region E detection 370 optionally uses different initial values of G, Gmax, Gmin, Gdeita, Ki, Hi, Ji, and TCnthan the respective initial values used in the region C detection 350.

[0121] Referring to Figure 29, the region D pinch detection 362 is selected by the P6 pinch detection 340 when the P4 region identifier 276 selects region D as the current region. As discussed above, the P4 region identifier 276 selects region D when the rotational speed 76 is steady overtime, as illustrated by portion 80 of the speed curve 76A in Figure 4. The P4 region identifier 276 maintains the selection of region D as long as the rotational speed 76 is within a target range 112. However, the P4 region identifier 276 will select a different region when the rotational speed 76 is no longer within the target range 112.

[0122] Referring to Figure 22, the region D pinch detection 362 (herein after, “region D detection”) evaluates a delta powder 404 between the electric powder 270 and the mechanical pow er 272 over a period of time. As discussed above, an instantaneous electric power EPnat time tn(Figure 22) is determined by the P3 power calculation 266 based on the instantaneous voltage Vn(Figure 20) and the instantaneous current An(Figure 21) at time tn. In addition, the instantaneous mechanical power MPn(Figure 22) at time tnis determined by the P3 power calculation 266 based on the instantaneous mechanical force MFn(Figure 23) and theinstantaneous delta time DTn(Figure 24) at time tn, wherein the value DTnis the HE Delta T between successive HE pulses 38 and is inversely related to the rotational speed 76 (Figure 4) of the output shaft 28. Under normal operating conditions, the delta power 404 at time tnis calculated as the difference between the instantaneous electric power EPnand the instantaneous mechanical power MPn(i.e., APn= EPn- MPn, wherein APnis the delta power 404 at time tn). The delta power 404 between the electric power 270 and the mechanical power 272 is related to the amount of power required to overcome friction and regular loads on the seat assembly 10 as the component 26 is being repositioned between the first and second positions 42, 46.

[0123] Referring to Figures 31-33, the region D detection 362 is configured to detect different pinch conditions. One pinch condition is a soft pinch 406, or a squeezable pinch, wherein the component 26 or another part of the seat assembly 10 impacts a compressible object while the component 26 is being repositioned. When a soft pinch 406 occurs, the controller 20 will drive the electric motor 22 with a higher power state in response to a decrease in rotational speed 76. However, the rotational speed 76 will remain slow or will decrease even after the controller 20 increases the amount of the PWM power 34 provided to the electric motor 22.

[0124] In more detail, Figure 31 shows the electric power 270 and the mechanical power 272 over time determined by the P3 power calculation 266. A soft pinch 406 starts to occur around time taand continues to occur at time tb, since the amplitude of the instantaneous electric power EPa, EPb is increasing between time taand tb and the amplitude of the instantaneous mechanical power MPa, MPb is decreasing within the same time frame ta, tb. In addition, the delta power 404' between the instantaneous electric and mechanical power EPb, MPb at time tb is greater than the delta power 404 at time tn. Figures 32 and 33 show the electric power 270 and the rotational speed 76 over time for the same time frame as shown in Figure 31. In response to the occurrence of the soft pinch 406, the instantaneous values EPa, EPb of the electric power are gradually increasing within the time frame ta, tb and the instantaneous values Sa, Sb of the rotational speed 76 are gradually decreasing within the same time frame ta, tb.

[0125] In one embodiment shown in Figure 31, the region D detection 362 detects the soft pinch 406 by determining the amount of energy E consumed by attempting to overcome the pinch condition. The amount of energy E is determined by calculating the delta power 404 between the instantaneous electric po er EPaand the instantaneous mechanical power MPaand integrating the amount of delta power 404 betw een time taand time tb. The amount of energy E is represented by an area El in Figure 31. The region D detection 362 compares the amountof energy E to a predetermined energy' threshold TH (not shown). If the amount of energy' E (area El) is greater than the energy threshold TH, then a pre-mature pinch is detected. If a premature pinch is detected, then the controller 20 increases the amount of the PWM power 34 provided to the electric motor 22 for a predetermined amount at time tb and monitors the amount of energy' E consumed over the predetermined amount of time (such as between time tb and tc), corresponding to an area E2 in Figure 31. A mature pinch condition is detected if the amount of energy E between EPb, MPb and EPC, MPCincreases (i.e., area E2 > area El in Figure 31) after the controller 20 increases the amount of the PWM power 34 provided to the electric motor 22 at time tb. However, if the amount of energy E between EPb, MPb and EPC, MPCdecreases (i.e., area E2 < area El in Figure 31) after the controller 20 increased the amount of power at time tb, then a mature pinch is not detected, the region D detection 362 clears the premature pinch and continues to monitor the amount of energy’ E for the occurrence of a new soft pinch condition.

[0126] Referring to Figures 31-33, a mature pinch condition is also indicated by an increase in the electric power 270 provided to the electric motor 22 in combination with a low rotational speed 76 after the pre-mature pinch is detected and after the controller 20 has increased the amount of the PWM pow er 34 provided to the electric motor 22. Electric pow er EPa, EPb, EPCin Figure 32 and speed Sa, Sb, Scin Figure 33 correspond to electric power EPa, EPb, EPCand mechanical power MPa, MPb, MPCin Figure 31, and occur at time ta, tb. tc, respectively. The region D detection 362 determines a pre-mature pinch condition at time tb and confirms a mature pinch condition at time tc. The mature pinch condition is also confirmed by portions 410, 412 in Figures 32 and 33, respectively . In more detail, the mature pinch is confirmed since portion 410 in Figure 32 shows the amount of the electric power 270 increasing over time and portion 412 in Figure 33 shows the rotational speed 76 is not substantially increasing overtime. In contrast, the region D detection 362 clears the past mature pinch based on portions 414, 416 in Figures 32 and 33, respectively, since the electric power 270 is dropping over time (portion 414) and the rotational speed 76 is increasing over time (portion 416). The increase in the rotational speed 76 in combination with the decrease in the electric power 270 over time indicates that the seat assembly 10 has recovered from the soft pinch and is operating normally.

[0127] The region D detection 362 is optionally configured to adjust the value of the energy threshold TH based on if the region D detection 362 identifies a mature pinch or if the region D detection 362 resets the pre-mature pinch. For example, the region D detection 362 mightincrease the energy threshold TH if the region D detection 362 identifies a pre-mature pinch that is not confirmed as a mature pinch. Further, the region D detection 362 might decrease the energy threshold TH if the region D detection 362 does not identify a pre-mature pinch but the amount of current 58 drawn by the electric motor 22 exceeds the maximum hardware current Cmax. In addition, the region D detection 362 may be configured to adjust the value of the energy threshold TH similarly to the method used by the region C detection 350 to adjust the calibration scaler G (Figure 30).

[0128] The region D detection 362 is configured to detect another pinch condition described as a hard collision 418. depicted in Figures 34-36. Figure 34 show s the electric pow er 270 and the mechanical power 272 over time. Figures 35 and 36 show the electric power 270 and the rotational speed 76 over time, respectively. Referring to Figures 34-36, a hard collision 418 initially occurs around time tr when the component 26 or another part of the seat assembly 10 impacts a hard object (not shown) while the component 26 is being repositioned. In addition, a hard impact 420 occurs at time tg which corresponds to the electric motor 22 stalling and the rotational speed 76 dropping to zero. The electric motor 22 stalls if the amount of the electric power 270 provided to the electric motor 22 is insufficient to overcome the amount of load on the electric motor 22.

[0129] When the hard collision 418 occurs, the current 58 and the electric power 270 provided to the electric motor 22 will spike rapidly and the rotational speed 76 will drop rapidly over time. In addition, a hard collision 418 may cause the component 26 to be repositioned away from the hard object in a direction opposing the direction of travel in response to encountering the hard object. The forward / reverse movement of the component 26 while the controller 20 is providing the electric power 270 to the electric motor 22 may cause spikes 422, 424 to occur in the amount of the electric powder 270 provided to the electric motor 22 as the component 26 repeatedly makes hard impacts 420. Referring to Figure 34, the hard collision 418 causes the amplitude of the electric power 270 to change rapidly with upward and downward spikes 422, 424. In contrast, the hard collision 418 causes the amplitude of the mechanical power 272 to drop rapidly in response to the rapid drop in rotational speed 76. The hard collision 418 causes the delta power 404' between the electric power 270 and the mechanical power 272 to increase in comparison to the delta power 404 during normal operating conditions. The amplitude of the delta power 404' is greater than the amplitude ofthe delta power 404 during normal operating conditions because additional power is being consumed when the controller 20 is attempting to overcome the hard collision 418.

[0130] Detection of the hard collision 418 may need to be confirmed early to avoid hard impacts 420. The region D detection 362 includes a detection index which places more weight on a power rising ratio in comparison to the amount of energy E consumed to overcome the pinch condition. The detection index may include one or more of the peak 426 of the electric power 270, the slope of the changing electric power 270, and the absolute value integral of the energy7E over time to detect the hard collision 418. In addition, the region D detection 362 may include an energy threshold TH to determine the occurrence of the hard collision 418, similarly as described above with the method to detect a soft pinch 406. Typically, the region D detection 362 determines a mature pinch immediately when a hard collision 418 is detected. In contrast, the region D detection 362 identifies a pre-mature pinch followed by confirming a mature pinch when detecting a soft pinch 406.

[0131] However, if the maximum hardware current Cmax is exceeded prior to the region D detection 362 identifying the occurrence of the hard collision 418, then the region D detection 362 may decrement the energy threshold TH by a predetermined amount within a specified fixed range. Adjusting the energy threshold TH based on the accuracy7of detecting the hard collision 418 optimizes the region D detection 362 without having to manually calibrate the detection process.

[0132] Figures 37 - 39 show additional scenarios in region D and the effect on the electric power 270 and the mechanical power 272. Figure 37 shows a first scenario 428 wherein both the electric power 270 and the mechanical power 272 are increasing gradually over time. For example, the delta power 404' between the electric power EPb and the mechanical power MPb at time tb is larger than the delta power 404 between the electric power EPnand the mechanical power MPnat time tn. However, the difference between the first and second delta power 404, 404' is not large enough to trigger the region D detection 362. The first scenario 428 in Figure 37 is unlikely if the controller 20 includes speed control.

[0133] In contrast, Figure 38 shows a second scenario 430 wherein the electric power 270 increases over time while the mechanical power 272 remains steady or slightly drops. In more detail, the delta power 404' between the electric and mechanical power EPb, MPb at time tb is greater than the delta power 404 between the electric and mechanical power EPn, MPnat timetn. However, the difference between the first delta power 404 and the second delta power 404' is insufficient to trigger the region D detection 362. The second scenario 430 is likely to happen if the controller 20 includes speed control. However, the energy threshold TH may be determined based on a function of the delta power 404, 404', a difference in the rotational speed 76 between time tnand tb, and the difference in the PWM power 34 between time tnand tb. Basing the energy threshold TH on the amount of change in the delta power 404, 404', the amount of change in the rotational speed 76, and / or the amount of change in the PWM power 34 over the time period tn, tb will provide a more robust threshold TH and increase the reliability of the region D detection 362 detecting the soft pinch 406 and the hard collision 418.

[0134] Figure 39 shows a third scenario 432 wherein the electric power 270 increases rapidly and the mechanical power 272 decreases rapidly over time period tn, tb. In the third scenario 432, the delta power 404, 404' increases more rapidly over time than shown in Figures 37 and 38. The region D detection 362 is likely to detect both the soft pinch 406 and the hard collision 418.

[0135] Figure 40 shows a fourth scenario 434 wherein the electric power 270 increases rapidly between EPnat time tnand EPb at time tb but the electric power 270 levels off between EPb at time tb and EPCat time tc. In addition, the mechanical power 272 drops gradually between MPnat time tnand MPb at time tb followed by the mechanical power 272 gradually increasing or maintaining a low level between MPb at time tb and MPCat time tc. This results in the delta power 404' at time tb being larger than the delta power 404 at tnbut the difference might be insufficient to trigger the detection of a pinch condition at time tb. However, the delta power 404" at time tcis also larger than the delta power 404 at time tn. The region D detection 362 will detect the pinch condition since the increased amount of the delta power 404', 404" has been maintained for an extended time period tb, tcin comparison to the delta power 404 at time tn. Thus, the fourth scenario 434 may result in a delay in the region D detection 362 identifying a soft pinch 306 or ahard collision 418. However, the region D detection 362 will still identify a pinch condition.

[0136] Figure 41 shows a fifth scenario 436 wherein the electric power 270 increases rapidly between EPnat time tnand EPb at time tb and continues to increase between EPb at time tb and EPCat time h. In addition, the mechanical power 272 drops gradually between MPnat time tnand MPb at time tb followed by the mechanical power 272 maintaining a low level between MPb at time tb and MPCat time tc. The region D detection 362 will likely detect a pinchcondition with the fifth scenario 436 sooner than with the fourth scenario 434 because the electric power 270 continues to increase between time tb and tc. The detection index may be based on the amount of energy E consumed within a time frame by integrating the delta power 404, 404', 404" over a selected time frame. In addition, the detection index may be based on a fatigue factor with a speed increase and / or a factor based on the rate the delta power 404 is changing over time. For example, the detection index may be decremented in response to the rotational speed 76 increasing even though the amount of electric power 270 is above a normal range. In addition, the detection index might be decremented at a faster rate or reset if the delta power 404, 404', 404" decreases over time. Referring to Figure 41, the portion of the electric power 270 between EPb at time tb and EPCat time tcis more critical in calculating the detection index than the electric power 270 between EPnat time tnand EPb at time tb.

[0137] One exemplary implementation of the P6 pinch detection 340 is shown in a HE flowchart 438 in Figure 43 and a power flowchart 440 in Figure 44. The P6 pinch detection 340 is based on a detection index which is a function of various factors discussed above, such as delta power 404, 404', 404", delta Energy E, an increase in electric power 270, a decrease rate of the mechanical power 272, and the like as non-limiting examples. One effective approach includes full integrated detection using power. The detection index uses different type of function weights in the final calculation based on the currently identified region C, D, E.

[0138] Referring to Figure 43, the HE flowchart 438 starts at step 442 when a new measurement is received and proceeds to step 444. Next in step 444, the controller 20 determines if the new measurement received is less than an old measurement in a long-term buffer by at least X%, wherein X% is a predetermined value. If the new measurement is not less than the old measurement by at least X% in step 444, then the controller 20 proceeds to step 446, decrements a HE counter in step 446, and proceeds to the end of the HE flowchart 438 in step 448. However, if the controller 20 determines that the new measurement is less than the old measurement by at least X% in step 444, then the controller 20 proceeds to step 450, increments the HE counter, and proceeds to step 452. In step 452, the controller 20 determines if the HE counter is greater than a first threshold TH and if the power counter is greater than zero. If the controller 20 determines that the HE counter is greater than the first threshold TH and the power counter is greater than zero in step 452, then the controller 20 signals a pinched HE condition in step 454 and proceeds to the end of the HE flowchart 438 in step 448. However, if the controller 20 determines that the HE counter is not greater than the first threshold THand / or the power counter is not greater than zero in step 452, then the controller 20 proceeds directly to the end of the HE flowchart 438 in step 448.

[0139] Referring to Figure 44, the power flowchart 440 starts at step 456 when a new measurement is received and proceeds to step 458. Next in step 458, the controller 20 determines if the new measurement received is greater than an old measurement in a long-term buffer by at least X%. wherein X% is a predetermined value. If the new measurement is not greater than the old measurement by at least X% in step 458, then the controller 20 proceeds to step 460, decrements the power counter in step 460, and proceeds to the end of the power flowchart 440 in step 462. However, if the controller 20 determines that the new measurement is greater than the old measurement by at least X% in step 458, then the controller 20 proceeds to step 464, increments the power counter, and proceeds to step 466. In step 466, the controller 20 determines if the power counter is greater than a second threshold TH' and if the HE counter is greater than zero. If the controller 20 determines that the power counter is greater than the second threshold TH' and the HE counter is greater than zero in step 466, then the controller 20 signals a pinched power condition in step 468 and proceeds to the end of the power flowchart 440 in step 462. However, if the controller 20 determines that the power counter is not greater than the second threshold TH' and / or the HE counter is not greater than zero in step 466, then the controller 20 proceeds directly to the end of the power flowchart 440 in step 462.

[0140] A second exemplary implementation of the P6 pinch detection 340 is shown in a detection flowchart 470 in Figure 45. Referring to Figure 45, the detection flowchart 470 starts in step 472 and proceeds to step 474. In step 474, the controller 20 determines if the electric motor 22 is moving. If the controller 20 determines that the electric motor 22 is not moving in step 474, then the controller 20 proceeds to the end of the detection flowchart 470 in step 476. However, if the controller 20 determines that the electric motor 22 is moving in step 474, then the controller 20 proceeds to step 478 and determines if a current long-term counter is less than or equal to a current long-term count. If in step 478 the controller 20 determines that the cunent long-term counter is less than or equal to the current long-term count, then the controller 20 proceeds to step 480. In step 480, the controller 20 determines if the current short-term counter is less than or equal to a current short-term count. If the controller 20 determines that the current short-term counter is less than or equal to the current short-term count, then the controller 20 proceeds to step 482. fills the current buffer in step 482. and proceeds to step 484. In step 484,the controller 20 detects a pinched behavior by both power and HE or detects a pinched behavior by power only if pow er is greater than a boundary threshold THb.

[0141] In one embodiment, the boundary threshold THb is a predetermined value. In another embodiment, the boundary' threshold THb is a detection boundary shown in Figure 46. An exemplary boundary threshold THb is defined as a function of the calculated power and the HE Delta T, as shown below in equation 1 (as one possible option). In more detail, the boundary threshold THb is calculated as the square root of ((calculated power / TH')2+ (HE Delta T / TH)2) = 1 as the calculated power varies from 0 to the second threshold TH' and the HE Delta T varies from 0 to TH. Function f(pwr, HE) can be used as an index to detect and indicate the pinched status.TH' and 0 < HE < TH Equation 1

[0143] Figure 46 shows a chart of the HE Delta T on the y-axis and the calculated power on the x-axis. Area A includes a portion Al of the chart wherein the HE Delta T is equal or greater than the first threshold TH. Area A also includes a portion A2 of the chart wherein the calculated power is equal or greater than the second threshold TH'. Area A represents a first pinched zone wherein the electric motor 22 is encountering pinched behaviors. Further, value VI is located in Area A since value VI has a calculated power PC3 > TH’ and / or a HE delta T HEC3 > TH.

[0144] Area C is defined as a portion bounded by the curve THb, i.e., f(pwr, HE) < 1, the x- axis is between 0 and TH', and the y-axis is between 0 and TH. Area C represents a normal operation zone for the electric motor 22 when the electric motor 22 is not experiencing any pinched behaviors. For example, value V2 is located in Area C since value V2 has a calculated power of PCi < TH', a HE Delta T HECi < TH, and the value V2 is located below curve THb.

[0145] In contrast, Area B is bounded by the curve THb and Area A. Area B represents a second pinched zone wherein the electric motor 22 is encountering pinched behaviors. For example, value V3 is located in Area B since value V3 has a calculated power PC2 < TH', a HE Delta T HEC2< TH, and the location (PC2, HEC2) is outside of Area C (f(pwr, HE) >1 at V3).

[0146] Referring to Figure 45, the controller 20 proceeds to the end of the detection flowchart 470 in step 476 after the controller 20 completes step 484. However, if the controller 20 determines that the current short-term counter is greater than the current short-term count in step 480, then the controller 20 proceeds to step 486, fills the power buffer in step 486, and proceeds to step 484. The controller 20 continues to follow the detection flowchart 470 from step 484 as described above.

[0147] However, if the controller 20 determines that the current long-term counter is greater than the current long-term count in step 478, then the controller 20 proceeds to step 488. In step 488, the controller 20 detects a pinched behavior by power and proceeds to step 490. In step 490. the controller 20 determines if the HE long-term counter is less than or equal to the HE long-term count. If the controller 20 determines that the HE long-term counter is greater than the HE long-term count, then the controller 20 proceeds to step 492. In step 492, the controller 20 detects a pinched behavior by HE and proceeds to step 484 and continues to follow the detection flowchart 470 from step 484 as described above.

[0148] Depicted in Figure 45, if the controller 20 determines that the HE long-term counter is less than or equal to the HE long-term count in step 490, then the controller 20 proceeds to step 494. In step 494, the controller 20 determines if the HE short-term counter is less than or equal to the HE short term count. If the controller 20 determines that the HE short-term counter is less than or equal to the HE short-term count, then the controller 20 proceeds to step 496, fdls the position buffer in step 496, and proceeds to step 484. The controller 20 continues to follow the detection flow chart 470 from step 484 as described above. However, if in step 494 the controller 20 determines that the HE short-term counter is greater than the HE short-term count, then the controller 20 proceeds to step 498 and fills the travel buffer. After the controller 20 fills the travel buffer in step 498, then the controller 20 proceeds to step 484 and continues to follow the detection flowchart 470 as described above.

[0149] Depicted in Figure 10, the controller 20 initiates a P7 threshold update 500 in step 502 after the controller 20 initiates the P6 pinch detection 340 (step 342). The P7 threshold update 500 continues to run until terminated by the controller 20. Referring to Figure 42, the P7 threshold update 500 adjusts the values of the threshold TH used in various calculations by the P5 event analysis 280 and the P6 pinch detection 340. In certain embodiments, a fixed threshold TH is included in specific calculations. In other embodiments, the threshold TH is calibrated using a few different values in response to various conditions. The P7 thresholdupdate 500 includes a threshold TH which is self-adjustable within a certain range. In more detail, a maximum-minimum range (Pwr_max, Pwr_min) for the delta power 404. 404', 404" and maximum-minimum range of the delta energy E are defined based on the stall currents and nominal operations. Within the boundary of the maximum-minimum range (Pwr max, Pwr_min) for the delta power 404, 404', 404" and optionally the maximum-minimum range of the delta energy E, the threshold TH is adjusted lower if a detection of a pinch condition is missed but captured by the hardware current protection Cmax. A pinch condition might be missed by the P6 pinch detection 340 due to changes caused by aging or temperature effects. Further, the threshold TH is adjusted higher if a detected pre-mature pinch is cleared with an additional PWM duty cycle 52 push.

[0150] In the embodiment shown in Figure 42, the value of the threshold TH is adjusted upward and downward between an upper threshold limit 504 of the Pwr max and a lower threshold limit 506 of the Pwr_min for the delta power 404, 404', 404". Power range 508 represents nominal power during normal operating conditions. The stall power / current is indicated by element 510. Thus, the range of the adjustable threshold TH is less than the stall power / current 510 but greater than the nominal power range during normal operating conditions. The P7 threshold update 500 evaluates and adjusts the value of the threshold TH at the end of each detected pinch event. When the ignition is turned off, the adjusted threshold TH is saved into the NVRAM for future use.

[0151] Depicted in the sequence flowchart 142A in Figure 10, after the controller 20 initiates the P7 threshold update 500 in step 502, then controller 20 proceeds to step 512 and determines if the vehicle ignition is off. If the vehicle ignition is on in step 512, the controller 20 returns to step 146 and continues to follow the sequence flowchart 142 A. However, if the controller 20 determines that the vehicle ignition is turned off in step 512, then the controller 20 proceeds to step 514 and initiates a P8 NVRAM process 516. The P8 NVRAM process 516 handles similar functions as the Pl NVRAM process 147, including data read out processes, logging of data, counts of the ignition cycles, updating health status information, and the like as discussed above. In addition, the P8 NVRAM process 516 terminates the Pl NVRAM process 147, the P2 hall effect process 260, the P3 Power calculation 266, the P4 Region identifier 276, the P5 event analysis 280, the P6 pinch detection 340. the P7 threshold update 500, and stores current values for various adjustable parameters such as the threshold TH, maximum limits, and minimum limits. In addition, the P8 NVRAM process 51 stores values such as the numberof ignition cycles and the number of times the electric motor 22 has been energized. After the P8 NVRAM process 516 terminates the P1-P7 processes and stores values in NVRAM in step 514, the controller 20 proceeds to step 518 and turns the power off to the controller 20 and proceeds to step 520 which ends the sequence flowchart 142A.

[0152] As discussed above, the seat assembly 10 of the present invention includes an antipinch detection system 12 which focuses on the amount of energy used by the electric motor 22 to move a component 26 of the seat assembly 10. The anti-pinch detection system 12 can detect improper blockage of movement and can detect hindering of the movement of the electric motor 22. In addition, the anti-pinch detection system 12 is able to detect hard collisions and soft pinch conditions before the electric motor 22 draws the maximum hardware current Cmax.

[0153] In more detail, the anti-pinch detection system 12 evaluates power conversion and dissipation rates to detect pinch conditions. Further, the anti -pinch detection system 12 includes a robust threshold generation with balanced and effective detection performance. The antipinch detection system 12 also includes event-based data analysis so that the detection of pinch conditions is robust and reliable. The event-based data analysis enables effective detection of pinch conditions and reduces calibration work based on various voltage ranges or specific conditions. In addition to detecting pinch conditions, the anti-pinch detection system 12 is configured to identify potential changes in the performance of the electric motor 22 due to aging or overuse scenarios. The power and energy dissipation-based approach enables a unified solution to detect hard collisions and soft squeezing conditions. In addition, the detection statistics may be used to determine short-term compensation as well as long-term compensation based on changing conditions. Further, the anti-pinch detection system 12 includes summarized statistics gathered over time which are used for a health status assessment to determine the health of the electric motor 22. In addition, the summarized statistics provide additional insights for further services.

[0154] The invention has been described in an illustrative manner, and it is to be understood that the terminology', which has been used, is intended to be in the nature of words of description rather than of limitation. Many modifications and variations of the present invention are possible in light of the above teachings. It is, therefore, to be understood that within the scope of the appended claims, the invention may be practiced other than as specifically described.

Claims

What is claimed is:

1. A method for detecting a pinch condition in a seat assembly for use in an automotive vehicle, wherein the seat assembly includes a controller operatively coupled to an electric motor having an output shaft and a hall effect sensor configured to output hall effect pulses to the controller as the electric motor rotates the output shaft, the method comprising the steps of: providing a calibration scaler G. a predetermined amount of time Hi, and a predetermined time constant TCn; acquiring a first plurality of hall effect pulses received from the hall effect sensor during a first time period; determining a first rotational speed of the output shaft during the first time period based on the first plurality of hall effect pulses; determining a new time constant TCnew related to an amount of change in the first rotational speed over the first time period; determining if the new time constant TCnew is greater than the calibration scaler G multiplied by the time constant TCnfor at least the amount of time Hi; and determining that a pre-mature pinch condition has occurred if the new time constant TCnew is greater than the calibration scaler G multiplied by the time constant TCnfor at least the amount of time Hi.

2. The method as set forth in claim 1, further comprising: providing a predetermined amount Ji and providing a predetermined amount of displacement Ki; increasing an amount of PWM duty cycle to the electric motor by the predetermined amount Ji after the pre-mature pinch condition has occurred and initiating a second time period; acquiring an amount of displacement K during the second time period, wherein the amount of displacement K is based on a second plurality of hall effect pulses received during the second time period; and determining that a mature pinch condition has occurred if the amount of displacement K at an end of the second time period is less than the predetermined amount of displacement Ki.

3. The method as set forth in claim 2, further comprising: resetting the pre-mature pinch condition if the amount of displacement K is greater than or equal to the predetermined amount of displacement Ki.

4. The method as set forth in claim 3, further comprising: providing predetermined values for Gdeita and Gmax; and setting the calibration scaler G equal to a minimum value of (G + Gdeita, Gmax) if the amount of displacement K is greater than or equal to the predetermined amount of displacement KI.

5. The method as set forth in claim 1, further comprising: providing a predetermined value of a maximum hardware current Cmax; providing predetermined values for Gdeita and Gmin; determining that the pre-mature pinch condition has not occurred if the new time constant TCnew is less than or equal to the calibration scaler G multiplied by the time constant TCn for at least the amount of time Hi; acquiring a first amount of current drawn by the electric motor during the first time period; determining if the first amount of current drawn by the electric motor during the first time period is equal or greater than the maximum hardware current Cmax; and setting the calibration scaler G equal to a maximum value of (G - Gdeita, Gmin) if the first amount of current drawn by the electric motor is equal or greater than the maximum hardware current Cmax and the pre-mature pinch condition has not occurred.

6. The method as set forth in claim 1, wherein: the calibration scaler G is adjusted over time in response to resetting the pre-mature pinch condition.

7. The method as set forth in claim 1, further comprising: providing a predetermined value of a maximum hardware current Cmax; acquiring a first amount of current drawn by the electric motor during the first time period; and adjusting the calibration scaler G in response to the first amount of current exceeding the maximum hardware current Cmaxif the pre-mature pinch condition has not occurred.

8. A method for detecting a pinch condition in a seat assembly for use in an automotive vehicle, wherein the seat assembly includes a controller operatively coupled to an electric motor having an output shaft and a hall effect sensor configured to output hall effect pulses to the controller as the electric motor rotates the output shaft, the method comprising the steps of:providing a predetermined energy threshold TH: acquiring a first amount of voltage and a first amount of a PWM power provided to the electric motor, a first amount of current drawn by the electric motor, and a first plurality of hall effect pulses received from the hall effect sensor during a first time period; determining a first electric power provided to the electric motor based on the first amount of voltage and the first amount of current during the first time period; determining a first mechanical power provided by the electric motor based on the first amount of the PWM power provided to the electric motor and the first plurality of hall effect pulses received from the hall effect sensor during the first time period; determining a first delta power between the first electric power and the first mechanical power during the first time period; determining a first amount of energy El by integrating the first delta power over the first time period; and determining that a pre-mature pinch condition has occurred when the first amount of energy El is greater than the predetermined energy threshold TH.

9. The method as set forth in claim 8, further comprising: providing a target range; prior to initiating the first time period, determining a rotational speed of the output shaft; and initiating the first time period if the rotational speed is within the target range.

10. The method as set forth in claim 9. wherein the rotational speed is based on a count of hall effect pulses received in a predetermined time interval.

11. The method as set forth in claim 9, wherein the rotational speed is based on an amount of time between successive leading edges of the hall effect pulses.

12. The method as set forth in claim 8, further comprising: acquiring a second amount of voltage and a second amount of PWM power provided to the electric motor, a second amount of current drawn by the electric motor, and a second plurality of hall effect pulses received from the hall effect sensor during a second time period after the first time period: determining a second electric power provided to the electric motor based on the second amount of voltage and the second amount of current during the second time period;determining a second mechanical power provided by the electric motor based on the second amount of PWM power provided to the electric motor and the second plurality of hall effect pulses received from the hall effect sensor during the second time period; determining a second delta power between the second electric power and the second mechanical power during the second time period; and determining a second amount of energy E2 by integrating the second delta power over the second time period.

13. The method as set forth in claim 12, further comprising: determining that a mature pinch condition has occurred when the second amount of energy E2 is greater than the predetermined energy threshold TH.

14. The method as set forth in claim 12, further comprising: determining that a mature pinch condition has occurred when the second amount of energy E2 is greater than the first amount of energy El.

15. The method as set forth in claim 12, further comprising: resetting the pre-mature pinch condition if the second amount of energy E2 is less than or equal to the predetermined energy threshold TH.

16. The method as set forth in claim 13, further comprising: acquiring a third amount of PWM power provided to the electric motor during a third time period after the first time period and after the second time period; and resetting the mature pinch condition if the third amount of PWM power is less than the second amount of PWM power.

17. The method as set forth in claim 13, further comprising: determining a second rotational speed based on the second plurality of hall effect pulses received during the second time period; acquiring a third plurality7of hall effect pulses received from the hall effect sensor during a third time period after the first time period and after the second time period; determining a third rotational speed based on the third plurality of hall effect pulses; and resetting the mature pinch condition if the third rotational speed is greater than the second rotational speed.

18. A method for detecting a pinch condition in a seat assembly for use in an automotive vehicle, wherein the seat assembly includes a controller operatively coupled to an electric motor having an output shaft and a hall effect sensor configured to output hall effect pulses to the controller as the electric motor rotates the output shaft, the method comprising the steps of: providing a predetermined energy threshold TH; acquiring a first amount of voltage and a first amount of PWM power provided to the electric motor, a first amount of current drawn by the electric motor, and a first plurality of hall effect pulses received from the hall effect sensor during a first time period; determining a first electric power provided to the electric motor based on the first amount of voltage and the first amount of current during the first time period; determining a first mechanical power provided by the electric motor based on the first amount of PWM power provided to the electric motor and the first plurality of hall effect pulses received from the hall effect sensor during the first time period; determining a first delta power between the first electric pow er and the first mechanical power during the first time period; acquiring a second amount of voltage and a second amount of PWM power provided to the electric motor, a second amount of current drawn by the electric motor, and a second plurality of hall effect pulses received from the hall effect sensor during a second time period; determining a second electric power provided to the electric motor based on the second amount of voltage and the second amount of current during the second time period; determining a second mechanical power provided by the electric motor based on the second amount of PWM power provided to the electric motor and the second plurality of hall effect pulses received from the hall effect sensor during the second time period; determining a second delta power between the second electric power and the second mechanical power during the second time period; and determining that a pinch condition has occurred when the second delta power is greater than the first delta power and greater than the predetermined energy threshold TH.