Motor with rotation angle detector, rotation angle detector for motor, and method for detecting rotation angle of motor provided with commutator

文档序号:1643348 发布日期:2019-12-20 浏览:20次 中文

阅读说明:本技术 带旋转角度检测器的电动机、电动机的旋转角度检测器以及对具备换向器的电动机的旋转角度进行检测的方法 (Motor with rotation angle detector, rotation angle detector for motor, and method for detecting rotation angle of motor provided with commutator ) 是由 都军安 阿部勤 于 2018-05-01 设计创作,主要内容包括:对具备换向器(20)的电动机(10)的旋转角度进行检测的旋转角度检测器(100)包括:电阻设定部(37),设定与电动机(10)的电阻特性对应的电阻值;和旋转信息计算部(36),基于电压检测部(10a)检测出的检测电压值、电流检测部(10b)检测出的检测电流值以及电阻设定部(37)所设定的设定电阻值(Rm)来计算与电动机(10)的旋转有关的信息。电阻设定部(37)构成为基于在电动机(10)的旋转稳定的状态下检测出的检测电压值和检测电流值来导出推断电阻值(R’m),并使用推断电阻值(R’m)来更新设定电阻值(Rm)。(A rotation angle detector (100) for detecting the rotation angle of a motor (10) provided with a commutator (20) is provided with: a resistance setting unit (37) that sets a resistance value corresponding to the resistance characteristic of the motor (10); and a rotation information calculation unit (36) that calculates information relating to the rotation of the motor (10) on the basis of the detected voltage value detected by the voltage detection unit (10a), the detected current value detected by the current detection unit (10b), and the set resistance value (Rm) set by the resistance setting unit (37). The resistance setting unit (37) is configured to derive an estimated resistance value (R'm) based on a detected voltage value and a detected current value detected in a state where the rotation of the motor (10) is stable, and update the set resistance value (Rm) using the estimated resistance value (R'm).)

1. A motor with a rotation angle detector includes:

an electric motor; and

a rotation angle detector for detecting a rotation angle of the motor,

the motor has a commutator formed of a plurality of commutator segments,

the rotation angle detector includes:

a resistance setting unit that sets a resistance value corresponding to a resistance characteristic of the motor; and

a rotation information calculation unit that calculates information on rotation of the motor based on a detected voltage value detected by a voltage detection unit that detects a voltage between terminals of the motor, a detected current value detected by a current detection unit that detects a current flowing through the motor, and a set resistance value set by the resistance setting unit,

the resistance setting unit is configured to: an estimated resistance value is derived based on the detected voltage value and the detected current value detected in a rotationally stable state in which the rotation of the motor is stable, and the set resistance value is updated using the estimated resistance value.

2. The motor with rotation angle detector according to claim 1,

the resistance setting unit is configured to: the set resistance value is updated using the estimated resistance value when the estimated resistance value is within a predetermined range, and the set resistance value is not updated when the estimated resistance value is outside the predetermined range.

3. The motor with rotation angle detector according to claim 1 or 2,

further comprising a1 st signal generating unit for generating a1 st signal based on a ripple component contained in a current flowing through the motor,

the rotation stabilization state includes a state in which a fluctuation width of an inter-terminal voltage of the motor in a predetermined period is smaller than a predetermined value, a fluctuation width of a current flowing through the motor in the predetermined period is smaller than a predetermined value, and a fluctuation width of a cycle of the 1 st signal in the predetermined period is smaller than a predetermined value.

4. The motor with rotation angle detector according to any one of claims 1 to 3,

the resistance setting unit is configured to: the set resistance value is updated such that a difference between the updated set resistance value and the estimated resistance value is smaller than a difference between the set resistance value and the estimated resistance value before the update.

5. A method of detecting a rotation angle of a motor having a commutator, comprising:

detecting a voltage between terminals of the motor;

detecting a current flowing in the motor;

setting a resistance value corresponding to a resistance characteristic of the motor;

calculating information on rotation of the motor based on the detected voltage value, the detected current value, and the set resistance value; and

and deriving an estimated resistance value based on the detected voltage value and the detected current value detected in a rotationally stable state in which the rotation of the motor is stable, and updating the set resistance value using the estimated resistance value.

6. A rotation angle detector for a motor for detecting a rotation angle of the motor having a commutator, comprising:

a resistance setting unit that sets a resistance value corresponding to a resistance characteristic of the motor; and

a rotation information calculation unit that calculates information on rotation of the motor based on a detected voltage value detected by a voltage detection unit that detects a voltage between terminals of the motor, a detected current value detected by a current detection unit that detects a current flowing through the motor, and a set resistance value set by the resistance setting unit,

the resistance setting unit is configured to: an estimated resistance value is derived based on the detected voltage value and the detected current value detected in a rotationally stable state in which the rotation of the motor is stable, and the set resistance value is updated using the estimated resistance value.

Technical Field

The present invention relates to a motor with a rotation angle detector, a rotation angle detector for a motor, and a method for detecting a rotation angle of a motor having a commutator.

Background

Conventionally, a motor control device for driving a motor with a brush, which constitutes a steering assist mechanism of an electric power steering apparatus, is known (see patent documents 1 and 2). The device is configured to calculate the motor angular velocity based on the motor current, the inter-motor-terminal voltage, the inter-motor-terminal resistance, and the back electromotive force constant. Further, the resistance characteristic used to estimate the rotational angular velocity of the motor is updated based on the resistance estimation value without using an external sensor for detecting a normal steering state, which is a state in which the rotation of the rotor of the motor is regarded as stopped. Specifically, the controller detects a normal steering state when the absolute value of a back electromotive force estimated value, which is the product of a back electromotive force constant and a motor angular velocity, is equal to or less than a threshold value, and calculates a resistance estimated value based on a motor current and a voltage between motor terminals obtained in the normal steering state.

Disclosure of Invention

Problems to be solved by the invention

However, in the method of calculating the angular velocity estimation value ω described in patent document 1 and patent document 2 (see formula (3) in patent document 1 and formula (3) in patent document 2), a voltage component that may be generated in the inductance of the motor does not appear, and therefore, if the amount of change in the current flowing through the inductance does not reach a negligible level, there is a possibility that an error in the calculated estimation resistance value becomes large. Further, since the inter-motor-terminal resistance greatly changes depending on the positional relationship between the commutator and the brush of the motor in the restrained state in the normal steering state, there is a possibility that an error in the calculated estimated resistance value becomes large in this point. And, the most fundamental problems are: since the number (one) of independent conditional expressions required to derive the solutions of the unknown parameters (the estimated back electromotive force value and the estimated resistance value) is smaller than the number (2) of unknown parameters, a combination of several solutions is theoretically obtained. In this case, even if the least square method, weighted average method, or the like is used, the solution of the parameter is close to only one of the plurality of solutions, and therefore a solution that should be derived originally (a local optimal phenomenon in mathematics) is not necessarily obtained. Therefore, the methods described in patent documents 1 and 2 may fail to obtain a precise rotation amount of the motor at a proper time and a rotation amount with high reliability.

In view of the above, it is desirable to provide a device capable of acquiring information on the rotation of a dc commutator motor with higher reliability.

Means for solving the problems

An apparatus according to an embodiment of the present invention includes a motor and a rotation angle detector that detects a rotation angle of the motor, the motor including a commutator including a plurality of commutator segments, the rotation angle detector including: a resistance setting unit that sets a resistance value corresponding to a resistance characteristic of the motor; and a rotation information calculation unit that calculates information relating to rotation of the motor based on a detected voltage value detected by a voltage detection unit that detects a voltage between terminals of the motor, a detected current value detected by a current detection unit that detects a current flowing through the motor, and a set resistance value set by the resistance setting unit, wherein the resistance setting unit is configured to: an estimated resistance value is derived based on the detected voltage value and the detected current value detected in a rotationally stable state in which the rotation of the motor is stable, and the set resistance value is updated using the estimated resistance value.

Effects of the invention

With the above arrangement, it is possible to provide a device capable of obtaining information on the rotation of the dc commutator motor with higher reliability.

