Rotation speed detecting device, motor control device and electric power steering device

By designing the rotation speed calculation and correction unit of the rotation speed detection device, the problem of upper limit of the motor rotation speed and acceleration calculation is solved, and accurate calculation and control at high rotation speed is achieved.

JP2025043060APending Publication Date: 2025-03-28NSK STEERING & CONTROL CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023150367
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-15
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

In the prior art, when calculating the rotation speed and rotation acceleration of a motor, as the rotation speed increases, the differential signal exceeds 180 degrees, resulting in the inability to calculate the rotation speed and rotation acceleration.

Method used

A rotation speed detection device is designed, including a rotation speed calculation unit and a rotation speed correction unit. The rotation speed calculation unit calculates the angular position difference to obtain the rotation speed by receiving the angular position signal of the rotation axis of the motor. The rotation speed correction unit performs corrections to avoid the upper limit of the rotation speed and rotation acceleration by detecting the rotation speed difference.

Benefits of technology

The upper limit of calculation of rotation speed and rotation acceleration is effectively avoided, ensuring that accurate calculations can be made at high rotation speeds, and improving the reliability of motor control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025043060000001_ABST
    Figure 2025043060000001_ABST
Patent Text Reader

Abstract

To avoid, by a simple structure, the upper limits for the rotation speed and rotation acceleration of a motor that can be computed.SOLUTION: A rotation speed correcting unit 33 includes: rotation speed difference calculating units 60 and 61 that calculate a rotation speed difference which is a difference in rotation speed calculated by a rotation speed calculating unit 31 within a predetermined time period; speed correction amount reducing units 66 and 68 that subtract, from the rotation speed correction amount, a rotation speed unit correction amount that is a rotation speed at which the change amount of the rotation speed within the predetermined time period becomes 360 degrees when the absolute value of the rotation speed difference is greater than a first threshold and when the rotation speed difference is positive; speed correction amount increasing units 67 and 68 that add, to the rotation speed correction amount, the rotation speed unit correction amount when the absolute value of the rotation speed difference is greater than the first threshold and when the rotation speed difference is negative; and a speed correction amount adding unit 71 that calculates, as a corrected rotation speed, a sum obtained by adding the rotation speed correction amount to the rotation speed calculated by the rotation speed calculating unit 31.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a rotation speed detection device, a motor control device, and an electric power steering device. [Background technology]

[0002] The following Patent Document 1 describes a motor control device that detects a rotational state quantity related to the rotation period of a motor, generates a pulse width modulated signal using a carrier signal, detects the phase difference between the carrier signal and the rotation period, and, if the rotation frequency of the motor is equal to or higher than a predetermined frequency and the phase difference is equal to or lower than a predetermined value, sets the frequency of the carrier signal to a value corresponding to a multiplication factor corresponding to the motor rotation speed, and synchronizes the control period related to the carrier signal with the rotation period of the motor. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 4909797 Summary of the Invention [Problem to be solved by the invention]

[0004] Motor current control usually uses the rotation speed signal and rotation acceleration signal of the motor's rotating shaft. These rotation speed and rotation acceleration signals can be calculated based on the difference per unit time of the motor's electrical angle signal. However, when the rotation speed increases, the magnitude of the difference exceeds 180[deg], making it impossible to calculate the rotation speed. The same problem exists when calculating the rotation acceleration signal. The present invention has been made in light of the above-mentioned problems, and has an object to avoid the upper limit of the calculable rotation speed and rotation acceleration of a motor with a simple configuration. [Means for solving the problem]

[0005] In order to achieve the above-mentioned object, a rotational speed detection device according to one aspect of the present invention includes a rotational speed calculation unit that receives a signal of a rotational angle position of a rotating shaft of a motor and calculates a difference in the rotational angle position over a predetermined period as the rotational speed of the rotating shaft, and a rotational speed correction unit that corrects the rotational speed calculated by the rotational speed calculation unit and outputs it as a corrected rotational speed. the rotation speed correction unit includes a rotation speed difference calculation unit that calculates a rotation speed difference, which is the difference in the rotation speeds calculated by the rotation speed calculation unit over a predetermined period; a rotation speed correction amount storage unit that stores a rotation speed correction amount set to an initial value of 0 when the rotation speed of the rotating shaft is 0; a speed correction amount reduction unit that subtracts a rotation speed unit correction amount, which is a rotation speed at which a change in the rotation speed over a predetermined period is 360 [deg], from the rotation speed correction amount stored in the rotation speed correction amount storage unit when the absolute value of the rotation speed difference is greater than a first threshold value and the sign of the rotation speed difference is positive, and stores the subtraction result in the rotation speed correction amount storage unit; a speed correction amount increase unit that adds the rotation speed unit correction amount to the rotation speed correction amount stored in the rotation speed correction amount storage unit and stores the addition result in the rotation speed correction amount storage unit when the absolute value of the rotation speed difference is greater than the first threshold value and the sign of the rotation speed difference is negative; and a speed correction amount addition unit that calculates the sum of the rotation speed calculated by the rotation speed calculation unit and the rotation speed correction amount stored in the rotation speed correction amount storage unit as a corrected rotation speed.

[0006] A motor control device according to another aspect of the present invention includes the rotational speed detection device described above, and a control unit that controls driving of the motor based on the corrected rotational speed output from the rotational speed correction unit. An electric power steering device according to still another aspect of the present invention includes the motor control device described above and an electric motor controlled by the motor control device, and applies a steering assist force to a steering system of a vehicle by the electric motor. Effect of the Invention

[0007] According to the present invention, the upper limit of the motor rotation speed and rotation acceleration that can be calculated can be avoided with a simple configuration. [Brief description of the drawings]

[0008] [Figure 1] 1 is a configuration diagram showing an overview of an example of an electric power steering device to which a motor control device according to an embodiment is applied; [Diagram 2] 1 is a block diagram illustrating an example of a functional configuration of a motor control device according to an embodiment. [Diagram 3] 4 is a block diagram illustrating an example of a functional configuration of a rotation speed calculation unit. FIG. [Figure 4] 4 is a time chart of a rotation angle position signal. [Diagram 5] 4 is a block diagram illustrating an example of a functional configuration of a difference correction unit. FIG. [Figure 6] 6(a) to 6(c) are diagrams illustrating an example of the operation of a rotation speed correction unit. [Figure 7] 4 is a block diagram of an example of a functional configuration of a rotation speed correction unit. FIG. [Figure 8] FIG. 11 is an explanatory diagram of a first relaxation gain. [Figure 9] 6(a) to 6(c) are diagrams illustrating an example of the operation of a rotational acceleration correction unit. [Figure 10] 13 is a block diagram of an example of a functional configuration of a rotational acceleration correction unit. FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described in detail with reference to the drawings. The embodiments of the present invention described below are merely examples of devices and methods for embodying the technical idea of ​​the present invention, and the technical idea of ​​the present invention does not limit the configuration, arrangement, etc. of the components to those described below. The technical idea of ​​the present invention can be modified in various ways within the technical scope defined by the claims.

[0010] (composition) 1 is a schematic diagram showing an example of an electric power steering device (EPS: Electric Power Steering) to which a motor control device according to an embodiment is applied. A steering shaft (steering shaft, handle shaft) 2 of a steering wheel (steering handle) 1 is connected to steered wheels 8L, 8R via reduction gears (worm gears) 3 constituting a reduction mechanism, universal joints 4a and 4b, a pinion rack mechanism 5, and tie rods 6a and 6b, and further via hub units 7a and 7b.

[0011] The pinion rack mechanism 5 has a pinion 5a connected to a pinion shaft to which steering force is transmitted from the universal joint 4b, and a rack 5b that meshes with this pinion 5a. The rotational motion transmitted to the pinion 5a is converted into linear motion in the vehicle width direction by the rack 5b. The steering shaft 2 is provided with a torque sensor 10 for detecting a steering torque T. In addition, the steering shaft 2 is provided with a steering angle sensor 14 for detecting a steering angle δ of the steering wheel 1.

[0012] A motor 20 that assists the steering force of the steering wheel 1 is connected to the steering shaft 2 via a reduction gear 3. The motor 20 may be, for example, a three-phase AC motor. An electronic control unit (ECU) 21 that controls the electric power steering device is supplied with power from a battery 13 and receives an ignition key signal via an ignition switch 11.

