CONTROL METHOD FOR MOTOR AND CONTROLLER FOR MOTOR

Information

  • Patent Application
  • 20070296375
  • Publication Number
    20070296375
  • Date Filed
    June 08, 2007
    17 years ago
  • Date Published
    December 27, 2007
    17 years ago
Abstract
This invention provides a control method for a motor that calculates a voltage command value based on a difference between a current command value and a current detected value and controls a PWM based on the voltage command value.
Description

BRIEF DESCRIPTION OF DRAWINGS


FIG. 1 is a block diagram showing a structural example of one embodiment of the present invention;



FIG. 2 shows a part of a flowchart illustrating an operation example of the present invention;



FIG. 3 shows a part of a flowchart illustrating an operation example of the present invention;



FIGS. 4A and 4B are a characteristic view for explaining the operation of the present invention;



FIG. 5 is a block diagram showing a structural example of a voltage command value restricting part;



FIG. 6 is a transfer function part showing an ordinary model of a motor;



FIG. 7 is a block diagram showing a detailed structural example of a current estimating part;



FIG. 8 is a block diagram showing another structural example of the current estimating part;



FIG. 9 is a block diagram showing a structural example of another embodiment of the present invention;



FIG. 10 is a block diagram showing a detailed structural example of a current estimating part;



FIG. 11 is a diagram showing a structural example of an ordinary electric power steering device;



FIG. 12 is a block diagram showing one example of a control unit; and



FIG. 13 is a connection diagram showing one example of an inverter circuit.





DESCRIPTION OF PREFERRED EMBODIMENTS

Now, an embodiment of the present invention will be described below with reference to the drawings.



FIG. 1 shows the structure of one embodiment of the present invention so as to correspond to that of FIG. 12. A voltage command value restricting part 40, a current estimating part 50, a current switching part 60 and a back electromotive force compensating part 70 are newly provided. Specifically, voltage command values Da2, Db2 and Dc2 of three phases from a PI control part 34 are added to voltage compensated values Ea, Eb and Ec from the back electromotive force compensating part 70 and inputted to the voltage command value restricting part 40. The voltage command values Da21, Db21 and Dc21 restricted in the voltage command value restricting part 40 are inputted to a PWM control part 35 and inputted to the current estimating part 50 for estimating the current value of the motor of the current detecting system that is failed or brought to the undetectable state. Current estimated values Ia2e, Ib2e and Ic2e estimated in the current estimating part 50 are inputted to the current switching part 60. Further, the current detected values Iad, Ibd and Icd of motor current of the phases respectively detected in a current detecting circuit 361 in an inverter circuit 36 are inputted to the current estimating part 50 and the current switching part 60. The voltage command value restricting part 40 restricts the level of voltage so that the current of at least two phases can be detected. The detailed structural examples of the voltage command value restricting part 40, the current estimating part 50 and the current switching part 60 will be described below.


A compensation for a back electromotive force by the back electromotive force compensating part 70 relative to the voltage command values Da2, Db2 and Dc2 is carried out by a method as disclosed in, for instance, Japanese Patent Unexamined Publication No. 2005-199780.


If the voltage command values Da21 to Dc21 of the phases are respectively not larger than, for instance, a prescribed value #2 and the phase current can be normally detected, when an error between the current estimated values Ia2e to Ic2e and the current detected values Iad to Icd is not smaller than a prescribed value #3 and the voltage command values Da21 to Dc21 are not larger than the prescribed value #2, the failure of the current detecting system such as a current detecting resistance or the current detecting circuit 361 is decided to be the “failure”. The current switching part 60 obtains the error between the current detected values Iad to Icd and the current estimated values Ia2e to Ic2e for each phase. In the case of the phase having the error of a prescribed value #1 or more, not the current detected values Iad to Icd, but the current estimated values Ia2e to Ic2e are fed back to subtracting parts 33a to 33c as feedback current values Iad1 to Icd1. In the case of the phase having the error under the prescribed value #1, the current detected values Iad to Icd are fed back to the subtracting parts 33a to 33c as the feedback current values Iad1 to Icd1.


