Rotation angle detection method, rotation angle detection program, and rotation angle detection device

The method measures motor current during inertial rotation to accurately determine rotation angles, addressing the issue of temperature-induced inertia changes in conventional detection systems.

JP7864959B2Active Publication Date: 2026-05-26ALPS ALPINE CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
ALPS ALPINE CO LTD
Filing Date
2022-05-31
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Conventional window position detection devices fail to accurately compensate for changes in the rotation angle of motors due to inertia caused by temperature variations, leading to incorrect detection of motor rotation angles.

Method used

A method that measures current flowing through an electric motor and determines rotation angle based on current values during inertial rotation, using the time from current polarity reversal and zero crossing to calculate the rotation angle.

Benefits of technology

Accurately detects motor rotation angles even when changes occur due to inertia from temperature variations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007864959000023
    Figure 0007864959000023
  • Figure 0007864959000024
    Figure 0007864959000024
  • Figure 0007864959000025
    Figure 0007864959000025
Patent Text Reader

Abstract

To provide a rotation angle detection method, a rotation angle detection program, and a rotation angle detection device capable of accurately detecting a rotation angle of a motor even when the rotation angle of the motor changes by inertial rotation caused by change in easiness of rotation of the motor due to change in temperature.SOLUTION: A rotation angle detection method includes: current measurement processing of measuring a current flowing through an electric motor; and rotation angle detection processing of obtaining a rotation angle of the electric motor based on a current value measured by the current measurement processing. In the rotation angle detection processing, a rotation angle in inertial rotation is obtained based on a rotation angular velocity of the electric motor immediately before a time point at which driving of the electric motor is stopped, time from a time point at which driving of the electric motor is stopped to a time point at which a polarity of a current value measured by the current measurement processing is reversed, and time from a time point at which the polarity of the current value measured by the current measurement processing is inverted to a time point at which the current value measured by the current measurement processing becomes zero.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a rotation angle detection method, a rotation angle detection program, and a rotation angle detection device.

Background Art

[0002] Conventionally, there is a window position detection device including: an operation switch for opening and closing a motor for a power window that moves a window of a vehicle between a fully closed position and a fully open position; a calculation means for calculating a rotation amount of the motor based on a ripple number of a drive current from a power source to the motor based on an opening and closing operation of the operation switch; a counting means for counting a stop number of the motor based on a stop operation of the operation switch while the window is moving in a closing direction and an opening direction between the fully open position and the fully closed position; and a storage means for storing a correction amount preset based on a rotation amount of the motor due to an inertial force when the motor stops based on the stop operation of the operation switch. The window position detection device includes: an estimation means for deriving an estimated position of the window based on the rotation amount of the motor calculated by the calculation means, the stop number, and the correction amount; a detection means for detecting that the window moved by the motor has reached the fully closed position or the fully open position; and a correction means for rewriting and correcting the correction amount based on an error amount of the estimated position of the window derived by the estimation means when it is detected by the detection means that the window has reached the fully closed position or the fully open position, and the stop number (see, for example, Patent Document 1).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Incidentally, while conventional window position detection devices can compensate for changes in the amount of rotation due to inertia when the motor stops due to aging (the rotation angle of the motor due to inertia), they cannot compensate for changes in the rotation angle of the motor due to inertia caused by, for example, changes in the ease of opening and closing the window due to temperature differences. When the temperature of a battery drops, its internal resistance increases and the output voltage decreases. When the motor's drive voltage is low, the rotation speed slows down, and the rotation angle of the motor during the inertia period becomes smaller. For this reason, the rotation angle of the motor due to inertia cannot be detected correctly. Furthermore, similar problems can occur when driving items other than power windows (vehicle windows) with a motor.

[0005] Therefore, the objective is to provide a rotation angle detection method, a rotation angle detection program, and a rotation angle detection device that can accurately detect the rotation angle of a motor even when the rotation angle of the motor changes due to inertia caused by a change in the motor's rotational speed due to temperature changes. [Means for solving the problem]

[0006] The rotation angle detection method of the embodiment of the present disclosure includes a current measurement process for measuring the current flowing through an electric motor, and a rotation angle detection process for determining the rotation angle of the electric motor based on the current value measured by the current measurement process, wherein the rotation angle during the inertial rotation of the electric motor is determined based on the rotational angular velocity at the time when the drive of the electric motor is stopped, the time from the time when the drive of the electric motor is stopped until the time when the polarity of the current value measured by the current measurement process reverses, and the time from the time when the polarity of the current value measured by the current measurement process reverses until the time when the current value measured by the current measurement process becomes zero. [Effects of the Invention]

[0007] A rotation angle detection method, rotation angle detection program, and rotation angle detection device can be provided that can accurately detect the rotation angle of a motor even when the rotation angle of the motor changes due to inertial rotation caused by changes in the ease of rotation of the motor due to temperature changes. [Brief explanation of the drawing]

[0008] [Figure 1] This figure shows the rotation angle detection device 100 according to the embodiment. [Figure 2] This diagram shows the connection status between the DC motor 10 and the drive circuit 20. [Figure 3] This figure shows the time changes of current i and angular velocity ω before and after stopping the DC motor 10. [Figure 4] This figure shows the angular velocity ω and current i of the DC motor 10 when the DC motor 10 rotates by inertia for a long period of time. [Figure 5] This figure shows the angular velocity ω and current i of the DC motor 10 when the period of inertial rotation of the DC motor 10 is short. [Figure 6] This diagram shows a flowchart illustrating the process by which the rotation angle detection unit 133B detects the rotation angle. [Modes for carrying out the invention]

[0009] The following describes embodiments to which the rotation angle detection method, rotation angle detection program, and rotation angle detection device of this disclosure are applied.

[0010] <Embodiment> Figure 1 shows a rotation angle detection device 100 according to an embodiment. The motor whose rotation angle is detected by the rotation angle detection device 100 is not limited to the motor that drives the vehicle's power window, but here, as an example, a configuration in which the rotation angle detection device 100 of the embodiment is used as a rotation angle detection device for the motor of a power window will be described.

[0011] Figure 1 shows the rotation angle detection device 100, as well as a DC (Direct Current) motor 10, a resistor 15, a drive circuit 20, a DC power supply 30, a power window 50, and a drive mechanism 51.

[0012] The DC motor 10 has terminals 11 and 12 and is driven by a drive circuit 20 connected to terminals 11 and 12. A resistor 15 is connected to terminal 12 of the DC motor 10 and is used to detect the current of the DC motor 10. The drive circuit 20 drives the DC motor 10 with DC power supplied from a DC power supply 30. The drive circuit 20 drives the DC motor 10 by being controlled by a drive control unit (not shown), but the drive control unit is omitted here.

