Fault-tolerant control method of motor position sensor, flying car and storage medium
By obtaining the state information of the rotary transformer in the permanent magnet synchronous motor and using a preset flux linkage observer to configure an accurate initial position of the flux linkage during a fault, the problem of the motor controller being unable to obtain position signals due to rotary transformer faults is solved, achieving higher estimation accuracy and safety.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GUANGDONG HUITIAN AEROSPACE TECH CO LTD
- Filing Date
- 2022-12-30
- Publication Date
- 2026-07-14
AI Technical Summary
When the position signal of a permanent magnet synchronous motor is read through a rotary transformer, a failure of the rotary transformer and its decoding chip will prevent the motor controller from obtaining the position signal and speed, affecting the normal operation of the electric drive system and posing a safety hazard. The existing control strategy without position sensors has low estimation accuracy.
By acquiring the state information of the rotary transformer, the initial position of the flux linkage during a fault is determined. The rotor position and speed of the motor are estimated using a preset flux linkage observer, and closed-loop control is performed. Different initial positions of the flux linkage are configured according to different fault scenarios to improve the estimation accuracy.
This improves the performance of the rotary transformer fault-tolerant control, ensuring that the motor can operate normally under fault conditions, reducing safety hazards, and enhancing the accuracy and reliability of the control.
Smart Images