[0013] The ECU 21 calculates a current command value of an assist control command based on the steering torque T detected by the torque sensor 10, the vehicle speed V detected by the vehicle speed sensor 12, and the steering angle δ detected by the steering angle sensor 14, and controls the current supplied to the motor 20 based on a voltage command value Vref obtained by performing compensation or the like on the current command value. The steering angle sensor 14 is not essential, and the steering angle δ may be calculated by adding the torsion angle of the torsion bar of the torque sensor 10 to the rotation angle position signal θ of the rotating shaft obtained from the rotation angle sensor 20a that detects the rotation angle of the rotating shaft of the motor 20. For example, a resolver that detects the rotation position of the motor or a magnetic sensor that detects the magnetic field of a magnet attached to the rotating shaft of the motor 20 may be used as the rotation angle sensor 20a. The steering angle of the steered wheels 8L, 8R may be used instead of the steering angle δ. For example, the steering angle may be detected by detecting the displacement amount of the rack 5b.

[0014] The ECU 21 includes, for example, a computer including a processor and peripheral components such as a storage device, etc. The processor may be, for example, a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit). The storage device may include any one of a semiconductor storage device, a magnetic storage device, and an optical storage device. The storage device may include a register, a cache memory, a memory such as a ROM (Read Only Memory) and a RAM (Random Access Memory) used as a main memory device. The functions of the motor control device 30 described below are realized, for example, by the processor of the ECU 21 executing a computer program stored in a storage device.

[0015] The ECU 21 may be formed of dedicated hardware for executing each of the information processes described below. For example, the ECU 21 may include a functional logic circuit configured in a general-purpose semiconductor integrated circuit, or may have a programmable logic device (PLD) such as a field programmable gate array (FPGA). The application of the motor control device 30 of the embodiment is not limited to an electric power steering device. The motor control device 30 of the embodiment can be widely applied to motor control devices that control the drive of a motor based on a rotation speed signal or a rotation acceleration signal of a rotating shaft of the motor.

[0016] 2 is a block diagram of an example of a functional configuration of a motor control device 30 according to an embodiment. The motor control device 30 includes a rotation speed calculation unit 31, a conversion unit 32, a rotation speed correction unit 33, a control unit 34, a rotation acceleration calculation unit 35, a rotation acceleration correction unit 36, and a conversion unit 37. The rotation speed calculation unit 31 receives, from the rotation angle sensor 20a, a rotation angle position signal θ representing the rotation angle position of the rotation shaft of the motor 20. For example, the rotation angle position signal θ may be an electrical angle signal of the motor 20. In the following description, the rotation shaft of the motor 20 may be simply referred to as the "rotation shaft."

[0017] 3 is a block diagram of an example of a functional configuration of the rotation speed calculation unit 31. The rotation speed calculation unit 31 calculates a rotation angle position difference dθ, which is the difference of the rotation angle position signal θ in a predetermined calculation control period T0. The calculation control period T0 is an example of the "predetermined period" recited in the claims. The rotation speed calculation unit 31 calculates the amount of rotation ωa of the rotating shaft in a calculation control period T0 based on the rotation angle position difference dθ. The rotation speed calculation unit 31 also calculates the amount of rotation ωb of the rotating shaft in N consecutive calculation control periods T0 (N is a natural number equal to or greater than 2) (i.e., the amount of rotation ωb of the rotating shaft in a period (N×T0)). In the following description, a case in which the natural number N is "2" is illustrated, but the natural number N may be "3" or greater. The rotation speed calculation unit 31 outputs the amount of rotation ωa to the rotation acceleration calculation unit 35, and outputs the amount of rotation ωb to the conversion unit 32. The configuration of the rotation speed calculation unit 31 will be described later.

[0018] 2, the conversion unit 32 multiplies the amount of rotation ωb by a predetermined coefficient to calculate a rotation speed signal ωc representing the rotation speed in a predetermined unit (for example, rpm: rotations per minute). The conversion unit 32 outputs the rotation speed signal ωc to the rotation speed correction unit 33. The possible values ​​of the rotation amount ωa are limited to the range of -180[deg] to 180[deg]. Therefore, if the actual rotation amount of the rotating shaft in the calculation control period T0 exceeds this range, an error of 360[deg] or -360[deg] occurs in the rotation amount ωa due to signal inversion, and an error also occurs in the rotation amount ωb due to the error in the rotation amount ωa, and an error also occurs in the rotation speed signal ωc output by the conversion unit 32. The rotation speed correction unit 33 corrects the rotation speed signal ωc output by the conversion unit 32 and outputs it to the control unit 34 as a corrected rotation speed signal ω. The configuration of the rotation speed correction unit 33 will be described later.

[0019] The rotational acceleration calculation unit 35 calculates the difference αa in the amount of rotation ωa at a predetermined calculation control period T0. Since the difference αa is a signal having a magnitude corresponding to the rotational acceleration of the rotating shaft, for convenience of explanation, the difference αa is referred to as the "rotational acceleration signal αa" in this specification. When the amount of change in the actual rotational speed of the rotating shaft during the calculation control period T0 exceeds the range of -180[deg] to 180[deg], an error also occurs in the rotational acceleration signal αa. The rotational acceleration correction unit 36 ​​corrects the rotational acceleration signal αa output by the rotational acceleration calculation unit 35, and outputs it as a corrected rotational acceleration signal αb. The configuration of the rotational acceleration correction unit 36 ​​will be described later.