Drawings

Fig. 1 is a schematic diagram showing a configuration example of a rotation angle detector according to an embodiment of the present invention.

Fig. 2 is a schematic diagram of a commutator.

Fig. 3A is a diagram showing an example of the timing of generating the 1 st pulse signal.

Fig. 3B is a diagram showing another example of the timing of generating the 1 st pulse signal.

Fig. 4 is a diagram showing an example of the timing of generating the 2 nd pulse signal.

Fig. 5 is a flowchart of the rotation amount calculation processing.

Fig. 6 is a diagram showing transitions of the synthesized pulse signal and the hall pulse signal, respectively.

Fig. 7 is a flowchart of the update process.

Fig. 8 is a diagram showing an example of a stable rotation state of the motor.

Fig. 9 is a diagram showing a voltage and a current between terminals of the motor and a time transition of the 1 st pulse signal in a rotation stable state.

Detailed Description

The rotation angle detector 100 according to the embodiment of the present invention will be described below with reference to the drawings. Fig. 1 is a schematic diagram showing a configuration example of a rotation angle detector 100 according to an embodiment of the present invention.

The rotation angle detector 100 is a device that detects the rotation angle of the motor 10. In the example of fig. 1, the rotation angle detector 100 detects the rotation angle of the motor 10 based on the inter-terminal voltage V of the motor 10 and the current Im flowing through the motor 10.

The motor 10 is a dc commutator motor having a commutator. The motor 10 is used for, for example, raising and lowering a window of an automobile, adjusting an angle of a mirror, adjusting an air volume in an air conditioner, adjusting an optical axis of a headlight, and the like.

Fig. 2 is a schematic diagram of the commutator 20. As shown in fig. 2, the commutator 20 is composed of 8 commutator segments 20a separated from each other by slits 20 s. The center angle of the arc of each segment 20a, i.e., the inter-slit angle θ c, is about 45 degrees.

The motor 10 is connected to a power supply via 4 switches SW1 to SW 4. Further, the structure is: the forward rotation is performed clockwise when the switches SW1 and SW3 are closed, and the reverse rotation is performed counterclockwise when the switches SW2 and SW4 are closed. In the example of fig. 1 connected to a power supply, the current flowing in the motor 10 rotating in the forward direction has a positive value, and the current flowing in the motor 10 rotating in the reverse direction has a negative value. During the inertia rotation, the switches SW2 and SW3 are closed, and the current flowing through the motor 10 rotating in the forward direction has a negative value, and the current flowing through the motor 10 rotating in the reverse direction has a positive value. In the present embodiment, the motor 10 and the current detection unit 10b are present in a closed loop in order to detect rotation also during inertial rotation. In the present embodiment, since the electric motor 10 has a sufficiently large resistance value, even if 2 terminals of the electric motor 10 are short-circuited, the electric motor rotates by inertia. On the other hand, when the electric motor 10 has a small resistance value, if 2 terminals of the electric motor 10 are short-circuited, the speed is rapidly reduced. In order to suppress the deceleration of the motor 10 during the inertial rotation, a closed loop via a resistor may be formed.

The voltage detector 10a detects the inter-terminal voltage V of the motor 10. The current detection unit 10b detects a current Im flowing through the motor 10.

The rotation angle detector 100 mainly includes components such as a voltage filter unit 30, a rotation angular velocity calculation unit 31, a rotation angle calculation unit 32, a current filter unit 33, a1 st signal generation unit 34, a2 nd signal generation unit 35, a rotation information calculation unit 36, and a resistance setting unit 37. Each component may be constituted by an electric circuit or software.

The voltage filter unit 30 smoothes the waveform of the inter-terminal voltage V output from the voltage detection unit 10 a. The voltage filter unit 30 smoothes the waveform of the inter-terminal voltage V so that the rotational angular velocity calculation unit 31 can calculate the rotational angular velocity of the motor 10 with high accuracy, for example. In the example of fig. 1, the voltage filter unit 30 is a low-pass filter, and outputs the inter-terminal voltage V' obtained by removing a high-frequency component in the waveform of the inter-terminal voltage V output from the voltage detection unit 10a as noise.

The rotational angular velocity calculation unit 31 calculates the rotational angular velocity of the motor 10 based on the inter-terminal voltage V' of the motor 10 and the current Im flowing through the motor 10. In the example of fig. 1, the rotational angular velocity calculation unit 31 calculates the rotational angular velocity ω based on equation (1).

[ numerical formula 1]

Ke is a counter electromotive force constant, Rm is a value (set resistance value) corresponding to the internal resistance of the motor 10, Lm is the inductance of the motor 10, and dIm/dt is the first derivative of the current Im. The first derivative of the current Im is, for example, the difference between the previous value of the current Im and the current value of the current Im. The set resistance value Rm is set by the resistance setting unit 37, for example, when the rotation angle detector 100 is activated.

The rotational angular velocity calculation unit 31 calculates the rotational angular velocity ω of the motor 10 at regular control intervals, and outputs the calculated rotational angular velocity ω to the rotational angular calculation unit 32.

The rotation angle calculation unit 32 calculates the rotation angle θ of the motor 10. The rotation angle calculation unit 32 calculates the rotation angle θ based on equation (2).

[ numerical formula 2]

θ=∫0ω×dt…(2)

The rotation angle calculation unit 32 calculates the rotation angle θ by integrating the rotation angular velocity ω output from the rotation angular velocity calculation unit 31 at every predetermined control cycle, and outputs a rotation angle signal, which is a signal related to the calculated rotation angle θ, to the 2 nd signal generation unit 35.

The rotation angle calculating unit 32 resets the rotation angle θ to zero in response to the synchronization command from the 2 nd signal generating unit 35.

The current filter unit 33 outputs a ripple component Ir, which is a specific frequency component included in the current Im output from the current detector 10 b. The current filter unit 33 is configured by, for example, a band-pass filter that passes the frequency of the ripple component Ir so that the 1 st signal generation unit 34 can detect the ripple component Ir of the current Im. The current filter 33, which is a band-pass filter, removes frequency components other than the ripple component Ir from the waveform of the current Im output from the current detector 10 b. The ripple component Ir used in the present embodiment is generated by the contact/separation of the commutator segment 20a and the brush. Therefore, the angle at which the motor 10 rotates during 1 cycle of the pulsation component Ir is equal to the inter-slit angle θ c.

The 1 st signal generator 34 generates a signal for estimating that the motor 10 has rotated by a constant angle from the waveform of the pulsation component Ir. This signal corresponds to the period of the ripple component Ir. The constant angle may be an angle corresponding to 1 cycle of the pulsation component Ir, or may be an angle corresponding to a half cycle. In this embodiment, a signal (1 st pulse signal Pa) estimated from the waveform of the pulsation component Ir is generated every time the motor 10 rotates by the inter-slit angle θ c. The 1 st signal generator 34 generates the 1 st pulse signal Pa based on, for example, the waveform of the ripple component Ir output from the current filter 33.

Fig. 3A is a diagram showing an example of the timing at which the 1 st signal generator 34 generates the 1 st pulse signal Pa. The 1 st signal generator 34 generates a1 st pulse signal Pa for each 1 cycle of the pulse component Ir. For example, the 1 st pulse signal Pa is generated every time the ripple component Ir exceeds the reference current value Ib. In the example of fig. 3A, the 1 st pulse signal Pa is generated at times t1, t2, t3, …, tn, and the like. C1, C2, C3, …, Cn, etc. indicate the period of the pulsation component Ir, and θ 1, θ 2, θ 3, …, θ n, etc. indicate the rotation angle θ when the 1 st pulse signal is generated by the 1 st signal generation unit 34. The rotation angle θ is a value calculated by the rotation angle calculation unit 32. Thus, typically, the 1 st signal generation unit 34 generates the 1 st pulse signal Pa every time the rotation angle θ increases by the inter-slit angle θ c.

