Abstract:
A control for an electric motor in a vehicle. The control ascertains whether an obstacle is interfering with rotation of the motor. The control establishes a baseline speed, representing normal free running speed of the motor. This baseline speed will be different, in different operating environments. Then the control determines whether measured motor speed drops below the baseline speed by a predetermined amount. If so, then the motor is shut down, or reversed.

Description:
[0001]     The invention relates to control systems for an electric motor in a vehicle, and particularly to control systems which detect obstacles present in the path of a component which is moved by such a motor. For example, the motor may operate a window. If a small child places his hand in the path of the moving window, the invention detects contact of the window with the hand, and stops, or reverses, the window.  
       BACKGROUND OF THE INVENTION  
       [0002]      FIG. 1  illustrates a motor vehicle  3 , which contains a sun roof (not shown) within dashed box  6 .  FIG. 2  is a view, looking downward, onto the sun roof  9 . If, in  FIG. 3 , an obstruction  10  is present which blocks closure of the glass window  12 , motion of the window  12  should generally be stopped, or reversed.  
         [0003]     Various stratagems exist in the prior art to achieve this stoppage. Clutches are used, which stop motion of the window  12  when the window  12  strikes the obstruction  10 . The obstruction  10  causes an opposing force which overrides the clutch.  
         [0004]     Also, sensors are used, which sense the presence of objects in the path of the window  12 . Other sensors are used which sense electrical parameters of the motor driving the window. For example, current drawn by the motor can increase when load on the motor increases. Obstruction  10  increases the load, when the window  12  meets the obstruction  10 . A system can detect the resulting increase in current, and shut down, or reverse, the motor in response.  
       OBJECTS OF THE INVENTION  
       [0005]     An object of the invention is to provide an improved control system for detecting an obstruction in the path of a component which is moved by an electric motor.  
         [0006]     A further object of the invention is to provide an improved control system for electrically actuated windows in motor vehicles.  
       SUMMARY OF THE INVENTION  
       [0007]     One objective of this invention is to define a method to remove the underlying quasi-constant free speed time increment (Tfs)=1/(n*speed), and to ignore subsequent acceleration intervals after the first attainment of the free-running speed during start-up of a motor.  
         [0008]     In one form of the invention, a motor is used which reaches different free running speeds in different environments. The invention determines the particular free running speed in a given environment, and then measures speed thereafter to determine whether actual speed drops below the free running speed by a specified amount. If so, it is concluded that the motor has encountered an obstacle, and the motor is shut down or reversed. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0009]      FIG. 1  illustrates a vehicle found in the prior art.  
         [0010]      FIG. 2  is a view of the roof of the vehicle of  FIG. 2 , showing a sun roof  9 .  
         [0011]      FIG. 3  shows an obstacle  10  in the path of window  12  in the sun roof  9  of  FIG. 2 .  
         [0012]      FIG. 4  illustrates one form of the invention.  
         [0013]      FIGS. 5A-5D  illustrate four different combinations of temperature and system voltage under which the motor  36  of  FIG. 4  can operate.  
         [0014]      FIG. 6  illustrates equations utilized by the invention.  
         [0015]      FIGS. 7 and 8  illustrate graphically data produced by the invention.  
         [0016]      FIGS. 9A, 9B ,  9 C and  10 A and  10 B are flow charts illustrating processes undertaken by one form of the invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0017]      FIG. 4  illustrates one form of the invention. Within magnified insert  30 , a window  33  in the form of a sun roof is shown. An electric motor  36 , under supervision of a control  39 , actuates the window  33 . The motor  36  and control  39  are indicated as being located within the roof  42  of the vehicle  45 , but other locations are possible.  
         [0018]      FIG. 5  shows idealized plots showing speed-time behavior of the motor  36  in  FIG. 4 , under different combinations of system voltage and temperature.  
         [0019]     The system voltage can vary substantially depending on various external effects such as, but not exclusively restricted to, climatic conditions (temperature, humidity, etc.) and vehicle running conditions (running at speed, idling, stopped, etc.). The system voltage, for the purposes of this invention, can therefore effectively vary from 0V for a flat battery up to approximately 16V depending on the voltage regulator.  
         [0020]     Additionally, the resistance loads (friction, drag, etc.) applied to the system will vary depending on numerous phenomena such as, but not limited to, the change of material characteristics (stiffness, flexibility, contact friction, etc.) at low and high temperature, the relative expansion of different materials creating increased or decreased resistance due to variable interference, etc.  
         [0021]     For the purposes of this invention, the variability of system voltage and system resistance loads need not be assumed to either increase or decrease in any particular manner in relationship to the external influences. However, it is assumed that the particular system under consideration at any one time will for a particular voltage level and corresponding temperature level, result in a stable velocity (free running speed) after an initial transient start-up time.  
         [0022]     The system voltage can assume rather widely differing values. For example, when the engine (not shown) of the vehicle  45  is not running, the system voltage will correspond to the voltage of the battery (not shown), which will ordinarily be about 12 volts, for a healthy battery.  
         [0023]     However, when the vehicle  45  is running, the system voltage will be dictated by the voltage regulator of the charging system (not shown), and that voltage is generally around 16 volts, for a passenger car in the United States in the year 2003.  
         [0024]     Further, if the vehicle  45  is not running, and the battery has been subject to very cold conditions, the battery voltage may fall below 12 volts.  
         [0025]     Further still, the cold temperature drastically reduces the rate of reactions within the electrochemical cells of the battery, so that, even if the measured battery voltage is 12 volts, the amount of current which the battery can deliver is significantly reduced.  
         [0026]     From another point of view, the cold temperature increases the internal resistance of the battery. The battery can be modeled as an ideal voltage source  50  in series with that internal resistance  53 , as shown in  FIG. 5 . When that resistance increases, any current drawn from the battery, as by running motor  36  in  FIG. 4 , causes a voltage drop across the resistor  53 , thereby reducing the voltage at point P, which is the terminal voltage of the battery.  
         [0027]     Therefore, for various reasons, the voltage which the battery of the vehicle  45  produces changes under different operating conditions.  
         [0028]     Another factor affecting performance of motor  36  is the ambient temperature. For example, at warm temperatures, such as 85 F, lubricants are relatively soft. Gaskets and water seals, which surround window  33  in  FIG. 4 , are pliant and flexible, and so on. However, at cold temperatures, such as 10 F, lubricants become stiffer. This increased stiffness causes bearings which motor  36  in  FIG. 4  must rotate to offer more resistance, or drag. Also, gaskets and water seals become stiffer, thus applying drag to the window  33 .  
         [0029]     Therefore, for various reasons, at low temperatures, the motor  36  in  FIG. 4  faces a higher load, or drag, than at high temperatures.  FIG. 5  illustrates this in a qualitative way.  
         [0030]     Plot  60  in  FIG. 5  illustrates acceleration of a generalized motor at high temperature, and at high system voltage. Plot  60  would apply, for example, on a hot day of 90 F, when the engine of the vehicle  45  in  FIG. 4  is running. The motor accelerates from a stop, to a free running speed, which it reaches at time T 1 .  
         [0031]     Free running speed refers to the speed which the motor attains at its normal load. For example, motor  36  in  FIG. 4  would reach a certain free running speed when it opens, or closes, window  33 .  
         [0032]     Plot  70  in  FIG. 5  illustrates acceleration of a generalized motor at low temperature, and at low system voltage. Plot  70  would apply, for example, on a cold day of 10 F, when the engine of the vehicle  45  in  FIG. 4  is not running. It is observed that the motor reaches a free running speed which is less than that of plot  60 . Further, it may happen that the free running speed in plot  70  is reached at a later time T 2 , than is the case in plot  60 , where the free running speed is reached at time T 1 .  
         [0033]     Two other situations are possible: (1) High system voltage with low ambient temperature and (2) low system voltage and high ambient temperature. In these two cases, motor performance can be expected to lie within an area bounded by the curves of plots  60  and  70 . Hatched areas  80  and  85  represent those areas.  
         [0034]     Therefore,  FIG. 5  illustrates that the free running speed of a motor within vehicle  45  in  FIG. 4 , including motor  36 , can be expected to change, depending on system voltage and ambient temperature. This can create problems when one attempts to infer the presence of an obstruction which alters speed of the motor, by computation based on speed of the motor.  
         [0035]     For the purposes of this invention, it is assumed that some form of sensing device (Hall, potentiometer, etc) can measure the incremental time interval between adjacent poles of an adequate number (usually, but not restricted to, 2 to 16) of equally spaced poles or teeth around the system motor drive shaft. For example, in the case of a 16 pole sensor, the time increment for each of the 16 consecutive {fraction (1/16)} of a revolution is stored for later post-treatment.  
         [0036]     For example, it is common to measure speed of the motor by attaching a toothed wheel to the motor. Assume a wheel having 16 teeth. A sensor is placed adjacent the toothed wheel, and each tooth induces a pulse in the sensor. In this example, 16 pulses 
        are produced per revolution. Measuring the time required to produce 16 pulses thus indicates the time to achieve one revolution and a simple computation gives motor speed in rpm.        
 
         [0038]     However, motor speed is not constant, and depends on factors such as system voltage and ambient temperature, as  FIG. 5  indicates. Of course, one can detect the situation wherein the motor  36  strikes an immovable object, as when a concrete block, or other very hard, stiff, object takes the position of obstruction  10  in  FIG. 3 : motor speed drops to zero. That drop, in general, is easily detected.  
         [0039]     Nevertheless, less extreme situations pose problems. Suppose that obstruction  10  takes the form of a soft sponge, or a child&#39;s hand. The speed behavior of  FIG. 5  indicates that detection of this type of obstruction may be difficult, or at least fraught with problems.  
         [0040]     The invention eliminates, or reduces, these problems, as will now be described.  
         [0041]     As previously explained, multiple time increments corresponding to the number of teeth around the system motor shaft, are recorded (e.g. for a 16 pole sensor, 16 time increments are recorded corresponding to {fraction (1/16)} of a revolution of the motor shaft). These time increments are defined to be Ti.  
         [0042]     It can be seen that various of Ti is inversely proportional to the motor shaft speed.  
         [0043]     A simple form of filtering is employed to removed, among other effects but not restricted thereto, the influence of manufacturing tolerances on the relative circumferential positioning of the multiple poles of the sensor. After the completion of one full revolution, and thereafter for each incremental part of a revolution (1/n revolution), the instantaneous time increment (Tf(k)) is calculated to be the average of the sum of previous “n” time increments Ti as indicated by Equation 1 in  FIG. 6 , where n=the number of sensor poles or teeth.  
         [0044]     At any instant in time the derivative of the time increment Tf(k) can be calculated according to Equation 2 in  FIG. 6 . Additionally, at any instant in time the integral of the summation of the derivatives of the time increments ((T(x)), which we will subsequently refer to as the Relative Speed (RS), can be defined according to Equation 3 in  FIG. 6 .  
         [0045]     It can be seen that at start-up the motor will accelerate (T(x) negative) from a stationary condition (T(I)infinite) towards a nominal free speed, corresponding to the prevailing operating conditions of the system. During this start-up phase the derivative of time increments (T(x)) will progressively decrease in magnitude (being negative) towards a theoretical value of zero (corresponding to a constant non-fluctuating speed).  
         [0046]     The start-up phase is considered to have ended when the first time increment (T(x)) exhibits a value of zero, or a positive value is obtained, corresponding to either an effective stabilized speed or an actual deceleration point. At this point in time a variable defined as Trs is set to be zero.  
         [0047]     The variable Trs measures the resulting summation of the time increment derivatives ((T(x)) as follows: 
        a) in all cases when they have a positive value     b) when negative whilst the on going Trs summation remains larger than the negative ((T(x)) value.        
 
         [0050]     Note: Trs has a minimum absolute value of zero. In the event of a negative (T(x)) value greater than the positive current Trs, Trs is set=zero. Trs remains at zero until positive values of (T(x)) are measured again.  
         [0051]     It can be seen that Trs is a measure of the effective deceleration of the system under consideration with relationship to its steady state speed condition. The resulting variable Trs can now be used to evaluate the relative importance of a significantly lengthy deceleration phase, which can subsequently (based on prior characterization of the system in question subjected to different obstructions and operating conditions) be deduced to be contact with an obstacle in the system.  
         [0052]     Calculation # 1:  
         [0053]     Calculate the derivative of a signal then integrate the resulting data samples, using Equation 4 in  FIG. 6 .  
         [0054]     The resulting output from the Equation will be exactly equal to the input signal (Tres(t)=Tf(t)) if the two following conditions are present: 
        the initial conditions are respected IC=Tf(x=0)     the signal has an absolute value (can be negative)        
 
         [0057]     Principal notion utilized in the “relative speed” calculation.  
         [0058]     Apply the calculation #1 with the following restrictions: 
        Condition 1 (C1): Calculate Tres(x) starting with an initial condition of zero (CI=0)     Condition 2 (C2): Saturate Tres(t) at zero (negative values or not allowed)        
 
         [0061]     Equation 5 in  FIG. 6  illustrates the preceding.  
         [0062]     Resulting effect on the signal Tf(k) as presented in Equation 1:  
         [0063]     The complete start-up transient is removed from the signal when the initial conditions are zero and the negatives values are saturated at zero, as illustrated in  FIGS. 7 and 8 .  
         [0064]     The invention provides the following advantages.  
         [0065]     Advantage 1: 
        The quasi-steady state component Delta Tf is removed from the original signal     The dynamic component of the signal (seen in the S2 phase of the signal) is completely retained        
 
         [0068]     Advantage 2:  
         [0069]     The signal calculated Trs(f) remains almost zero, irrespective of the prevailing operating conditions voltages, temperature, etc.), even though a different quasi-steady state free speed will be attained (seen in the S1 phase of the signal of  FIG. 8 ).  
         [0070]     Advantage AV3:  
         [0071]     The signal to noise ratio is always greater than 2, which allows the detection of even very hard/stiff obstacles (65N/mm) with a acceptable load (60N), whilst avoiding incorrect obstacle detection due to system “noise” (high frequency low amplitude fluctuations).  
         [0072]      FIGS. 9A-10B  are flow charts illustrating processes undertaken by one form of the invention. In overview, the invention first determines a normal speed, or free running speed, of the motor in question. That normal speed may be 3600 rpm, or 100 inches per minute, for example.  
         [0073]     It is emphasized that this normal speed is not an eternal constant, but will depend on prevailing environmental conditions, as  FIG. 5  indicates. That is, the invention adaptively derives the normal speed.  
         [0074]     Then a limit is imposed. The limit may state that speed may not drop by 100 rpm or, equivalently, may not drop to 3500 rpm, or may not drop to 99 inches per minute, and so on.  
         [0075]     The invention inquires whether speed has dropped below the limit. If so, it is assumed that an obstacle has blocked the motor, and corrective action is taken, as by stopping, or reversing, the motor.  
         [0076]     In another embodiment, the limit is adjusted, based on operating conditions. At high ambient temperature, the limit may be reduced, for example, thus causing a smaller decrease in speed to indicate an obstacle.  
         [0077]     In another embodiment, false positives are eliminated. If a sufficient drop in speed is detected, the inquiry is repeated to see if a repeated inquiry will also detect a sufficient drop. If a sufficient number of inquiries successfully detect a drop, then an obstacle is declared to be present.  
         [0078]     This discussion will explain  FIGS. 9A, 9B ,  9 C, and  10 A and  10 B in greater detail.  
         [0079]     In  FIG. 9A , block  100  indicates that the control  39  in  FIG. 4  inquires whether free running speed of the motor  36  has been attained. This inquiry asks whether the motor has reached operating region  103 , in plot  105 .  
         [0080]     From one point of view, block  100  is asking whether motor  36  has completed its initial acceleration.  
         [0081]     One approach to implementing the process of block  100  is the following. Assume that the toothed wheel discussed above is used to measure speed. The time required to produce 16 pulses is measured, and is taken as the time for one revolution. (In general, individual pulses are not used, because the tooth spacing of the wheel is not always perfectly uniform. Thus, during one revolution at constant speed, a long pulse may be followed by a short pulse. If individual pulses were used, those two pulses would indicate a speed change, when no speed change actually occurred.)  
         [0082]     If the motor is accelerating, the time required for the next 16 pulses will be less. So long as the measured time per revolution is decreasing, that is, the measured time for each successive group of 16 pulses is decreasing, it is assumed that the motor is accelerating. But when the measured time stops decreasing, it is assumed that free running speed is attained.  
         [0083]     Of course, other approaches can be used to determine when the motor reaches free running speed.  
         [0084]     At this time, when free running speed is attained, block  110  in  FIG. 9A  declares that event, and sets a baseline speed. This baseline speed acts as a reference point. The free running speed can be used as the baseline. Alternately, zero, or another baseline, can be declared. The baseline acts as a reference point, so that subsequent changes in speed can be measured relative to the baseline.  
         [0085]     For example, assume that free running speed is 100 rpm, and that 100 rpm is the baseline. If a deceleration to 98 rpm occurs, a computation can indicate that a change of negative 2 rpm occurred.  
         [0086]     As another example, assume the same free running speed, but that the baseline is set to zero. Assume that speed is not computed directly, but that the time for groups of 16 pulses is used to indicate speed. If the measured time for 16 pulses then increases, as occurs when deceleration occurs, the increase is recorded. If the increase continues to occur, the total increase will eventually exceed the baseline limit, although in units of time, as opposed to units of rpm.  
         [0087]     Therefore, the baseline serves as a reference point. The units chosen, such as rpm or pulse time, as well as the value of the baseline, are under control of the designer. Some choices may simplify computation, but, again, the baseline acts as a reference to detect drops in speed.  
         [0088]     Block  115  then inquires whether any drop from the baseline speed has occurred. For example, if the motor&#39;s time-speed trajectory followed dashed path  120  in plot  125 , then a drop of 20 units in speed would occur. Block  115  detects this 20 unit drop.  
         [0089]     This drop can be detected in the following manner. Assume that motor speed has stabilized, and that {fraction (1/60)} second is required to receive 16 pulses, corresponding to a motor speed of one revolution every {fraction (1/60)} second, or 60 revolutions per second, or 3600 rpm.  
         [0090]     In concept, one may determine whether the motor experiences a deceleration by asking whether more than {fraction (1/60)} second are required to receive subsequent groups of 16 pulses. If not, then no deceleration is detected. If so, then a deceleration does occur, indicating the possibility that an obstruction is hindering rotation of the motor.  
         [0091]     The Inventor points out that block  115  does not look for acceleration in the motor, but only deceleration.  
         [0092]     In  FIG. 10A , block  200  sets a deceleration limit. This limit could have been set previously, or it could have been fixed in advance by the system designer. One concept behind the deceleration limit is to detect decelerations which are deemed to be caused by obstructions which required shutting down the motor. The deceleration limit, for example, may state that the 20 unit drop in  FIG. 6  is excessive.  
         [0093]     Block  205  in  FIG. 10A  inquires whether any drop, computed in block  115  in  FIG. 9 , exceeds the deceleration limit of block  200 . For example, in plot  220 , dashed line  225  represents the deceleration limit. Line  230  represents the baseline speed. Dashed line  120  represents a drop in motor speed. Block  205  inquires whether the drop  120  in motor speed exceeds the deceleration limit.  
         [0094]     If so, indicating that motor speed has fallen sufficiently, thereby indicating that an obstruction has been struck, then the YES branch is taken, and block  210  shuts off the motor, or takes other corrective action, such as reversing the motor.  
         [0095]     If not, indicating that no excessive deceleration has been detected, the NO branch is taken, and the processing returns to block  115  in  FIG. 9 , and repeats.  
         [0096]     A significant feature is that, in one form of the invention, the deceleration limit, indicated by double arrow  233  in  FIG. 10 , is an absolute number, as opposed to a percentage. Thus, if the baseline speed changes to baseline speed  230 A, the deceleration limit  233  remains the same.  
         [0097]     From another point of view, the deceleration limit represents a number N. The invention inquires whether speed has dropped below (baseline speed minus N). If so, it is assumed that an obstacle has been struck, and corrective action is taken.  
         [0098]     The Inventor points out that the approach of  FIGS. 9 and 10 , in effect, computes a relative speed, relative to the baseline. If the relative speed indicates an excessive deceleration, corrective action is taken.  
         [0099]     In another form of the invention, the baseline is adaptive, and is not an absolute number. That is, if the motor behavior corresponds to that shown in plot  60  in  FIG. 5 , then the free running speed is that attained at time T 1 . That speed can be used as the baseline speed. However, if the motor behavior corresponds to that of plot  70  in  FIG. 5 , then the free running speed is that attained at time T 2 . That speed can be used as the baseline speed.  
         [0100]     Similar comments apply to operation in regions  80  and  85 .  
         [0101]     It is noted, the baseline speed is different in the two situations. Further, the difference was not determined in advance, but was derived in real time, based on the free running speed attained in each instance.  
         [0102]     Thus, from one point of view, the invention detects the free running speed attained by the motor. This free running speed can be called normal operating speed. The invention then sets a deceleration limit, such as limit  233  in  FIG. 7 . This limit is determined with respect to the free running speed, and is not, in general, an absolute speed.  
         [0103]     The invention inquires whether current operating speed falls below the deceleration limit. If so, then an obstacle is assumed present, and corrective action is taken, such as shutting down the motor, or reversing the motor.  
         [0104]     Phantom block  300  in  FIG. 10A  represents optional processes which can be added. For example, the deceleration limit  233  can be altered during operation of the motor. Assume that system voltage increases during operation of the motor. In this case, the deceleration limit can be decreased. Thus, with a higher system voltage, a smaller deceleration, or a smaller decrease in relative speed, will be taken to indicate presence of an obstruction.  
         [0105]     As another example, ambient temperature can change during operation of the motor. The deceleration limit can be decreased in response to the change. Thus, with a higher ambient temperature, a smaller deceleration, or a smaller decrease in relative speed, will be taken to indicate presence of an obstruction.  
         [0106]     The change in deceleration limit need not occur during operation of the motor, but can be taken on start up. For example, if the motor starts under the conditions shown in plot  60  in  FIG. 5 , one deceleration limit can be used. If the motor starts under the conditions of plot  70 , another deceleration limit can be used. In either case, the deceleration limit used can be changed, if the environmental variables, such as system voltage and ambient temperature, change.  
         [0107]     In another form of the invention, a single excursion past the deceleration limit is not seen as conclusively indicating the presence of an obstruction. Instead, when such an excursion occurs, the invention notes that excursion, and then repeats the inquiry of block  205  in  FIG. 10A  a specified number of times, such as ten.  
         [0108]     If those repeated inquiries indicate that the deceleration limit is truly exceeded, then an obstruction is taken as present. Numerous approaches can be taken. It may be required that all of the ten inquiries indicate that the limit is exceeded. It may be required that a majority of the ten inquiries so indicate, and so on.  
         [0109]     This repeated inquiry serves to eliminate false positives.