Method for determining position of motor by using current ripples and computer system

By analyzing the changing trends and peaks and troughs of current ripple and calculating the motor position, the problem of determining the motor position in the prior art requires additional sensors, achieving cost and space savings, and improving the efficiency of motor status judgment.

CN119298741APending Publication Date: 2025-01-10SAIC GENERAL MOTORS +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411400488.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-09
Publication Date
2025-01-10

Smart Images

  • Figure CN119298741A_ABST
    Figure CN119298741A_ABST
Patent Text Reader

Abstract

The invention relates to a method for determining the position of a motor through current ripples and a computer system, and the method comprises the steps: comparing a sampling value of the current ripples of the current flowing through the motor with an extreme value obtained before the sampling value on the current ripples, and determining the change trend of the current ripples; determining a wave crest and a wave trough corresponding to the sampling value on the current ripple according to the change trend; and calculating the position of the motor based on the number of the wave crests and the number of the wave troughs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to motor control, and more particularly, to a method and a computer system for determining a motor position using current ripple. Background Art

[0002] There are many applications for motors. For example, brushed DC motors are used to adjust car seats, including the forward and backward movement, up and down movement, and backrest angle of the seat. Here, by determining the motor position, the adjusted state information of the seat can be obtained, for example, for different passengers to switch to their preferred seat settings. Although information related to the motor position can be obtained using sensors such as Hall effect sensors, this may add additional costs and occupy design space.

[0003] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present application, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention

[0004] Embodiments of the present application provide a method and a computer system for determining a motor position using current ripple, so as to calculate or at least estimate the motor position without introducing an additional sensor for measuring the motor position.

[0005] According to one aspect of the present application, a method for determining the position of a motor in a running state is provided, the method comprising: determining a change trend of the current ripple by comparing a sampled value of a current ripple of a current flowing through the motor with an extreme value obtained on the current ripple before the sampled value; determining peaks and troughs on the current ripple corresponding to the sampled value based on the change trend; and calculating the position of the motor based on the number of the peaks and the number of the troughs.

[0006] In one or more embodiments of the present application, optionally, the method further includes: determining that the motor is maintained in the operating state based on a peak-to-peak value of the current ripple being greater than a threshold.

[0007] In one or more embodiments of the present application, optionally, the method further includes: determining the peak and the trough according to the absolute value of the difference between the sampling value and the extreme value being greater than the peak-to-peak value.

[0008] In one or more embodiments of the present application, optionally, the extreme value is the maximum value or the minimum value of the current ripple in a sampling interval corresponding to the sampling value, and the peak-to-peak value is the difference between the maximum value and the minimum value.

[0009] In one or more embodiments of the present application, optionally, the change trend includes: a transition from increasing to decreasing and a transition from increasing to decreasing of the sampling value as sampling time passes.

[0010] According to one aspect of the present application, a computer system is provided, comprising: at least one memory; at least one processor; and a computer program stored on the memory and executable on the processor, wherein the execution of the computer program on the processor results in the following operations: determining a change trend of the current ripple by comparing a sampled value of a current ripple of current flowing through the motor with an extreme value of the current ripple obtained before the sampled value; determining peaks and troughs on the current ripple corresponding to the sampled value based on the change trend; and calculating the position of the motor based on the number of the peaks and the number of the troughs.

[0011] In one or more embodiments of the present application, optionally, the operation further includes: determining that the motor is maintained in the operating state according to a peak-to-peak value of the current ripple being greater than a threshold value.

[0012] In one or more embodiments of the present application, optionally, the operation further includes: determining the peak and the trough according to the absolute value of the difference between the sampling value and the extreme value being greater than the peak-to-peak value.

[0013] In one or more embodiments of the present application, optionally, the extreme value is the maximum value or the minimum value of the current ripple in a sampling interval corresponding to the sampling value, and the peak-to-peak value is the difference between the maximum value and the minimum value.

[0014] In one or more embodiments of the present application, optionally, the change trend includes: a transition from increasing to decreasing and a transition from increasing to decreasing of the sampling value as sampling time passes.

[0015] According to one aspect of the present application, a computer-readable storage medium is provided, wherein instructions are stored in the computer-readable storage medium, and when the instructions are executed by a processor, any one of the methods described above is implemented.

