Initial positioning and online correction method for rotor position of direct-current brushless motor driver
Through the interval equalization and online jump judgment of Hall position sensor, the rapid initial positioning and online correction of the rotor position of the DC brushless motor driver is achieved, solving the problem of inapplicable rotor rotation during power-on initialization, and reducing the encoder Counting error improves the accuracy of positional solution.
Patent Information
- Application Number
- CN202411627052.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-14
- Publication Date
- 2025-01-10
AI Technical Summary
The DC brushless motor driver requires the rotor to rotate during power-on initialization, which makes it unsuitable in some cases, and there is a cumulative error in the rotor position solution due to the incremental error of the encoder.
The value of the Hall position sensor divides the rotor position electrical angle into six intervals. The initial position estimate value is obtained when power-on initialization, and the jump situation of the Hall position sensor is judged online in real time and the position electrical angle is corrected. , clear the encoder count to reduce the cumulative error.
It realizes the rapid acquisition of the initial rotor position without power-on initialization, and reduces the impact of the encoder count integral error through online correction, improving the accuracy of position solution.
Smart Images

Figure CN119298734A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of motor control, and in particular to a method for initial positioning and online correction of a rotor position of a DC brushless motor driver. Background Art
[0002] Space vector control is a common drive control method for brushless DC motors, and the calculation of rotor position is the basis of space vector control. The common method for calculating the initial rotor position of brushless DC motor drivers is the micro-motion dichotomy method, which determines the rotor space based on the value of the Hall position sensor during power-on initialization, and then energizes the motor coil to rotate the rotor to a fixed position. The disadvantage of the micro-motion dichotomy method is that the coil needs to be energized to make the rotor move, which is not applicable in some situations where rotation is not allowed during power-on initialization. After determining the initial position of the rotor, the real-time position of the rotor is obtained by integration based on the count of the incremental encoder. Due to the incremental error of the encoder, the rotor position will produce cumulative errors. Summary of the invention
[0003] In order to solve the above technical problems, the present invention provides a method for initial positioning and online correction of the rotor position of a brushless DC motor driver. Compared with the micro-motion binary method which requires power-on to rotate the rotor to obtain the motor rotor position, the present invention does not require rotor rotation during power-on initialization, and corrects the rotor position electrical angle online in real time, thereby reducing the influence of the encoder counting integral cumulative error.
[0004] The present invention aims to provide a method for initial positioning and online correction of the rotor position of a brushless DC motor driver, comprising: Step 1: Divide the rotor position electrical angle into six intervals according to the value of the Hall position sensor; Step 2: Power on and initialize. According to the initial value of the Hall position sensor, the estimated electrical angle of the initial position of the rotor is obtained, and the count of the motor encoder is cleared. Step 3: Determine the jump of the value of the Hall position sensor in real time online. If no jump occurs, calculate the electrical angle of the rotor position according to the count value of the motor encoder; Step 4: If a jump occurs, the rotor position electrical angle is corrected online according to the jump situation, and the motor encoder count is cleared.
[0005] Preferably, the rotor position electrical angle is divided into six intervals according to the value of the Hall position sensor, including: According to the value of the Hall position sensor, the rotor position electrical angle range is divided into six intervals: -30°~+30°, +30°~+90°, +90°~+150°, +150°~+210°, +210°~+270°, and +270°~+330°. The values of the Hall position sensors corresponding to each interval are Hall_1, Hall_2, Hall_3, Hall_4, Hall_5, and Hall_6 respectively.
[0006] Preferably, the estimated value of the electrical angle of the initial rotor position is obtained according to the following steps: Read the value of the Hall position sensor at the time of power-on initialization. If the value of the Hall position sensor is Hall_1, the estimated value of the rotor initial position electrical angle is E initial =0°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor is Hall_2, the estimated value of the electrical angle of the rotor initial position is E initial =60°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor is Hall_3, the estimated value of the rotor initial position electrical angle is E initial =120°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor is Hall_4, the estimated value of the rotor initial position electrical angle is E initial =180°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor is Hall_5, the estimated value of the rotor initial position electrical angle is E initial =-120°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor is Hall_6, the estimated value of the rotor initial position electrical angle is E initial =-60°, and the motor encoder count value C sum Cleared.
[0007] Preferably, the online correction of the rotor position electrical angle includes: Determine in real time whether the value of the Hall position sensor has changed. If it has changed: If the value of the Hall position sensor after the jump is Hall_1, and the value of the Hall position sensor before the jump is Hall_2, then the corrected rotor position electrical angle value E=30°, and the rotor initial position electrical angle E initial=30°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_1, and the value of the Hall position sensor before the jump is Hall_6, then the corrected rotor position electrical angle value E=-30°, and the rotor initial position electrical angle E initial =-30°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_2, and the value of the Hall position sensor before the jump is Hall_3, then the corrected rotor position electrical angle value E=90°, and the rotor initial position electrical angle E initial =90°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_2, and the value of the Hall position sensor before the jump is Hall_1, then the corrected rotor position electrical angle value E=30°, and the rotor initial position electrical angle E initial =30°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_3, and the value of the Hall position sensor before the jump is Hall_4, then the corrected rotor position electrical angle value E=150°, and the rotor initial position electrical angle E initial =150°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_3, and the value of the Hall position sensor before the jump is Hall_2, then the corrected rotor position electrical angle value E=90°, and the rotor initial position electrical angle E initial =90°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_4, and the value of the Hall position sensor before the jump is Hall_5, then the corrected rotor position electrical angle value E=-150°, and the rotor initial position electrical angle E initial =-150°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_4, and the value of the Hall position sensor before the jump is Hall_3, then the corrected rotor position electrical angle value E=150°, and the rotor initial position electrical angle E initial =150°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_5, and the value of the Hall position sensor before the jump is Hall_6, then the corrected rotor position electrical angle value E=-90°, and the rotor initial position electrical angle E initial =-90°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_5, and the value of the Hall position sensor before the jump is Hall_4, then the corrected rotor position electrical angle value E=-150°, and the rotor initial position electrical angle E initial =-150°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_6, and the value of the Hall position sensor before the jump is Hall_1, then the corrected rotor position electrical angle value E=-30°, and the rotor initial position electrical angle E initial =-30°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_6, and the value of the Hall position sensor before the jump is Hall_5, then the corrected rotor position electrical angle value E=-90°, and the rotor initial position electrical angle E initial =-90°, and the motor encoder count value C sum Cleared.
[0008] Preferably, the rotor position electrical angle solution method comprises: Real-time online judgment of whether the value of the Hall position sensor has changed. If no change occurs, the calculation formula of the rotor position electrical angle value is as follows: E=E initial +360°×C sum / N, Where, E is the electrical angle of the rotor position obtained by solution; E initial is the electrical angle of the rotor initial position; C sum is the count value of the motor encoder; N is the count value of the motor encoder when the rotor rotates 360° electrical angle.
[0009] The present invention has at least the following beneficial effects: The present invention provides a method for initial positioning and online correction of the rotor position of a brushless DC motor driver. The present invention provides a method for obtaining an estimated value of the electrical angle of the motor rotor position according to the value of a Hall position sensor when the brushless DC motor driver is powered on and initialized, and a method for online correction of the electrical angle of the motor rotor position according to the jump of the value of the Hall position sensor in real time. The present invention does not need to energize the motor coil when powered on to obtain the initial position of the motor rotor, and corrects the position of the motor rotor in real time online to reduce the influence of the accumulated counting error of the motor encoder on the motor rotor position solution. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 It is a flow chart of initial positioning and online correction of the rotor position of a brushless DC motor driver.
[0011] Figure 2 It is a schematic diagram of the division of the six motor rotor electrical angles and the values of the Hall position sensors. DETAILED DESCRIPTION
[0012] In order to illustrate the technical means and effects adopted by the present invention to achieve the predetermined purpose of the invention, the following is a detailed description in conjunction with embodiments.
[0013] The purpose of the present invention is to provide a method for initial positioning and online correction of the rotor position of a DC brushless motor driver. According to the present invention, the electrical angle of the rotor initial position can be quickly obtained when the DC brushless motor driver is powered on; after online correction, the integral error of the rotor electrical angle is reduced.
[0014] To achieve the above purpose, see Figure 1 As shown, a method for initial positioning and online correction of the rotor position of a brushless DC motor driver comprises: Step 1: Divide the rotor position electrical angle into six intervals according to the value of the Hall position sensor; Step 2: Power on and initialize. According to the initial value of the Hall position sensor, the estimated electrical angle of the initial position of the rotor is obtained, and the count of the motor encoder is cleared. Step 3: Determine the jump of the value of the Hall position sensor in real time online. If no jump occurs, calculate the electrical angle of the rotor position according to the count value of the motor encoder; Step 4: If a jump occurs, the rotor position electrical angle is corrected online according to the jump situation, and the motor encoder count is cleared.
[0015] like Figure 2As shown, the interval division method of the rotor electrical angle in step 1 is as follows: according to the value of the Hall position sensor, the rotor position electrical angle interval is evenly divided into six intervals of -30°~+30°, +30°~+90°, +90°~+150°, +150°~+210°, +210°~+270°, and +270°~+330°. The value of the Hall position sensor corresponding to each interval is Hall_1, Hall_2, Hall_3, Hall_4, Hall_5, and Hall_6, respectively.
[0016] When power is turned on and initialized in step 2, the method for estimating the electrical angle of the initial position of the rotor is as follows: read the value of the Hall position sensor at the time of power-on and initialization. If the value of the Hall position sensor is Hall_1, the estimated value of the electrical angle of the initial position of the rotor is E initial =0°, and the motor encoder count value C sum Clear; if the value of the Hall position sensor is Hall_2, the estimated value of the rotor initial position electrical angle E initial =60°, and the motor encoder count value C sum Clear; if the value of the Hall position sensor is Hall_3, the estimated value of the rotor initial position electrical angle E initial =120°, and the motor encoder count value C sum Clear; if the value of the Hall position sensor is Hall_4, the estimated value of the rotor initial position electrical angle E initial =180°, and the motor encoder count value C sum Clear; if the value of the Hall position sensor is Hall_5, the estimated value of the rotor initial position electrical angle E initial =-120°, and the motor encoder count value C sum Clear; if the value of the Hall position sensor is Hall_6, the estimated value of the rotor initial position electrical angle E initial =-60°, and the motor encoder count value C sum Cleared.
[0017] In step 3, it is determined whether the value of the Hall position sensor changes in real time online. If no change occurs, the rotor position is calculated by the following formula: E=E initial +360°×C sum / N, where E is the electrical angle of the rotor position obtained by solution, E initial is the electrical angle of the rotor initial position, C sum is the count value of the motor encoder, and N is the count value of the motor encoder when the rotor rotates 360° electrical angle.
[0018] In step 4, it is determined whether the value of the Hall position sensor jumps in real time. When the jump occurs, the online correction method of the rotor position electrical angle is: if the value of the Hall position sensor after the jump is Hall_1, and the value of the Hall position sensor before the jump is Hall_2, then the value of the corrected rotor position electrical angle is E=30°, and the rotor initial position electrical angle is E initial =30°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_1, and the value of the Hall position sensor before the jump is Hall_6, then the corrected rotor position electrical angle value E=-30°, and the rotor initial position electrical angle E initial =-30°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_2, and the value of the Hall position sensor before the jump is Hall_3, then the corrected rotor position electrical angle value E=90°, and the rotor initial position electrical angle E initial =90°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_2, and the value of the Hall position sensor before the jump is Hall_1, then the corrected rotor position electrical angle value E=30°, and the rotor initial position electrical angle E initial =30°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_3, and the value of the Hall position sensor before the jump is Hall_4, then the corrected rotor position electrical angle value E=150°, and the rotor initial position electrical angle E initial =150°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_3, and the value of the Hall position sensor before the jump is Hall_2, then the corrected rotor position electrical angle value E=90°, and the rotor initial position electrical angle E initial =90°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_4, and the value of the Hall position sensor before the jump is Hall_5, then the corrected rotor position electrical angle value E=-150°, and the rotor initial position electrical angle E initial =-150°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_4, and the value of the Hall position sensor before the jump is Hall_3, then the corrected rotor position electrical angle value E=150°, and the rotor initial position electrical angle E initial =150°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_5, and the value of the Hall position sensor before the jump is Hall_6, then the corrected rotor position electrical angle value E=-90°, and the rotor initial position electrical angle E initial =-90°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_5, and the value of the Hall position sensor before the jump is Hall_4, then the corrected rotor position electrical angle value E=-150°, and the rotor initial position electrical angle E initial =-150°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_6, and the value of the Hall position sensor before the jump is Hall_1, then the corrected rotor position electrical angle value E=-30°, and the rotor initial position electrical angle E initial =-30°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_6, and the value of the Hall position sensor before the jump is Hall_5, then the corrected rotor position electrical angle value E=-90°, and the rotor initial position electrical angle E initial =-90°, and the motor encoder count value C sum Cleared.
[0019] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for initial positioning and online correction of the rotor position of a brushless DC motor driver, characterized in that: include: Step 1: Divide the rotor position electrical angle into six intervals according to the value of the Hall position sensor; Step 2: Power on and initialize. According to the initial value of the Hall position sensor, the estimated electrical angle of the initial position of the rotor is obtained, and the count of the motor encoder is cleared. Step 3: Determine the jump of the value of the Hall position sensor in real time online. If no jump occurs, calculate the electrical angle of the rotor position according to the count value of the motor encoder; Step 4: If a jump occurs, the rotor position electrical angle is corrected online according to the jump situation, and the motor encoder count is cleared.
2. The method for initial positioning and online correction of the rotor position of a brushless DC motor driver according to claim 1, characterized in that: The rotor position electrical angle is divided into six intervals according to the value of the Hall position sensor, including: According to the value of the Hall position sensor, the rotor position electrical angle range is divided into six intervals: -30°~+30°, +30°~+90°, +90°~+150°, +150°~+210°, +210°~+270°, and +270°~+330°. The values of the Hall position sensors corresponding to each interval are Hall_1, Hall_2, Hall_3, Hall_4, Hall_5, and Hall_6 respectively.
3. The method for initial positioning and online correction of the rotor position of a brushless DC motor driver according to claim 2, characterized in that: The estimated electrical angle of the rotor initial position is obtained by following the steps below: Read the value of the Hall position sensor at the time of power-on initialization. If the value of the Hall position sensor is Hall_1, the estimated value of the electrical angle of the rotor initial position is E initial =0°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor is Hall_2, the estimated value of the electrical angle of the rotor initial position is E initial =60°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor is Hall_3, the estimated value of the rotor initial position electrical angle is E initial =120°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor is Hall_4, the estimated value of the rotor initial position electrical angle is E initial =180°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor is Hall_5, the estimated value of the rotor initial position electrical angle is E initial =-120°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor is Hall_6, the estimated value of the rotor initial position electrical angle is E initial =-60°, and the motor encoder count value C sum Cleared.
4. The method for initial positioning and online correction of the rotor position of a brushless DC motor driver according to claim 3, characterized in that: Online correction of rotor position electrical angle, including: Determine in real time whether the value of the Hall position sensor has changed. If it has changed: If the value of the Hall position sensor after the jump is Hall_1, and the value of the Hall position sensor before the jump is Hall_2, then the corrected rotor position electrical angle value E=30°, and the rotor initial position electrical angle E initial =30°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_1, and the value of the Hall position sensor before the jump is Hall_6, then the corrected rotor position electrical angle value E=-30°, and the rotor initial position electrical angle E initial =-30°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_2, and the value of the Hall position sensor before the jump is Hall_3, then the corrected rotor position electrical angle value E=90°, and the rotor initial position electrical angle E initial =90°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_2, and the value of the Hall position sensor before the jump is Hall_1, then the corrected rotor position electrical angle value E=30°, and the rotor initial position electrical angle E initial =30°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_3, and the value of the Hall position sensor before the jump is Hall_4, then the corrected rotor position electrical angle value E=150°, and the rotor initial position electrical angle E initial =150°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_3, and the value of the Hall position sensor before the jump is Hall_2, then the corrected rotor position electrical angle value E=90°, and the rotor initial position electrical angle E initial =90°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_4, and the value of the Hall position sensor before the jump is Hall_5, then the corrected rotor position electrical angle value E=-150°, and the rotor initial position electrical angle E initial =-150°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_4, and the value of the Hall position sensor before the jump is Hall_3, then the corrected rotor position electrical angle value E=150°, and the rotor initial position electrical angle E initial =150°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_5, and the value of the Hall position sensor before the jump is Hall_6, then the corrected rotor position electrical angle value E=-90°, and the rotor initial position electrical angle E initial =-90°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_5, and the value of the Hall position sensor before the jump is Hall_4, then the corrected rotor position electrical angle value E=-150°, and the rotor initial position electrical angle E initial =-150°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_6, and the value of the Hall position sensor before the jump is Hall_1, then the corrected rotor position electrical angle value E=-30°, and the rotor initial position electrical angle E initial =-30°, and the motor encoder count value C sum Clear to zero; If the value of the Hall position sensor after the jump is Hall_6, and the value of the Hall position sensor before the jump is Hall_5, then the corrected rotor position electrical angle value E=-90°, and the rotor initial position electrical angle E initial =-90°, and the motor encoder count value C sum Cleared.
5. The method for initial positioning and online correction of the rotor position of a brushless DC motor driver according to claim 1, characterized in that: The rotor position electrical angle solution method includes: Real-time online judgment of whether the value of the Hall position sensor has changed. If no change occurs, the calculation formula of the rotor position electrical angle value is as follows: E=E initial +360°×C sum / N, Where, E is the electrical angle of the rotor position obtained by solution; E initial is the electrical angle of the rotor initial position; C sum is the count value of the motor encoder; N is the count value of the motor encoder when the rotor rotates 360° electrical angle.