Figure CN115940723B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of flying car technology, and more particularly to a fault-tolerant control method for an electric motor position sensor, a flying car, and a storage medium. Background Technology
[0002] Permanent magnet synchronous motors (PMSMs) are increasingly widely used in new energy vehicles due to their simple structure, high power density, reliable performance, and high operating efficiency. The position signal of a PMSM is typically obtained through a position sensor (rotary transformer), serving as a crucial control parameter for the motor controller. However, the rotary transformer operates in a complex environment, especially in high-voltage systems, further complicating the process. If the rotary transformer and its decoding chip experience significant sampling errors, or if the hardware itself malfunctions, the motor's position signal and / or speed cannot be read. Consequently, the motor controller cannot obtain these critical control parameters, leading to malfunctions in the electric drive system and potential safety hazards. Therefore, fault-tolerant control based on the rotary transformer is necessary to ensure that the electric drive system does not lose control in the event of a failure in the rotary transformer or its decoding chip, preventing more serious consequences.
[0003] Currently, fault-tolerant control for resolver failures includes a sensorless control strategy. This method estimates the motor's position and speed signals by controlling the voltage and current in the system. In the event of a resolver failure, this estimation replaces the hardware-sampled motor angle and speed signals, meeting the control requirements of the electric drive system. When applied to vehicles, this fault-tolerant control method allows the vehicle to continue driving normally during a resolver failure, providing sufficient time to reach a safe area or repair shop. However, the accuracy of the estimated position and speed in the sensorless control strategy is not high enough, thus affecting the effectiveness of sensorless motor control. Summary of the Invention
[0004] The main objective of this invention is to provide a fault-tolerant control method for a motor position sensor, a flying car, and a storage medium, aiming to improve the fault-tolerant control effect of the motor position sensor, thereby enhancing the performance of the fault-tolerant control of the rotary transformer.
[0005] To achieve the above objectives, the present invention provides a fault-tolerant control method for a motor position sensor, the fault-tolerant control method for the motor position sensor comprising the following steps:
[0006] During the operation of the motor, the status information of the motor's rotary transformer is acquired;
[0007] When the rotary transformer is determined to be faulty based on the status information, the first initial position of the motor is used as the initial position of the flux linkage in the preset flux linkage observer. The first initial position is the rotor initial position obtained when the rotary transformer is in normal condition when the motor starts working.
[0008] The current voltage and current values of the motor, as well as the initial position of the flux linkage, are used as input parameters for the preset flux linkage observer. The current estimated rotor position and estimated rotor speed of the motor are obtained through the preset flux linkage observer.
[0009] The motor is controlled in a closed loop based on the estimated rotor position and the estimated rotor speed.
[0010] Optionally, the control method further includes:
[0011] Upon receiving start-up information for the motor, the status information of the rotary transformer is obtained;
[0012] When the rotary transformer is determined to be faulty based on the status information, the second initial position is used as the initial position of the flux linkage in the preset flux linkage observer, and the steps of using the current voltage value, current value and the initial position of the motor as input parameters of the preset flux linkage observer to obtain the current estimated rotor position and estimated rotor speed of the motor through the preset flux linkage observer are executed. The second initial position is obtained in a different way than the first initial position.
[0013] When the rotary transformer is determined to be in a normal state based on the state information, the first initial position of the motor rotor collected by the rotary transformer is obtained, and after obtaining the first initial position, the step of obtaining the state information of the rotary transformer of the motor during the operation of the motor is executed.
[0014] Optionally, the control method includes:
[0015] The second initial position of the motor rotor is estimated using a high-frequency injection algorithm.
[0016] Optionally, after the step of using the current voltage and current values of the motor and the initial position of the flux linkage as input parameters of the preset flux linkage observer, and obtaining the current estimated rotor position and estimated rotor speed of the motor through the preset flux linkage observer, the method further includes:
[0017] When the motor meets the fault-tolerant control conditions based on the estimated rotor position, the step of performing closed-loop control on the motor based on the estimated rotor position and the estimated rotor speed is executed.
[0018] If the motor does not meet the fault-tolerant control conditions based on the estimated rotor position, then the motor is subjected to closed-loop control based on the actual rotor position and actual rotor speed collected by the rotary transformer.
[0019] Optionally, the control method further includes:
[0020] The estimated rotor position is compared with the estimated rotor position at the previous moment to obtain the position difference between the estimated rotor positions at the two moments.
[0021] If the position difference is less than or equal to a preset threshold, the motor is determined to meet the fault-tolerant control conditions.
[0022] If the position difference is greater than the preset threshold and the fault duration of the rotary transformer is determined to be less than or equal to the preset duration, then return to the step of using the voltage value, current value and initial position of the motor as input parameters of the preset flux linkage observer, and obtaining the estimated rotor position and estimated rotor speed of the motor through the preset flux linkage observer, so as to obtain the estimated rotor position again.
[0023] If the position difference is greater than the preset threshold and the fault duration is greater than the preset duration, then the motor is determined not to meet the fault-tolerant control conditions.
[0024] Optionally, the step of obtaining the current estimated rotor position and estimated rotor speed of the motor through the preset flux linkage observer includes:
[0025] The total flux linkage of the motor in stationary coordinates is determined based on the voltage value, the current value, and the preset flux linkage estimation model, including the flux linkage components on the alpha and beta axes.
[0026] The estimated rotor position and estimated rotor speed are obtained by using the flux linkage components of the alpha axis and the beta axis through a phase-locked loop.
[0027] Optionally, the step of obtaining the estimated rotor position and the estimated rotor speed by using the flux linkage components of the alpha axis and the beta axis through a phase-locked loop includes:
[0028] The rotor error angle is estimated by calculating the flux linkage components on the alpha axis, the flux linkage components on the beta axis, and the stator inductance of the motor using the heterodyne method.
[0029] The error angle is processed by a PI controller to calculate the electric angular velocity of the rotor;
[0030] The estimated position of the rotor is obtained by integrating the initial position of the magnetic flux and the electric angular velocity.
[0031] The estimated rotor speed is determined based on the electrical angle signal and the number of motor pole pairs.
[0032] Optionally, the preset flux linkage estimation model is:
[0033]
[0034]
[0035] Phifalpha_Est=Phialpha_Est-Lq*;
[0036] Phifbeta_Est=Phibeta_Est-Lq*;
[0037] Wherein, the initial value of the flux linkage at time t0 is the initial position of the flux linkage; Phialpha_Est is the component of the equivalent flux linkage of the motor on the alpha coordinate axis; Phibeta_Est is the component of the equivalent flux linkage of the motor on the beta coordinate axis; Phifalpha_Est is the component of the total flux linkage of the motor on the alpha coordinate axis; Phifbeta_Est is the component of the total flux linkage of the motor on the beta coordinate axis; Rs is the stator resistance of the motor; and Lq is the stator inductance of the motor.
[0038] The present invention also provides a flying car, the flying car comprising: a memory, a processor, a motor, and a position sensor fault-tolerant control program stored in the memory and executable on the processor, the processor being used to control the motor, and the position sensor fault-tolerant control program, when executed by the processor, implementing the steps of the fault-tolerant control method for the motor position sensor as described above.
[0039] The present invention also provides a computer-readable storage medium storing a position sensor fault-tolerant control program, which, when executed by a processor, implements the steps of the fault-tolerant control method for a motor position sensor as described above.
[0040] To achieve the above objectives, this invention provides a fault-tolerant control method for a motor position sensor, a flying car, and a storage medium. In this embodiment, different initial flux linkage positions are configured for different scenarios of resolver failure. Then, a preset flux linkage observer estimates the current rotor estimated position and rotor estimated speed of the motor based on the different initial flux linkage positions, thereby performing closed-loop control of the motor. In the scenario where the resolver suddenly fails during motor operation, the initial rotor position detected by the resolver before the failure at the time of motor startup is used as the initial flux linkage position. Since this initial flux linkage position is actually collected by the resolver, it has higher accuracy than the estimated initial value, resulting in better control effect of the flux linkage observer and thus improving the performance of the resolver fault-tolerant control. Attached Figure Description
[0041] Figure 1 The hardware environment architecture involved in the fault-tolerant control method for the motor position sensor provided by the present invention;
[0042] Figure 2 A flowchart illustrating the first embodiment of the fault-tolerant control method for a motor position sensor provided by the present invention;
[0043] Figure 3 A flowchart illustrating the second embodiment of the fault-tolerant control method for a motor position sensor provided by the present invention;
[0044] Figure 4 A partial flowchart illustrating a third embodiment of the fault-tolerant control method for a motor position sensor provided by the present invention;
[0045] Figure 5 A diagram of the motor drive system in the fourth embodiment of the fault-tolerant control method for the motor position sensor provided by the present invention;
[0046] Figure 6 A diagram of a fault-tolerant control system for a motor position sensor provided by the present invention.
[0047] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0048] It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
[0049] To better understand the above technical solutions, exemplary embodiments of this disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of this disclosure to those skilled in the art.
[0050] Permanent magnet synchronous motors (PMSMs) are increasingly widely used in new energy vehicles due to their simple structure, high power density, reliable performance, and high operating efficiency. The position signal of a PMSM is typically obtained through a position sensor (rotary transformer), serving as a crucial control parameter for the motor controller. However, the rotary transformer operates in a complex environment, especially in high-voltage systems, further complicating the process. If the rotary transformer and its decoding chip experience significant sampling errors, or if the hardware itself malfunctions, the motor's position signal and / or speed cannot be read. Consequently, the motor controller cannot obtain these critical control parameters, leading to malfunctions in the electric drive system and potential safety hazards.
[0051] This is especially true for permanent magnet synchronous motors used in flying cars. Flying cars, capable of both land-based and aerial travel, have higher requirements for performance safety and functional safety. Therefore, fault-tolerant control of the rotary transformer is necessary to ensure that the flying car's electric drive system does not go out of control in the event of a failure in the rotary transformer or its decoding chip, thus avoiding more serious consequences.
[0052] There are many fault-tolerant control methods for resolver failures. One method involves the system detecting a resolver failure and estimating the current values using the previously sampled angle and speed signals for motor control calculations. This method is open-loop control and cannot maintain the electric drive system's normal operation for extended periods. Another method employs a sensorless position control strategy. This method estimates the motor's angle and speed signals by controlling the voltage and current in the system. When a resolver failure occurs, this information replaces the hardware-sampled motor angle and speed signals, meeting the control requirements of the electric drive system. This allows the vehicle to continue driving even during a resolver failure, providing sufficient time to reach a safe area or repair shop for maintenance.
[0053] Sensorless position control algorithms include high-frequency signal injection, sliding mode variable structure control, model reference adaptive control, full-order state observer, and flux observer. However, these sensorless control strategies do not have high enough accuracy in estimating position and speed, which affects the sensorless control effect of the motor.
[0054] Among other position control algorithms, the flux observer has a faster response and can start at low or even zero speed, making it more suitable for various applications and with better results. However, the control effect of the flux observer is still affected by the initial value of the flux observer's observations (initial position of the flux). For example, if the initial position of the flux differs significantly from the actual position, the final estimated angle and speed of the motor will also differ significantly, thus affecting the sensorless control effect.
[0055] Based on this, the present invention proposes a fault-tolerant control method for a motor position sensor, which mainly aims to improve the fault-tolerant control of the motor by the flux observer, improve the accuracy of the initial value of the observation, thereby improving the control effect of the flux observer, and thus improving the performance of the redundant control of the rotary transformer.
[0056] To better understand the above technical solutions, exemplary embodiments of this disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of this disclosure to those skilled in the art.
[0057] As one implementation method, the hardware environment architecture involved in the fault-tolerant control method of the motor position sensor can be as follows: Figure 1 As shown.
[0058] Optionally, the fault-tolerant control method for the motor position sensor in this embodiment of the invention can be applied to many scenarios, such as new energy vehicles and flying cars. This embodiment uses the application of a flying car as an example for illustration. Therefore, the hardware architecture terminal involved in this embodiment of the invention can be a flying car or a controller for a flying car.
[0059] In one implementation, the terminal includes: a processor 101, such as a CPU, a memory 102, and a communication bus 103. The communication bus 103 is used to establish communication between these components. The processor 102 is used to invoke an application program to perform control operations.
[0060] The memory 102 can be a high-speed RAM or a stable memory (non-volatile memory), such as a disk storage device.
[0061] It is understood that, in one embodiment, the position sensor fault-tolerant control program implementing the fault-tolerant control method of the motor position sensor is stored in the memory 102 of the terminal, or in a computer-accessible storage medium. When the processor 101 retrieves the position sensor fault-tolerant control program from the memory 102 or the storage medium, it performs the following operations:
[0062] During the operation of the motor, the status information of the motor's rotary transformer is acquired;
[0063] When the rotary transformer is determined to be faulty based on the status information, the first initial position of the motor is used as the initial position of the flux linkage in the preset flux linkage observer. The first initial position is the rotor initial position obtained when the rotary transformer is in normal condition when the motor starts working.
[0064] The current voltage and current values of the motor, as well as the initial position of the flux linkage, are used as input parameters for the preset flux linkage observer. The current estimated rotor position and estimated rotor speed of the motor are obtained through the preset flux linkage observer.
[0065] The motor is controlled in a closed loop based on the estimated rotor position and the estimated rotor speed.
[0066] Optionally, based on the hardware environment architecture involved in the fault-tolerant control method of the motor position sensor described above, the following embodiments of the present invention are proposed.
[0067] First Embodiment
[0068] Please refer to Figure 2 In this embodiment, the fault-tolerant control method for the motor position sensor includes the following steps:
[0069] Step S10: Obtain the status information of the rotary transformer of the motor;
[0070] This embodiment applies to a flying car, where the motor refers to the motor of the flying car's drive system, used to drive the flying car. Optionally, in some embodiments, the motor is a land-based drive motor, and in other optional embodiments, the motor can also be a flight drive motor.
[0071] During operation, the flying car uses a resolver to detect the rotor position (also the rotor angle) and rotor speed of the motor. Based on the detected rotor position and speed, it performs closed-loop control of the motor. Therefore, the motor control is affected by the state of the resolver, and the resolver's state information is monitored during motor operation to ensure the accuracy of the values sampled by the resolver.
[0072] Optionally, the status information of the rotary transformer is obtained through status flag bits. Different information of the status flag bits represents different states of the rotary transformer. Optionally, when the status flag bit flag = 1, it indicates that the state of the rotary transformer is a fault state; when flag ≠ 1 (or is 0), it indicates that the state of the rotary transformer is a normal state.
[0073] Step S20: Determine whether the rotary transformer is faulty based on the status information;
[0074] For example, if the status information is 1 (flag = 1), then the rotary transformer is determined to be faulty, and the detected rotor position and rotor angle of the motor are inaccurate. If the status information is not 1 (flag ≠ 1), then the rotary transformer is determined to be in good condition, and the rotary transformer is in normal working condition, normally collecting the rotor position and rotor speed of the motor.
[0075] Step S30: If the rotary transformer is faulty, determine whether the rotary transformer is faulty during the operation of the motor;
[0076] When the resolver fails, the system can no longer obtain the rotor position and speed of the motor through the resolver. This prevents closed-loop control of the motor, causing the motor drive system to malfunction and affecting the vehicle's normal operation. To ensure vehicle safety and personal safety, the flying car is equipped with a sensorless (resolverless) control strategy. This sensorless control strategy is used to obtain the estimated rotor position and speed of the motor.
[0077] The sensorless control strategy in this embodiment uses a flux linkage observer to estimate the rotor's estimated position and estimated speed. By using the flux linkage observer to estimate the rotor's estimated position and estimated speed, in the event of a motor resolver failure, the estimated rotor position and estimated speed are used to replace the motor position sampling signal, ensuring that the electric drive system can accelerate, decelerate, and operate at a constant speed normally.
[0078] In some embodiments, the initial position of the flux linkage observer is determined by a preset method, or it is directly selected as 0 by default, and the estimated rotor position and estimated rotor speed of the motor are estimated based on the initial flux linkage position of 0. Alternatively, in other embodiments, the initial position of the flux linkage observer can be estimated using an algorithm. However, regardless of whether it is an initial value or an algorithmic estimation, there is room for improvement in accuracy.
[0079] This embodiment employs different methods to obtain the initial position of the flux linkage observer based on different scenarios of resolver failure, in order to maximize the accuracy of the initial flux linkage position. Optionally, the scenarios of resolver failure include, but are not limited to, the following two: For example, in the first scenario, the resolver fails before the motor is used, and when the motor is just started, the resolver cannot detect the rotor estimated position and rotor speed; or, in the second scenario, the resolver suddenly fails during motor operation, etc.
[0080] In the first scenario, since the rotary transformer failed before the motor was used, it couldn't detect the initial rotor position when the motor started. In this scenario, the initial flux linkage position can only be estimated by selecting a default value or an algorithm. Because the flying car is typically still in the parking lot or has just started, a significant difference between the estimated rotor position and estimated rotor speed at this time could lead to stopping the start and preventing safety accidents. Therefore, the requirements for the estimated value are relatively low in this scenario, and selecting a default value or algorithm to estimate the initial flux linkage position has minimal impact on the car's performance.
[0081] In the second scenario, if the rotary transformer suddenly fails during the operation of the motor, it is considered a sudden failure of the flying car during operation. This scenario poses a high safety hazard and requires high control precision without position sensors. Therefore, in this scenario, it is necessary to obtain the initial position of the magnetic flux through other means, and the initial position of the magnetic flux obtained by this method is more accurate than the estimated or default value.
[0082] Based on this, in this embodiment of the invention, when a rotary transformer failure is determined, the scenario of the rotary transformer failure is determined, and it is determined whether the rotary transformer fails during the operation of the motor. If so, it is determined to be the second scenario described above.
[0083] Step S40: If yes, then the first initial position of the motor is taken as the initial position of the magnetic flux in the preset magnetic flux observer;
[0084] In the event of a sudden failure of the rotary transformer during motor operation, the initial position of the magnetic flux is obtained from the initial rotor position of the rotary transformer under normal conditions when the motor just starts working, which is the first initial position.
[0085] The initial position of the flux linkage observer is based on the actual rotor position detected by the hardware, which is closer to reality. By using the actual initial rotor position, the rotor's current position and speed are estimated. Compared with the estimated initial position, the accuracy of the rotor position and speed estimated by the preset flux linkage observer is higher, thereby improving the control effect of the preset flux linkage observer and thus improving the redundancy control performance of the rotary transformer.
[0086] Step S50: If not, use the second initial position as the initial position of the magnetic flux in the preset magnetic flux observer;
[0087] If not, then it is determined to be the first scenario described above. In the first scenario described above, a default value or an estimated value can be selected as the initial position of the flux linkage of the preset flux linkage observer. Optionally, the second initial position is a default value, such as 0; or, the second initial position is a value estimated by an algorithm, which may include, but is not limited to, the algorithms listed in the following fourth embodiment.
[0088] Step S60: Use the current voltage value, current value of the motor and the initial position of the flux linkage as input parameters of the preset flux linkage observer, and obtain the current estimated rotor position and estimated rotor speed of the motor through the preset flux linkage observer;
[0089] In this embodiment, the flux linkage observer converts the current voltage and current values of the motor into corresponding estimated rotor position and estimated rotor speed. Therefore, during the execution of flux linkage observer control, it is necessary to obtain the current voltage and current values of the motor.
[0090] Optionally, the flux linkage observer estimates the rotor's estimated position and rotor's estimated speed by combining the voltage value, current value, and the initial position of the flux linkage. For details, please refer to the third embodiment.
[0091] Step S70: Perform closed-loop control on the motor based on the estimated rotor position and the estimated rotor speed.
[0092] Optionally, if the rotary transformer fails, the system needs to enter fault-tolerant control. In this embodiment, after calculating the estimated rotor position and estimated rotor speed based on the above steps, the motor can be directly controlled in a closed loop based on the estimated rotor position and the estimated rotor speed.
[0093] Alternatively, in another optional embodiment, after calculating the estimated rotor position and estimated rotor speed based on the above steps, a fault-tolerant control entry judgment is also required. That is, after step S60, the following steps are also included:
[0094] Step S80: Determine whether the motor meets the fault-tolerant control conditions based on the estimated rotor position;
[0095] If so, that is, when the motor meets the fault-tolerant control conditions based on the rotor estimated position, step S70 is executed;
[0096] If not, that is, if the motor does not meet the fault-tolerant control conditions based on the estimated rotor position, step S90 is executed to perform closed-loop control on the motor based on the actual rotor position and actual rotor speed collected by the rotary transformer.
[0097] In this embodiment, after the rotor position is estimated, it is also determined whether the estimated rotor position meets the fault-tolerant control conditions before entering closed-loop control. This is to avoid situations where safety events occur when the estimated rotor position and estimated rotor speed estimated by the flux observer have large errors, and the motor is still controlled in an avoidance manner.
[0098] Closed-loop control of the motor is performed only when the motor meets the fault-tolerant control conditions, based on the estimated rotor position and the estimated rotor speed. If the motor does not meet the fault-tolerant control conditions, closed-loop control is performed based on the actual rotor position and actual rotor speed collected by the rotary transformer to avoid excessive control deviations.
[0099] Optionally, in this embodiment, the method for determining whether the motor meets the fault-tolerant control conditions based on the estimated rotor position includes, but is not limited to, the following methods:
[0100] The estimated rotor position is compared with the estimated rotor position at the previous moment to obtain the position difference between the two estimated rotor positions. It is understood that the switch to fault-tolerant control lasts for a preset duration. Within this preset duration, the preset flux linkage observer continuously estimates the rotor position, comparing each estimate with the previously estimated rotor position.
[0101] If the position difference is less than or equal to a preset threshold, the motor is determined to meet the fault-tolerant control conditions. If the position difference is less than or equal to the preset threshold, it indicates that at least two adjacent estimated rotor positions are relatively close, which can eliminate rotor estimated positions with large estimation errors, thereby improving the accuracy of fault-tolerant control.
[0102] If the position difference is greater than the preset threshold and the fault duration is greater than the preset duration, then the motor is determined not to meet the fault-tolerant control conditions. If the position difference is greater than the preset threshold, it indicates an estimation error, and fault-tolerant control cannot be performed based on the rotor's estimated position and speed.
[0103] If the position difference is greater than the preset threshold, and the fault duration of the rotary transformer is determined to be less than or equal to the preset duration, then the process returns to the step of using the motor's voltage value, current value, and initial flux linkage position as input parameters to the preset flux linkage observer to obtain the estimated rotor position and estimated rotor speed of the motor, in order to re-obtain the estimated rotor position. That is, the preset flux linkage observer continues to estimate the estimated rotor position and estimated rotor speed of the motor until the fault-tolerant control switching duration is reached.
[0104] Optionally, determining whether the motor meets the fault-tolerant control conditions further includes: whether this is the first time fault-tolerant control has been initiated. If so, the motor is determined to meet the fault-tolerant control conditions when the position difference is less than or equal to a preset threshold. If it is not the first time entering fault-tolerant control (e.g., the fault-tolerant control conditions are met for the first time, but the fault-tolerant control has not been successfully initiated), then fault-tolerant control will not be initiated again.
[0105] If the rotary transformer is in normal condition, it indicates that the rotary transformer is not faulty and does not meet the redundancy control conditions. In this case, avoidance control is performed on the motor based on the rotor position and rotor speed collected by the rotary transformer. There is no need to estimate the rotor estimated position and rotor estimated speed based on the preset flux linkage observer.
[0106] In the fault-tolerant control of the motor position sensor in this embodiment, different initial flux linkage positions are configured for different scenarios of resolver failure. Then, a preset flux linkage observer estimates the current rotor estimated position and rotor estimated speed of the motor based on the different initial flux linkage positions, thereby performing closed-loop control of the motor. In the scenario where the resolver suddenly fails during motor operation, the initial rotor position detected by the resolver before the failure at the time of motor startup is used as the initial flux linkage position. Since this initial flux linkage position is actually collected by the resolver, it has higher accuracy than the estimated initial value, resulting in better control effect of the flux linkage observer and thus improving the performance of the resolver redundant control. In addition, the high control accuracy increases the probability that the redundant control strategy will successfully enter closed-loop control.
[0107] Second Embodiment
[0108] Please refer to Figure 3 In this embodiment, the fault-tolerant control method for the motor position sensor includes the following steps:
[0109] Step S110: Upon receiving start-up information about the motor, obtain the status information of the rotary transformer;
[0110] This embodiment applies to a flying car, where the motor refers to the motor of the flying car's drive system, used to drive the flying car. Optionally, in some embodiments, the motor is a land-based drive motor, and in other optional embodiments, the motor can also be a flight drive motor.
[0111] During operation, the flying car uses a resolver to detect the rotor position (also the rotor angle) and rotor speed of the motor. Based on the detected rotor position and speed, it performs closed-loop control of the motor. Therefore, the motor control is affected by the state of the resolver, and the resolver's state information is monitored during motor operation to ensure the accuracy of the values sampled by the resolver.
[0112] Optionally, the status information of the rotary transformer is obtained through status flag bits. Different information of the status flag bits represents different states of the rotary transformer. Optionally, when the status flag bit flag = 1, it indicates that the state of the rotary transformer is a fault state; when flag ≠ 1 (or is 0), it indicates that the state of the rotary transformer is a normal state.
[0113] Optionally, the startup information may be a torque input request, torque information, or a startup command, etc. That is, when a torque input request is received, it is determined that startup information about the motor has been received; or, when torque information is detected, it is determined that startup information about the motor has been received; or, when a startup command from the flying car is received, it is determined that startup information about the motor has been received.
[0114] Step S120: When the rotary transformer is determined to be faulty based on the status information, the second initial position is used as the initial position of the magnetic flux in the preset magnetic flux observer;
[0115] Similar to the first embodiment described above, if the rotary transformer is in a faulty state when the motor starts, a default value or an estimated value is selected as the initial position of the flux linkage observer. Optionally, the second initial position is a default value, such as 0; or, the second initial position is a value estimated by an algorithm, which may include, but is not limited to, the algorithms listed in the third embodiment below.
[0116] Step S130: Use the current voltage value, current value of the motor and the initial position of the flux linkage as input parameters of the preset flux linkage observer, and obtain the current estimated rotor position and estimated rotor speed of the motor through the preset flux linkage observer;
[0117] Step S140: Perform closed-loop control on the motor based on the estimated rotor position and the estimated rotor speed;
[0118] In this embodiment, steps S130 and S140 are the same as steps S60 and S70 in the first embodiment described above. Therefore, the specific description of steps S130 and S140 can be found in the first embodiment described above, and will not be repeated here.
[0119] Optionally, if the rotary transformer fails, the system needs to enter fault-tolerant control. In this embodiment, after calculating the estimated rotor position and estimated rotor speed based on the above steps, the motor can be directly controlled in a closed loop based on the estimated rotor position and the estimated rotor speed.
[0120] Alternatively, in another optional embodiment, after calculating the estimated rotor position and estimated rotor speed based on the above steps, a fault-tolerant control entry judgment also needs to be performed. That is, after step S140, the following steps are also included:
[0121] Step S141: Determine whether the motor meets the fault-tolerant control conditions based on the estimated rotor position;
[0122] If so, that is, when the motor meets the fault-tolerant control conditions based on the rotor estimated position, step S140 is executed;
[0123] If not, that is, if the motor does not meet the fault-tolerant control conditions based on the estimated rotor position, then step S142 is executed to perform closed-loop control on the motor based on the actual rotor position and actual rotor speed collected by the rotary transformer.
[0124] In this embodiment, after the rotor position is estimated, it is also determined whether the estimated rotor position meets the fault-tolerant control conditions before entering closed-loop control. This is to avoid situations where safety events occur when the estimated rotor position and estimated rotor speed estimated by the flux observer have large errors, and the motor is still controlled in an avoidance manner.
[0125] Closed-loop control of the motor is performed only when the motor meets the fault-tolerant control conditions, based on the estimated rotor position and the estimated rotor speed. If the motor does not meet the fault-tolerant control conditions, closed-loop control is performed based on the actual rotor position and actual rotor speed collected by the rotary transformer to avoid excessive control deviations.
[0126] Optionally, in this embodiment, the method for determining whether the motor meets the fault-tolerant control conditions based on the estimated rotor position includes, but is not limited to, the following methods:
[0127] The estimated rotor position is compared with the estimated rotor position at the previous moment to obtain the position difference between the two estimated rotor positions. It is understood that the switch to fault-tolerant control lasts for a preset duration. Within this preset duration, the preset flux linkage observer continuously estimates the rotor position, comparing each estimate with the previously estimated rotor position.
[0128] If the position difference is less than or equal to a preset threshold, the motor is determined to meet the fault-tolerant control conditions. If the position difference is less than or equal to the preset threshold, it indicates that at least two adjacent estimated rotor positions are relatively close, which can eliminate rotor estimated positions with large estimation errors, thereby improving the accuracy of fault-tolerant control.
[0129] If the position difference is greater than the preset threshold and the fault duration is greater than the preset duration, then the motor is determined not to meet the fault-tolerant control conditions. If the position difference is greater than the preset threshold, it indicates an estimation error, and fault-tolerant control cannot be performed based on the rotor's estimated position and speed.
[0130] If the position difference is greater than the preset threshold, and the fault duration of the rotary transformer is determined to be less than or equal to the preset duration, then the process returns to the step of using the motor's voltage value, current value, and initial flux linkage position as input parameters to the preset flux linkage observer to obtain the estimated rotor position and estimated rotor speed of the motor, in order to re-obtain the estimated rotor position. That is, the preset flux linkage observer continues to estimate the estimated rotor position and estimated rotor speed of the motor until the fault-tolerant control switching duration is reached.
[0131] Optionally, determining whether the motor meets the fault-tolerant control conditions further includes: whether this is the first time fault-tolerant control has been initiated. If so, the motor is determined to meet the fault-tolerant control conditions when the position difference is less than or equal to a preset threshold. If it is not the first time entering fault-tolerant control (e.g., the fault-tolerant control conditions are met for the first time, but the fault-tolerant control has not been successfully initiated), then fault-tolerant control will not be initiated again.
[0132] Step S150: When the rotary transformer is determined to be in a normal state based on the status information, the first initial position of the motor rotor collected by the rotary transformer is obtained.
[0133] In other words, if the rotary transformer is functioning normally when the motor start-up information is received, it can acquire the normal rotor position and rotor speed. At this time, the first initial position of the motor rotor acquired by the rotary transformer is obtained so that if the rotary transformer suddenly fails during motor operation, it can provide an initial value for the initial position of the flux linkage in the preset flux linkage observer.
[0134] It is understood that the first initial position is the initial rotor position obtained by the rotary transformer under normal conditions when the motor starts working. The second initial position is obtained in a different way than the first initial position. The first initial position is directly acquired by hardware and has higher accuracy, while the second initial position is a default value or estimated by an algorithm and has relatively lower accuracy.
[0135] Step S160: During the operation of the motor, continue to acquire the status information of the motor's rotary transformer;
[0136] Step S170: When the rotary transformer is determined to be faulty based on the status information, the first initial position is used as the initial position of the magnetic flux in the preset magnetic flux observer;
[0137] Return to steps S130 and S140;
[0138] If the rotary transformer suddenly fails during motor operation, the initial position of the magnetic flux is obtained from the initial rotor position when the motor starts working normally, which is the first initial position. Then, based on this first initial position, voltage value, and current value, the estimated rotor position and estimated rotor speed of the motor are estimated, and then the motor is controlled in a closed loop using the estimated rotor position and estimated rotor speed.
[0139] The initial position of the flux linkage observer is based on the actual rotor position detected by the hardware, which is closer to reality. By using the actual initial rotor position, the rotor's current position and speed are estimated. Compared with the estimated initial position, the accuracy of the rotor position and speed estimated by the preset flux linkage observer is higher, thereby improving the control effect of the preset flux linkage observer and thus improving the redundancy control performance of the rotary transformer.
[0140] The fault-tolerant control of the motor position sensor in this embodiment improves the control effect of the flux linkage observer, thereby enhancing the performance of the redundant control of the rotary transformer.
[0141] Third Embodiment
[0142] Please refer to Figure 4 This embodiment is based on all the above embodiments, and this embodiment lists one of the estimation methods for the rotor estimated position and the rotor estimated speed.
[0143] Optionally, the step of obtaining the current estimated rotor position and estimated rotor speed of the motor through the preset flux linkage observer includes:
[0144] Step S61: Determine the flux linkage components of the total motor flux linkage in the alpha axis and the flux linkage components in the beta axis under stationary coordinates based on the voltage value, the current value, and the preset flux linkage estimation model.
[0145] Optionally, the voltage values include the voltage value Ualpha on the alpha axis and the voltage value Ubeta on the beta axis, and the current values include the current value ialpha on the alpha axis and the current value ibeta on the beta axis. These values can be acquired using voltage and current detection devices.
[0146] Optionally, the preset flux linkage estimation model is:
[0147]
[0148]
[0149] Phifalpha_Est=Phialpha_Est-Lq*;
[0150] Phifbeta_Est=Phibeta_Est-Lq*;
[0151] Wherein, the initial value of the flux linkage at time t0 is the initial position of the flux linkage; Phialpha_Est is the component of the equivalent flux linkage of the motor on the alpha coordinate axis; Phibeta_Est is the component of the equivalent flux linkage of the motor on the beta coordinate axis; Phifalpha_Est is the component of the total flux linkage of the motor on the alpha coordinate axis; Phifbeta_Est is the component of the total flux linkage of the motor on the beta coordinate axis; Rs is the stator resistance of the motor; and Lq is the stator inductance of the motor, optionally the q-axis stator inductance.
[0152] The preset flux linkage estimation model is pre-set inside the flying car. When the flux linkage observer is triggered, Ualpha, Ubeta, ialpha, and ibeta are input into the preset flux linkage estimation model. After calculation in the preset flux linkage estimation model, Phifalpha_Est and Phifbeta_Est are output.
[0153] Specifically, the preset flux linkage estimation model is based on Ualpha, Ubeta, ialpha, ibeta and the initial position of the flux linkage. First, the components of the equivalent flux linkage of the motor on the alpha coordinate axis and the components on the beta coordinate axis are obtained respectively. Then, Phifalpha_Est and Phifbeta_Est are obtained by the difference with the stator inductance of the motor.
[0154] Step S62: The flux linkage components of the alpha axis and the beta axis are used to obtain the estimated rotor position and the estimated rotor speed through a phase-locked loop.
[0155] First, the flux linkage components on the alpha axis, the flux linkage components on the beta axis, and the stator inductance of the motor are calculated using the heterodyne method to estimate the rotor error angle.
[0156] Alternatively, the heterodyne method can be used to estimate the rotor's error angle as follows:
[0157]
[0158] Where Phif = permanent magnet flux linkage Pham + salient pole flux linkage (Ld - Lq) * d-axis current input value Id, and Ld is the d-axis motor stator inductance.
[0159] After estimating the error angle, a PI controller processes the error angle to calculate the rotor's electrical angular velocity. Specifically, the estimated rotor position is obtained based on the integral of the initial flux linkage position and the electrical angular velocity; the estimated rotor speed is determined based on the electrical angle signal and the number of motor pole pairs.
[0160] In this embodiment, the flux linkage observer uses the motor flux linkage as the observation for estimating the motor position and speed, enabling the motor to start running at extremely low speeds or even zero speeds. Compared to the back EMF-based observer, which cannot accurately estimate the motor position and speed signals at low speeds, this embodiment increases the probability of redundant control successfully entering closed-loop control.
[0161] Fourth embodiment
[0162] This embodiment is based on all the above embodiments. In this embodiment, the position signal estimated by the high-frequency signal injection method is used to calculate the initial position of the magnetic flux of the preset magnetic flux observer. The high-frequency signal injection method can estimate the motor position more accurately than the default value. Therefore, compared with directly using the default value 0 as the initial position of the magnetic flux of the preset magnetic flux observer, this embodiment is more applicable to a wider range of scenarios and has higher accuracy than the default value 0.
[0163] Optionally, combined Figure 5 As shown, the process of estimating the motor position signal used to calculate the initial position of the flux linkage observer using the high-frequency signal injection method in this embodiment includes the following steps:
[0164] First, set the reference values of the motor's d-axis current Id and q-axis current Iq in the rotating coordinate system to be equal to 0. Simultaneously, superimpose high-frequency voltage signals with frequency wh and amplitude Vh onto the motor voltages Ualpha and Ubeta in the stationary coordinate system. Then, the input signal for SVM modulation can be expressed as:
[0165] Ualphain=Ualpha+Vh*cos(wh*t);
[0166] Ubetain=Ubeta+Vh*sin(wh*t);
[0167] Where Ualphain is the input voltage on the alpha axis, Ubetain is the input voltage on the beta axis, and t is the current time.
[0168] The second step involves sampling and calculating the currents ialphar and ibetar in the stationary coordinate system, then using a rotating coordinate system with wh as the frequency, and filtering to obtain the negative phase sequence current component.
[0169] ialphah=Ih*cos(2*Theta0m_Est-wh*t+pi / 2);
[0170] ibetah=Ih*sin(2*Theta0m_Est-wh*t+pi / 2);
[0171] Where ialphah is the negative phase sequence current along the alpha axis, and ibetah is the negative phase sequence current along the beta axis.
[0172] Thirdly, similarly, the tracking error angle is obtained using the heterodyne method. Optionally, the formula for calculating the tracking error angle is as follows:
[0173]
[0174] Here, Theta0mp_Est is the motor position signal from the previous moment.
[0175] The fourth step involves calculating the rotational speed signal and the position signal Theta0m_Est using a phase-locked loop.
[0176] Fifth, using theta_Est as the motor electrical angle signal, let Uq = 0, and the d-axis voltage amplitude be Un. Inject d-axis voltage Un and d-axis voltage -Un in two adjacent time periods T, respectively, and obtain their corresponding d-axis currents Idp and Idn. If Idp is greater than Idn, then the initial position of the motor rotor (the second initial position) Theta0_Est = theta_Est; otherwise, Theta0_Est = theta_Est + 2PI. Then, use the initial position of the electronic rotor as the initial position of the flux linkage observer.
[0177] Please refer to Figure 6 The present invention also provides a fault-tolerant control system for a motor position sensor, the control system comprising: an initial position signal estimation module, a resolver initial position signal module, a switching module, a flux linkage estimation module, a rotational position signal module, and a redundant control output module (fault-tolerant control output module).
[0178] The initial position estimation signal module is used to estimate the second initial position of the motor rotor using a high-frequency signal injection method. When the motor starts, if the resolver fails, the second initial position estimated by the initial position estimation signal module will be used as the initial value (initial position of flux linkage) of the flux linkage observer.
[0179] The resolver initial position signal module is used to trigger the resolver to collect the rotor position signal at the moment of motor startup and operation, which is used as the first initial position. When the motor starts, if the resolver is working normally, the collected first initial position is used as the initial value of the flux linkage observer (initial flux linkage position).
[0180] The switching module is connected to the estimated initial position signal module and the resolver initial position signal module respectively. The switching module is used to determine whether to select the second initial position transmitted by the estimated initial position signal module or the first initial position transmitted by the resolver initial position signal module based on the fault signal of the resolver at the time of motor start-up and operation. In other words, it is used to determine the source of the initial value of the flux observer (initial position of flux).
[0181] The flux linkage estimation module, connected to the switching module, is used to calculate the estimated rotor position and estimated rotor speed of the motor by estimating the motor flux linkage.
[0182] The resolver position signal module is used to acquire the position and rotation speed signals of the resolver in real time.
[0183] The redundant control output module has its input terminals connected to the flux linkage estimation module and the resolver position signal module, respectively, and its output terminal connected to the motor control system. The redundant control output module is used to determine, based on the motor's operating state and the resolver's fault state, whether to use the estimated motor position and speed signals and output them to the motor control system, or to use the position and speed signals collected by the resolver position signal module and output them to the motor control system. Specifically, if the resolver is faulty, the estimated motor position and speed signals are output to the motor control system; if the resolver is operating normally, the position and speed signals collected by the resolver position signal module are output to the motor control system.
[0184] This invention also provides a flying car, which includes: a memory, a processor, a motor, and a position sensor fault-tolerant control program stored in the memory and executable on the processor. The processor controls the motor, and when the position sensor fault-tolerant control program is executed by the processor, it implements the steps of the fault-tolerant control method for the motor position sensor as described above.
[0185] This invention also provides a computer-readable storage medium storing a position sensor fault-tolerant control program. When executed by a processor, the position sensor fault-tolerant control program implements the steps of the fault-tolerant control method for a motor position sensor as described above.
[0186] It should be noted that the above are merely optional embodiments of the present invention and do not limit the patent scope of the present invention. Any equivalent structural or procedural transformations made based on the content of the present invention's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of the present invention.
Claims
1. A fault-tolerant control method for a motor position sensor, characterized in that, The control method includes the following steps: During the operation of the motor, the status information of the motor's rotary transformer is acquired; When the rotary transformer is determined to be faulty based on the status information, the first initial position of the motor is used as the initial position of the flux linkage in the preset flux linkage observer. The first initial position is the rotor initial position obtained when the rotary transformer is in normal condition when the motor starts working. The current voltage and current values of the motor, as well as the initial position of the flux linkage, are used as input parameters for the preset flux linkage observer. The current estimated rotor position and estimated rotor speed of the motor are obtained through the preset flux linkage observer. The motor is controlled in a closed loop based on the estimated rotor position and the estimated rotor speed.
2. The fault-tolerant control method for a motor position sensor as described in claim 1, characterized in that, The control method further includes: Upon receiving start-up information for the motor, the status information of the rotary transformer is obtained; When the rotary transformer is determined to be faulty based on the status information, the second initial position is used as the initial position of the flux linkage in the preset flux linkage observer, and the step of using the current voltage value, current value and the initial position of the motor as input parameters of the preset flux linkage observer to obtain the current estimated rotor position and estimated rotor speed of the motor through the preset flux linkage observer is executed. The second initial position is obtained in a different way than the first initial position. When the rotary transformer is determined to be in a normal state based on the state information, the first initial position of the motor rotor collected by the rotary transformer is obtained, and after obtaining the first initial position, the step of obtaining the state information of the rotary transformer of the motor during the operation of the motor is executed.
3. The fault-tolerant control method for a motor position sensor as described in claim 2, characterized in that, The control method includes: The second initial position of the motor rotor is estimated using a high-frequency injection algorithm.
4. The fault-tolerant control method for a motor position sensor as described in claim 1, characterized in that, After the step of using the current voltage and current values of the motor and the initial position of the flux linkage as input parameters of the preset flux linkage observer, and obtaining the current estimated rotor position and estimated rotor speed of the motor through the preset flux linkage observer, the method further includes: When the motor meets the fault-tolerant control conditions based on the estimated rotor position, the step of performing closed-loop control on the motor based on the estimated rotor position and the estimated rotor speed is executed.
5. The fault-tolerant control method for a motor position sensor as described in claim 4, characterized in that, The control method further includes: The estimated rotor position is compared with the estimated rotor position at the previous moment to obtain the position difference between the estimated rotor positions at the two moments. If the position difference is less than or equal to a preset threshold, the motor is determined to meet the fault-tolerant control conditions. If the position difference is greater than the preset threshold and the fault duration of the rotary transformer is determined to be less than or equal to the preset duration, then return to the step of using the voltage value, current value and initial position of the motor as input parameters of the preset flux linkage observer, and obtaining the estimated rotor position and estimated rotor speed of the motor through the preset flux linkage observer, so as to obtain the estimated rotor position again. If the position difference is greater than the preset threshold and the fault duration is greater than the preset duration, then the motor is determined not to meet the fault-tolerant control conditions.
6. The fault-tolerant control method for a motor position sensor as described in claim 1, characterized in that, The step of obtaining the current estimated rotor position and estimated rotor speed of the motor through the preset flux linkage observer includes: The total flux linkage of the motor in stationary coordinates is determined based on the voltage value, the current value, and the preset flux linkage estimation model, including the flux linkage components on the alpha and beta axes. The estimated rotor position and estimated rotor speed are obtained by using the flux linkage components of the alpha axis and the beta axis through a phase-locked loop.
7. The fault-tolerant control method for a motor position sensor as described in claim 6, characterized in that, The step of obtaining the estimated rotor position and the estimated rotor speed by using the flux linkage components of the alpha axis and the beta axis through a phase-locked loop includes: The rotor error angle is estimated by calculating the flux linkage components on the alpha axis, the flux linkage components on the beta axis, and the stator inductance of the motor using the heterodyne method. The error angle is processed by a PI controller to calculate the electric angular velocity of the rotor; The estimated position of the rotor is obtained by integrating the initial position of the magnetic flux and the electric angular velocity. The estimated rotor speed is determined based on the electric angular velocity and the number of motor pole pairs.
8. The fault-tolerant control method for a motor position sensor as described in claim 6, characterized in that, The preset magnetic flux estimation model is as follows: ; ; Phifalpha_Est = Phialpha_Est - Lq*ialpha; Phifbeta_Est = Phibeta_Est - Lq*ibeta; Wherein, the initial value of the flux linkage at time t0 is the initial position of the flux linkage; Phialpha_Est is the component of the equivalent flux linkage of the motor on the alpha coordinate axis; Phibeta_Est is the component of the equivalent flux linkage of the motor on the beta coordinate axis; Phifalpha_Est is the component of the total flux linkage of the motor on the alpha coordinate axis; Phifbeta_Est is the component of the total flux linkage of the motor on the beta coordinate axis; Rs is the stator resistance of the motor; Lq is the stator inductance of the motor; Ualpha is the voltage value on the alpha coordinate axis; ialpha is the current value on the alpha coordinate axis; Ubeta is the voltage value on the beta coordinate axis; and ibeta is the current value on the beta coordinate axis.
9. A flying car, characterized in that, The flying car includes: a memory, a processor, a motor, and a position sensor fault-tolerant control program stored in the memory and executable on the processor. The processor controls the motor, and when executed by the processor, the position sensor fault-tolerant control program implements the steps of the fault-tolerant control method for the motor position sensor as described in any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a position sensor fault-tolerant control program, which, when executed by a processor, implements the steps of the fault-tolerant control method for a motor position sensor as described in any one of claims 1 to 8.