[0013] The power window 50 is a power window of a vehicle, and is a window pane that is opened and closed by a driving force transmitted from the rotor of the DC motor 10 via the drive mechanism 51. The drive mechanism 51 is a mechanical mechanism such as a rack and pinion or slider crank that is installed inside the door panel of the vehicle and converts the rotational force of the rotor of the DC motor 10 into vertical driving force for the power window 50.

[0014] The rotation angle detection device 100 includes a filter circuit 110, an IC (Integrated Circuit) chip 120, and a microcomputer 130.

[0015] The filter circuit 110 includes LPFs (Low Pass Filters) 111 and 112. The voltage between terminals 11 and 12 of the DC motor 10 is input to LPF 111, and high-frequency noise and other impurities contained in the voltage are removed before outputting to the microcomputer 130. The voltage across the ends of resistor 15 is input to LPF 112 as a voltage representing the current of the DC motor 10, and high-frequency noise and other impurities contained in the voltage are removed before outputting to the microcomputer 130.

[0016] The IC chip 120 has a BPF (Band Pass Filter) 121 and a ripple detection unit 122. Each time the rotor of the DC motor 10 rotates by a certain angle, a ripple occurs in the current flowing through the DC motor 10. The voltage across both ends of the resistor 15 is input to the BPF 121 as the voltage representing the current of the DC motor 10, and high-frequency noise, low-frequency noise, etc. contained in the voltage are removed and output to the ripple detection unit 122. The ripple detection unit 122 is an example of a ripple detection processing unit, performs a ripple detection process to detect the ripple contained in the data representing the current input from the BPF 121, converts it into a pulse, and outputs it to the microcomputer 130.

[0017] The microcomputer 130 has A / D (Analog to Digital) converters 131, 132, and a processing unit 133. The microcomputer 130 is realized by a computer including a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), an input / output interface, and an internal bus, etc. The processing unit 133 shows the functions (functions) of the programs executed by the microcomputer 130 as functional blocks.

[0018] The A / D converter 131 converts the output of the LPF 111 into a digital signal and outputs it to the processing unit 133. The A / D converter 131 is an example of a voltage measurement processing unit, and performs a voltage measurement process to measure the voltage of the signal output by the LPF 111. The output of the LPF 111 is the moving average of the voltage of the DC motor 10. The output of the A / D converter 131 is digital data representing the average voltage value of the DC motor 10.

[0019] The A / D converter 132 converts the output of the LPF 112 into a digital signal and outputs it to the processing unit 133. The output of the LPF 112 is the moving average of the current of the DC motor 10. The output of the A / D converter 132 is digital data representing the average current value of the DC motor 10.

[0020] The processing unit 133 includes a current measurement unit 133A, a rotation angle detection unit 133B, and a memory 133C. The current measurement unit 133A and the rotation angle detection unit 133B represent the functions of the program executed by the microcomputer 130 as functional blocks. The memory 133C represents the memory of the microcomputer 130 as a functional block.

[0021] Based on the output of the A / D converter 132, the current measurement unit 133A performs a current measurement process to measure the current flowing through the DC motor 10. The current measurement unit 133A outputs data representing the measured current value to the rotation angle detection unit 133B.

[0022] Based on the output (voltage value) of the A / D converter 131, the output (current value) of the current measurement unit 133A, and the pulse input from the ripple detection unit 122, the rotation angle detection unit 133B performs a rotation angle detection process to obtain the rotation angle during the coasting rotation period of the DC motor 10. The coasting rotation of the DC motor 10 means that from the state where a voltage is applied to the DC motor 10 from the drive circuit 20 (power is supplied) and the DC motor 10 is driven, the application of the voltage is cut off, and the rotor of the DC motor 10 rotates inertially due to inertia. The DC motor 10 performs coasting rotation when a drive control unit (not shown) controls the drive circuit 20 to cut off the voltage applied to the DC motor 10 from the drive circuit 20.

[0023] The rotation angle detection unit 133B calculates the rotation angle of the DC motor 10 based on the ripple number detected by the ripple detection unit 122 while a drive voltage is applied to the DC motor 10, and corrects the ripple number detected by the ripple detection unit 122 based on the current value measured by the current measurement unit 133A and the voltage value output from the LPF 111 and output from the A / D converter 131. While a drive voltage is applied to the DC motor 10, it is not rotating by inertia, but rather the DC motor 10 is being driven by the drive voltage. Since the power supplied to the DC motor 10 can be determined from the current value and the voltage value, the rotation angle of the DC motor 10 can be calculated by using both the ripple number and the power. The rotation angle detection unit 133B monitors whether a ripple number corresponding to the power is obtained based on the power supplied to the DC motor 10. If noise or other factors cause ripple detection to be missed or ripple to be falsely detected, the rotation angle detection unit 133B will find that the rotation angle of the DC motor 10 calculated based on power does not match the rotation angle of the DC motor 10 calculated based on the ripple count. If the rotation angle detection unit 133B finds that the rotation angle of the DC motor 10 calculated based on power does not match the rotation angle of the DC motor 10 calculated based on the ripple count, it corrects the ripple count before calculating the rotation angle of the DC motor 10.

[0024] The rotation angle detection unit 133B determines the rotation angle of the rotor of the DC motor 10 during the period of inertial rotation of the DC motor 10. In this specification, the rotation angle of the rotor of the DC motor 10 is referred to as the rotation angle of the DC motor 10. The specific method for determining the rotation angle will be described later with reference to Figures 2 to 6.

[0025] Memory 133C stores programs and data used by the current measurement unit 133A and the rotation angle detection unit 133B when they perform processing, the output (voltage value) of the A / D converter 131, the output (current value) of the current measurement unit 133A, and pulse data input from the ripple detection unit 122.

[0026] Next, the connection state between the DC motor 10 and the drive circuit 20 will be explained using Figure 2. Figure 2 is a diagram showing the connection state between the DC motor 10 and the drive circuit 20. The drive circuit 20 has two switches 21 and 22. Figure 2(A) shows the connection state of the drive circuit 20 that drives the DC motor 10.

[0027] To drive the DC motor 10, switches 21 and 22 are switched to connect the DC motor 10 to the DC power supply 30. Figure 2(B) shows the state in which one terminal of the DC motor 10 is open. To stop the DC motor 10 from driving, the state in Figure 2(B) is maintained for a short time, and then the state in Figure 2(C) is maintained. Figure 2(C) shows the connection state of the drive circuit 20 that brakes the DC motor 10. To stop the DC motor 10 from driving, switch 21 is switched so that the DC power supply 30 is not applied to both ends of the DC motor 10. As an example, when the DC motor 10 is stopped, both terminals of the DC motor 10 are connected to the negative terminals of the DC power supply 30. This is a state in which both ends of the DC motor 10 are short-circuited. When both ends of the DC motor 10 are short-circuited, the back electromotive force generated by the rotation of the DC motor 10 is consumed by the resistor 15 connected to the DC motor 10, and the DC motor is braked.

