Motor control method, motor drive system, and electric power steering system
10673364 ยท 2020-06-02
Assignee
Inventors
Cpc classification
H02P21/36
ELECTRICITY
H02P21/09
ELECTRICITY
H02P29/032
ELECTRICITY
H02P6/12
ELECTRICITY
H02P27/12
ELECTRICITY
B62D6/00
PERFORMING OPERATIONS; TRANSPORTING
B62D5/04
PERFORMING OPERATIONS; TRANSPORTING
H02P29/024
ELECTRICITY
B62D5/0484
PERFORMING OPERATIONS; TRANSPORTING
International classification
H02P21/00
ELECTRICITY
B62D5/04
PERFORMING OPERATIONS; TRANSPORTING
B62D6/00
PERFORMING OPERATIONS; TRANSPORTING
H02P21/09
ELECTRICITY
H02P27/12
ELECTRICITY
G07C5/08
PHYSICS
H02P29/024
ELECTRICITY
H02P21/36
ELECTRICITY
Abstract
A motor control method includes acquiring three current values of three-phase currents flowing through a motor, the three current values being detected by three current sensors, and two rotor angles of the motor, the two rotor angles being detected by two position sensors; performing six ways of calculation using two of the three current values and one of the two rotor angles; identifying at least one failed sensor from among the current sensors as well as the position sensors, using a table showing a relationship between a failed sensor and a pattern of a result of each of the six ways of calculation; selecting, as a normal sensor, a sensor different from the at least one failed sensor identified; and controlling the motor using the normal sensor selected.
Claims
1. A method for controlling a motor, the method comprising: (A) acquiring three current values Ia, Ib, and Ic of three-phase currents flowing through the motor, the three current values Ia, Ib, and Ic being detected by three current sensors, and two rotor angles a and b of the motor, the two rotor angles a and b being detected by two position sensors; (B) performing six ways of calculation using two of the three current values Ia, Ib, and Ic and one of the two rotor angles a and b; (C) identifying at least one failed sensor from among the current sensors and the position sensors, using a table showing a relationship between a failed sensor and a pattern of a result of each of the six ways of calculation; (D) selecting, as a normal sensor, a sensor different from the at least one failed sensor identified; and (E) controlling the motor, using the normal sensor selected.
2. The motor control method according to claim 1, wherein when the failed sensor is present, a result of calculation using a current value or a rotor angle detected by the failed sensor among the six ways of calculation is abnormal.
3. The motor control method according to claim 2, wherein a result of calculation using a current value and a rotor angle detected by sensors different from the failed sensor among the six ways of calculation is normal.
4. The motor control method according to claim 2, wherein the identifying step (C) includes (c1) identifying, as a failed sensor, a sensor detecting a current value or a rotor angle used for all abnormal results of calculation among the six ways of calculation.
5. The motor control method according to claim 1, wherein each of the two rotor angles a and b detected by the two position sensors is a mechanical angle; and each of the six ways of calculation (B) includes: calculating an electrical angle est, using two of the three current values Ia, Ib, and Ic; converting one of the two rotor angles a and b into an electrical angle e; and outputting an error signal indicating an abnormal result when an absolute value of a difference between the electrical angle est and the electrical angle e is equal to or more than a predetermined value.
6. The motor control method according to claim 1, wherein when one of the current sensors is identified as a failed sensor, the selecting step (D) includes (d1) selecting, as a normal sensor, a current sensor different from the current sensor identified as the failed sensor.
7. The motor control method according to claim 1, wherein when one of the position sensors is identified as a failed sensor, the selecting step (D) includes (d2) selecting, as a normal sensor, a position sensor different from the position sensor identified as the failed sensor.
8. The method according to claim 1, further comprising generating a notification signal for notifying a human when at least one of the current sensors and the position sensors is identified as a failed sensor.
9. The motor control method according to claim 1, further comprising stopping the motor when two of the three current sensors are each identified as a failed sensor.
10. The motor control method according to claim 1, further comprising stopping the motor when all the position sensors are each identified as a failed sensor.
11. A motor drive system comprising: a motor; three current sensors to respectively detect current values of three-phase currents flowing through the motor; two position sensors to respectively detect rotor angles of the motor; and a control circuit to control the motor; wherein the control circuit acquires the three current values Ia, Ib, and Ic of the three-phase currents flowing through the motor, the three current values Ia, Ib, and Ic being detected by the three current sensors, and the two rotor angles a and b of the motor, the two rotor angles a and b being detected by two position sensors; the control circuit performs six ways of calculation using two of the three current values Ia, Ib, and Ic and one of the two rotor angles a and b; the control circuit identifies at least one failed sensor from among the current sensors as well as the position sensors, using a table showing a relationship between a failed sensor and a pattern of a result of each of the six ways of calculation; the control circuit selects, as a normal sensor, a sensor different from the at least one failed sensor identified; and the control circuit controls the motor, using the normal sensor selected.
12. An electric power steering system comprising: the motor drive system according to claim 11.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)
(51)
(52)
(53)
(54)
(55)
(56)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(57) With reference to the accompanying drawings, hereinafter, a specific description will be given of a motor control method, a motor drive system, and an electric power steering system according to an embodiment of the present disclosure. However, a specific description more than necessary will be occasionally omitted in order to avoid making the following description redundant more than necessary and to facilitate the understanding of a person skilled in the art. For example, a specific description on a well-known matter will be omitted occasionally. In addition, a repetitive description on substantially identical configurations will also be omitted occasionally. A motor drive system to be described later is mainly installed in an electric power steering system; however, a motor drive system according to an embodiment of the present disclosure is not limited thereto. A motor drive system according to an embodiment of the present disclosure is also applicable to any system in addition to an electric power steering system.
(58)
(59) The motor drive system 1000 typically includes a motor M, three current sensors I1, I2, and I3, two position sensors 1 and 2, a controller 100, a drive circuit 200, an inverter (also referred to as an inverter circuit) 300, a shutdown circuit 400, an analog-to-digital conversion circuit (hereinafter, referred to as an AD converter) 600, a notification device 800, and a read only memory (ROM) 900.
(60) For example, the motor drive system 1000 may be designed in modules as a power pack, and may be manufactured and sold in the form of a motor module including a motor, a sensor, a driver, and a controller. It should be noted herein that the motor drive system 1000 will be described as an exemplary system including as its constituent the motor M. Alternatively, the motor drive system 1000 may be a system excluding as its constituent the motor M, the system being configured to drive the motor M.
(61) Examples of the motor M may include a permanent magnet synchronous motor, such as a surface permanent magnet synchronous motor (SPMSM) or an interior permanent magnet synchronous motor (IPMSM), and a three-phase alternating-current motor. For example, the motor M includes three-phase (i.e., U phase, V phase, W phase) wires (not illustrated). The three-phase wires are electrically connected to the inverter 300.
(62) The controller 100 is a control circuit that controls the overall operation of the motor drive system 1000. For example, the controller 100 is a micro control unit (MCU). Alternatively, the controller 100 may be a field programmable gate array (FPGA) in which a CPU core is incorporated.
(63) For example, the controller 100 controls the torque and rotational speed of the motor M by vector control. The rotational speed (unit: rpm) is expressed by the number of revolutions of a rotor per unit time (e.g., one minute). The vector control is a method of decomposing a current flowing through a motor into a current component generating a torque and a current component generating a magnetic flux, and independently controlling the current components that are perpendicular to each other. For example, the controller 100 sets a target current value in accordance with actual current values measured by the three current sensors I1, I2, and I3, rotor angles measured by the two position sensors 1 and 2 (i.e., output signals from the two position sensors 1 and 2), and others. The controller 100 generates a pulse width modulation (PWM) signal, based on the target current value, and then outputs the PWM signal to the drive circuit 200.
(64) When at least one of the three current sensors I1, I2, and I3 as well as the two position sensors 1 and 2 fails, the controller 100 detects occurrence of a sensor fault. The controller 100 then identifies the failed sensor. A method of detecting and identifying the failed sensor will be specifically described later. When the controller 100 identifies the failed sensor, then the controller 100 selects, as a normal sensor, a sensor different from the failed sensor. The controller 100 performs control to drive the motor, using the selected normal sensor. In addition, when the controller 100 identifies, as the failed sensor, at least one of the three current sensors I1, I2, and I3 as well as the two position sensors 1 and 2, then the controller 100 outputs a notification signal to the notification device 800. The operation of the notification device 800 will be specifically described later.
(65) For example, the drive circuit 200 is a gate driver. The drive circuit 200 generates a control signal for controlling the switching operation of a switching element in the inverter 300, in accordance with a PWM signal to be output from the controller 100. It should be noted that the drive circuit 200 may be incorporated in the controller 100 as will be described later.
(66) For example, the inverter 300 converts, into alternating-current power, direct-current power to be supplied from a direct-current power source (not illustrated) such as a battery, and then drives the motor M with the converted alternating-current power. For example, the inverter 300 converts direct-current power into three-phase alternating-current power of U-phase, V-phase, and W-phase pseudo sine waves, based on a control signal to be output from the drive circuit 200. The three-phase alternating-current power thus converted is used for driving the motor M.
(67) For example, the shutdown circuit 400 includes a semiconductor switch element, such as a field-effect transistor (FET, typically a metal-oxide-semiconductor FET (MOSFET)) or an insulated gate bipolar transistor (IGBT), or a mechanical relay. The shutdown circuit 400 is electrically connected between the inverter 300 and the motor M. When the controller 100 detects failed sensors the number of which is equal to or more than a predetermined number, then the controller 100 outputs a shutdown signal for stopping the motor. The shutdown circuit 400 interrupts the electrical connection between the inverter 300 and the motor M, in accordance with the shutdown signal to be output from the controller 100. For example, the shutdown signal when being asserted turns off the semiconductor switch element of the shutdown circuit 400, and interrupts the electrical connection between the inverter 300 and the motor M. Thus, the shutdown circuit 400 stops power supply from the inverter 300 to the motor M.
(68) The three current sensors I1, I2, and I3 respectively detect current values of three-phase currents flowing through the motor M. Specifically, the current sensor I1 detects a current value Ia of a current flowing through the U-phase wire. The current sensor I2 detects a current value Ib of a current flowing through the V-phase wire. The current sensor I3 detects a current value Ic of a current flowing through the W-phase wire. For example, each current sensor includes a shunt resistor, and a current detection circuit (not illustrated) that detects a current flowing through the shunt resistor. For example, the shunt resistor has a resistance value of about 0.1.
(69) The AD converter 600 converts by sampling, into digital signals, analog signals to be output from the three current sensors I1, I2, and I3, and then outputs the converted digital signals to the controller 100. Alternatively, the controller 100 may perform such AD conversion. In this situation, the three current sensors I1, I2, and I3 directly output analog signals to the controller 100.
(70) The position sensors (also referred to as angle sensors) 01 and 02 are disposed on the motor M, and each detect a rotor angle (rotor position) of the motor M, that is, a mechanical angle of the rotor. For example, the two position sensors 1 and 2 each include a resolver, a rotary encoder, or a Hall IC (including a Hall element). The two position sensors 1 and 2 respectively output the mechanical angles of the rotor to the controller 100. The controller 100 thus acquires the mechanical angles of the rotor.
(71) For example, the motor drive system 1000 may include, as each of the two position sensors 1 and 2, a magnetic sensor including a magnetoresistive (MR) element, a speed sensor, or an acceleration sensor. In cases where a speed sensor is employed as each position sensor, the controller 100 subjects a rotational speed signal or an angular velocity signal to, for example, integration processing, thereby acquiring a position of the rotor, that is, an angle of rotation of the rotor. An angular velocity (unit: rad/s) is expressed by an angle of rotation of the rotor per second. In cases where an acceleration sensor is employed in place of each position sensor, the controller 100 calculates, from an angular acceleration signal, a position of the rotor, that is, an angle of rotation of the rotor. As used herein, the position sensor may include any sensor in addition to a sensor configured to acquire a rotor angle. Examples of the position sensor may include the magnetic sensor, the speed sensor, and the acceleration sensor each described above. In addition, the term acquire involves, for example, receiving a mechanical angle of a rotor from the outside, and acquiring a mechanical angle of a rotor in such a manner that the controller 100 calculates the mechanical angle.
(72) For example, the notification device 800 includes a light emitting diode (LED). For example, when the controller 100 asserts a notification signal, the notification device 800 lights up or blinks in response to this assertion. For example, in cases where the motor drive system 1000 is installed in an automobile, the notification device 800 may be mounted on an instrument panel of a dashboard in addition to meters such as a speedometer and a tachometer. The notification device 800 allows a human to recognize the occurrence of a fault at the motor drive system. Alternatively, the notification device 800 may include a loudspeaker configured to give an alarm to a human by sound. Still alternatively, the notification device 800 may include a display device configured to give an alarm to a human in the form of at least one of an image and a character displayed thereon. Yet alternatively, the notification device 800 may appropriately combine the light, sound, and display with one another to give an alarm to a human.
(73) Examples of the ROM 900 may include a programmable memory (e.g., a programmable read only memory (PROM)), a reprogrammable memory (e.g., a flash memory), and a read-only memory. The ROM 900 stores therein a control program including a group of commands that cause the controller 100 to control the motor M. For example, in booting the motor drive system 1000, the control program is once developed onto a random access memory (RAM) (not illustrated). It should be noted that the ROM 900 is not necessarily disposed outside the controller 100 as an external unit, but may be incorporated in the controller 100. For example, the controller 100, in which the ROM 900 is incorporated, may be the MCU described above.
(74) With reference to
(75) The inverter 300 includes three lower-arm switching elements and three upper-arm switching elements. In
(76) The three current sensors I1, I2, and I3 may be disposed at any positions so long as to be capable of detecting current values of three-phase currents flowing through the motor M. In this example, each of the current sensors I1, I2, and I3 includes a shunt resistor Rs disposed in the inverter 300. The current sensors I1, I2, and I3 respectively detect currents flowing through the U-phase, V-phase, and W-phase wires. In this example, the currents are detected by a so-called three shunt method. As illustrated in
(77) For example, the controller 100 performs three-phase energization control using the vector control, thereby driving the motor M. For example, the controller 100 generates a PWM signal for the three-phase energization control, and outputs the PWM signal to the drive circuit 200. The drive circuit 200 generates, based on the PWM signal, a gate control signal for controlling the switching operation of each FET in the inverter 300, and then sends the gate control signal to the gate of each FET.
(78)
(79) First, a description will be given of a sensor fault according to an embodiment of the present disclosure on the assumption that a position sensor fails. For example, a magnetic sensor is widely used as a position sensor in the motor drive system 1000 for an electric power steering (EPS) system in an automobile. In the embodiment, the magnetic sensor includes a MR element. For example, a sensor magnet is formed by injection molding on a shaft of a motor. For example, the magnetic sensor is mounted on a circuit board (not illustrated) for the motor. As the shaft rotates, the sensor magnet also rotates. Therefore, the magnetic sensor detects a change in magnetic flux caused by a change in position of the magnetic pole.
(80) Typically, the sensor magnet is firmly fixed to the shaft. However, if a vehicle such as an automobile undergoes any strong impact from the outside (e.g., an impact to be caused when a vehicle runs up onto a curb), this impact is transmitted to the shaft, which may result in breakage or deformation of the sensor magnet. Alternatively, this impact may cause positional displacement of the sensor magnet. The breakage, deformation, or positional displacement makes the magnetic sensor difficult to accurately detect a position of a rotor. As used herein, the fault of the position sensor includes not only a fault of a position sensor, but also a breakage of a sensor magnet. In addition, the fault of the current sensor includes a breakage of a shunt resistor. When a sensor fault occurs at the motor drive system 1000, preferably, the motor is continuously driven without use of a failed sensor.
(81) Next, a description will be given of an algorithm in detecting, identifying, and isolating a failed sensor according to the embodiment. The algorithm in identifying and isolating a failed sensor according to the embodiment may be implemented with only hardware such as an application specific integrated circuit (ASIC) or a FPGA, or may be implemented by a combination of hardware with software.
(82)
(83) For example, the controller 100 includes a failed-sensor detection and isolation unit 100A and a vector control unit 100B. As used herein, each functional block is referred to as a unit for convenience of the description. Naturally, the term unit is not used to limit and interpret each functional block to and as hardware or software. In the following description, the failed-sensor detection and isolation unit 100A will be simply referred to as a detection and isolation unit 100A as appropriate.
(84) The current sensors I1, I2, and I3 respectively detect three current values Ia, Ib, and Ic of three-phase currents flowing through the motor M. The position sensor 1 detects a rotor angle a of the motor M, and the position sensor 2 detects a rotor angle b of the motor M. The detection and isolation unit 100A performs six ways of calculation using two of the three current values Ia, Ib, and Ic and one of the two rotor angles a and b. The detection and isolation unit 100A then identifies at least one failed sensor from among the current sensors I1, I2, and I3 as well as the position sensors 1 and 2, based on a result of the calculation. For example, the detection and isolation unit 100A identifies a failed sensor, using a table showing a relationship between failed sensors and results of six ways of calculation obtained in advance. The detection and isolation unit 100A then selects, as a normal sensor, a sensor different from the failed sensor, without selecting the failed sensor. This processing will be specifically described later. In the embodiment, the term isolation refers to not select a failed sensor identified, that is, not use a failed sensor identified.
(85) The vector control unit 100B performs typical calculation required for vector control. It should be noted that the vector control is a known technique; therefore, the specific description thereof will not be given here.
(86)
(87) Each of the fault detection units FD1 to FD6 receives two of the three current values Ia, Ib, and Ic, one of the two rotor angles a and b, and a reference voltage. In this example, the fault detection unit FD1 receives the current values Ia and Ib, and the rotor angle a. The fault detection unit FD2 receives the current values Ia and Ib, and the rotor angle b. The fault detection unit FD3 receives the current values Ib and Ic, and the rotor angle a. The fault detection unit FD4 receives the current values Ib and Ic, and the rotor angle b. The fault detection unit FD5 receives the current values Ic and Ia, and the rotor angle a. The fault detection unit FD6 receives the current values Ic and Ia, and the rotor angle b.
(88)
(89) Each of the fault detection units FD1 to FD6 includes a three-phase current calculation unit 110, a Clarke transformation unit 111, an angle conversion unit 120, a Clarke transformation unit 130, a magnetic flux calculation unit 140, a rotor angle calculation unit 141, a subtraction unit 143, a maximum acceptable rotor angle unit 144, and a level comparison unit 150.
(90) In cases where the respective functional blocks are mounted as software in the controller 100, the software may be executed by, for example, a core of the controller 100. As described above, the controller 100 may be implemented with a FPGA. In this situation, all of or some of the functional blocks may be implemented by hardware. In addition, when the processing is executed in a decentralization manner using a plurality of FPGAs, load of calculation on a specific computer is decentralized. In this situation, all of or some of the functional blocks illustrated in
(91) The three-phase current calculation unit 110 receives two of the current values Ia, Ib, and Ic, and calculates a remaining one of the current values Ia, Ib, and Ic. According to the three-phase energization control, a sum of the current values of the three-phase currents is zero. In other words, a relation to be satisfied is that a sum of the current values Ia, Ib, and Ic is zero. With this relation, the three-phase current calculation unit 110 calculates, from the two current values, the remaining one current value. The three-phase current calculation unit 110 thus acquires the current values Ia, Ib, and Ic. The three-phase current calculation unit 110 outputs the current values Ia, Ib, and Ic to the Clarke transformation unit 111.
(92) The Clarke transformation unit 111 transforms the current values Ia, Ib, and Ic output from the three-phase current calculation unit 110, into a current value I on the axis and a current value I on the axis in an fixed coordinate system, by so-called Clarke transformation for use in, for example, the vector control. The fixed coordinate system is a stationary coordinate system. The axis extends in a direction of one of three phases (e.g., a U-phase direction), and the axis extends in a direction perpendicular to the axis. The Clarke transformation unit 111 outputs the current values I and I to the magnetic flux calculation unit 140.
(93) As in the Clarke transformation unit 111, the Clarke transformation unit 130 transforms reference voltages Va*, Vb*, and Vc* into a reference voltage V* on the axis and a reference voltage V* on the axis in the fixed coordinate system, by the Clarke transformation. The reference voltages Va*, Vb*, and Vc* respectively represent the PWM signals for controlling the switching elements in the inverter 300. The Clarke transformation unit 130 outputs the reference voltages V* and V* to the magnetic flux calculation unit 140.
(94) The magnetic flux calculation unit 140 calculates magnetic fluxes and in the fixed coordinate system, using the current values I and I as well as the reference voltages V* and V*. For example, the magnetic fluxes and are calculated in such a manner that a low-pass filter performs processing on (V*RI) and (V*RI) in Equation (1) and Equation (2). In Equations (1) and (2), LPF represents the processing by the low-pass filter.
=LPF(V*RI)Equation (1)
=LPF(V*RI)Equation (2)
(95) Also in Equations (1) and (2), R represents an armature resistance. For example, the armature resistance R is set for the magnetic flux calculation unit 140 by the core of the controller 100. A complex magnetic flux is expressed by Equation (3).
=(.sup.2+.sup.2).sup.1/2Equation (3)
(96) The magnetic flux calculation unit 140 outputs the magnetic fluxes and to the rotor angle calculation unit 141.
(97) The rotor angle calculation unit 141 calculates an estimated electrical angle est, using the magnetic fluxes and . For example, the estimated electrical angle est is calculated from Equation (4), Equation (5), and Equation (6).
=tan.sup.1(/)Equation (4)
=tan.sup.1(LqIq/)Equation (5)
est=+Equation (6)
(98) In Equation (5), Iq represents a current value on the q axis in a dq rotating coordinate system, and Lq represents an armature inductance on the q axis in the dq rotating coordinate system. In Equations (4) to (6), represents a phase angle, and represents a load angle. The rotor angle calculation unit 141 outputs the estimated electrical angle est to the subtraction unit 143.
(99) The angle conversion unit 120 converts, into an electrical angle e, one of mechanical angles a and b of the rotor respectively measured by the position sensors 1 and 2. For example, the electrical angle e is calculated from Equation (7).
e=(P/2).Math.mEquation (7)
(100) In Equation (7), P represents the number of poles, and m represents the mechanical angle a or b. The angle conversion unit 120 outputs the electrical angle e to the subtraction unit 143.
(101) The subtraction unit 143 calculates an electrical angle error represented by an absolute value of a difference between the estimated electrical angle est and the electrical angle e. The electrical angle error is expressed by Equation (8).
error=|este|Equation (8)
(102) The subtraction unit 143 outputs the electrical angle error to the level comparison unit 150.
(103) The maximum acceptable rotor angle unit 144 retains a maximum acceptable rotor angle Errormax having a predetermined value defined in advance, and outputs the maximum acceptable rotor angle to the level comparison unit 150. On condition that none of the sensors respectively detecting the current values and rotor angles for use in the calculations fails, the estimated electrical angle est calculated using the value of the current flowing through the motor M is ideally equal in value to the electrical angle e calculated using the mechanical angle measured. In other words, the electrical angle error ideally becomes zero. In practice, however, an error occurs to some extent. The electrical angle error can take a value larger than zero. In the embodiment, the maximum acceptable rotor angle Errormax is set at a given value in consideration of this error. For example, the maximum acceptable rotor angle Errormax may be set at, but not limited to, four degrees. On condition that none of the sensors respectively detecting the current values and rotor angles for use in the calculations fails, the electrical angle error takes a value less than the maximum acceptable rotor angle Errormax.
(104) The level comparison unit 150 performs level comparison between the electrical angle error and the maximum acceptable rotor angle Errormax. The level comparison unit 150 outputs an error signal indicating a sensor fault on condition that the electrical angle error is equal to the maximum acceptable rotor angle Errormax or is larger than the maximum acceptable rotor angle Errormax.
(105) On condition that at least one of the sensors respectively detecting the current values and rotor angles for use in the calculations fails, the estimated electrical angle est calculated using the value of the current flowing through the motor M is different in value from the electrical angle e calculated using the mechanical angle measured. In other words, the electrical angle error takes a value larger than zero. The level comparison unit 150 compares the electrical angle error with the maximum acceptable rotor angle Errormax having a predetermined value. When the electrical angle error is equal to or more than the predetermined value (e.g., four degrees), the level comparison unit 150 outputs the error signal. For example, the error signal is a digital signal. For example, an error signal level indicating a sensor fault may be allocated to 1, and an error signal level not indicating a sensor fault may be allocated to 0. In the example of allocation, the error signal is 0 in a normal situation, and is asserted to 1 upon occurrence of a sensor fault.
(106) With reference to
(107)
(108) When all the current sensors I1, I2, and I3 as well as the position sensors 1 and 2 are normal, the fault detection units FD1 to FD6 each output O. The identification and isolation unit 100C thus detects that no sensor fault occurs. As used herein, the reference patterns refer to patterns of (FD1) to (FD6) in the column direction of the table 1. On condition that a reference pattern OOOOOO applies, the identification and isolation unit 100C detects that no sensor fault occurs.
(109) For example, when the fault detection units FD2, FD4, and FD6 each output O, whereas the fault detection units FD1, FD3, and FD5 each output X, the identification and isolation unit 100C identifies the position sensor 1 as a failed sensor. In other words, on condition that a reference pattern XOXOXO applies, the identification and isolation unit 100C identifies the position sensor 1 as a failed sensor.
(110) For example, when the fault detection units FD3 and FD4 each output O, whereas the fault detection units FD1, FD2, FD5, and FD6 each output X, the identification and isolation unit 100C identifies the current sensor I1 as a failed sensor. For example, when the fault detection unit FD6 outputs O, whereas the fault detection units FD1 to FD5 each output X, the identification and isolation unit 100C identifies each of the current sensor I2 and the position sensor 1 as a failed sensor.
(111) As will be described with reference to
(112) It is apparent from the table 1 that a value measured by a failed sensor is used for all the calculations of which the results are abnormal, from among the six ways of calculation by the fault detection units FD1 to FD6. For example, when the position sensor 1 fails, each of the results of calculation by the fault detection units FD1, FD3, and FD5 using a value measured by the position sensor 1 is abnormal, whereas each of the results of calculation by the fault detection units FD2, FD4, and FD6 not using the value measured by the position sensor 1 is normal. In other words, the identification and isolation unit 100C identifies, as a failed sensor, a sensor that detects a measured value used for all the calculations of which the results are abnormal, from among the six ways of calculation.
(113) Next, the identification and isolation unit 100C selects, as a normal sensor, a sensor different from the at least one failed sensor identified.
(114) When the identification and isolation unit 100C identifies one of the current sensors as a failed sensor, then the identification and isolation unit 100C selects, as a normal sensor, the current sensor different from the failed current sensor identified. For example, on condition that a reference pattern XXOOXX applies, the identification and isolation unit 100C identifies the current sensor I1 as a failed sensor. This situation concurrently indicates that the sensors other than the current sensor I1 are normal. In this situation, the identification and isolation unit 100C does not select the current sensor I1, but selects the remaining current sensors I2 and I3.
(115) When the identification and isolation unit 100C identifies one of the position sensors as a failed sensor, then the identification and isolation unit 100C selects, as a normal sensor, the position sensor different from the failed position sensor identified. In other words, on condition that a reference pattern OXOXOX applies, the identification and isolation unit 100C identifies the position sensor 2 as a failed sensor. This situation concurrently indicates that the sensors other than the position sensor 2 are normal. In this situation, the identification and isolation unit 100C does not select the position sensor 2, but selects the remaining position sensor 1.
(116) For example, on condition that a reference pattern XXXXXO applies, the identification and isolation unit 100C identifies each of the current sensor I2 and the position sensor 1 as a failed sensor. This situation concurrently indicates that the sensors other than the current sensor I2 and the position sensor 1 are normal. In this situation, the identification and isolation unit 100C does not select the current sensor I2 and the position sensor 1, but selects the remaining current sensors I1 and I3 as well as the remaining position sensor 2.
(117) In driving the motor by the three-phase energization control using the vector control, the use of two current sensors and one position sensor enables normal control of the motor. Therefore, the use of a current sensor and a position sensor each selected enables sustained control to drive the motor.
(118) The identification and isolation unit 100C generates a sensor selection signal indicating a sensor to be selected, and then outputs the sensor selection signal to the vector control unit 100B (
(119) When the identification and isolation unit 100C identifies at least one of a current sensor and a position sensor as a failed sensor, then the identification and isolation unit 100C generates a notification signal for calling attention to a human. The identification and isolation unit 100C outputs a notification signal to the notification device 800 (
(120) According to the embodiment, even in the occurrence of a sensor fault, the use of remaining normal sensors enables sustained control to drive the motor M. However, it is preferable that the failed sensor be replaced with a normal sensor without being left as it is. The operation of the notification device 800 allows a human to recognize the necessity of replacement of a sensor.
(121) Next, a description will be given of an operation to stop the motor M when the identification and isolation unit 100C detects failed sensors the number of which is equal to or more than a predetermined number.
(122) In the example described above, even in the occurrence of a sensor fault, the remaining normal sensors are used for sustaining the control to drive the motor M. According to an embodiment of the present disclosure, however, if two of the three current sensors fail or if all the two position sensors fail, the motor M stops.
(123)
(124) In the foregoing embodiment, the detection and isolation unit 100A always performs an arithmetic operation while the motor M is driven. Alternatively, the controller 100 may include an arithmetic unit configured to detect a sensor fault, and the detection and isolation unit 100A may start to perform an arithmetic operation upon detection of a sensor fault.
(125)
(126) With reference to
(127) The subtraction unit 161 calculates an absolute value of a difference between a rotor angle a detected by the position sensor 1 and a rotor angle b detected by the position sensor 2. When both the two position sensors 1 and 2 are normal, the rotor angles a and b are substantially equal in value to each other. Therefore, the absolute value of the difference between the rotor angle a and the rotor angle b is substantially zero. When at least one of the two position sensors 1 and 2 fails, the rotor angles a and b are different in value from each other. Therefore, the absolute value of the difference between the rotor angle a and the rotor angle b is a value different from zero. The subtraction unit 161 outputs, to the level comparison unit 163, the absolute value of the difference between the rotor angle a and the rotor angle b. The threshold unit 162 retains a threshold set in advance, and outputs the threshold to the level comparison unit 163. The threshold retained in the threshold unit 162 is set at a given value. For example, the threshold is, but not limited to, four degrees.
(128) The level comparison unit 163 compares the threshold with the absolute value of the difference between the rotor angle a and the rotor angle b. On condition that the absolute value is equal to or more than the threshold, the level comparison unit 163 outputs an error signal indicating a sensor fault to the OR unit 180. On condition that the absolute value is less than the threshold, the level comparison unit 163 outputs no error signal.
(129) The addition unit 171 calculates a sum of the current values Ia, Ib, and Ic detected by the three current sensors I1, I2, and I3. When all the three current sensors I1, I2, and I3 are normal, the sum of the current values detected by the three current sensors is substantially zero. In contrast to this, when at least one of the three current sensors I1, I2, and I3 fails, the sum of the current values detected by the three current sensors takes a value different from zero. The addition unit 171 outputs, to the level comparison unit 173, the arithmetic result of the sum of the current values Ia, Ib, and Ic. The threshold unit 172 retains a threshold set in advance, and outputs the threshold to the level comparison unit 173. The threshold retained in the threshold unit 172 is set at a given value.
(130) The level comparison unit 173 compares the threshold with the value of the sum of the current values. On condition that the value of the sum is equal to or more than the threshold, the level comparison unit 173 outputs an error signal indicating a sensor fault to the OR unit 180. On condition that the value of the sum is less than the threshold, the level comparison unit 173 outputs no error signal.
(131) When the OR unit 180 receives an error signal from at least one of the level comparison units 163 and 173, then the OR unit 180 outputs a sensor fault flag to the detection and isolation unit 100A. When the detection and isolation unit 100A receives the sensor fault flag, then the detection and isolation unit 100A executes processing of detecting, identifying, and isolating a failed sensor. The details of the processing executed by the detection and isolation unit 100A have been described above. As described above, when the fault detection unit 100D detects occurrence of a sensor fault, the detection and isolation unit 100A starts to perform an arithmetic operation. This configuration enables a reduction in power consumption by the controller 100.
(132) The fault detection unit 100D does not necessarily include the OR unit 180.
(133) In the example illustrated in
(134) When the detection and isolation unit 100A receives at least one of the position sensor fault flag and the current sensor fault flag, then the detection and isolation unit 100A executes processing of detecting, identifying, and isolating a failed sensor. The details of the processing executed by the detection and isolation unit 100A have been described above. In this example, the detection and isolation unit 100A may include the OR unit 180 (
(135) Also in this example, the arithmetic operation by the fault detection unit 100D enables identification as to which one of a current sensor and a position sensor fails. Therefore, a table for use in the detection and isolation unit 100A may be limited to one of the fault of a current sensor and the fault of a position sensor.
(136) For example, when the detection and isolation unit 100A receives the position sensor fault flag, then the detection and isolation unit 100A identifies and isolates a failed position sensor, using a table 5 of
(137) Next, a description will be given of an electric power steering (EPS) system. Typically, a vehicle such as an automobile is equipped with an EPS system. The EPS system generates an assist torque that assists a steering torque in a steering system, the steering torque being generated when a driver turns a steering wheel. The assist torque is generated by an assist torque mechanism. The assist torque reduces a burden of a steering operation on the driver. For example, the assist torque mechanism includes a steering torque sensor, an automotive electronical control unit (ECU), a motor, a speed reduction mechanism, and the like. The steering torque sensor detects a steering torque in the steering system. The ECU generates a drive signal based on a detection signal from the steering torque sensor. The motor generates an assist torque responsive to the steering torque, based on the drive signal. The motor transmits the assist torque to the steering system via the speed reduction mechanism.
(138) The ECU includes a controller, a power source, an input/output circuit, an AD converter, a load drive circuit, a ROM, and the like. For example, the controller is a circuit corresponding to the controller 100 described above, and the load drive circuit is a circuit corresponding to the drive circuit 200 described above. In the automobile, the ECU serves as a core to constitute an electronic control system.
(139)
(140) Typically, a vehicle such as an automobile is equipped with an EPS system. The EPS system 2000 according to the embodiment includes a steering system 520, and an assist torque mechanism 540 that generates an assist torque. The EPS system 2000 generates an assist torque that assists a steering torque in a steering system, the steering torque being generated when a driver turns a steering wheel. The assist torque reduces a burden of a steering operation on the driver.
(141) For example, the steering system 520 includes a steering wheel 521, a steering shaft 522, universal joints 523A and 523B, a rotating shaft 524, a rack and pinion mechanism 525, a rack shaft 526, left and right ball joints 552A and 552B, tie rods 527A and 527B, knuckles 528A and 528B, left and right wheels 529A and 529B, and the like.
(142) For example, the assist torque mechanism 540 includes a steering torque sensor 541, an automotive ECU 542, a motor 543, a speed reduction mechanism 544, and the like. The steering torque sensor 541 detects a steering torque in the steering system 520. The ECU 542 generates a drive signal based on a detection signal from the steering torque sensor 541. The motor 543 generates an assist torque responsive to the steering torque, based on the drive signal. The motor 543 transmits the assist torque to the steering system 520 via the speed reduction mechanism 544.
(143) For example, the ECU 542 includes the controller 100 described above, the drive circuit 200 described above, and the like. In the automobile, the ECU serves as a core to constitute an electronic control system. In the EPS system 2000, for example, the ECU 542, the motor 543, and an inverter 545 constitute a motor drive system. The motor drive system 1000 may be suitably used as the motor drive system.
(144) The following description concerns a result of verification using Matlab/Simulink available from MathWorks as to the validity of the algorithm in detecting, identifying, and isolating a failed sensor according to the embodiment. This verification was made using a model of a surface permanent magnet (SPM) motor. Table 1 shows values of various system parameters in the verification. In this verification model, the SPM motor is controlled by vector control. Table 2 shows variables for use in the vector control.
(145) TABLE-US-00001 TABLE 1 Moment of inertia 6.9e.sup.5 [kg .Math. m.sup.2] Coefficient of friction 5.1e.sup.3 [Nm/(rad/s)] Resistance (motor + ECU) 8.50 m + 5.43 m L.sub.d (nominal) 40.7 H L.sub.q (nominal) 38.8 H Voltage range 10 to 16 V Temperature range 40 C. to 90 C. Motor type DC Brushless motor Number of poles 8 Number of slots 12 Maximum current 77 A Rated voltage 13.5 V Rated temperature 80 C. Maximum torque 5.96 N .Math. m Wire diameter 1.45 mm Number of turns 11.5
(146) TABLE-US-00002 TABLE 2 Reference Iq 10.32 A/20.65 A Reference Id 0 A Speed 750 rpm
(147) With reference to
(148)
(149)
(150)
(151) In
(152)
(153)
(154) In the first case, an electrical connection between the motor drive system 1000 and the current sensor I1 that detects a current value I is disconnected at a time of 0.4 s. This disconnection means that the current sensor I1 that detects the current value I fails at the time of 0.4 s. In the example illustrated in
(155) As illustrated in
(156) In the example illustrated in
(157)
(158)
(159)
(160)
(161)
(162)
(163) In the second case, as in the first case, an electrical connection between the motor drive system 1000 and the current sensor I1 that detects a current value I is disconnected at a time of 0.4 s.
(164) As illustrated in
(165) With reference to
(166)
(167)
(168)
(169)
(170)
(171) In the third case, an electrical connection between the motor drive system 1000 and the position sensor 1 is disconnected at a time of 0.3 s. This disconnection means that the position sensor 1 fails at the time of 0.3 s. In the example illustrated in
(172) As illustrated in
(173)
(174)
(175)
(176)
(177)
(178)
(179) In the fourth case, as in the third case, an electrical connection between the motor drive system 1000 and the position sensor 1 is disconnected at a time of 0.3 s.
(180) As illustrated in
(181) With reference to
(182)
(183)
(184)
(185)
(186)
(187) In the fifth case, first, the position sensor 1 fails at a time of 0.3 s. In the example illustrated in
(188) As illustrated in
(189)
(190)
(191)
(192)
(193)
(194)
(195) In the sixth case, as in the fifth case, first, the position sensor 1 fails at a time of 0.3 s. Next, the current sensor I1 fails at a time of 0.4 s.
(196) As illustrated in
(197) An embodiment of the present disclosure is suitably applicable to a motor drive system for a shift-by-wire motor, a steering-by-wire motor, a brake-by-wire motor, a traction motor, and the like each requiring an ability to detect a sensor fault. For example, a motor drive system according to an embodiment of the present disclosure is installable in a self-driving car compliant with Levels 0 to 4 (standards of automation) prescribed by the Japanese Government and the National Highway Traffic Safety Administration (NHTSA) of the United States Department of Transportation.
(198) An embodiment of the present disclosure is widely applicable to a variety of apparatuses equipped with various motors, such as a vacuum cleaner, a dryer, a ceiling fan, a washing machine, a refrigerator, and an electric power steering system.
(199) Features of the above-described preferred embodiments and the modifications thereof may be combined appropriately as long as no conflict arises.
(200) While preferred embodiments of the present disclosure have been described above, it is to be understood that variations and modifications will be apparent to those skilled in the art without departing from the scope and spirit of the present disclosure. The scope of the present disclosure, therefore, is to be determined solely by the following claims.