However, for example, when the current Im and the ripple component Ir thereof become small during the inertia rotation period after the power supply of the motor 10 is turned off, the 1 st signal generation unit 34 may not detect the ripple component Ir and may not generate the 1 st pulse signal Pa. For example, when an inrush current occurs immediately after the power supply of the motor 10 is turned on, the 1 st signal generation unit 34 may erroneously generate the 1 st pulse signal Pa in accordance with the inrush current. Such a missing or erroneous generation of the 1 st pulse signal Pa reduces the reliability of information relating to the rotation of the motor 10 (hereinafter referred to as "rotation information") output from the rotation angle detector 100.

In view of this, the rotation angle detector 100 can generate the signal indicating the rotation angle of the motor 10 with higher accuracy by the 2 nd signal generating unit 35.

The 2 nd signal generating unit 35 generates a signal indicating that the motor 10 has rotated by a predetermined angle. The 2 nd signal generator 35 generates a2 nd pulse signal Pb for each inter-slit angle θ c, for example, based on the rotation angle signal output from the rotation angle calculator 32 and the 1 st pulse signal Pa output from the 1 st signal generator 34. The 2 nd pulse signal Pb is an example of information indicating that the motor 10 has rotated by a predetermined angle. The 1 st pulse signal Pa is a signal estimated from only the waveform of the pulsation component Ir, and therefore may be erroneously output. On the other hand, since the 2 nd pulse signal Pb is a signal estimated from both the 1 st pulse signal Pa and the rotation angle signal, the error can be made a constant value or less.

Fig. 4 is a diagram showing an example of the timing at which the 2 nd signal generating unit 35 generates the 2 nd pulse signal Pb. The 1 st threshold value θ u and the 2 nd threshold value θ d are threshold values that can or cannot receive the 1 st pulse signal Pa, and are set based on, for example, the maximum phase difference between the rotation angle θ and the actual rotation angle of the motor 10.

The 2 nd signal generator 35 generates the 2 nd pulse signal Pb based on the 1 st pulse signal Pa that the 1 st signal generator 34 first generates when the rotation angle θ is equal to or greater than the 1 st threshold θ u and smaller than the inter-slit angle θ c. The 1 st threshold θ u may be a preset value or a dynamically set value. Fig. 4 shows, in a dot pattern, a reception range which is an angular range in which the rotation angle θ is equal to or greater than the 1 st threshold θ u and smaller than the inter-slit angle θ c. In the example of fig. 4, the rotation angles θ 1, θ 2, and θ 5 at which the 1 st pulse signals Pa1, Pa2, and Pa4 are generated by the 1 st signal generator 34 are equal to or greater than the 1 st threshold value θ u and smaller than the inter-slit angle θ c. That is, the remaining angle until each of the rotation angles θ 1, θ 2, and θ 5 reaches the inter-slit angle θ c is smaller than the angle α. For example, the angle α is set based on the maximum error between the rotation angle θ and the actual rotation angle of the motor 10. In this case, the 2 nd signal generator 35 determines that the 1 st pulse signals Pa1, Pa2, and Pa4 generated by the 1 st signal generator 34 at times t1, t2, and t5 are not noise. Therefore, the 2 nd signal generator 35 generates the 2 nd pulse signals Pb1, Pb2, and Pb4 at times t1, t2, and t 5. If the 2 nd pulse signal Pb is generated, the 2 nd signal generating section 35 outputs a synchronization command to the rotation angle calculating section 32. Further, if noise having the same frequency component as the pulsation component Ir is generated when the rotation angle θ is smaller than the inter-slit angle θ c and equal to or larger than the 1 st threshold value θ u, an erroneous 1 st pulse signal Pa may be output to generate the 2 nd pulse signal Pb. However, at the next timing, the true pulsation component Ir is detected, and the rotation angle detector 100 can detect the correct rotation angle. Therefore, even if the rotation angle detected by the rotation angle detector 100 is temporarily erroneously detected due to noise, the rotation angle is restored to the correct rotation angle. The error range is smaller than the angle α, and is a range having no practical problem.

The 2 nd signal generating unit 35 generates the 2 nd pulse signal Pb when the magnitude of the rotation angle θ reaches a predetermined angle. The predetermined angle is, for example, an inter-slit angle θ c. The rotation angle θ is the angle calculated by the rotation angle calculation unit 32, and includes an error. In the example of fig. 4, the 2 nd pulse signals Pb3, Pb5, Pb6 are generated when the absolute values of the rotation angles θ 3, θ 7, θ 9 reach the inter-slit angle θ c at times t3, t7, t 9. If the 2 nd pulse signal Pb is generated, the 2 nd signal generating section 35 outputs a synchronization command to the rotation angle calculating section 32. Upon receiving the synchronization command, the rotation angle calculation unit 32 resets the rotation angle θ to zero.

That is, for example, when the absolute value of the rotation angle θ reaches the inter-slit angle θ c without receiving the 1 st pulse signal Pa after the 2 nd pulse signal Pb2 is generated at time t2, the 2 nd signal generating unit 35 generates the 2 nd pulse signal Pb 3.

In this way, even when the 1 st pulse signal Pa is not generated for some reason, the 2 nd signal generator 35 generates the 2 nd pulse signal Pb as long as the absolute value of the rotation angle θ calculated by the rotation angle calculator 32 reaches the inter-slit angle θ c. Therefore, the generation of the leak of the 1 st pulse signal Pa can be reliably prevented.

In addition, the 2 nd signal generator 35 does not generate the 2 nd pulse signal Pb when the 1 st signal generator 34 generates the 1 st pulse signal Pa at the rotation angle θ smaller than the 2 nd threshold value θ d. The 2 nd threshold θ d may be a preset value or a dynamically set value. Such a situation typically occurs after the 2 nd pulse signal Pb is generated because the magnitude of the rotation angle θ reaches a predetermined angle. Fig. 4 shows the acceptance range, which is an angular range where the rotation angle θ is zero or more and less than the 2 nd threshold θ d, in a dot pattern. In the example of fig. 4, at a time t4 after the absolute value of the rotation angle θ reaches the inter-slit angle θ c at a time t3 and the 2 nd pulse signal Pb3 is generated, the 1 st signal generating unit 34 generates the 1 st pulse signal Pa 3. The rotation angle θ 4 at this time is smaller than the 2 nd threshold value θ d. That is, the integrated rotation angle θ 4 is still smaller than the angle β after the reset at time t 3. In this case, the 2 nd signal generator 35 can determine that the 1 st pulse signal Pa3 generated by the 1 st signal generator 34 at the time t4 can be integrated with the 2 nd pulse signal Pb3 generated at the time t 3. Specifically, the rotation angle θ output by the rotation angle calculation unit 32 is generated when the actual rotation angle of the motor 10 reaches the inter-slit angle θ c. That is, the second pulse signal Pb3 is generated when the rotation angle θ calculated by the rotation angle calculation unit 32 reaches the inter-slit angle θ c although the actual rotation angle does not reach the inter-slit angle θ c. The instant when the 1 st pulse signal Pa3 is generated immediately after the 2 nd pulse signal Pb3 is generated is the instant when the actual rotation angle reaches the inter-slit angle θ c. Therefore, the 2 nd signal generator 35 outputs the synchronization command to the rotation angle calculator 32 at the time when the 1 st pulse signal Pa3 is generated. In this case, the 2 nd signal generating unit 35 does not generate the 2 nd pulse signal Pb at time t 4. A broken-line arrow toward "x" of fig. 4 indicates that the 2 nd pulse signal Pb is not generated based on the 1 st pulse signal Pa 3. The same applies to the broken-line arrows in the other figures toward "x".

