Motor control method and device, electronic equipment and double-sided motor control system

CN123019515APending Publication Date: 2026-10-30BEIJING JINGWEI HIRAIN TECH CO INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611381982.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-09-07
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

然而,通过双电机驱动座椅滑轨移动时,由于座椅滑轨上硬件结构限制,无法通过结构应力迫使两边滑动机构同步运行,因此,容易出现位置错开导致电机停驱的问题,从而影响设备的正常运行,导致用户体验较差

Benefits of technology

[0044]基于上述技术方案,本发明实施例提供的上述方案,在对第一电机和第二电机进行控制时,首先判断是否已学习到电机的机械零点,当没有学习到机械零点时,通过判断第一电机与第二电机的母线电流差值是否大于第一电流阈值的方式判断第一电机和第二电机是否同步,当所述母线电流差值大于第一电流阈值时,以母线电流差值不大于所述第一电流阈值为目标,修正目标电机的转速,以保持所述第一电机和第二电机处于同步状态,本方案中,当所述第一电机和第二电机不同步时,通过调节目标电机的母线电流,以使得两者的母线电流差值不大于所述第一电流阈值,从而使得目标电机的运动状态与另一个电机的运动状态保持同步,以防止出现两个电机错位导致的电机停驱的问题,保证了电机的可靠运行。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123019515A_ABST
    Figure CN123019515A_ABST
Patent Text Reader

Abstract

A motor control method and device, electronic equipment and vehicle seat adjustment system, relates to the field of motor control, when the first motor and the second motor are controlled, when the mechanical zero point is not learned, whether the first motor and the second motor are synchronized is judged by judging whether the bus current difference of the first motor and the second motor is greater than the first current threshold, when the bus current difference is greater than the first current threshold, the speed of the target motor is corrected to keep the first motor and the second motor in synchronization, in the scheme, when the first motor and the second motor are out of synchronization, the bus current of the target motor is adjusted to make the bus current difference of the two not greater than the first current threshold, so that the motion state of the target motor and the motion state of the other motor are kept in synchronization, to prevent the problem of motor stop driving caused by the misalignment of the two motors, and ensure the reliable operation of the motor.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of motor control technology, specifically to a motor control method, device, electronic equipment, and dual-sided motor control system. Background Technology

[0002] Existing long-rail seat systems typically use a single controller to drive dual-side motors, thereby enabling the seat rails to move back and forth.

[0003] Current in-vehicle seat slide rails need to have translational movement capabilities. To achieve this, two motors are typically used to drive the seat slide rails. However, when using dual motors to drive the seat slide rails, due to the limitations of the hardware structure on the slide rails, it is impossible to force the sliding mechanisms on both sides to operate synchronously through structural stress. Therefore, misalignment can easily occur, causing the motors to stop, thus affecting the normal operation of the device and resulting in a poor user experience. Summary of the Invention

[0004] In view of this, embodiments of the present invention provide a motor control method, device, electronic device, and vehicle seat adjustment system to achieve synchronous control of a first motor and a second motor.

[0005] To achieve the above objectives, the embodiments of the present invention provide the following technical solutions:

[0006] A motor control method, comprising:

[0007] Determine whether the mechanical zero point of the motor has been learned;

[0008] When the mechanical zero point is not learned, determine whether the difference between the bus currents of the first motor and the second motor is greater than the first current threshold.

[0009] When the bus current difference is greater than the first current threshold, the speed of the target motor is corrected so that the bus current difference is not greater than the first current threshold. The target motor is one of the first motor or the second motor.

[0010] Optionally, in the motor control method, when the mechanical zero point has been learned, the method further includes:

[0011] The rotational speed of the target motor is corrected with the goal that the difference between the Hall positions of the first motor and the second motor is not greater than a first Hall threshold.

[0012] Optionally, in the motor control method, when the mechanical zero point has been learned, the method further includes:

[0013] Determine whether the difference between the bus currents of the first motor and the second motor is greater than a second current threshold. If it is greater than the second current threshold, take the difference between the bus currents not being greater than the second current threshold as the control target and correct the speed of the target motor. The first current threshold is greater than the second current threshold.

[0014] When the current is not greater than the second current threshold, the following steps are performed: with the goal that the difference between the Hall positions of the first motor and the second motor is not greater than the first Hall threshold, the rotational speed of the target motor is corrected.