[0028] By the way, the time from when voltage is applied from the drive circuit 20 to the DC motor 10 and the DC motor 10 is driven until the drive of the DC motor 10 stops and the rotor stops rotating varies depending on the situation.

[0029] For example, when the temperature of the DC motor 10 is low (e.g., below -30°C), the voltage of the DC power supply 30 decreases, and the rotation speed of the DC motor 10 slows down. When the rotation speed of the DC motor 10 is slow, the time from when the ends of the DC motor 10 are short-circuited until the DC motor stops becomes shorter.

[0030] On the one hand, when the temperature of the DC motor 10 is high and the voltage applied from the drive circuit 20 to the DC motor 10 is sufficiently large, the rotation speed of the DC motor 10 increases. When the rotation speed of the DC motor 10 is high, the time from when the drive of the DC motor 10 stops until the rotor stops becomes long.

[0031] If the time from when the drive of the DC motor 10 stops until the rotor stops is short, the calculation accuracy of the time constant indicating the deceleration state of the rotor decreases. Therefore, the rotation angle detection device 100 selectively uses calculation methods for the rotation angle during the coasting rotation of the DC motor 10 depending on whether the time during which the rotor of the DC motor 10 coasts is long or short. Whether the time during which the rotor of the DC motor 10 coasts is long or short is determined by whether the period Tatt from when the current flowing through the DC motor 10 reverses until the current flowing through the DC motor 10 becomes zero is shorter than a predetermined time threshold value. This process will be described later.

[0032] <Calculation method for the rotation angle when the rotor of the DC motor 10 coasts for a long time> The circuit equations that hold for the DC motor 10 according to the theory of DC motors will be described. According to the theory of DC motors for the DC motor 10, the following equations (1) and (2) hold. L is the inductance of the DC motor 10, R is the resistance of the DC motor 10, J is the inertia of the rotor of the DC motor 10, Ke is the back electromotive force constant of the DC motor 10, Kt is the torque constant of the DC motor 10, Kv is the viscous friction coefficient of the DC motor 10, F is the load of the DC motor 10, u is the drive voltage applied from the drive circuit 20 to the DC motor 10, and i is the current flowing through the DC motor 10 measured by the current measurement unit 133A in FIG. 1. The current i is a current value obtained by the current measurement unit 133A measuring the output of the A / D converter 132, and represents a current waveform when arranged in time series.

[0033]

Equation

[0034]

number

[0035] To stop the DC motor 10, first, the switch 21 of the drive circuit 20 is opened, as shown in Figure 2(B). Next, the switch 21 of the drive circuit 20 is switched to the installed position, as shown in Figure 2(C). Therefore, when a command to stop the DC motor 10 is issued, it rotates at approximately the same speed for a while before decelerating. Also, assuming that the change in current i (di / dt) is zero when the energy discharge of the inductance L is complete, a proportional relationship expressed in equation (3) holds between the current i and the angular velocity (rotational angular velocity) ω of the DC motor 10, according to equation (1). The angular velocity ω is the angular velocity of the rotor of the DC motor 10.

[0036]

number

[0037] Substituting equation (3) into equation (2), and assuming that the load F is zero when terminals 11 and 12 of the DC motor 10 are short-circuited, the differential equation can be solved and the angular velocity can be expressed by the following equation (4). Here, ω0 is the angular velocity when the DC motor 10 starts to rotate by inertia, and τ is the time constant for the decay of the angular velocity ω of the DC motor 10.

[0038]

number

[0039] Furthermore, the time constant τ for the damping of the angular velocity ω of the DC motor 10 can be expressed by the following equation (5).

[0040]

number

[0041] As can be seen from equation (5), the time constant τ is affected by the variation of many parameters. Incidentally, as can be seen from equations (3) and (4), the angular velocity ω of the DC motor 10's inertial rotation decays in an exponential curve, and the current i also decays in the same exponential curve. That is, the time constant of the decay of the current i of the DC motor 10 is equal to the time constant τ of the decay of the angular velocity of the DC motor 10.

[0042] Figure 3 shows the time evolution of current i and angular velocity ω before and after braking the DC motor 10. The angular velocity in Figure 3 was determined using a sensor that measures the rotation angle of the rotor of the DC motor 10. In the actual product, a sensor that measures the rotation angle of the rotor is not provided. In the actual product, only the current i is measured and the rotation angle of the rotor of the DC motor 10 is calculated. Figure 3(A) shows the time evolution of current i and angular velocity ω before and after braking the DC motor 10. When the DC motor 10 is braked, it rotates by inertia, the angular velocity ω decays in an exponential curve, and after a certain period of time, the current i also decays in the same exponential curve. Since the current i flows as a current due to back electromotive force, the direction of current i reverses, and after reaching a peak, the current i and angular velocity ω decay in a similar exponential curve. The current due to back electromotive force is a reverse current that flows in the opposite direction to the current that flows when the DC motor 10 is driven.

[0043] Here, if the waveform of current i in Figure 3(A) is multiplied by -K and superimposed on the angular velocity ω, then, as shown in Figure 3(B), the current i will overlap with the angular velocity ω during the inertial rotation period. The time constant for the decay of current i in the DC motor 10 is equal to the time constant τ for the decay of the angular velocity of the DC motor 10. Therefore, the rotation angle detection device 100 uses the time constant τ for the decay of current i in the DC motor 10 instead of the time constant τ for the decay of the angular velocity of the DC motor 10 to determine the angular velocity ω from the current i, and detects the rotation angle of the DC motor 10 during the inertial rotation period based on the determined angular velocity ω. In other words, the rotation angle detection device 100 detects the rotation angle of the DC motor 10 during the inertial rotation period by estimating and using the time constant τ for the decay of current i, which is determined based on the current i during the inertial rotation period of the DC motor 10, as the time constant τ for the decay of the angular velocity during the inertial rotation period of the DC motor 10.

[0044] Next, a method for detecting the angular velocity ω based on the current i of the DC motor 10 will be explained using Figure 4. Figure 4 shows the angular velocity ω and current i of the DC motor 10 when the DC motor 10 rotates by inertia for a long period of time. Figure 4 shows an enlarged view of the period of inertia rotation in Figure 3(B). That is, the current i shown in Figure 4 is represented by a waveform obtained by multiplying the waveform of the current i in Figure 3(A) by -K. Note that the case where the DC motor 10 rotates by inertia for a long period of time is when the period Tatt, from when the current flowing through the DC motor 10 reverses until the current flowing through the DC motor 10 becomes zero, is greater than or equal to a predetermined time threshold.