In the above-described structure, an operation is described by referring to flowcharts shown in FIGS. 2 and 3.


Initially, a timer (time t=0) or an initial value necessary for three phases ABC (for instance, an initial value of a memory showing a failure or an undetectable state of each phase in each sample time (ordinarily, “0”)) is set (step S1) Wait until the timer exceeds a prescribed time T0 (step S2). When the prescribed time T0 elapses, a steering torque T, a vehicle speed V and the current detected values Iad, Ibd and Icd are read (step S3). A current command value calculating part 31 calculates a current command value Iref in accordance with the read steering torque T and the vehicle speed V (step S4). A three-phase current command value calculating part 32 calculates current command values Ia, Ib and Ic of respective phases in accordance with the current command value Iref, a motor angle θ and a motor angular velocity ω (step S5). The current switching part 60 calculates difference current values ΔIa to ΔIc between the current detected values Iad to Icd for the respective phases and the current estimated values Ia2e to Ic2e (step S6).


Then, the phase in which the absolute value of the difference current value ΔIa to ΔIc is larger than the prescribed value #1 is detected to store the phase in a memory ABC1 for observing the undetectable state (step S7). Further, the number of phases K is obtained in which the absolute value of the difference current value ΔIa to ΔIc is larger than the prescribed value #3 (>#1) and the voltage command values Da21 to Dc21 are not larger than the prescribed value #2 (step S10). When the error is large irrespective of the voltage command values Da21 to Dc21 under which the current can be detected, the current detecting system such as the current detecting resistance or the current detecting circuit 361 is considered to be failed. Accordingly, in the above-described step S10, when the number of the phases K is equal 0, the procedure moves to an operation of step S20 shown in FIG. 3. When the number of the phases K=1, a maximum value Dlimit of the voltage command value is set and store the phase decided to be failed in a memory ABC2 for observing the failure (step S11). In the case of K≧2, a control is stopped (step S12).


For instance, assuming that the memory ABC1 is an array, the array of the memory ABC1 indicates [1, 0, 0] (ABC1=[1, 0, 0]) that shows in order from the left a phase A, a phase B and a phase C, “1” represents “the difference>the prescribed value #1” and “0” represents “the difference≦the prescribed value #1”. Similarly, assuming that the memory ABC2 is an array, the array of the memory ABC2 indicates [0, 1, 0] (ABC2=[0, 1, 0]) that shows in order from the left a phase A, a phase B and a phase C, and “1” represents “the difference>the prescribed value #3” and the state in which the current can be detected.


When the maximum value Dlimit of the voltage command value is, for instance, 90%, the voltage command value is liable to be saturated and a current controller including an integrator is liable to be wound up (see FIG. 4A). T0 prevent this phenomenon, the current command value Iref is desirably restricted. Further, the half of battery voltage is ordinarily set to a neutral point voltage, that is, the control is carried out by considering the duty ratio of 50% to be a reference, however, when the maximum value Dlimit of the voltage command value is 90%, the control is carried out by considering the duty ratio of 45% to be a reference as shown in FIG. 4B. Further, when the control is stopped in the step S12, the control may be stopped by making a determination at several times without making a determination at one time.


In the above-described step S10, when it is decided that the number of the phases K is 0 (K=0), the number of the phases M stored in the memory ABC1 is decided (step S20). When it is decided that the number of the phases M is 0 (M=0), namely, when all the phases indicate|the current detected value−the current estimated value|≦the prescribed value #1, the current detected values Iad to Icd are fed back to the subtracting parts 33a to 33c. The PI control part 34 calculates the voltage command values Da2, Db2 and Dc2 in accordance with difference current values Ia1 to Ic1 from the subtracting parts 33a to 33c. The voltage command values whose back electromotive force is compensated in the back electromotive force compensating part 70 and adding parts are inputted to the voltage command value restricting part 40 and the voltage command value restricting part 40 calculates the restricted voltage command values Da21, Db21 and Dc21 (step S21). The current estimating part 50 estimates currents at a next sampling time in accordance with the voltage command values Da21, Db21 and Dc21 and the current detected values Iad, Ibd and Icd (step S22). The PWM control part 35 outputs the gate signals G1 to G6 of PWM signals (step S23) to return to the step S2.