[0015] Optionally, before determining whether the difference in bus current between the first motor and the second motor is greater than a first current threshold, the motor control method further includes:

[0016] The first phase current and the second phase current of the first motor and the second motor are obtained by sampling the current of the first motor and the second motor.

[0017] The third-phase current of the first motor and the second motor was calculated using Kirchhoff's laws.

[0018] The first phase current, second phase current and third phase current of the first motor and the second motor are processed by Clark transformation and Park transformation to obtain the d-axis current and q-axis current of the first motor and the second motor.

[0019] The bus voltages of the first motor and the second motor are sampled to obtain the bus voltages of the first motor and the second motor.

[0020] Based on the principle of power conservation, the bus currents of the first motor and the second motor are calculated using the d-axis current, q-axis current, and bus voltage.

[0021] Optionally, in the motor control method, based on the d-axis current, q-axis current, and bus voltage, the bus currents of the first motor and the second motor are calculated according to the power conservation principle, including:

[0022] Based on formula The bus currents of the first motor and the second motor are calculated.

[0023] in, For d-axis current, For q-axis current, The voltage component along the d-axis. The voltage component is the q-axis. This is the bus voltage.

[0024] Optionally, before correcting the speed of the target motor, the motor control method further includes:

[0025] Acquire the Hall level signal fed back by the Hall sensor of the target motor;

[0026] The rotational speed of the target motor is calculated based on the Hall level signal.

[0027] Optionally, in the motor control method, calculating the rotational speed of the target motor based on the Hall level signal includes:

[0028] The rotational speed of the target motor is calculated based on the interval between two consecutive Hall level signal transitions.

[0029] A motor control device, comprising:

[0030] The learning status judgment unit is used to determine whether the mechanical zero point of the motor has been learned;

[0031] The first judgment unit is used to determine whether the difference between the bus currents of the first motor and the second motor is greater than a first current threshold when the mechanical zero point has not been learned.

[0032] The first speed adjustment unit is used to adjust the speed of the target motor so that the bus current difference is not greater than the first current threshold when the bus current difference is greater than the first current threshold. The target motor is one of the first motor or the second motor.

[0033] An electronic device, comprising:

[0034] At least one processing device and a storage device connected to the processing device, wherein:

[0035] The storage device is used to store computer programs;

[0036] The processing device is used to execute the computer program so that the electronic device can implement any of the motor control methods described above.

[0037] A dual-side motor control system, comprising:

[0038] The storage module is used to record the learned mechanical zero points of the first and second motors;

[0039] The first motor status detection module is used to detect the speed and bus current of the first motor;

[0040] The second motor status detection module is used to detect the speed and bus current of the second motor.

[0041] The synchronization control module is used to determine whether the difference between the bus current of the first motor and the second motor is greater than a first current threshold when the storage module determines that the mechanical zero point of the first motor and the second motor has not been recorded. When the difference between the bus current is greater than the first current threshold, the module sends a first control signal to the speed loop PID control module.

[0042] The speed loop PID control module is used to correct the speed of the target motor when the first control signal is received, with the bus current difference not exceeding the first current threshold as the target, wherein the target motor is one of the first motor or the second motor;

[0043] The current loop PID control module is used to modulate the input voltage of the first motor and the second motor based on the target current of the first motor and the target current of the second motor, as well as the phase current of the first motor and the phase current of the second motor.

[0044] Based on the above technical solution, the solution provided in this embodiment of the invention, when controlling the first motor and the second motor, firstly determines whether the mechanical zero point of the motor has been learned. When the mechanical zero point has not been learned, it determines whether the first motor and the second motor are synchronized by judging whether the difference between the bus currents of the first motor and the second motor is greater than a first current threshold. When the difference between the bus currents is greater than the first current threshold, the speed of the target motor is corrected with the goal of the difference between the bus currents not being greater than the first current threshold, so as to keep the first motor and the second motor in a synchronized state. In this solution, when the first motor and the second motor are not synchronized, the bus current of the target motor is adjusted so that the difference between the bus currents of the two is not greater than the first current threshold, thereby keeping the motion state of the target motor synchronized with the motion state of the other motor, preventing the motor from stopping due to misalignment of the two motors, and ensuring the reliable operation of the motor. Attached Figure Description

[0045] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0046] Figure 1 This is a schematic flowchart of the motor control method disclosed in the embodiments of this application;

[0047] Figure 2 This is a schematic diagram illustrating the calculation process of the bus current of the motor disclosed in an embodiment of this application;