[0045] In the following section, we will explain how to calculate the current integral value, etc., using the waveform of current i multiplied by -K to superimpose it with the waveform of angular velocity ω, as shown in Figure 4. However, in actual calculations, it is not necessary to multiply current i by -K. Therefore, in explaining the calculation method, we will use current i as is.

[0046] In Figure 4, time t0 is the point in time when a command is issued to brake the DC motor 10. From time t0, the DC motor 10 begins to rotate by inertia. The angular velocity ω0 at time t0 is the angular velocity of the DC motor 10 while it is in motion. The angular velocity ω0 can be calculated based on the pulses input from the ripple detection unit 122. When a command is issued to brake the DC motor 10, the drive circuit 20 initially enters the connection state shown in Figure 2(B).

[0047] Here, we will explain using the period from time t0, when the DC motor 10 begins to rotate by inertia, to time tend, when the current i in the DC motor 10 becomes zero. Since the rotation of the DC motor 10 is considered to stop when the current i becomes zero, the angular velocity ωend of the DC motor 10 at time tend is considered to be zero.

[0048] Time point t1 is the point at which the polarity of current i reverses. Time point t1 is the point at which the value of the current -K multiplied by -K, as shown in Figure 4, reverses from negative to positive (the polarity reverses), and the point at which the actual value of current i reverses from positive to negative (the polarity reverses). Therefore, the current value i1 at time point t1 is zero.

[0049] Shortly after a command to brake the DC motor 10 is issued, the drive circuit 20 switches to the connection state shown in Figure 2(C). When the drive circuit 20 is in the connection state shown in Figure 2(C), a current flows in the opposite direction to when the DC motor 10 is being driven by the back electromotive force. Time t1 is the point in time when the polarity of the current i is reversed due to the reverse current caused by the back electromotive force. Also, the angular velocity ω1 at time t1 is treated as being equal to the angular velocity ω0. From the time the command to brake the DC motor 10 until time t1 when the back electromotive force is generated, there is almost no braking due to the back electromotive force being consumed by the resistor.

[0050] Time t2 is the point in time when the current -Ki takes its maximum value (the current i takes its peak value). In other words, time t2 is the point in time when the absolute value of the actual current i takes its peak value. To put it another way, time t2 is the point in time when the actual current i takes its minimum value. In Figure 4, the current i shows its maximum value at t2, but because Figure 4 is a graph with the sign of the current reversed, the current i is at its minimum value at time t2. The current value i2 at time t2 is the actual minimum value of the current i and the peak value of its absolute value. Since the current i fluctuates, the rotation angle detection unit 133B should determine that the absolute value of the current i has taken its peak value when the current i measured by the current measurement unit 133A falls within a predetermined range. The angular velocity ω2 at time t2 is attenuated compared to the angular velocity ω1 at time t1. This is because there is a brake caused by the current i in the opposite direction.

[0051] Time point t3 is the time point after a predetermined time ΔT has elapsed from time point t2. The predetermined time ΔT is the time (period) that is considered to be required from the time when the current -Ki takes its maximum value until the fluctuation range of the current -Ki value settles down to a certain extent. In terms of the actual current i, the predetermined time ΔT is the time (period) that is considered to be required from the time when the absolute value of the current i takes its peak value until the fluctuation range of the current i value settles down to a certain extent. As an example, the predetermined time ΔT is about 1 / 10 of the time required from time point t2 to time point tend when the current i becomes zero. The data representing the predetermined time ΔT can be stored in memory 133C in advance.

[0052] As mentioned above, after a certain period of time has elapsed since the start of inertial rotation, the current i decays in the same exponential curve as the angular velocity ω. Therefore, from equation (4), the current i after time t3 can be expressed by the following equation (6) using the current value i3 at time t3.

[0053]

number

[0054] Furthermore, let t4 be a point in time between time t3 in Figure 4 and time tend, when the current i becomes zero. Also, let Si3 be the integral of current i from time t3 to time t4, and let Si4 be the integral of current i from time t4 to time tend.

[0055] The rotation angle detection unit 133B determines the current integral value Si3+Si4 of the current i from time t3 through time t4 to time tend, and the current integral value Si4 of the current i from time t4 to time tend. The current integral value Si3+Si4 is an example of the first current integral value, and the current integral value Si4 is an example of the second current integral value.

[0056] The integral values ​​of current Si3 + Si4 and Si4 can be calculated using equations (7) and (8), respectively.

[0057]

number

[0058]

number

[0059] The integral processing of current i, realized by equations (7) and (8), produces a filtering effect equivalent to filtering, thus removing the ripple component contained in current i.

[0060] Time point t4 can be expressed by the following equation (9). In equation (9), Kr is an adjustment coefficient less than 1 (Kr < 1).

[0061]

number

[0062] Time point t4 can be any time between time point t3 and time point tend. However, for the sake of the calculations using the current integral values ​​Si3 and Si4 described later, it is preferable that there be a certain period of time before time point tend so that the current integral value Si4 does not become too small, and that the current integral values ​​Si3 and Si4 are not equal.

[0063] The time constant τ for the decay of current i in the DC motor 10 can be determined from equations (7) and (8) as shown in equation (10). Since the time constant τ for the decay of current i in the DC motor 10 is equal to the time constant for the decay of angular velocity in the DC motor 10, it can be determined in place of the time constant for the decay of angular velocity in the DC motor 10.

[0064]

number

[0065] The natural logarithm in equation (10) involves a division operation (Si3 + Si4) / Si4, which cancels out errors in circuits such as the LPF112 and A / D converter 132. Therefore, using equation (10) has the effect of reducing current measurement errors.

[0066] Furthermore, the time constant τ of the decay of the current i of the DC motor 10 can be obtained directly from equation (7) as shown in equation (11) instead of equation (10).

[0067]

number

[0068] Calculating the time constant τ using equation (11) is simpler and requires fewer calculations than calculating it using equation (10). However, because it utilizes the current i3, it is more susceptible to ripple components and measurement errors than the time constant τ calculated using equation (10). Therefore, the choice between using equation (10) and equation (11) should be determined based on the application of the rotation angle detection device 100.

[0069] From the time t0 when a command to brake the DC motor 10 is issued until time t1, the drive circuit 20 is in the connection state shown in Figure 2(B). In the state shown in Figure 2(B), one end of the switch 21 is not electrically connected to anything, and both ends of the DC motor 10 are open. While both ends of the DC motor 10 are open, the DC motor 10 rotates at approximately the same speed as when it is driven. The rotation angle of the DC motor 10 can be determined as follows.

