Motor starting control method and device, electronic equipment and circuit
By acquiring the target speed, temperature, and air tank pressure of the motor, the initial open-loop starting current and pre-positioning time are corrected, solving the problem of motor starting failure without position sensors and realizing reliable motor starting under different operating conditions.
Patent Information
- Application Number
- CN202511390963.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-26
- Publication Date
- 2025-11-21
AI Technical Summary
无位置传感器的无刷直流电机在转子低速时位置估算精度差,导致电机启动失败。
By acquiring the target speed of the motor, the motor temperature, and the pressure value of the gas tank, the initial open-loop starting current is corrected based on the pressure value and the motor temperature to determine the target open-loop starting current and the pre-positioning time, and the motor is driven to start.
It improves the success rate of motor starting, ensures that the rotor is reliably positioned at the target location, adapts to different working conditions, and enhances starting stability.
Smart Images

Figure CN121000104A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of automotive technology, and in particular to a motor starting control method, device, electronic device, and circuit. Background Technology
[0002] Brushless DC motors are modern motors that convert electrical energy into mechanical energy and are widely used in the field of new energy vehicles. Air suspension actuators eliminate the need for position sensors, estimating rotor position through high-precision algorithms.
[0003] Because there are no position sensors, the position estimation accuracy is poor when the rotor is at low speed, which can easily lead to motor start-up failure. Summary of the Invention
[0004] In view of the above problems, embodiments of the present invention are proposed to provide a motor starting control method, apparatus, electronic device and circuit that overcomes or at least partially solves the above problems.
[0005] To achieve the above objectives, the technical solution adopted by the present invention is as follows: In a first aspect, embodiments of this application disclose a motor starting control method, wherein the motor is used in a suspension system, the suspension system includes an air tank, and the method includes: Obtain the target speed of the motor, the motor temperature, and the pressure value of the air tank; If the target speed and the pressure value meet the preset conditions, the initial open-loop starting current is corrected according to the pressure value and the motor temperature to obtain the target open-loop starting current; The target positioning time is determined based on the pressure value; The motor is started according to the target open-loop starting current and the target pre-positioning time.
[0006] Secondly, embodiments of this application disclose a motor starting control device, wherein the motor is used in a suspension system, the suspension system including an air tank, characterized in that the device comprises: The acquisition module is used to acquire the target speed of the motor, the motor temperature, and the pressure value of the air tank. The first correction module is used to correct the initial open-loop starting current according to the pressure value and the motor temperature when the target speed and the pressure value meet the preset conditions, so as to obtain the target open-loop starting current. The second correction module is used to determine the target pre-positioning time based on the pressure value; The drive module is used to drive the motor to start according to the target open-loop starting current and the target prepositioning time. Thirdly, embodiments of this application disclose an electronic device, including a processor and a memory, wherein the memory stores a program or instructions that can run on the processor, and the program or instructions, when executed by the processor, implement the steps of the method described in the first aspect.
[0007] Fourthly, embodiments of this application disclose a readable storage medium storing a program or instructions that, when executed by a processor, implement the steps of the method described in the first aspect.
[0008] Fifthly, embodiments of this application disclose a motor control circuit for implementing the steps in the motor starting control method described in the first aspect, including: a first conversion sub-circuit, a speed loop control sub-circuit, a current loop control sub-circuit, a second conversion sub-circuit, and a drive sub-motor; The first converter circuit is used to convert the three-phase current of the input motor into a first current; The speed loop control sub-circuit is used to output a second current based on the error between the target speed and the actual speed of the motor. The current loop control sub-circuit is used to output a target voltage based on the first current and the second current; The second converter circuit is used to output a three-phase duty cycle signal according to the target voltage; The drive sub-circuit is used to drive the motor to run based on the three-phase duty cycle signal.
[0009] In this embodiment, the motor is used in a suspension system, which includes an air tank. The system acquires the target speed of the motor, the motor temperature, and the pressure value of the air tank. When the target speed and the pressure value meet preset conditions, the initial open-loop starting current is corrected based on the pressure value and the motor temperature to obtain a target open-loop starting current. A target pre-positioning time is determined based on the pressure value. The motor is then driven to start based on the target open-loop starting current and the target pre-positioning time. This method corrects the initial open-loop starting current based on the target speed, motor temperature, and air tank pressure value to adapt to different current requirements under different operating conditions. Simultaneously, the pre-positioning time is corrected based on the air tank pressure value to ensure the rotor can be reliably pulled to the target position. The motor is then driven to start based on the corrected target open-loop starting current and the target pre-positioning time, making the starting state match different operating conditions of the system and improving the success rate of motor starting. Attached Figure Description
[0010] Figure 1 This is a structural diagram of a closed suspension system provided in an embodiment of this application; Figure 2 This is a schematic diagram of a motor control circuit provided in an embodiment of this application; Figure 3 This is a flowchart illustrating the steps of a motor starting control method provided in an embodiment of this application; Figure 4 This is a flowchart of another motor starting control method provided in the embodiments of this application; Figure 5 This is a block diagram of a motor starting control device provided in an embodiment of this application; Figure 6 This is a block diagram of an electronic device provided in an embodiment of this application; Figure 7 This is a schematic diagram of another electronic device provided in the embodiments of this application. Detailed Implementation
[0011] Exemplary embodiments of the present application will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this application will be thorough and complete, and will fully convey the scope of the present application to those skilled in the art.
[0012] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and are not limited in number; for example, a first object can be one or more. Furthermore, the term "and / or" in the specification and claims is used to describe the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. In the embodiments of this application, the term "multiple" refers to two or more, and other quantifiers are similar.
[0013] refer to Figure 1 , Figure 1This application provides a structural diagram of a closed suspension system, including: an ASU controller (Air Suspension Controller), an inverter, a motor, an air pump, and an air tank. The ASU controller is powered by a connected 12V DC power supply. Based on the vehicle's driving status, driver commands, and information collected by various sensors, the ASU controller sends control signals to the inverter. The inverter converts the DC power into three-phase AC power, which is then transmitted to the motor via U, V, and W lines. Driven by the three-phase AC power, the motor starts operating, driving the air pump through a transmission mechanism. The air pump compresses the air and stores it in a high-pressure load such as a high-pressure air tank. When it is necessary to adjust parameters such as the air suspension height and stiffness, the ASU controller controls relevant solenoid valves and other components to release high-pressure gas into the air springs or other actuators, thereby adjusting the vehicle's suspension system.
[0014] The startup process of a sensorless brushless DC motor includes: rotor pre-positioning, open-loop acceleration operation, and closed-loop operation. The rotor position is determined by detecting the back electromotive force (EMF). When the motor speed is very low, the back EMF is weak and difficult to detect. Once the motor speed reaches a certain level, the back EMF signal can be reliably detected, allowing the rotor position to be determined based on the back EMF. During the rotor pre-positioning stage, since there is no back EMF when the motor is stationary, the controller cannot obtain the rotor position. Directly applying random current could easily lead to chaotic torque direction, motor vibration, or even stalling. Therefore, the controller applies a DC current in a specific direction to the stator windings, forming a fixed-direction stator magnetic field. The rotor permanent magnets are attracted to the corresponding position in the stator magnetic field under the action of electromagnetic force, thus locking the rotor in a known initial position. After the rotor is positioned in the known initial position, the controller can accelerate the motor based on the initial position and a preset commutation frequency, entering the acceleration stage. Since the motor speed is very low at the beginning of acceleration and the back EMF is relatively weak, the back EMF signal is ignored at this stage. During the acceleration phase, an open-loop control method is used. This method involves sequentially energizing the rotor according to a pre-set, gradually increasing frequency sequence, thus accelerating the rotor. When the motor speed gradually increases to a certain level under open-loop traction, the back EMF signal generated by the stator windings cutting the magnetic field becomes sufficiently large to be reliably detected by the downstream circuitry. At this point, the control system can switch from open-loop to closed-loop control. The control system detects the zero-crossing signal of the back EMF and determines the commutation time based on the detected signal to drive the motor, entering closed-loop operation mode. This completes the startup process and leads to a stable, normal operating state.
[0015] refer to Figure 2 , Figure 2This is a schematic diagram of a motor control circuit provided in an embodiment of this application. It includes: a first conversion sub-circuit, a speed loop control sub-circuit, a current loop control sub-circuit, a second conversion sub-circuit, and a drive sub-circuit. The first conversion sub-circuit is used to convert the three-phase current input to the motor into a first current. Specifically, the ASU controller samples the three-phase currents ia, ib, and ic of the motor in real time through current sensors. The collected three-phase current signals are first transformed by Clarke transformation, converting them from three-phase AC currents into α-β axis currents in a stationary coordinate system, obtaining current components iα and iβ; then, through Park transformation, using rotor position information θ, iα and iβ are converted from the stationary coordinate system into the actual d-axis and q-axis currents id_act and iq_act in a synchronous rotating coordinate system. The obtained id_act and iq_act are the first currents. The speed loop control subcircuit outputs a second current based on the error between the target speed and the actual speed of the motor. Specifically, the speed loop PI controller outputs iq_ref based on the target speed w_ref and the actual speed w_act, with id_ref set to a value of 0. The difference between the actual current id_act and id_ref, and the difference between the actual current iq_act and the target current iq_ref output by the speed loop, are used to calculate the current difference signal between the d-axis and q-axis. This current difference signal is the second current. The current loop control subcircuit outputs a target voltage based on the first and second currents. The current difference signal (second current) is input to the respective current loop PI controller. The PI controller outputs the target voltages Ud and Uq on the d and q axes through proportional and integral regulation. The second conversion subcircuit outputs a three-phase duty cycle signal based on the target voltage. Specifically, the target voltages Ud and Uq are converted back to the α-β axis voltage signals Uα and Uβ in the stationary coordinate system through inverse Park transformation. Uα and Uβ are used as the input for space vector pulse width modulation (SVPWM). SVPWM calculates the three-phase duty cycle signal based on Uα and Uβ. The drive sub-circuit is used to drive the motor based on the three-phase duty cycle signal, specifically by controlling the on and off of the power devices in the inverter to generate three-phase AC power to drive the motor. Furthermore, the electrical angular velocity w and rotor position information θ are determined through estimation. The rotor position information is estimated based on the voltage applied to the motor and the three-phase current input to the motor. The electrical angular velocity w is obtained based on the rotor position information θ, and the actual rotational speed w_act is calculated from the electrical angular velocity w. Based on the above architecture, a motor starting control method of this application is disclosed, as follows.
[0016] refer to Figure 3 , Figure 3 This application provides a method for controlling the starting of a motor, wherein the motor is used in a suspension system, the suspension system includes an air tank, and the method includes: Step 101: Obtain the target speed of the motor, the motor temperature, and the pressure value of the air tank.
[0017] Step 102: If the target speed and the pressure value meet the preset conditions, the initial open-loop starting current is corrected according to the pressure value and the motor temperature to obtain the target open-loop starting current.
[0018] In this embodiment, for steps 101 and 102, the target speed of the motor is a preset speed that the motor needs to reach, determined according to the requirements of the suspension system. The higher the target speed, the greater the required starting torque. For example, if the vehicle height needs to be adjusted, the suspension controller determines that the air springs need to be inflated. At this time, a target speed can be given to the motor based on the driving and vehicle states, so that the motor can run quickly based on the target speed. When the target speed is greater than 0, it indicates that there is an inflation requirement, and the motor needs to be started. The motor temperature can be obtained through a temperature sensor set in the motor to reflect the current thermal state of the motor. The pressure value of the air tank can be obtained through a pressure sensor to characterize the current load of the air tank.
[0019] The higher the pressure of the gas tank, the greater the compression resistance that needs to be overcome, and the greater the starting torque and current required. If the motor temperature rises as the pressure of the gas tank increases, the motor temperature must be considered when increasing the current to avoid damaging the motor due to excessive current.
[0020] The preset conditions in this application are pre-set conditions for determining whether to perform initial open-loop start-up current correction. For example, the preset conditions may be that the target speed is greater than 0 and the pressure value of the gas storage tank is greater than a preset threshold. If the target speed and pressure value meet the preset conditions, it indicates that the motor needs to be started at this time. Due to the influence of the pressure value, when starting with the initial open-loop start-up current, it is difficult to meet the current required by the current state of the gas storage tank. Therefore, initial open-loop start-up current correction can be performed.
[0021] The initial open-loop starting current is a preset default open-loop starting current. The method in this application modifies the initial open-loop starting current based on the actual operating conditions of the system, thereby improving the success rate of motor starting.
[0022] Specifically, when the target speed and pressure values meet preset conditions, the target open-loop starting current is determined based on the pressure value and motor temperature. Higher pressure values indicate a larger starting load, requiring an increase in current beyond the initial open-loop starting current to provide sufficient torque to overcome compression resistance. If the motor temperature is close to the temperature warning threshold, even if the current pressure in the gas tank is high, the increase in current must be limited to prevent further temperature rise and motor damage. If the motor temperature is low, the current can be increased within a safe range to ensure rapid start-up. This calculation based on motor temperature and pressure values ensures that the resulting target open-loop starting current meets the starting requirements under different loads and speeds while protecting the motor from overheating damage, thus improving starting stability.
[0023] Step 103: Determine the target positioning time based on the pressure value.
[0024] In this embodiment, during the initial startup of the motor, since there is no back electromotive force when the motor is stationary, the controller cannot obtain the rotor position. Directly applying power randomly could easily lead to chaotic torque direction, motor vibration, or even stalling. Therefore, the controller applies a DC current in a specific direction to the stator windings, forming a stator magnetic field in a fixed direction. The rotor permanent magnets are attracted to the corresponding position of the stator magnetic field under the action of electromagnetic force, thereby locking the rotor in a known initial position. The process of locking the rotor in a known initial position is called the pre-positioning process. During the pre-positioning process, the state of "the controller applying a DC current in a specific direction to the stator windings" needs to be maintained for a certain duration. If the pre-positioning duration is too short, the rotor may not be fully stable and cannot be positioned in a stable position; if the pre-positioning duration is too long, it will prolong the startup time and reduce the system response speed. Therefore, this application determines the target pre-positioning duration based on the pressure value. The target pre-positioning duration is the duration determined based on the pressure value that allows the rotor to be accurately positioned in the initial position. The target pre-positioning duration is determined by the pressure value to ensure that the target pre-positioning duration matches the system operating conditions.
[0025] Specifically, the target pre-positioning time can be dynamically adjusted based on the load pressure of the gas storage tank. When the pressure of the gas storage tank is high, the rotor needs to overcome greater resistance during the positioning process to stabilize at the target position. If the target pre-positioning time is insufficient, the rotor may not be able to fully align with the magnetic field due to resistance. Conversely, when the pressure of the gas storage tank is low, the resistance is smaller, the rotor can stabilize quickly, and the target pre-positioning time can be shortened accordingly. In practical applications, the correspondence between the pressure value and the target pre-positioning time can be determined through calibration, so that accurate rotor positioning can be achieved under different pressure conditions.
[0026] Step 104: Drive the motor to start according to the target open-loop starting current and the target pre-positioning time.
[0027] In this embodiment, during the open-loop start-up phase of the motor, the target open-loop start-up current and target prepositioning time are determined by the pressure value of the gas storage tank and the motor temperature, and the motor is driven to start by the target open-loop start-up current and target prepositioning time.
[0028] The target open-loop starting current determines the magnitude of the torque output by the motor at the moment of startup, while the target pre-positioning duration determines the duration of the current output. The controller outputs the target open-loop starting current to the motor, ensuring continuous current output until the target pre-positioning duration ends. The target open-loop starting acceleration and target pre-positioning duration ensure that the rotor can determine its initial position. This application dynamically adjusts the open-loop starting current and pre-positioning duration based on the air tank load pressure and motor temperature, improving the motor's starting success rate under different loads.
[0029] refer to Figure 4 , Figure 4 This application provides another motor starting control method, wherein the motor is used in a suspension system, the suspension system includes an air tank, and the method includes: Step 201: Obtain the target speed of the motor, the motor temperature, and the pressure value of the air tank; Step 202: If the target speed and the pressure value meet the preset conditions, the initial open-loop starting current is corrected according to the pressure value and the motor temperature to obtain the target open-loop starting current.
[0030] In this embodiment, the target speed of the motor is a preset speed that the motor needs to reach, determined according to the requirements of the suspension system. The higher the target speed, the greater the required starting torque. For example, if the vehicle height needs to be adjusted, the suspension controller determines that the air springs need to be inflated. At this time, a target speed can be given to the motor based on the driving and vehicle states, so that the motor can run quickly based on the target speed. When the target speed is greater than 0, it indicates that there is an inflation requirement, and the motor needs to be started. The motor temperature can be obtained through a temperature sensor set in the motor to reflect the current thermal state of the motor. The pressure value of the air tank can be obtained through a pressure sensor to characterize the current load of the air tank.
[0031] The higher the pressure of the gas tank, the greater the compression resistance that needs to be overcome, and the greater the starting torque and current required. If the motor temperature rises as the pressure of the gas tank increases, the motor temperature must be considered when increasing the current to avoid damaging the motor due to excessive current.
[0032] The preset conditions in this application are pre-set conditions for determining whether to perform initial open-loop start-up current correction. For example, the preset conditions may be that the target speed is greater than 0 and the pressure value of the gas storage tank is greater than a preset threshold. If the target speed and pressure value meet the preset conditions, it indicates that the motor needs to be started at this time. Due to the influence of the pressure value, when starting with the initial open-loop start-up current, it is difficult to meet the current required by the current state of the gas storage tank. Therefore, initial open-loop start-up current correction can be performed.
[0033] The initial open-loop starting current is a preset default open-loop starting current. The method in this application modifies the initial open-loop starting current based on the actual operating conditions of the system, thereby improving the success rate of motor starting.
[0034] Specifically, when the target speed and pressure values meet preset conditions, the target open-loop starting current is determined based on the pressure value and motor temperature. Higher pressure values indicate a larger starting load, requiring an increase in current beyond the initial open-loop starting current to provide sufficient torque to overcome compression resistance. If the motor temperature is close to the temperature warning threshold, even if the current pressure in the gas tank is high, the increase in current must be limited to prevent further temperature rise and motor damage. If the motor temperature is low, the current can be increased within a safe range to ensure rapid start-up. This calculation based on motor temperature and pressure values ensures that the resulting target open-loop starting current meets the starting requirements under different loads and speeds while protecting the motor from overheating damage, thus improving starting stability.
[0035] Optionally, step 202 includes: Sub-step 2021: Determine the current correction coefficient based on the pressure value and the motor temperature; wherein the pressure value and the current correction coefficient are directly proportional, and the motor temperature and the current correction coefficient are also directly proportional. Sub-step 2022: Correct the initial open-loop start-up current according to the current correction coefficient to obtain the target open-loop start-up current.
[0036] In this embodiment, for sub-steps 2021 and 2022, the correction of the initial open-loop starting current by the pressure value and motor temperature can be achieved through pre-calibration. The current correction coefficient α is obtained based on the pressure value and motor temperature and is used to correct the initial open-loop starting current. The higher the load pressure, the larger the current correction coefficient. By increasing the initial open-loop starting current, the motor can overcome the load and friction forces more quickly to reach a certain speed from a stationary state during the open-loop starting phase.
[0037] The current correction factor obtained from the calibration is determined as shown in Table 1.
[0038] Table 1
[0039] As shown in Table 1, the current correction factor increases with increasing pressure at the same motor temperature. For example, at a motor temperature of 20 degrees Celsius, the current correction factor for a pressure value of 2 is 1, for a pressure value of 4 it is 1.2, and for a pressure value of 8 it is 1.25. At the same pressure value, the current correction factor obtained when the motor temperature is less than or equal to 20 degrees Celsius is greater than that obtained when the motor temperature is greater than 20 degrees Celsius. For example, at a pressure value of 4 and a motor temperature of 20 degrees Celsius, the corresponding current correction factor is 1.2; at a motor temperature of 40 degrees Celsius, it is 1.15; at a motor temperature of 60 degrees Celsius, it is 1.15; and at a motor temperature of 80 degrees Celsius, it is 1.15. It is evident that as the motor temperature rises, the current correction factor no longer increases to avoid damaging the motor.
[0040] After determining the current correction factor, the target open-loop starting current can be calculated using the following formula:
[0041] Among them, I q The target open-loop starting current, α is the base value of the initial open-loop starting current, which can be preset to 30A (TBD), and α is the current correction coefficient, which can take values in the range of [1, 2].
[0042] This application determines the current correction coefficient based on pressure and motor temperature. Higher pressure results in greater resistance to gas compression by the air pump, requiring more torque from the motor to start; therefore, a larger current correction coefficient is needed to increase the starting current. Simultaneously, motor temperature is used as a constraint on the current correction coefficient. When the motor temperature exceeds a safe threshold (20 degrees Celsius as shown in Table 1), the current correction coefficient will not continue to increase even with higher pressure, preventing excessive current and motor damage. If the temperature is low, the current correction coefficient can be increased normally according to pressure requirements. After determining the current correction coefficient, it is multiplied by the initial open-loop starting current to obtain the target open-loop starting current. By correcting the initial open-loop starting current, adaptation under different pressure values and motor temperatures is achieved. This ensures that the output target open-loop starting current provides sufficient torque to overcome load resistance without exceeding the motor's safe operating range, improving the reliability of the open-loop starting phase.
[0043] Step 203: Determine the target positioning time based on the pressure value.
[0044] In this embodiment, during the initial startup of the motor, since there is no back electromotive force when the motor is stationary, the controller cannot obtain the rotor position. Directly applying power randomly could easily lead to chaotic torque direction, motor vibration, or even stalling. Therefore, the controller applies a DC current in a specific direction to the stator windings, forming a stator magnetic field in a fixed direction. The rotor permanent magnets are attracted to the corresponding position of the stator magnetic field under the action of electromagnetic force, thereby locking the rotor in a known initial position. The process of locking the rotor in a known initial position is called the pre-positioning process. During the pre-positioning process, the state of "the controller applying a DC current in a specific direction to the stator windings" needs to be maintained for a certain duration. If the pre-positioning duration is too short, the rotor may not be fully stable and cannot be positioned in a stable position; if the pre-positioning duration is too long, it will prolong the startup time and reduce the system response speed. Therefore, this application determines the target pre-positioning duration based on the pressure value. The target pre-positioning duration is the duration determined based on the pressure value that allows the rotor to be accurately positioned in the initial position. The target pre-positioning duration is determined by the pressure value to ensure that the target pre-positioning duration matches the system operating conditions.
[0045] Specifically, the target pre-positioning time can be dynamically adjusted based on the load pressure of the gas storage tank. When the pressure of the gas storage tank is high, the rotor needs to overcome greater resistance during the positioning process to stabilize at the target position. If the target pre-positioning time is insufficient, the rotor may not be able to fully align with the magnetic field due to resistance. Conversely, when the pressure of the gas storage tank is low, the resistance is smaller, the rotor can stabilize quickly, and the target pre-positioning time can be shortened accordingly. In practical applications, the correspondence between the pressure value and the target pre-positioning time can be determined through calibration, so that accurate rotor positioning can be achieved under different pressure conditions.
[0046] Optionally, step 203 includes: Sub-step 2031: Determine the target positioning time based on the preset correspondence and the pressure value; the preset correspondence is the correspondence between the pressure value and the positioning time; the pressure value and the positioning time are directly proportional.
[0047] In this embodiment, the initial position of the rotor is unknown when the motor starts. A fixed magnetic field is generated by energizing specific two phases through a target open-loop starting current, attracting the rotor to a position aligned with the magnetic field. This state needs to be maintained for a short but sufficient time, which is the target pre-positioning duration. The pre-positioning duration during open-loop startup is optimized based on the load pressure of the gas tank. The basic principle is that in order to overcome load, friction, etc., the greater the load pressure, the longer the pre-positioning duration. The specific precise value can be selected through calibration of the closed suspension system. Furthermore, ASU sets the reservation time to be... The ASU collects and calculates the load pressure of the gas storage tank to P in real time, and optimizes and corrects the pre-positioning time. While ensuring successful motor start-up, it shortens the open-loop start-up time, as shown in Table 2.
[0048] Table 2
[0049] As shown in Table 2, the pre-positioning time increases with increasing pressure value. For example, the pre-positioning time is 800 ms when the pressure value is 4, and 1000 ms when the pressure value is 8. The pressure value and the pre-positioning time are directly proportional.
[0050] Step 204: Drive the motor to start according to the target open-loop starting current and the target pre-positioning time.
[0051] In this embodiment, during the open-loop start-up phase of the motor, the target open-loop start-up current and target prepositioning time are determined by the pressure value of the gas storage tank and the motor temperature, and the motor is driven to start by the target open-loop start-up current and target prepositioning time.
[0052] The target open-loop starting current determines the magnitude of the torque output by the motor at the moment of startup, while the target pre-positioning duration determines the duration of the current output. The controller outputs the target open-loop starting current to the motor, ensuring continuous current output until the target pre-positioning duration ends. The target open-loop starting acceleration and target pre-positioning duration ensure that the rotor can determine its initial position. This application dynamically adjusts the open-loop starting current and pre-positioning duration based on the air tank load pressure and motor temperature, improving the motor's starting success rate under different loads.
[0053] Optionally, step 204 includes: Sub-step 2041: If no motor start success flag signal is received after the target prepositioning time has elapsed, the target prepositioning time is added to the preset incremental time to obtain the updated target prepositioning time. Sub-step 2042: Drive the motor to start according to the target open-loop starting current and the updated target pre-positioning time; Sub-step 2043: If the motor start success flag signal is not received within the preset number of start attempts, then stop driving the motor to start.
[0054] In this embodiment, for sub-steps 2041 to 2043, if the motor fails to start within a certain startup cycle, the ASU controls the motor to restart. At this time, the pre-positioning time for motor startup can be appropriately extended, and the initial frequency of the motor can be reduced to improve the success rate of motor starting under load. The number of motor startup failures within a startup cycle can be set to n, and the pre-positioning time can be increased by Δt for each failure to determine the final pre-positioning time. The final pre-positioning time is:
[0055] In the formula, The preset start-up time is Δt, which is the preset increment time. n is the number of times the motor fails to start within a start-up cycle, and the value of n is [0, 3]. When the motor starts successfully or the ASU is powered on and off again, n is reset to 0. When n is greater than or equal to 4, the ASU will no longer control the motor to attempt to start, and will report the motor start-up failure fault flag.
[0056] Specifically, within a startup cycle, after the motor completes its initial prepositioning operation, the success of the startup is determined by whether a "motor startup success flag signal" is received. If no "motor startup success flag signal" is received, it indicates that the initial prepositioning was unsuccessful. In this case, the target prepositioning duration can be adjusted: the current target prepositioning duration is added to a preset incremental duration, such as 50ms or 100ms, to generate an updated target prepositioning duration. Extending the target prepositioning duration provides the rotor with more time to overcome load resistance, allowing the rotor to align with the stator magnetic field upon restarting. The updated target prepositioning duration and target open-loop starting current are used to restart the motor, repeating the above steps. If the "motor startup success flag signal" is still not received, the target prepositioning duration is extended again. If, within a preset number of retries, the startup success flag signal is not received after each attempt, it indicates that starting can no longer be achieved by extending the prepositioning duration under the current operating conditions. To avoid continuous high current output damaging the motor, the motor startup can be stopped, and a fault warning can be issued.
[0057] Step 205: After the motor enters the closed-loop control state, determine the speed difference based on the target speed and the actual speed of the motor. Step 206: Determine the target correction factor based on the mapping relationship between the speed difference and the proportional coefficient; Step 207: Determine the target scaling factor based on the target correction factor, preset parameters, and initial scaling factor; In this embodiment, for steps 205 to 207, the goal of open-loop control is to accelerate the motor from a stationary state to a sufficiently high speed so that the amplitude of the back electromotive force (EMF) is large enough to be detected by the circuit. When the ASU detects a reliable back EMF signal and the motor speed is greater than a certain threshold, the ASU will seamlessly switch to closed-loop control of the motor speed. In closed-loop control, the ASU estimates the rotor position using the back EMF signal, obtains the rotor position, and controls the commutation time based on the rotor position obtained from the back EMF, thus achieving closed-loop control of the motor operation. The proportional coefficient mapping relationship defines the correspondence between the speed difference and the target correction factor. The proportional coefficient mapping relationship can be in the form of a lookup table or a function. Taking the proportional coefficient mapping relationship as a lookup table as an example, in the closed-loop control loop, the speed difference is obtained based on the target speed and the actual speed of the motor. By looking up the lookup table corresponding to the proportional coefficient mapping relationship, the target correction factor α of the proportional coefficient kp of the speed closed-loop PI controller can be obtained. By correcting the proportional coefficient, the output of the speed closed-loop control is adaptively adjusted, improving the speed response speed while preventing excessive overshoot and continuous oscillation of the speed. The specific proportional coefficient correction lookup table is as follows: Table 3
[0058] Optionally, step 207 includes: Sub-step 2071: Obtain the first value based on the preset parameters and the target correction factor; Sub-step 2072: The product of the first value and the initial scaling factor is taken as the target scaling factor.
[0059] In this embodiment of the application, the calculation formula for the target scaling factor for sub-steps 2071 and 2072 is as follows:
[0060] in α is the base value of the initial proportional coefficient of the speed closed-loop PI controller, α is the target correction factor, and 1 is the preset parameter.
[0061] Step 208: Determine the target closed-loop current based on the target rotational speed, actual rotational speed, speed difference, and target proportional coefficient.
[0062] In this embodiment, during the speed closed-loop control stage, the ASU controller calculates the difference e(k) between the target speed and the actual speed, as shown in the formula: .in, Let k be the target speed of the motor. Let e(k) be the actual motor speed at time k, and e(k) be the speed difference between the closed-loop target speed and the actual speed at time k. If e(k) is positive, it indicates that the actual speed is insufficient, and torque needs to be increased for acceleration; if it is negative, it indicates that the speed exceeds the target, and torque needs to be reduced for deceleration. Based on the speed difference e(k), ASU calculates the q-axis target current at time k through the speed loop PI controller. The calculation formula is: .in, It's the proportional adjustment section. It is the proportional coefficient of the speed closed-loop PI controller, used to output the adjustment amount according to the current speed difference and respond to speed changes; It's the integral adjustment section. The integral coefficient of the speed closed-loop PI controller is used to eliminate static speed error by accumulating historical deviations and continuously outputting adjustment values.
[0063] Through PI control, the target current of the q-axis output by the speed loop determines the torque output of the motor. Then, through the current loop, it is further precisely controlled to keep the motor speed stable near the target speed, thereby achieving the regulation of the suspension.
[0064] Optionally, the method further includes: Step 209: Compare the target open-loop starting current and the target closed-loop current, and select the smaller value as the input current of the current loop.
[0065] During motor startup, the target open-loop starting current is a value determined based on the air tank pressure and motor temperature during the open-loop phase. This current provides sufficient torque for rotor pre-positioning and initial acceleration, ensuring it can overcome load resistance. The target closed-loop current is a current command calculated based on the real-time speed difference during the closed-loop phase. This current is adjusted to match the speed requirements. At the instant of switching from open-loop to closed-loop, the current is smoothed, and the smaller of the two values is taken as the final input to the current loop PI controller. If the target open-loop starting current is less than the target closed-loop current, the target open-loop starting current is selected as the transition current; if the target closed-loop current is even smaller, the target closed-loop current is selected as the transition current. By selecting the smaller of the two values, the sudden current change during the transition from open-loop to closed-loop is eliminated, ensuring the continuity of torque output and guaranteeing a smooth entry of the motor into the closed-loop phase.
[0066] This application uses the suspension controller ASU to monitor parameters such as high-voltage load, motor temperature, target motor speed, and motor fault flag in real time to determine whether the activation conditions for open-loop starting current Iq correction are met. It dynamically corrects the open-loop starting current Iq and pre-positioning duration based on the air tank load pressure and motor temperature, while also adaptively adjusting the pre-positioning duration based on the number of start-up failures. In the closed-loop circuit, the proportional coefficient of the speed closed-loop PI controller is adaptively corrected based on the difference between the target motor speed and the actual speed. This improves the success rate of heavy-load motor starts while reducing the risk of overcurrent during open-loop / closed-loop switching and optimizing the motor's NVH performance.
[0067] In summary, in this embodiment, the motor is used in a suspension system, which includes an air tank. The system acquires the target speed of the motor, the motor temperature, and the pressure value of the air tank. When the target speed and the pressure value meet preset conditions, the initial open-loop starting current is corrected based on the pressure value and the motor temperature to obtain a target open-loop starting current. A target pre-positioning time is determined based on the pressure value. The motor is then driven to start based on the target open-loop starting current and the target pre-positioning time. This method corrects the initial open-loop starting current based on the target speed, motor temperature, and air tank pressure value to adapt to different current requirements under different operating conditions. Simultaneously, the pre-positioning time is corrected based on the air tank pressure value to ensure the rotor can be reliably pulled to the target position. The motor is then driven to start based on the corrected target open-loop starting current and the target pre-positioning time, making the starting state match different operating conditions of the system and improving the success rate of motor starting.
[0068] refer to Figure 5 It illustrates a suspension control device 30 provided in an embodiment of this application, the device comprising: The acquisition module 301 is used to acquire the first duty cycle signals output by the height sensors of the four axes of the vehicle, respectively. The determining module 302 is used to determine the target real-time relative height value corresponding to each of the first duty cycle signals of the four axes according to the preset correspondence between the duty cycle signal and the real-time relative height value; the real-time relative height value is used to characterize the distance between the suspension and the wheel arch; The first adjustment module 303 is used to control the suspension to the target gear if the target gear corresponding to each of the target real-time relative height values is the same gear. The second adjustment module 304 is used to control the suspension to maintain its current state if the target gear corresponding to the real-time relative height values of the four axes is inconsistent.
[0069] Optionally, the device further includes: The acquisition module 301 is used to acquire the target speed of the motor, the motor temperature, and the pressure value of the air tank. The first correction module 302 is used to correct the initial open-loop starting current according to the pressure value and the motor temperature when the target speed and the pressure value meet the preset conditions, so as to obtain the target open-loop starting current. The second correction module 303 is used to determine the target pre-positioning time based on the pressure value; The drive module 304 is used to drive the motor to start according to the target open-loop starting current and the target prepositioning time.
[0070] Optionally, the first correction module includes: The first determining submodule is used to determine a current correction coefficient based on the pressure value and the motor temperature; wherein the pressure value and the current correction coefficient are directly proportional, and the motor temperature and the current correction coefficient are directly proportional. The second determining submodule is used to correct the initial open-loop start-up current according to the current correction coefficient to obtain the target open-loop start-up current.
[0071] Optionally, the second correction module includes: The third determining submodule is used to determine the target pre-positioning time based on a preset correspondence and the pressure value; the preset correspondence is the correspondence between the pressure value and the pre-positioning time; the pressure value and the pre-positioning time are directly proportional.
[0072] Optionally, the driver module includes: The incremental update submodule is used to add the target prepositioning time to a preset incremental time if no motor start success flag signal is received after the target prepositioning time has elapsed, so as to obtain the updated target prepositioning time. The drive submodule is used to drive the motor to start based on the target open-loop starting current and the updated target prepositioning time; The start-limiting submodule is used to stop driving the motor to start if the motor start-up success flag signal is not received within a preset number of start-up attempts.
[0073] Optionally, the device further includes: The first determining module is used to determine the speed difference based on the target speed and the actual speed of the motor after the motor enters the closed-loop control state. The second determining module is used to determine the target correction factor based on the mapping relationship between the speed difference and the proportional coefficient. The third determining module is used to determine the target proportional coefficient based on the target correction factor, the preset parameters and the initial proportional coefficient; The fourth determining module is used to determine the target closed-loop current based on the target rotational speed, the actual rotational speed, the speed difference, and the target proportional coefficient.
[0074] Optionally, the third determining module includes: The first calculation submodule is used to obtain a first value by summing the preset parameters and the target correction factor; The second calculation submodule is used to take the product of the first value and the initial scaling factor as the target scaling factor.
[0075] Optionally, the device further includes: The selection module is used to compare the target open-loop start-up current and the target closed-loop current, and select the smaller value as the input current of the current loop.
[0076] In summary, in this embodiment, the motor is used in a suspension system, which includes an air tank. The system acquires the target speed of the motor, the motor temperature, and the pressure value of the air tank. When the target speed and the pressure value meet preset conditions, the initial open-loop starting current is corrected based on the pressure value and the motor temperature to obtain a target open-loop starting current. A target pre-positioning time is determined based on the pressure value. The motor is then driven to start based on the target open-loop starting current and the target pre-positioning time. This method corrects the initial open-loop starting current based on the target speed, motor temperature, and air tank pressure value to adapt to different current requirements under different operating conditions. Simultaneously, the pre-positioning time is corrected based on the air tank pressure value to ensure the rotor can be reliably pulled to the target position. The motor is then driven to start based on the corrected target open-loop starting current and the target pre-positioning time, making the starting state match different operating conditions of the system and improving the success rate of motor starting.
[0077] Reference Figure 6 The electronic device 600 may include one or more of the following components: a processing component 602, a memory 604, a power supply component 606, a multimedia component 608, an audio component 610, an input / output (I / O) interface 612, a sensor component 614, and a communication component 616.
[0078] Processing component 602 typically controls the overall operation of electronic device 600, such as operations associated with display, telephone calls, data communication, camera operation, and recording operations. Processing component 602 may include one or more processors 620 to execute instructions to perform all or part of the steps of the methods described above. Furthermore, processing component 602 may include one or more modules to facilitate interaction between processing component 602 and other components. For example, processing component 602 may include a multimedia module to facilitate interaction between multimedia component 608 and processing component 602.
[0079] Memory 604 is used to store various types of data to support the operation of electronic device 600. Examples of this data include instructions for any application or method operating on electronic device 600, contact data, phonebook data, messages, pictures, multimedia, etc. Memory 604 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0080] Power supply component 606 provides power to various components of electronic device 600. Power supply component 606 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to electronic device 600.
[0081] Multimedia component 608 includes a screen that provides an output interface between the electronic device 600 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may not only sense the boundaries of touch or swipe actions but also detect the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 608 includes a front-facing camera and / or a rear-facing camera. When the electronic device 600 is in an operating mode, such as a shooting mode or a multimedia mode, the front-facing camera and / or the rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.
[0082] Audio component 610 is used to output and / or input audio signals. For example, audio component 610 includes a microphone (MIC) used to receive external audio signals when electronic device 600 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 604 or transmitted via communication component 616. In some embodiments, audio component 610 also includes a speaker for outputting audio signals.
[0083] I / O interface 612 provides an interface between processing component 602 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, start buttons, and lock buttons.
[0084] Sensor assembly 614 includes one or more sensors for providing state assessments of various aspects of electronic device 600. For example, sensor assembly 614 can detect the on / off state of electronic device 600, the relative positioning of components such as the display and keypad of electronic device 600, changes in position of electronic device 600 or a component of electronic device 600, the presence or absence of user contact with electronic device 600, orientation or acceleration / deceleration of electronic device 600, and temperature changes of electronic device 600. Sensor assembly 614 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 614 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 614 may also include an accelerometer, gyroscope, magnetometer, pressure sensor, or temperature sensor.
[0085] Communication component 616 facilitates wired or wireless communication between electronic device 600 and other devices. Electronic device 600 can access wireless networks based on communication standards, such as WiFi, carrier networks (such as 2G, 3G, 4G, or 5G), or combinations thereof. In one exemplary embodiment, communication component 616 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 616 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0086] In an exemplary embodiment, the electronic device 600 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to implement a motor starting control method provided in the embodiments of this application.
[0087] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 604 including instructions, which can be executed by a processor 620 of an electronic device 600 to perform the above-described method. For example, the non-transitory storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.
[0088] Figure 7A block diagram of an electronic device 700 is shown according to an exemplary embodiment. For example, the electronic device 700 may be provided as a server. (Refer to...) Figure 7 Electronic device 700 includes a processing component 722, which further includes one or more processors, and memory resources represented by memory 732 for storing instructions, such as application programs, that can be executed by the processing component 722. The application programs stored in memory 732 may include one or more modules, each corresponding to a set of instructions. Furthermore, the processing component 722 is configured to execute instructions to perform a motor starting control method provided in embodiments of this application.
[0089] Electronic device 700 may also include a power supply component 726 configured to perform power management of electronic device 700, a wired or wireless network interface 750 configured to connect electronic device 700 to a network, and an input / output (I / O) interface 758. Electronic device 700 may operate on an operating system stored in memory 732, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, or similar.
[0090] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the aforementioned motor start control method.
[0091] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the application disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.
[0092] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A method for controlling the starting of a motor, wherein the motor is used in a suspension system, the suspension system comprising an air tank, characterized in that, The method includes: Obtain the target speed of the motor, the motor temperature, and the pressure value of the air tank; If the target speed and the pressure value meet the preset conditions, the initial open-loop starting current is corrected according to the pressure value and the motor temperature to obtain the target open-loop starting current; The target positioning time is determined based on the pressure value; The motor is started according to the target open-loop starting current and the target pre-positioning time.
2. The method according to claim 1, characterized in that, The initial open-loop starting current is corrected based on the pressure value and the motor temperature to obtain the target open-loop starting current, including: A current correction factor is determined based on the pressure value and the motor temperature; wherein the pressure value and the current correction factor are directly proportional, and the motor temperature and the current correction factor are also directly proportional. The initial open-loop start-up current is corrected according to the current correction coefficient to obtain the target open-loop start-up current.
3. The method according to claim 1, characterized in that, Determining the target positioning time based on the pressure value includes: The target positioning time is determined based on a preset correspondence and the pressure value; the preset correspondence is the correspondence between the pressure value and the positioning time; the pressure value and the positioning time are directly proportional.
4. The method according to claim 1, characterized in that, The motor is started according to the target open-loop starting current and the target pre-positioning time, including: If no motor start success signal is received after the target prepositioning time has elapsed, the target prepositioning time is added to the preset incremental time to obtain the updated target prepositioning time. The motor is started according to the target open-loop starting current and the updated target prepositioning time; If the motor start success signal is not received within the preset number of start attempts, the motor start will be stopped.
5. The method according to claim 1, characterized in that, After the motor is started based on the target open-loop starting current and the target pre-positioning time, the method further includes: After the motor enters the closed-loop control state, the speed difference is determined based on the target speed and the actual speed of the motor. The target correction factor is determined based on the mapping relationship between the speed difference and the proportional coefficient. The target scaling factor is determined based on the target correction factor, preset parameters, and initial scaling factor; The target closed-loop current is determined based on the target rotational speed, the actual rotational speed, the speed difference, and the target proportional coefficient.
6. The method according to claim 5, characterized in that, Determining the target scaling factor based on the target correction factor, preset parameters, and initial scaling factor includes: The first value is obtained based on the preset parameters and the target correction factor; The product of the first value and the initial scaling factor is taken as the target scaling factor.
7. The method according to claim 5, characterized in that, The method further includes: Compare the target open-loop starting current and the target closed-loop current, and select the smaller value as the input current of the current loop.
8. A motor starting control device, wherein the motor is used in a suspension system, characterized in that, The device includes: The acquisition module is used to acquire the target speed of the motor, the motor temperature, and the pressure value of the air tank. The first correction module is used to correct the initial open-loop starting current according to the pressure value and the motor temperature when the target speed and the pressure value meet the preset conditions, so as to obtain the target open-loop starting current. The second correction module is used to determine the target pre-positioning time based on the pressure value; The drive module is used to drive the motor to start according to the target open-loop starting current and the target prepositioning time.
9. An electronic device, characterized in that, include: The processor is connected to the memory; The memory is used to store computer programs; When the processor executes the computer program stored in the memory, it implements the steps of the motor start control method as described in any one of claims 1 to 7.
10. A motor control circuit, characterized in that, The method for implementing the steps of the motor starting control method as described in any one of claims 1 to 7 includes: a first conversion sub-circuit, a speed loop control sub-circuit, a current loop control sub-circuit, a second conversion sub-circuit, and a drive sub-circuit; The first converter circuit is used to convert the three-phase current of the input motor into a first current; The speed loop control sub-circuit is used to output a second current based on the error between the target speed and the actual speed of the motor. The current loop control sub-circuit is used to output a target voltage based on the first current and the second current; The second converter circuit is used to output a three-phase duty cycle signal according to the target voltage; The drive sub-circuit is used to drive the motor to run based on the three-phase duty cycle signal.