[0048] Figure 3This is a schematic flowchart of a motor control method disclosed in another embodiment of this application;

[0049] Figure 4 This is a schematic flowchart of a motor control method disclosed in another embodiment of this application;

[0050] Figure 5 This is a schematic diagram of the structure of the motor control device disclosed in the embodiments of this application;

[0051] Figure 6 This is a schematic diagram of the structure of the vehicle seat adjustment system disclosed in the embodiments of this application. Detailed Implementation

[0052] 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, and 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.

[0053] The applicant's research revealed that existing long-rail seat systems require learning the mechanical zero-point position before movement. Hall effect sensors are essential components in this process. A malfunctioning Hall effect sensor will cause incorrect Hall position counting by the motor, potentially leading to system jamming and learning of the wrong mechanical zero point. This can affect horizontal movement and even prevent normal operation. Furthermore, after learning the mechanical zero point, excessive deviations in position between the two sides or errors in position calculation resulting in significant differences in actual position can also cause the system to jam, impacting normal operation and user experience.

[0054] Current technologies do not systematically consider synchronization issues. For systems with mechanical stops, such as seat rails, the lack of a synchronization strategy before zero-point learning can easily lead to excessive deviations during movement, resulting in accidental blocking or incorrect zero-point learning. Furthermore, existing technologies rely too heavily on Hall sensor position detection after successful mechanical zero-point learning, lacking redundancy. Failures in this area can cause system malfunctions. All of these factors affect the normal operation of the equipment, leading to a poor user experience.

[0055] See Figure 1 This application discloses a motor control method for synchronously controlling a first motor and a second motor. The specific method includes:

[0056] Step S101: Determine whether the motor control system has learned the mechanical zero point of the motor;

[0057] During operation, the motor control system learns the mechanical zero point. The "learned" state indicates that the motor control system has learned the position of the motor's mechanical zero point (hereinafter referred to as Hall zero point), meaning the Hall zero point of the motor (first motor and second motor) has been calibrated. The "unlearned" state indicates that the Hall zero point has not yet been calibrated. In the motor, multiple Hall sensors are installed between adjacent phases of the stator windings to ensure coverage of a 360° electrical angle range. Each Hall sensor outputs a digital signal (high level = 1, low level = 0). Multiple signals combine to form a multi-bit binary number (such as 001, 010, etc.). The control system reads the Hall sensor output signals in real time through a general purpose input / output (GPIO) port or a dedicated encoder interface. The Hall zero point refers to the electrical angle zero point corresponding to the combination of signals output by the Hall sensors when the motor rotor is at a specific position. In a three-phase brushless motor, the highest point of the back electromotive force of a certain phase (such as phase U) is usually taken as 0° of the electrical angle, while the Hall zero point is determined based on the relative relationship between the Hall sensor output signal and this reference point. Specifically, when the motor rotor rotates to a certain position, the Hall sensor detects the change in the rotor's magnetic poles and outputs a corresponding level signal. These signal combinations (such as 001, 010, 011, etc.) correspond to different rotor positions. In the motor control system, a specific signal combination is selected as the Hall zero point, which serves as the reference for subsequent position detection and control.

[0058] This step determines whether the Hall zero point has been marked based on the marking signal of the motor control system. If the Hall zero point has been marked, the learning state of the motor control system is the learned state; otherwise, it is the unlearned state. When it is in the unlearned state (the state where the mechanical zero point has not been learned), the position of the first motor and the second motor when they are first powered on is taken as the mechanical zero point.

[0059] "First start position" refers to the physical position of the rotor detected by the Hall sensor when the motor attempts to start for the first time after being powered on. In this embodiment, when the Hall zero point has not been learned, the first start position is taken as the mechanical zero point.

[0060] Step S102: When the mechanical zero point is not learned, determine whether the difference between the bus current of the first motor and the second motor is greater than the first current threshold.

[0061] The first current threshold is the maximum difference between the bus currents of the first motor and the second motor when they are synchronized (with consistent forward and backward movement distances) under fault-free conditions of the Hall sensor. This first current threshold is affected by factors such as the performance consistency of the first motor and the second motor, the consistency of the internal resistance of the double-sided slide rails, and the flatness and parallelism of the installation. Its specific value can be calibrated based on the test results.