[0016] According to one aspect of the present application, a computer program product is provided. The computer program product includes computer instructions. When the computer instructions are executed by a processor, any one of the methods described above is implemented. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The above and other features, aspects and advantages of the present application will become better understood when reading the following detailed description with reference to the accompanying drawings, in which the same or similar elements are represented by the same reference numerals. It should be noted that the drawings in the present application are only schematic and may not be drawn to scale or specific numbers. In the drawings: Figure 1 is a flow chart showing a method for determining motor position using current ripple; and Figure 2 A schematic block diagram of a computer system. DETAILED DESCRIPTION

[0018] The present application is described more fully below with reference to the accompanying drawings in which the illustrative embodiments of the present application are illustrated. In the following detailed description of the embodiments, many specific details are set forth in order to provide a more thorough understanding of the disclosure of the present application. However, in one or more embodiments, well-known features are not described in detail to avoid making the description unnecessarily complicated. Where applicable, the embodiments of the present application and the features in the embodiments can also be combined with each other.

[0019] In the present application, terms such as "comprises", "includes", "has" and the like indicate that in addition to the units and steps directly and explicitly stated in the specification and claims, the technical solution described in the present application does not exclude the existence of other units and steps that are not directly or explicitly stated.

[0020] In the present application, the state of the motor may include an idle state in which the motor is in standby mode, a starting state, a running state in which the current drops and tends to be stable, a braking state in which the motor executes a stop command and the current decreases, etc. In the idle state, by detecting the starting current applied to the motor, if the starting current exceeds a threshold starting current (for example, a calibrated starting current value), the motor is controlled to enter the starting state; if the motor current does not exceed the threshold starting current after, for example, the threshold starting time has passed, the motor start may fail and the motor is controlled to return to the idle state for restarting.

[0021] Next, in the motor startup state, it is necessary to determine whether the motor has entered the running state. By continuously monitoring the motor current, when the motor current reaches a peak and gradually falls back, if the motor current value is less than, for example, K×I after the threshold fall time, th_max (I th_max is the peak value of the motor current, K is a coefficient greater than 0 and less than 1) and continues to be greater than the minimum current value previously measured during the threshold drop time during a calibrated period of time, the motor has entered the running state; if the motor current value is still greater than K×I after a calibrated period of time greater than the threshold drop time th_max , it is determined that the motor is stalled and the motor is controlled to return to the idle state.

[0022] In the running state of the motor, the motor current and the current ripple superimposed on the current are closer to a stable form than in other states (for example, it may be similar to a cosine curve of current and time on an oscilloscope) and have periodicity (for example, at least one pair of peaks and troughs may appear in one cycle of the current ripple, and the current ripple may be sampled according to the same sampling period as the cycle). The position of the motor in its running state may be determined by the method using the current ripple as specifically described below.

[0023] Figure 1 1 is a flow chart showing a method 100 for determining the position of a motor using current ripple. The method 100 includes steps 110, 120, and 130. In a specific implementation, since the armature winding commutation process of the motor may result in a difference in the order in which the current ripple trough and the current ripple peak appear, the two modes of controlling the motor to perform forward transmission (e.g., clockwise rotation) and reverse transmission (e.g., counterclockwise rotation) may correspond to two measurement modes of determining the peak with priority over determining the trough and determining the trough with priority over determining the peak.

[0024] In step 110, the change trend of the current ripple can be determined by comparing the sampled value of the current ripple of the motor with the extreme value (e.g., the maximum value or minimum value in a current ripple sampling interval covering one or more sampling cycles) of the current ripple obtained before the sampled value (such as one or more sampled values) in time. Specifically, when the motor enters the running state and is running, the change trend for determining the peak can be detected first. The current ripple (e.g., after the noise is filtered out by the bypass capacitor) can be continuously sampled in real time and the obtained real-time current value can be compared with the historical extreme value of the current value sampled previously (e.g., before the motor enters the running state). For example, multiple sampled current values ​​within a period of time (e.g., within 1 / 4 sampling period of the sampling period (e.g., from 1 / 8 period to 3 / 8 period time)) can be subtracted from the current minimum value on the current ripple measured before this period of time (e.g., the previous sampling period), and the obtained differences are arranged according to the sampling times corresponding to these sampled current values, and the change process of the arranged differences is obtained. Accordingly, for determining the changing trend of the trough immediately following the peak, a plurality of sampled current values ​​within another period of time (for example, from 5 / 8 cycle to 7 / 8 cycle) may be subtracted from the maximum current value on the current ripple measured before this period of time, and the obtained differences (for example, the absolute value of the differences) may be arranged according to the sampling times corresponding to the sampled current values, to obtain the changing process of the arranged differences.

