Motor stall determination method, motor control method, controller and motor system
By using a software method that collects motor current and calculates the period difference, the high cost and poor adaptability of existing motor stall detection technologies have been solved, achieving low-cost and flexible motor stall detection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN H&T INTELLIGENT CONTROL
- Filing Date
- 2026-03-30
- Publication Date
- 2026-06-23
AI Technical Summary
Existing technologies for determining motor stall rely on hardware modules and dedicated algorithm logic, resulting in high hardware costs and low algorithm openness, making it difficult to adapt to special motor characteristics.
By collecting motor current and calculating the current difference between adjacent cycles, software is used to determine whether the motor is stalling, including filtering and preset threshold judgment, to achieve motor stall detection.
It reduces the hardware cost of motor stall detection, improves the openness and adaptability of the algorithm, and can flexibly adapt to special motor characteristics to accurately detect motor stall.
Smart Images

Figure CN122268207A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of motor stall detection technology, and in particular to a method for determining motor stall, a motor control method, a controller, and a motor system. Background Technology
[0002] With the rapid development of industrial automation, intelligent manufacturing, and precision instruments, the application scenarios of stepper motors are undergoing profound changes. Their application scope has rapidly expanded from traditional low-load, low-speed, simple transmission scenarios to high dynamic response, high positioning accuracy, and extreme environments such as high temperature and high humidity. Under this trend, ensuring the reliability of motor operation, especially avoiding motor stall (including step loss and stalling), has become a rigid requirement for drive systems in various high-end equipment. Once motor stall occurs and is not detected and protected in time, it will directly lead to positioning failure, mechanical damage, or even system paralysis.
[0003] Currently, the mainstream methods for detecting motor stall in the industry mainly rely on the hardware modules and dedicated algorithm logic integrated within the stepper motor driver chip. However, this method has a high hardware cost. Summary of the Invention
[0004] This application provides a method for determining motor stall, a motor control method, a controller, and a motor system, which can achieve motor stall detection in a low-cost manner.
[0005] In a first aspect, embodiments of this application provide a method for determining motor stall, used to determine whether a single motor has stalled. The method for determining motor stall includes: when the motor is running, collecting the motor current to obtain a sampled current; determining whether the motor has stalled based on the difference between the current in the Nth cycle and the current in the (N+1)th cycle of the sampled current, where N is an odd number greater than 0.
[0006] In one or more embodiments, when the motor is running, the current of the motor is collected to obtain a sampled current, including: when the motor is running, collecting M currents of the motor in each sampling period, and obtaining a sampled current based on multiple sampling periods, wherein M is an integer greater than 1, and the sampling period is the period of the sampled current.
[0007] In one or more embodiments, determining whether the motor has stalled based on the difference between the current in the Nth cycle and the current in the (N+1)th cycle of the sampled current includes: calculating the absolute value of the difference between each current in the Nth cycle and each current in the corresponding (N+1)th cycle of the sampled current to determine M absolute values; and determining whether the motor has stalled based on the M absolute values.
[0008] In one or more embodiments, determining whether the motor has stalled based on M absolute values includes: incrementing a count value by one for each absolute value greater than a first preset threshold; and determining whether the motor has stalled based on the count value.
[0009] In one or more embodiments, determining whether the motor has stalled based on the count value includes: determining the difference between the final value and the initial value of the count value, wherein before performing the step of incrementing the count value by one for each of the M absolute values that is greater than a first preset threshold, the value of the count value is the initial value; after performing the step of incrementing the count value by one for each of the M absolute values that is greater than the first preset threshold, the value of the count value is the final value; and determining that the motor has stalled when the difference is greater than or equal to a second preset threshold.
[0010] In one or more embodiments, before performing the determination of whether the motor has stalled based on the M absolute values, the motor stall determination method further includes: filtering the M absolute values; determining whether the motor has stalled based on the M absolute values includes: determining whether the motor has stalled based on the filtered M absolute values.
[0011] Secondly, embodiments of this application provide a method for determining motor stall, used to determine whether multiple motors are stalling. The method for determining motor stall includes: sequentially setting the sampling channels corresponding to each motor as target sampling channels; and determining whether the motor corresponding to the target sampling channel is stalling based on the method for determining motor stall as described in the first aspect.
[0012] Thirdly, embodiments of this application provide a motor control method, including: determining whether the motor is stalling based on the motor stall determination method of the first aspect; and controlling the motor to rotate in the reverse direction when it is determined that the motor is stalling.
[0013] Fourthly, embodiments of this application provide a controller, including: at least one processor and a memory; the memory is coupled to the processor and is used to store instructions or programs, which, when executed by at least one processor, cause the at least one processor to perform the motor stall determination method as described in the first and second aspects and the motor control method as described in the third aspect.
[0014] Fifthly, embodiments of this application provide an electric motor system, including at least one electric motor and a controller as described in the fourth aspect.
[0015] The beneficial effects of this application are as follows: The motor stall determination method of this application first collects the motor current during motor operation to obtain a sampled current. Then, based on the difference between the current in the Nth cycle and the current in the (N+1)th cycle of the sampled current, it is determined whether the motor has stalled, where N is an odd number greater than 0. Therefore, the motor stall judgment process is implemented in software, thus eliminating the need for stepper motor driver chips as used in related technologies, thereby reducing costs and achieving motor stall detection in a low-cost manner. Attached Figure Description
[0016] One or more embodiments are illustrated by way of example with reference to the accompanying drawings, which are not intended to limit the embodiments, and elements having the same reference numerals in the drawings are designated as similar elements.
[0017] Figure 1 This is the flowchart of the motor stall determination method provided in the embodiments of this application. Figure 1 ; Figure 2 This is a schematic diagram of the sampling current when the motor stalls and the sampling current when the motor is running normally, provided in an embodiment of this application. Figure 3 This is the flowchart of the motor stall determination method provided in the embodiments of this application. Figure 2 ; Figure 4 This is the flowchart of the motor stall determination method provided in the embodiments of this application. Figure 3 ; Figure 5 This is the flowchart of the motor stall determination method provided in the embodiments of this application. Figure 4 ; Figure 6 This is the flowchart of the motor stall determination method provided in the embodiments of this application. Figure 5 ; Figure 7 This is the flowchart of the motor stall determination method provided in the embodiments of this application. Figure 6 ; Figure 8 This is a flowchart of the motor control method provided in the embodiments of this application; Figure 9 This is a schematic diagram of the controller provided in an embodiment of this application. Detailed Implementation
[0018] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be described clearly and in detail below with reference to the accompanying drawings. Obviously, the embodiments in this application are only some embodiments, not all embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0019] It should be noted that when an element is described as "connected" to another element, it can be directly connected to the other element, or there can be one or more intermediate elements between them.
[0020] Furthermore, the technical features involved in the various embodiments of this application described below can be combined with each other as long as they do not conflict with each other.
[0021] In related technologies, motor stall detection primarily relies on the hardware modules and dedicated algorithm logic integrated within the stepper motor driver chip. This technical solution aims to achieve real-time perception, analysis, and response to stall conditions without relying on external sensors (such as encoders or Hall sensors) or complex system-level peripheral designs. Its core principle is the high integration of back EMF monitoring, current waveform analysis, and dynamic parameter adjustment functions into a single chip, thus forming a closed-loop control system of "perception, decision-making, and execution" at the chip level. Taking Texas Instruments' (TI) DRV8434S as a typical example of a smart drive chip solution, this chip dynamically determines the stall state through internal torque count values, supports automatic calibration and manual threshold setting, and can adapt to various operating conditions.
[0022] However, despite the superior performance and integration of such integrated chip solutions, significant limitations remain in practical engineering applications: (1) High hardware cost: Due to the integration of a large number of dedicated analog front-end and digital logic units, the price of a single intelligent driver chip is much higher than that of ordinary drivers, which significantly increases the overall hardware cost (BOM Cost) of the system and is not conducive to the promotion of cost-sensitive large-scale applications.
[0023] (2) Low algorithm openness and poor adaptability: The stall detection algorithm inside such chips is usually fixed in black box logic. The openness of the programmable logic unit is extremely low, and users are not allowed to customize or modify the core detection algorithm. When facing special motors (such as customized motors with nonlinear load characteristics or non-standard operating curves), the fixed algorithm is difficult to optimize, resulting in poor matching degree, insufficient detection sensitivity or increased false alarm rate.
[0024] Based on this, the embodiments of this application provide a method for determining motor stall, which uses software to implement the motor stall judgment process, thereby reducing the need for stepper motor driver chips as in related technologies, thus reducing costs. At the same time, the algorithm is open and can be flexibly adapted to special motor characteristics.
[0025] Please refer to Figure 1 , Figure 1 This is a flowchart illustrating a motor stall determination method provided in an embodiment of this application. The method is used to determine whether a single motor has stalled. Figure 1 As shown, the method for determining motor stall includes the following steps S110 to S120.
[0026] Step S110: When the motor is running, collect the motor current to obtain the sampled current.
[0027] Step S120: Determine whether the motor has stalled based on the difference between the current in the Nth cycle and the current in the (N+1)th cycle of the sampled current, where N is an odd number greater than 0.
[0028] Specifically, in the embodiments of this application, the motor refers to a stepper motor. Collecting the motor current involves collecting the instantaneous current of any winding of the motor and forming a discrete sampling sequence, which is the sampling current. The sampling current consists of multiple cycles of current, grouped into sets of two adjacent cycles (i.e., the 1st and 2nd cycles, the 3rd and 4th cycles, the 5th and 6th cycles, etc.). By calculating the current difference between two adjacent cycles, it is possible to determine whether the motor has stalled. Motor stall refers to a situation where, under energized conditions, the rotor stops rotating (speed is 0) or its speed abnormally decreases to a point where it cannot maintain normal operation due to the load torque exceeding its maximum output torque (or stall torque). Motor stall includes step loss and stall. Step loss refers to the phenomenon in open-loop controlled stepper motors (or synchronous motors in extreme cases) where the load torque exceeds the motor's instantaneous holding torque, or the inertia cannot keep up due to excessive acceleration or deceleration, causing the rotor to fail to complete one or more pulse commands issued by the controller, resulting in the actual position lagging behind the theoretical command position. Stall refers to the phenomenon where, when the motor is energized, the load torque exceeds the maximum torque that the motor can produce (i.e., stall torque or maximum static torque), causing the rotor to completely stop rotating.
[0029] Figure 2 The illustration provides a schematic diagram of the sampled current when the motor stalls and the sampled current when the motor is operating normally (i.e., without stalling) in a specific embodiment. Curve L1 represents the sampled current when the motor is not stalling, and curve L2 represents the sampled current when the motor stalls.
[0030] like Figure 2 As shown, the winding current waveform (i.e., sampling current) of a stepper motor differs significantly between normal operation and stall conditions. During normal operation, the current waveform exhibits a regular change; however, when the motor stalls, the current waveform shows abrupt changes or abnormal fluctuations. Based on this physical characteristic, by monitoring the current difference between adjacent sampling periods, it is possible to determine whether the motor has stalled.
[0031] In summary, this method enables the determination of whether a motor has stalled through pure software. On the one hand, it eliminates the need for stepper motor driver chips, as is the case with related technologies, thus saving costs. On the other hand, the algorithm is open and can be adaptively adjusted for different motors, thereby flexibly adapting to special motor characteristics.
[0032] In some embodiments, such as Figure 3 As shown, the specific implementation process of step S110 includes the following step S310.
[0033] Step S310: When the motor is running, collect M currents of the motor in each sampling period, and obtain the sampled current based on multiple sampling periods, where M is an integer greater than 1, and the sampling period is the period of the sampled current.
[0034] Specifically, within each sampling period, instead of a single current reading, M instantaneous current values are continuously acquired, for example, 256 (M=256) instantaneous current values are acquired continuously. This processing based on M instantaneous current values in each sampling period (rather than treating the current of the entire sampling period as a whole) helps to accurately determine whether the waveform of the sampled current is distorted, thus enabling a more precise determination of whether the motor has stalled. Here, the sampling period refers to the period of the sampled current, which is one complete electrical cycle of the motor, i.e., the time it takes for the current waveform to repeat once. Figure 2 The time interval between time T1 and time T2 shown is the period of one sampling current, which is also the sampling period.
[0035] In some embodiments, based on the sampling method of step S310, the specific implementation process of step S120 includes the following steps S410 to S420.
[0036] Step S410: Calculate the absolute value of the difference between each current in the Nth period and each current in the corresponding N+1th period in the sampled current, so as to determine M absolute values.
[0037] Step S420: Determine whether the motor has stalled based on M absolute values.
[0038] Specifically, assume that the M currents in the Nth period are ia1, ia2, ..., iaM; and the M currents in the (N+1)th period are ib1, ib2, ..., ibM. Then the M absolute values (denoted as...) 1. 2、…、 M) are respectively 1 = |ia1 - ib1|, 2 = |ia² - ib²|, ..., M = |iaM-ibM|. Here, "correspondence" between the currents in the Nth cycle and the currents in the (N+1)th cycle implies phase alignment. That is, the Kth current value in the Nth cycle (iaK) must be compared with the Kth current value in the (N+1)th cycle (ibK). The actual physical meaning is that the two corresponding currents represent the current response of the motor rotor when it rotates through exactly the same spatial position (or the stator magnetic field is in exactly the same phase state). For example, if iaK is the current 30 degrees after the voltage zero-crossing point in the Nth cycle, then ibK must be the current 30 degrees after the voltage zero-crossing point in the (N+1)th cycle.
[0039] Then, based on the M absolute values, it is determined whether the motor has stalled. In this way, by comparing the current response under the same physical state, it is helpful to detect the repeatability of the waveform, so as to accurately isolate the waveform distortion caused by the fault, thereby accurately determining whether the motor has stalled.
[0040] In some embodiments, such as Figure 5 As shown, the specific implementation process of step S420 includes the following steps S510 to S520.
[0041] Step S510: Among the M absolute values, for each absolute value that is greater than the first preset threshold, increment the count value by one.
[0042] Step S520: Determine whether the motor has stalled based on the count value.
[0043] Specifically, M absolute values are 1. 2、…、 M. Iterate through each element of the M absolute values. i (i=1,2,…,M), if there exists a If i is greater than the first preset threshold, then the count value (denoted as Count) is incremented by one, i.e., Count = Count + 1. Therefore, if there are J... If i is greater than the first preset threshold, the count value is incremented by J, i.e., Count = Count + J. The first preset threshold is a pre-set threshold that can be set based on the actual application scenario. It characterizes the severity of current waveform distortion. Specifically, when the motor is rotating normally, adjacent cycles of waveforms highly overlap, and very few points exceed the first preset threshold. When the motor stalls, the waveform undergoes a drastic change, causing a large number of sampling points to simultaneously exceed the first preset threshold.
[0044] Therefore, determining whether the motor has stalled based on the count value can eliminate the slight waveform changes caused by normal load fluctuations, thereby accurately identifying the drastic waveform changes caused by actual stalling, which is beneficial for accurately determining whether the motor has stalled.
[0045] In some embodiments, such as Figure 6 As shown, the specific implementation process of step S520 includes the following steps S610 to S620.
[0046] Step S610: Determine the difference between the final value and the initial value of the count value, wherein the count value is the initial value before step S510 is executed, and the count value is the final value after step S510 is executed.
[0047] Step S620: When the difference is greater than or equal to the second preset threshold, determine that the motor is stalling.
[0048] Specifically, before executing step S510, i.e., before processing the M absolute values, the current actual value of the count is first read and recorded as the initial value Count1. Then, step S510 is executed to accumulate the count values. After step S510 is completed, the accumulated count value is obtained and recorded as the final value Count2. Count2 = Count1 + J, where J is the number of absolute values among the M absolute values that are greater than a first preset threshold. Then, the difference between the final value Count2 and the initial value Count1 is calculated. Count, that is Count = Count2 - Count1. Essentially, the difference... Count is strictly equal to the number J of absolute values greater than the first preset threshold among M absolute values. This logically isolates the influence of historical data and extracts the number of newly detected abnormal absolute values. Finally, the difference is... The count is compared with a second preset threshold to determine whether the motor has stalled. Specifically, if... If Count ≥ Th2, then the motor has stalled; if If Count < Th2, then the motor is determined not to have stalled, where Th2 is the second preset threshold. The second preset threshold is a pre-set threshold that can be set based on the actual application scenario.
[0049] Thus, on the one hand, historical cumulative errors are eliminated; regardless of previous count values, the judgment is based solely on the number of outliers currently generated, ensuring the independence and purity of the judgment. On the other hand, the difference... Count represents the density of outliers in the waveform of the current two cycles, while the second preset threshold Th2 represents the proportion of sampling points that are allowed to be distorted. This proportion / density-based determination method is more in line with the physical characteristics of waveform distortion, which is helpful in accurately determining whether the motor has stalled.
[0050] In some embodiments, before executing step S420, the motor stall determination method further includes the following step: filtering the M absolute values. Then step S420 specifically includes the following step: determining whether the motor has stalled based on the filtered M absolute values. Correspondingly, step S510 specifically includes the following step: for each of the filtered M absolute values that is greater than a first preset threshold, incrementing the count value by one.
[0051] By filtering the M absolute values, transient noise interference is significantly suppressed, making subsequent count values more accurate and thus accurately determining whether the motor has stalled. At the same time, by suppressing noise, the amplitude of the fault feature in the processed data is significantly improved relative to the amplitude of the background noise, which is beneficial to improving the signal-to-noise ratio of the fault feature and also helps to accurately determine whether the motor has stalled.
[0052] In some embodiments, the filtering of the M absolute values is performed using a fourth-order low-pass filter based on a weighted averaging method. Specifically, the input signal (i.e., the M absolute values) is passed sequentially through four cascaded first-order exponential weighted average filters, where the signal is smoothed at each stage, and the output of the previous filter serves as the input to the next filter. This effectively filters out high-frequency glitches.
[0053] This application further provides a flowchart of a method for determining whether multiple motors have stalled. For example... Figure 7 As shown, the method for determining motor stall includes the following steps S710 to S720.
[0054] Step S710: Sequentially set the sampling channels corresponding to each motor as target sampling channels.
[0055] Step S720: Based on the motor stall determination method used to determine whether multiple motors have stalled, determine whether the motor corresponding to the target sampling channel has stalled.
[0056] Specifically, each motor corresponds to an independent sampling channel. The multiple motors include motor A1, motor A2, ..., motor AT, where T is an integer greater than 1. The channel corresponding to motor A1 is ADC channel B1, the channel corresponding to motor A2 is ADC channel B2, ..., and the channel corresponding to motor AT is ADC channel BT. The method for determining whether multiple motors have stalled is... Figure 1 , Figures 3 to 6 The steps shown demonstrate the method.
[0057] First, set ADC channel B1 as the target sampling channel, based on Figure 1 , Figures 3 to 6The steps shown determine whether motor A1 corresponding to ADC channel B1 has stalled; then, ADC channel B2 is set as the target sampling channel, based on... Figure 1 , Figures 3 to 6 The steps shown are used to determine whether motor A2 corresponding to ADC channel B2 has stalled... and so on, until T motors have stalled.
[0058] In this way, multiple motors can share a single stall detection code, thereby achieving extremely high code reuse and maintainability, and optimizing resource utilization.
[0059] Please refer to Figure 8 , Figure 8 A flowchart illustrating the motor control method provided in an embodiment of this application. Figure 8 As shown, the motor control method includes the following steps S810 to S820.
[0060] Step S810: Determine whether a motor has stalled based on a motor stall determination method used to determine whether multiple motors have stalled.
[0061] Step S820: When it is determined that the motor is stalling, control the motor to rotate in the reverse direction.
[0062] Specifically, the method for determining whether multiple motors have stalled is called the motor stall determination method. Figure 1 , Figures 3 to 6 The steps shown illustrate the method of achieving reverse rotation of the motor. This is accomplished by cutting off the current forward drive current (or voltage) and applying a reverse drive command (reverse torque / reverse speed given).
[0063] Once a motor stall is detected, the motor can be reversed by controlling its rotation. This can be achieved by utilizing mechanical clearance, elastic deformation to reset the motor, or by disrupting the static friction to attempt to escape the stall state. Furthermore, this method requires no manual intervention and is highly usable.
[0064] Please refer to Figure 9 , Figure 9 This is a schematic diagram of a controller provided in an embodiment of this application. The controller 900 can be a microcontroller unit (MCU) or a digital signal processing (DSP) controller, etc.
[0065] The controller 900 includes at least one processor 910 and a memory 920. The memory 920 may be built into the controller 900 or external to the controller 900. The memory 920 may also be a remotely configured memory connected to the controller 900 via a network.
[0066] Memory 920, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. Memory 920 may include a program storage area and a data storage area, wherein the program storage area may store the operating system and application programs required for at least one function; the data storage area may store data created based on the use of the terminal, etc. Furthermore, memory 920 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state storage device. In some embodiments, memory 920 may optionally include memory remotely located relative to processor 910, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0067] The processor 910 performs various functions of the terminal and processes data by running or executing software programs and / or modules stored in the memory 920 and calling data stored in the memory 920, thereby performing overall monitoring of the terminal, such as implementing the motor stall determination method and motor control method described in any embodiment of this application.
[0068] There can be one or more processors 910. Figure 9 The example provided uses a processor 910. The processor 910 and memory 920 can be connected via a bus or other means. The processor 910 may include a central processing unit (CPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a controller, a field-programmable gate array (FPGA) device, etc. The processor 910 can also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration.
[0069] This application also provides a motor system. The motor system includes at least one motor and a controller 900 as described in any embodiment of this application.
[0070] The above description is merely an embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
[0071] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Within the framework of this application, the technical features of the above embodiments or different embodiments can also be combined, and the steps can be implemented in any order. Those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A method for determining motor stall, characterized in that, The method for determining whether a single motor has stalled includes: When the motor is running, the current of the motor is collected to obtain a sampled current; The motor stalls based on the difference between the current in the Nth cycle and the current in the (N+1)th cycle of the sampled current, where N is an odd number greater than 0.
2. The method for determining motor stall according to claim 1, characterized in that, The step of collecting the motor current during motor operation to obtain a sampled current includes: When the motor is running, M currents of the motor are collected in each sampling period, and the sampled current is obtained based on multiple sampling periods, where M is an integer greater than 1, and the sampling period is the period of the sampled current.
3. The method for determining motor stall according to claim 2, characterized in that, Determining whether the motor has stalled based on the difference between the current in the Nth cycle and the current in the (N+1)th cycle of the sampled current includes: Calculate the absolute value of the difference between each current in the Nth period and each current in the corresponding N+1th period in the sampled current to determine M absolute values. Based on the M absolute values, determine whether the motor has stalled.
4. The method for determining motor stall according to claim 3, characterized in that, The step of determining whether the motor has stalled based on the M absolute values includes: For each of the M absolute values, if any absolute value is greater than the first preset threshold, the count value is incremented by one. Based on the count value, it is determined whether the motor has stalled.
5. The method for determining motor stall according to claim 4, characterized in that, Determining whether the motor has stalled based on the count value includes: The difference between the final value and the initial value of the count is determined, wherein, before the step of incrementing the count by one for each of the M absolute values that is greater than the first preset threshold is performed, the value of the count is the initial value, and after the step of incrementing the count by one for each of the M absolute values that is greater than the first preset threshold is performed, the value of the count is the final value; When the difference is greater than or equal to a second preset threshold, the motor is determined to be stalling.
6. The method for determining motor stall according to claim 3, characterized in that, Before determining whether the motor has stalled based on the M absolute values, the motor stall determination method further includes: filtering the M absolute values; Determining whether the motor has stalled based on the M absolute values includes: determining whether the motor has stalled based on the filtered M absolute values.
7. A method for determining motor stall, characterized in that, A method for determining whether multiple motors are stalling includes: Set the sampling channels corresponding to each motor as target sampling channels in sequence; Based on the motor stall determination method as described in any one of claims 1-6, determine whether the motor corresponding to the target sampling channel is stalling.
8. A motor control method, characterized in that, include: Based on the motor stall determination method as described in any one of claims 1-6, determine whether the motor has stalled; When the motor is determined to be stalling, the motor is controlled to rotate in the reverse direction.
9. A controller, characterized in that, include: At least one processor and memory; The memory is coupled to the processor and is used to store instructions or programs that, when executed by the at least one processor, cause the at least one processor to perform the motor stall determination method as described in any one of claims 1-7 and the motor control method as described in claim 8.
10. A motor system, characterized in that, It includes at least one motor and the controller as described in claim 9.