[0062] In this step, the bus currents of the first and second motors are detected, the difference between the bus currents of the first and second motors is calculated, and it is determined whether the difference in bus currents exceeds a first current threshold. The first current threshold is the maximum difference between the bus currents of the first and second motors when they are synchronized (with consistent forward and backward movement distances) under pre-calibrated conditions where the Hall sensor is fault-free. In other words, the first current threshold is the maximum value of the pre-calibrated allowable current difference, which is measured under the condition that the Hall sensor is fault-free and the two motors are running synchronously. This maximum value is affected by factors such as the consistency of motor performance, the consistency of the internal resistance of the two slide rails, and the flatness and parallelism of the installation. The corresponding first current threshold can be configured for different motor systems based on the actual measurement results.

[0063] See Figure 2 In this application, the bus currents of the first motor and the second motor can be calculated using the following method:

[0064] Step S201: By sampling the current of the first phase and the second phase of the first motor and the second motor, the first phase current and the second phase current of the first motor and the second motor are obtained.

[0065] Step S202: Calculate the third phase current of the first motor and the second motor using Kirchhoff's laws.

[0066] After obtaining the first phase current ia and the second phase current ib by sampling the phase current, the third phase current ic is calculated by Kirchhoff's laws.

[0067] Step S203: Process the first phase current, second phase current and third phase current of the first motor and the second motor through Clark transformation and Park transformation to obtain the d-axis current and q-axis current of the first motor and the second motor.

[0068] This step performs Clark and Park transformations on the first-phase current, second-phase current, and third-phase current of the first and second motors to obtain the d-axis current id and q-axis current iq of the first and second motors.

[0069] Then, the d-axis voltage components and q-axis voltage components of the first and second motors are obtained, and the power of the first and second motors is calculated.

[0070] Step S204: Sample the bus voltages of the first motor and the second motor to obtain the bus voltages of the first motor and the second motor.

[0071] This step obtains the bus voltage Ubatt of the first and second motors through sampling.

[0072] Step S205: Based on the power conservation principle, the bus currents of the first motor and the second motor are calculated using the d-axis current, q-axis current, and bus voltage.

[0073] Specifically, it can be based on the formula: The bus currents of the first and second motors are calculated. For d-axis current, For q-axis current, The voltage component along the d-axis. The voltage component is the q-axis. This is the bus voltage.

[0074] Step S103: When the bus current difference is greater than the first current threshold, the speed of the target motor is corrected so that the bus current difference is not greater than the first current threshold. The target motor is one of the first motor or the second motor.

[0075] When it is determined that the mechanical zero point of the motor has not been learned, synchronous control of the first and second motors cannot be performed based on the mechanical zero point. In this case, the synchronization status of the first and second motors can be determined by the bus current of the first and second motors. When the difference between the bus currents of the first and second motors is detected to be greater than a first current threshold, it indicates that the first and second motors are out of sync. If the difference between the bus currents of the first and second motors is not greater than the first current threshold, it indicates that the first and second motors are in sync. When the difference between the bus currents is greater than the first current threshold, the speed of the target motor is continuously corrected by a PID control algorithm with the goal of the bus current difference not being greater than the first current threshold, until the bus current difference is not greater than the first current threshold. Then, the PID control of the target motor speed is exited, and step S101 and subsequent steps are executed again until the motor control system learns the mechanical zero point of the motor.

[0076] In the process of correcting the speed of the target motor with the goal of the bus current difference not being greater than the first current threshold, the target speed of the target motor is obtained, and the actual speed of the target motor is obtained through the position conversion module. Based on the target speed and the actual speed, the target motor is subjected to speed loop PID control.

[0077] As can be seen from the above scheme, when controlling the motor, it is first determined whether the mechanical zero point of the motor has been learned. If the mechanical zero point has not been learned, the synchronization of the first and second motors is determined by whether the difference between the bus currents of the first and second motors is greater than a first current threshold. When the difference between the bus currents is greater than the first current threshold, the speed of the target motor is corrected to ensure that the difference between the bus currents is not greater than the first current threshold, so as to keep the first and second motors in a synchronized state. In this scheme, when the first and second motors are not synchronized, the bus current of the target motor is adjusted (the speed can be corrected by adjusting the current) so that the difference between the bus currents of the two motors is not greater than the first current threshold, thereby keeping the motion state of the target motor synchronized with the motion state of the other motor, preventing the motor from stopping due to misalignment of the two motors, and ensuring the reliable operation of the motor.

