Method for implementing fault handling of Hall position sensor of brushless DC motor
Through the combination of edge detection and angle recorder, the precise detection and stable operation problems of brushless DC motor Hall position sensor failure are solved to ensure that the motor is phase-changing and running normally in the event of a fault.
Patent Information
- Application Number
- CN202011609195.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-30
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2040-12-30
AI Technical Summary
In the prior art, when the Hall position sensor of the brushless DC motor fails, it is difficult to achieve accurate fault detection and timely fault-tolerant control, especially in the case of dual Hall failure, which leads to unstable motor operation.
The number of jumps of the HALL signal is recorded through edge detection, and the difference between the rotor position change and the MCU internal angle value is within the preset error range. The angle recorder and error register set are used to ensure that the motor is phased normally, avoiding the method of relying solely on timers.
It realizes stable operation of the motor in the case of Hall position sensor failure, reduces motor shutdown or out of control caused by faults, and improves the reliability and stability of the motor in the case of faults.
Smart Images

Figure CN114696669B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of motor control, in particular to the field of motor fault handling, and specifically refers to a method for realizing the fault handling of the Hall position sensor of a brushless DC motor. Background Art
[0002] When the Hall sensor fails, it will maintain a high level state or a low level state and will not change with the rotor position. For a BLDC motor, a single Hall fault will cause the commutation sector to change from the original six states to four states, and in the case of a double Hall fault, the commutation sector will change from six states to two states.
[0003] The prior arts are as follows:
[0004] 1. Utilize a rotor position observer to compare the observation result with the output of the Hall sensor, and use the difference between the two to detect the sensor fault. After detecting the fault, use the observer output as the rotor position feedback to achieve fault-tolerant control; this method is relatively complex for square wave control and requires additional hardware peripherals.
[0005] 2. Based on the previous motor operating speed, establish a time confidence interval from the previous commutation to the next commutation. If it is found that it is not within the confidence interval, double the confidence interval. If it is still not within the confidence interval, it is determined that the HALL has failed. Commutation is given according to the timer value of the HALL phase that is currently confirmed not to have failed. Summary of the Invention
[0006] The object of the present invention is to overcome the above-mentioned disadvantages of the prior art and provide a method for realizing the fault handling of the Hall position sensor of a brushless DC motor that meets the requirements of accurate data, small error, and a relatively wide application range.
[0007] In order to achieve the above object, the method for realizing the fault handling of the Hall position sensor of a brushless DC motor of the present invention is as follows:
[0008] The method for realizing the fault handling of the Hall position sensor of a brushless DC motor is mainly characterized in that the method comprises the following steps:
[0009] (1) Detect the HALL signal by means of edge detection and record the number of edge jumps;
[0010] (2) Judge whether the absolute value of the difference between the position change of the rotor represented by HALL and the angle value calculated inside the MCU is within a preset error range. If so, the angle value inside the MCU is updated to the angle represented by the rotor position detected by HALL; otherwise, the angle value inside the MCU is incremented according to the angle increment calculated from the previous motor speed.
[0011] (3) Determine an acceptable range based on the previous raw angle increment value.
[0012] Preferably, step (1) specifically includes the following steps:
[0013] (1.1) Detect the occurrence order of HALL signal changes and indicate a fault.
[0014] (1.2) Determine whether a rising edge jump occurs. If so, record the number of rising edge jumps in each electrical cycle and continue with step (1.3); otherwise, if there is no rising edge jump, all three HALLs have a fault.
[0015] (1.3) After both the rising edge and falling edge of each HALL have occurred, record the number of rising edge jumps of round_x + 1, where x represents the three phases a, b, and c respectively. Subtract round_x from the maximum values of round_a, round_b, and round_c each time a rising edge jump occurs. If the result is greater than 1, it is the HALL fault phase; otherwise, there is no fault.
[0016] Preferably, step (3) specifically includes the following steps:
[0017] (3.1) Set the acceptable range of the angle increment based on the previous raw angle increment value and the error angle set in the register of the commutation hardware circuit.
[0018] (3.2) When a HALL rising edge jump occurs, determine whether the difference between the angle value in the MCU internal angle counter and the angle corresponding to the HALL is within the acceptable range. If so, update the angle corresponding to the HALL to the angle value in the MCU internal angle counter; otherwise, do not update the angle.
[0019] Preferably, the method further includes a commutation step, which specifically includes the following steps:
[0020] Perform a commutation operation when the angle calculated inside the MCU is 30°, 90°, 150°, 210°, 270°, or 330°.
[0021] Preferably, the motor includes an angle recorder for recording the angle and commutating the motor according to the value of the angle recorder.
[0022] Preferably, the motor includes an error register group containing multiple error registers, and the output ends are all connected to an AND-OR gate, corresponding to different rotor position angles during commutation respectively.
[0023] The method for handling faults of Hall position sensors of brushless DC motors according to the present invention is used as a hardware detection method. For motor control users, repetitive detection work is completed by hardware, and timely commutation can be ensured. The present invention designs an internal degree to record the angle, and the motor commutes according to the degree angle value, clearly understanding the current position of the motor. Compared with the method using a simple timer, when the speed is fast or slow, the counting size is different, and the rotor position of the motor cannot be intuitively understood. The present invention can make the motor operate normally regardless of how many Hall sensors fail, and it is completed based on the idea of first ensuring commutation and then detecting HALL faults. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Figure 1 It is a motor control block diagram of the method for handling faults of Hall position sensors of brushless DC motors according to the present invention.
[0025] Figure 2 It is an effect diagram of the motor operation timing of the method for handling faults of Hall position sensors of brushless DC motors according to the present invention.
[0026] Figure 3 It is a detection circuit diagram of HALL edges of the method for handling faults of Hall position sensors of brushless DC motors according to the present invention.
[0027] Figure 4 It is a detection flow chart of HALL and a calculation flow chart of the internal degree count increment of the MCU of the method for handling faults of Hall position sensors of brushless DC motors according to the present invention.
[0028] Figure 5 It is a circuit diagram for converting the HALL edge detection result into the rotor position angle of the method for handling faults of Hall position sensors of brushless DC motors according to the present invention.
[0029] Figure 6 It is a schematic diagram of the commutation moment and the moment when the HALL jump is updated to the internal degree of the MCU of the method for handling faults of Hall position sensors of brushless DC motors according to the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0030] In order to more clearly describe the technical content of the present invention, the following will be further described in conjunction with specific embodiments.
[0031] The method for handling faults of Hall position sensors of brushless DC motors according to the present invention includes the following steps:
[0032] (1) Detect the HALL signal by edge detection and record the number of edge jumps;
[0033] (1.1) Detect the occurrence order of the change in the HALL signal, indicating a fault;
[0034] (1.2) Determine whether a rising edge jump occurs. If so, record the number of rising edge jumps in each electrical cycle and continue
[0035] to step (1.3); otherwise, if there is no rising edge jump, all three HALLs have failed;
[0036] (1.3) After the rising edge and falling edge of each HALL have occurred, record the number of rising edge jumps of round_x + 1, where x represents the three phases a, b, and c respectively. Subtract round_x from the maximum values of round_a, round_b, and round_c each time a rising edge jump occurs. If the result is greater than 1, it is the HALL fault phase; otherwise, no fault has occurred;
[0037] (2) Determine whether the absolute value of the difference between the position change of the rotor represented by the HALL and the angle value calculated inside the MCU is within the preset error range. If so, the angle value inside the MCU is updated to the angle represented by the rotor position detected by the HALL; otherwise, the angle value inside the MCU is incremented by the angle increment calculated from the motor speed previously;
[0038] (3) Obtain the acceptable range based on the previous original value of the angle increment;
[0039] (3.1) Set the acceptable range of the angle increment according to the previous original value of the angle increment and the error angle set in the register of the commutation hardware circuit
[0040] ;
[0041] (3.2) Determine whether the difference between the angle count value inside the MCU and the angle corresponding to the HALL is within the acceptable range when the HALL rising edge jump occurs. If so, update the angle corresponding to the HALL to the angle count value inside the MCU; otherwise, do not update the angle.
[0042] As a preferred embodiment of the present invention, the method further includes a commutation step, specifically including the following steps:
[0043] Perform commutation operations when the angle calculated inside the MCU is 30°, 90°, 150°, 210°, 270°, or 330°.
[0044] As a preferred embodiment of the present invention, the motor includes an angle recorder for recording the angle and performing commutation of the motor according to the value of the angle recorder.
[0045] As a preferred embodiment of the present invention, the motor includes an error register group, which contains a plurality of error registers, and the output ends are all connected to an AND-OR gate, corresponding to different rotor position angles during commutation respectively.
[0046] In the specific embodiment of the present invention, when the rotor position sensor (usually a Hall sensor) fails, the control system should be able to determine the sensor failure, and even when a failure occurs, the motor should not stop instantly or get out of control, but should continue to operate normally. For some human-machine application scenarios, such as electric vehicles, where the comfort level is relatively high, after a HALL failure occurs, it is required that the vibration is not too large, and it should be able to run for a period of time and then be repaired and used again. Therefore, it is necessary to pay attention to ensuring that the motor can operate normally after a HALL failure, and then detect the failure. At the same time, it is also necessary to ensure the acceleration and deceleration operation of the motor when the motor is not faulty. Acceleration and deceleration are important influencing factors for judging a HALL failure.
[0047] In the current methods, more attention is paid to the detection of failures. In addition, the sudden occurrence of three failures is not considered either. This still poses a hidden danger. There are also some methods that use a sensorless mode when a HALL failure occurs. This is only an alternative solution after a failure occurs, but it cannot work when a HALL failure suddenly occurs.
[0048] The present invention internally sets an angle counter to detect which specific phase HALL failure occurs on the premise of ensuring normal commutation.
[0049] The present invention can distinguish the relationship between the next jump edge and the previous jump edge. If a jump that is far apart suddenly occurs, it is determined that a failure does exist, and a warning is issued. Commutation is carried out according to the internal angle value of the MCU as usual. After two electrical cycles are completed, it is indicated which HALL has failed. For most actual applications, which HALL fails is not important. As long as there is one failure, the entire HALL board will be replaced. The key lies in the normal operation of the motor after a HALL failure. If for some cases where only the faulty HALL is replaced, the present invention can also detect it.
[0050] The commutation block diagram of the motor control is as Figure 1 shown. First, the HALL signal is detected by means of edge detection. HALL<2> represents HALL_A, HALL<1> represents HALL_B, and HALL<0> represents HALL_C. After detecting the position change of the rotor represented by HALL, the current degree value is updated. The implementation effect is as Figure 2 shown. The hardware diagram is as Figure 3As shown, when the rotor position represented by HALL is not detected, the degree angle is automatically incremented, and the increment step is adjusted according to the motor speed. The speed is updated every time a rising edge and a falling edge occur for an independent HALL signal. The implementation process is as Figure 4 shown.
[0051] HALL fault detection method:
[0052] 1. The forward and reverse rotations of the motor are preset in advance. Therefore, whether the sequence of the motor rotor positions is 546231 or 513264 is also determined in advance. During the HALL fault discrimination process, the interference items are acceleration and deceleration. When the motor is operating at a constant speed, the HALL position and degree are as Figure 2 shown;
[0053] 2. After the motor has not yet failed, taking the rotor position where HALL<2:0> = 0x5 (along the detection result) as an example, the level detection result is 100, and the current angle degree is 30 degrees to 90 degrees. Under normal circumstances, the next edge occurrence result is HALL<2:0> = 0x1. If it is not 1, it may be 3 or 2 or 4 or 6. The latter four cases all indicate that there is a HALL fault. Of course, it is also possible to analyze which one has a fault at this time. However, analyzing the fault item requires analysis in the case of single HALL fault or double HALL fault, etc., which is more cumbersome and not the most critical during motor operation. Therefore, only a prompt is given when the problem of the changing order of the hall signal is found.
[0054] 3. Record the number of edge jumps that occur in each electrical cycle (equivalent to the degree angle recorded inside the MCU). If there is no edge jump, all three HALLs have failed;
[0055] 4. After each rising edge and falling edge of each HALL occur, it is recorded that one revolution has been completed, round_x + 1 (x represents phases a, b, and c respectively), and this HALL is normal. Each time an edge jump occurs, compare the maximum values of round_a, round_b, and round_c. Subtract round_x (x includes a, b, and c) from the maximum value. If the result is greater than 1, it is the HALL fault phase. The operation is simple.
[0056] Angle increment calculation process:
[0057] Whether the angle increment can be updated in time affects the error between the internal angle calculation result of the MCU and the external HALL detection result. Immediate update when the HALL edge changes may lead to incorrect updates due to faults. Therefore, an acceptable range needs to be given based on the previous degree increment raw value, and this range is set according to the error angle set in the register of the commutation hardware circuit. For example, if the error is 20 degrees, the acceptable increment range is: 0.75 * raw increment to 1.5 * raw increment
[0058] Assume that the acceptable range of the angle increment is 1.5 times the raw increment. If the angle increment calculated based on the HALL edge jump is 1.5 times the raw increment, it may be acceleration or a fault. Within the acceptable range, at 1.5 times the raw increment, the angle degree calculated inside the MCU will necessarily reach the commutation point 20 degrees ahead of the raw increment condition (when it is a HALL fault rather than acceleration). If the internal degree of the MCU has reached the commutation point (for example, 90 degrees) but the HALL has not jumped, when the HALL edge jump occurs, the internal degree of the MCU has reached 110 degrees according to the original speed increment. At this time, if the difference between the internal degree of the MCU and the degree corresponding to the HALL is within 20 degrees, the degree corresponding to the HALL can be updated to the internal degree of the MCU, otherwise it cannot be updated. If it is acceleration, then the HALL jump must occur before the degree reaches 110 degrees. At this time, the angle corresponding to the HALL can also be updated to the internal degree of the MCU.
[0059] Commutation method:
[0060] The commutation points are the degree angles calculated inside the MCU at 30°, 90°, 150°, 210°, 270°, 330°
[0061] Commutation occurs at these points. If the external HALL loses phase, the internal degree will continue to count without affecting commutation, ensuring that the motor can still operate normally without sudden commutation anomalies.
[0062] Since acceleration and deceleration will cause an error between the rotor position detected by the HALL and the Degree calculated inside the MCU, an error register is added in the present invention. According to the actual application configuration, the configuration range is within 0 to 60 degrees, and the conventional application configuration is 20 degrees. When the absolute value of the difference between the rotor position angle corresponding to the HALL and the Degree calculated inside the MCU is less than 20 degrees, the HALL detection result is updated to the Degree calculated inside the MCU, and vice versa.
[0063] The commutation points and the moment when the HALL is updated to the MCU are as Figure 6 shown.
[0064] The method of judgment in the present invention does not consider whether the HALL has failed. Instead, it first judges whether there is a HALL failure. The method is through the front-back order, which must satisfy 513264 or 546231. Secondly, it compares the number of flips of each HALL, and compares which one has more flips. The HALL that has failed will surely not have an increasing number of flips, thus determining that it is faulty. The commutation is also continuous and not affected by the HALL failure.
[0065] An angle recorder is internally provided in the circuit. By maintaining the synchronization of the angle value and the HALL, the commutation of the motor can be based on the value of the angle recorder, ensuring that the motor can still operate when three Hall sensors fail.
[0066] The present invention determines whether to transfer the HALL edge jump value to the internal angle value of the MCU by comparing the difference between the internal angle value of the MCU and the rotor position represented by the HALL edge jump with the preset acceptable difference range in the register, and at the same time restricts whether the angle increment needs to be updated.
[0067] Adopting the method for handling the failure of the Hall position sensor of the brushless DC motor in the present invention, as a hardware detection method, for motor control users, the repetitive detection work is all completed by the hardware and can ensure timely commutation. The present invention designs an internal degree to record the angle, and the motor commutes according to the degree angle value, clearly understanding the current position of the motor. Compared with the method using a simple timer, when the speed is fast or slow, the counting size is different, and it is impossible to intuitively understand the position of the motor rotor. The present invention can make the motor operate normally under the condition of failure of several Hall sensors, and is completed with the idea of first ensuring commutation and then detecting the HALL failure.
[0068] In this specification, the present invention has been described with reference to its specific embodiments. However, it is obvious that various modifications and transformations can still be made without departing from the spirit and scope of the present invention. Therefore, the specification and the drawings should be regarded as illustrative rather than restrictive.
Claims
1. A method for implementing fault handling of a Hall position sensor of a brushless DC motor, characterized in that, The method described above includes the following steps: (1) Detect the HALL signals through edge detection. After the rising edge and falling edge of each HALL signal have occurred, record the number of edge transitions as round_x + 1, where x represents the three phases a, b, and c respectively. Then subtract round_x from the maximum values of round_a, round_b, and round_c each time an edge transition occurs. If the result is greater than 1, it is the HALL fault phase; otherwise, no fault has occurred. Thus, complete the fault detection and proceed to step (2); (2) Determine whether the absolute value of the difference between the position change of the rotor represented by HALL and the angle value calculated inside the MCU is within a preset error range. If so, update the angle value inside the MCU to the angle represented by the rotor position detected by HALL; otherwise, increment the angle value inside the MCU according to the angle increment calculated from the motor speed previously; (3) Obtain an acceptable range of angle increments based on the previous original value of the angle increment; 2. The method for implementing the fault handling of the Hall position sensor of the brushless DC motor according to claim 1, wherein, The step (1) further includes: (1.1) When the occurrence order of the HALL signals is detected to have changed, prompt a fault; (1.2) Determine whether an edge transition has occurred. If so, record the number of edge transitions in each electrical cycle; otherwise, if there is no edge transition, all three HALLs have failed; 3. The method for implementing the fault handling of the Hall position sensor of the brushless DC motor according to claim 1, wherein The step (3) specifically includes the following steps: (3.1) Set an acceptable range of angle increments according to the previous original value of the angle increment and the error angle set in the register of the commutation hardware circuit; (3.2) Determine whether the difference between the angle count value inside the MCU and the angle corresponding to HALL is within the acceptable range when the HALL edge transition occurs. If so, update the angle corresponding to HALL to the angle count value inside the MCU; otherwise, do not update the angle; 4. The method for implementing the fault handling of the Hall position sensor of the brushless DC motor according to claim 1, wherein, The method further includes a commutation step, specifically including the following steps: Perform commutation operations when the angle calculated inside the MCU is 30°, 90°, 150°, 210°, 270°, or 330°; 5. The method for implementing the fault handling of the Hall position sensor of the brushless DC motor according to claim 1, characterized in that, The motor described above includes an angle recorder for recording angles and commutates the motor according to the value of the angle recorder; 6. The method for implementing the fault handling of the Hall position sensor of the brushless DC motor according to claim 1, wherein, The motor described above includes an error register group containing multiple error registers, and the output terminals are all connected to an AND-OR gate, corresponding to different rotor position angles during commutation respectively;
Citation Information
Patent Citations
Pre-production biogas fermentation control system based on brushless direct current motor
CN105207546A
Novel electronic accelerator pedal in redundancy design
CN203752911U