Current ripple waveform adjusting method and vehicle
By identifying and removing the target range from the motor current ripple waveform and fusing the remaining waveform into the target current ripple waveform, the counting error problem in the anti-pinch process of the car window is solved, and the positioning accuracy and anti-pinch reliability of the car window are improved.
Patent Information
- Application Number
- CN202610115396.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-28
- Publication Date
- 2026-02-27
- Estimated Expiration
- 2046-01-28
AI Technical Summary
In the existing technology, the motor current ripple counting during the anti-pinch process of the car window is affected by ambient temperature, power supply voltage and load factors, resulting in the accumulation of counting errors, which affects the positioning accuracy of the car window and the reliability of the anti-pinch.
By acquiring the initial current ripple waveform of the motor of the anti-pinch component under the current operating conditions, identifying the zero-crossing point, determining the target interval waveform of the anti-pinch execution stage, removing the target interval waveform from the initial current ripple waveform, and fusing the remaining waveform into the target current ripple waveform for ripple counting.
It significantly improves the positioning accuracy and anti-pinch reliability of the window, avoids random errors caused by traditional calibration compensation methods, and ensures that the ripple counting result is not affected by the number of anti-pinch actions.
Smart Images

Figure CN121578129A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of vehicle technology, and specifically to a method for adjusting current ripple waveform and a vehicle. Background Technology
[0002] Power windows in automobiles are now widespread, and for safety reasons, they must have anti-pinch functionality to prevent injury to passengers' bodies during the window closing process. Traditionally, window drive motors use Hall effect sensors to detect the number of motor rotations. However, to reduce costs, modern models often use DC motor current ripple signals for counting. The accuracy of the ripple count directly affects the positioning accuracy of the window glass, and thus the reliability of the anti-pinch function. However, the ripple waveform is affected by factors such as motor operating voltage, ambient temperature, load, and the motor's manufacturing process, leading to counting errors that may cause false alarms or failure to prevent pinching.
[0003] In existing technologies, during the anti-pinch process of a car window, the motor current changes drastically, and ripple counting cannot be performed normally during the anti-pinch phase. Typically, a calibration compensation value is used to estimate the motor angular displacement. However, due to the randomness of factors such as ambient temperature, power supply voltage, and the rigidity of the clamped object, there is an error between the compensation value and the actual value. Moreover, these errors accumulate with the increase of anti-pinch cycles, resulting in inaccurate ripple counting and affecting the positioning accuracy of the car window. Summary of the Invention
[0004] In view of this, embodiments of the present invention provide a method for adjusting current ripple waveform and a vehicle to solve the problems of random error and cumulative error caused by anti-pinch ripple counting compensation in the prior art.
[0005] In a first aspect, embodiments of the present invention provide a method for adjusting a current ripple waveform, the method comprising: Obtain the initial current ripple waveform of the motor of the anti-pinch component under the current operating conditions; Identify the zero-crossing point in the initial current ripple waveform, and determine at least one target interval waveform for the anti-pinch execution phase based on the zero-crossing point; The target interval waveform is removed from the initial current ripple waveform, and the remaining waveform in the current ripple waveform is merged into the target current ripple waveform, wherein the target current ripple waveform is used for ripple counting.
[0006] Furthermore, determining at least one target interval waveform for the anti-pinch execution phase based on the zero-crossing point includes: Identify the current operating conditions of the motor of the anti-pinch component; The preset interval width is determined based on the current operating conditions and the initial current ripple waveform. Using the zero-crossing point as a time reference, at least one target interval waveform of the anti-pinch execution stage is determined based on the preset interval width.
[0007] Furthermore, determining the preset interval width based on the current operating conditions and the initial current ripple waveform includes: The incremental pulse waveform of the anti-pinch component motor under the current operating conditions is obtained. The incremental pulse waveform is the waveform output by the incremental encoder when the anti-pinch component motor is running. The incremental pulse waveform is in the same dimension as the initial current ripple waveform. The incremental encoder is installed on the output shaft of the anti-pinch component motor. The target waveform segment in the positive and negative angular displacement cancellation state is determined based on the incremental pulse waveform and the initial current ripple waveform. The segment width of the target waveform is used as the preset interval width of the current operating condition.
[0008] Furthermore, determining the target waveform segment in the positive and negative angular displacement cancellation state based on the incremental pulse waveform and the initial current ripple waveform includes: The angular displacement sequence during the motor's forward and reverse switching process is extracted from the incremental pulse waveform; Identify the time intervals in the angular displacement sequence where forward and reverse angular displacements cancel each other out; The waveform segment corresponding to the time period is located from the initial current ripple waveform, and the waveform segment is used as the target waveform segment.
[0009] Furthermore, determining at least one target interval waveform for the anti-pinch execution phase based on the preset interval width, using the zero-crossing point as a time reference, includes: The zero-crossing point is taken as the end point of the first interval in the anti-pinch execution phase; Using the zero-crossing point as a reference, the first trough position closest to the zero-crossing point is found in reverse from the initial current ripple waveform, and the first trough position is taken as the starting point of the first interval; The end point of the first interval is taken as the starting point of the second interval in the anti-pinch execution stage, and the end point of the second interval in the anti-pinch execution stage is calculated in the forward direction from the initial current ripple waveform based on the preset interval width. The end point of the second interval is taken as the starting point of the third interval in the anti-pinch execution stage, and the end point of the third interval in the anti-pinch execution stage is calculated in the forward direction from the initial current ripple waveform based on the interval width of the first interval. The target interval waveform is determined by using the starting point of the first interval and the ending point of the third interval.
[0010] Furthermore, the step of calculating the end point of the third interval in the anti-pinch execution phase from the initial current ripple waveform based on the interval width of the first interval includes: Obtain the width of the first interval in the anti-pinch execution phase; Identify data points that are positively displaced from the end point of the second interval by the preset interval width; Within a preset range of the data point, find the second trough position closest to the data point, and use the second trough position as the end point of the third interval in the anti-pinch execution phase.
[0011] Furthermore, determining the target interval waveform using the start point of the first interval and the end point of the third interval includes: The first angular displacement value of the anti-pinch component motor is obtained at the starting point of the first interval, and the second angular displacement value of the anti-pinch component motor is obtained at the ending point of the third interval. The first angular displacement value is compared with the second angular displacement value to obtain the comparison result; Based on the comparison results, it is determined whether the waveform between the starting point of the first interval and the ending point of the second interval meets the angular displacement cancellation condition. The interval waveform that meets the angular displacement cancellation condition is taken as the target interval waveform.
[0012] Furthermore, the step of fusing the remaining waveforms in the current ripple waveform into the target current ripple waveform includes: The remaining waveform is subjected to slope reduction processing to obtain candidate remaining waveforms; Identify at least one pair of adjacent breakpoints in the candidate remaining waveforms, and fuse the remaining waveforms based on the adjacent breakpoints to obtain the target current ripple waveform.
[0013] Furthermore, the step of fusing the remaining waveform based on the adjacent breakpoints to obtain the target current ripple waveform includes: Calculate the difference in ordinate between the first breakpoint and the second breakpoint among the adjacent breakpoints, where the first breakpoint is the end point of the previous segment of the remaining waveform and the second breakpoint is the start point of the next segment of the remaining waveform. Subtract the difference in ordinate from the ordinate value of the remaining waveform segment to obtain the translation waveform; The translation waveform is shifted to the previous remaining waveform until the starting point of the translation waveform is continuously aligned with the first breakpoint to obtain the target current ripple waveform.
[0014] Secondly, embodiments of the present invention provide a vehicle, the vehicle including: a controller, the controller including: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the computer instructions to perform a method for adjusting the current ripple waveform.
[0015] Thirdly, embodiments of the present invention provide a current ripple waveform adjustment device, the device comprising: The acquisition module is used to acquire the initial current ripple waveform of the motor of the anti-pinch component under the current operating conditions; The identification module is used to identify the zero-crossing point in the initial current ripple waveform and determine at least one target interval waveform for the anti-pinch execution stage based on the zero-crossing point. The processing module is used to remove the target interval waveform from the initial current ripple waveform and merge the remaining waveform in the current ripple waveform into a target current ripple waveform, wherein the target current ripple waveform is used for ripple counting.
[0016] Fourthly, embodiments of the present invention provide a computer device, including: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the computer instructions to perform the method described in the first aspect or any corresponding embodiment thereof.
[0017] Fifthly, embodiments of the present invention provide a computer-readable storage medium storing computer instructions for causing a computer to perform the method described in the first aspect or any corresponding embodiment thereof.
[0018] The method provided in this application has the following beneficial effects: The method provided in this application obtains the initial current ripple waveform under the current operating conditions to ensure that the system can perform adaptive processing based on the actual operating state; by identifying the zero-crossing point to determine the target interval waveform, the error interval where the ripple is unusable due to the sudden change in current during the anti-pinch execution stage is locked; by removing the target interval waveform and fusing the remaining waveform into a continuous target current ripple waveform, the random error caused by the traditional calibration compensation method is fundamentally avoided, so that the ripple counting result is no longer affected by the number of anti-pinch actions, and the window positioning accuracy and anti-pinch reliability are significantly improved. Attached Figure Description
[0019] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0020] Figure 1 This is a schematic diagram of the existing electric window structure and anti-pinch requirements; Figure 2 This is a schematic diagram of the ripple waveform of the car window motor; Figure 3 This is a schematic diagram of the ripple waveform sample collected from the car window motor; Figure 4 This is a waveform diagram of the routine ripple counting during the anti-pinch process of the car window; Figure 5 This is a waveform diagram of the motor signal of a typical anti-pinch section of a car window; Figure 6 This is a schematic flowchart of a method for adjusting the current ripple waveform according to an embodiment of the present invention; Figure 7 This is a schematic diagram of the current ripple range elimination and ripple counting process according to an embodiment of the present invention; Figure 8 This is a flowchart illustrating another method for adjusting the current ripple waveform according to an embodiment of the present invention; Figure 9 This is a structural block diagram of a current ripple waveform adjustment device according to an embodiment of the present invention; Figure 10 This is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. Detailed Implementation
[0021] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0022] According to embodiments of the present invention, a method for adjusting current ripple waveform and a vehicle are provided. It should be noted that the steps shown in the flowcharts in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowcharts, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0023] Figure 1 This is a schematic diagram of the existing electric window structure and anti-pinch requirements. Figure a shows the existing electric window structure, in which a DC motor, through a drive mechanism consisting of a steel wire rope, a cable sleeve, and a lifting adjuster, raises and lowers the window glass, which moves up and down within the window guide groove. Figure b shows the anti-pinch requirements for the electric window, which mainly include: anti-pinch detection distance range of 4mm-200mm; maximum pinching force of 100N; reverse retraction after pinching is detected; and detection rod deflection of 5N / mm-20N / mm. Figure 2 This is a schematic diagram of the ripple waveform of a car window motor. The ripple waveform of a car window motor is a ripple waveform formed by periodic fluctuations superimposed on a DC current. The counting of ripples is the basic technology for all car window ripple positioning and anti-pinch algorithms. The counting error directly affects the positioning result of the controller for the car window glass. When the positioning error exceeds the allowable range, it will cause false anti-pinch (causing the glass to mistakenly fall down on its own when it is in the groove and rising, and fail to enter the groove and rise normally) and no anti-pinch (the object is in the anti-pinch zone, but the glass does not retreat but forcibly squeezes the object).
[0024] Figure 3 These are samples of the ripple waveform of the car window motor. a represents the case where there is braking during the anti-pinch period, and b represents the case where there is no braking during the anti-pinch period. When there is braking during the anti-pinch period, the motor stops and then reverses, resulting in a small backlash current but a long clamping duration. When there is no braking during the anti-pinch period, the motor is directly reverse-driven after the anti-pinch is triggered. The reverse driving voltage and the reverse electromotive force are superimposed, resulting in a large backlash current but a short clamping duration.
[0025] Figure 4 This is a waveform diagram illustrating the routine ripple counting during the anti-pinch process of a car window. Before triggering the anti-pinch mechanism, the controller continuously counts the motor ripple during the upward movement of the glass and updates the glass position accordingly. After triggering the anti-pinch mechanism, the motor current undergoes a significant and rapid change. During this period, the motor ripple is masked, and the controller cannot perform normal ripple counting. The angular displacement of the motor during the anti-pinch phase is compensated using a calibration value. In the later stages of the anti-pinch phase, the motor reverses and reaches a certain speed, the ripple is re-established, and the controller can then perform normal ripple counting during the downward movement of the glass. Due to factors such as ambient temperature, power supply voltage, the rigidity of the clamped object, and window aging, even after calibration, there are random errors in the stroke compensation amount and the actual motor angular displacement during the anti-pinch phase. Furthermore, these errors have a cumulative effect with the increase in the number of anti-pinch attempts.
[0026] Figure 5This is a waveform diagram of the motor signal of a typical anti-pinch section of a car window. The motor signal includes: motor current ripple, voltage across the motor terminals, and motor angular displacement and angular rate curves measured after the installation of a high-precision coaxial incremental encoder. The horizontal axis is the sampling point number, the vertical axis scale is the motor current ripple amplitude, and other signals are scaled and offset to be displayed on the same graph.
[0027] Anti-pinch trigger time point, such as Figure 5 At the junction of T1 (second interval) and T2 (first interval), the voltage of the drive motor changes from forward drive to reverse drive. Due to the combined effect of reverse electromotive force and reverse voltage, the motor generates reverse current overshoot. However, due to inertia, the motor will not immediately reverse, but will continue to rotate in the forward direction for a period of time. Around the middle of T1, the motor starts to reverse. The position of the motor reversal can be observed from the commutation point of phase A / B of the incremental encoder and the highest point of the motor angular displacement curve.
[0028] During the anti-pinch operation of the car window, the motor current jumps from its maximum forward value to its maximum reverse value. The motor decelerates from forward rotation to a standstill, and then accelerates back to near constant speed. The motor ripple becomes unusable after the anti-pinch is triggered due to the rapid change in motor current. The controller stops counting the ripple until the motor reverses and accelerates to a certain level, at which point the ripple is re-established. Once the ripple amplitude and period stabilize, the controller can resume counting the ripple. During the time between triggering the anti-pinch and the resumption of ripple counting after the motor reverses, the controller does not obtain effective motor angular displacement information. The usual practice is to fill this ripple gap with a calibrated compensation value. However, the compensation value is obtained by averaging measurements from multiple operations; it is a statistical quantity. Each specific anti-pinch action introduces an error due to the discrepancy between the actual value and the compensation value, resulting in new errors being introduced into the window ripple count with each anti-pinch operation.
[0029] Measurements revealed that even after the motor went through a process of stopping in the forward direction and accelerating in the reverse direction during the anti-pinch phase, there was still an inherent synchronization relationship between the first few ripples before the anti-pinch started and the first few ripples after the reverse ripple was established. Figure 5 The starting point of the T1 interval is the zero-crossing point of the motor current. The method for determining the ending point of the T1 interval is: adjust the width of T1 so that the angular displacement of the motor during the forward rotation is equal to the angular displacement during the reverse rotation, and the net angular displacement is zero; that is, the motor rotates forward at the beginning of T1 and reverses at the end of T1. Because the angular displacement of the forward rotation is equal to the angular displacement during the reverse rotation during T1, the motor's rotation angle is at the same position at the beginning and end of T1. Furthermore, the ripple waveform is basically normal before the start of T1 and after the end of T1, and the controller can identify the trough / peak of the ripple.
[0030] Taking the valley floor as an example: Figure 5The starting point of T2 is the sampling point position corresponding to the first ripple valley point forward from the starting point of T1; for example... Figure 5 The end point of T3 is the sampling point corresponding to the first ripple valley point after the end point of T1; the angular travel of the motor during T2 and T3 does not exceed the angular travel corresponding to one ripple cycle; because the motor's rotation angle is at the same position at the start and end points of T1, and the ripple valley point is a characteristic position of the motor, and because the motor's angular displacement does not exceed the rotation angle corresponding to one ripple during T2 and T3, the motor's angular position is at the same position at the start point of T2 and the end point of T3; because both are from the start / end point of T1... The motor rotates from the same physical angle position to the first nearby ripple valley point (the motor brush spans between the two commutator segments). However, one of them rotates from the ripple valley point (the starting point of T2) to the starting position of T1 during T2 before the anti-pinch is triggered; the other rotates from the starting point of T3 (which is also the ending point of T1, the same position as the starting point of T1) after the motor reverses, and then rotates in the opposite direction from the starting point of T3 (which is also the ending point of T1) back to the sampling point position corresponding to the first nearby ripple valley point (the motor brush spans between the two commutator segments).
[0031] Based on the aforementioned phase synchronization principle, this embodiment provides a method for adjusting the current ripple waveform. Figure 6 This is a flowchart of a method for adjusting the current ripple waveform according to an embodiment of the present invention, as shown below. Figure 6 As shown, the process includes the following steps: Step S101: Obtain the initial current ripple waveform of the anti-pinch component motor under the current operating conditions.
[0032] In this embodiment, the data acquisition module of the window controller monitors and acquires the raw current signal of the anti-pinch component (i.e., the electric window drive motor) in a specific operating state in real time. The anti-pinch component motor refers to a DC brushed motor used to drive the window glass up and down, and its current signal contains periodic ripple. Current operating conditions include parameters such as the ambient temperature, supply voltage, and load force of the motor, which affect the ripple pattern. The initial current ripple waveform is obtained by continuously sampling the motor current using a current sensor (such as a Hall current sensor or a sampling resistor) and then using an analog-to-digital converter (ADC). This waveform serves as the input source for subsequent processing, reflecting the complete change process of the motor current before and after the anti-pinch trigger, including the ripple period, amplitude, and phase information.
[0033] Step S102: Identify the zero-crossing point in the initial current ripple waveform, and determine at least one target interval waveform for the anti-pinch execution stage based on the zero-crossing point.
[0034] In this embodiment, after the anti-pinch detection module triggers the anti-pinch action, the initial current ripple waveform (i.e., the digital signal of motor current containing DC component and AC ripple) is monitored in real time. The zero-crossing point is determined by detecting the moment when the motor armature current value changes from positive to negative or from negative to positive and crosses the zero axis. The controller uses a numerical algorithm (such as linear interpolation or zero-crossing comparison) to process the continuous current sampling data and determine the sampling point position where the current signal actually crosses the zero level (or enters the preset zero tolerance band). This zero-crossing point corresponds to the moment when the motor drive voltage switches from positive drive to reverse drive during the anti-pinch execution stage, and is the reference for subsequently determining the end point of the first interval.
[0035] After identifying the zero-crossing point in the initial current ripple waveform (i.e., the moment when the motor current crosses zero and the drive voltage switches after the anti-pinch trigger), and combining the preset interval width corresponding to the current operating conditions (such as temperature, voltage, and load force), the zero-crossing point is used as the key time reference. Based on the preset interval width as the core parameter, the target interval waveform with zero net angular displacement is finally located and confirmed by performing actions including determining the boundaries of the first interval, the second interval, and the third interval, and verifying the angular displacement cancellation condition.
[0036] Step S103: Remove the target interval waveform from the initial current ripple waveform and merge the remaining waveform in the current ripple waveform into the target current ripple waveform, wherein the target current ripple waveform is used for ripple counting.
[0037] In this embodiment of the application, based on the determined target interval waveform, the data points corresponding to the target interval waveform are completely removed from the original data of the initial current ripple waveform; then, the two remaining waveforms generated are subjected to fusion processing including slope reduction processing and breakpoint identification and splicing, so as to generate a target current ripple waveform that is continuous in time, consistent in waveform characteristics, and free from anti-segment interference. This final waveform will be used as the input signal for high-precision ripple counting.
[0038] For example, the controller determines that the target interval waveform is located between sampling point numbers 5000 and 5800. First, the data at points 5000 to 5800 in the original waveform is deleted. Then, the two remaining waveform segments (points 1-4999 and point 5801 to the end) are processed: the tail of the first remaining waveform segment is smoothed so that its end level is level with the beginning level of the second remaining waveform segment (point 5801 to the end). Then, the two waveform segments are directly spliced together at the breakpoints (i.e., points 4999 and 5801) to finally generate a seamless target current ripple waveform for use by the counting module.
[0039] As an example, such as Figure 7As shown, first, the zero-crossing point of the current is determined as the starting point of T1, and the T1 timing is started in conjunction with the T1 calibration data table. At the same time, the first ripple valley point is found in reverse from the starting point of T1, and the time T2 is the duration from the starting point of T1 to the preceding valley. When the T1 timing is complete, the starting point of T3 is the ending point of T1. Then, the nearby ripple valley points are found from the starting point of T3 and T2 to determine the ending point of T3. Then, the data between the starting point of T2 and the ending point of T3 is ignored, and finally, the ripple counting continues.
[0040] In this embodiment of the application, determining at least one target interval waveform during the anti-pinch execution phase based on the zero-crossing point includes: Step A1: Identify the current operating conditions of the motor of the anti-pinch component.
[0041] Specifically, the anti-pinch component motor refers to the DC brushed motor that drives the window glass to rise and fall. Current operating conditions refer to the working state of the motor during real-time operation, defined by multiple external and internal physical parameters. Key parameters are collected in real-time by the window controller and obtained through its built-in or external sensor modules, including at least: power supply voltage: the real-time voltage applied across the motor terminals measured by a voltage sensor; ambient temperature: the ambient temperature around the motor or controller obtained by a temperature sensor; load force: indirectly estimated by monitoring the motor current and combining it with a motor model, or obtained through calibration data mapping to obtain the mechanical resistance currently borne by the window system. The controller continuously collects the above parameters and compares them with preset calibration data tables or operating condition judgment thresholds to determine the specific operating condition combination of the motor (e.g., high temperature, low voltage, medium load). This identification result is the basic logical input for determining the preset interval width to select the corresponding algorithm parameters or mode.
[0042] Step A2: Determine the preset interval width based on the current operating conditions and the initial current ripple waveform.
[0043] Specifically, the preset interval width is a time length parameter used during the anti-pinch execution phase to extract a specific waveform segment before and after the zero-crossing point of the current ripple for analysis. The determination of this width is a dynamic process: the window controller's processor first retrieves a pre-calibrated reference time width from non-volatile memory based on the identified current operating conditions (such as a specific combination of temperature, voltage, and load force); subsequently, the window controller's processor analyzes the local characteristics of the initial current ripple waveform in real time (e.g., the average period of several current ripple cycles, the waveform's signal-to-noise ratio, or the steepness of the rising edge), and fine-tunes and calibrates the reference width according to preset adjustment rules or coefficients, ultimately generating a preset interval width suitable for the current instantaneous motor operating state.
[0044] Step A3: Using the zero-crossing point as the time reference, determine at least one target interval waveform for the anti-pinch execution stage based on the preset interval width.
[0045] Specifically, firstly, the zero-crossing point refers to the instant when the motor current crosses zero from positive to negative or vice versa after the anti-pinch trigger is activated. This point serves as the time reference for the entire anti-pinch execution phase. Based on this reference and a preset interval width (a time length value calibrated and fine-tuned for the current operating condition), intervals are divided and waveforms are extracted: the zero-crossing point is used as the end point of the first interval; starting from this end point, the nearest trough is searched in reverse within the initial current ripple waveform as the starting point of the first interval, thus defining the first interval. Next, the same zero-crossing point is used as the starting point of the second interval, and the end point of the second interval is calculated forward based on the preset interval width. Subsequently, the end point of the second interval is used as the starting point of the third interval, and the initial position of the end point of the third interval is estimated forward based on the interval width of the first interval. Then, the nearest trough is searched for near this position for precise positioning, serving as the end point of the third interval. Finally, by using the starting point of the first interval and the ending point of the third interval, a continuous waveform data segment covering the key time period of the anti-pinch execution phase is determined. This data segment is the target interval waveform, used for subsequent anti-pinch analysis (such as verifying whether the motor's net angular displacement is zero). The interval division can be based on multiple zero-crossing points, repeating the above process to obtain multiple target interval waveforms; the trough search can also use different peak detection algorithms, such as gradient-based or interpolation-based methods.
[0046] By identifying the current operating conditions, subsequent processing can automatically adapt to different operating conditions, improving the system's environmental adaptability. By dynamically calculating the preset interval width for analysis by combining the calibration data of the current operating conditions with the real-time ripple waveform characteristics, the timing deviation caused by using a fixed time window is avoided, thereby improving the accuracy of the anti-pinch trigger timing judgment. By using the clear physical event of the current zero crossing point as the time reference and combining it with adaptive width to extract the target interval waveform, the correspondence between the analyzed waveform and the actual motion phase of the motor is ensured, providing a data basis for anti-pinch judgment.
[0047] In this embodiment of the application, the preset interval width is determined based on the current operating conditions and the initial current ripple waveform, such as... Figure 8 As shown, it includes: Step A201: Obtain the incremental pulse waveform of the anti-pinch component motor under the current operating conditions. The incremental pulse waveform is the waveform output by the incremental encoder when the anti-pinch component motor is running. The incremental pulse waveform is in the same dimension as the initial current ripple waveform. The incremental encoder is installed on the output shaft of the anti-pinch component motor.
[0048] It should be noted that, Figure 5This graph shows the motor current ripple of the anti-pinch section of the car window, the voltage across the motor terminals, and the motor angular displacement and angular rate curves measured after adding a coaxial incremental encoder. The horizontal axis represents the sampling point number (indicating time), and the vertical axis scale represents the motor current ripple amplitude. Other signals are scaled and offset to be displayed on the same graph. The anti-pinch trigger point is at the intersection of T1 (second interval) and T2 (first interval) in the figure. At this moment, the voltage of the drive motor changes from forward drive to reverse drive. Due to the combined effect of the reverse electromotive force and reverse voltage, the motor generates a reverse current overshoot. However, due to inertia, the motor will not immediately reverse, but will continue to rotate forward for a period of time. Around the middle of T1, the motor begins to reverse. The position of the motor reversal can be observed from the commutation point of the A / B phase of the incremental encoder and the highest point of the motor angular displacement curve.
[0049] In this embodiment, the incremental pulse waveform originates from an incremental encoder rigidly mounted coaxially on the output shaft of the anti-pinch component motor (i.e., the DC brushed motor driving the window) during the window system calibration phase. This encoder rotates synchronously with the motor shaft, and its internal photoelectric or magnetoelectric sensor converts the mechanical rotation angle into an electrical signal, outputting two phase-orthogonal (90-degree out of phase) A-phase and B-phase pulse sequences. These two pulse sequences together constitute the incremental pulse waveform, where the number of pulses corresponds to the angular displacement of the motor, and the phase relationship between phases A and B indicates the direction of motor rotation (forward or reverse). During calibration, the data acquisition system uses the same sampling clock or timestamp to synchronously acquire and record this incremental pulse waveform and the initial current ripple waveform from the current sensor. The two signals are perfectly aligned in the time dimension, providing a timing data basis for establishing the correspondence between angular displacement and current ripple characteristics. The current operating conditions refer to a pre-set combination of various working conditions covering different temperatures, power supply voltages, and load forces. The data acquisition system synchronously samples the incremental pulse waveform and the initial current ripple waveform acquired by the current sensor to ensure that the two signals are aligned on the time axis, i.e., in the same dimension, providing a time-consistent data basis for analyzing the correspondence between motor angular displacement and current ripple.
[0050] Step A202: Determine the target waveform segment in the positive and negative angular displacement cancellation state based on the incremental pulse waveform and the initial current ripple waveform.
[0051] In this embodiment, by using synchronously acquired incremental pulse waveforms and initial current ripple waveforms, the precise motor angular displacement-time sequence is first decoded from the incremental pulse waveform. Then, a specific time period in the anti-pinch process is identified where the forward and reverse displacements of the motor cancel each other out. Finally, through time synchronization mapping, the current ripple segment corresponding to this time period is located in the initial current ripple waveform, and this segment is determined as the target waveform segment. This segment corresponds to the T1 interval where the net angular displacement of the motor is zero.
[0052] Step A203: Use the segment width of the target waveform segment as the preset interval width of the current operating condition.
[0053] In this embodiment of the application, after determining the target waveform segment (i.e. the segment in the current ripple waveform corresponding to the offset of the forward and reverse angular displacement of the motor), the duration of the target waveform segment on the time axis is calculated, and this duration is the segment width. Subsequently, the calculated segment width is bound to the current operating conditions (including specific temperature, voltage, and load force) of the calibration operation, and stored as a preset interval width corresponding to the operating condition. This preset value will be directly called as a reference parameter to determine the time range of the anti-pinch execution stage in the subsequent real-time anti-pinch process.
[0054] By acquiring incremental pulse waveforms in the same dimension as the initial current ripple waveform, the synchronization of motor angular displacement data and current ripple signal is ensured, providing a precise timing basis for subsequent analysis. By determining the target waveform segments in the forward and reverse angular displacement cancellation state based on the incremental pulse waveforms and the initial current ripple waveform, the characteristic interval where the net angular displacement of the motor is zero during the anti-pinch process can be accurately identified. By using the segment width of the target waveform segments as the preset interval width for the current operating conditions, adaptive calibration of the anti-pinch segment duration under different operating conditions is achieved, giving the preset interval width practical physical meaning and significantly improving the accuracy and adaptability of interval positioning during subsequent real-time anti-pinch processes.
[0055] In this embodiment of the application, determining the target waveform segment in the state of canceling forward and reverse angular displacement based on the incremental pulse waveform and the initial current ripple waveform includes: extracting the angular displacement sequence during the motor's forward and reverse switching process from the incremental pulse waveform; identifying the time period in the angular displacement sequence where the forward and reverse angular displacements cancel each other out; locating the waveform segment corresponding to the time period from the initial current ripple waveform, and using the waveform segment as the target waveform segment.
[0056] Specifically, the incremental pulse waveform (i.e., the A / B phase pulse signal output by the high-precision incremental encoder) is first decoded; the motor rotation direction is determined by identifying the phase relationship of the A / B phase signals, and the pulses are counted, with each pulse corresponding to a fixed angular displacement increment, thereby converting the pulse sequence into an angular displacement sequence that changes continuously with time; this extraction process pays special attention to the motor's forward and reverse switching process, that is, taking the anti-pinch trigger moment as the time reference point, the angular displacement data is extracted from the motor's forward rotation before the anti-pinch trigger, to the motor's deceleration, stop, and finally reverse acceleration and re-establishment of stable reverse dynamic process after the trigger, forming an angular displacement-time relationship data sequence that is synchronized with the current ripple sampling point in the time dimension.
[0057] Secondly, in the angular displacement sequence, taking the anti-pinch trigger moment as the time reference, the forward stopping point where the motor decelerates from forward rotation to zero angular velocity is first located, as well as the reverse starting point where the motor accelerates from the stop. Then, the moment when the forward angular displacement (the cumulative angular displacement between the anti-pinch trigger point and the forward stopping point) and the reverse angular displacement (the cumulative angular displacement from the reverse starting point to a subsequent moment, with the absolute value of the reverse angular displacement) are equal is calculated. This process calculates the difference between the forward and reverse angular displacements in real time. When the difference enters the preset zero tolerance range, it is determined that a period of mutual cancellation has been found. The starting point of this period is the anti-pinch trigger point, and the ending point is the moment when the forward and reverse angular displacements are equal. During this period, the net angular displacement of the motor is zero.
[0058] Finally, using the defined time period (i.e., the start and end times when the forward and reverse angular displacements cancel each other out), and relying on the time synchronization relationship (same dimension) maintained between the incremental pulse waveform and the initial current ripple waveform during acquisition, the current ripple data segment that completely corresponds to the time period is directly mapped and extracted from the initial current ripple waveform data sequence through timestamps. This extracted data segment is the waveform segment. Subsequently, this waveform segment is formally confirmed as the target waveform segment. This segment is the section whose corresponding motor net angular displacement is zero that needs to be identified and removed in subsequent processes.
[0059] By extracting the angular displacement sequence during the motor's forward and reverse switching process from the incremental pulse waveform, the dynamic angular change of the motor during the anti-pinch process can be fully captured, providing a data foundation for analyzing angular displacement cancellation. By identifying the time period in the angular displacement sequence where the forward and reverse angular displacements cancel each other out, the time window when the motor's net angular displacement is zero can be accurately located, fundamentally defining the physical boundary of the anti-pinch segment. By locating the waveform segment corresponding to this time period from the initial current ripple waveform and using it as the target waveform segment, a reliable mapping of angular displacement information to the current ripple waveform is achieved, ensuring the consistency between the target waveform segment and the actual motion state of the motor.
[0060] In this embodiment of the application, using the zero-crossing point as a time reference, at least one target interval waveform of the anti-pinch execution stage is determined based on a preset interval width, including: Step A301: The zero-crossing point is taken as the end point of the first interval in the anti-pinch execution phase.
[0061] Specifically, the identified zero-crossing point (i.e., the starting point of interval T1, the instant when the motor current crosses zero and the drive voltage switches from forward drive to reverse drive) is simultaneously defined as the ending point of the first interval (i.e., interval T2). Therefore, this zero-crossing point has a dual attribute on the time axis: it is both the starting point of interval T1 and the ending point of interval T2. Determining the ending point of the first interval provides a timing reference for the subsequent reverse lookup of the starting point of interval T2 (i.e., the first ripple trough).
[0062] Step A302: Using the zero-crossing point as a reference, find the first trough position closest to the zero-crossing point from the initial current ripple waveform in reverse, and take the first trough position as the starting point of the first interval.
[0063] Specifically, taking the zero-crossing point (i.e. the end point of the first interval) as a reference, the data sequence of the initial current ripple waveform is searched forward (i.e. backward) along the time axis to find the first trough position (i.e. the bottom point of the ripple waveform) closest to the zero-crossing point, and this first trough position is formally defined as the starting point of the first interval (i.e. the T2 interval) (i.e., the T2 starting point).
[0064] Step A303: Take the end point of the first interval as the starting point of the second interval in the anti-pinch execution stage, and calculate the end point of the second interval in the anti-pinch execution stage from the initial current ripple waveform in a forward direction based on the preset interval width.
[0065] Specifically, the end point of the first interval (i.e., the zero-crossing point, the starting point of the T1 interval) is also used as the starting point of the second interval (i.e., the T1 interval); then, based on the preset interval width corresponding to the current working conditions (i.e., the T1 value obtained by calibration), the end point of the second interval (i.e., the T1 end point / T3 start point) is determined by calculating forward (i.e., in the positive direction) along the time axis from the starting point.
[0066] Step A304: Take the end point of the second interval as the starting point of the third interval in the anti-pinch execution stage, and calculate the end point of the third interval in the anti-pinch execution stage from the initial current ripple waveform based on the interval width of the first interval.
[0067] Specifically, the end point of the second interval (i.e., the end point of T1 / the start point of T3) is taken as the start point of the third interval (i.e., the T3 interval); then, based on the interval width of the first interval (i.e., the duration of the T2 interval), the target position is estimated from the start point along the time axis forward (i.e., in the positive direction), and the end point of the third interval (i.e., the T3 end point) is finally determined by finding the second trough position.
[0068] Specifically, the end point of the third interval in the anti-pinch execution stage is calculated from the initial current ripple waveform based on the interval width of the first interval, including: obtaining the interval width of the first interval in the anti-pinch execution stage; identifying data points that are forward distance from the end point of the second interval to a preset interval width; finding the second trough position closest to the data point within a preset range of the data points, and taking the second trough position as the end point of the third interval in the anti-pinch execution stage.
[0069] First, calculate the width of the first interval (i.e., interval T2), which is the time length from the start point of T2 to the end point of T2 (i.e., the zero-crossing point). Then, using the end point of the second interval (i.e., the end point of T1 / the start point of T3) as a reference, offset along the positive time axis (i.e., the future time direction) by a preset interval width (this value is equal to the interval width of the first interval, i.e., the width of T2), thereby locating an estimated data point in the initial current ripple waveform data sequence. This data point is used to initially predict the approximate location of the end point of T3. Second, within a preset range (a small search time window) near the determined estimated data point, scan the initial current ripple waveform to find the second trough position (i.e., the first stable ripple trough after the inversion is established). Finally, precisely define this searched second trough position as the end point of the third interval (i.e., interval T3) (i.e., the end point of T3).
[0070] By obtaining the width of the first interval, key timing features of the ripple cycle before anti-pinch are extracted. By identifying data points that are positively displaced from the end point of the second interval by a preset interval width, the initial position of the end point of the third interval is quickly estimated based on timing symmetry. By finding the nearest second trough position within a preset range of data points and using it as the end point of the third interval, the estimated position is calibrated in conjunction with the physical features of the ripple waveform to ensure that the end point is located at the actual ripple trough bottom, thereby improving the consistency between the interval boundary and the actual rotation angle position of the motor.
[0071] Step A305: Determine the target interval waveform using the starting point of the first interval and the ending point of the third interval.
[0072] Specifically, using the starting point of the first interval (i.e., the starting point of T2) and the ending point of the third interval (i.e., the ending point of T3) as boundaries, it is determined whether the waveform segment between the two boundary points (i.e., from the starting point of T2 to the ending point of T3, covering T2, T1, and T3) constitutes the desired target interval waveform. The core is to obtain and compare the motor angular displacement values at these two feature points to verify whether the net angular displacement of the motor within this interval is zero, thereby determining whether the waveform of this interval meets the condition of being removed without introducing error.
[0073] As an example, under the current operating conditions of 25°C, 13.5V, and rated load, the corresponding preset interval width (T1 calibration value) is 50 milliseconds. After the controller detects the zero-crossing point, it uses this point as the start point of T1 / end point of T2, and uses this 50-millisecond preset interval width to determine the end point of T1 / start point of T3. The determined start point of T2 and end point of T3 are then used to define a waveform segment from the start point of T2 to the end point of T3, with a total duration of approximately (for example) 80 milliseconds. Verification shows that the net increase in motor angular displacement within this segment is zero; therefore, it is determined as the target waveform segment to be removed for this anti-pinch action.
[0074] By using the zero-crossing point as the end point of the first interval, a timing reference for the anti-pinch segment is established, providing a key anchor point for subsequent interval division. By using the zero-crossing point as a reference to find the first trough position as the starting point of the first interval, the last stable ripple feature point before anti-pinch is accurately located, ensuring that the starting position of the interval corresponds to the physical position of the motor. By calculating the end point of the second interval in the forward direction based on the preset interval width, accurate control of the motor's forward and reverse switching time is achieved. By calculating the end point of the third interval in the forward direction based on the interval width of the first interval, the symmetry of the preceding and following ripple intervals is used to quickly locate the ripple reconstruction point after reversal. By using the starting point of the first interval and the end point of the third interval to determine the target interval waveform, the complete anti-pinch segment waveform range with zero net angular displacement is finally delineated.
[0075] In this embodiment of the application, the target interval waveform is determined by using the starting point of the first interval and the ending point of the third interval, including: obtaining the first angular displacement value of the anti-pinch component motor at the starting point of the first interval and obtaining the second angular displacement value of the anti-pinch component motor at the ending point of the third interval; comparing the first angular displacement value and the second angular displacement value to obtain a comparison result; determining whether the interval waveform between the starting point of the first interval and the ending point of the second interval meets the angular displacement cancellation condition based on the comparison result; and taking the interval waveform that meets the angular displacement cancellation condition as the target interval waveform.
[0076] Specifically, at two specific moments, the starting point of the first interval (i.e., the starting point T2, the last stable ripple valley before the anti-pinch trigger) and the ending point of the third interval (i.e., the ending point T3, the first stable ripple valley re-established after the anti-pinch trigger), the angular displacement-time series obtained by decoding the incremental pulse waveform synchronously acquired with the initial current ripple waveform is queried, and the motor rotation angle values at the corresponding moments are read and recorded respectively, thereby obtaining the first angular displacement value and the second angular displacement value. The acquisition of these two angular displacement values provides data basis for subsequent verification of whether the net angular displacement of the motor between the starting point T2 and the ending point T3 is zero.
[0077] Next, the first angular displacement value (corresponding to the starting point of T2) and the second angular displacement value (corresponding to the ending point of T3) are compared numerically. Specifically, the difference between the two angular displacement values is calculated, and the absolute value of the difference is compared with the preset zero tolerance threshold to obtain the comparison result. This result is used to quantify the degree of angular displacement difference between the two feature points, providing a direct numerical basis for the next step of determining the angular displacement cancellation condition.
[0078] Next, based on the comparison result (i.e., the difference between the first angular displacement value and the second angular displacement value), the absolute value of the difference is compared with the preset zero tolerance threshold. If the absolute value is less than or equal to the tolerance threshold, it is determined that the waveform of the interval between the starting point of the first interval (starting point T2) and the ending point of the third interval (ending point T3) (i.e., the current ripple waveform of the entire T2, T1, and T3 segments covered by the starting point of T2 to the ending point of T3) meets the angular displacement cancellation condition. This means that the net angular displacement of the motor corresponding to this interval is zero. This determination is the key basis for confirming that the waveform of this interval can be used as the target interval waveform to be removed.
[0079] Finally, when the waveform of the interval between the starting point of the first interval (starting point T2) and the ending point of the third interval (ending point T3) (i.e., the entire waveform segment covering T2, T1, and T3) meets the angular displacement cancellation condition (i.e., the net angular displacement of the motor corresponding to this segment is zero), the verified complete interval waveform (from the starting point T2 to the ending point T3) is officially determined as the final target interval waveform. This waveform is the part that needs to be removed from the initial current ripple waveform.
[0080] By acquiring angular displacement values at the start point of the first interval and the end point of the third interval, the actual rotation angle data of the motor at key positions is directly collected, providing a real physical quantity basis for verification. By comparing the first angular displacement value with the second angular displacement value, the difference in angular displacement between the two positions is quantitatively analyzed, forming an objective judgment basis. By determining whether the interval waveform meets the angular displacement cancellation condition based on the comparison results, the effectiveness of anti-pinch segment verification based on actual physical quantities is realized, ensuring that the removal of the target interval does not introduce errors. By using the interval waveform that meets the angular displacement cancellation condition as the target interval waveform, the waveform segment with the characteristic of zero net angular displacement is finally confirmed, fundamentally ensuring the reliability of ripple counting correction.
[0081] In this embodiment of the application, fusing the remaining waveforms in the current ripple waveform into the target current ripple waveform includes: Step B1: Perform slope reduction processing on the remaining waveform to obtain candidate remaining waveforms.
[0082] Specifically, firstly, to prevent the starting point of the remaining waveform after the clamping segment ends ( ) and end point ( Based on the reference, according to the current ripple values corresponding to the two points... and Calculate the slope of the landslide line:
[0083] in, The slope of the landslide line. This represents the current ripple value corresponding to the end point of the remaining waveform. This represents the current ripple value corresponding to the starting point of the remaining waveform. This is the end point of the remaining waveform. This is the starting point of the remaining waveform.
[0084] Secondly, establish the equation for the landslide line:
[0085] in, The landslide line corresponding to the remaining waveform. The slope of the landslide line. This is the starting point of the remaining waveform. This represents the current ripple value corresponding to the starting point of the remaining waveform.
[0086] The original residual waveform Subtracting the landslide line yields the ripple data after slope reduction adjustment:
[0087] in, The candidate remaining waveform after slope reduction adjustment. For the remaining waveform, This is the landslide line. This represents the current ripple value corresponding to the starting point of the remaining waveform. This eliminates the baseline tilt caused by sudden current changes, flattens the ripple waveform, and forms a candidate remaining waveform that can be used for normal counting.
[0088] Step B2: Identify at least one pair of adjacent breakpoints in the candidate remaining waveforms, and fuse the remaining waveforms based on the adjacent breakpoints to obtain the target current ripple waveform.
[0089] Specifically, the candidate residual waveform refers to the current ripple data segment whose baseline tends to be flat after slope reduction processing. Adjacent breakpoints refer to the break points formed when the original continuous waveform is segmented on the time axis due to the removal of the target interval waveform from the initial current ripple waveform. Adjacent breakpoints include the end point of the previous residual waveform segment and the start point of the next residual waveform segment. The controller first locates at least one pair of adjacent breakpoints in the data sequence of the candidate residual waveform. Then, it calculates the difference in the ordinate between the first and second breakpoints, reflecting the level jump caused by removing the anti-pinch segment waveform. Next, it subtracts this difference from the ordinate values of all data points in the next residual waveform segment, achieving a vertical translation of the entire subsequent waveform segment to obtain a translated waveform, thus eliminating the level jump. Finally, it shifts the translated waveform forward on the time axis, aligning its start point continuously with the first breakpoint in time, thereby seamlessly splicing the two waveform segments into a complete waveform that is continuous in both time and amplitude. This is the target current ripple waveform used for ripple counting. When there are multiple breakpoints (such as when the waveform in the target interval is discontinuous), the above difference calculation, translation and alignment operations are performed sequentially on adjacent breakpoints to achieve the fusion of multiple waveform segments.
[0090] By performing slope reduction processing on the remaining waveform, the baseline tilt caused by sudden current changes is effectively eliminated, restoring the flatness of the ripple waveform and making it meet the waveform quality requirements of the counting algorithm. By identifying adjacent breakpoints in the candidate remaining waveforms and fusing the remaining waveforms based on adjacent breakpoints, seamless connection of waveform data after removing the anti-pinch segment is achieved, generating a target current ripple waveform that is continuous in time and phase, ensuring the continuity and accuracy of the subsequent ripple counting process.
[0091] In this embodiment of the application, the remaining waveform is fused based on adjacent breakpoints to obtain the target current ripple waveform, including: Step B201: Calculate the difference in ordinate between the first and second breakpoints among adjacent breakpoints, where the first breakpoint is the end point of the previous segment of the remaining waveform and the second breakpoint is the start point of the next segment of the remaining waveform.
[0092] Specifically, adjacent breakpoints refer to the pair of breakpoints formed on the time axis after removing the target interval waveform from the initial current ripple waveform. The first breakpoint indicates the end point in time of the previous remaining waveform segment (i.e., the waveform segment before the target interval waveform), and the second breakpoint indicates the start point in time of the subsequent remaining waveform segment (i.e., the waveform segment after the target interval waveform). The data processing module of the window controller first locates the data point indices corresponding to the first and second breakpoints in the candidate remaining waveform data sequence that has undergone slope reduction processing. Then, it reads the current amplitude (i.e., its ordinate value) stored at the first breakpoint data point and the current amplitude stored at the second breakpoint data point. Finally, it subtracts the ordinate value of the first breakpoint from the ordinate value of the second breakpoint, and the calculated result is the ordinate difference. This difference quantifies the level transition amplitude at the connection point of the preceding and following waveform segments caused by the removal of the anti-pinch waveform, and is the basis for calculating key correction parameters for subsequent waveform translation and fusion.
[0093] Step B202: Subtract the difference in the ordinate from the ordinate value of the remaining waveform segment to obtain the translation waveform.
[0094] Specifically, the remaining waveform segment refers to the current ripple data segment located after the target interval waveform has been removed, located behind the time axis and having undergone slope reduction processing. The ordinate value is the digital value of the current amplitude corresponding to each sampling point in this data segment. The ordinate difference is a numerical value representing the magnitude of the current level jump between the first and second breakpoints. The data processing module of the window controller traverses each sampling point in the remaining waveform data sequence, subtracts the same ordinate difference from the current amplitude (ordinate value) stored at each sampling point, and performs an overall vertical translation of the waveform segment; the new data sequence generated after the subtraction operation is the translated waveform, characterized by the elimination of the overall offset of the waveform in the ordinate direction, making the current value at its starting point (i.e., the original second breakpoint) equal to the current value at the first breakpoint.
[0095] Step B203: Shift the translation waveform forward by the remaining waveform until the starting point of the translation waveform is continuously aligned with the first breakpoint to obtain the target current ripple waveform.
[0096] Specifically, the translated waveform refers to the remaining waveform data sequence after vertical translation, where the starting point current value is equal to the first breakpoint current value. The preceding remaining waveform refers to the current ripple data segment located before the target interval waveform and having undergone slope reduction processing; its endpoint is the first breakpoint. Continuous alignment means moving the translated waveform forward on the time axis until its starting point (i.e., the position of the original second breakpoint after vertical translation) is immediately following the first breakpoint in the time sequence, with no time gap and continuous level between them. The data processing module of the window controller first obtains the time index position of the first breakpoint in the data sequence, and then moves the overall time index of the translated waveform data block forward, setting its starting point time index to the next sampling point position of the first breakpoint time index. Through this operation, the translated waveform is translated on the time axis and connected end-to-end with the preceding remaining waveform, forming a complete current ripple data sequence that is continuous in time and smooth in amplitude. This sequence is the target current ripple waveform that can be directly used for ripple counting.
[0097] By calculating the difference in the ordinate between the first and second breakpoints, the current amplitude jump at the connection point of the two waveform segments is quantified, providing a reference value for amplitude correction and a data basis for smooth waveform transition. By subtracting the ordinate difference from the ordinate value of the remaining waveform segment to obtain the translated waveform, the entire subsequent waveform is vertically translated, eliminating the DC level offset introduced by removing the anti-pinch segment. This aligns the initial amplitude of the subsequent waveform with the final amplitude of the preceding waveform, resolving the amplitude discontinuity issue. The translated waveform is then translated forward along the remaining waveform segment until they are continuously aligned, yielding the target current ripple waveform. The already amplitude-aligned subsequent waveform is then translated forward along the time axis until it is tightly connected to the beginning and end of the preceding waveform, achieving seamless fusion of the two waveforms in both time and amplitude dimensions. This generates a signal suitable for uninterrupted ripple counting, avoiding counting errors or positioning drift that might occur due to waveform breaks.
[0098] This embodiment also provides a current ripple waveform adjustment device, which is used to implement the above embodiments and preferred embodiments, and will not be repeated as already described. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0099] This embodiment provides a current ripple waveform adjustment device, such as... Figure 9 As shown, it includes: The acquisition module 91 is used to acquire the initial current ripple waveform of the motor of the anti-pinch component under the current operating conditions; The identification module 92 is used to identify the zero-crossing point in the initial current ripple waveform and determine at least one target interval waveform in the anti-pinch execution stage based on the zero-crossing point. Processing module 93 is used to remove the target interval waveform from the initial current ripple waveform and merge the remaining waveform in the current ripple waveform into the target current ripple waveform, wherein the target current ripple waveform is used for ripple counting.
[0100] In this embodiment, the identification module 92 is specifically used to identify the current operating conditions of the motor of the anti-pinch component; determine the preset interval width based on the current operating conditions and the initial current ripple waveform; and determine at least one target interval waveform of the anti-pinch execution stage based on the preset interval width, using the zero-crossing point as the time reference.
[0101] In this embodiment, the identification module 92 is specifically used to acquire the incremental pulse waveform of the anti-pinch component motor under the current operating conditions. The incremental pulse waveform is the waveform output by the incremental encoder when the anti-pinch component motor is running. The incremental pulse waveform and the initial current ripple waveform are in the same dimension. The incremental encoder is installed on the output shaft of the anti-pinch component motor. The target waveform segment in the forward and reverse angular displacement cancellation state is determined according to the incremental pulse waveform and the initial current ripple waveform. The segment width of the target waveform segment is used as the preset interval width of the current operating conditions.
[0102] In this embodiment of the application, the identification module 92 is specifically used to extract the angular displacement sequence during the forward and reverse switching process of the motor from the incremental pulse waveform; identify the time period in the angular displacement sequence where the forward angular displacement and the reverse angular displacement cancel each other out; locate the waveform segment corresponding to the time period from the initial current ripple waveform, and use the waveform segment as the target waveform segment.
[0103] In this embodiment, the identification module 92 is specifically used to: use the zero-crossing point as the end point of the first interval in the anti-pinch execution stage; use the zero-crossing point as a reference to find the first trough position closest to the zero-crossing point in the initial current ripple waveform, and use the first trough position as the start point of the first interval; use the end point of the first interval as the start point of the second interval in the anti-pinch execution stage, and calculate the end point of the second interval in the anti-pinch execution stage forward from the initial current ripple waveform according to the preset interval width; use the end point of the second interval as the start point of the third interval in the anti-pinch execution stage, and calculate the end point of the third interval in the anti-pinch execution stage forward from the initial current ripple waveform according to the interval width of the first interval; and use the start point of the first interval and the end point of the third interval to determine the target interval waveform.
[0104] In this embodiment of the application, the identification module 92 is specifically used to obtain the width of the first interval in the anti-pinch execution stage; identify the data point that is positively displaced from the end point of the second interval by a preset interval width; find the second trough position closest to the data point within a preset range of the data point, and use the second trough position as the end point of the third interval in the anti-pinch execution stage.
[0105] In this embodiment of the application, the identification module 92 is specifically used to obtain the first angular displacement value of the anti-pinch component motor at the starting point of the first interval and the second angular displacement value of the anti-pinch component motor at the ending point of the third interval; compare the first angular displacement value with the second angular displacement value to obtain a comparison result; determine whether the interval waveform between the starting point of the first interval and the ending point of the second interval meets the angular displacement cancellation condition based on the comparison result; and take the interval waveform that meets the angular displacement cancellation condition as the target interval waveform.
[0106] In this embodiment of the application, the processing module 93 is specifically used to perform slope reduction processing on the remaining waveform to obtain candidate remaining waveforms; identify at least one pair of adjacent breakpoints in the candidate remaining waveforms, and fuse the remaining waveforms based on the adjacent breakpoints to obtain the target current ripple waveform.
[0107] In this embodiment of the application, the processing module 93 is specifically used to calculate the difference in the vertical coordinate between the first breakpoint and the second breakpoint in adjacent breakpoints, wherein the first breakpoint is the end point of the previous segment of the remaining waveform and the second breakpoint is the start point of the next segment of the remaining waveform; the vertical coordinate difference is subtracted from the vertical coordinate value of the next segment of the remaining waveform to obtain the translation waveform; the translation waveform is translated to the previous segment of the remaining waveform until the start point of the translation waveform is continuously aligned with the first breakpoint to obtain the target current ripple waveform.
[0108] Please see Figure 10 , Figure 10 This is a schematic diagram of the structure of a computer device provided in an optional embodiment of the present invention, such as... Figure 10 As shown, the computer device includes one or more processors 10, memory 20, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components communicate with each other via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the computer device, including instructions stored in or on memory to display graphical information of a GUI on external input / output devices (such as display devices coupled to the interfaces). In some alternative implementations, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple computer devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system).
[0109] Processor 10 may be a central processing unit, a network processor, or a combination thereof. Processor 10 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The programmable logic device may be a complex programmable logic device (CAMP), a field-programmable gate array (FPGA), a general-purpose array logic (GDA), or any combination thereof.
[0110] The memory 20 stores instructions executable by at least one processor 10 to cause at least one processor 10 to perform the method shown in the above embodiments.
[0111] The memory 20 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the computer device as shown by a landing page for an app. Furthermore, the memory 20 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, the memory 20 may optionally include memory remotely located relative to the processor 10, which can be connected to the computer device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0112] The memory 20 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk or solid-state drive; the memory 20 may also include a combination of the above types of memory.
[0113] The computer device also includes a communication interface 30 for communicating with other devices or communication networks.
[0114] This invention also provides a computer-readable storage medium. The methods described above according to embodiments of the invention can be implemented in hardware or firmware, or implemented as computer code that can be recorded on a storage medium, or implemented as computer code downloaded via a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and then stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods shown in the above embodiments.
[0115] Although embodiments of the invention have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the invention, and such modifications and variations all fall within the scope defined by the appended claims.
Claims
1. A method for adjusting the waveform of current ripple, characterized in that, The method includes: Obtain the initial current ripple waveform of the motor of the anti-pinch component; Identify the zero-crossing point in the initial current ripple waveform, and determine at least one target interval waveform for the anti-pinch execution phase based on the zero-crossing point; The target interval waveform is removed from the initial current ripple waveform, and the remaining waveform in the current ripple waveform is merged into the target current ripple waveform, wherein the target current ripple waveform is used for ripple counting.
2. The method according to claim 1, characterized in that, The determination of at least one target interval waveform for the anti-pinch execution phase based on the zero-crossing point includes: Identify the current operating conditions of the motor of the anti-pinch component; The preset interval width is determined based on the current operating conditions and the initial current ripple waveform. Using the zero-crossing point as a time reference, at least one target interval waveform of the anti-pinch execution stage is determined based on the preset interval width.
3. The method according to claim 2, characterized in that, Determining the preset interval width based on the current operating conditions and the initial current ripple waveform includes: The incremental pulse waveform of the anti-pinch component motor under the current operating condition is obtained, wherein the incremental pulse waveform is the waveform output by the incremental encoder when the anti-pinch component motor is running, the incremental pulse waveform is in the same dimension as the initial current ripple waveform, and the incremental encoder is installed on the output shaft of the anti-pinch component motor; The target waveform segment in the positive and negative angular displacement cancellation state is determined based on the incremental pulse waveform and the initial current ripple waveform. The segment width of the target waveform is used as the preset interval width of the current operating condition.
4. The method according to claim 3, characterized in that, Determining the target waveform segment in the positive and negative angular displacement cancellation state based on the incremental pulse waveform and the initial current ripple waveform includes: The angular displacement sequence during the motor's forward and reverse switching process is extracted from the incremental pulse waveform; Identify the time intervals in the angular displacement sequence where forward and reverse angular displacements cancel each other out; The waveform segment corresponding to the time period is located from the initial current ripple waveform, and the waveform segment is used as the target waveform segment.
5. The method according to claim 2, characterized in that, The step of determining at least one target interval waveform for the anti-pinch execution phase based on the zero-crossing point as a time reference and the preset interval width includes: The zero-crossing point is taken as the end point of the first interval in the anti-pinch execution phase; Using the zero-crossing point as a reference, the first trough position closest to the zero-crossing point is found in reverse from the initial current ripple waveform, and the first trough position is taken as the starting point of the first interval; The end point of the first interval is taken as the starting point of the second interval in the anti-pinch execution stage, and the end point of the second interval in the anti-pinch execution stage is calculated in the forward direction from the initial current ripple waveform based on the preset interval width. The end point of the second interval is taken as the starting point of the third interval in the anti-pinch execution stage, and the end point of the third interval in the anti-pinch execution stage is calculated in the forward direction from the initial current ripple waveform based on the interval width of the first interval. The target interval waveform is determined by using the starting point of the first interval and the ending point of the third interval.
6. The method according to claim 5, characterized in that, The step of calculating the end point of the third interval in the anti-pinch execution phase from the initial current ripple waveform based on the interval width of the first interval includes: Obtain the width of the first interval in the anti-pinch execution phase; Identify data points that are positively displaced from the end point of the second interval by the preset interval width; Within a preset range of the data point, find the second trough position closest to the data point, and use the second trough position as the end point of the third interval in the anti-pinch execution phase.
7. The method according to claim 5, characterized in that, Determining the target interval waveform using the start point of the first interval and the end point of the third interval includes: The first angular displacement value of the anti-pinch component motor is obtained at the starting point of the first interval, and the second angular displacement value of the anti-pinch component motor is obtained at the ending point of the third interval. The first angular displacement value is compared with the second angular displacement value to obtain the comparison result; Based on the comparison results, it is determined whether the waveform between the starting point of the first interval and the ending point of the second interval meets the angular displacement cancellation condition. The interval waveform that meets the angular displacement cancellation condition is taken as the target interval waveform.
8. The method according to claim 1, characterized in that, The step of fusing the remaining waveform in the current ripple waveform into the target current ripple waveform includes: The remaining waveform is subjected to slope reduction processing to obtain candidate remaining waveforms; Identify at least one pair of adjacent breakpoints in the candidate remaining waveforms, and fuse the remaining waveforms based on the adjacent breakpoints to obtain the target current ripple waveform.
9. The method according to claim 8, characterized in that, The process of fusing the remaining waveform based on the adjacent breakpoints to obtain the target current ripple waveform includes: Calculate the difference in ordinate between the first breakpoint and the second breakpoint among the adjacent breakpoints, where the first breakpoint is the end point of the previous segment of the remaining waveform and the second breakpoint is the start point of the next segment of the remaining waveform. Subtract the difference in ordinate from the ordinate value of the remaining waveform segment to obtain the translation waveform; The translation waveform is shifted to the previous remaining waveform until the starting point of the translation waveform is continuously aligned with the first breakpoint to obtain the target current ripple waveform.
10. A vehicle, characterized in that, The vehicle includes a controller, which includes a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the computer instructions to perform the method of any one of claims 1 to 9.
Citation Information
Patent Citations
Vehicle window position detection device and method
CN108457552A
Converter low-frequency ripple self-adaptive elimination method
CN120896154A
Vehicle window control circuit and vehicle
CN216043280U
Power window drive control device
JP1995224576A
Waveform generating apparatus, waveform creating apparatus, testing apparatus, and program
JP2009031253A