[0078] Furthermore, this solution uses the difference in bus current between the two motors as the primary synchronization basis, with the Hall signal only used to determine direction. If the Hall position signal is abnormal after successful learning, the system automatically switches to current synchronization, thus eliminating the need to add redundant Hall sensors. Moreover, the bus current information can be provided by the existing phase current sampling circuit in the motor control, eliminating the need for a separate current sensor chip, further reducing the design cost of the motor and lowering the overall system cost.

[0079] In this embodiment, when the system detects that it has learned the mechanical zero points of the first and second motors, it can determine whether the first and second motors are synchronized based on the Hall positions of the first and second motors. For details, see [link to documentation]. Figure 3 The process may include:

[0080] Step S301: When the mechanical zero point has been learned, the rotational speed of the target motor is corrected with the goal that the difference between the Hall positions of the first motor and the second motor is not greater than the first Hall threshold.

[0081] Specifically, this process involves acquiring the Hall level signals fed back by the Hall sensors of the first and second motors in real time, and calculating the Hall positions of the first and second motors based on the Hall level signals and the learned zero-point positions. Specifically, the calculation process for the motor's Hall position may include: the motor rotating forward a certain angle, corresponding to a mechanical position moving forward a certain distance, the Hall level signal changing once, and the recorded Hall count incrementing by 1; the motor rotating backward a certain angle, corresponding to a mechanical position moving backward a certain distance, the Hall level signal changing once, and the recorded Hall count decrementing by 1. During the movement of the first and second motors, the Hall counts of the first and second motors represent the actual positions of the two motors, and are recorded as the Hall positions of the first and second motors. The greater the difference between the Hall positions of the first and second motors, the farther apart their actual positions (one forward and one backward) are. Further calculate the difference in Hall positions between the first motor and the second motor, and determine whether the difference in Hall positions is not greater than the first Hall threshold. When the difference in Hall positions is greater than the first Hall threshold, it indicates that the first motor and the second motor are out of sync. At this time, it is necessary to correct the speed of the target motor. By continuously increasing or decreasing the speed of the target motor, the difference in Hall positions between the first motor and the second motor is made not greater than the first Hall threshold. When the difference in Hall positions between the first motor and the second motor is not greater than the first Hall threshold, the first motor and the second motor are synchronized, and there is no need to adjust the speed of the target motor.

[0082] The first Hall threshold is the maximum value of the difference between the Hall positions of the first motor and the second motor when the first motor and the second motor are running normally (without any faults). This maximum value is affected by the consistency of the parameters of the first motor and the second motor, the difference in internal resistance of the double-sided slide rails, installation differences, etc.

[0083] In this embodiment, when the zero positions of the first and second motors have been learned, if the difference in bus current between the first and second motors exceeds the second current threshold during operation, it can be considered that the Hall positions of the first and second motors calculated by the system are incorrect. At this point, the actual Hall position of one motor is far beyond that of the other. Continuing to "correct the target motor's speed with the goal that the difference in the Hall positions of the first and second motors is not greater than the first Hall threshold" cannot guarantee synchronization between the first and second motors. For example, if during operation the bus current of the first motor is 1A and the bus current of the second motor is 4A, and the difference is greater than the calibration value of 2A, then the Hall positions of the first and second motors calculated by the software are considered incorrect. In this case, the speed of the target motor can be controlled with the goal that the difference in the bus currents on both sides is not greater than the second current threshold. For details, see [link to relevant documentation]. Figure 4 When the zero positions of the first and second motors have been learned, the method also includes:

[0084] Step S401: Determine whether the difference between the bus currents of the first motor and the second motor is greater than the second current threshold.

[0085] The first current threshold is greater than the second current threshold. In the process of "correcting the target motor speed with the goal of the difference between the Hall positions of the first motor and the second motor not exceeding the first Hall threshold," this scheme detects the bus current of the first motor and the second motor in real time, determines whether the difference between their bus currents is greater than the second current threshold, and stops executing the step "correcting the target motor with the goal of the difference between the Hall positions of the first motor and the second motor not exceeding the first Hall threshold," and proceeds to step S402.

[0086] Step S402: When the current difference is greater than the second current threshold, the target motor speed is corrected with the bus current difference not being greater than the second current threshold as the control target.

[0087] When the bus current difference is greater than the second current threshold, the recorded Hall positions of the first and second motors are determined to be unreliable. At this time, the target motor speed is corrected with the bus current difference not being greater than the second current threshold as the control target.