[0070] Here, the period (time) from time t0, when the power is turned off (the drive of the DC motor 10 is stopped), to time tend is calculated by dividing it into periods Tcon and Tatt. Period Tcon is the period from time t0 to time t1. That is, Tcon = t1 - t0. Period Tatt is the period from time t1 to time tend. That is, Tatt = tend - t1.

[0071] During period Tcon, there is almost no braking force on the rotor of the DC motor 10 due to the current i generated by the back electromotive force. Therefore, the average angular velocity ω of the DC motor 10 during period Tcon is equivalent to the angular velocity ω0 while the DC motor 10 is running, and the DC motor 10 can be considered to be rotating at a constant speed. The angular velocity ω0 can be calculated based on the pulses input from the ripple detection unit 122 while the DC motor 10 is running. The rotation angle θ1 of the DC motor 10 during period Tcon can be determined by the following equation (12).

[0072]

number

[0073] Furthermore, during the Tatt period, the drive circuit 20 is connected as shown in Figure 2(C), and the angular velocity of the DC motor 10 is reduced. The angular velocity ω1 at time t1, which is the starting point of the Tatt period, is approximately equal to the angular velocity ω0 up to just before time t1. Therefore, the rotation angle θ2 at which the DC motor 10 rotates during the Tatt period can be determined from equation (4) by the following equation (13).

[0074]

number

[0075] Based on the above, the rotation angle θ of the DC motor 10 during the period from the time t0 when the drive circuit 20 is given a braking command to the DC motor 10 until the time tend when the current i becomes zero can be calculated as the sum of the rotation angle θ1 during period Tcon and the rotation angle θ2 during period Tatt, using the following equation (14).

[0076]

number

[0077] Thus, when the rotor of the DC motor 10 rotates inertially for a long time, the rotation angle θ during the period in which the DC motor 10 rotates inertially can be obtained. Next, a method for calculating the rotation angle when the period during which the rotor of the DC motor 10 rotates inertially is short will be described.

[0078] <Calculation method for the rotation angle when the period during which the rotor of the DC motor 10 rotates inertially is short> When the period during which the rotor of the DC motor 10 rotates inertially is short, the temperature of the DC motor 10 is low (for example, -30°C or lower), and the voltage applied to the DC motor 10 is low. In such a state, the period Tatt from when the current flowing through the DC motor 10 reverses until the current flowing through the DC motor 10 becomes zero is shorter than a predetermined time threshold Tth. When the period Tatt is shorter than the predetermined time threshold Tth, the rotation angle detection unit 133B obtains the rotation angle θ of the DC motor 10 as follows.

[0079] FIG. 5 is a diagram showing the angular velocity ω and the current i of the DC motor 10 when the period during which the DC motor 10 rotates inertially is short. When the period during which the rotor of the DC motor 10 rotates inertially is short as shown in FIG. 5, the period Tatt from the time point t1 when the polarity of the current i reverses until the time point tend when the current i of the DC motor 10 becomes zero becomes shorter. Therefore, in the above formula (14), the rotation angle θ of the DC motor 10 cannot be accurately obtained. When the period Tatt is short, if the time constant τ of the decay of the current i of the DC motor 10 is obtained according to the above formula (10), the error with respect to the measured value becomes large, and the time constant τ cannot be accurately obtained. Thus, the rotation angle θ cannot be accurately obtained.

[0080] Here, since the rotation angle θ of the DC motor 10 is the value obtained by integrating the angular velocity ω shown in FIG. 5, even when the period Tatt is shorter than the predetermined time threshold Tth, the rotation angle θ of the DC motor 10 is the area Sω surrounded by the angular velocity ω and the horizontal axis during the period Tatt shown in FIG. 5.

[0081] Here, the area Sω can be considered as a part of the area of ​​the triangle shown by the dashed line, where the length in the time direction is the period Tatt and the height is the angular velocity ω1 at time t1. It is thought that the area Sω can be approximately calculated by multiplying it by a predetermined coefficient.

[0082] If the predetermined coefficient is C, the rotation angle θatt of the DC motor 10 during the period Tatt, when the period Tatt is shorter than a predetermined time threshold Tth, can be expressed by the following equation (15).

[0083]

number

[0084] Here, if we redefine 0.5 × C as the predetermined coefficient, the predetermined coefficient C will be a coefficient of 0.5 or less, and equation (15) becomes equation (16).

[0085]

number

[0086] Furthermore, the rotation angle θ of the DC motor 10 during the period (Tcon + Tatt) from time t0 when a command to brake the DC motor 10 is issued until time tend when the current i becomes zero can be calculated as the sum of the rotation angle θcon during period Tcon and the rotation angle θatt during period Tatt, using the following equation (17).

[0087]

number

[0088] Here, the rotation angle of the DC motor 10 during the period Tatt can be expressed as shown in equation (18) below by determining a predetermined coefficient C from θatt.

[0089]

number

[0090] As an example, by setting the temperature of the DC motor 10 to multiple temperatures within the range of -30°C to 0°C (above -30°C and below 0°C) and setting the drive voltage of the DC motor 10 to multiple voltage values, the value of the predetermined coefficient C was determined, and it was confirmed that equation (16) holds true.

[0091] The value of the predetermined coefficient C is, for example, 0.36, and can take values ​​of 0.1 ≤ C ≤ 0.5 depending on the type of DC motor 10, the type of weatherstrip of the power window 50, and the type of drive mechanism 51, etc.

[0092] From the above, it was found that if the period during which the rotor of the DC motor 10 rotates by inertia is short, and the period Tatt is shorter than a predetermined time threshold Tth, the rotation angle θ of the DC motor 10 can be determined according to equation (17).

[0093] <Flowchart> Here, the process by which the rotation angle detection unit 133B detects the rotation angle will be explained using Figure 6. Figure 6 is a flowchart showing the process by which the rotation angle detection unit 133B detects the rotation angle. The process shown in Figure 6 is realized by the processing unit 133 executing the rotation angle detection program of the embodiment, and is realized by the rotation angle detection method of the embodiment. More specifically, as a prerequisite, the current measurement unit 133A performs a current measurement process to measure the current i of the DC motor 10, and the rotation angle detection unit 133B performs the rotation angle detection process shown below.

[0094] When a command to brake the DC motor 10 is executed, the rotation angle detection unit 133B starts the process shown in Figure 6. The rotation angle detection unit 133B can define t0 as the time when the drive control unit (not shown) outputs a control command to the drive circuit 20 to brake the DC motor 10. Alternatively, the rotation angle detection unit 133B may determine that the drive of the DC motor 10 has stopped when the voltage value of the DC motor 10 input from the A / D converter 131 becomes zero (or close to a predetermined value or less). The rotation angle detection unit 133B can define t1 as the time when the polarity of the current i of the DC motor 10, measured by the current measurement unit 133A, reverses. Whether the current i of the DC motor 10 has become zero can be determined by whether the current i of the DC motor 10, measured by the current measurement unit 133A, has become zero. The rotation angle detection unit 133B should define the end of the rotation as the point in time when the current i of the DC motor 10, measured by the current measurement unit 133A, becomes zero.