On the other hand, in the step S20, when it is decided that the number of the phases M=1, if the phase is, for instance, the phase A, the current estimated value Ia2e is used and the current detected values Ibd and Icd are used for two other phases (the phase B, the phase C) to calculate differences Ia1 to Ic1 from the current command values. The PI control part 34 calculates the voltage command values Da2, Db2 and Dc2 and the voltage command value restricting part 40 calculates the voltage command values Da21, Db21 and Dc21 (step S24). Then, the current estimating part 50 estimates currents at a next sampling time by using, only for the phase A, a value obtained by reversing the sign of the sum of the current detected values of other phases and the current detected values for other two phase (step S25), then go to the above-described step S23. Further, in the step S20, when it is decided that the number of the phases M is 2 or more (M≧2), any one of below-described (a) to (c) is selected to shift to the step S24 (step S26).


(a) Select the phase in which the voltage command value is maximum.


(b) Select the phase in which the voltage command value is larger than the prescribed value #2.


(c) Select the phase in which the absolute value of the difference current value is maximum.


Further, after the step S11, it is decided whether or not the number of the phases M stored in the memory ABC1 is 1 and the phase corresponds to the phase stored in the memory ABC2 (step S30). When the number of the phases M stored in the memory ABC1 is 1 and the phase corresponds to the phase stored in the memory ABC2, the phase stored in the memory ABC2 is selected (step S31), then go to the step S24. In the step S30, when the number of the phases M stored in the memory ABC1 is not “1” or the phases do not correspond to the phases stored in the memory ABC2 or both the cases are established, the phases stored in the memory ABC1 are compared with the phases stored in the memory ABC2. For the phases that do not correspond to each other, it is decided whether or not the phases are present in which the voltage command values Da21 to Dc21 exceed the prescribed value #2 (step S32). When there is a relevant phase, for the phase detected in the memory ABC1 and the memory ABC2, the voltage command values Da2 to Dc2 and Da21 to Dc21 are calculated by using the current estimated values Ia2e, Ib2e and Ic2e (step S33). For the phase detected in the memories ABC1 and ABC2, a current at a next sampling time is estimated based on the current estimated values Ia2e to Ic2e of other phases, and for other phases than the phase, a current at a next sampling time is estimated based on the current detected values (step S34), then go to the step S23. Further, in the above-described step S32, when there is no relevant phase, the procedure advances to the step S31.


The voltage command value restricting part 40 corrects the voltage command values Da2, Db2 and Dc2 so that the current of at least (N−1) phases can be normally detected. For instance, as shown in FIG. 5, a structure may be formed that includes a detection threshold phase detecting part 43 for detecting that the two phases of the voltage command values Da2, Db2 and Dc2 simultaneously reach a detection threshold value or higher in detecting the current by a three-phase downstream shunt system to output a threshold detecting signal SL, an intermediate value output part 44 for outputting an intermediate value Mid of the voltage command values Da2, Db2 and Dc2 when the threshold detecting signal SL is outputted, a comparing part 46 for obtaining a difference DT between the intermediate value Mid and the threshold 45 of a prescribed duty and subtracting parts 42a to 42c for subtracting the difference DT respectively from the voltage command values Da2, Db2 and Dc2.


An ordinary model of a motor is expressed by a transfer function part shown in FIG. 6. When the voltage command value to the motor is expressed as u(k) and a motor current is expressed as y(k), the discrete-time state equation of the motor is expressed as a below-described Eq. (1), where x is a state variable, A is a system matrix, B is an input matrix and C is an output matrix (for outputting a measurable state amount from the state variable x). Further, when a sampling interval is expressed as T1, x(k) is a state variable at a time kT1 and x(k+1) is a state variable of a time (k+1)T1.






x(k+1)=Ax(k)+Bu(k), y(k)=Cx(k)   (1)


where








x


(
k
)


=

[




i


(
k
)







d


(
k
)





]