In addition, the 1 st signal generation unit 34 may generate the 1 st pulse signal Pa continuously in a short time. As described above, in fig. 3A, the 1 st signal generator 34 generates the 1 st pulse signal Pa each time the ripple component Ir exceeds the reference current value Ib. Immediately before or immediately after the ripple component Ir exceeds the reference current value Ib, the 1 st pulse signal Pa is erroneously generated even if minute noise is superimposed. In this case, the interval at which the 1 st signal generator 34 generates the 1 st pulse signal Pa is smaller than the angle β (the 2 nd threshold θ d). In the example of fig. 4, the 1 st signal generator 34 generates the 1 st pulse signal Pa2 at time t 2. The 2 nd signal generating unit 35 generates the 2 nd pulse signal Pb2, and outputs a synchronization command to the rotation angle calculating unit 32. The rotation angle calculation unit 32 resets the rotation angle θ. Then, the 1 st signal generator 34 generates the 1 st pulse signal Pa2 'at time t 2'. The rotation angle θ at the time point of time t2' is smaller than the 2 nd threshold value θ d. In this case, the 2 nd signal generating unit 35 does not generate the 2 nd pulse signal Pb and does not output the synchronization command. A broken-line arrow toward "x" in fig. 4 indicates a case where the 2 nd pulse signal Pb is not generated based on the 1 st pulse signal Pa 3. Further, when a slight noise is superimposed immediately before or immediately after the pulsation component Ir exceeds the reference current value Ib, it cannot be determined which of the 1 st pulse signals Pa continuously generated in a short time is the 1 st pulse signal Pa indicating that the inter-slit angle θ c is reached. However, in this case, since the plurality of 1 st pulse signals Pa are generated in a short period (smaller than the angle β), there is no problem in practical use even if the rotation angle θ is considered to have reached the inter-slit angle θ c at the time of the first 1 st pulse signal Pa. In addition, each time the ripple component Ir exceeds the reference current value Ib, the error is suppressed to be smaller than the angle β even if the same noise is generated. I.e. the errors do not accumulate. Therefore, the error can be suppressed to a range that has no practical problem.

When the rotation angle θ when the 1 st signal generator 34 generates the 1 st pulse signal Pa is equal to or greater than the 2 nd threshold value θ d and smaller than the 1 st threshold value θ u, that is, when the rotation angle θ is within the angular range R1, the 2 nd signal generator 35 does not generate the 2 nd pulse signal Pb and does not output the synchronization command to the rotation angle calculator 32. In the example of fig. 4, the rotation angle θ 6 when the 1 st pulse signal Pa5 is generated by the 1 st signal generator 34 at time t6 is equal to or greater than the 2 nd threshold value θ d and smaller than the 1 st threshold value θ u. That is, the remaining angle until the rotation angle θ 6 reaches the inter-slit angle θ c is larger than the angle α, and the rotation angle θ 6 integrated after being reset at time t5 is equal to or larger than the angle β. In this case, the 2 nd signal generating unit 35 can determine that the 1 st pulse signal Pa5 is a signal based on noise. Therefore, the 2 nd signal generator 35 does not generate the 2 nd pulse signal Pb at time t6, and does not output a synchronization command to the rotation angle calculator 32. That is, the influence of the 1 st pulse signal Pa5 due to noise can be eliminated.

When the rotation angle θ at which the 1 st signal generator 34 generates the 1 st pulse signal Pa is smaller than the 2 nd threshold θ d, the 2 nd signal generator 35 does not generate the 2 nd pulse signal Pb. However, when the rotation angle θ at the time when the 1 st signal generator 34 generates the 1 st pulse signal Pa is smaller than the 2 nd threshold value θ d, there are a case where the 2 nd signal generator 35 outputs the synchronization command to the rotation angle calculator 32 and a case where the synchronization command is not output. If the 1 st pulse signal Pa is generated when the rotation angle θ is smaller than the 2 nd threshold value θ d after the rotation angle θ reaches the inter-slit angle θ c before the 1 st pulse signal Pa is generated, the 2 nd signal generating section 35 transmits a synchronization command to the rotation angle calculating section 32. However, if a plurality of 1 st pulse signals Pa are generated when the rotation angle θ is smaller than the 2 nd threshold value θ d after the rotation angle θ reaches the inter-slit angle θ c before the 1 st pulse signal Pa is generated, the second and subsequent 1 st pulse signals Pa are ignored. That is, the 2 nd signal generating unit 35 does not output the synchronization command. In addition, after the 1 st pulse signal Pa is generated before the rotation angle θ reaches the inter-slit angle θ c, even if the 1 st pulse signal Pa is generated when the rotation angle θ is smaller than the 2 nd threshold value θ d, the 2 nd signal generating unit 35 does not output the synchronization command. That is, when a plurality of 1 st pulse signals Pa are generated while the 1 st pulse signal Pa is smaller than the 2 nd threshold θ d (angle β), the second and subsequent 1 st pulse signals Pa are ignored. That is, the 2 nd signal generating unit 35 does not output the synchronization command. In the example of fig. 4, the rotation angle θ 4' at the time when the 1 st signal generator 34 generates the 1 st pulse signal Pa3' is smaller than the 2 nd threshold value θ d at time t4 '. However, the 1 st pulse signal Pa3' is the second 1 st pulse signal Pa after the 2 nd pulse signal Pb3 that is most recent is generated. Therefore, upon receiving the 1 st pulse signal Pa3', the 2 nd signal generator 35 does not generate the 2 nd pulse signal Pb and does not output a synchronization command to the rotation angle calculator 32.

With the above configuration, the rotation angle detector 100 can suppress the detection error of the rotation angle θ of the motor 10 to a range that does not pose a practical problem. In particular, in the rotation angle detector 100, errors are not accumulated. Therefore, the error can be suppressed within a certain range regardless of the rotation speed of the motor 10. The inventors have found that the following premise holds, and invented the above-described rotation angle detector 100. (1) The erroneous detection of the ripple component Ir due to the minute noise is limited to just before or just after the ripple component Ir exceeds the reference current value Ib. In this case, the erroneous 1 st pulse signal Pa is generated only in a short time (from the forward angle α to the backward angle β) before and after the 1 st pulse signal Pa generated accurately. (2) The large noise is noise caused by a surge current immediately after the power supply is turned on, and is generated at intervals sufficiently longer than the inter-slit angle θ c. (3) The rotation angle calculation unit 32 calculates the rotation angle θ based on the inter-terminal voltage V' and the current Im such that the error is sufficiently smaller than the inter-slit angle θ c.

With the above configuration, even when the current Im and the ripple component Ir thereof decrease during the inertia rotation period after the power supply of the motor 10 is turned off, for example, and the 1 st signal generator 34 cannot generate the 1 st pulse signal Pa based on the waveform of the ripple component Ir, the 2 nd signal generator 35 can generate the 2 nd pulse signal Pb.

Even when, for example, an inrush current occurs immediately after the power supply of the motor 10 is turned on and the 1 st signal generator 34 erroneously generates the 1 st pulse signal Pa in accordance with the inrush current, the 2 nd signal generator 35 does not generate the 2 nd pulse signal Pb corresponding to the 1 st pulse signal Pa. That is, the influence of the 1 st pulse signal Pa can be eliminated.

Even when the 1 st pulse signal Pa is erroneously generated by the 1 st signal generator 34 due to the influence of noise or the like, for example, the 2 nd signal generator 35 does not generate the 2 nd pulse signal Pb corresponding to the 1 st pulse signal Pa and does not output the synchronization command to the rotation angle calculator 32.

Therefore, the rotation angle detector 100 can improve the reliability of the rotation information of the motor 10 by calculating the rotation information of the motor 10 from the 2 nd pulse signal Pb generated based on both the 1 st pulse signal Pa and the rotation angle signal.

The 2 nd signal generating unit 35 outputs a direction signal indicating the rotation direction of the motor 10. For example, if the rotation direction is the forward rotation direction, the 2 nd signal generating section 35 outputs a positive value as the rotation angle θ, and if the rotation direction is the reverse rotation direction, the 2 nd signal generating section 35 outputs a negative value as the rotation angle θ. The rotation angle θ has a positive value when the current flowing in the motor 10 is a positive value, and has a negative value when the current flowing in the motor 10 is a negative value. In the inertial rotation, the rotation angle θ has a positive value when the current flowing in the motor 10 is a negative value, and the rotation angle θ has a negative value when the current flowing in the motor 10 is a positive value.

