This application is based upon and claims the benefit of priority from the prior Japanese Patent Applications Nos. 2009-255745 filed on Nov. 9, 2009 and 2009-142017 filed on Jun. 15, 2009, the entire contents of which are incorporated herein by reference.
The present invention relates to a resolver of a phase difference type including an excitation coil for receiving an excitation signal, a detection coil for outputting a detection signal, and a control unit for calculating an angular displacement based on a phase difference between the excitation signal and the detection signal.
Heretofore, a high-power brushless motor has been used in a hybrid electric vehicle and an electric vehicle. For control of such brushless motor mounted in the hybrid electric vehicle, it is necessary to precisely detect a rotation position of an output shaft of a motor. Because a rotation position of a rotor has to be accurately detected in order to control switching of energization to each coil of a stator. For a vehicle, particularly, there is a demand for reducing cogging that is apt to deteriorate drivability. Thus, accurate switching of energization to each coil is highly requested.
For detection of the location of a vehicle motor shaft, a resolver is used because of its performances such as high-temperature resistance, noise resistance, vibration resistance, and high-humidity resistance. The resolver is mounted in the motor and directly attached to the rotor shaft of the motor.
For instance, a resolver of Patent Literature 1 is arranged such that a high frequency wave is amplitude-modulated by a sine wave and a cosine wave. The amplitude-modulated high-frequency wave is input as an excitation signal to an excitation coil. This can provide an effect of reducing the number of windings of the excitation coil. Herein, the sine wave, the cosine wave, and the high-frequency wave are analog waves.
The control unit calculates an angular displacement based on a phase difference between a zero cross point of the excitation signal input to the excitation coil and a zero cross point of a detection signal output from a search coil.
However, the conventional phase difference type resolver has the following disadvantages.
The conventional phase difference type resolver includes the excitation coil which receives the excitation signal and the detection coil which outputs the detection signal and calculates the angular displacement based on the phase difference between the zero cross point of the excitation signal of the excitation coil and the zero cross point of the detection signal of the detection coil. Accordingly, it could detect the angular displacement only at the periods of the excitation signal and hence it is unadaptable for the case where higher resolution is demanded.
For instance, assuming that an excitation signal of 7.2 kHz is used, when the motor rotation number is 3000 rpm, the angular velocity is 18000 degrees)(°) per second. Thus, a detectable minimum angle is 18000/7200=2.5°.
The present invention has been made to solve the above problems and has a purpose to provide a resolver of a phase difference type adaptable for detecting angular displacement for which high resolution is required.
(1) To achieve the above purpose, one aspect of the invention provides a phase difference resolver comprising: an excitation coil for receiving an excitation signal, a detection coil for outputting a detection signal, and a control unit for calculating an angular displacement based on a phase difference between an excitation-signal zero cross point of the excitation coil and a detection-signal zero cross point of the detection coil, wherein the control unit determines a velocity at an angle calculated from a phase difference at a detection-signal zero cross point, the velocity being determined based on the angle and an angle calculated from a phase difference at a previous detection-signal zero cross point, calculates an estimated angle at a next detection-signal zero cross point based on the velocity, divides a difference between the estimated angle and the angle into predetermined minimum detection angles, and outputs a real-time signal based on the minimum detection angles in a range after the angle but before the estimated angle.
(2) Furthermore, another aspect of the invention provides a phase difference resolver comprising: an excitation coil for receiving an excitation signal, a detection coil for outputting a detection signal, and a control unit for calculating an angular displacement based on a phase difference between an excitation-signal zero cross point of the excitation coil and a detection-signal zero cross point of the detection coil, wherein the control unit calculates an excitation signal angle from a value of the excitation signal at time, calculates a detection signal angle from a value of the detection signal at the time, and estimates a current angle based on a difference between the excitation signal angle and the detection signal angle.
With the above configuration (1), the angular displacement to the next zero cross point can be output every short elapsed time based on the velocity which is the immediately previous rate of angle change. It is therefore adaptable in real time to even the case of requiring high resolution.
According to the invention, for example, the use of the minimum detection angle θLSB=0.0879° can provide a resolution about twenty-eight times (2.5/0.0879) higher than a resolution of 2.5° (the number of motor revolutions is 3000 rpm) obtained in the case of using only the zero cross points.
With the above configuration (2), the angular displacement can be estimated not only at the zero cross points but also at any time.
A detailed description of a first preferred embodiment of a resolver of a phase difference type embodying the present invention will now be given referring to the accompanying drawings. As shown in
A sine wave generating circuit 11 for generating a sine wave R1 (A sin ωt) of 7.2 kHz which is a first excitation signal is connected to a first excitation coil 21 of a resolver stator. A cosine wave generating circuit 12 for generating a cosine wave R2 (A cos ωt) of 7.2 kHz which is a second excitation signal is connected to a second excitation coil 22 of the resolver stator. The sine wave and the cosine wave are equal in amplitude but shifted or displaced in phase by 90°.
In a detection coil 23, an output signal K, i.e., AB sin(ωt+θ) is generated as an induced current. The output signal K is input to a comparator 14 placed in a stator through rotary transformers 24 and 25. On the other hand, a sine wave (A sin ωt) is transmitted from the sine wave generating coil 11 to a comparator 13. Outputs of the comparators 13 and 14 are input to the angle calculator 16. Furthermore, output of a reference clock generator 15 is input to the angle calculator 16.
Operations of the resolver configured as above will be explained below.
When the first excitation coil 21 is excited with the sine wave R1 (A sin ωt) and the second excitation coil 22 is excited with the cosine wave R2, the output signal K, i.e., AB sin(ωt+θ) is generated as an induced current in the detection coil 23 of a resolver rotor. An upper graph in
The output signal K is transmitted to the comparator 14 placed in the stator through the rotary transformers 24 and 25.
On the other hand, the sine wave R1 (A sin ωt) is transmitted from the sine wave generating circuit 11 to the comparator 13. Based on a time deviation (a phase difference M) between the timing of detecting the zero-crossing of the sine wave R1 (A sin ωt) which is an excitation signal to be detected by the comparator 13 and the timing of detecting the zero-crossing of the output signal K (AB sin(ωt+θ)) to be detected by the comparator 14, an angle calculator 16 calculates a rotation angle of a motor rotor. The zero-crossing detection timing of the sine wave R1 detected by the comparator 13 is indicated by Sr in
The angle calculator 16 calculates the angular displacement based on the phase difference M and outputs a signal P representing the calculated angular displacement to an output port 17. The timing of outputting the angular displacement signal P to the output port 17 is almost the same as the zero cross point of the output signal K. In other words, the angle calculator 16 almost instantaneously calculates the angle and outputs the angular displacement signal P.
In the figure, “X” denotes a zero cross point of the detection signal K (hereinafter, “detection-signal zero cross point”), “X−1” denotes a detection-signal zero cross point one previous to X, “X−2” denotes a detection-signal zero cross point two previous to X, and “X+1” denotes a detection-signal zero cross point next to X. The detection-signal zero cross point X is sequentially changed. In other words, at the moment when the detection signal K reaches a next zero cross point, the previous detection-signal zero cross point X+1 is changed to the current detection-signal zero cross point X.
The phase difference M(X) indicates a phase difference at the detection-signal zero cross point X, and the angle θ(X) indicates an angle at the detection-signal zero cross point X.
The angular displacement signal P is output only at almost the same periods as the sine wave R1 serving as the excitation signal. Accordingly, the angular displacement signal P alone could only provide low resolution of angular displacement. The excitation signal used in this embodiment is 7.2 kHz. For instance, when the number of motor revolutions is 300 rpm, the angular velocity is 18000° per second. For 7.2 kHz, therefore, a detectable minimum angle is merely 18000/7200=2.5°.
In this embodiment, the angle calculator 16 estimates the angular displacement (a displacement angle) in process of the zero-crossing detection timing and outputs a real-time signal S representing the estimated angular displacement (the estimated displacement angle) to an output port 18. The real-time signal S is explained below.
A velocity V(X) is first calculated based on a previous (immediately preceding) angle and phase difference (S1):
V(X)=(θ(X)−θ(X−1))/(Tr+M(X)−M(X−1))
where Tr is a period (time) of the excitation signal.
A time T′θLX for addition and subtraction of a minimum detection angle θLSB which is a resolution angle (S2). Herein, TθLX is a time for calculation to find the minimum detection angle θLSB which is a resolution angle, that is, TθLX=θLSB/V(X). An addition counter KNX is the number of outputs of angle change corresponding to the minimum detection angle θLSB at an angle detection period Tr+M(X)−M(X−1) and is expressed by KNX=(Tr+M(X)−M(X−1))/TθLX (=(θ(X)−θ(X−1))/θLSB). A corrected counter KN′X is obtained by adding a later correction value to the addition counter and is expressed by KN′X=KNX+α(α is a correction value). At that time, T′θLX=(Tr+M(X)−M(X−1)/KN′X.
Next, a current estimated angle θ′ (S3) is estimated by adding or subtracting the minimum detection angle θLSB every time T′θLX elapses.
When an actual angle θ(X) is to be detected, if an error β is absent between a calculated actual angle θ(X+1) and an estimated angle θ′(X) (S4: Yes), α=0 is input in S2 (S5). When an error β is present (S4: No), α=θ′(X+1)−θ(X))/θLSB is input in S2 (S6). Herein, θ(X+1) is an actual angle corresponding to an angle estimated at θ′(X).
A concrete calculation method using the algorithm of
In
Tr is a period (time) of the excitation signal. A phase difference M(X) is a time deviation or difference (time) between the excitation signal R1 and the detection signal K at the detection-signal zero cross point X. A phase difference M(X−1) is a time deviation or difference (time) between the excitation signal R1 and the detection signal K at the detection-signal zero cross point X−1. An estimated phase difference M′(X+1) is an estimated phase difference at the detection-signal zero cross point X+1.
The angular displacement (displacement angle); θ(X)−θ(X−1) is divided by the time; Tr+M(X)−M(X−1) to determine an angular velocity V(X) at the detection-signal zero cross point X. In a range from the zero cross point X to the next zero cross point X+1, it is assumed that V(X) is changed at constant velocity. That is, it is assumed that an estimated velocity V′(X+1) is equal to V(X).
Next, a minimum detection angle θLSB is determined. In this embodiment, the accuracy is 12 bits. Thus, the minimum detection angle θLSB is 0.0879° obtained by dividing 360° by 2 raised to the 12th power, i.e., 4096.
The time TθLX needed for rotation by the minimum detection angle θLSB from the angle θ(X) is calculated by TθLX=θLSB/V(X). Since the estimated velocity V′(X+1) is assumed as a constant velocity, as shown in
In this embodiment, in a time period ΔTc from the zero cross point X to the zero cross point X+1, the angle calculator 16 calculates, as the current estimated angle θ′, an angle obtained by adding (subtracting) the minimum detection angle θLSB to (from) the measured angle θ(X) every time the time TθLX elapses and outputs it as the real-time signal S to the output port 18. Specifically, the real-time signal S is output at timings at which the angle is estimated to have changed by the minimum detection angle θLSB.
At the time shown in
According to the minimum detection angle θLSB in this embodiment, it is possible to obtain the resolution about twenty-eight times (2.5/0.0879) higher than the resolution of 2.5° (when the number of motor revolutions is 3000 rpm) obtained only at the zero cross point.
In this embodiment, the real-time signal S is output as an estimated angle calculated by adding the minimum detection angle θLSB to the measured angle θ(X) at timings at which the angle is estimated to have changed by the minimum detection angle θLSB, that is, every time a predetermined time TθLX=θLSB/V(X) elapses. Accordingly, a side receiving the detection signal can receive a current estimated angle every time the angle is estimated to have changed by the minimum detection angle θLSB.
Herein, a real-time signal S may be output as a simple timing signal when the angle is estimated to have changed by the minimum detection angle θLSB. In this case, the side receiving the real-time signal S counts the number of inputs, thereby knowing the estimated angle. Furthermore, the present embodiment uses the predetermined time TθLX=θLSB/V(X) as a method of estimating that the angle has changed by the minimum detection angle θLSB. Alternatively, another more complicated calculation method may be used to enhance accuracy.
The following explanation is made on the case where an error occurs between the estimated angle θ′(X+1) and an actually measured value.
The error β is observed at the time T(X) in
To solve the above problems, the present embodiment adopts a method of gradually correcting the error β. To be concrete, while the estimated angle θ′(X) is maintained, a next estimated angular velocity V′(X+1) is calculated based on the actually measured value θ(X) to provide the estimated angular velocity V′(X+1)=the angular velocity V(X).
A method of reducing the error will be explained below.
In an actual operation, the timing of addition/subtraction of the minimum detection angle θLSB is a period tθLX which is an integral multiple of the basic clock period (in this embodiment, the basic clock frequency is 30 MHz and hence the period is 33 ns). Accordingly, remainders left by dividing the time TθLX by the basic clock period are accumulated and become an error. Accordingly, an interval for adding or subtracting the minimum detection angle θLSB is extended by one basic clock period by the number of times corresponding to a value obtained by division of the error by the basic clock period so that the interval is expressed by tθLX+1CLK(33 ns). This can reduce the error. The timings at which the interval for adding or subtracting minimum detection angle θLSB is extended are uniformly allocated in balance, so that an output velocity of the detection signal can be approximated to an ideal velocity. In
For example, it is assumed that the addition/subtraction timing is controlled at five stages under the condition that the time period ΔTc is 102. This results in 102/5=20 leaving a remainder of 2. As shown in
In the method of
In this embodiment, the accuracy of angle output is 12 bits. One period (360° of the excitation signal is 360×12=4096 per unit of time (7324 Hz of excitation signal frequency with respect to 30 MHz (a period of 33 ns) of a basic clock frequency). Accordingly, one unit of time (a basic clock: 33 ns) corresponds to 1θLSB (0.0879°. Herein, assuming that there is an angle change corresponding to +10θLSB from T(X−1) to T(X) (for example, the phase difference M(X−1)=40 basic clocks and the phase difference M(X)=50 basic clocks). Since Tr=4096 unit per time, it is estimated that ΔTc(T(X−1)−T(X))=ΔTB(T(X)−T(X−1))=Tr+M(X)−M(X−1)=4106. Accordingly, it is necessary to output a signal representing that ten angle changes of 1θLSB during 4106 basic clocks. In other words, 4106/10=410.6 and the angle can be estimated to change in steps of 1θLSB every 410.6 basic clock. However, this is not an integral multiple of the basic clock period and such control is impossible. Herein, if a fractional portion, 0.6, is dropped and the angle is assumed to have changed in steps of +1θLSB every 410 basic clock, a real-time signal representing that the angle has changed by 10θLSB is output at the time of 4100 basic clocks. This causes an error. This embodiment shows a method of reducing the above error occurrence.
An estimated time tθLX(1) in which the angle is changed by the minimum detection angle θLSB is set at 410 which is a value obtained by dropping the fractional portion of 4106/10=410.6. This embodiment uses as the basic clock having a frequency of 30 MHz and a period of 33 ns and thus the estimated time tθLX(1)=410*33 ns. Subsequently, an estimated time tθLX(2) in which the angle is changed by 2θLSB is set at “410*33 ns” which is a value obtained by dropping the fractional portion of (4106/410)/9=410.6. An estimated time tθLX(3) in which the angle is changed by 3θLSB is set at “410*33 ns” which is a value obtained by dropping the fractional portion of (4106−410*2)/8=410.7. An estimated time tθLX(4) in which the angle is changed by 4 θLSB is set at “410*33 ns” which is a value obtained by dropping the fractional portion of (4106-410*3)/7=410.8. An estimated time tθLX(5) in which the angle is changed by 5θLSB is set at “411*33 ns” which is a value obtained by dropping the fractional portion of (4106-410*4)/6=411.
The above calculation is sequentially performed by dropping the fractional portions to reduce errors. Thus, the errors can be easily reduced. The method shown in
Then, the angle calculator 16 calculates a current estimated angle θ′ by adding (subtracting) the minimum detection angle θLSB to (from) the angle θ(X) every time the time TθLX passes and outputs as a real-time signal S to the output port 18. Therefore, the angle calculator 16 internally generates a signal every time the time TθLX elapses.
A pulse train A having on-time TθLX and off-time TθLX is generated in a period of time from the time T(X) at the zero cross point X to the estimated time T(X+1). In sync with rise and fall timings of the pulse train A, the minimum detection angle θLSB is added and the real-time signal S is output.
As an alternative, two pulse trains B and C may be generated as shown in
Using the two pulse trains B and C, angle output can be facilitated to detect angle and rotation direction. Specifically, by sequentially discriminating the order of rise and fall times of the two pulse trains, the rotation direction can be easily determined.
Since the minimum detection angle θLSB or the times TθLX, 2TθLX, and others corresponding to the integral multiple of the angle are generated in pulse trains as above, a current angle θ′ can be output. In other words, when one or both of rising and falling of the pulse train are counted, a count value thereof represents an absolute angle. Thus, parallel output and serial output can exhibit a current absolute angle.
In this embodiment, only when the angle is changed by 2θLSB or more in a period from the detection-signal zero cross point X−1 to the detection-signal zero cross point X, the angle estimation in real time is performed. When the angle is changed only by less than 2θLSB, no angle estimation is performed.
The reason why the angle estimation is not performed for the angle change of less than 2θLSB is explained referring to
When the angle estimation is always performed, an angle change of θLSB is measured at the time T(X+1) of a detection-signal zero cross point X+1. Based on that change, accordingly, the estimated angle θ′(X+2) at a detection-signal zero cross point X+2 is estimated as +2θLSB as indicated by the broken line M3.
The angle measured at the time of zero cross point X+2 is less than the estimated angle +2θLSB. At that time, accordingly, an estimated angle θ′(X+3) at a detection-signal zero cross point X+3 is +θLSB. This angle shows reverse rotation from the zero cross point X+2 to the zero cross point X+3 as shown in the figure; however, it is different from the actual angle change M1.
On the other hand, in the case of performing no estimation for the angle change of less than 2θLSB in a period from the zero cross point X to the next zero cross point X+1, the angle θ is unchanged at the zero cross point X as indicated by the solid line M2 and then the angle θ is replaced with an actually measured value +θLSB at the zero cross point X+1. Simultaneously, the angle θ is unchanged at the zero cross point X+2 and then the angle θ is replaced with the actually measured value +2θLSB at the zero cross point X+3. According to this method, the angle is not changed to a negative angle and the control unit of the motor side does not erroneously detect that the motor is reversely rotated.
According to the phase difference type resolver of the first embodiment, as described above, there are included the excitation coils 21 and 22 to which the excitation signals are input, the detection coil 23 for outputting the detection signal, and the angle calculator 16 for calculating the angular displacement based on the phase difference between the zero cross points of the excitation signals to the excitation coils 21 and 22 and the zero cross point of the detection signal from the detection coil 23. The calculator 16 determines the velocity V(X) at the angle θ(X) based on the angle θ(X) calculated from the phase difference M(X) at the detection-signal zero cross point X and the angle θ(X−1) calculated from the phase difference M(X−1) at the previous detection-signal zero cross point X−1. The calculator 16 calculates the estimated angle θ′(X+1) at the next detection-signal zero cross point X+1 based on the velocity V(X), divides a difference between the estimated angle θ′(X+1) and the angle θ(X) into predetermined minimum detection angles θLSB, and outputs a real-time signal based on the minimum detection angle θLSB in a range after the angle θ(X) and before the estimated angle θ(X+1). The angular displacement up to the next zero cross point can be output every time a short time elapses based on the velocity which is the immediately preceding rate of change in angle. Accordingly, the resolver of the present embodiment is applicable to even the angle detection requiring higher resolution.
For instance, it is assumed that the excitation signal of 7.2 kHz is used. In this case, the angular velocity is 18000° per second for a motor revolution speed of 3000 rpm. The 7.2 kHz signal could only provide a detectable minimum angle of 18000/7200=2.5°. This is the output from the output port 17.
In the present embodiment, the minimum detection angle θLSB of 0.0879° is used. Accordingly, as compared with the above case with the resolution of 2.5° (for the motor revolution speed of 3000 rpm) using only the zero cross points, for example, the present embodiment can provide an angular resolution of 2.5/0.0879, about twenty-eight times higher than the resolution of 2.5°.
Specifically, the real-time signal is output at the timing at which the angle is estimated to have changed by the minimum detection angle θLSB. Since the real-time signal is output every time the angle is changed by the minimum detection angle θLSB, accordingly, the angle change can be detected in real time.
Every time the predetermined time TθLX=θLSB/V(X) elapses, the real-time signal is output as the excitation angle determined by adding the minimum detection angle θLSB. Accordingly, every time the minimum detection angle θLSB is changed, the estimated angle at that moment can be detected.
When the error β is present between the estimated angle θ′(X+1) and the angle θ(X+1) calculated based on the phase difference M(X+1) at the next excitation-signal zero cross point X+1, the velocity V(X+1) at the next zero cross point X+1 is calculated with a correction based on the error β. Even when the rate of angle change is suddenly changed, next estimated angular displacement is promptly corrected.
The interval of addition/subtraction of the minimum detection angle θLSB is an integral multiple of the basic clock of the angle calculator 16. Even though the accumulated reminders left by dividing the predetermined time TθLX by the basic clock become errors, these errors can easily be reduced.
Furthermore, the interval for adding/subtracting the minimum detection angle θLSB is extended by one period 1CLK of the basic clock by the number of times corresponding to a value obtained by dividing the error by the basic clock. It is therefore possible to reduce the error while ensuring balance.
To output the predetermined time TθLX, a plurality of pulse trains are output. This can easily output the phase difference resolver.
The current angle calculation is not performed when the difference between the estimated angle θ′(X+1) and the angle θ(X) calculated based on the phase difference M(X) at the excitation-signal zero cross point X is a predetermined value or less. Even during low rotation, accordingly, it is not erroneously judged as reverse rotation.
A second embodiment of the invention will be described below. A basic structure of a resolver of a phase difference type in the second embodiment is identical to that in the second embodiment, which is as shown in
In the upper graph (a), a solid line N1 is a value of sin θ and a dotted line N2 is a value of arcsin θ. The data processing method in (a) is explained first. A calculation value arcsin θ′ is set at −90° at a minimum value sin θ. (1) In a range where θ is −90° or more and 90° or less, a correction value θ′=θ. (2) In a range where θ is 90° or more and 270° or less, the correction value θ′=180−θ.
Thus, the data after correction shown in the lower graph (b) can be obtained. A thick broken line N3 indicates the data after correction. According to the corrected data N3, in an all range, arcsin is output in straight line, not in polygonal line.
In the upper graph (a), a solid line N1 indicates a value of sin θ and a dotted line N2 indicates a data processing method shown in (a). A calculation value arcsin θ′ is set at 90° at sin θ. (1) In the range of θ from 90° or more and 270° or less, a correction value θ′=θ. (2) In the range of θ from)−90° (270° or more and)90° (450° or less, the correction value θ′=−180−θ. Thus, the data N3 after correction shown in (b) can be obtained. According to the corrected data N3, in an all range, arcsin is output in straight line, not in polygonal line.
A resolver angle ΦX at an arbitrary time is expressed by ΦX=θ′Sr1−θ′Ss1 (degrees). The resolver angle is always detected and a real-time signal S is output to the output port 18 every time the resolver angle ΦX is added (subtracted) by the minimum detection angle θLSB=0.0879°.
According to the phase difference type resolver in the second embodiment, as explained above in detail, there are provided the excitation coils 21 and 22 to which the excitation signals are input, the detection coil 23 for outputting the detection signal, and the angle calculator 16 for calculating the angular displacement based on the phase difference between the zero cross points of the excitation coils 21 and 22 and the zero cross point of the detection coil 23. Accordingly, the angle calculator 16 calculates the excitation signal angle θ′SrX from the value of the excitation signal at the time T, calculates the detection signal angle θ′SsX from the value of the detection signal at the time T, and estimates a current angle based on a difference between the excitation signal angle θ′SrX and the detection signal angle θ′SsX. Accordingly, the angular displacement can be estimated at arbitrary time, without limiting to the zero cross point.
Furthermore, for calculating the detection signal angle θ′SsX, one period of the sine wave is divided by a predetermined number, and a value in process of the division is corrected by an elapsed time. Accordingly, the angular displacement can be calculated by simple calculation.
A third embodiment of the invention will be described below. The third embodiment is different from the first embodiment only in how to determine the velocity V(X), and other parts are identical to those in the first embodiment. The following explanation is therefore focused on the differences without repeating the same explanation.
A velocity V′(X−3) in an interval (a range) from X-3 to X-4 ((X-4)−(X-3)) is determined by: V′(X−3)=(θ(X−3)−θ(X−4))/(Tr+M(X−3)−M(X−4)).
A velocity V′(X−2) in an interval from X-2 to X-3 ((X-3)−(X-2)) is determined by: V′(X−2)=(θ(X−2)−θ(X−3))/(Tr+M(X−2)−M(X−3)).
A velocity V′(X−1) in an interval from X−1 to X-2 ((X-2)−(X−1)) is determined by: V′(X−1)=(θ(X−1)−θ(X−2))/(Tr+M(X−1)−M(X−2)).
A velocity V′(X) in an interval from X to X−1 ((X−1)−(X)) is determined by: V′(X)=(θ(X)−θ(X−1))/(Tr+M(X)−M(X−1)).
An average velocity V(X) of the four intervals is determined by:
V(X)=(V′(X−3)+V′(X−2)+V′(X−1)+V′(x))/(4Tr+M(X)−M(X−4)).
This V(X) is used as V(X) in the first embodiment.
Herein, as shown in a lower column in
For calculation of an average of the four velocities V′, in the present embodiment, the data of each velocity V′ is 12 bits and hence a total value of four data is 14 bits. If an average is simply calculated, last 2 digits are dropped to form 12-bit data. In the present embodiment, a high-order digit of the last two digits is rounded up if it is 1, and down if it is O.
According to the third embodiment, for determining the velocity V(X), the velocity V′ is determined at each of the plurality of previous zero cross points (in the third embodiment, e.g., four point or five points if including a current zero cross point) and an average value of them is set as the velocity V(X). When the velocity V′ is largely changed, the estimated angle can be output in real time with high accuracy.
In the above embodiment, the velocity V(X) is determined from four zero cross points. As another alternative, the velocity V(X) may be determined from eight zero cross points to further increase the accuracy.
In the embodiment, the number of previous zero cross points is 4 or 8. This can facilitate the calculation with bits and make a simple program.
If the number of previous zero cross points is ten or more for detection of rotation angle of a motor, the following problems are concerned.
Specifically, if ten or more zero cross points are taken when rapid deceleration is performed while the motor is rotating at 10000 rpm or more, an error may exceed 1θLSB, so that an estimated value of the rapidly changing velocity V(X) cannot be estimated with accuracy. Taking ten or more zero cross points means the use of many data measured in the past. This may cause a problem that an error of the velocity to be estimated is larger as the velocity rapidly changes.
The present invention is not limited to the above embodiments and may be embodied in other specific forms without departing from the essential characteristics thereof.
For instance, in the above embodiment, the predetermined time TθLX=θLSB/V(X) is used to estimate the angle to have changed by the minimum detection angle θLSB. Other calculating expressions may be adopted to estimate angle changes. Instead of estimating that the angle is changed by the minimum detection angle θLSB, it may be arranged to calculate an estimated angle at constant time intervals and output the calculated estimated angle as a real-time signal S at the constant time intervals.
In the above embodiment, the accuracy is 12 bits. As an alternative, larger bits may be used to enhance the accuracy.
The above embodiment explains the case of the motor that is normally rotated. In the case of the motor that is reversely rotated, an estimated angle can be calculated by subtracting the minimum detection angle θLSB.
While the presently preferred embodiment of the present invention has been shown and described, it is to be understood that this disclosure is for the purpose of illustration and that various changes and modifications may be made without departing from the scope of the invention as set forth in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2009-142017 | Jun 2009 | JP | national |
2009-255745 | Nov 2009 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
4612503 | Shimizu et al. | Sep 1986 | A |
4795954 | Sakurai et al. | Jan 1989 | A |
6239571 | Shimahara | May 2001 | B1 |
7174270 | Kokubo et al. | Feb 2007 | B2 |
7603250 | Nishimoto et al. | Oct 2009 | B2 |
7840364 | Nakazato | Nov 2010 | B2 |
Number | Date | Country |
---|---|---|
A-62-144021 | Jun 1987 | JP |
B-3047231 | Mar 2000 | JP |
A-2000-292205 | Oct 2000 | JP |
A-2008-309736 | Dec 2008 | JP |
Number | Date | Country | |
---|---|---|---|
20100315075 A1 | Dec 2010 | US |