[0088] In the above embodiments, when correcting the target motor speed, either the first motor or the second motor can be used as the target motor. The motor speed is calculated based on the Hall level signal fed back by the motor's Hall sensor. Taking the target motor as an example, the Hall level signal fed back by the target motor's Hall sensor is first acquired, and the target motor speed is calculated based on this signal. Specifically, the target motor speed is calculated based on the interval between two consecutive Hall level signal transitions. The other motor's speed can be calculated using the same method. By adjusting the target speed of only a single motor at a time, the significant changes in user experience that might occur when adjusting the target speeds of two motors simultaneously are avoided, thereby improving the comfort and stability of the device during operation.

[0089] This embodiment discloses a motor control device. For the specific working content of each unit in the device, please refer to the content of the above method embodiment.

[0090] The motor control device provided in the embodiments of the present invention will be described below. The motor control device described below can be referred to in correspondence with the motor control method described above. See also Figure 5 The device may include:

[0091] The learning state judgment unit 10 corresponds to step S101 in the above method and is used to determine whether the mechanical zero point of the motor has been learned.

[0092] The first judgment unit 20 corresponds to step S102 in the above method and is used to determine whether the difference between the bus current of the first motor and the second motor is greater than the first current threshold when the mechanical zero point is not learned.

[0093] The first speed adjustment unit 30 corresponds to step S103 in the above method. It is used to adjust the speed of the target motor so that the bus current difference is not greater than the first current threshold when the bus current difference is greater than the first current threshold. The target motor is one of the first motor or the second motor.

[0094] Corresponding to the above method, the motor control device further includes: a second speed adjustment unit, used to correct the speed of the target motor when the mechanical zero point has been learned, with the goal that the difference between the Hall positions of the first motor and the second motor is not greater than a first Hall threshold.

[0095] Corresponding to the above method, the motor control device further includes a third speed adjustment unit, which is specifically used to: when the mechanical zero point has been learned, determine whether the difference between the bus currents of the first motor and the second motor is greater than a second current threshold; if it is greater than the second current threshold, adjust the speed of the target motor so that the difference between the bus currents is not greater than the second current threshold, where the first current threshold is greater than the second current threshold; and if it is not greater than the second current threshold, keep the second speed adjustment unit in operation.

[0096] Corresponding to the above method, this application also discloses an electronic device, the electronic device comprising: at least one processing device and a storage device connected to the processing device, wherein:

[0097] The storage device is used to store a computer program; the processing device is used to execute the computer program so that the electronic device can implement any of the motor control methods described above.

[0098] Corresponding to the above method, this application also discloses an in-vehicle seat adjustment system, see [link to relevant documentation]. Figure 6 The seat adjustment system includes:

[0099] Storage module 01 is used to record the learned mechanical zero points of the first and second motors;

[0100] The first motor status detection module 02 is used to detect the speed and bus current of the first motor;

[0101] The second motor status detection module 03 is used to detect the speed and bus current of the second motor;

[0102] The synchronization control module 04 is used to determine whether the difference between the bus currents of the first motor and the second motor is greater than a first current threshold when the storage module has not recorded the mechanical zero point of the first motor and the second motor. When the difference between the bus currents is greater than the first current threshold, the module sends a first control signal to the speed loop PID control module. When the storage module has recorded the mechanical zero point of the first motor and the second motor, the module sends a second control signal to the speed loop PID control module.

[0103] The speed loop PID control module 05 is used to correct the speed of the target motor when the first control signal is acquired, with the bus current difference not exceeding the first current threshold as the target, wherein the target motor is one of the first motor or the second motor; and when the second control signal is acquired, to correct the speed of the target motor with the Hall position difference between the first motor and the second motor not exceeding the first Hall threshold as the target.

[0104] The current loop PID control module 06 is used to modulate the input voltage of the first motor and the second motor based on the target current of the first motor and the target current of the second motor, as well as the phase current of the first motor and the phase current of the second motor.

[0105] For ease of description, the above system is described by dividing it into various modules based on their functions. Of course, in implementing this invention, the functions of each module can be implemented in one or more software and / or hardware components.

[0106] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for system or system embodiments, since they are basically similar to method embodiments, the description is relatively simple, and relevant parts can be referred to the descriptions in the method embodiments. The systems and system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0107] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0108] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

