A non-zero starting method and system for a foc motor
By performing zero-crossing comparison processing on the coasting motor, the rotor position parameters are obtained and the Vq value is calculated, which solves the accuracy problem of non-zero starting of FOC motor, reduces costs, and improves the reliability and versatility of the system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-11
- Publication Date
- 2026-03-03
AI Technical Summary
Existing technologies cannot accurately determine the Vq value and angle when the FOC motor starts from a non-zero position, which can lead to motor start-up jitter or failure. Furthermore, they consume too much ADC port resources, increasing costs or requiring a change in the MCU control scheme.
By performing zero-crossing comparison processing on the idler motor, the rotor position parameters are obtained, the Vq value at non-zero start is calculated, and the rotor position is determined using a comparator, saving MCU ADC port resources.
This technology enables accurate starting of FOC motors, reduces device costs, saves MCU ADC port resources, and improves the versatility and reliability of the system.
Smart Images

Figure CN114785197B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of motor starting technology, and in particular to a non-zero starting method and system for an FOC motor. Background Technology
[0002] refer to Figure 1 This is a logic diagram for FOC motor control. Iq is related to torque, and Id is related to flux. The starting point for a non-zero start of the FOC motor is related to Vq and angle. If the accurate Vq and angle values cannot be determined, it can lead to motor start-up jitter or failure, affecting user experience, or even damage to the motor or controller. In existing technologies, the rotor position is mainly determined by measuring the three-phase back EMF of the motor during coasting, thereby determining the Vq value and angle. However, the three-phase back EMF is an analog signal, and measuring it requires three ADC port resources. This often results in insufficient ADC ports, necessitating the use of a more resource-rich MCU, increasing costs. Alternatively, the inability to reserve ADC ports can lead to subsequent upgrades where the MCU cannot meet functional requirements, necessitating a change in the control scheme and causing significant project modifications, increasing unnecessary R&D, testing, and experimental costs. Summary of the Invention
[0003] The technical problem to be solved by the present invention is to provide a non-zero starting method and system for an FOC motor, addressing at least one deficiency in the existing technology.
[0004] The technical solution adopted by this invention to solve its technical problem is: to construct a non-zero starting method for an FOC motor, comprising the following steps:
[0005] S10. Perform zero-crossing comparison processing on the idler motor to obtain position parameters used to characterize the rotor position of the idler motor;
[0006] S20. Calculate the Vq value at which the idler motor is switched on when it starts with a non-zero value based on the position parameters, and start the idler motor according to the Vq value.
[0007] Preferably, in the FOC motor non-zero start method of the present invention, the step S20 of calculating the Vq value based on the position parameter includes:
[0008] S201. Calculate the angular velocity of the coasting motor based on the position parameters;
[0009] S202. Calculate the Vq value based on the angular velocity.
[0010] Preferably, in the FOC motor non-zero start method of the present invention, step S10 includes:
[0011] S101. The U-phase voltage, V-phase voltage, and W-phase voltage of the idler motor are compared with the neutral point voltage to obtain the true position value;
[0012] S102. Determine the rotor position of the idler motor based on the true position value;
[0013] S103, The conversion time of the true position value is used as a time parameter; the rotor position and the time parameter constitute the position parameter.
[0014] Preferably, in the FOC motor non-zero start method of the present invention, step S101 includes:
[0015] S1011. Compare whether the U-phase voltage of the idler motor is greater than the neutral point voltage to obtain the first position true value in the position true value;
[0016] S1012. Compare whether the V-phase voltage of the idler motor is greater than the neutral point voltage to obtain the second position true value in the position true value;
[0017] S1013. Compare whether the W-phase voltage of the idler motor is greater than the neutral point voltage to obtain the third position true value in the position true value.
[0018] Preferably, in the FOC motor non-zero start method of the present invention, step S102 includes: at the moment when any of the truth values of the first position, the second position, and the third position changes, determining the rotor position of the idler motor based on the first position truth value, the second position truth value, and the third position truth value;
[0019] Accordingly, step S201 includes: calculating the angular velocity of the coasting motor based on the rotor position and the time parameters.
[0020] Preferably, in the FOC motor non-zero start method of the present invention, the Vq value in step S202 is calculated as follows:
[0021] Vq = Aω;
[0022] Where A is the correlation coefficient; ω is the angular velocity.
[0023] The present invention also constructs a non-zero starting system for an FOC motor, comprising:
[0024] The zero-crossing comparison unit is used to perform zero-crossing comparison processing on the idler motor and output position parameters that characterize the rotor position of the idler motor.
[0025] The processing unit is used to calculate the Vq value at which the idler motor is switched on when it starts with a non-zero value based on the position parameters, so as to start the idler motor according to the Vq value.
[0026] Preferably, in the FOC motor non-zero start system of the present invention, the processing unit is used to calculate the angular velocity of the coasting motor based on the position parameters, and to calculate the Vq value based on the angular velocity.
[0027] Preferably, in the FOC motor non-zero starting system of the present invention, the zero-crossing comparison unit is used to compare the U-phase voltage, V-phase voltage and W-phase voltage of the coasting motor with the neutral point voltage respectively, and output the true position value;
[0028] The processing unit also determines the rotor position of the coasting motor based on the true position value, and uses the conversion time of the true position value as a time parameter; the rotor position and the time parameter constitute the position parameter.
[0029] Preferably, in the FOC motor non-zero start system of the present invention, the zero-crossing comparison unit is used to compare whether the U-phase voltage of the idler motor is greater than the neutral point voltage, so as to output a first position truth value in the position truth value; it also compares whether the V-phase voltage of the idler motor is greater than the neutral point voltage, so as to output a second position truth value in the position truth value; and it also compares whether the W-phase voltage of the idler motor is greater than the neutral point voltage, so as to output a third position truth value in the position truth value.
[0030] The processing unit is used to determine the rotor position of the idler motor based on the first position true value, the second position true value, and the third position true value at the moment when any of the first position true value, the second position true value, and the third position true value changes; and to calculate the angular velocity of the idler motor based on the rotor position and the time parameter, so as to calculate the Vq value based on the angular velocity.
[0031] The present invention provides the following advantages: a non-zero starting method for an FOC motor, comprising the following steps: S10, performing zero-crossing comparison processing on the idler motor to obtain position parameters characterizing the rotor position of the idler motor; S20, calculating the Vq value at which the idler motor is switched in during non-zero starting based on the position parameters. The zero-crossing comparison processing in this invention can be implemented using a comparator. The digital signal output by the comparator can be obtained using the MCU's I / O port resources, thereby effectively saving MCU ADC port resources, reducing device costs, and offering strong versatility, as it can be implemented using either the MCU's comparator resources or an external comparator. Attached Figure Description
[0032] The present invention will be further described below with reference to the accompanying drawings and embodiments. In the accompanying drawings:
[0033] Figure 1 This is the logic diagram for FOC motor control;
[0034] Figure 2 This is a structural diagram of the FOC motor non-zero start method provided by the present invention;
[0035] Figure 3 This is a structural diagram of the FOC motor non-zero start system provided by the present invention;
[0036] Figure 4 This is a circuit diagram of the zero-crossing comparison unit in the FOC motor non-zero starting system provided by the present invention. Detailed Implementation
[0037] To provide a clearer understanding of the technical features, objectives, and effects of the present invention, specific embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
[0038] It should be noted that the flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.
[0039] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0040] refer to Figure 2 This invention provides a non-zero starting method for an FOC motor, comprising steps S10 and S20. Non-zero starting refers to restarting the motor while it is in a coasting state (continuing to rotate due to inertia after power failure).
[0041] S10. Perform zero-crossing comparison processing on the coasting motor to obtain position parameters used to characterize the rotor position of the coasting motor.
[0042] Furthermore, such as Figure 2 As shown, step S10 includes: step S101, step S102 and step S103.
[0043] S101. Compare the U-phase voltage, V-phase voltage, and W-phase voltage of the coasting motor with the neutral point voltage to obtain the true position value.
[0044] Furthermore, such as Figure 2 As shown, step S101 includes: step S1011, step S1012 and step S1013.
[0045] S1011. Compare whether the U-phase voltage of the coasting motor is greater than the neutral point voltage to obtain the first position truth value in the position truth value. Specifically, in some embodiments, the first position truth value is high when the U-phase voltage is greater than the neutral point voltage, and low otherwise.
[0046] S1012. Compare whether the V-phase voltage of the idler motor is greater than the neutral point voltage to obtain the second position truth value in the position truth value. Specifically, in some embodiments, the second position truth value is high when the V-phase voltage is greater than the neutral point voltage, and low otherwise.
[0047] S1013. Compare whether the W-phase voltage of the idler motor is greater than the neutral point voltage to obtain the third position truth value in the position truth value. Specifically, in some embodiments, the third position truth value is high when the W-phase voltage is greater than the neutral point voltage, and low otherwise.
[0048] S102. Determine the rotor position of the idler motor based on the position truth value.
[0049] Furthermore, step S102 includes: at the moment when any of the truth values of the first position, the second position, and the third position changes, determining the rotor position of the idler motor based on the first position truth value, the second position truth value, and the third position truth value.
[0050] Specifically, at the moment when any of the truth values of the first, second, and third positions transitions: if the first, second, and third positions are all high, and the third position is low, then the rotor angle is determined to be 0°; if the first, second, and third positions are all high, and the rotor angle is determined to be 60°; if the first, second, and third positions are all high, and the rotor angle is determined to be 120°; if the first, second, and third positions are all low, and the rotor angle is determined to be 180°; if the first, second, and third positions are all low, and the rotor angle is determined to be 240°; if the first, second, and third positions are all low, and the rotor angle is determined to be 300°.
[0051] The specific logic for determining the rotor position can be found in the table below:
[0052] Location Truth Value Rotor position 110 0° 100 60° 101 120° 001 180° 011 240° 010 300°
[0053] S103. The transition time of the position truth value is used as the time parameter. Specifically, at the moment when any of the first, second, and third position truth values transitions: if the first position truth value is high, the second position truth value is high, and the third position truth value is low, this moment is recorded as T1; if the first position truth value is high, the second position truth value is low, and the third position truth value is low, this moment is recorded as T2; if the first position truth value is high, the second position truth value is low, and the third position truth value is high, this moment is recorded as T3; if the first position truth value is low, the second position truth value is low, and the third position truth value is high, this moment is recorded as T4; if the first position truth value is low, the second position truth value is high, and the third position truth value is high, this moment is recorded as T5; if the first position truth value is low, the second position truth value is high, and the third position truth value is low, this moment is recorded as T6. The rotor position and time parameter constitute the position parameter.
[0054] S20. Calculate the Vq value at which the idler motor is switched on when it starts from a non-zero position based on the position parameters, so as to start the idler motor according to the Vq value.
[0055] Furthermore, such as Figure 2 As shown, the calculation of the Vq value based on the position parameters in step S20 includes steps S201 and S202.
[0056] S201. Calculate the angular velocity of the coasting motor based on the position parameters.
[0057] Furthermore, such as Figure 2 As shown, step S201 includes: calculating the angular velocity of the coasting motor based on the rotor position and time parameters. Specifically, if the rotor position changes from 0° to 60°, the time difference ΔT = T2 - T1, and the angle difference Δθ = 60° - 0°, then the angular velocity can be obtained by ω = Δθ / ΔT. Understandably, the rotor position can be divided into six angular sectors, such as 0-60° as one of these sectors. After calculating the angular velocity, the angular sectors and the angular velocity can be integrated to obtain continuous angular positions.
[0058] S202. Calculate the Vq value based on the angular velocity, and start the idler motor based on the Vq value.
[0059] Furthermore, the Vq value in step S202 is calculated as follows:
[0060] Vq = Aω;
[0061] Where A is the correlation coefficient and ω is the angular velocity. Furthermore, the value of the correlation coefficient A is related to the motor's angular velocity and its structural design; it can be an actual value or a calibrated value. In some embodiments, A can be obtained through debugging. Specifically, when the motor starts from a standstill, at least two angular velocities ω are determined through debugging. r The corresponding Vq value, such as the angular velocity obtained from debugging at ω r1 The value of Vq at that time is Vq1, and the angular velocity is at ω. r2 The value of Vq at that time is Vq2, and then through the formula The value of A can then be obtained.
[0062] Reference Figure 3 The present invention also constructs a non-zero starting system for an FOC motor, which includes a zero-crossing comparison unit and a processing unit.
[0063] The zero-crossing comparison unit is used to perform zero-crossing comparison processing on the coasting motor and output position parameters that characterize the rotor position of the coasting motor.
[0064] The processing unit is used to calculate the Vq value at which the idler motor is switched on when it starts with a non-zero position based on the position parameters, so as to start the idler motor according to the Vq value.
[0065] Furthermore, the processing unit is used to calculate the angular velocity of the coasting motor based on the position parameters, and to calculate the Vq value based on the angular velocity.
[0066] In some embodiments, the zero-crossing comparison unit is used to compare the U-phase voltage, V-phase voltage, and W-phase voltage of the coasting motor with the neutral point voltage, and output the true position value.
[0067] Correspondingly, the processing unit also determines the rotor position of the coasting motor based on the true position value and uses the conversion time of the true position value as a time parameter; the rotor position and the time parameter together constitute the position parameter.
[0068] Furthermore, the zero-crossing comparator is used to compare whether the U-phase voltage of the idler motor is greater than the neutral point voltage, and output the first true position value in the true position value; it also compares whether the V-phase voltage of the idler motor is greater than the neutral point voltage, and outputs the second true position value in the true position value; it also compares whether the W-phase voltage of the idler motor is greater than the neutral point voltage, and outputs the third true position value in the true position value. For details, refer to... Figure 4The common connection terminal of resistors R69 (69th), R71 (71st), and R73 (73rd) is used as the neutral point voltage input to the inverting input terminals of comparators CMP0, CMP1, and CMP3. The U-phase, V-phase, and W-phase voltages of the motor are input to the non-inverting input terminals of comparators CMP0, CMP1, and CMP3, respectively, for comparison. The output terminals of comparators CMP0, CMP1, and CMP3 correspondingly output the first, second, and third position truth values to the processing unit. Therefore, in this invention, the rotor position of the motor can be obtained simply by using comparators.
[0069] Correspondingly, the processing unit is used to determine the rotor position of the idler motor based on the first position true value, the second position true value, and the third position true value at the moment when any of the true values of the first position true value, the second position true value, and the third position true value changes; and to calculate the angular velocity of the idler motor based on the rotor position and time parameters, so as to calculate the Vq value based on the angular velocity.
[0070] It is understandable that the zero-crossing comparison processing in this invention can be implemented using a comparator. Since the digital signal output by the comparator can be obtained by using the MCU's IO port resources, the MCU's ADC port resources can be effectively saved, the device cost can be reduced, and it is highly versatile. It can be implemented using the MCU's comparator resources or an external comparator.
[0071] It is understood that the above embodiments only illustrate preferred embodiments of the present invention, and their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of the present invention. It should be noted that those skilled in the art can freely combine the above technical features without departing from the concept of the present invention, and can also make several modifications and improvements, all of which fall within the protection scope of the present invention. Therefore, all equivalent transformations and modifications made with respect to the scope of the claims of the present invention should fall within the scope of the claims of the present invention.
Claims
1. A method of non-zero start-up of a FOC motor, characterized by, The method comprises the following steps: S10, performing zero-crossing comparison processing on the freewheeling motor to obtain a position parameter for representing a rotor position of the freewheeling motor; S20, calculating a Vq value for cutting in when the freewheeling motor is started at a non-zero value according to the position parameter, so as to start the freewheeling motor according to the Vq value; The step S20 comprises: S201, calculating an angular velocity of the freewheeling motor according to the position parameter; S202, calculating the Vq value according to the angular velocity; The calculation manner of the Vq value in the step S202 is as follows: Vq = Aω; Wherein, A is the correlation coefficient; ω is the angular velocity; , and are two angular velocities respectively debugged by the motor at the time of static starting; Vq1 is the Vq value when the angular velocity is equal to ; Vq2 is the Vq value when the angular velocity is equal to . The step S10 comprises: S101, comparing the U-phase voltage, the V-phase voltage and the W-phase voltage of the freewheeling motor with the neutral point voltage respectively to obtain a position true value; S102, judging the rotor position of the freewheeling motor according to the position true value; S103, taking a conversion time of the position true value as a time parameter; the rotor position and the time parameter constitute the position parameter; The step S101 comprises: S1011, comparing whether the U-phase voltage of the freewheeling motor is greater than the neutral point voltage to obtain a first position true value in the position true value; S1012, comparing whether the V-phase voltage of the freewheeling motor is greater than the neutral point voltage to obtain a second position true value in the position true value; S1013, comparing whether the W-phase voltage of the freewheeling motor is greater than the neutral point voltage to obtain a third position true value in the position true value.
2. The FOC motor non-zero start-up method of claim 1, wherein, The step S102 comprises: judging the rotor position of the freewheeling motor according to the first position true value, the second position true value and the third position true value at a time when any one of the first position true value, the second position true value and the third position true value is converted; Correspondingly, the step S201 comprises: calculating the angular velocity of the freewheeling motor according to the rotor position and the time parameter.
3. A non-zero start system for a FOC motor characterized by, It comprises: A zero-crossing comparison unit, configured to perform zero-crossing comparison processing on the freewheeling motor and output a position parameter for representing a rotor position of the freewheeling motor; A processing unit, configured to calculate a Vq value for cutting in when the freewheeling motor is started at a non-zero value according to the position parameter, so as to start the freewheeling motor according to the Vq value; The Vq value of the cut-in of the non-zero starting motor is calculated according to the position parameter, which comprises calculating the angular velocity of the motor according to the position parameter, and calculating the Vq value according to the angular velocity; wherein the Vq value is calculated as follows: Vq = Aω; A is a correlation coefficient; ω is the angular velocity; , and are two angular velocities of the motor in the debugging of the stationary starting, Vq1 is the Vq value when the angular velocity is equal to , and Vq2 is the Vq value when the angular velocity is equal to . The zero-crossing comparison unit is configured to compare the U-phase voltage, the V-phase voltage and the W-phase voltage of the freewheeling motor with the neutral point voltage respectively and output a position true value, comprising: comparing whether the U-phase voltage of the freewheeling motor is greater than the neutral point voltage to output a first position true value in the position true value; further comparing whether the V-phase voltage of the freewheeling motor is greater than the neutral point voltage to output a second position true value in the position true value; and further comparing whether the W-phase voltage of the freewheeling motor is greater than the neutral point voltage to output a third position true value in the position true value; The processing unit is further configured to judge the rotor position of the freewheeling motor according to the position true value, and take a conversion time of the position true value as a time parameter; the rotor position and the time parameter constitute the position parameter.
4. The FOC motor non-zero start-up system of claim 3, wherein, The processing unit is configured to determine the rotor position of the freewheeling motor according to the first position true value, the second position true value and the third position true value at the time when any of the first position true value, the second position true value and the third position true value is converted, and calculate the angular velocity of the freewheeling motor according to the rotor position and the time parameter, so as to calculate the Vq value according to the angular velocity.
Citation Information
Patent Citations
Position-sensor-free control system and control method for brushless direct current motor
CN105391364A
Power conversion device
CN105850029A