,




is a current value, d is a disturbance and C=[1 0]


Further, an observer is defined as a below-described Eq. (2). A sign “over hat” expresses an estimated value. A difference between the estimated value and a real value is multiplied by a gain L and an obtained value is fed back so that the estimated value becomes close to the real value.






{circumflex over (x)}(k+1)=A{circumflex over (x)}(k)+Bu(k)+L(y(k)−ŷ(k))   (2)


Then, when the current is normally detected in accordance with the above-described Eq. (1) and Eq. (2), the difference between the estimated value and the detected value of the real value becomes decreased. When the difference is small, the detection is considered to be normal and the detected value is inputted to the observer of the Eq. (2) and a current of a next sampling time is estimated. In the case of the failure or under the undetectable state, since the difference between the estimated value and the detected value is increased, it is decided that the detection is not normal and the sum of the current detected values of other phases is inputted to the observer of the Eq. (2) and a current of a next sampling time is estimated. Namely, when the current detecting systems of all the phases are normal, the current detected values are used for the estimation. When the current cannot be detected due to the failure or the error arises, the current detected values of other phases are used to estimate a current using the observer expressed by the above-described Eq. (2). When the current detecting systems of at least the (N−1) phases can detect the current, the observer is established. That is, when the current of the (N−1) phases cannot be detected, the current of remaining one phase cannot be obtained. When the duty ratio by which the current detecting circuit (361) can detect the current is known, the duty ratio may be adjusted or restricted so that the duty ratios of at least the (N−1) phases satisfy that condition. When one phase is failed, a final output restricted value is set to, for instance, a range of 0 to the prescribed value #2 instead a range of 0 to 100%, so that the current of all the phases except the failed phase can be detected. Thus, the control can be continuously carried out. Accordingly, in the present invention, for the phase in which the current cannot be detected, the current estimated value is used.



FIG. 7 shows a detailed circuit of the current estimating part 50. A current estimating part 510 for a phase a shown by a dashed line is specifically described. The structures of a current estimating part 520 for a phase b and a current estimating part 530 for a phase c are the same as the structure of the current estimating part 510. Only the voltage command values Da21 to Dc 21, the current detected values Iad to Icd, the voltage compensated values Ea to Ec and the current estimated values Ia2e to Ic2e that are inputted are different. In the current estimating part 510 shown in FIG. 7, the Eq. (2) is represented by a block diagram except a switching deciding part 516, a switching part 518, inverting parts 517A and 517B, adding parts 519C and 519D and a subtracting part 519E. The added result of an adding part 519A corresponds to x(k+1). A block 511 of the input matrix B shows that a difference between the voltage command value Da21 and the back electromotive force Ea is multiplied by the input matrix B and corresponds to Bu(k) of the Eq. (2). Further, a block 513 shows a unit delay part for the delay of one sampling, where a block 512 is the system matrix A, a block 514 is the output matrix C and a block 515 is the gain L. The voltage compensated value Ea is subtracted from the voltage command value Da21 from the voltage command value restricting part 40 in the subtracting part 519E and inputted to the block 511.


The current detected value Iad of one phase detected in the current detecting circuit 361 is inputted to a point 518A of the switching part 518. The current detected values Ibd and Icd of other phases are added in the adding part 519C, inverted in the inverting part 517A, and inputted to a point 518B of the switching part 518. The current estimated values Ib2e and Ic2e of other phases are added in the adding part 519D, inverted in the inverting part 517B and inputted to a point 518C of the switching part 518. The switching deciding part 516 switches the points 518A to 518C of the switching part 518 in accordance with the error between the current estimated value Ia2e and the current detected value Iad.



FIG. 8 shows other structural instance (vector control) of the current estimating part 50, an estimation may be carried out on dq axes and the current may be controlled for each phase or on the dq axes. The vector control is a control that a q axis for controlling a torque as an axis of coordinate of a rotor magnet of the motor and a d axis for controlling the strength of a magnetic field are independently set and the axes are direct to each other.


A dq axis current id and iq of the vector control is expressed as Eq. (3), where a resistance is R and an inductance is L.