The rotation information calculation unit 36 calculates rotation information of the motor 10. The rotation information of the motor 10 includes, for example, a rotation amount (rotation angle) from the reference rotation position, a rotation speed from the reference rotation position, and the like. In the case where the motor 10 is used for raising and lowering a window of an automobile, the rotation information of the motor 10 may be a value converted into a relative position of an upper edge of the window with respect to a reference position, an opening amount of the window, or the like. In addition, statistical values such as an average value, a maximum value, a minimum value, and a median of the rotational angular velocity ω in a certain period may be included. In the example of fig. 1, the rotation information calculation unit 36 calculates the rotation information of the motor 10 based on the output of the 2 nd signal generation unit 35. For example, the rotation amount after the start of the rotation of the motor 10 is calculated by multiplying the number of the 2 nd pulse signals Pb generated after the start of the rotation of the motor 10 by the inter-slit angle θ c. At this time, the rotation information calculating unit 36 determines whether to increase or decrease the number of the 2 nd pulse signal Pb based on the direction signal output from the 2 nd signal generating unit 35 together with the 2 nd pulse signal Pb. Alternatively, the rotation information calculating section 36 may count the number of the 2 nd pulse signals Pb received together with the direction signal indicating the forward rotation direction and the number of the 2 nd pulse signals Pb received together with the direction signal indicating the reverse rotation direction, respectively, and calculate the rotation amount of the motor 10 based on the difference therebetween.

The resistance setting unit 37 sets a resistance value corresponding to the resistance characteristic of the motor 10. The resistance setting unit 37 sets a value stored in advance in the nonvolatile storage medium to the set resistance value Rm in expression (1) when the rotation angle detector 100 is activated, for example. The set resistance value Rm may be dynamically updated.

Next, a flow of a process of calculating the rotation amount of the motor 10 by the rotation angle detector 100 (hereinafter referred to as "rotation amount calculation process") will be described with reference to fig. 5. Fig. 5 is a flowchart of the rotation amount calculation processing. The rotation angle detector 100 executes the rotation amount calculation process during driving of the motor 10.

First, the rotation angle detector 100 acquires the inter-terminal voltage V and the current Im (step ST 1). In the example of fig. 1, the rotation angle detector 100 acquires the inter-terminal voltage V output from the voltage detection unit 10a and the current Im output from the current detection unit 10b at predetermined control cycles.

Then, the rotation angle detector 100 calculates the rotation angular velocity ω and the rotation angle θ (step ST 2). In the example of fig. 1, the rotational angular velocity calculation unit 31 of the rotational angular detector 100 calculates the rotational angular velocity ω at a predetermined control cycle by substituting the inter-terminal voltage V' and the current Im into equation (1). Then, the rotation angle calculation unit 32 of the rotation angle detector 100 integrates the rotation angular velocity ω calculated for each control cycle to calculate the rotation angle θ.

Then, the rotation angle detector 100 determines whether the rotation angle θ is smaller than a predetermined angle (step ST 3). In the example of fig. 1, the 2 nd signal generating unit 35 of the rotation angle detector 100 determines whether or not the rotation angle θ is smaller than the inter-slit angle θ c (inter-slit angle).

When determining that the rotation angle θ is equal to or larger than the inter-slit angle θ c (no in step ST3), the 2 nd signal generating unit 35 determines that the 1 ST pulse signal Pa is not generated at the timing up to the inter-slit angle θ c. In this case, the 2 nd signal generating unit 35 sets the flag F to "False" to indicate that the 1 ST pulse signal Pa is not generated (step ST 3A). The flag F is a flag indicating whether or not the 1 st pulse signal Pa is generated. The initial value of the flag F is "False" indicating that the 1 st pulse signal Pa is not generated. The flag F being "True" indicates that the 1 st pulse signal Pa has been generated. Then, the 2 nd pulse signal Pb is generated (step ST10), and the rotation angle θ is reset to zero (step ST 11). This is the case where the rotation angle θ reaches the inter-slit angle θ c before the 1 st pulse signal Pa is generated, and corresponds to the case where the rotation angle θ reaches the rotation angles θ 3, θ 7, and θ 9 at times t3, t7, and t9 in the example of fig. 4.

On the other hand, when determining that the rotation angle θ is smaller than the inter-slit angle θ c (yes in step ST3), the 2 nd signal generator 35 determines whether or not the 1 ST pulse signal Pa is generated (step ST 4). In the example of fig. 1, it is determined whether or not the 1 st pulse signal Pa is generated by the 1 st signal generation unit 34.

When the 2 nd signal generator 35 determines that the 1 ST pulse signal Pa has not been generated (no at step ST4) at the stage when the rotation angle θ is smaller than the inter-slit angle θ c (yes at step ST3), the rotation angle detector 100 calculates the rotation amount (step ST 7). The rotation information calculation unit 36 calculates the amount of rotation of the motor 10 based on the output of the 2 nd signal generation unit 35. In this case, the calculated rotation amount does not change. This corresponds to the case where the rotation angle θ becomes the rotation angle θ 0 at time t0 in the example of fig. 4.

Then, the rotation angle detector 100 determines whether the rotation angular velocity ω becomes zero (step ST 8). Then, the rotation angle detector 100 returns the process to step ST1 when determining that the rotational angular velocity ω has not become zero (no at step ST8), and ends the rotation amount calculation process when determining that the rotational angular velocity ω has become zero (yes at step ST 8).

When determining that the 1 ST pulse signal Pa is generated (yes at step ST4), the 2 nd signal generator 35 determines whether or not the rotation angle θ is smaller than the 1 ST threshold θ u (step ST 5). This is because the 1 st pulse signal Pa generated at a timing smaller than the 1 st threshold value θ u is highly likely to be based on noise.

When determining that the rotation angle θ is equal to or greater than the 1 ST threshold θ u (no at step ST5), the 2 nd signal generator 35 sets the flag F to "True" to indicate whether or not the 1 ST pulse signal Pa is generated (step ST 5A). Then, the 2 nd signal generating unit 35 generates the 2 nd pulse signal Pb (step ST10) and resets the rotation angle θ to zero (step ST 11). This is because, when the 1 st pulse signal Pa is generated when the rotation angle θ is equal to or greater than the 1 st threshold value θ u, the actual rotation angle at the time when the 1 st pulse signal Pa is generated approaches the inter-slit angle θ c. This corresponds to the case where the 1 st pulse signals Pa1, Pa2, Pa4 are generated at times t1, t2, t5 in the example of fig. 4.

When determining that the rotation angle θ is smaller than the 1 ST threshold θ u (yes in step ST5), the 2 nd signal generator 35 cannot determine that the 1 ST pulse signal Pa is not a signal based on noise at the present time. The rotation angle θ may include a slight error. The generation timing of the 1 st pulse signal Pa may be slightly shifted by the influence of noise or the like. Therefore, the timing when the rotation angle θ reaches the inter-slit angle θ c may be shifted from the generation timing of the 1 st pulse signal Pa. Therefore, it is not known which of the timing at which the rotation angle θ reaches the inter-slit angle θ c and the generation timing of the 1 st pulse signal Pa is earlier. In view of this, the 2 nd signal generating unit 35 determines whether or not the rotation angle θ is smaller than the 2 nd threshold θ d with respect to the 1 ST pulse signal Pa that is received first after the most recent 2 nd pulse signal Pb is generated (step ST 6).