[0025] Specifically, the above-mentioned change process may include an increasing process, a process of increasing first and then decreasing, a decreasing process, or a process of decreasing first and then increasing. These processes respectively present an increasing trend, a transition from increasing to decreasing, a decreasing trend, or a transition from decreasing to increasing in the magnitude of the current ripple. Through this corresponding relationship between the above-mentioned difference and the current ripple, the change trend of the current ripple in magnitude can be determined.

[0026] Accordingly, when the motor enters the running state and reverses, the trough may be determined first and then the peak, that is, the opposite process to that described above for step 110 is performed, which will not be repeated here.

[0027] In step 120, the peak and trough of the current ripple can be determined according to the change trend of the difference determined in step 110. Specifically, if the current ripple presents a transition from increasing to decreasing in size, it can be determined that a peak appears on the sampled current ripple; and if the current ripple presents a transition from decreasing to increasing in size, it can be determined that a trough appears on the sampled current ripple. In addition, by comparing the above difference with a threshold difference (e.g., a calibrated difference), if all values ​​in the above difference are greater than the threshold difference, it can be determined that a peak appears on the sampled current ripple; or when determining the trough, when all values ​​in the absolute value of the difference are greater than the threshold difference, it can be determined that a trough appears on the sampled current ripple. Further, a screening condition can be applied to the difference, such as excluding differences whose absolute value is less than 1 / 8 of the peak-to-peak value (e.g., the difference between the maximum and minimum values ​​within a sampling time), so as to avoid incorporating jitter, such as sampling data, into the calculation of the method.

[0028] In one or more embodiments, it can be determined that the motor is maintained in an operating state based on the peak-to-peak value of the current ripple being greater than a threshold peak-to-peak value. In the process of the motor running stably at a certain speed, the current consumed has a certain degree of consistency, so that the peak-to-peak value of the motor current ripple tends to be stable. The threshold peak-to-peak value can be obtained through a calibration process (such as a vehicle calibration process, a device calibration process, etc.), and can be the lowest peak-to-peak value of the ripple current when the motor is maintained in an operating state. By comparing the peak-to-peak value of the collected current ripple with the threshold peak-to-peak value, if the peak-to-peak value is greater than the threshold peak-to-peak value, it can be determined that the motor is in an operating state at this time.

[0029] In one or more embodiments, the peaks and valleys can be determined based on the absolute value of the difference between the sampled value and the extreme value on the current ripple being greater than the peak-to-peak value of the current ripple. For example, the maximum value among multiple sampled current values ​​within a period of time can be subtracted from the minimum current value on the current ripple measured before this period of time, and the obtained difference can be compared with the peak-to-peak value of the current ripple during this period of time. If the absolute value of the above difference is greater than the above peak-to-peak value, it is determined that there is a peak between the multiple sampled current values. Accordingly, the minimum value among multiple sampled current values ​​within a period of time can be subtracted from the maximum current value on the current ripple measured before this period of time, and the absolute value of the obtained difference can be compared with the peak-to-peak value of the current ripple during this period of time. If the absolute value of the above difference is greater than the above peak-to-peak value, it is determined that there is a valley between the multiple sampled current values.

[0030] In step 130, the position of the motor can be calculated based on the number of peaks and the number of troughs obtained in the above steps. The number of peaks and troughs can be obtained by inverting the value of the determination, such as a Boolean data type, at each determination of the peak or trough, and counting each inversion, for example, the number of current ripples is equal to the number of peak and trough pairs. Then, the position of the motor is calculated by combining the characteristics of the components of the motor with the number of ripples. In each rotation of the motor, each brush used with the commutator causes a slight momentary short circuit on the motor winding, which is manifested as ripples in the current, and the number of ripples is the least common multiple of the number of brushes and the number of commutators. For example, a DC brushed motor may include 2 brushes and 3 commutators, and the number of current ripples is 6, that is, 6 ripples are generated per motor rotation. Therefore, the number of revolutions can be calculated by the number of ripples, and then the position of the motor can be calculated, such as the position to which the motor rotates relative to the position when it enters the rotation state.

[0031] Although Figure 1 The steps in the embodiment are presented and described separately, but a person of ordinary skill will appreciate that some or all of the steps may be combined or omitted, and some or all of the steps may be performed in parallel, and additional steps may be further performed. Therefore, the scope of the present disclosure should not be considered to be limited to Figure 1 A specific arrangement of the steps shown in .

