Motor position estimation using current ripple
Patent Information
- Application Number
- CN202280035721.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-05-20
- Filing Date
- 2022-05-20
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2042-05-20
AI Technical Summary
[0005]然而,由于霍尔效应传感器、连接在霍尔效应传感器与ECU之间的额外电线以及ECU中的用于处理霍尔效应信号的控制器上的附加数字通道,因此将霍尔效应传感器添加至座椅组件增加了成本和复杂性
Smart Images

Figure CN117378137B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority to U.S. Provisional Application 63 / 190,995, filed May 20, 2021, the disclosure of which is incorporated herein by reference in its entirety. Technical Field
[0003] This disclosure generally relates to methods for monitoring and controlling electric motors. More specifically, the present invention relates to methods for determining the rotational position and / or speed of a brushed DC electric motor based on multiple ripple peaks of the motor current. Background Technology
[0004] Brushed direct current (DC) motors are commonly used in automotive electric seat assemblies. For more complex applications such as memory seats or anti-pinch functions, the motors include Hall effect sensors to provide position feedback to an embedded electronic control unit (ECU). The ECU controls the movement and positioning of the seat assembly in part based on the position feedback from the Hall effect sensors.
[0005] However, adding a Hall effect sensor to the seat assembly increases cost and complexity due to the Hall effect sensor itself, the additional wiring connecting the Hall effect sensor to the ECU, and the additional digital channel on the controller in the ECU used to process the Hall effect signal. Eliminating the Hall effect sensor improves system-level reliability and reduces the overall cost of the seat assembly. It is also desirable to eliminate the Hall effect sensor, thus eliminating the need for additional wiring and the additional data channel on the controller. Summary of the Invention
[0006] According to one embodiment, a method for monitoring a motor within a seat assembly in a motor vehicle is provided. The method includes the steps of: measuring an initial current value consumed by the motor to reposition the seat assembly; dividing the initial current value into portions over time based on the magnitude and variation of the initial current value; filtering the initial current value in each portion to obtain a filtered current value; detecting local peaks within the filtered current value; and determining the rotational position or speed of the motor based on the detected local peaks.
[0007] According to another embodiment, a method for monitoring a motor within a seat assembly in a motor vehicle is provided. The method includes the following steps: measuring an initial current value consumed by the motor to reposition the seat assembly; dividing the initial current value into time segments based on its magnitude and variation; filtering the initial current value in each segment to obtain filtered current values; determining the median of the filtered current values in each segment to obtain multiple sequential medians; determining a trend among the multiple sequential medians; removing the trend from the multiple sequential medians to obtain detrended values; determining the magnitude difference between consecutive detrended values to obtain a delta value; identifying multiple peaks in the delta value; determining which of the multiple peaks has an amplitude greater than a threshold, wherein peaks with amplitudes greater than the threshold correspond to local peaks detected within the filtered current value; and determining a rotational position or speed based on the detected local peaks.
[0008] According to another embodiment, a method is provided for extracting current ripple from raw current values consumed by a motor within a seat assembly in a motor vehicle. The method includes the steps of: measuring the raw current value consumed by the motor to reposition the seat assembly; dividing the raw current value into time segments based on its magnitude and variation; filtering the raw current value in each segment to obtain filtered current values under different design parameters; and detecting local peaks within the filtered current values, wherein the local peaks correspond to current ripple. Attached Figure Description
[0009] The advantages of the invention will be readily apparent, as they can be better understood by referring to the following detailed description taken in conjunction with the accompanying drawings, in which:
[0010] Figure 1 This is a perspective view of a seat assembly having a motor operatively coupled to gears according to an embodiment of the present invention.
[0011] Figure 2 It is a graphical representation of the current consumed by the motor during the movement of the seat assembly;
[0012] Figure 3 A system for determining motor position and speed according to one embodiment of the present invention is shown;
[0013] Figure 4 yes Figure 3 The flowchart of the adaptive buffering algorithm;
[0014] Figure 5 This is an exemplary surface view for determining a differential current threshold according to an embodiment of the present invention;
[0015] Figure 6 yes Figure 3A flowchart of a selective adaptive filter;
[0016] Figure 7 This is a flowchart of a method for determining an integration factor according to an embodiment of the present invention;
[0017] Figure 8 This is a flowchart of another method for determining the integration factor according to another embodiment of the present invention;
[0018] Figure 9 This is an example graph that compares the difference function with the change in current divided by the change in time (dC / dT);
[0019] Figures 10 to 13 This demonstrates how the magnitude of the finite impulse response coefficients changes with the integration factor;
[0020] Figure 14 yes Figure 3 A graphical representation of the adaptive median filter;
[0021] Figure 15 yes Figure 3 A flowchart of an adaptive median filter;
[0022] Figure 16 This is according to one embodiment of the present invention. Figure 2 A graphical representation of the changes in the current waveform as the current is processed;
[0023] Figure 17 yes Figure 16 A magnified graphical representation of a portion of the current waveform shown;
[0024] Figure 18 yes Figure 16 A magnified graphical representation of a portion of the current waveform shown;
[0025] Figure 19 yes Figure 3 A graphical representation of the downsampling algorithm;
[0026] Figure 20 This is according to one embodiment of the present invention. Figure 18 The waveform is represented as an enlarged graphic after processing;
[0027] Figure 21 yes Figure 3 A graphical representation of the difference algorithm;
[0028] Figure 22 This is according to one embodiment of the present invention. Figure 16 The graphical representation of the processed waveform;
[0029] Figure 23This is according to one embodiment of the present invention. Figure 22 The graphical representation of the processed waveform;
[0030] Figure 24 yes Figure 23 A magnified graphical representation of a portion of the waveform; and
[0031] Figure 25 It is Figure 24 A graphical representation comparing the waveform with the corresponding Hall effect pulse. Detailed Implementation
[0032] This invention relates to a system and method for detecting the rotational position and / or speed of a seat assembly 10 in a motor vehicle during operation. Directional references such as top, bottom, upper, lower, upward, downward, longitudinal, lateral, left, right, etc., used or shown in the specification, drawings, or claims are relative terms employed for ease of description and are not intended to limit the scope of the invention in any way. Referring to the drawings, similar reference numerals indicate similar or corresponding parts throughout several views.
[0033] Figures 1 to 25 A system and method for controlling the seat assembly 10 are shown. (See diagram.) Figure 1 As depicted, the exemplary seat assembly 10 includes a seat back 12, a seat cushion 14, a seat base 16, a pair of adjuster assemblies 18, and a linkage assembly 20. The seat back 12 is rotatably coupled to the seat cushion 14. The linkage assembly 20 pivotally couples the seat cushion 14 to the seat base 16. The seat base 16 is capable of being moved back and forth along the pair of adjuster assemblies 18.
[0034] The seat assembly 10 also includes: an electronic control unit (ECU) 22; a motor 24 having a drive shaft 26 extending from the motor 24; and one or more gears 28 operatively coupled to the drive shaft 26. The ECU 22 controls the movement and positioning of the seat assembly 10 by controlling the electrical power supplied to the motor 24 that drives the gears 28. The ECU 22 not only controls the movement and positioning of the seat assembly 10, but also monitors these activities to ensure they function properly over time.
[0035] ECU 22 is configured to monitor the current consumed by motor 24 during operation, such as Figure 2 This is reflected in the exemplary current waveform 46 shown. When motor 24 initially receives power, it begins to rotate drive shaft 26, causing one or more gears 28 to rotate. The current consumed by motor 24 increases rapidly as motor 24 initiates the rotation of drive shaft 26 and one or more gears 28, and initiates the movement of devices connected to gears 28, as shown in the example current waveform 46. Figure 2The current waveform 46 is shown in part A. After gear 28 begins to move, less power is needed to drive gear 28. Therefore, the current will begin to decrease after it reaches its peak 48, as shown in part B of the current waveform 46. Part C shows the current waveform 46 during steady-state conditions. Figure 2 Part D shows the current waveform 46 when the gear 28 and / or seat assembly 10 encounters an expected or unexpected impact or obstacle.
[0036] exist Figure 1 In the illustrated embodiment, motor 24 is a brushed direct current (DC) motor, whose internal components generate ripple effects on the current consumed by motor 24. However, the ripple in the original current waveform 46 is mixed with electrical noise from the commutator, ADC noise, and transient conditions. The system and method described below separate the electrical noise and transient conditions from the ripple in the original current waveform 46 to isolate the current ripple, which can then be used to indicate the rotational speed and / or position of motor 24.
[0037] Figure 3 A system 60 according to one embodiment of the present invention for determining the position and / or speed of a motor 24 based on an initial current waveform 46 consumed by the motor 24 is shown. System 60 includes an adaptive buffer algorithm 62, a selective adaptive filter 64, an adaptive median filter 66, a downsampling algorithm 68, a detrending algorithm 70, a differential algorithm 72, a second adaptive median filter 74, a renormalization algorithm 76, a Kalman filter 78, and a threshold and final position / speed calculator 80. System 60 also includes a control and signal processing coordinator 82, a coefficient and length adaptive algorithm 84, and an event detection algorithm 86. System 60 is activated when the ECU 22 sends power to the motor 24 to move the seat assembly 10. The initial current waveform 46 consumed by the motor 24 is initially processed by the adaptive buffer algorithm 62.
[0038] The adaptive buffering algorithm 62 places current samples into a raw current buffer for processing. The size of the raw current buffer varies depending on whether the current is in a transient or steady state. (See reference...) Figure 4In the adaptive buffer algorithm 62, ECU 22 begins by initializing buffer parameters (step 88). Buffer parameters include the maximum buffer size Bmax, timer T0, the minimum current Cmin stored in the buffer, the relative time T1m for the minimum current to be recorded, the maximum current Cmax stored in the buffer, and the relative time T1M for the maximum current to be recorded. An exemplary maximum buffer size Bmax is approximately 30 to 40 samples, but can be adjusted to reflect the motor 24 being evaluated. During initialization, timer T0, the relative time T1m for the minimum current to be recorded, the relative time T1M for the maximum current to be recorded, the minimum current Cmin stored in the buffer, and the maximum current Cmax stored in the buffer are set to zero.
[0039] After initializing the buffer parameters (step 88), ECU 22 obtains a sample of the current from motor 24 (step 90) and increments timer T0 (step 92). Timer T0 identifies the relative time each current value is read into the buffer. Alternatively, ECU 22 may record the actual time the current value is read into the buffer. ECU 22 then determines whether the current value is between Cmin and Cmax (step 94). If ECU 22 determines the current value is between Cmin and Cmax, ECU 22 determines whether the original buffer is full by determining whether T0 exceeds Bmax (step 96). If the original buffer is full, ECU 22 applies a selective adaptive filter 64 to the data in the original buffer (step 98). ECU 22 then updates the buffer parameters by resetting timer T0, minimum timer T1m, and maximum timer T1M to zero and by setting the minimum current Cmin and maximum current Cmax to equal the original current value (step 100). ECU 22 then initiates a new raw buffer (step 102) and stores the raw current value in the raw buffer (step 104). If it is determined at step 96 that the raw buffer is not full, ECU 22 also executes step 104. Then, ECU 22 determines whether current is still flowing through motor 24 (i.e., whether motor 24 is still running) (step 106). If motor 24 is still running, ECU 22 returns to step 90 to obtain the next current value. Otherwise, ECU 22 applies the selective adaptive filter 64 to the remaining data in the raw buffer (step 108).
[0040] At step 94, if the original current value is less than the minimum current Cmin, the minimum current Cmin is set to be equal to the original current value, and the minimum timer T1m is set to be equal to timer T0 (step 110). Also at step 94, if the original current value is greater than the maximum current Cmax, the maximum current Cmax is set to be equal to the original current value, and the maximum timer T1M is set to be equal to timer T0 (step 110). Then, ECU 22 determines the current range threshold TH_dC based on the time difference between the maximum and minimum currents (i.e., the difference time dT) (i.e., T1M-T1m) (step 111).
[0041] (Equation 1).
[0042] The current range threshold TH_dC can be determined based on the line voltage Vin received by ECU 22 and the time difference dT. The line voltage Vin is the battery voltage and can vary in magnitude based on factors such as temperature, load on the battery, amount of charge stored in the battery, battery life, and battery health status, as a non-limiting example. The current range threshold TH_dC can be determined using a lookup table listing values for the threshold TH_dC based on the line voltage Vin and the time difference dT. Alternatively, a lookup table such as... Figure 5 The three-dimensional surface plot 114 reflected in the figure is used to determine the current range threshold TH_dC, where the x-axis reflects the differential time dT, the z-axis reflects the line voltage Vin, and the y-axis reflects the threshold TH_dC. As shown, the surface plot 114 can be used to determine the current range threshold TH_dC 116 based on the value of Vin 118 and the value of dT 120.
[0043] Then, ECU 22 determines whether the current range (i.e., the differential current dC) exceeds the current range threshold TH_dC (step 112). The current range dC is the difference between the maximum current Cmax and the minimum current Cmin (i.e., Cmax - Cmin).
[0044] (Equation 2).
[0045] If the current range dC exceeds the current range threshold TH_dC, ECU 22 proceeds to step 98 to apply the selective adaptive filter 64 to the data in the original buffer. If the current range dC does not exceed the threshold TH_dC, ECU 22 proceeds to step 96 to determine if the original buffer is full.
[0046] As discussed above, when the current range dC exceeds the threshold TH_dC (step 112) or the original buffer is full (step 96), ECU 22 applies a selective adaptive filter 64 to the data in the original buffer. Therefore, ECU 22 uses an adaptive buffering algorithm 62 to divide the original current value into portions over time based on the magnitude and variation of the original current value. The amount of data processed by the selective adaptive filter 64 is partially based on the differential current dC / dT over the differential time. For example, as... Figure 2 As reflected in the data, buffer 50 has a smaller initial current value compared to buffer 52 because buffer 50 occurs during transient conditions (parts A and B), while buffer 52 occurs during steady-state conditions (part C).
[0047] Reference Figure 3 After running the adaptive buffering algorithm 62, ECU 22 applies a selective adaptive filter 64 to the data stored in the original buffer. In step 88 ( Figure 4 The buffer parameters initialized at () include integration parameters processed by the selective adaptive filter 64. These integration parameters include the last integration factor IntF_last, the maximum integration factor IntF_max, the minimum integration factor IntF_min, the incrementing difference D_inc, the decrementing difference D_dec, and the threshold TH_IF for the integration factor IntF. The last integration factor IntF_last is initially set to zero, while the remaining integration parameters are predefined parameters stored in memory. These remaining integration parameters can be determined experimentally during the design phase and optionally based on the calibration of the seat assembly 10. (See reference...) Figure 6 In the selective adaptive filter 64, ECU 22 begins by determining the integration factor IntF of the original current buffer (step 122).
[0048] exist Figure 7 The first method 132 for determining the integration factor IntF (step 122) is shown. ECU 22 first calculates the absolute value of the differential current dC divided by the differential time dT. (Step 134). Next, ECU 22 determines the absolute value of the differential current dC divided by the differential time dT. Is it greater than the threshold TH_IF (step 136)? If so, the absolute value of the differential current dC divided by the differential time dT. If the value is greater than the threshold TH_IF, then ECU 22 will calculate the new integral factor IntF as the minimum of the maximum integral factor IntF_max and the last integral factor IntF_last plus the difference increment D_inc (step 138, equation 3).
[0049] (Equation 3).
[0050] If at step 136, the absolute value of the differential current dC divided by the differential time dT If the value is not greater than the threshold TH_IF, then ECU 22 will calculate the new integral factor IntF as the maximum value of the minimum integral factor IntF_min and the last integral factor IntF_last minus the difference reduction D_dec (step 140, equation 4).
[0051] (Equation 4).
[0052] exist Figure 8 A second method 142 for determining the integration factor IntF (step 122) is shown. ECU 22 initially calculates the differential current dC divided by the differential time dT dC / dT (step 144). ECU 22 uses the differential current dC divided by the differential time dT dC / dT to determine the differential parameter (step 146). Figure 9 An exemplary graph 154 is shown, illustrating the differential parameter 152 based on the differential current dC divided by the differential time dT (dC / dT 150). The differential parameter 152 can be determined from graph 154. Alternatively, ECU 22 can use a lookup table listing the values of the differential parameter 152 for various dC / dT ratios 150.
[0053] Return to Figure 8 After determining the difference parameter 152 (step 146), ECU 22 calculates the new integration factor IntF by the following steps: a) adding the last integration factor IntF_last and the difference (IntF_last + delta), b) selecting the maximum value between the smallest integration factor IntF_min and IntF_last + delta, and c) selecting the minimum value between IntF_max and the maximum (IntF_min, IntF_last + delta) (step 148 and Equation 5).
[0054] (Equation 5).
[0055] Return to Figure 6 After determining the integration factor IntF at step 122, ECU 22 applies a finite impulse response (FIR) filter to the data in the original buffer (step 124) and stores the filtered data in the filtered buffer (step 126). Alternatively, without changing the scope of the invention, ECU 22 may apply a rolling average (RA) filter or an infinite impulse response (IIR) filter instead of an FIR filter.
[0056] The FIR filter uses m past raw current values to create a new filtered signal using Equation 6 shown below, where X(k) is the raw current value at time k, and Y(k) is the output of the FIR filter at time k. The m historical raw current values used to filter a specific raw current value can be predetermined values stored in memory. Alternatively, without changing the scope of the invention, the number m can be determined or adjusted based on the integration factor IntF, the differential current dC, the differential time dT, etc., as a non-limiting example. The FIR coefficients w0…w for the FIR filter are determined based on the integration factor IntF. m The relative weights, and the sum of the FIR coefficients equals 1 (Equation 7).
[0057] (Equation 6).
[0058] (Equation 7).
[0059] Figures 10 to 12 The diagram illustrates how the FIR coefficients change with the integral factor IntF. Figure 10 The figure shows the FIR coefficients when the integration factor IntF equals 0. Figure 11 The FIR coefficients are shown when the integration factor IntF is greater than 0 but less than the maximum integration factor IntF_max. Figure 12 The FIR coefficients are shown when the integral factor IntF equals the maximum integral factor IntF_max.
[0060] Reference Figure 10 When the integration factor IntF equals 0, all original current samples are weighted equally, and the FIR coefficients have an equal magnitude of 1 / m. (Refer to...) Figure 11 As the integration factor IntF increases, the FIR coefficients of the newer original current sample increase as the FIR coefficients of the older original current sample decrease. Therefore, due to the increased integration factor IntF, the FIR filter assigns greater weight to the coefficients of the newer original current sample compared to the coefficients of the older original current sample. (Refer to...) Figure 12 At the maximum integration factor IntF_max, the FIR coefficient of the oldest original sample current is ignored, and in some cases may be 0, thus reducing the number of original current values m used to filter the original current samples.
[0061] like Figure 13 As reflected in the figure, the relationship between the magnitude of the coefficients and the coefficient indices changes according to the integration factor IntF. As the integration factor IntF decreases from IntF... mid Increase to IntF highTo shorten the response time, new data entering the filter is given a larger weight (arrow 156), while older data is given a smaller weight (arrow 158). This is achieved by adjusting the integration factor IntF from IntF. mid Reduce the weights to IntF0, applying smaller weights to new data entering the filter (arrow 160) and larger weights to older data (arrow 162), until all data are treated equally when the integration factor IntF reaches zero (IntF0). Alternatively, the size of the coefficients can be determined based on a lookup table listing the values of each coefficient for the range of the integration factor IntF.
[0062] The selective adaptive filter 64 adjusts the weights wm of the filter coefficients and the number m of past original current values used in the filter based on the amount of change in the original current value in the original buffer. Adjusting the filter coefficients and the number of past original current values improves the filter's response time compared to using fixed filter coefficients and a fixed number of past values. When transient conditions are detected, the selective adaptive filter 64 shortens the filter's response time. In contrast, the selective adaptive filter 64 increases the filter's response time during steady-state conditions. Adjusting the filter response time relative to local changes in the original current value allows noise to be filtered from the current waveform 46 while preserving current ripple.
[0063] Return to Figure 6 After storing the filtered data in step 126, ECU 22 sets the last integration factor IntF_last to the current integration factor IntF (step 128) to process the next raw buffer. See reference... Figure 3 After applying the selective adaptive filter 64, the ECU 22 applies an adaptive median filter 66 to the filtered data in the buffer. Figure 14 and Figure 15 The adaptive median filter 66 is shown in more detail below.
[0064] Reference Figure 15 ECU 22 initially determines the median parameters (step 172). The median parameters include the maximum buffer size b_max, the shift S in the median, and the number P of filtered current values used to calculate the average. The value of length P, shift S, and maximum buffer size b_max can be predetermined values stored in the memory of ECU 22. These design parameter values are derived through optimization using experimental data. ECU 22 can also determine and / or adjust these values based on changes in the filtered buffer, detected transient conditions, differential current dC, differential time dT, integration factor IntF, and / or other conditions detected by ECU 22.
[0065] Next, ECU 22 determines whether the size of the filtered buffer exceeds the maximum buffer size b_max (step 174). If the size of the filtered buffer exceeds the maximum buffer size, ECU 22 divides the filtered buffer into smaller filtered buffers (step 176) until the size of the filtered buffer is less than the maximum value b_max. Then, ECU 22 sorts the filtered current values from minimum to maximum (step 178). For example, as... Figure 14 As reflected in the diagram, if the filtered buffer 166 contains n values, then ECU 22 sorts the values from the smallest Y to the largest Y in array 168. Next, ECU 22 determines the middle position (the nth position) in array 168. (value) (step 180), and shifted the middle position by shift S to obtain the shifted middle position (the value) +S value (step 182). If n is odd, then ECU 22 will Round up to the next integer. The middle position is shifted to the shifted middle position to reduce the impact of transient conditions.
[0066] Then, ECU 22 determines the average of P filtered current values centered around the shifted median position (step 184) and stores this "modified median" in median buffer 170 (step 186). ECU 22 may adjust the value of P to ensure the median is calculated appropriately (e.g., ECU 22 adjusts P to an even number if n is even). In some cases, ECU 22 may apply a standard median filter to the data in the filtered buffer. The standard median filter is obtained by setting the length P to equal 1 and the shift S to equal 0.
[0067] Figures 16 to 18 The effect of applying the selective adaptive filter 64 and the adaptive median filter 66 to the original current waveform 46(X) is shown. Figure 16 It shows the output from Figure 2 The effect of the entire current waveform 46, at the same time Figure 17 An enlarged diagram showing the effect when the seat assembly 10 encounters an expected or unexpected impact or obstacle is shown. Figure 2 Part D), and Figure 18 An enlarged diagram showing the effect during steady-state conditions is shown. Figure 2 Part C in the text.
[0068] like Figures 16 to 18As reflected in the data, the original current waveform 46(X) exhibits greater fluctuations compared to the filtered current Y because the selective adaptive filter 64 filters out a portion of the noise in the original current waveform 46(X) while minimizing the distortion caused by the filtering process in the filtered current waveform Y. Similarly, the filtered current Y exhibits greater fluctuations compared to the modified median-filtered data Z because the adaptive median filter 66 removes local spikes in the filtered current Y while preserving the shift in the filtered original current value Y(k), which indicates amplitude jumps associated with the movement of the seat assembly 10. The adaptive median filter 66 can be configured to emphasize edge effects in the filtered buffer and can be configured to provide a balance between smoothness and abrupt changes in the filtered current value Y(k). The median current waveform Z closely follows the general shape of the original current waveform 46(X) and the filtered current waveform Y while reducing noise-induced fluctuations.
[0069] The selective adaptive filter 64 requires high-resolution signals to process the data. Therefore, when processing the raw current values via the adaptive buffer algorithm 62, the selective adaptive filter 64, and the adaptive median filter 66, the raw current values are recorded at a high rate of approximately one sample per millisecond. For the remainder of system 60, a slower sample rate of approximately one sample per 5 milliseconds is sufficient. Therefore, referring to... Figure 3 ECU 22 applies downsampling algorithm 68 to the median filtered values to reduce the sample rate, which also reduces the processing load required by ECU 22. Figure 19 The downsampling algorithm 68 is further illustrated in the figure.
[0070] Reference Figure 19 ECU 22 downsamples the data in median buffer 170 by a predetermined amount. For example, when ECU 22 downsamples by a factor of three, it divides the data stored in median buffer 170 into three groups 188 with consecutive medians 188a, 188b, and 188c. Next, ECU 22 stores the first value 188a from each group 188 into downsampling buffer 190 and discards the next two values 188b and 188c. ECU 22 repeats the downsampling process for each group 188 of the three values 188a, 188b, and 188c stored in median buffer 170.
[0071] Reference Figure 3 After applying downsampling algorithm 68 to ECU 22, ECU 22 applies detrending algorithm 70 to the downsampled values. (Refer to...) Figure 20 ECU 22 determines the trend 194 in the downsampled waveform 192 and subtracts the trend 194 from the downsampled waveform 192 to produce the detrended waveform 196.
[0072] Next, refer to Figure 3 ECU 22 applies differential algorithm 72 to the detrended value. Differential algorithm 72 further reduces any interference from the trend within the current waveform 46. (Refer to...) Figure 21 In the differential algorithm 72, ECU 22 obtains consecutive detrended values from detrended buffer 198, calculates the differential value as the difference between these consecutive detrended values, and stores the differential value in differential buffer 200. For example, if D(k dS ) is the downsampling time k dS The difference value at point d(k) dS ) is the downsampling time k dS The detrending value at the location, and d(k) dS -l) is the downsampling time k dS The detrending value at -1 is then used by ECU 22 to calculate the difference value D(k) using Equation 8 described below. dS ):
[0073] (Equation 8).
[0074] Reference Figure 3 After applying the differential algorithm 72, the ECU 22 applies a second adaptive median filter 74 to the differential value D. In some embodiments, the ECU 22 may omit the second adaptive median filter 74 without changing the scope of the invention. The second adaptive median filter 74 is used with... Figure 15 The adaptive median filter 66 shown follows the same process. ECU 22 can select the value of the length P, shift S, and maximum buffer size b_max of the second adaptive median filter 74 based on predetermined values and / or based on the amount of change detected in the difference value D in the difference buffer 200.
[0075] Reference Figure 3 ECU 22 then applies the reshaping algorithm 76 to the median difference waveform. Figure 22 An exemplary median difference waveform 202 of the median difference value D is shown. The difference waveform 202 includes local peaks 204 and non-peaks 206. The local peaks 204 typically correspond to current ripples in the original current waveform 46, while the non-peaks 206 typically correspond to noise in the current waveform 46.
[0076] Renormalization algorithm 76 renormalizes the differential waveform 202 to enhance the separation between local peaks 204 and non-peaks 206. To renormalize the differential waveform 202, ECU 22 selects local peaks 204 with a size greater than a predetermined threshold 208 and shifts these local peaks 204 to a size corresponding to a predetermined rise level 210. Figure 22 and Figure 23 As shown, the shifted local peak 214 has the magnitude of the elevation level 210, while the remaining portion 216 of the differential waveform (i.e., the noise value) has the same magnitude in both the re-formed differential waveform 212 and the original differential waveform 202. Figure 24 It shows Figure 23 A magnified view of a portion of the re-normalized differential waveform 212.
[0077] Reference Figure 3 The re-normalized differential waveform 212 is filtered using a Kalman filter 78 to further separate the shifted local peaks 214 from the noise value 216. It will be understood that the Kalman filter 78 can be omitted without changing the scope of the invention. After the ECU 22 processes the re-normalized differential waveform 212 via the optional Kalman filter 78, the ECU 22 applies a threshold and final position / speed calculator 80 to determine the speed and / or position of the motor 24.
[0078] Figure 25 A comparison is shown between the renormalization differential waveform 212 generated by the Hall effect sensor and the corresponding Hall effect waveform 218 when the Hall effect sensor is operatively coupled to the drive shaft 26 of the DC motor 24. Figure 25 In this process, the Hall effect waveform 218 is shifted in amplitude to improve clarity. The Hall effect waveform 218 comprises multiple spaced Hall effect pulses 220 having high portions 222 and low portions 224. The Hall effect waveform 218 is compared to a re-normalized differential waveform 212, which includes shifted local peaks 214 of each of the high portions 222 and low portions 224 of the Hall effect waveform 218. Figure 25 As reflected in the data, the shifted local peak 214 appears during the corresponding high portion 222 and low portion 224 of the Hall effect pulse 220. However, the shifted local peak 214 can drift over time within the corresponding high portion 222 and low portion 224 of the Hall effect pulse 220.
[0079] Each local peak 214 in the re-normalized differential waveform 212 typically corresponds to a current ripple in the current waveform 46. Therefore, the ECU 22 uses the shifted local peaks 214 in the re-normalized differential waveform 212 to determine the ripple count. The ECU 22 then determines the rotational position and speed of the motor drive shaft 26 based on the ripple count. The method for determining the rotational position and speed based on the ripple count is similar to the method for determining the rotational position and speed based on the Hall effect waveform, with modifications to account for the ripple count instead of the Hall effect pulse 220.
[0080] Reference Figure 3The ECU 22 also obtains control information relating to the position of the seat assembly 10, received requests to reposition the seat assembly 10, and / or the power supplied to the motor 24. The ECU 22 uses the control information, along with the control and signal processing coordinator 82, to coordinate the processing of the raw current values by the components of the system 60, including whether to process the data through the second adaptive median filter 74 and the Kalman filter 78.
[0081] ECU 22 uses a coefficient and length adaptive algorithm 84 to adjust one or more parameters of the adaptive buffer algorithm 62, the selective adaptive filter 64, and the adaptive median filters 66 and 74. Parameters include one or more of the following as non-limiting examples: variable parameters, integral parameters, adaptive median filter parameters, etc.
[0082] Reference Figure 3 System 60 also includes an event detection algorithm 86. ECU 22 uses event detection algorithm 86 to detect impacts related to the movement of seat assembly 10, such as seat assembly 10 reaching the end of its travel, impacting an obstacle, etc., as a non-limiting example. ECU 22 can modify the determined rotational position and speed based on any event it detects to avoid over-counting or under-counting current ripple.
[0083] As discussed above, the system 60 of the present invention provides motor speed and position feedback based on the current ripple in the current waveform 46 consumed by the motor 24, without relying on a Hall effect sensor. The elimination of the Hall effect sensor improves system-level reliability and reduces the overall cost of the seat assembly 10.
[0084] The invention has been described in an illustrative manner, and it should be understood that the terminology used is intended to be descriptive in nature and not restrictive. In view of the foregoing teachings, many modifications and variations of the invention are possible. Therefore, it should be understood that the invention can be practiced in ways other than those specifically described within the scope of the appended claims.
Claims
1. A method for monitoring a motor within a seat assembly in a motor vehicle, the method comprising the following steps: Measure the original current consumed by the motor to reposition the seat assembly; The original current value is divided into parts over time based on its magnitude and changes. The original current values in each section are filtered to obtain filtered current values; The median of the filtered current values for each part is determined to obtain multiple sequential medians; Determine the trend among the multiple ordinal medians; Remove the trend from the plurality of ordered values to obtain a detrended value; Determine the magnitude difference between consecutive detrending values to obtain the difference value; Identify multiple peaks in the difference values; Determine which of the plurality of peaks have an amplitude greater than a threshold, wherein the peaks having an amplitude greater than the threshold correspond to local peaks detected within the filtered current value; and The rotation position or velocity is determined based on the detected local peaks.
2. The method according to claim 1, wherein, The step of filtering the original current value includes the following steps: An adaptive filter is applied to the original current value to obtain the filtered current value, wherein the adaptive filter includes a plurality of filter coefficients; and The multiple filter coefficients are adjusted based on the changes in the original current value.
3. The method according to claim 2, wherein, The adaptive filter includes a finite impulse response filter, a rolling average filter, or an infinite impulse response filter.
4. The method according to claim 1, further comprising the following steps: The difference values are filtered using a Kalman filter before identifying the multiple peaks in the difference values.
Citation Information
Patent Citations
Ripple extraction device, motor control apparatus, vehicle seat, and ripple extraction method
EP2688197A1
Method and apparatus for controlling safety power window
US20190253010A1
Anti-pinch method for an apparatus for automatic movement of sliding windows in a motor vehicle, in particular a power-window apparatus, and corresponding device
US20190390500A1
Ripple counting filtering and peak detection method and system
US20200186062A1