When it is determined that the rotation angle θ of the first 1 ST pulse signal Pa is smaller than the 2 nd threshold θ d (yes at step ST6), the 2 nd signal generator 35 checks the flag F (step ST 6A). The flag F is a flag for determining that the 1 st pulse signal Pa is continuously generated. When the flag F is "True", the 1 st pulse signal Pa is the second and subsequent 1 st pulse signals Pa that are continuously generated. If the flag F is "True" (yes at step ST6A), the rotation angle detector 100 calculates the amount of rotation (step ST 7). This corresponds to the case where the 1 st pulse signals Pa2 'and Pa3' are generated at the times t2 'and t4' in the example of fig. 4. If the flag F is "False" (no at step ST6A), the 2 nd signal generator 35 sets the flag F to "True" (step ST 6B). Then, the 2 nd signal generating unit 35 resets the rotation angle θ to zero (step ST 11). This is because, when the rotation angle θ is smaller than the 2 nd threshold value θ d, the actual rotation angle at the time of generating the 1 st pulse signal Pa approaches the inter-slit angle θ c. That is, this is because if the 1 st pulse signal Pa is smaller than the 2 nd threshold θ d, it can be determined that the 2 nd pulse signal Pb generated immediately before corresponds to the 1 st pulse signal Pa. This corresponds to the case where the 1 st pulse signals Pa3 and Pa6 are generated at the times t4 and t8 in the example of fig. 4. That is, it can be determined that the 1 st pulse signals Pa3, Pa6 correspond to the 2 nd pulse signals Pb3, Pb 5.

When determining that the rotation angle θ of the first 1 ST pulse signal Pa is equal to or greater than the 2 nd threshold value θ d (no at step ST6), that is, when determining that the rotation angle θ is within the angle range R1, the 2 nd signal generator 35 determines that the 1 ST pulse signal Pa is a signal based on noise. In this case, the 2 nd signal generating unit 35 does not generate the 2 nd pulse signal Pb and does not reset the rotation angle θ. The rotation information calculation unit 36 calculates the amount of rotation of the motor 10 based on the output of the 2 nd signal generation unit 35. This corresponds to the case where the 1 st pulse signal Pa5 is generated at time t6 in the example of fig. 4. That is, the 2 nd signal generator 35 determines that the 1 st pulse signal Pa5 is a signal based on noise.

Then, the rotation angle detector 100 calculates the rotation amount of the motor 10 (step ST 7). In the example of fig. 1, the rotation information calculation unit 36 of the rotation angle detector 100 calculates the amount of rotation after the start of rotation of the motor 10 by multiplying the number of the 2 nd pulse signals Pb generated after the start of rotation of the motor 10 by the inter-slit angle θ c.

Next, the experimental results regarding the reliability of the rotation amount of the motor 10 calculated by the rotation angle detector 100 will be described with reference to fig. 6. Fig. 6 is a diagram showing transitions of the synthesized pulse signal and the hall pulse signal, respectively.

The synthesized pulse signal is a signal obtained by synthesizing a plurality of pulses of the 2 nd pulse signal Pb into 1 pulse. In the example of fig. 6, the inter-slit angle θ c is 90 degrees. The 1 st pulse signal Pa and the 2 nd pulse signal Pb are generated substantially every time the rotation shaft of the motor 10 rotates by 90 degrees. Further, the synthesized pulse signal is generated by synthesizing 2 pulses of the 2 nd pulse signal Pb into 1 pulse. That is, the rotation angle detector 100 is configured to generate one composite pulse signal every time the rotation shaft of the motor 10 rotates 180 degrees.

The hall pulse signal is a pulse signal output by the hall sensor. The hall sensor detects a magnetic flux generated by a magnet attached to the rotating shaft of the motor 10 for comparison of the 2 nd pulse signal Pb with the hall pulse signal. In the example of fig. 6, the rotation angle detector 100 is configured to generate one hall pulse signal every time the rotation shaft of the motor 10 rotates 180 degrees.

A broken-line arrow toward "x" in fig. 6 indicates a case where the 2 nd pulse signal Pb is not generated based on the 1 st pulse signal Pa. That is, this indicates a case where the 1 st pulse signal Pa is ignored as noise. Note that 8 solid arrows in fig. 6 indicate that the 2 nd pulse signal Pb is added at the time of generating the drain of the 1 st pulse signal Pa.

In the example of fig. 6, it is confirmed that the numbers of the synthesized pulse signals and the hall pulse signals generated during the period from the start of the forward rotation of the motor 10 to the stop of the forward rotation are equal to each other. That is, it is confirmed that the rotation amount of the motor 10 calculated based on the 2 nd pulse signal Pb is equal to the rotation amount of the motor 10 detected by the hall sensor.

Next, a process of updating the resistance value corresponding to the resistance characteristic of the motor 10 by the resistance setting unit 37 (hereinafter referred to as "updating process") will be described with reference to fig. 7. Fig. 7 is a flowchart of the update process. The resistance setting unit 37 repeatedly executes the update process at a predetermined control cycle.

First, the resistance setting unit 37 determines whether or not the motor 10 is in a rotationally stable state in which the rotation is stable (step ST 21). The rotation stable state includes, for example, a state in which the fluctuation width of the inter-terminal voltage V of the motor 10 in a predetermined period is smaller than a predetermined value, the fluctuation width of the current Im flowing through the motor 10 in the predetermined period is smaller than a predetermined value, and the fluctuation width of the cycle of the 1 st pulse signal Pa in the predetermined period is smaller than a predetermined value.

Fig. 8 shows an example of a rotation stable state of the motor 10 used for raising and lowering a window of an automobile. Specifically, the time transition of the inter-terminal voltage V, the current Im, and the 1 st pulse signal Pa when the Inching (Inching) operation for lowering the window is performed is shown. The inching operation for lowering the window is, for example, a short-time pressing operation of a window lowering button. Fig. 8 shows that when the window down button is pressed at time t1, switches SW1 and SW3 (see fig. 1) are closed, and the inter-terminal voltage V and the current Im increase. Further, at time t4, after switch SW1 is in the open state and switch SW2 (see fig. 1) is in the closed state, the inter-terminal voltage V and the current Im fluctuate in accordance with the idle rotation of the motor 10. At time t5, the motor 10 is stopped, and the inter-terminal voltage V and the current Im reach zero. The time t2 represents the start time of the first rotational steady state, and the time t3 represents the end time of the first rotational steady state. Fig. 9 shows a time transition of the inter-terminal voltage V, the current Im, and the 1 st pulse signal Pa in the first rotational steady state.

As shown in fig. 9, each time the 1 st pulse signal Pa of a predetermined number is detected, the resistance setting unit 37 calculates the average value of the inter-terminal voltage V and the current Im in the period. Other statistical values such as median, mode, maximum, minimum, and the like may be used. In the example of fig. 9, the average value of the inter-terminal voltage V and the current Im in the period T is calculated every time the 8 1 st pulse signals Pa are detected. The periods T1, T2, T3, … …, and Tn represent periods required for detecting the 8 1 st pulse signals Pa. The average inter-terminal voltages V1, V2, V3, … …, and Vn represent average values of the inter-terminal voltages V in the periods T1, T2, T3, … …, and Tn. The average currents Im1, Im2, Im3, … …, and Imn represent average values of the currents Im in the periods T1, T2, T3, … …, and Tn.

For example, when the following condition is satisfied, the resistance setting unit 37 determines that the motor 10 is in a rotation stable state.

[ numerical formula 3]

|T1-Ti|<ΔT

|Im1-Imi|<ΔIm

|V1-Vi|<ΔV

Δ T denotes a period threshold value, Δ Im denotes a current threshold value, and Δ V denotes a voltage threshold value. i represents an integer of 1 to n. Specifically, when the absolute value of the difference between the periods T1 to Tn with respect to the period T1 is smaller than the period threshold Δ T, the absolute value of the difference between the average currents Im1 to Imn with respect to the average current Im1 is smaller than the current threshold Δ Im, and the absolute value of the difference between the average inter-terminal voltages V1 to Vn with respect to the average inter-terminal voltage V1 is smaller than the voltage threshold Δ V, the resistance setting unit 37 determines that the motor 10 is in the rotation-stable state. That is, it is determined that the motor 10 is in the rotation stable state when the generation interval of the 1 st pulse signal Pa, the current Im, and the inter-terminal voltage V are stable.