[0109] It should also be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0110] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A motor control method, characterized in that, include: Determine whether the mechanical zero point of the motor has been learned; When the mechanical zero point is not learned, determine whether the difference between the bus currents of the first motor and the second motor is greater than the first current threshold. When the bus current difference is greater than the first current threshold, the speed of the target motor is corrected so that the bus current difference is not greater than the first current threshold. The target motor is one of the first motor or the second motor.

2. The motor control method according to claim 1, characterized in that, When the mechanical zero point has been learned, the method further includes: The rotational speed of the target motor is corrected with the goal that the difference between the Hall positions of the first motor and the second motor is not greater than a first Hall threshold.

3. The motor control method according to claim 2, characterized in that, When the mechanical zero point has been learned, the method further includes: Determine whether the difference between the bus currents of the first motor and the second motor is greater than a second current threshold. If it is greater than the second current threshold, take the difference between the bus currents not being greater than the second current threshold as the control target and correct the speed of the target motor. The first current threshold is greater than the second current threshold. When the current is not greater than the second current threshold, the following steps are performed: with the goal that the difference between the Hall positions of the first motor and the second motor is not greater than the first Hall threshold, the rotational speed of the target motor is corrected.

4. The motor control method according to claim 1, characterized in that, Before determining whether the difference in bus current between the first motor and the second motor is greater than the first current threshold, the following steps are also included: The first phase current and the second phase current of the first motor and the second motor are obtained by sampling the current of the first motor and the second motor. The third-phase current of the first motor and the second motor was calculated using Kirchhoff's laws. The first phase current, second phase current and third phase current of the first motor and the second motor are processed by Clark transformation and Park transformation to obtain the d-axis current and q-axis current of the first motor and the second motor. The bus voltages of the first motor and the second motor are sampled to obtain the bus voltages of the first motor and the second motor. Based on the principle of power conservation, the bus currents of the first motor and the second motor are calculated using the d-axis current, q-axis current, and bus voltage.

5. The motor control method according to claim 4, characterized in that, Based on the principle of power conservation, and using the d-axis current, q-axis current, and bus voltage, the bus currents of the first and second motors are calculated, including: Based on formula The bus currents of the first motor and the second motor are calculated. in, For d-axis current, For q-axis current, The voltage component along the d-axis. The voltage component is the q-axis. This is the bus voltage.

6. The motor control method according to claim 1, characterized in that, Before correcting the target motor's speed, the following also applies: Acquire the Hall level signal fed back by the Hall sensor of the target motor; The rotational speed of the target motor is calculated based on the Hall level signal.

7. The motor control method according to claim 6, characterized in that, Calculating the rotational speed of the target motor based on the Hall level signal includes: The rotational speed of the target motor is calculated based on the time interval between two consecutive Hall level signal transitions.

8. A motor control device, characterized in that, include: The learning status judgment unit is used to determine whether the mechanical zero point of the motor has been learned; The first judgment unit is used to determine whether the difference between the bus currents of the first motor and the second motor is greater than a first current threshold when the mechanical zero point has not been learned. The first speed adjustment unit is used to adjust the speed of the target motor so that the bus current difference is not greater than the first current threshold when the bus current difference is greater than the first current threshold. The target motor is one of the first motor or the second motor.

9. An electronic device, characterized in that, include: At least one processing device and a storage device connected to the processing device, wherein: The storage device is used to store computer programs; The processing device is used to execute the computer program so that the electronic device can implement the motor control method as described in any one of claims 1 to 7.

10. A dual-sided motor control system, characterized in that, include: The storage module is used to record the learned mechanical zero points of the first and second motors; The first motor status detection module is used to detect the speed and bus current of the first motor; The second motor status detection module is used to detect the speed and bus current of the second motor. The synchronization control module is used to determine whether the difference between the bus current of the first motor and the second motor is greater than a first current threshold when the storage module determines that the mechanical zero point of the first motor and the second motor has not been recorded. When the difference between the bus current is greater than the first current threshold, the module sends a first control signal to the speed loop PID control module. The speed loop PID control module is used to correct the speed of the target motor when the first control signal is received, with the bus current difference not exceeding the first current threshold as the target, wherein the target motor is one of the first motor or the second motor; The current loop PID control module is used to modulate the input voltage of the first motor and the second motor based on the target current of the first motor and the target current of the second motor, as well as the phase current of the first motor and the phase current of the second motor.