[0095] The rotation angle detection unit 133B calculates the angular velocity ω0 of the DC motor 10 immediately before it stops running, based on the pulse converted by the ripple detection unit 122 just before the DC motor 10 stops running (step S1).

[0096] The rotation angle detection unit 133B records the current i measured by the current measurement unit 133A and the time (time) in the memory 133C from time t0 until the current i becomes zero (until time tend) (step S2). As a specific example, for each operation of a periodic task (a task that is started at regular intervals using the timer of the microcomputer 130, etc.), the rotation angle detection unit 133B sequentially records the elapsed time from time t0 and the current value at that time as a pair in the memory 133C. In step S2, time t1 when the polarity of the current i reverses and time t2 when the current i reaches its peak are also recorded. As a specific example, the rotation angle detection unit 133B sequentially checks the pair data of elapsed time and current value recorded in the memory 133C from time t0, and records the elapsed time at the time when the current value becomes zero or the polarity of the current value reverses as t1 in the memory 133C. Furthermore, the rotation angle detection unit 133B records the elapsed time corresponding to the smallest current value among all the current values ​​in the total data as t2 in the memory 133C.

[0097] The rotation angle detection unit 133B determines whether the current i of the DC motor 10 has become zero (step S3). If the current i is not zero, recording continues in step S2.

[0098] The rotation angle detection unit 133B calculates the period Tatt (step S4) when the current i of the DC motor 10 becomes zero (Yes in step S3). The rotation angle detection unit 133B only needs to calculate Tatt as the period from time t1 to time tend.

[0099] The rotation angle detection unit 133B determines whether the period Tatt is less than a predetermined time threshold Tth (step S5). If the period Tatt is greater than or equal to the predetermined time threshold Tth, it is appropriate to calculate the rotation angle θ based on equation (14), and if the period Tatt is less than the predetermined time threshold Tth, it is appropriate to calculate the rotation angle θ based on equation (17), so the unit determines which is the case.

[0100] When the rotation angle detection unit 133B determines that the period Tatt is less than a predetermined time threshold Tth (S5: YES), it calculates the rotation angle θ based on equation (17) (step S6).

[0101] <Calculation process for rotation angle θ based on equation (17)> In step S6, the rotation angle detection unit 133B calculates the period from time t0 to time t1 as Tcon, and the period from time t1 to time tend as Tatt. The rotation angle detection unit 133B also calculates the angular velocity ω0 in step S1, which will be described later. Then, the rotation angle detection unit 133B can calculate the rotation angle θ by substituting the angular velocity ω0, the period Tcon, and the period Tatt into equation (17).

[0102] On the other hand, if the rotation angle detection unit 133B determines in step S5 that the period Tatt is not less than a predetermined time threshold Tth (S5: NO), it proceeds to step S7.

[0103] The rotation angle detection unit 133B calculates time t4 using equation (9), and also determines the current integral value Si3+Si4 and the current integral value Si4 based on the following equations (7) and (8) (step S7). Time t3 is obtained by adding a predetermined time ΔT to time t2. The rotation angle detection unit 133B stores time t3, time t4, current integral value Si3+Si4, and current integral value Si4 in the memory 133C.

[0104] The rotation angle detection unit 133B determines the time constant τ of the decay of the current i of the DC motor 10 based on equation (10) (step S8). Alternatively, the rotation angle detection unit 133B may determine the time point τ using equation (11). Furthermore, the rotation angle detection unit 133B can retrieve the current i3 used in equation (11) from the memory 133C as the current i3 at time point t3.

[0105] The rotation angle detection unit 133B determines the rotation angle θ of the DC motor 10 during the period from the time t0 when the power to the DC motor 10 is turned off to the time tend when the current i becomes zero, based on equation (14) (step S9). In step S5 shown in Figure 6, if the rotation angle detection unit 133B determines that the period Tatt is not less than a predetermined time threshold Tth (S5:NO), it outputs the rotation angle θ calculated in step S9 based on equation (14) as the result calculated in step S4B of Figure 6. This completes the series of processes (end).

[0106] <Effects> As described above, the rotation angle detection method of the embodiment is a rotation angle detection method that includes a current measurement process for measuring the current flowing through the DC motor 10, and a rotation angle detection process for determining the rotation angle θ of the DC motor 10 based on the current value measured by the current measurement process. In the rotation angle detection process, the rotation angle θ during inertial rotation is determined based on the angular velocity ω0 of the DC motor 10 immediately before the time t0 when the drive of the DC motor 10 is stopped, the period Tcon from the time t0 when the drive of the DC motor 10 is stopped until the time t1 when the polarity of the current value measured by the current measurement process reverses, and the period Tatt from the time t1 when the polarity of the current value measured by the current measurement process reverses until the time tend when the current value measured by the current measurement process becomes zero. For this reason, even when the temperature of the DC motor 10 is low (for example, below 0°C) and the voltage applied to the DC motor 10 from the drive circuit 20 is low and the time of rotation by inertia is short, the rotation angle of the DC motor 10 can be accurately detected.

[0107] Therefore, even when the rotation angle of the DC motor 10 changes due to inertial rotation caused by a change in the ease of rotation of the DC motor 10 due to temperature changes, a rotation angle detection method, rotation angle program, and rotation angle detection device 100 can be provided that can accurately detect the rotation angle of the DC motor 10. Furthermore, even when the driving force of the DC motor 10 is low, such as when the drive is stopped before the angular velocity reaches the maximum speed, the rotation angle θ due to inertial rotation can be accurately determined.

[0108] Furthermore, in the rotation angle detection process, the rotation angle θ during inertial rotation is determined using a value obtained by multiplying the angular velocity ω0 of the DC motor 10 immediately before the point t0 at which the drive of the DC motor 10 is stopped, and the period Tcon from the point t0 at which the drive of the DC motor 10 is stopped until the point t1 at which the polarity of the current value measured by the current measurement process reverses. Therefore, by utilizing the fact that the DC motor 10 rotates at approximately the same angular velocity ω0 during the period Tcon from the point at which the drive of the DC motor 10 is stopped until the braking caused by the reverse current i is almost nonexistent, the rotation angle during the inertial rotation period can be accurately determined.