The broken-line graph of fig. 9 shows a case where the absolute values of the differences between the periods T2, T3, and Tn and the period T1 are smaller than the period threshold Δ T. The dot pattern area of fig. 9 represents the range of T1 ± Δ T. The graph of fig. 9 based on the one-dot chain line shows a case where the absolute value of the difference between the average inter-terminal voltages V2, V3, Vn with respect to the average inter-terminal voltage V1 is smaller than the voltage threshold Δ V. The two-dot chain line graph of fig. 9 shows a case where the absolute value of the difference between the average currents Im2, Im3, and Imn with respect to the average current Im1 is smaller than the current threshold Δ Im.

In the example of fig. 9, the resistance setting unit 37 can determine that the motor 10 is in the rotation stable state during the period from the time t2 to the time t3 at the time t 3. That is, it can be determined that the motor 10 is in the rotation stable state at the present time.

Reference is again made here to fig. 7. If it is determined that the motor 10 is in the rotation stable state (yes at step ST21), the resistance setting unit 37 calculates the rotational angular velocity ω' based on the cycle of the 1 ST pulse signal Pa (step ST 22). The resistance setting unit 37 calculates the rotational angular velocity ω' based on, for example, the following expression (3).

[ numerical formula 4]

n represents the number of periods T, and M represents the number of 1 st pulse signals Pa in the period T. For example, when n is 10, M is 8, and the inter-slit angle θ c is 45 degrees, the rotational angular velocity ω' represents the average rotational angular velocity [ rad/s ] during 10 rotations of the motor 10. In this way, the resistance setting unit 37 can calculate the rotational angular velocity ω' based on the cycle (80 cycles in the above example) of the 1 st pulse signal Pa.

Then, the resistance setting unit 37 calculates the estimated resistance value R'm based on the rotational angular velocity ω' (step ST 23). The resistance setting unit 37 calculates the estimated resistance value R'm based on, for example, the following equation (4).

[ numerical formula 5]

Equation (4) is a basic theoretical equation of the motor, Ke represents a back electromotive force constant, and Ke × ω' represents a back electromotive force estimated value. That is, a value obtained by dividing a value obtained by subtracting the estimated value of the back electromotive force from the average value of the average inter-terminal voltages V1 to Vn by the average value of the average currents Im1 to Imn is derived as the estimated resistance value R'm. The average value may be other statistical values such as a median, a mode, a maximum value, and a minimum value.

Then, the resistance setting unit 37 determines whether or not the estimated resistance value R'm is within the normal range (step ST 24). The resistance setting unit 37 determines whether or not the estimated resistance value R'm is within the normal range, for example, by referring to the upper limit and the lower limit of the normal range registered in advance in the nonvolatile storage medium. At least one of the upper limit and the lower limit of the normal range may be dynamically changed in accordance with the outside air temperature, the temperature of the motor 10, and the like.

When it is determined that the estimated resistance value R'm is within the normal range (yes at step ST24), the resistance setting unit 37 updates the set resistance value Rm using the estimated resistance value R'm (step ST 25). In the example of fig. 7, the resistance setting unit 37 updates the set resistance value Rm using the estimated resistance value R'm at the same cycle as the cycle at which the estimated resistance value R'm is calculated. However, the resistance setting unit 37 may update the set resistance value Rm at a different cycle from the cycle at which the estimated resistance value R'm is calculated. For example, the set resistance value Rm may be updated at a cycle shorter than the cycle at which the estimated resistance value R'm is calculated.

Specifically, the resistance setting unit 37 may update the set resistance value Rm by a resistance value R ″ m derived from the following expression (5), for example.

[ numerical formula 6]

R″m=Rm+Km×(R′m-Rm)…(5)

Km represents a positive real constant of 1.0 or less. That is, the set resistance value Rm is updated with the resistance value R ″ m closer to the estimated resistance value R'm as the value of Km approaches 1.0. Typically, Km is less than 1.0. This is to prevent sudden changes, vibrations, and the like in the set resistance value Rm. Km may be a fixed value or a variable value registered in advance in the nonvolatile storage medium, or may be a value dynamically calculated and set. For example, Km when a fine operation (a relatively short pressing operation) is performed may be set to be larger than Km when a normal operation (a relatively long pressing operation) is performed. This is because the time available for repeatedly executing the process of updating the set resistance value Rm is shorter when the inching operation is performed than when the normal operation is performed.

As can be seen from equation (5), the resistance setting unit 37 updates the set resistance value Rm so that the difference between the updated set resistance value Rm (resistance value R ″ m) and the estimated resistance value R'm is smaller than the difference between the set resistance value Rm and the estimated resistance value R'm before updating. This is to gradually bring the set resistance value Rm close to the estimated resistance value R'm while preventing a sudden change in the set resistance value Rm. For example, when the estimated resistance value R'm repeatedly derived using expression (4) hardly changes, the resistance setting unit 37 can gradually bring the set resistance value Rm closer to the estimated resistance value R'm. In particular, when the set resistance value Rm is updated at a cycle shorter than the cycle at which the estimated resistance value R'm is calculated, the resistance setting unit 37 can gradually bring the set resistance value Rm close to the estimated resistance value R'm before calculating a new estimated resistance value R'm. This is because the resistance value R "m approaches the inferred resistance value R'm each time it is derived.

If it is determined that the motor 10 is not in the rotation stable state (no at step ST21), or if it is determined that the estimated resistance value R'm is not within the normal range (no at step ST24), the resistance setting unit 37 ends the current updating process without updating the set resistance value Rm. In this case, the rotational angular velocity calculation unit 31 calculates the rotational angular velocity ω based on equation (1) using the current set resistance value Rm.

In this way, the resistance setting unit 37 calculates the rotational angular velocity ω' of the motor 10 based on the period of the 1 st pulse signal Pa when the motor 10 is in the rotation stable state. Then, the estimated resistance value R'm is derived based on the calculated rotational angular velocity ω ', and the set resistance value Rm in the formula (1) can be updated using the estimated resistance value R'm. Therefore, the set resistance value Rm can be appropriately updated in accordance with a change in the resistance characteristic of the motor 10 due to a temperature change, an aging change, or the like of the motor 10. The aging changes include, for example, wear of the commutator segments 20a, wear of the brushes, and the like. As a result, for example, even in the case where the current Im and the ripple component Ir thereof become small during the idle rotation period after the power supply of the motor 10 is turned off and the 1 st signal generator 34 cannot generate the 1 st pulse signal Pa based on the waveform of the ripple component Ir, the rotation angle detector 100 can acquire the information on the rotation of the motor 10 with higher reliability. Specifically, the 2 nd pulse signal Pb is generated more accurately based on the rotation angular velocity ω and the rotation angle θ calculated in real time using an appropriate set resistance value Rm without depending on the 1 st pulse signal Pa, whereby information on the rotation of the motor 10 can be acquired with higher reliability. For example, with respect to the motor 10 used for raising and lowering a window of an automobile, even during the idle rotation of the motor 10 when a inching operation for raising and lowering the window is performed, information on the rotation of the motor 10 can be acquired with higher reliability.

As described above, the rotation angle detector 100 for acquiring the rotation information of the motor 10 including the commutator 20 includes: a resistance setting unit 37 for setting a resistance value corresponding to the resistance characteristic of the motor 10; and a rotation information calculation unit 36 that calculates information on the rotation of the motor 10 based on the detected voltage value detected by the voltage detection unit 10a, the detected current value detected by the current detection unit 10b, and the set resistance value Rm set by the resistance setting unit 37. The resistance setting unit 37 is configured to derive the estimated resistance value R'm in real time based on the detected voltage value and the detected current value detected in the rotation stable state in which the rotation of the motor 10 is stable, and update the set resistance value Rm in real time using the estimated resistance value R'm. Therefore, even if a rotation sensor such as a hall sensor is not provided, the rotation information of the motor 10 can be acquired with high reliability. This means that components required for utilizing the rotation sensor, such as a sensor interface circuit and a Harness (Harness), can be omitted. Therefore, weight reduction, cost reduction, miniaturization, and the like can be achieved.

The motor with a rotation angle detector includes a motor 10 and a rotation angle detector 100 for detecting a rotation angle of the motor 10. The motor 10 has a commutator 20 formed of a plurality of commutator segments 20 a.