[0020] The conversion unit 37 converts the corrected rotational acceleration signal αb into a predetermined unit (e.g., rad / s 2 The conversion unit 37 calculates a corrected rotational acceleration signal α that represents the rotational acceleration of the target object 30. The conversion unit 37 outputs the corrected rotational acceleration signal α to the control unit . The control unit 34 controls the driving of the motor 20 based on the corrected rotational speed signal ω and the corrected rotational acceleration signal α. For example, a damping compensation current according to the corrected rotational speed signal ω may be calculated and added to the motor current. Alternatively, a torque ripple may be estimated based on the corrected rotational acceleration signal α, and a torque command value may be corrected based on the torque ripple estimate value. Alternatively, the control unit 34 may change the setting of a closed loop response characteristic in feedback control of the motor current flowing through the motor 20 based on the corrected rotational speed signal ω and the corrected rotational acceleration signal α.

[0021] 3 is a block diagram showing an example of a functional configuration of the rotation speed calculation unit 31. The rotation speed calculation unit 31 includes delay elements 40 and 43, a subtractor 41, a difference correction unit 42, and an adder 44. The delay element 40 delays the rotation angle position signal θ input from the rotation angle sensor 20a by a calculation control period T0 and outputs the delayed signal to the subtractor 41. The subtractor 41 calculates a rotation angle position difference dθ by subtracting the output of the delay element 40 from the rotation angle position signal θ input from the rotation angle sensor 20a.

[0022] The rotation angle position difference dθ is the difference between the rotation angle position signals θ in a predetermined calculation control period T0 and has a magnitude corresponding to the rotation speed of the rotating shaft, so that the rotation speed of the rotating shaft can be calculated based on the rotation angle position difference dθ. However, the range of values ​​that the rotation angle position signal θ can take is limited to −180[deg] to 180[deg], or 0[deg] to 360[deg].

[0023] 4 is a time chart of an example of the rotation angle position signal θ. The dashed dotted line indicates the amount of rotation of the rotating shaft over multiple turns, and the solid line indicates the rotation angle position signal θ. Therefore, if the difference between the rotational angle position signal θ at times before and after the rotational angle position signal θ crosses 180 [deg] or -180 [deg], such as at time t1 and time t2 in the figure, is calculated as the rotational angle position difference dθ, an error of ±360 [deg] will occur. The difference correction unit 42 corrects the error of ±360 [deg] that occurs in the rotational angle position difference dθ.

[0024] 5 is a block diagram showing an example of a functional configuration of the difference correction unit 42. The difference correction unit 42 includes comparators 50 and 51, a subtractor 52, an adder 53, limiters 54 and 55, and selectors 56 and 57. The comparator 50 outputs a logical value “T” to the selector 57 when the rotational angle position difference dθ is equal to or greater than 180 [deg], and outputs a logical value “F” to the selector 57 when the rotational angle position difference dθ is less than 180 [deg].

[0025] The comparator 51 outputs a logical value "T" to the selector 56 when the rotational angle position difference dθ is less than or equal to -180 [deg], and outputs a logical value "F" to the selector 56 when the rotational angle position difference dθ is greater than -180 [deg]. The subtractor 52 calculates a difference by subtracting 360 [deg] from the rotational angle position difference dθ. The limiter 54 limits the upper and lower limits of the output of the subtractor 52 and outputs the result to a selector 57. The adder 53 calculates a sum by adding 360 [deg] to the rotational angle position difference dθ. The limiter 55 limits the upper and lower limits of the output of the adder 53 and outputs the result to a selector 56.

[0026] When the comparator 51 outputs the logical value “T”, the selector 56 selects the output of the limiter 55 and outputs it to the selector 57, and when the comparator 51 outputs the logical value “F”, the selector 56 selects the rotational angle position difference dθ and outputs it to the selector 57. When the comparator 50 outputs the logical value "T", the selector 57 selects the output of the limiter 54 and outputs it as the rotation amount ωa, and when the comparator 50 outputs the logical value "F", the selector 57 selects the output of the selector 56 and outputs it as the rotation amount ωa.

[0027] Please refer to FIG. 3. The difference correction unit 42 outputs the rotation amount ωa to the delay element 43, the adder 44, and the rotation acceleration calculation unit 35 (see FIG. 2). The delay element 43 delays the rotation amount ωa output from the difference correction unit 42 by a calculation control period T0 and outputs it to the adder 44. The adder 44 calculates the rotation amount ωb by adding the rotation amount ωa output from the difference correction unit 42 and the output of the delay element 43, and outputs it to the conversion unit 32 (see FIG. 2). As a result, the delay element 43, the adder 44, and the conversion unit 32 calculate the moving total of the rotation amount ωa in N consecutive calculation control periods T0 (two in this example) as the rotation speed of the rotating shaft. The delay element 43 and the adder 44 that perform the moving total process form an FIR filter with a gain of N times in the low frequency region. Also, an FIR filter may be used that multiplies the output of the adder 44 by (1 / N) to calculate the rotation speed so that the gain becomes 1 in the low frequency region (that is, moving average processing).

[0028] 6(a) is a time chart showing an example of the rotation angle position signal θ, the rotation angle position difference dθ, and the rotation amounts ωa and ωb. Here, the rotation angle position signal θ changes within the range of 0[deg] to 360[deg]. Fig. 6(a) shows a signal about 2 [sec] after the rotation speed starts accelerating from 0 [rpm] when the number of pole pairs P of the motor 20 is 6, the calculation control period T0 is 250 [μs], and the motor 20 is increased by 10,000 [rpm] in 1 second. Fig. 6(b), Fig. 6(c), Fig. 9(a) to Fig. 9(c) are similar.

[0029] In FIG. 6(a), the solid line indicates the rotational angle position signal θ, the dashed line indicates the rotational angle position difference dθ, the one-dot chain line indicates the amount of rotation ωa, and the two-dot chain line indicates the amount of rotation ωb. In this example, at 2 [sec], the actual rotation amount of the rotating shaft during the calculation control period T0 reaches 180 [deg], so the rotation amount ωa reverses from a value near 180 [deg] to a value near -180 [deg], shifting the value by 360 [deg].

[0030] This phenomenon occurs every time the actual amount of rotation of the rotating shaft in a calculation control period T0 crosses 180[deg]×(2n+1), where n is an integer. In the following explanation, the phenomenon in which the value of the rotation amount ωa shifts by 360[deg] when the actual amount of rotation of the rotating shaft in a calculation control period T0 crosses 180[deg]×(2n+1) is referred to as a "shift in the rotation amount ωa."

[0031] As a result, the value of the rotation amount ωb decreases by approximately 360[deg] at the time points 2[sec] and 2.00025[sec], resulting in a total error of 360[deg]×N (i.e., 360×2=720[deg]). The reason for the two-stage decrease in the rotation amount ωb is that a moving sum process of two samples is performed. 6(b) is a time chart of an example of the corrected rotation speed signal ω and the rotation speed signal obtained when no correction is made by the rotation speed correction unit 33. The solid line indicates the corrected rotation speed signal ω, and the dashed line indicates the rotation speed signal when no correction is made. The corrected rotation speed signal ω of 20,000 [rpm] corresponds to a rotation amount ωa of 180 [deg] and a rotation amount ωb of 360 [deg]. The rotation speed signal without correction (dashed line) is 20,000 [rpm] lower than the corrected rotation speed signal ω (solid line) at 2 [sec], and 40,000 [rpm] lower at 2.00025 [sec].

[0032] Referring to Figure 6(a), the amount of rotation ωa temporarily shifts from a value near 180[deg] to a value near -180[deg] at 1.9985[sec], and then returns to a value near 180[deg] at 1.99875[sec]. Similarly, at 2.00125 [sec], the value temporarily shifts from around -180 [deg] to around 180 [deg], and then returns to around -180 [deg] at 2.0015 [sec].

[0033] In this way, in the region where the actual rotation amount of the rotating shaft in the calculation control period T0 is a value near 180 [deg] × (2n + 1), even if the actual rotation amount does not cross a value near 180 [deg] × (2n + 1), a shift in the rotation amount ωa is likely to occur due to noise from the rotation angle sensor 20a. As a result, as shown in FIG. 6(b), the rotation speed signal (dashed line) without correction temporarily drops by 20,000 [rpm] in the period from 1.9985 to 1.999 [sec], and temporarily rises by 20,000 [rpm] in the period from 2.00125 to 2.00175 [sec].

[0034] Therefore, the rotation speed correction unit 33 calculates a rotation speed difference dω, which is the difference of the rotation speed signal ωc in the calculation control period T0. When the absolute value of the rotation speed difference dω becomes larger than the first threshold value Th1, the rotation speed correction unit 33 determines that a shift in the rotation amount ωa has occurred, and changes the rotation speed correction amount to be added to the rotation speed signal ωc to correct the rotation speed signal ωc and calculate a corrected rotation speed signal ω.

[0035] 7 is a block diagram of an example of a functional configuration of the rotation speed correction unit 33. The rotation speed correction unit 33 includes delay elements 60 and 69, a subtractor 61, a sign inverter 62, a first mitigation gain multiplier 63, comparators 64 and 65, selectors 66 and 67, adders 68 and 71, and a multiplier 70. The delay element 60 delays the rotation speed signal ωc output from the conversion unit 32 by a calculation control period T0 and outputs the delayed signal to the subtractor 61. The subtractor 61 calculates a rotation speed difference dω by subtracting the output of the delay element 60 from the rotation speed signal ωc output from the conversion unit 32. The subtractor 61 outputs the rotation speed difference dω to a comparator 64 and a sign inverter 62. The delay element 60 and the subtractor 61 are an example of a "rotation speed difference calculation unit" recited in the claims.

[0036] The sign inverter 62 outputs a value (−dω) obtained by inverting the sign of the rotation speed difference dω to the comparator 65 . The first relaxation gain multiplier 63 calculates the product of a predetermined rotation speed offset ωofs and a predetermined first relaxation gain G1 as a first threshold value Th1=G1×ωofs. The rotation speed offset ωofs is set to a rotation speed value at which the difference of the rotation angle position signal θ in the calculation control period T0 reaches 180[deg]. At this rotation speed, a rotation speed shift (fluctuation) equivalent to 360[deg] occurs in the rotation amount ωa. Two stages of a rotation speed shift (fluctuation) equivalent to 360[deg] occur in the rotation amount ωb. The rotation speed offset ωofs is set so as to detect this shift. The first relaxation gain multiplier 63 outputs the first threshold value Th1 to the comparators 64 and 65.

[0037] For example, when the number of pole pairs P of the motor 20 is 6 and the calculation control period T0 is 250 [μs], the rotational speed offset ωofs is 20000 [rpm]. The first relaxation gain G1 is set to a positive number smaller than 1. Therefore, the first threshold value Th1 is set to a value smaller than the rotation speed offset ωofs. The reason for this will be described later.

[0038] When the rotation speed difference dω is greater than the first threshold value Th1, the comparator 64 determines that a shift in the rotation amount ωa of +360 [deg] has occurred, and outputs the logical value "T" to the selector 66. When the rotation speed difference dω is equal to or less than the first threshold value Th1, the comparator 64 determines that a shift in the rotation amount ωa of +360 [deg] has not occurred, and outputs the logical value "F" to the selector 66. When the value (-dω) obtained by determining the sign of the rotation speed difference dω is greater than the first threshold value Th1, the comparator 65 determines that a shift in the rotation amount ωa of -360 [deg] has occurred, and outputs the logical value "T" to the selector 67. When the value (-dω) is equal to or less than the first threshold value Th1, the comparator 65 determines that a shift in the rotation amount ωa of -360 [deg] has not occurred, and outputs the logical value "F" to the selector 67.

[0039] Here, the reason why the first threshold value Th1 is set to a value smaller than the rotation speed offset ωofs is that the rotation speed difference dω becomes slightly smaller than the rotation speed offset ωofs even if a shift in the amount of rotation ωa occurs. The reason for the decrease in value is, firstly, that the rotation speed difference dω becomes smaller than the theoretical value due to a quantization error.

[0040] Furthermore, since the calculation control period T0 is fixed, when the rotation speed increases, the sampling interval of the rotation speed signal ωc becomes wider, and the rotation speed difference dω becomes smaller. This phenomenon will be explained with reference to Figure 8. Here, we will take as an example a case where the actual rotation speed of the rotating shaft increases at a constant rotation acceleration. In this case, the waveform of the rotation speed signal ωc becomes a sawtooth wave whose value shifts from +ωofs to -ωofs every time the rotation speed exceeds (2n+1)×ωofs.

[0041] The triangular plots show the sampling of the rotation speed signal ωc when the rotation speed is relatively low, and the circular plots show the sampling of the rotation speed signal ωc when the rotation speed is relatively high. As can be seen from Fig. 8, when the calculation control period T0 is fixed, the higher the rotation speed, the wider the sampling interval of the rotation speed signal ωc becomes. Therefore, it can be seen that the amount of change in the rotation speed signal ωc when a shift in the rotation amount ωa occurs is smaller when the rotation speed is relatively high (dω1) than when the rotation speed is relatively low (dω2). In this way, the change in the rotation speed signal ωc when a shift in the rotation amount ωa occurs decreases as the rotation speed increases. For this reason, the first threshold value Th1 is set to a value smaller than the rotation speed offset ωofs.

[0042] On the other hand, if the first threshold value Th1 is lowered too much, it may lead to erroneous judgment. For example, if the change period of the rotation speed signal ωc is increased to the Nyquist frequency, the difference amount at the shift point and the difference value at the normal rotation speed change area that is not the shift point will be equal, making it impossible to distinguish the shift point. In this state, the difference amount at the shift point will decrease to 50% of the theoretical value. Therefore, for example, the first relaxation gain G1 may be set to 0.5 + the quantization error (for example, 0.5 to 0.6). That is, the first relaxation gain G1 may be a value equal to or greater than 0.5 and smaller than 1, or a value greater than 0.5 and smaller than 1. For example, the first relaxation gain G1 may be 0.55.

[0043] 7, the selector 66 selects the value "-1" and outputs it to the adder 68 when the comparator 64 outputs the logical value "T", and selects the value "0" and outputs it to the adder 68 when the comparator 64 outputs the logical value "F". When the comparator 65 outputs the logical value "T", the selector 67 selects the value "1" and outputs it to the adder 68, and when the comparator 65 outputs the logical value "F", the selector 67 selects the value "0" and outputs it to the adder 68.

[0044] The delay element 69 delays the output of the adder 68 by an arithmetic control period T0 and outputs the delayed output to the adder 68. The adder 68 adds the outputs of the selectors 66 and 67 and the output of the delay element 69, and outputs the sum S1 of these outputs to the multiplier 70 and the delay element 69. Note that when the rotation speed of the rotating shaft is 0, the output of the delay element 69 (i.e., the output S1 of the adder 68) is set to an initial value of 0. A multiplier 70 calculates a total offset Oa1 by multiplying the rotation speed offset ωofs by the output S1 of the adder 68. An adder 71 calculates the sum (ωc+Oa1) obtained by adding the rotation speed signal ωc and the total offset Oa1 as a corrected rotation speed signal ω. Although an example has been shown in which the multiplier 70 is arranged so as to multiply the output S1 of the adder 68 by the rotation speed offset ωofs, the present invention is not limited to this. A multiplier may be arranged so as to multiply each of the output of the selector 66 and the output of the selector 67 by the rotation speed offset ωofs, and output the results to the adder 68. In this case, the output S1 of the adder 68 is output to the delay element 69 and is also output as the offset Oa1.

[0045] The total offset Oa1 is an example of a "rotation speed correction amount" recited in the claims, and the delay element 69 is an example of a "rotation speed correction amount storage unit" recited in the claims. The comparator 64, the selector 66, the adder 68, and the multiplier 70 are an example of a "speed correction amount reducer" as claimed in the claims. The sign inverter 62, the comparator 65, the selector 67, the adder 68, and the multiplier 70 are an example of a "speed correction amount increaser" as claimed in the claims.

[0046] As described above, the rotation speed offset ωofs is set to a rotation speed value at which the difference in the rotation angle position signal θ during the calculation control period T0 reaches 180 [deg]. The amount of change in the rotation speed during the calculation control period T0, which is the difference in the rotation angle position during the calculation control period T0, is 360 [deg]. Therefore, the rotation speed offset ωofs is an example of "a rotation speed unit correction amount that is a rotation speed at which the amount of change in the rotation speed during a predetermined period is 360 [deg]" as described in the claims.

[0047] The operation of the rotation speed correction unit 33 will be described with reference to Fig. 6(a) to Fig. 6(c). Fig. 6(c) is a time chart showing an example of the rotation speed difference dω and the total offset Oa1. In Fig. 6(c), the solid line indicates the rotation speed difference dω, and the dashed line indicates the total offset Oa1. As shown in Figure 6(a), when the rotation amount ωa shifts from a value near 180 [deg] to a value near -180 [deg] at the 2 [sec] point, the value of the rotation amount ωb decreases by approximately 360 [deg] at the 2 [sec] point and the 2.00025 [sec] point.

[0048] As a result, the rotation speed signal ωc also decreases by approximately 20000 [rpm], and as shown in FIG. 6(c), the rotation speed difference dω becomes approximately (-20000) [rpm] at the time points 2 [sec] and 2.00025 [sec]. Then, at the time points 2 [sec] and 2.00025 [sec], the comparator 65 outputs the logical value "T", and in response, the selector 67 outputs the value "1". As a result, the output S1 of the adder 68 increases from "0" to "1" at the time point 2 [sec], and increases from "1" to "2" at the time point 2.00025 [sec].

[0049] Therefore, the total offset Oa1 is set to 20000 [rpm] and 40000 [rpm] at the time points 2 [sec] and 2.00025 [sec], respectively. As a result, as shown in Figure 6(b), at time points 2 [sec] and 2.00025 [sec], 20,000 [rpm] and 40,000 [rpm] are added to the rotation speed signal without correction (dashed line), respectively, and a properly corrected rotation speed signal ω can be obtained.

[0050] Furthermore, as shown in Figure 6(a), at 1.9985 [sec], the rotation amount ωa temporarily shifts from a value near 180 [deg] to a value near -180 [deg], and then returns to a value near 180 [deg] at 1.99875 [sec]. The value of the rotation amount ωb decreases by approximately 360 [deg] at 1.9985 [sec], and then increases by approximately 360 [deg] at 1.999 [sec].

[0051] As a result, the rotation speed signal ωc decreases by approximately 20,000 [rpm] at the time point of 1.9985 [sec], and increases by approximately 20,000 [rpm] at the time point of 1.999 [sec]. Therefore, the rotation speed difference dω becomes approximately (-20,000) [rpm] at the time point of 1.9985 [sec], and the rotation speed difference dω becomes approximately 20,000 [rpm] at the time point of 1.999 [sec].

[0052] Then, at the time point of 1.9985 [sec], comparator 65 outputs the logical value "T", and in response, selector 67 outputs the value "1". Also, at the time point of 1.999 [sec], comparator 64 outputs the logical value "T", and in response, selector 66 outputs the value "-1". As a result, the output S1 of the adder 68 increases from "0" to "1" at the time point of 1.9985 [sec], and decreases from "1" to "0" at the time point of 1.999 [sec].

[0053] Therefore, the total offset Oa1 is set to 20000 [rpm] at the time point of 1.9985 [sec], and is set to 0 [rpm] at the time point of 1.999 [sec]. As a result, as shown in FIG. 6(b), 20,000 [rpm] is added to the rotation speed signal (dashed line) when no correction is performed in the period from 1.9985 to 1.999 [sec], and a properly corrected rotation speed signal ω can be obtained.

[0054] Furthermore, as shown in Figure 6(a), at 2.00125 [sec], the rotation amount ωa temporarily shifts from a value near -180 [deg] to a value near 180 [deg], and then returns to a value near -180 [deg] at 2.0015 [sec]. The value of the rotation amount ωb increases by approximately 360 [deg] at 2.00125 [sec], and then decreases by approximately 360 [deg] at 2.00175 [sec].

[0055] As a result, the rotation speed signal ωc increases by approximately 20,000 [rpm] at the time point of 2.00125 [sec] and decreases by approximately 20,000 [rpm] at the time point of 2.00175 [sec]. Therefore, the rotation speed difference dω becomes approximately 20,000 [rpm] at the time point of 2.00125 [sec] and becomes approximately (-20,000) [rpm] at the time point of 2.00175 [sec].

[0056] Then, at the time point of 2.00125 [sec], comparator 64 outputs the logical value "T", and in response, selector 66 outputs the value "-1". Also, at the time point of 2.00175 [sec], comparator 65 outputs the logical value "T", and in response, selector 67 outputs the value "1". As a result, the output S1 of the adder 68 decreases from "2" to "1" at the time point of 2.00125 [sec], and increases from "1" to "2" at the time point of 2.00175 [sec].

[0057] Therefore, the total offset Oa1 is set to 20,000 [rpm] at the time point of 2.00125 [sec], and is set to 40,000 [rpm] at the time point of 2.00175 [sec]. As a result, as shown in FIG. 6(b), 20,000 [rpm] is subtracted from the rotation speed signal (dashed line) when no correction is performed in the period from 2.00125 to 2.00175 [sec], and a properly corrected rotation speed signal ω can be obtained.

[0058] In the above description, a case where the actual rotation amount of the rotating shaft in a calculation control period T0 crosses 180 [deg] has been exemplified. However, since the value of total offset Oa1 is accumulated each time the actual rotation amount in a calculation control period T0 crosses 180 [deg]×(2n+1), even if the actual rotation amount in a calculation control period T0 exceeds 180×3 [deg] (i.e., even if the integer n is 1 or more), rotation speed correction unit 33 can properly correct rotation speed signal ωc.

[0059] (Variation 1) In the above description, an example has been shown in which a series of calculations are performed by converting into a predetermined unit of rotation speed in conversion unit 32 preceding rotation speed correction unit 33, but this is not limiting. Conversion unit 32 may be disposed following rotation speed correction unit 33. In this case, rotation speed offset ωofs in rotation speed correction unit 33 becomes 360 [deg]. (Variation 2) Also, an example has been shown in which the rotation amount ωa of the rotating shaft in the calculation control period T0 is calculated based on the rotation angle position difference dθ, the rotation amount ωb is calculated from the sum of two successive rotation amounts ωa, and the rotation speed signal ω is calculated based on the rotation amount ωb, but this is not limiting. The rotation speed signal ω may be calculated based on the rotation amount ωa. This may be combined with Modification 1. The rotation speed offset ωofs is 360 [deg], and the unit conversion coefficient of the rotation speed may be doubled compared to the conversion coefficient of Modification 1.

[0060] Next, the rotational acceleration correction unit 36 ​​will be described with reference to Fig. 6(a) and Fig. 9(a). Fig. 9(a) is a time chart showing an example of the rotational acceleration signal αa output by the rotational acceleration calculation unit 35. As described above, the rotation acceleration signal αa is the difference in the amount of rotation ωa over a predetermined calculation control period T0. Therefore, when a shift in the amount of rotation ωa occurs, an error also occurs in the rotation acceleration signal αa.

[0061] Here, if the number of pole pairs P of motor 20 is 6 and motor 20 is increased by 10,000 rpm per second, the original value of the difference in rotation amount ωa per calculation control period T0 (250 μs) becomes approximately constant at about 0.0225 deg. However, for example, if the rotation amount ωa shifts from a value near 180 [deg] to a value near -180 [deg] at 2 [sec] as shown in Figure 6(a), the rotational acceleration signal αa will shift by -360 [deg] at 2 [sec] as shown in Figure 9(a), and then shift by +360 [deg] at 2.00025 [sec], returning to the original value (approximately 0.0225 [deg]).

[0062] Furthermore, at time 1.9985 [sec], the rotation amount ωa temporarily shifts from a value near 180 [deg] to a value near -180 [deg], and then returns to a value near 180 [deg] at time 1.99875 [sec]. The rotational acceleration signal αa shifts by -360 [deg] at time 1.9985 [sec], by +720 [deg] at time 1.99875 [sec], and by -360 [deg] at time 1.999 [sec], before returning to the original value.

[0063] Furthermore, when the rotation amount ωa temporarily shifts from a value near -180 [deg] to a value near 180 [deg] at 2.00125 [sec] and returns to a value near -180 [deg] at 2.0015 [sec], the rotational acceleration signal αa shifts by +360 [deg] at 2.00125 [sec], by -720 [deg] at 2.0015 [sec], and by +360 [deg] at 2.00175 [sec], returning to the original value.

[0064] In the following explanation, the phenomenon in which the rotational acceleration signal αa shifts by +720 [deg] during a calculation control period T0 due to a shift in the rotation amount ωa may be referred to as "positive divergence of the rotational acceleration signal αa," and the phenomenon in which it shifts by -720 [deg] may be referred to as "negative divergence of the rotational acceleration signal αa." Furthermore, the positive and negative divergences of the rotational acceleration signal αa may be collectively referred to simply as "divergence of the rotational acceleration signal αa."

[0065] In order to correct the errors in the rotational acceleration signal αa, the rotational acceleration correction unit 36 ​​calculates a rotational acceleration difference dα, which is the difference in the rotational acceleration signal αa in the calculation control period T0. When the absolute value of the rotational acceleration difference dα becomes larger than the second threshold value Th2, the rotational acceleration correction unit 36 ​​determines that a shift in the rotational acceleration signal αa has occurred, and adds a predetermined rotational acceleration correction amount to the rotational acceleration signal αa to correct the rotational acceleration difference dα and calculate a corrected rotational acceleration signal αb. When the absolute value of the rotational acceleration difference dα becomes larger than twice the second threshold value Th2 (2×Th2), it determines that divergence of the rotational acceleration signal αa has occurred, and sets the rotational acceleration correction amount to twice the original value. This means that when the latter comparison (|dα|>2×Th2) is established, the former comparison (|dα|>Th2) is also established, and the rotational acceleration correction amount is doubled. By adding a predetermined rotational acceleration correction amount in each process, the acceleration correction amount may be doubled as a result.

[0066] 10 is a block diagram of an example of a functional configuration of the rotational acceleration correction unit 36. The rotational acceleration correction unit 36 ​​includes delay elements 80 and 94, a subtractor 81, a sign inverter 82, a second mitigation gain multiplier 83, a coefficient multiplier 84, comparators 85 to 88, selectors 89 to 92, adders 93 and 96, and a multiplier 95. The delay element 80 delays the rotational acceleration signal αa output from the rotational acceleration calculation unit 35 by a calculation control period T0 and outputs the delayed signal to the subtractor 81. The subtractor 81 calculates a rotational acceleration difference dα by subtracting the output of the delay element 80 from the rotational acceleration signal αa output from the rotational acceleration calculation unit 35. The subtractor 81 outputs the rotational acceleration difference dα to comparators 85 and 87 and a sign inverter 82. The delay element 80 and the subtractor 81 are an example of a "rotational acceleration difference calculation unit" recited in the claims.

[0067] The sign inverter 82 outputs a value (−dα) obtained by inverting the sign of the rotational acceleration difference dα to the comparators 86 and 88 . The second relaxation gain multiplier 83 calculates the product of multiplying a rotation acceleration threshold value of 360 [deg] expressed as a difference in rotation speed per calculation control period T0 (250 [μs]) by a predetermined second relaxation gain G2 as the second threshold value Th2=360×G2. The second relaxation gain multiplier 83 outputs the second threshold value Th2 to comparators 85 and 86 and the coefficient multiplier 84. Like the first relaxation gain G1, the second relaxation gain G2 is set to a positive number smaller than 1. For example, the second relaxation gain G2 may be a value equal to or greater than 0.5 and smaller than 1, or a value greater than 0.5 and smaller than 1. For example, the second relaxation gain G2 may be 0.6.

[0068] The coefficient multiplier 84 multiplies the second threshold value Th2 by the coefficient “2” to calculate a value (2×Th2), and outputs the value (2×Th2) to the comparators 87 and 88. If the rotational acceleration difference dα is greater than the second threshold value Th2, the comparator 85 determines that a shift of +360 [deg] in the rotational acceleration signal αa or a positive divergence of the rotational acceleration signal αa has occurred, and outputs the logical value "T" to the selector 89. If the rotational acceleration difference dα is equal to or less than the second threshold value Th2, the comparator 85 determines that a shift of +360 [deg] in the rotational acceleration signal αa or a positive divergence of the rotational acceleration signal αa has not occurred, and outputs the logical value "F" to the selector 89.

[0069] If the value (-dα) obtained by inverting the sign of the rotational acceleration difference dα is greater than the second threshold value Th2, the comparator 86 determines that a shift of -360 [deg] in the rotational acceleration signal αa or a negative divergence of the rotational acceleration signal αa has occurred, and outputs the logical value "T" to the selector 90. If the value (-dα) is equal to or less than the second threshold value Th2, the comparator 86 determines that a shift of -360 [deg] in the rotational acceleration signal αa or a negative divergence of the rotational acceleration signal αa has not occurred, and outputs the logical value "F" to the selector 90.

[0070] If the rotational acceleration difference dα is greater than twice the second threshold (2×Th2), the comparator 87 determines that a positive divergence of the rotational acceleration signal αa has occurred, and outputs the logical value “T” to the selector 91. If the rotational acceleration difference dα is equal to or less than twice the second threshold (2×Th2), the comparator 87 determines that a positive divergence of the rotational acceleration signal αa has not occurred, and outputs the logical value “F” to the selector 91.

[0071] If the value (-dα) obtained by inverting the sign of the rotational acceleration difference dα is greater than twice the second threshold value (2×Th2), the comparator 88 determines that a negative divergence of the rotational acceleration signal αa has occurred, and outputs the logical value "T" to the selector 92. If the value (-dα) is equal to or less than twice the second threshold value (2×Th2), the comparator 88 determines that a negative divergence of the rotational acceleration signal αa has not occurred, and outputs the logical value "F" to the selector 92.

[0072] When comparator 85 outputs the logical value “T”, selector 89 selects the value “−1” and outputs it to adder 93, and when comparator 85 outputs the logical value “F”, selector 89 selects the value “0” and outputs it to adder 93. When comparator 86 outputs logical value “T”, selector 90 selects value “1” and outputs it to adder 93, and when comparator 86 outputs logical value “F”, selector 90 selects value “0” and outputs it to adder 93.

[0073] When comparator 87 outputs the logical value “T”, selector 91 selects the value “−1” and outputs it to adder 93, and when comparator 87 outputs the logical value “F”, selector 91 selects the value “0” and outputs it to adder 93. When comparator 88 outputs logical value "T", selector 92 selects value "1" and outputs it to adder 93, and when comparator 88 outputs logical value "F", selector 92 selects value "0" and outputs it to adder 93.

[0074] The delay element 94 delays the output of the adder 93 by an arithmetic control period T0 and outputs the delayed output to the adder 93. The adder 93 adds the outputs of the selectors 89 to 92 and the output of the delay element 94, and outputs the sum S2 of these outputs to the multiplier 95 and the delay element 94. Note that when the rotational speed and rotational acceleration of the rotating shaft are 0, the output of the delay element 94 (i.e., the output S2 of the adder 93) is set to an initial value of 0.

[0075] The multiplier 95 calculates a total offset Oa2 by multiplying the rotational acceleration unit correction amount 360 [deg] expressed as the difference in rotational speed per calculation control period T0 (250 [μs]) by the output S2 of the adder 93. An adder 96 adds the rotational acceleration signal αa and the total offset Oa2 to calculate the sum (αa+Oa2) as a corrected rotational acceleration signal αb.

[0076] The total offset Oa2 is an example of a "rotational acceleration correction amount" recited in the claims, and the delay element 94 is an example of a "rotational acceleration correction amount storage unit" recited in the claims. The comparator 85, the selector 89, the adder 93, and the multiplier 95 are an example of a "first acceleration correction amount reducer" as recited in the claims. The sign inverter 82, the comparator 86, the selector 90, the adder 93, and the multiplier 95 are an example of a "first acceleration correction amount increaser" as recited in the claims. Similar to the modified example regarding the arrangement of the multiplier 70 in the rotation speed correction unit 33, the arrangement of the multiplier 95 may be changed so that it multiplies the outputs of the selectors 89 to 92.

[0077] The comparators 85 and 87, the selectors 89 and 91, the adder 93, and the multiplier 95 are an example of a "second acceleration correction amount reducer" as claimed in the claims. The sign inverter 82, the comparators 86 and 88, the selectors 90 and 92, the adder 93, and the multiplier 95 are an example of a "second acceleration correction amount increaser" as claimed in the claims.

[0078] The operation of the rotational acceleration correction unit 36 ​​will be described with reference to Fig. 6(a) and Fig. 9(a) to Fig. 9(c). Fig. 9(b) is a time chart of the rotational acceleration difference dα, and Fig. 9(c) is a time chart of the total offset Oa2. As shown in Figure 6(a), when the rotation amount ωa shifts from a value near 180 [deg] to a value near -180 [deg] at 2 [sec], the rotational acceleration signal αa decreases by 360 [deg] at 2 [sec], as shown in Figure 9(a), and then increases by 360 [deg] at 2.00025 [sec], returning to the original value (approximately 0.0225 [deg]).

[0079] As a result, as shown in Fig. 9(b), the rotational acceleration difference dα becomes -360 [deg] at the time point of 2 [sec], and the comparator 86 outputs the logical value "T", and in response, the selector 90 outputs the value "1". As a result, the output S2 of the adder 93 increases from "0" to "1" at the time point of 2 [sec], and accordingly, the total offset Oa2 shown in Fig. 9(c) is set to 360 [deg]. As a result, 360 [deg] is added to the rotational acceleration signal αa shown in Fig. 9(a), and the appropriately corrected rotational acceleration signal αb can be obtained.

[0080] Furthermore, at the time point of 2.00025 [sec], the rotational acceleration difference dα becomes 360 [deg], the comparator 85 outputs the logical value "T", and in response, the selector 89 outputs the value "-1". As a result, the output S2 of the adder 93 decreases from "1" to "0" at the time point of 2.00025 [sec], and accordingly, the total offset Oa2 shown in Figure 9(c) is set to 0 [deg]. As a result, the rotational acceleration signal αa, which has returned to its original value at the time point of 2.00025 [sec], is output as it is as the corrected rotational acceleration signal αb.

[0081] Furthermore, as shown in Figure 6(a), at 1.9985 [sec], the rotation amount ωa temporarily shifts from a value near 180 [deg] to a value near -180 [deg], and then returns to a value near 180 [deg] at 1.99875 [sec]. As shown in Figure 9(a), the rotational acceleration signal αa decreases by 360 [deg] at 1.9985 [sec], increases by 720 [deg] at 1.99875 [sec], and then decreases by 360 [deg] at 1.999 [sec], returning to the original value.

[0082] As a result, as shown in Fig. 9(b), the rotational acceleration difference dα becomes -360 [deg] at the time of 1.9985 [sec], and the comparator 86 outputs the logical value "T", and in response, the selector 90 outputs the value "1". As a result, the output S2 of the adder 93 increases from "0" to "1" at the time of 1.9985 [sec], and accordingly the total offset Oa2 shown in Fig. 9(c) is set to 360 [deg]. As a result, 360 [deg] is added to the rotational acceleration signal αa shown in Fig. 9(a), and the appropriately corrected rotational acceleration signal αb can be obtained.

[0083] Furthermore, at the time point of 1.99875 [sec], the rotational acceleration difference dα becomes 720 [deg], and comparators 85 and 87 output the logical value "T", and in response, selectors 89 and 91 output the value "-1". As a result, the output S2 of adder 93 decreases from "1" to "-1" at the time point of 1.99875 [sec], and accordingly, the total offset Oa2 shown in Fig. 9(c) is set to -360 [deg]. This causes 360 [deg] to be subtracted from the rotational acceleration signal αa shown in Fig. 9(a), and the appropriately corrected rotational acceleration signal αb can be obtained.

[0084] Furthermore, at the time point of 1.999 [sec], the rotational acceleration difference dα becomes -360 [deg], the comparator 86 outputs the logical value "T", and in response, the selector 90 outputs the value "1". As a result, the output S2 of the adder 93 increases from "-1" to "0" at the time point of 1.999 [sec], and accordingly, the total offset Oa2 shown in Figure 9(c) is set to 0 [deg]. As a result, the rotational acceleration signal αa, which has returned to its original value at the time point of 1.999 [sec], is output as it is as the corrected rotational acceleration signal αb.

[0085] Furthermore, as shown in Figure 6(a), at 2.00125 [sec], the rotation amount ωa temporarily shifts from a value near -180 [deg] to a value near 180 [deg], and then returns to a value near -180 [deg] at 2.0015 [sec]. As shown in Figure 9(a), the rotational acceleration signal αa increases by 360 [deg] at 2.00125 [sec], decreases by 720 [deg] at 2.0015 [sec], and then increases by 360 [deg] at 2.00175 [sec], returning to the original value.

[0086] As a result, as shown in Fig. 9(b), the rotational acceleration difference dα becomes 360 [deg] at the time of 2.00125 [sec], and the comparator 85 outputs the logical value "T", and in response, the selector 89 outputs the value "-1". As a result, the output S2 of the adder 93 decreases from "0" to "-1" at the time of 2.00125 [sec], and accordingly the total offset Oa2 shown in Fig. 9(c) is set to -360 [deg]. This causes 360 [deg] to be subtracted from the rotational acceleration signal αa shown in Fig. 9(a), and the appropriately corrected rotational acceleration signal αb can be obtained.

[0087] Furthermore, at the time point of 2.0015 [sec], the rotational acceleration difference dα becomes -720 [deg], and comparators 86 and 88 output the logical value "T", and in response, selectors 90 and 92 output the value "1". As a result, the output S2 of adder 93 increases from "-1" to "1" at the time point of 2.0015 [sec], and accordingly, the total offset Oa2 shown in Figure 9(c) is set to 360 [deg]. As a result, 360 [deg] is added to the rotational acceleration signal αa shown in Figure 9(a), and the appropriately corrected rotational acceleration signal αb can be obtained.

[0088] Furthermore, at the time point of 2.00175 [sec], the rotational acceleration difference dα becomes 360 [deg], the comparator 85 outputs the logical value "T", and in response, the selector 89 outputs the value "-1". As a result, the output S2 of the adder 93 decreases from "1" to "0" at the time point of 2.00175 [sec], and accordingly, the total offset Oa2 shown in Figure 9(c) is set to 0 [deg]. As a result, the rotational acceleration signal αa, which has returned to its original value at the time point of 2.00175 [sec], is output as is as the corrected rotational acceleration signal αb.

[0089] The conversion unit 37 is disposed after the rotational acceleration correction unit 36, but may be disposed before the rotational acceleration correction unit 36. In this case, the value obtained by multiplying 360 [deg] by a predetermined coefficient may be set as the rotational acceleration threshold value.

[0090] (Effects of the embodiment) (1) A rotational speed detection device includes a rotational speed calculation unit that receives a signal of a rotational angle position of a rotating shaft of a motor and calculates a difference in the rotational angle position over a predetermined period of time as the rotational speed of the rotating shaft, and a rotational speed correction unit that corrects the rotational speed calculated by the rotational speed calculation unit and outputs it as a corrected rotational speed. the rotation speed correction unit includes a rotation speed difference calculation unit that calculates a rotation speed difference, which is the difference in the rotation speeds calculated by the rotation speed calculation unit over a predetermined period; a rotation speed correction amount storage unit that stores a rotation speed correction amount set to an initial value of 0 when the rotation speed of the rotating shaft is 0; a speed correction amount reduction unit that subtracts a rotation speed unit correction amount, which is a rotation speed at which the rotation speed in the predetermined period becomes 360 [deg], from the rotation speed correction amount stored in the rotation speed correction amount storage unit when the absolute value of the rotation speed difference is greater than a first threshold value and the sign of the rotation speed difference is positive, and stores the subtraction result in the rotation speed correction amount storage unit; a speed correction amount increase unit that adds the rotation speed unit correction amount to the rotation speed correction amount stored in the rotation speed correction amount storage unit and stores the addition result in the rotation speed correction amount storage unit when the absolute value of the rotation speed difference is greater than the first threshold value and the sign of the rotation speed difference is negative; and a speed correction amount addition unit that calculates the sum of the rotation speed calculated by the rotation speed calculation unit and the rotation speed correction amount stored in the rotation speed correction amount storage unit as a corrected rotation speed.

[0091] This makes it possible to correct errors in the rotation speed that occur in the high rotation range when calculating the rotation speed based on the change in the signal of the rotation angle position of the motor's rotating shaft. Therefore, it is possible to avoid the upper limit of the calculable rotation speed with a simple configuration.

[0092] (2) The first threshold value may be set to a value smaller than an upper rotation speed limit value, which is the rotation speed at which the difference in rotation angle position in a predetermined period reaches 180 [deg]. This makes it possible to more reliably detect the occurrence of an error in the calculation result of the rotation speed before correction.

[0093] (3) The rotation speed calculation unit may calculate the rotation speed by subjecting a difference between rotation angle positions in N consecutive (N is a natural number equal to or greater than 2) predetermined periods to FIR filter processing. The speed correction amount reduction unit may subtract the rotation speed unit correction amount from the rotation speed correction amount stored in the rotation speed correction amount storage unit when the absolute value of the rotation speed difference is greater than the first threshold value and the sign of the rotation speed difference is positive, and the speed correction amount increase unit may add the rotation speed unit correction amount to the rotation speed correction amount stored in the rotation speed correction amount storage unit when the absolute value of the rotation speed difference is greater than the first threshold value and the sign of the rotation speed difference is negative. In this way, by performing FIR filter processing (moving sum or moving average) on the differences in rotation angle positions in a plurality of sections and calculating them as the rotation speed, it is possible to smooth out detection noise in the rotation angle position. (4) The rotational speed detection device may further include a rotational acceleration calculation unit that calculates a difference over a predetermined period of the rotational speeds calculated by the rotational speed calculation unit as the rotational acceleration of the rotating shaft, and a rotational acceleration correction unit that corrects the rotational acceleration calculated by the rotational acceleration calculation unit and outputs it as a corrected rotational acceleration. The rotational acceleration correction unit includes a rotational acceleration difference calculation unit that calculates a rotational acceleration difference, which is the difference in the rotational acceleration calculated by the rotational acceleration calculation unit, over a predetermined period of time; a rotational acceleration correction amount storage unit that stores a rotational acceleration correction amount set to an initial value of 0 when the rotational speed and rotational acceleration of the rotation shaft are 0; a first acceleration correction amount reduction unit that, when the absolute value of the rotational acceleration difference is greater than a second threshold value and the sign of the rotational acceleration difference is positive, subtracts a rotational acceleration unit correction amount, which is the rotational acceleration at which the amount of change in the rotational speed over a predetermined period of time is 360 [deg], from the rotational acceleration correction amount stored in the rotational acceleration correction amount storage unit and stores the subtraction result in the rotational acceleration correction amount storage unit; and, when the absolute value of the rotational acceleration difference is greater than twice the second threshold value and the sign of the rotational acceleration difference is positive, reduces the rotational acceleration unit correction amount from the rotational acceleration correction amount stored in the rotational acceleration correction amount storage unit. and storing the subtraction result in the rotational acceleration correction amount storage unit; a first acceleration correction amount increasing unit that, when the absolute value of the rotational acceleration difference is greater than a second threshold value and the sign of the rotational acceleration difference is negative, adds the rotational acceleration unit correction amount to the rotational acceleration correction amount stored in the rotational acceleration correction amount storage unit and stores the addition result in the rotational acceleration correction amount storage unit; and a second acceleration correction amount increasing unit that, when the absolute value of the rotational acceleration difference is greater than twice the second threshold value and the sign of the rotational acceleration difference is negative, adds the rotational acceleration unit correction amount to the rotational acceleration correction amount stored in the rotational acceleration correction amount storage unit and stores the addition result in the rotational acceleration correction amount storage unit; and an acceleration correction amount adding unit that calculates the sum of the rotational acceleration calculated by the rotational acceleration calculation unit and the rotational acceleration correction amount stored in the rotational acceleration correction amount storage unit as a corrected rotational acceleration.

[0094] This makes it possible to correct errors in the rotational acceleration that occur in the high rotation range when calculating the rotational acceleration based on the change in the signal of the rotational angle position of the motor's rotating shaft. This makes it possible to avoid the upper limit of the calculable rotational acceleration with a simple configuration.

[0095] (5) The second threshold may be set to a value smaller than the rotational acceleration at which the difference in rotational speed over a predetermined period of time reaches 360 [deg]. This makes it possible to more reliably detect the occurrence of an error in the calculation result of the rotational acceleration before correction. [Explanation of symbols]

[0096] 1...steering wheel, 2...steering shaft, 3...reduction gear, 4a, 4b...universal joint, 5...pinion rack mechanism, 5a...pinion gear (pinion), 5b...rack bar (rack), 6a, 6b...tie rod, 7a, 7b...hub unit, 8L, 8R...steered wheels, 10...torque sensor, 11...ignition switch, 12...vehicle speed sensor, 13...battery, 14...steering angle sensor, 20...motor, 21...ECU, 30...motor control device, 31...rotational speed calculation unit, 32, 37...conversion unit, 33... Rotational speed correction unit, 34...control unit, 35...rotational acceleration calculation unit, 36...rotational acceleration correction unit, 40, 43, 60, 69, 80, 94...delay elements, 41, 52, 61, 81...subtractor, 42...difference correction unit, 44, 53, 68, 71, 93, 96...adder, 50, 51, 64, 65, 85-88...comparator, 54, 55...limiter, 56, 57, 66, 67, 89-92...selector, 62, 82...sign inverter, 63...first relaxation gain multiplier, 70, 95...multiplier, 83...second relaxation gain multiplier, 84...coefficient multiplier

Claims

1. a rotation speed calculation unit that receives a signal of a rotation angle position of a rotating shaft of the motor and calculates a difference in the rotation angle position over a predetermined period as a rotation speed of the rotating shaft; a rotation speed correction unit that corrects the rotation speed calculated by the rotation speed calculation unit and outputs the corrected rotation speed, The rotation speed correction unit is a rotation speed difference calculation unit that calculates a rotation speed difference, which is a difference in the rotation speeds calculated by the rotation speed calculation unit during the predetermined period; a rotation speed correction amount storage unit that stores a rotation speed correction amount set to an initial value of 0 when the rotation speed of the rotating shaft is 0; a speed correction amount reduction unit that subtracts a rotation speed unit correction amount, which is a rotation speed at which the amount of change in the rotation speed in the predetermined period is 360 [deg], from the rotation speed correction amount stored in the rotation speed correction amount storage unit when an absolute value of the rotation speed difference is greater than a first threshold value and a sign of the rotation speed difference is positive, and stores a subtraction result in the rotation speed correction amount storage unit; a speed correction amount increasing unit that adds the rotation speed unit correction amount to the rotation speed correction amount stored in the rotation speed correction amount storage unit when the absolute value of the rotation speed difference is greater than the first threshold value and the sign of the rotation speed difference is negative, and stores the addition result in the rotation speed correction amount storage unit; a speed correction amount adding unit that calculates, as the corrected rotation speed, a sum obtained by adding the rotation speed calculated by the rotation speed calculation unit to the rotation speed correction amount stored in the rotation speed correction amount storage unit; A rotation speed detection device comprising:

2. 2. The rotational speed detection device according to claim 1, wherein the first threshold value is set to a value smaller than an upper rotational speed limit value, which is the rotational speed at which the difference in rotational angle position during the predetermined period reaches 180 degrees.

3. the rotation speed calculation unit calculates the rotation speed by performing FIR filter processing on a difference between rotation angle positions in N consecutive (N is a natural number equal to or greater than 2) predetermined periods; the speed correction amount reduction unit subtracts the rotation speed unit correction amount from the rotation speed correction amount stored in the rotation speed correction amount storage unit when an absolute value of the rotation speed difference is greater than the first threshold value and a sign of the rotation speed difference is positive; the speed correction amount increasing unit adds the rotation speed unit correction amount to the rotation speed correction amount stored in the rotation speed correction amount storage unit when an absolute value of the rotation speed difference is greater than the first threshold value and a sign of the rotation speed difference is negative.

2. The rotation speed detection device according to claim 1.

4. a rotational acceleration calculation unit that calculates a difference between the rotational speeds calculated by the rotational speed calculation unit over the predetermined period as a rotational acceleration of the rotating shaft; a rotational acceleration correction unit that corrects the rotational acceleration calculated by the rotational acceleration calculation unit and outputs the corrected rotational acceleration; Further comprising: The rotational acceleration correction unit a rotational acceleration difference calculation unit that calculates a rotational acceleration difference, which is a difference in the rotational acceleration calculated by the rotational acceleration calculation unit over the predetermined period; a rotational acceleration correction amount storage unit configured to store a rotational acceleration correction amount set to an initial value of 0 when the rotational speed and rotational acceleration of the rotating shaft are 0; a first acceleration correction amount reduction unit that, when an absolute value of the rotational acceleration difference is greater than a second threshold value and the sign of the rotational acceleration difference is positive, subtracts a rotational acceleration unit correction amount, which is a rotational acceleration at which a change in the rotational speed in the predetermined period is 360 [deg], from the rotational acceleration correction amount stored in the rotational acceleration correction amount storage unit, and stores a subtraction result in the rotational acceleration correction amount storage unit; a second acceleration correction amount reduction unit that subtracts the rotational acceleration unit correction amount from the rotational acceleration correction amount stored in the rotational acceleration correction amount storage unit when an absolute value of the rotational acceleration difference is greater than twice the second threshold value and the sign of the rotational acceleration difference is positive, and stores a subtraction result in the rotational acceleration correction amount storage unit; a first acceleration correction amount increasing unit that adds the rotational acceleration unit correction amount to the rotational acceleration correction amount stored in the rotational acceleration correction amount storage unit when an absolute value of the rotational acceleration difference is greater than the second threshold value and a sign of the rotational acceleration difference is negative, and stores the addition result in the rotational acceleration correction amount storage unit; a second acceleration correction amount increasing unit that adds the rotational acceleration unit correction amount to the rotational acceleration correction amount stored in the rotational acceleration correction amount storage unit when the absolute value of the rotational acceleration difference is greater than twice the second threshold value and the sign of the rotational acceleration difference is negative, and stores the addition result in the rotational acceleration correction amount storage unit; an acceleration correction amount adding unit that adds the rotational acceleration correction amount stored in the rotational acceleration correction amount storage unit to the rotational acceleration calculated by the rotational acceleration calculation unit to calculate the corrected rotational acceleration; 2. The rotation speed detection device according to claim 1, further comprising:

5. 5. The rotation speed detection device according to claim 4, wherein the second threshold value is set to a value smaller than a rotation acceleration at which the difference in the rotation speed in the predetermined period reaches 360 degrees.

6. A rotation speed detection device according to any one of claims 1 to 3, a control unit that controls driving of the motor based on the corrected rotation speed output from the rotation speed correction unit; A motor control device comprising:

7. A rotation speed detection device according to claim 4 or 5, a control unit that controls driving of the motor based on the corrected rotational speed output from the rotational speed correction unit and the corrected rotational acceleration output from the rotational acceleration correction unit; A motor control device comprising:

8. The motor control device according to claim 6 ; an electric motor controlled by the motor control device; An electric power steering device, characterized in that a steering assist force is applied to a steering system of a vehicle by the electric motor.

9. The motor control device according to claim 7 ; an electric motor controlled by the motor control device; An electric power steering device, characterized in that a steering assist force is applied to a steering system of a vehicle by the electric motor.

Citation Information

Patent Citations

  • JP1974009797A