t




[




i
d






i
q




]


=



[




-

R
L





-
ω





ω



-

R
L





]



[




i
d






i
q




]


+


[




1
L



0




0



1
L




]



[




v
d






v
q




]


+

[



0






Ψ
L


ω




]






(
3
)







Ψ in the Eq. (3) indicates √{square root over (3/2)} of the inter-linkage flux of an armature by a permanent magnet. Further, a model that considers a disturbance d is expressed as a below-described Eq. (4) and an estimated model of the form of Eq. (2) is obtained on the dq axes.














t




[




i
d






i
q






d
d






d
q




]


=



[




-

R
L





-
ω




-

1
L




0




ω



-

R
L




0



-

1
L






0


0


0


0




0


0


0


0



]



[




i
d






i
q






d
d






d
q




]


+


[




1
L



0




0



1
L





0


0




0


0



]



[




v
d






v
q




]


+

[



0






Ψ
L


ω





0




0



]






(
4
)







The voltage command values Da21, Db21 and Dc21 of the three phases from the voltage command value restricting part 40 are inputted to a three phase/two phase converting part 540 and converted to voltage command values Vd and Vq of two phases. The voltage command values Vd and Vq are inputted to a dq axis observer 560. The current values Iad, Ibd and Icd of the three phases detected in the current detecting circuit 361 are inputted to a three phase/two phase converting part 570. The motor angle θ from a position sensor 37 is inputted to the three phase/two phase converting parts 540 and 570. The three phase/two phase converting part 570 outputs current values id and iq of two phases to input the current values to the dq axis observer 560. The three phase/two phase converting parts 540 and 570 are converted in accordance with a below-described Eq. (5).










[




i
d






i
q




]

=




2
3




[




cos


(
θ
)





cos


(

θ
-


2
3


π


)





cos


(

θ
+


2
3


π


)







-

sin


(
θ
)






-

sin


(

θ
-


2
3


π


)






-

sin


(

θ
+


2
3


π


)






]




[




i
a






i
b






i
c




]






(
5
)







Here, since one phase of the three phases can be obtained by a calculation from other two phases, for instance, id and iq can be obtained as ib=−(ia+ic).


The motor angle θ is also inputted to a two phase/three phase converting part 550 and current estimated values Ia4e, Ib4e and Ic4e of three phases converted in the two phase/three phase converting part 550 are inputted to the three phase/two phase converting part 570. When errors between the current detected values Iad to Icd and the current estimated values Ia4e to Ic4e are respectively not smaller than a prescribed value, the three phase/two phase converting part 570 decides that the current detecting system is failed, and outputs the current estimated values Ia4e to Ic4e as feedback current Iad1 to Icd1. The two phase/three phase converting part 550 is converted in accordance with a below-described Eq. (6).










[




i
a






i
b






i
c




]

=




2
3




[




cos


(
θ
)





-

sin


(
θ
)








cos


(

θ
-


2
3


π


)





-

sin


(

θ
-


2
3


π


)








cos


(

θ
+


2
3


π


)





-

sin


(

θ
+


2
3


π


)






]




[




i
d






i
q




]






(
6
)








FIG. 9 shows another embodiment of the present invention correspondingly to FIG. 1. In this embodiment, voltage command values Da2 to Dc2 from a PI control part 34 are inputted to a current estimating part 50. The structure of the current estimating part 50 in this case is shown in FIG. 10. A similar control can be realized in this embodiment.


When the voltage command values are restricted by limiters of a final stage shown in FIG. 5, namely, when |an input value of the limiter−a restricted value|>0, the (input value of the limiter−the restricted value) is subtracted from a value inputted to the block 511 of the current estimating part 50. Thus, a supply voltage to the motor is actually restricted by the limiter more than the command value.


Further, in the above-description, the control of the three-phase motor is explained. However, the present invention may be similarly applied to a motor of two phases or more. An instance of the three-phase current control under the three-phase control is described above, however, a remaining one phase may be obtained from current control values of other two phases under a two-phase current control, in such a way as expressed by a voltage command value B=−(a voltage command value A+a voltage command value C). In the above-described embodiment, in the case of the undetectable state, the current estimated values are used as a feedback current, however, a value obtained by reversing the sign of the sum of the current detected values of other phases may be used as a feedback current.