[0109] Furthermore, in the rotation angle detection process, the rotation angle θ during inertial rotation is determined using a value obtained by multiplying the angular velocity ω0 of the DC motor 10 immediately before the point t0 at which the drive of the DC motor 10 is stopped, the period Tatt from the point t1 at which the polarity of the current value measured by the current measurement process reverses to the point tend at which the current value measured by the current measurement process becomes zero, and a predetermined constant C (C ≤ 0.5). Therefore, even if the ease of rotation of the DC motor 10 changes due to temperature changes, the rotation angle of the DC motor 10 can be accurately detected in accordance with the changed ease of rotation of the DC motor 10.

[0110] In the rotation angle detection process, the rotation angle θ in inertial rotation is determined according to the following equation (19) using the angular velocity ω0 of the DC motor 10 immediately before the time t0 when the drive of the DC motor 10 is stopped, the period Tcon from the time t0 when the drive of the DC motor 10 is stopped until the time t1 when the polarity of the current value measured by the current measurement process reverses, the period Tatt from the time t1 when the polarity of the current value measured by the current measurement process reverses until the time tend when the current value measured by the current measurement process becomes zero, and a predetermined constant C (C ≤ 0.5).

[0111]

number

[0112] Therefore, by utilizing the fact that the DC motor 10 rotates at approximately the same angular velocity ω0 during the period Tcon, when there is almost no braking due to the reverse current i after the drive of the DC motor 10 has stopped, the rotation angle during the inertial rotation period can be accurately determined. Furthermore, even if the ease of rotation of the DC motor 10 changes due to temperature changes, the rotation angle of the DC motor 10 can be accurately detected in accordance with the changed ease of rotation of the DC motor 10.

[0113] In the rotation angle detection process, if the period Tatt from point t1, when the polarity of the current value measured by the current measurement process reverses, to point tend, when the current value measured by the current measurement process becomes zero, is shorter than a predetermined time threshold Tth, the rotation angle θ in inertial rotation is determined according to equation (1). Therefore, it is possible to easily determine, based on the period Tatt and the predetermined time threshold Tth, that the temperature of the DC motor 10 is low (for example, below 0°C) and the voltage applied to the DC motor 10 from the drive circuit 20 is low, making it difficult for the DC motor 10 to rotate by inertia. Even when the DC motor 10 is in a state where it is difficult for it to rotate by inertia, the rotation angle of the DC motor 10 can be accurately detected.

[0114] Furthermore, in the rotation angle detection process, if the period Tatt from the point t1 when the polarity of the current value measured by the current measurement process reverses to the point tend when the current value measured by the current measurement process becomes zero is greater than or equal to a predetermined time threshold Tth, the rotation angle θ of the DC motor 10 in inertial rotation is determined based on the following equation (20), using the angular velocity ω0 immediately before the point t0 when the drive of the DC motor 10 is stopped, the period Tcon from the point t0 when the drive of the DC motor 10 is stopped to the point t1 when the polarity of the current value measured by the current measurement process reverses, and the time constant τ of current decay.

[0115]

number

[0116] Therefore, when the DC motor 10 rotates by inertia for a long period of time, the rotation angle during the inertial rotation of the DC motor 10 can be determined by using the time constant τ of the decay of the available current i instead of the time constant τ of the decay of the angular velocity ω.

[0117] Furthermore, the rotation angle detection process includes a voltage measurement process that measures the voltage applied to the DC motor 10, and a ripple detection process that detects the ripple in the current flowing through the DC motor 10. In the rotation angle detection process, while a drive voltage is applied to the DC motor 10, the rotation angle θ of the DC motor 10 is calculated based on the number of ripples detected by the ripple detection process, and the number of ripples is corrected based on the current value measured by the current measurement process and the voltage value measured by the voltage measurement process. Therefore, while a drive voltage is applied to the DC motor 10, the number of ripples can be corrected to accurately determine the rotation angle of the DC motor 10.

[0118] Furthermore, when the rotor of the DC motor 10 rotates by inertia for a long period of time, the rotation angle θ during the period of inertial rotation of the DC motor 10 can be determined very easily. In addition, since the time constant τ can be determined in real time during the period of inertial rotation using equation (10), the problems of parameter errors and angle accumulation errors in conventional methods can be eliminated, and the rotation angle can be detected with very high accuracy. Moreover, for example, the accuracy of the rotation angle in a system including a power window 50 can be greatly improved, and the ability to respond to individual differences, environmental changes, and aging changes can be greatly improved.Therefore, a rotation angle detection method, a rotation angle detection program, and a rotation angle detection device 100 can be provided that can determine the rotation angle of the DC motor 10 with high accuracy when the DC motor 10 is rotating by inertia.

[0119] The rotation angle detection device 100 determines the time constant τ of the decay of the current i based on the current during the inertial rotation period of the DC motor 10, estimates the determined time constant τ as the time constant τ of the decay of the angular velocity during the inertial rotation period of the DC motor 10, and determines the rotation angle of the DC motor 10. Therefore, the rotation angle of the DC motor 10 can be easily detected based on the current i.

[0120] Furthermore, the amount of opening and closing of the power window 50 can be calculated based on the rotation angle θ detected by the rotation angle detection device 100. For example, when the power window 50 is stopped in a position between fully open and fully closed, the amount of opening and closing of the power window 50 can be determined with high accuracy. Power windows 50 are required to be equipped with an anti-pinch mechanism, and when opening or closing the power window 50 after it has been stopped in a position between fully open and fully closed, it is necessary to accurately detect the position in which the power window 50 was stopped.

[0121] Furthermore, the rotation angle detection device 100 can detect the rotation angle of the DC motor 10 with very high precision without using expensive equipment such as Hall ICs to detect the opening and closing amount of the power window 50, thus significantly reducing manufacturing costs.

[0122] Furthermore, the time constant τ for the decay of current i can be determined based on time points t3, t4, and tend, the current integral value Si3+Si4, and the current integral value Si4. Therefore, based on the temporal change of current i, the time constant τ for the decay of current i can be easily determined, which can be used instead of the time constant τ for the decay of angular velocity ω. In addition, since the integration process to determine the current integral value is equivalent to a filtering process, it has the effect of removing ripple components contained in current i, and the rotation angle of the DC motor 10 can be detected with very high precision.

[0123] Furthermore, since the decay time constant τ of the current i can be determined based on equation (10), by incorporating equation (10) into the program executed by the processing unit 133, the decay time constant τ of the current i, which can be used instead of the decay time constant τ of the angular velocity ω, can be easily determined. In addition, by utilizing the filtering effect of the integral process, the ripple component contained in the current i can be removed according to the program executed by the processing unit 133, and the rotation angle of the DC motor 10 can be detected with very high accuracy. Moreover, since the natural logarithm in equation (10) involves division of the current integral value, errors contained in circuits such as the resistor 15, LPF 112, and A / D converter 132 are canceled out. Therefore, the rotation angle of the DC motor 10 can be detected with very high accuracy.