[0032] Figure 2 2 is a schematic block diagram of a computer system 200. Figure 2As shown, the computer system 200 includes at least one memory 210 (e.g., a non-volatile memory such as a flash memory, a ROM, a hard disk drive, a magnetic disk, an optical disk, etc.), at least one processor 220, and a computer program 230. The memory 210 stores the computer program 230 executable by the processor 220. The processor 230 is configured to run the computer program 230 stored on the memory 210. The above-mentioned operation can be realized by running the computer program stored on one or more memories on one or more processors (e.g., a method in which multiple processors run the computer program in cooperation or a method in which a single processor runs the computer program alone). Figure 1 One or more steps or operations included in the method.

[0033] According to another aspect of the present application, a computer-readable storage medium is provided on which instructions are stored. When the instructions are executed by a processor, the above-mentioned Figure 1 One or more steps or operations included in the method.

[0034] According to another aspect of the present application, a computer program product is also provided, the computer program product comprising computer instructions, the computer instructions can be executed by a processor to achieve the above Figure 1 One or more steps or operations included in the method.

[0035] The processor referred to in this application may be an integrated circuit chip having the ability to process signals. Figure 1 One or more steps or operations included in the method may be performed by an integrated logic circuit of hardware in a processor or by instructions in the form of software. The processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.

[0036] The computer-readable storage medium referred to in the present application includes various types of computer storage media, which can be any available medium that a general or special-purpose computer can access. For example, a computer-readable storage medium can include RAM, ROM, EPROM, E2PROM, register, hard disk, removable disk, CD-ROM or other optical disk storage, disk storage or other magnetic storage device, or can be used to carry or store a desired program code unit with an instruction or data structure form and can be accessed by a general or special-purpose computer, or a general or special-purpose processor. Any other temporary or non-temporary medium. The above combination should also be included in the protection scope of the computer-readable storage medium. An exemplary storage medium is coupled to a processor so that the processor can read and write information from / to the storage medium. In an alternative, a storage medium can be integrated into a processor.

[0037] It should be noted that the embodiments described in this application are intended to make the disclosure herein comprehensive and complete, and are not intended to limit the scope of the claimed subject matter. Those skilled in the art may think of other feasible changes or replacements based on the technical scope disclosed in this application, and such changes or replacements are all included in the protection scope of this application. Those skilled in the art will know that the above description and examples are provided only for the convenience of explanation and example, and the proposed description and examples are not intended to cover all aspects of the application or limit the application to the disclosed precise form. The technical solutions recorded in this application can be implemented in different forms without departing from the spirit and scope of the application.

Claims

1. A method for determining a position of a motor in a running state, the method comprising: Determine a change trend of the current ripple by comparing a sampled value of the current ripple of the current flowing through the motor with an extreme value of the current ripple obtained before the sampled value; Determining, according to the change trend, a peak and a trough on the current ripple corresponding to the sampling value; as well as The position of the motor is calculated based on the number of the peaks and the number of the troughs.

2. The method of claim 1, further comprising: According to the peak-to-peak value of the current ripple being greater than a threshold, it is determined that the motor is maintained in the operating state.

3. The method of claim 2, further comprising: The peak and the trough are determined according to that the absolute value of the difference between the sample value and the extreme value is greater than the peak-to-peak value.

4. The method of claim 2, wherein: The extreme value is the maximum value or the minimum value of the current ripple in the sampling interval corresponding to the sampling value, and the peak-to-peak value is the difference between the maximum value and the minimum value.

5. The method of claim 1, wherein: The variation trend includes: the sampling value changes from increasing to decreasing and from increasing to decreasing as the sampling time passes.

6. A computer system comprising: at least one memory; at least one processor; as well as A computer program stored on the memory and executable on the processor, the execution of the computer program on the processor causing the following operations: Determine a change trend of the current ripple by comparing a sampled value of the current ripple of the current flowing through the motor with an extreme value of the current ripple obtained before the sampled value; Determining, according to the change trend, a peak and a trough on the current ripple corresponding to the sampling value; as well as The position of the motor is calculated based on the number of the peaks and the number of the troughs.

7. The computer system of claim 6, wherein: The operation further includes: determining that the motor is maintained in the running state according to a peak-to-peak value of the current ripple being greater than a threshold.

8. The computer system of claim 7, wherein: The operation further includes: determining the peak and the trough according to the absolute value of the difference between the sample value and the extreme value being greater than the peak-to-peak value.

9. The computer system of claim 7, wherein: The extreme value is the maximum value or the minimum value of the current ripple in the sampling interval corresponding to the sampling value, and the peak-to-peak value is the difference between the maximum value and the minimum value.

10. The computer system of claim 6, wherein: The variation trend includes: the sampling value changes from increasing to decreasing and from increasing to decreasing as the sampling time passes.