The resistance setting unit 37 is configured to update the set resistance value Rm using the estimated resistance value R'm when the estimated resistance value R'm is within a predetermined range, and to not update the set resistance value Rm when the estimated resistance value R'm is outside the predetermined range, for example. Therefore, it is possible to prevent the set resistance value Rm from being updated according to the estimated resistance value R'm of the abnormality.

The rotation stable state is, for example, a state in which the fluctuation width of the inter-terminal voltage V in a predetermined period is smaller than a predetermined value, the fluctuation width of the current Im in the predetermined period is smaller than a predetermined value, and the fluctuation width of the period of the 1 st pulse signal Pa in the predetermined period is smaller than a predetermined value. The rotation stable state may be another state determined by using at least one of the inter-terminal voltage V, the current Im, and the period of the 1 st pulse signal Pa. For example, the standard deviation of the inter-terminal voltage V in the predetermined period may be smaller than a predetermined value, the standard deviation of the current Im in the predetermined period may be smaller than a predetermined value, and the standard deviation of the period of the 1 st pulse signal Pa in the predetermined period may be smaller than a predetermined value. Alternatively, the integrated value of the inter-terminal voltage V in the predetermined period may be within a predetermined range, and the integrated value of the current Im in the predetermined period may be within the predetermined range. With this configuration, the resistance setting unit 37 can appropriately derive the estimated resistance value R'm.

Preferably, the resistance setting unit 37 is configured to update the set resistance value Rm such that a difference between the updated set resistance value Rm and the estimated resistance value R'm is smaller than a difference between the set resistance value Rm and the estimated resistance value R'm before the update. This is to gradually bring the set resistance value Rm close to the estimated resistance value R'm while preventing a sudden change in the set resistance value Rm.

The rotation angle detector 100 generates a2 nd pulse signal Pb as an example of a2 nd signal using a1 st pulse signal Pa as an example of a1 st signal generated based on the ripple component Ir of the current Im and a rotation angle θ calculated based on the inter-terminal voltage V and the current Im. That is, the 2 nd pulse signal Pb is generated using the 1 st pulse signal Pa and the rotation angle θ, which are 2 parameters derived by different methods. Therefore, even when one parameter cannot be derived properly, the other parameter can compensate for the failure. As a result, the rotation information of the motor 10 can be acquired with higher reliability.

The rotation angle calculation unit 32 is configured to calculate the rotation angle θ by integrating the rotation angular velocity ω of the motor 10 calculated based on the inter-terminal voltage V and the current Im, for example. Therefore, the rotation angle calculation unit 32 can stably and continuously calculate the rotation angle θ over the entire period including the period immediately after the start of the motor 10, the idle rotation period, and the like. The 2 nd signal generating unit 35 is configured to generate the 2 nd pulse signal Pb immediately when the rotation angle θ reaches a predetermined angle, for example. Therefore, even when the 1 st pulse signal Pa is not generated, the 2 nd signal generating unit 35 can generate the 2 nd pulse signal Pb indicating that the pulse signal Pa is rotated by the predetermined angle in real time based on the stably and continuously calculated rotation angle θ. Therefore, the rotation angle detector 100 can calculate the rotation information of the motor 10 without delay.

The 2 nd signal generator 35 is configured to output a command to reset the rotation angle θ to zero to the rotation angle calculator 32, for example, when the rotation angle θ reaches a predetermined angle. Therefore, since the maximum value of the rotation angle θ calculated by the rotation angle calculating unit 32 is limited to a predetermined angle, the rotation angle detector 100 can reduce the size of the memory required for storing the rotation angle θ.

The predetermined angle is, for example, an inter-slit angle θ c, which is a central angle of an arc of the commutator segment 20 a. Therefore, the rotation angle detector 100 can set the maximum value of the accumulated error of the rotation angle θ calculated by the rotation angle calculation unit 32 as the inter-slit angle θ c.

The acceptance range is, for example, a range of a maximum error of the rotation angle θ generated every time the motor 10 rotates the inter-slit angle θ c. That is, when the rotational angular velocity calculation unit 31 calculates the rotational angular velocity ω larger than the actual value, the maximum value of the rotational angle θ (including the error) of the 1 st pulse signal Pa generated based on the actual rotational angle becomes the 2 nd threshold value θ d. When the rotational angular velocity calculation unit 31 calculates the rotational angular velocity ω smaller than the actual value, the minimum value of the rotational angle θ (including the error) of the 1 st pulse signal Pa generated based on the actual rotational angle becomes the 1 st threshold value θ u. Therefore, in the rotation angle detector 100, the error of the rotation angle θ calculated by the rotation angle calculation unit 32 is not accumulated. In other words, the error can be made to be in the range of- α to + β regardless of how the motor 10 rotates.

For example, the 2 nd signal generator 35 is configured to generate the 2 nd pulse signal Pb if the rotation angle θ is equal to or greater than the 1 st threshold θ u when receiving the 1 st pulse signal Pa. The 1 st threshold θ u is set in advance to a value smaller than a predetermined angle (inter-slit angle θ c), for example. According to this configuration, the 2 nd signal generating unit 35 regards the 1 st pulse signal Pa generated when the rotation angle θ is equal to or greater than the 1 st threshold value θ u as not being a signal based on noise. Further, even if the 1 st pulse signal Pa is not generated, the 2 nd pulse signal Pb is generated if the rotation angle θ reaches a predetermined angle (inter-slit angle θ c). Therefore, the influence of the rotation information calculation result due to the leak generation of the 1 st pulse signal Pa can be reliably eliminated.

The 2 nd signal generator 35 is configured not to generate the 2 nd pulse signal Pb if the rotation angle θ is smaller than the 1 st threshold θ u, for example, when receiving the 1 st pulse signal Pa. According to this configuration, the 2 nd signal generator 35 can determine that the 1 st pulse signal Pa generated when the rotation angle θ is smaller than the 1 st threshold value θ u is a signal based on noise. Furthermore, it is possible to prevent the 2 nd pulse signal Pb corresponding to the 1 st pulse signal Pa generated based on the noise from being generated. Therefore, the influence of the 1 st pulse signal Pa generated based on the noise on the calculation result of the rotation information can be reliably eliminated.

Further, for example, the 2 nd signal generator 35 is configured to output a command to reset the rotation angle θ to zero to the rotation angle calculator 32 if the rotation angle θ is smaller than the 2 nd threshold θ d when the 1 st pulse signal Pa is received. The 2 nd threshold θ d is set in advance to a value delayed by β from the predetermined angle (inter-slit angle θ c), for example. According to this configuration, when the 1 st pulse signal Pa is received immediately before the 2 nd pulse signal Pb is generated before the generation of the leak of the 1 st pulse signal Pa, the 2 nd signal generation unit 35 regards the 1 st pulse signal Pa as not being a signal based on noise. The 1 st pulse signal Pa can be associated with the 2 nd pulse signal Pb generated immediately before. Therefore, the influence of the deviation of the generation timing of the 1 st pulse signal Pa on the calculation result of the rotation information can be reliably eliminated.

The preferred embodiments of the present invention have been described in detail. However, the present invention is not limited to the above-described embodiments. Various modifications and substitutions may be made to the above-described embodiments without departing from the scope of the present invention.

The present application claims priority based on the japanese patent application No. 2017-092603, filed on 8/5/2017, the entire contents of which are incorporated herein by reference.

Description of reference numerals

10 … electric motor; 10a … voltage detection unit; 10b … current detection part; 20 … a commutator; 20a … commutator segment; 20s … slits; 30 … voltage filter part; 31 … rotational angular velocity calculating unit; a 32 … rotation angle calculating unit; 33 … current filtering part; 34 … 1 st signal generating part; 35 … 2 nd signal generating part; 36 … a rotation information calculating section; 37 … resistance setting unit; 100 … rotation angle detector; SW 1-SW 4 … switches.

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于调节电机的方法、用于电机的调节设备和电驱动系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!