[0124] Furthermore, since the time constant τ for the decay of current i is determined based on time t3 and the current integral value Si3+Si4 of the current measured by the current measuring unit 133A from time t3 to time tend, the time constant τ for the decay of current i, which can be used instead of the time constant τ for the decay of angular velocity ω, can be determined more easily with fewer calculations. In addition, since the integration process for determining the current integral value is equivalent to a filtering process, it has the effect of removing ripple components contained in the current i, and the rotation angle of the DC motor 10 can be detected with high accuracy.

[0125] Furthermore, since the time constant τ for the decay of current i can be determined based on equation (11), by incorporating equation (11) into the program executed by the processing unit 133, the time constant τ for the decay of current i, which can be used instead of the time constant τ for the decay of angular velocity ω, can be easily determined.

[0126] Furthermore, since the rotation angle during the inertial rotation of the DC motor 10 is determined based on the angular velocity ω0 immediately before the time t0 when the drive of the DC motor 10 is stopped, the time t1 at that time, and the time constant τ for the decay of the current i of the DC motor 10, the rotation angle during the inertial rotation of the DC motor 10 can be determined by using the available time constant τ for the decay of the current i instead of the time constant τ for the decay of the angular velocity ω.

[0127] Furthermore, since the rotation angle of the DC motor 10 during inertial rotation is determined based on equation (14), by incorporating equation (14) into the program executed by the processing unit 133, the rotation angle of the DC motor 10 during inertial rotation can be determined using the time constant τ of the decay of the available current i instead of the time constant τ of the decay of the angular velocity ω.

[0128] The rotation angle detection method, rotation angle detection program, and rotation angle detection device of exemplary embodiments of this disclosure have been described above. However, this disclosure is not limited to the specifically disclosed embodiments, and various modifications and changes are possible without departing from the scope of the claims. [Explanation of Symbols]

[0129] 10 DC motors Terminals 11 and 12 15 resistor 20 Drive circuit 30 DC power supply 50 Power Windows 51 Drive mechanism 100 Rotation Angle Detection Device 110 Filter Circuit 111, 112 LPF 120 IC chips 121 BPF 122 Ripple detection unit 130 Microcomputers 131, 132 A / D converters 133 Processing Unit 133A current measurement section 133B Rotation Angle Detection Unit 133C memory

Claims

1. A current measurement process for measuring the current flowing through a DC (Direct Current) motor, A rotation angle detection process is performed to determine the rotation angle of the DC motor based on the current value measured by the current measurement process. A rotation angle detection method including, A rotation angle detection method that determines the rotation angle of the DC motor during inertial rotation based on the rotation angular velocity of the DC motor at the time the drive of the DC motor is stopped, the period from the time the drive of the DC motor is stopped until the time when the polarity of the current value measured by the current measurement process reverses, and the period from the time when the polarity of the current value measured by the current measurement process reverses until the time when the current value measured by the current measurement process becomes zero.

2. The rotation angle detection method according to claim 1, wherein the rotation angle detection process determines the rotation angle during inertial rotation using a value obtained by multiplying the rotational angular velocity of the DC motor at the time when the drive of the DC motor is stopped by the period from the time when the drive of the DC motor is stopped until the time when the polarity of the current value measured by the current measurement process reverses.

3. The rotation angle detection method according to claim 1, wherein the rotation angle detection process determines the rotation angle during inertial rotation using a value obtained by multiplying the rotational angular velocity of the DC motor at the time when the drive of the DC motor is stopped, the period from the time when the polarity of the current value measured by the current measurement process reverses to the time when the current value measured by the current measurement process becomes zero, and a predetermined constant C (C ≤ 0.5).

4. The rotation angle detection method according to claim 1, wherein the rotation angle detection process determines the rotation angle θ in the inertial rotation according to the following equation (1), using the rotational angular velocity ω0 of the DC motor at the time when the drive of the DC motor is stopped, the period Tcon from the time when the drive of the DC motor is stopped until the time when the polarity of the current value measured by the current measurement process is reversed, the period Tatt from the time when the polarity of the current value measured by the current measurement process is reversed until the time when the current value measured by the current measurement process becomes zero, and a predetermined constant C (C ≤ 0.5). [Math 1]

5. The rotation angle detection method according to claim 4, wherein the rotation angle detection process determines the rotation angle θ in the inertial rotation according to formula (1) when the period Tat from the time when the polarity of the current value measured by the current measurement process reverses to the time when the current value measured by the current measurement process becomes zero is shorter than a predetermined time threshold.

6. The rotation angle detection method according to claim 1, wherein, in the rotation angle detection process, if the period from the point in time when the polarity of the current value measured by the current measurement process reverses to the point in time when the current value measured by the current measurement process becomes zero is greater than or equal to a predetermined time threshold, the rotation angle of the DC motor in the inertial rotation of the DC motor is determined based on the following equation (2) using the rotation angular velocity ω0 of the DC motor at the time when the drive of the DC motor is stopped, the period Tcon from the point in time when the drive of the DC motor is stopped to the point in time when the polarity of the current value measured by the current measurement process reverses, and the time constant τ of the current decay. [Math 2]

7. The rotation angle detection process described above is: A voltage measurement process for measuring the voltage applied to the DC motor, Ripple detection process for detecting ripple in the current flowing through the DC motor, It has, The rotation angle detection method according to any one of claims 1 to 6, wherein, while a drive voltage is applied to the DC motor, the rotation angle of the DC motor is calculated based on the number of ripples detected in the ripple detection process, and the number of ripples is corrected based on the current value measured by the current measurement process and the voltage value measured by the voltage measurement process.

8. A current measurement process for measuring the current flowing through a DC motor, A rotation angle detection process is performed to determine the rotation angle of the DC motor based on the current value measured by the current measurement process. A rotation angle detection program that causes a computer to perform a process including the following: A rotation angle detection program that determines the rotation angle of the DC motor during inertial rotation based on the rotation angular velocity of the DC motor at the time the drive of the DC motor is stopped, the period from the time the drive of the DC motor is stopped until the time when the polarity of the current value measured by the current measurement process reverses, and the period from the time when the polarity of the current value measured by the current measurement process reverses until the time when the current value measured by the current measurement process becomes zero.

9. A current measuring unit that performs a current measuring process to measure the current flowing through a DC motor, A rotation angle detection unit determines the rotation angle of the DC motor based on the current value measured by the current measuring unit. Includes, A rotation angle detection device that determines the rotation angle of the DC motor during inertial rotation based on the rotation angular velocity of the DC motor at the time the drive of the DC motor is stopped, the period from the time the drive of the DC motor is stopped until the time when the polarity of the current value measured by the current measurement unit reverses, and the period from the time when the polarity of the current value measured by the current measurement unit reverses until the time when the current value measured by the current measurement unit becomes zero.