When the difference between the detected value and the estimated value is compared with the prescribed value, the prescribed value may be provided with a hysteresis. Since the current detected value has quantized noise, there is a fear that a chattering state is generated which needs to be frequently switched under the fixed prescribed value. To prevent the generation of the chattering state, the prescribed value is provided with the hysteresis.


Further, the control method and the controller for the motor can be applied to the electric power steering device and a steering control of high performance and high reliability can be realized.


While the invention has been described in connection with the exemplary embodiments, it will be obvious to those skilled in the art that various changes and modification may be made therein without departing from the present invention, and it is aimed, therefore, to cover in the appended claims all such changes and modifications as fall within the spirit and scope of the present invention.

Claims
  • 1. A control method for a motor that calculates a voltage command value based on a difference between a current command value and a current detected value and controls a PWM based on the voltage command value, the control method comprising: detecting a failure or an undetectable state of a current detecting system;obtaining a current estimated value of a failure phase or an undetectable state phase based on the current detected value except the failure phase or the undetectable state phase when the failure or the undetectable state is detected; andcontinuously controlling the motor based on the current estimated value.
  • 2. The control method for a motor according to claim 1, wherein the motor has N phases, N being an integer of 2 or more, and can detect a current of at least (N−1) phases.
  • 3. The control method for a motor according to claim 1, wherein the voltage command value is restricted and subsequently the motor is controlled by the PWM.
  • 4. The control method for a motor according to claim 1 wherein the failure or the undetectable state of the current detecting system is detected based on the voltage command value and an error between the current estimated value and the current detected value.
  • 5. A control method for an electric power steering, wherein the control method of a motor according to claim 1 is applied to an electric power steering for a vehicle.
  • 6. A controller for a motor that calculates a first voltage command value based on a difference between a current command value and a current detected value and controls a PWM based on the first voltage command value, the controller comprising: a current estimating part that obtains a current estimated value based on the first voltage command value and the current detected value; anda current switching part that detects a failure or an undetectable state of a current detecting system by the current estimated value and the current detected value to output a feedback current detected value,wherein the feedback current detected value is set to be a current detected value for a difference,when the failure or the undetectable state is detected, the current estimated value of a failure phase or an undetectable state phase is obtained based on the current detected value except the failure phase or the undetectable state phase and the motor is continuously controlled by using the current estimated value.
  • 7. The controller for a motor according to claim 6, further comprising: a voltage command value restricting part that restricts the voltage command value,wherein a second voltage command value from the voltage command value restricting part is inputted to the current estimating part.
  • 8. The controller for a motor according to claim 6, wherein the motor has N phases, N being an integer of 2 or more, and can detect a current of at least (N−1) phases.
  • 9. A controller for an electric power steering device that calculates a current command value in accordance with a steering torque and a vehicle speed and controls a motor having N phases, N being an integer of 2 or more, by a PWM based on a voltage command value, the motor applying an assist force to the steering device based on the current command value, the controller comprising: a current estimating part that obtains a current estimated value based on the voltage command value and the current detected value of the motor; anda current switching part that switches a feedback current based on the current estimated value from the current estimating part and the current detected value,wherein when a failure or an undetectable state of a current detecting system is detected, the current estimated value of a failure phase or an undetectable state phase is obtained by using the current detected value except the failure phase or the undetectable state phase andthe motor is continuously controlled by using the current estimated value.
  • 10. The controller for an electric power steering device according to claim 9, further comprising: a voltage command value restricting part that restricts the voltage command value,wherein a restricted voltage command value from the voltage command value restricting part is inputted to the current estimating part.
  • 11. The controller for an electric power steering device according to claim 9, wherein the motor has N phases, N being an integer of 2 or more, and can detect a current of at least (N−1) phases.
Priority Claims (1)
Number Date Country Kind
2006161297 Jun 2006 JP national