Switching range control device
The switching range control device optimizes motor performance by estimating temperature and adjusting target speed to prevent overshoot and improve responsiveness, addressing temperature-related issues in motor operation.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- DENSO CORP
- Filing Date
- 2017-09-07
- Publication Date
- 2026-06-25
AI Technical Summary
Existing switching range control devices fail to optimally manage motor performance in varying temperature environments, leading to issues such as reduced braking force in high-temperature conditions and increased friction in low-temperature conditions, which affect the motor's responsiveness and accuracy during switching range changes.
A switching range control device that includes a feedback control unit, a feedback value setting unit, a current sensor, and a current correction unit to estimate motor temperature and adjust target motor speed, thereby optimizing motor drive in response to temperature variations, preventing overshoot in high-temperature environments and improving responsiveness in low-temperature environments.
The device effectively controls motor performance across temperature ranges by advancing or delaying the braking point, ensuring accurate alignment with the target value, thus enhancing the motor's responsiveness and reducing operational inefficiencies.
Smart Images

Figure 00000018_0000 
Figure 00000019_0000 
Figure 00000020_0000
Abstract
Description
Technical field The present disclosure relates to a switching range control device. General state of the art Previously, a switching range control device was known that switches or changes a switching range by controlling a motor in response to a switching range switching request from a driver. In JP 4385768 B2, a switched reluctance motor is used as a drive source for a switching range switching mechanism. Hereinafter, the switched reluctance motor is referred to as an "SR motor". Furthermore, DE 10 2009 004 167 A1 discloses that, in a case where the end of a gear change has been determined by a gear change end decision device to decide whether a transmission has completed the gear change, the coil resistance value of a motor manipulating the transmission is measured by a coil resistance measuring device. The coil temperature of the motor is estimated from the measured coil resistance value of the motor by a coil temperature estimating device.In a case where a high-temperature decision-making device has determined that the estimated coil temperature of the motor is a predetermined temperature or above, the speed change lockout time of the transmission is calculated by a speed change lockout time calculation device, and the speed change of the transmission is locked out during the calculated speed change lockout time. Summary of the invention An SR motor, which does not use a permanent magnet, has a simple configuration. Additionally, a motor using a permanent magnet, such as a brushless DC motor, exhibits superior responsiveness compared to the SR motor. When a motor is used in a high-temperature environment, its coil resistance is high, the current flow is low, braking force is reduced, and the motor's actual angle tends to overshoot. Conversely, when a motor is used in a low-temperature environment, friction increases due to the motor's operation, and its responsiveness deteriorates. It is an objective of the present disclosure to provide a switching range control device that is capable of optimally controlling the drive of a motor involved in switching a switching range according to a temperature. The foregoing problem is solved by the subject matter of claim 1. Advantageous embodiments of the invention are the subject matter of the dependent claims that follow. A switching range control device according to the present disclosure is mounted on a vehicle, switches a switching range by controlling the drive of the motor and comprises a feedback control unit, a feedback value setting unit, a current sensor and a current correction unit. The feedback control device performs feedback control based on an actual angle of the motor and a motor speed that corresponds to a rotational speed of the motor. The feedback value setting unit sets a feedback value of the motor speed based on the motor speed in order to advance a phase of the motor speed or an excitation phase. The current sensor detects the motor current flowing through the motor. The current correction unit estimates the motor temperature based on the motor current and corrects a target motor speed that corresponds to a target motor speed determined based on a demand switching range. Since the current correction unit estimates the motor's temperature and adjusts the target motor speed, the motor's braking point can be advanced, preventing overshoot in high-temperature environments. Furthermore, the motor's braking point can be delayed in low-temperature environments, and the actual motor angle can be easily adjusted to a target value. This allows for optimal temperature control of the motor's drive during switching range changes. Brief description of the illustrations The foregoing and further tasks, features, and advantages of the present disclosure will become more apparent from the following detailed description, which is carried out with reference to the accompanying figures. The figures include: Fig. 1 a perspective view of a shift-by-wire system according to one embodiment; Fig. 2 a configuration diagram of the shift-by-wire system according to the embodiment; Fig. 3 a circuit diagram representing a motor and a motor driver according to the embodiment; Fig. 4 a block diagram representing a switching range control device according to the embodiment; Fig. 5 a diagram representing a relationship between a set temperature of the switching range control device and a normalized motor current according to the embodiment; Fig.6 a diagram showing a relationship between a temperature correction coefficient and a motor temperature of the switching range control device according to the embodiment; Fig. 7 a diagram showing a relationship between a temperature correction coefficient and an angular deviation of the switching range control device according to the embodiment; Fig. 8 a diagram showing a relationship between an angular deviation and a target motor speed of the switching range control device according to the embodiment; Fig. 9 a diagram showing a relationship between a motor speed, a temperature correction coefficient and an acceleration feedforward duty cycle of the switching range control device according to the embodiment; Fig.Figure 10 is a diagram illustrating the relationship between the motor speed, the temperature correction coefficient, and a steady-state feedforward duty cycle in the switching range control device according to the embodiment; Figure 11 is a diagram illustrating the relationship between the motor speed, the temperature correction coefficient, and a delay feedforward duty cycle in the switching range control device according to the embodiment; Figure 12 is a flowchart illustrating the processing of the switching range control device according to the embodiment; Figure 13 is a flowchart illustrating feedback control of the switching range control device according to the embodiment; Figure 14 is a flowchart illustrating a calculation of the temperature correction coefficient of the switching range control device according to the embodiment; and Figure 15 is a diagram illustrating the processing of the switching range control device according to the embodiment.15 a time diagram which represents a processing of the switching range control device according to the embodiment. Embodiments for carrying out the invention The following describes a switching range control device with reference to the illustrations. First, a shift-by-wire system 1 is described in which a switching range control device 40 is used. The shift-by-wire system 1 is mounted on a vehicle. Although not shown, the vehicle is equipped with a machine or engine, a radiator, a fluid temperature sensor, an oil temperature sensor, and an outside air temperature sensor. A high-temperature coolant is sent to the radiator via a water jacket and an upper hose, which correspond to coolant paths in the engine, and the coolant is cooled by an airflow caused by the vehicle moving. The radiator also cools a hot coolant and returns the cooled coolant to the engine via a lower hose. The coolant contains an antifreeze mixed with water, and a long-life coolant, which also has a corrosion protection effect, is used as the antifreeze. The fluid temperature sensor is connected to an upper hose and can measure a coolant temperature Hc [°C], which corresponds to the temperature of the coolant flowing through the upper hose. The oil temperature sensor can measure an oil temperature Ho [°C], which is a temperature of an engine oil, a transmission oil or the like, used in an automatic transmission 5 to be described later. The outside air temperature sensor can detect an outside air temperature Ha [°C], which corresponds to the temperature of the outside air outside the vehicle. For example, a thermistor, which is a ceramic semiconductor whose electrical resistance changes according to the temperature, is used as the liquid temperature sensor, the oil temperature sensor and the outside air temperature sensor. As shown in Fig. 1 and Fig. 2, the shift-by-wire system 1 comprises a motor 10, a switching range switching mechanism 20, a parking locking mechanism 30 and a switching range control device 40. When an electric current is supplied from a battery 45 mounted on the vehicle, the motor 10 rotates and serves as a drive source for the switching range switching mechanism 20. Furthermore, the motor 10 can change the magnitude of the current through feedback control and modify a command for each phase. As shown in Fig. 3, the motor 10 has two sets of winding sets, that is, a first winding set 11 and a second winding set 12. The first winding set 11 comprises a U1 coil 111, a V1 coil 112 and a W1 coil 113. The second winding set 12 comprises a U2 coil 121, a V2 coil 122 and a W2 coil 123. Referring back to Fig. 2, the motor 10 corresponds to a brushless DC motor of the permanent magnet type, and this includes an encoder 13 and a speed reducer 14. The encoder 13 can detect a rotational position of a rotor of the motor 10. The encoder 13, for example, corresponds to a magnetic rotary encoder, and this is configured by a magnet rotating integrally with the rotor and a Hall IC for magnetic detection. Furthermore, the encoder outputs 13 pulse signals of an A-phase and a B-phase at each predetermined angle synchronously with the rotation of the rotor. The speed reducer 14 is positioned between a motor shaft of the motor 10 and an output shaft 15. It slows down the rotation of the motor 10 and outputs the slowed rotation to the output shaft 15. Consequently, the rotation of the motor 10 is transmitted to the switching range switching mechanism 20. The output shaft 15 includes an output shaft sensor 16. The output wave sensor 16 is, for example, a potentiometer, and this detects an angle of the output wave 15. Referring back to Fig. 1, the switching range switching mechanism 20 comprises a locking plate 21 and a locking spring 25, which converts a rotational movement of the motor 10 into a linear movement and transmits the linear movement to a manual valve 28. The locking plate 21 is fixed to the output shaft 15 and is rotated by the motor 10. It is assumed that a direction in which the locking plate 21 moves away from a base of the locking spring 25 corresponds to a forward rotation direction, and a direction in which the locking plate 21 moves closer to the base section corresponds to a reverse rotation direction. The locking plate 21 comprises four recessed sections 22 and a pin 24. The recessed sections 22 are provided on the side of the locking spring 25 of the locking plate 21 and these hold the manual valve 28 in a position corresponding to each area. The recessed sections 22 correspond to each area from D, N, R and P starting from the side of the base section of the locking spring 25. The D area corresponds to a forward area, the N area corresponds to a neutral area, the R area corresponds to a reverse area and the P area corresponds to a parking area. The pin 24 is parallel to the output shaft 15 and is connected to the manual valve 28. The manual valve 28 is provided on a valve body 29 and moves back and forth axially when the locking plate 21 is rotated by the motor 10. As the manual valve 28 moves back and forth axially, a hydraulic supply path to a hydraulic coupling is switched, and the engagement state of the hydraulic coupling is changed, thereby altering the switching range. The locking spring 25 corresponds to an elastically deformable, plate-shaped element and a locking roller 26, which fits into one of the recessed sections 22, is provided at a tip end of the locking spring 25. The locking spring 25 pre-tensions the locking roller 26 towards a rotational center face of the locking plate 21. When a predetermined rotational force or greater is applied to the locking plate 21, the locking spring 25 is elastically deformed, and the locking roller 26 moves within the recessed sections 22. The locking roller 26 engages in one of the recessed sections 22, thereby controlling the oscillation or pivoting of the locking plate 21. Consequently, the axial position of the manual valve 28 and the state of the parking lock mechanism 30 are determined, and the shift range of the automatic transmission 5 is defined. The parking locking mechanism 30 comprises a parking rod 31, a conical body 32, a parking locking claw 33, a shaft section 34 and a parking gear 35. The parking rod 31 is designed in an L shape and one end 311 of the parking rod 31 is fixed to the locking plate 21. The other end 312 of the parking rod 31 is provided with the conical body 32. The diameter of the conical body 32 decreases towards the other end 312. When the locking plate 21 oscillates in the reverse rotation direction, the conical body 32 moves in a direction indicated by an arrow P. The parking locking claw 33 is in contact with a conical surface of the conical body 32 and is designed such that it can oscillate around the shaft section 34. The parking locking claw 33 includes a projection section 331 on the side of the parking gear 35. The leading section 331 can engage with the parking gear 35. When the locking plate 21 rotates in the reverse rotation direction and the conical body 32 moves in a direction indicated by an arrow P, the parking locking claw 33 is pushed upwards by the conical body 32 and the projecting section 331 engages with the parking gear 35. On the other hand, if the locking plate 21 rotates in the forward rotation direction and the conical body 32 moves in a direction indicated by an arrow not P, the projection section 331 is released from the parking gear 35. When the parking gear 35 engages with the projecting section 331, the rotation of one axis is limited. The parking gear 35 is not locked by the parking locking claw 33 when the switching range corresponds to a non-P range that differs from the P range. At this time, the rotation of the axis is not prevented by the parking locking mechanism 30. If, on the other hand, the switching range corresponds to the P range, the parking gear 35 is locked by the parking locking claw 33 and the rotation of the axis is regulated. embodiment The switching range control device 40 is described below. As shown in Fig. 2 and Fig. 3, the switching range control device 40 comprises motor drivers 41 and 42, motor relays 46 and 47, a voltage sensor 48 and an ECU 50. The motor driver 41 corresponds to a three-phase inverter for switching the current supply to the first winding set 11, in which switching elements 411 to 416 are bridge-connected. One end of the U1 coil 111 is connected to a connection point between the paired U-phase switching elements 411 and 414. One end of the V1 coil 112 is connected to a connection point between the paired V-phase switching elements 412 and 415. One end of the W1 coil 113 is connected to a connection point between the paired W-phase switching elements 413 and 416. The other ends of the coils 111 to 113 are connected to each other by a connecting section 115. The motor driver 42 corresponds to a three-phase inverter for switching the current supply to the second winding set 12, in which switching elements 421 to 426 are bridge-connected. One end of the U2 coil 121 is connected to a connection point between the paired U-phase switching elements 421 and 424. One end of the V2 coil 122 is connected to a connection point between the paired V-phase switching elements 422 and 425. One end of the W2 coil 123 is connected to a connection point between the paired W-phase switching elements 423 and 426. The other ends of the coils 121 to 123 are connected to each other by a connecting section 125. The switching elements 411 to 416 and 421 to 426 are each formed from a MOSFET, but these can be formed from other elements, such as an IGBT. The motor drivers 41 and 42 are provided with current sensors 81 and 82, which are capable of detecting a motor current Im corresponding to a current flowing through the motor 10. The current sensors 81 and 82 can be located on either the high-potential or low-potential side of the battery 45. The current sensors 81 and 82 are configured, for example, by shunt resistors or Hall ICs, and these output a motor current Im to a current correction unit 84 and a PWM signal generation unit 69 in a feedback control unit 60 described later. The motor relay 46 is located between the motor driver 41 and the battery 45. The motor relay 47 is located between the motor driver 42 and the battery 45. Motor relays 46 and 47 are switched on when a starter switch, such as an ignition switch, is switched on, and electrical power is directed to the side of the motor 10. On the other hand, the motor relays 46 and 47 are switched off when the start switch is off, and the supply of electrical power to the side of motor 10 is interrupted. The voltage sensor 48 is provided on the high-potential side of the battery 45 and can detect a battery voltage V. The ECU 50 controls the motor 10 by controlling ON / OFF actuations of the switching elements 411 to 416 and 421 to 426. A set of ON and OFF is defined as a switching period or switching time duration, and a proportion of an ON time to the switching time duration is defined as a duty cycle. The ECU 50 controls the actuation of the shift hydraulic control solenoids 6 based on vehicle speed, accelerator pedal opening degree, driver request shift range, and the like. A shift stage is controlled by actuating the shift hydraulic control solenoids 6. The switching hydraulic control solenoids 6 are provided in the number corresponding to the number of gear stages and the like. In the present embodiment, an ECU 50 controls the drive of the motor 10 and the switching hydraulic control solenoids 6. A motor ECU for motor control to control the motor 10 and an AT ECU for solenoid control can be separate from each other. Previously, a switching range control device was known that switches or changes a switching range by controlling a motor in response to a switching range change request from a driver. Patent literature 1 describes the use of an SR motor as a drive source for the switching range change mechanism. An SR motor, which does not use a permanent magnet, has a simple configuration. Additionally, a motor using a permanent magnet, such as a brushless DC motor, offers superior responsiveness compared to the SR motor. When a motor is used in a high-temperature environment, its coil resistance is high, the current flow is low, braking force is reduced, and the motor's actual angle tends to overshoot. Conversely, when a motor is used in a low-temperature environment, friction due to the motor's drive increases, and its responsiveness deteriorates. Therefore, according to the present embodiment, the switching range control device 40 can optimally control the drive of the motor involved in switching the switching range according to the temperature. As shown in Fig. 4, the ECU 50 of the switching range control device 40 comprises an angle calculation unit 51, a velocity calculation unit 52, a feedback control unit 60, a steady-state current control unit 70 and a switching control unit 75. The EUC 50 is primarily configured by a microcomputer or similar device. The processing in the ECU 50 can correspond to software processing by executing a CPU to run programs that are pre-stored in physical memory such as ROMs, or to hardware processing by dedicated electronic circuits. The angle calculation unit 51 calculates an actual count value Cen, which corresponds to a count value of the encoder 13, based on pulses of the A-phases and the B-phases output by the encoder 13. The actual count value Cen corresponds to a value that represents an actual mechanical angle and an electrical angle of the motor 10. In the present embodiment, the actual count value Cen is set as the "actual angle". The angle calculation unit 51 outputs the actual count value Cen to the velocity calculation unit 52, the angle deviation calculation unit 61, the PWM signal generation unit 69, the feedback control unit 60, and the steady-state phase current control unit 70. The speed calculation unit 52 calculates a motor speed Msp, which corresponds to the rotational speed of motor 10, based on the actual count value Cen. The speed calculation unit 52 outputs the calculated motor speed Msp to an FB value setting unit 63 and a feedforward term correction unit 67 in the feedback control unit 60. The feedback control unit 60 performs feedback control by feeding back the actual count value Cen and the motor speed Msp. The feedback control unit 60 comprises an angle deviation calculation unit 61, a temperature setting unit 83, a current correction unit 84, a target speed setting unit 62 and the feedback value setting unit 63. The feedback control unit 60 further comprises a velocity deviation calculation unit 64, a control device 65, a feedforward correction value calculation unit 66, the feedforward term correction unit 67, a voltage correction unit 68, and the PWM signal generation unit 69. Hereinafter, feedback is referred to as "FB" and feedforward as "FF" where appropriate. The angle deviation calculation unit 61 feeds back the actual count value Cen. A target angle of the motor 10, determined based on the driver request shift range entered by actuating the gearshift lever, is set as a target count value Cen*. An absolute value of the difference between the target count value Cen* and the actual count value Cen is defined as an angular deviation e. The angle deviation calculation unit 61 calculates the angle deviation e and outputs the calculated angle deviation e to the current correction unit 84. It is assumed that a preset temperature corresponds to a set temperature Hs and that the motor current Im set based on a set temperature Hs corresponds to a normalized motor current Im_N. The temperature setting unit 83 stores the set temperature Hs and the normalized motor current Im_N and outputs the set temperature Hs and the normalized motor current Im_N to the current correction unit 84. The set temperature Hs corresponds, for example, to a normal temperature, and this corresponds to a temperature when shipping from a factory whose temperature is controlled in a range of 20°C to 30°C. As shown in Fig. 5, the sensing current Id generally changes as the current detected by the current sensors 81 and 82 according to a temperature change at the current sensors 81 and 82. Furthermore, the sensing current Id varies due to product variations of the current sensors 81 and 82. The normalized motor current Im_N corresponds to a value determined at a point as the motor current Im at the set temperature Hs. The current correction unit 84 calculates a temperature correction coefficient KT according to the obtained motor current Im based on the coolant temperature Hc, the oil temperature Ho and the outside air temperature Ha. The current correction unit 84 adjusts the motor current Im to the normalized motor current Im_N when a speed condition of the motor 10, described later, corresponds to an acceleration condition and the set temperature Hs, the coolant temperature Hc, and the ambient air temperature Ha are equal, or when the set temperature Hs, the oil temperature Ho, and the ambient air temperature Ha are equal. In this example, "equal" does not mean perfect agreement, and "equal" also includes a reasonable margin of error. The current correction unit 84 outputs the temperature correction coefficient KT to the feedforward correction value calculation unit 66, which is described later. The temperature correction coefficient KT is represented, for example, by the following relation expression (1). By calculating the temperature correction coefficient KT from the obtained motor current Im, a motor temperature Hm, which corresponds to the temperature of motor 10, is estimated. As shown in Fig. 6, the current correction unit 84 estimates that the motor temperature Hm decreases when the temperature correction coefficient KT increases. The resistances of coils 111 to 113 and 121 to 123 are referred to as a coil resistance Rc. As the temperature correction coefficient KT increases, the motor current Im increases compared to the normalized motor current Im_N. The motor current Im flows in a straightforward manner, and the coil resistance Rc is reduced. Since the resistances of coils 111 to 113 and 121 to 123 are reduced, it is estimated that the motor temperature Hm decreases. Furthermore, the current correction unit 84 corrects the angular deviation e based on the temperature correction coefficient KT. The target motor speed Msp* is corrected by the current correction unit 84, which corrects the angular deviation e. As shown in Fig. 7, the current correction unit 84 corrects the angular deviation e, so that the angular deviation e decreases as the temperature coefficient KT increases. The current correction unit 84 outputs the corrected angular deviation e to the target speed setting unit 62. The target speed setting unit 62 sets a target motor speed Msp*, which corresponds to a target speed of the motor 10, based on the angular deviation e. The target speed setting unit 62 outputs the set target motor speed Msp* to the speed deviation calculation unit 64. As shown in Fig. 8, the target motor speed Msp* is set to increase as the angular deviation e increases, provided that the angular deviation e is less than or equal to a predetermined value ea based on a relationship diagram or the like. If the angular deviation e is greater than the predetermined value ea, the target motor speed Msp* is set to a predetermined maximum value. Furthermore, the target motor speed Msp* is set to increase as the battery voltage V increases. The FB value setting unit 63 sets a speed feedback value Msp_fb, which is to be fed back, based on the speed state of the motor 10 and outputs the speed feedback value Msp_fb to the speed deviation calculation unit 64. A difference value of the motor speed Msp is set as a speed difference value dp_Msp, and a difference value of the target motor speed Msp* is set as a target speed difference value dp_Msp*. A current value of the motor speed Msp is set as a current motor speed Msp(n) and a previous value of the motor speed Msp is set as a previous motor speed Msp(n-1). A current value of the target motor speed Msp* is set as a current target motor speed Msp*(n) and a previous value of the target motor speed Msp* is set as a previous target motor speed Msp*(n-1). The velocity difference value dp_Msp is calculated, for example, by subtracting the preceding motor velocity Msp(n-1) from the current motor velocity Msp(n). The target speed difference value dp_Msp* is calculated, for example, by subtracting the preceding target motor speed Msp*(n-1) from the current target motor speed Msp*(n). Furthermore, two arbitrarily set thresholds dp1 and dp2 are used. The thresholds dp1 and dp2 correspond to the same dimension number as the velocity difference value dp_Msp and are close to zero; the threshold dp1 corresponds to a positive value and the threshold dp2 corresponds to a negative value. In the present embodiment, the speed state of the motor 10 is classified, for example, into an acceleration state, a steady state, or a deceleration state based on the motor speed Msp, the target motor speed Msp*, the speed difference value dp_Msp, or the target speed difference value dp_Msp*. The speed state of the motor 10 is classified into a steady-state energized state or an energized-off state, which will be described later. The acceleration state is directed towards a state in which the motor speed Msp is less than or equal to the target motor speed Msp*, or it is directed towards a state in which the speed difference value dp_Msp exceeds the threshold dp1. The steady state is directed towards a state in which the motor speed Msp is higher than the target motor speed Msp*, or it is directed towards a state in which the speed difference value dp_Msp is greater than or equal to the threshold dp2 and less than or equal to the threshold dp1. The deceleration state is directed towards a state in which the target speed difference value dp_Msp* is less than zero, that is, it is directed towards a state in which the current target motor speed Msp*(n) is less than the preceding target motor speed Msp*(n-1). Alternatively, the deceleration state is directed towards a state in which the difference value dp_Msp falls below the threshold dp2. The steady-state current condition is directed towards a speed condition of the motor 10 if the control condition of the motor 10 corresponds to a steady-state current control which will be described later. The power-off state is directed towards the speed state of motor 10 if the control state of motor 10 corresponds to a power-off control that will be described later. When the speed state of motor 10 corresponds to the steady state or the deceleration state, the FB value setting unit 63 performs phase feed compensation, so that the motor speed phase Msp, or the excitation phase, is advanced, and this unit sets the speed phase feed value Msp_pl as the speed feedback value Msp_fb. The speed phase feed value Msp_pl is also included in the concept of "motor speed". If the speed state of motor 10 corresponds to the acceleration state, the FB value setting unit 63 does not perform the phase feed compensation, and it sets the motor speed Msp to the speed feedback value Msp_fb. A transfer function for performing the phase feed compensation of the FB value setting unit 63 is expressed, for example, by the following relational expressions (2) and (3). The symbols T1 and T2 represent arbitrary constants and s represents the Laplace operator. The speed deviation calculation unit 64 calculates a speed deviation ΔMsp, which corresponds to a difference between the target motor speed Msp* and the speed feedback value Msp_fb, and outputs the calculated speed deviation ΔMsp to the control device 65. The control device 65 performs P control or PI control so that the target motor speed Msp* matches the speed feedback value Msp_fb, i.e., so that the speed deviation ΔMsp becomes zero. Furthermore, the control device 65 calculates an FB duty cycle D_fb as a command value of the feedback control. In the feedback control according to the present embodiment, the magnitudes or values of currents and torques flowing through the coils 111 to 113 and 121 to 123 are changed by a change in the duty cycle by the PWM control. In the present embodiment, the motor 10 is controlled by a square wave signal via a 120° current application. During square wave control via the 120° current application, the switching element on the high-potential side of a first phase and the switching element on the low-potential side of a second phase are activated. Additionally, the current phase is switched by toggling the combination of the first and second phases at every 60° electrical angle. Consequently, a rotating magnetic field is generated in the winding sets 11 and 12, and the motor 10 rotates. In the present embodiment, the direction of rotation of the motor 10 is defined as a forward direction when the output shaft 15 rotates in the forward rotation direction. Additionally, a duty cycle is assumed to be positive when motor 10 outputs a positive torque, a duty cycle is assumed to be negative when motor 10 outputs a negative torque, and an available duty cycle range is assumed to be -100% to 100%. When motor 10 rotates in the forward direction, the duty cycle is set to positive, and when motor 10 rotates in the reverse direction, the duty cycle is set to negative. Since the forward-rotating motor 10 stops when the braking torque is generated, the direction of rotation of the motor 10 corresponds to the forward rotation direction, but the duty cycle is negative. Since the backward rotating motor 10 stops when the braking torque is generated, the direction of rotation of motor 10 corresponds to the reverse rotation direction, but the duty cycle is positive. The FF correction value calculation unit 66 calculates an FF duty cycle D_ff as a feedforward term based on the speed state of the motor 10 and the temperature correction coefficient KT. The FF duty cycle D_ff is defined as an acceleration FF duty cycle D_fa when the speed state of motor 10 corresponds to the acceleration state. The FF duty cycle D_ff is set to a steady-state FF duty cycle D_fi when the speed state of motor 10 corresponds to the steady state. The FF duty cycle D_ff is defined as a deceleration FF duty cycle D_fd when the speed state of motor 10 corresponds to the deceleration state. As shown in Fig. 9, the acceleration-FF duty cycle D_fa is calculated based on the relationship diagram and expresses a maximum acceleration duty cycle. The motor speed Msp is corrected to accelerate to a maximum until the motor speed Msp exceeds the target motor speed Msp*. The acceleration-FF duty cycle D_fa is not affected by the temperature correction coefficient KT. As shown in Fig. 10, the steady-state FF duty cycle D_fi is calculated based on the relationship diagram, and this expresses a duty cycle to maintain the motor speed Msp. The steady-state FF duty cycle D_fi corresponds to a duty cycle that maintains the motor speed Msp at times when there is no load. The steady-state flip-flop duty cycle D_fi is set to increase as the motor speed Msp or the target motor speed Msp* increases. Furthermore, the motor temperature Hm decreases as the temperature correction coefficient KT increases, and the motor current Im tends to flow. However, since friction associated with driving motor 10 is high, the steady-state flip-flop duty cycle D_fi is set to a high level. As shown in Fig. 11, the delay FF duty cycle D_fd is calculated based on the relationship diagram, and this expresses a duty cycle for correcting the delay of the motor speed Msp, which corresponds to a negative value. The delay FF duty cycle D_fd corresponds to a correction duty cycle for realizing the target motor speed Msp*. As the motor speed Msp increases, the absolute value of the delay-FF duty cycle D_fd is set to increase. Furthermore, as the temperature correction coefficient KT increases, the motor temperature Hm decreases, the coil resistance Rc decreases, and the motor current Im flows in a simple manner, thus decreasing the absolute value of the delay-FF duty cycle D_fd. In Fig. 9, Fig. 10 and Fig. 11, the positive and negative values are reversed if the motor 10 rotates in a positive direction, and in the case where the motor 10 rotates in a negative direction. The FF correction value calculation unit 66 sets the acceleration FF duty cycle D_fa to the FF duty cycle D_ff when the speed state of the motor 10 corresponds to the acceleration state. The FF correction value calculation unit 66 sets the steady-state FF duty cycle D_fi to the FF duty cycle D_ff when the speed state of the motor 10 corresponds to the steady state. When the speed state of motor 10 corresponds to the deceleration state, the FF correction value calculation unit 66 sets the deceleration FF duty cycle D_fd to the FF duty cycle D_ff. Referring back to Fig. 4, the FF correction value calculation unit 66 outputs the calculated FF duty cycle D_ff to the FF term correction unit 67. The FF term correction unit 67 corresponds to an integrator, which corrects the FB duty cycle D_fb by the FF duty cycle D_ff, integrates the FB duty cycle D_fb and calculates the duty cycle instruction value D. The voltage correction unit 68 corrects the duty cycle command value D based on the battery voltage V. The corrected duty cycle command value D is set as a correction duty cycle command value D_v. The voltage correction unit 68 outputs the correction duty cycle command value D_v to the PWM signal generation unit 69. The PWM signal generation unit 69 generates a command signal that is involved in switching the switching elements 411 to 416 and 421 to 426, based on the correction duty cycle command value D_v and the actual count value Cen. The PWM signal generation unit 69 receives the motor current Im from the motor drivers 41 and 42 and adjusts the generated command signal so that the motor current Im does not exceed the current limit Im_max. Furthermore, the PWM signal generation unit 69 outputs a command signal to the switching control unit 75. The steady-state current control unit 70 performs steady-state current control based on the actual count value Cen, which corresponds to a control to stop the rotation of the motor 10. The steady-state current control unit 70 selects a steady-state phase according to the electrical angle and controls the switching elements 411 to 416 and 421 to 426 so that a current flows in a predetermined direction of the selected steady-state phase. Consequently, an excitation phase is established and the motor 10 stops at a predetermined electrical angle corresponding to the excitation phase. The steady-state current control unit 70 selects the steady-state phase and a current direction based on the actual count value Cen, so that the motor 10 stops at the next electrical angle starting from the current rotor position. Furthermore, steady-state current control is performed when the angular deviation e becomes less than or equal to an angle determination threshold e_th. Therefore, it can be considered that the actual count value Cen and the target count value Cen* coincide when steady-state current control is performed. For this reason, motor 10 stops at the electrical angle that can be achieved at a position closest to the current rotor position, so that motor 10 can be stopped at a position that coincides with the target count value Cen*. More precisely, the electrical angle according to the target count value Cen* and the electrical angle at which motor 10 stops under steady-state current control differ from each other by a maximum of the motor resolution. However, if the speed reduction ratio of the speed reducer 14 is large, the deviation of the stop position of the output shaft 15 is small and therefore the deviation of the electrical angle is acceptable. The switching control unit 75 compares the angular deviation e with the angular determination threshold e_th and switches the control state of the motor 10 to feedback control or steady-state current control based on the comparison result. The switching control unit 75 outputs a drive signal to the motor drivers 41 and 42 according to the control state. Consequently, the drive of the motor 10 is controlled. The processing by the switching range control device 40 is described with reference to a flowchart in Fig. 12. In the flowchart, the symbol “S” represents a step. In step 101, the driver operates the gearshift lever and the ECU 50 determines whether the driver request shift range has changed or not. If the ECU 50 determines that the driver request switching range has changed, the process proceeds to step 102. If, on the other hand, the ECU 50 determines that the driver request switching range has not changed, the process proceeds to step 103. At step 102, the ECU 50 activates a power-on flag for the motor 10. The on / off processing of the power-on flag can be performed by the switching control unit 75, or it can be performed separately from the switching control unit 75. In step 103, the switching control unit 75 determines whether the power-on flag is switched on or not. When the switching control unit 75 determines that the power-on flag is switched on, the process proceeds to step 105. If, on the other hand, the switching control unit 75 determines that the current-energizing flag is switched to Off, the process proceeds to step 104. In step 104, the switching control unit 75 sets a timer value Tc, which is later written to in order to reset it, i.e. Tc=0, and the process is completed. In step 105, the switching control unit 75 determines whether the angular deviation e is greater than the angle determination threshold e_th or not. The angle determination threshold e_th is, for example, set to a count according to a predetermined value close to zero at a mechanical angle of 0.5°. If the switching control unit 75 determines that the angular deviation e is greater than the angular determination threshold e_th, the process proceeds to step 106. If, on the other hand, the switching control unit 75 determines that the angular deviation e is less than or equal to the angular determination threshold e_th, the process proceeds to step 107. In step 106, the switching control unit 75 sets the control state of the motor 10 to feedback control. The feedback control in step 106 is described with reference to a bypass in Fig. 13. Immediately after the energizing flag is switched from off to on, the speed state of motor 10 is set to the acceleration state. Furthermore, in the figure, with regard to the speed state of motor 10, the acceleration state is described as "Mode 1", the steady state as "Mode 2", the deceleration state as "Mode 3", the steady-phase energizing state as "Mode 4", and the energizing-off state as "Mode 0". In step 161, the target speed setting unit 62 sets the target motor speed Msp* based on the angular deviation e and the battery voltage V. In step 162, the FB control unit 60 determines whether the current speed state of the motor 10 corresponds to the acceleration state or not. If the FB control unit 60 determines that the current speed state of the motor 10 corresponds to the acceleration state, the process proceeds to step 163. If, on the other hand, the FB control unit 60 determines that the current speed state of the motor 10 does not correspond to the acceleration state, the process proceeds to step 164. In step 163, the FB control unit 60 determines whether the motor speed Msp is greater or higher than the target motor speed Msp* or not. If the FB control unit 60 determines that the motor speed Msp is lower than or equal to the target motor speed Msp*, the process proceeds to step 166. At this time, the FB control unit 60 maintains the speed state of the motor 10 at the acceleration state at step 166 and the process progresses to step 169. If, on the other hand, the FB control unit 60 determines that the motor speed Msp is higher than the target motor speed Msp*, the process proceeds to step 167. At this time, in step 167, the FB control unit 60 switches the speed state of the motor 10 from the acceleration state to the steady state, and the process proceeds to step 169. In step 164, the FB control unit 60 determines whether the current speed state of the motor 10 corresponds to the steady state or not. If the FB control unit 60 determines that the current speed state of the motor 10 corresponds to the steady state, the process proceeds to step 165. In step 165, the FB control unit 60 determines whether the current target motor speed Msp*(n) is lower than the previous target motor speed Msp*(n-1) or not. If the FB control unit 60 determines that the current target motor speed Msp*(n) is higher than or equal to the previous target motor speed Msp*(n-1), the process proceeds to step 167. At this time, the FB control unit 60 maintains the speed state of the motor 10 in the steady state at step 167 and the process progresses to step 169. If, on the other hand, the FB control unit 60 determines at step 164 that the current speed state of the motor 10 does not correspond to the steady state, the process proceeds to step 168. If the FB control unit 60 determines at step 165 that the current target motor speed Msp*(n) is lower than the previous target motor speed Msp*(n-1), the process proceeds to step 168. At this time, the FB control unit 60 switches the speed state of the motor 10 from the steady state to the deceleration state at step 168 and the process proceeds to step 169. After processing step 166, step 167 or step 168, processing proceeds to step 169. In step 169, the current calculation unit 84 calculates the temperature correction coefficient KT according to the motor current Im. The calculation of the temperature correction coefficient KT in step 169 is described with reference to a bypass of Fig. 14. In step 191, the current correction unit 84 determines whether the set temperature Hs, the coolant temperature Hc, and the outside air temperature Ha are equal or not, or whether the set temperature Hs, the oil temperature Ho, and the outside air temperature Ha are equal or not. In other words, the current correction unit 84 determines whether the subsequent relation expression (4) or (5) is satisfied or not. In this example, “=" encompasses a generally understood error range. If the current correction unit 84 determines that the relation expression (4) or (5) is satisfied, the process proceeds to step 192. On the other hand, if the current correction unit 84 determines that the relation expression (4) or (5) is not satisfied, the process proceeds to step 193. In step 192, the current correction unit 84 sets the obtained motor current Im as the normalized motor current Im_N. The current correction unit 84 stores the state in RAM or the like, and the process proceeds to step 193. In step 193, the current correction unit 84 calculates the temperature correction coefficient KT using the obtained motor temperature Im and the normalized motor current Im_N, and the process proceeds to step 170. If the relation expression (4) or (5) is satisfied, the temperature correction coefficient KT becomes 1. In step 170, the FB control unit 60 determines whether the speed state of the motor 10 corresponds to the acceleration state or not. When the FB control unit 60 determines that the speed state of the motor 10 corresponds to the acceleration state, the process proceeds to step 171. If, on the other hand, the FB control unit 60 determines that the speed state of the motor 10 does not correspond to the acceleration state, that is, the speed state of the motor 10 corresponds to the steady state or the deceleration state, the process proceeds to step 173. In step 171, the current correction unit 84 corrects the angular deviation e based on the temperature correction efficiency KT. The setpoint speed setting unit 62 resets the setpoint motor speed Msp* using the corrected angular deviation e, and the process proceeds to step 172. In step 172, the FB value setting unit 63 outputs the motor speed Msp as the speed feedback value Msp_fb to the speed deviation calculation unit 64. The speed deviation calculation unit 64 calculates a speed deviation ΔMsp between the target motor speed Msp* and the speed feedback value Msp_fb set by the FB value setting unit 63, and the process proceeds to step 174. In step 173, the FB value setting unit 63 outputs the phase feed compensation value Msp_pl as the velocity feedback value Msp_fb to the velocity deviation calculation unit 64. The speed deviation calculation unit 64 calculates a speed deviation ΔMsp between the target motor speed Msp* and the speed feedback value Msp_fb set by the FB value setting unit 63, and the process proceeds to step 174. At step 174, the control device 65 calculates the FB duty cycle D_fb, outputs the calculated FB duty cycle D_fb to the FF term correction unit 67, and the process proceeds to step 175. At step 175, the FF correction value calculation unit 66 calculates the FF duty cycle D_ff based on the speed state of the motor 10 and the temperature correction coefficient KT, outputs the calculated FF duty cycle D_ff to the FF term correction unit 67 and the process proceeds to step 176. At step 176, the FF term correction unit 67 integrates the FB duty cycle D_fb and the FF duty cycle D_ff to calculate the duty cycle command value D, and the process proceeds to step 177. In step 177, the voltage correction unit 68 corrects the duty cycle command value D based on the battery voltage V. The PWM signal generation unit 69 generates a PWM signal based on the corrected duty cycle command value D_v. The motor 10 is controlled by switching the switching elements 411 to 416 and 421 to 426 on and off based on the generated PWM signal. The process is completed after step 177. Referring back to Fig. 12, the process proceeds to step 107 when the switching control unit 75 determines at step 105 that the angular deviation e is less than or equal to the angular determination threshold e_th. At step 107, the switching control unit 75 counts a timer value Tc, which corresponds to a count value of a timer for counting a duration of the steady-state current control, and the process proceeds to step 108. In step 108, the switching control unit 75 determines whether the timer value Tc is less than a duration determination threshold Tth or not. The duration determination threshold Tth is set to 100 ms, for example, and this corresponds to a value that is set according to a current duration Ta to continue the steady-state current control. If the switching control unit 75 determines that the timer value Tc is less than the duration determination threshold Tth, the process proceeds to step 109. If, on the other hand, the switching control unit 75 determines that the timer value Tc is greater than or equal to the duration determination threshold Tth, the process proceeds to step 110. At step 109, the switching control unit 75 switches the control state of the motor 10 to steady-state phase current control and the process is completed. At step 110, the switching control unit 75 switches the control state of the motor 10 to the power-off control and the process is completed. During the power-off control, the switching control unit 75 outputs a signal to switch off all switching elements 411 to 416 and 421 to 426 of the motor drivers 41 and 42. This signal causes the switching elements 411 to 416 and 421 to 426 to switch off. Consequently, during the power-off control, no electrical power is supplied to the side of the motor 10. Since motor relays 46 and 47 are continuously switched on while the start switch is switched on, motor relays 46 and 47 are also switched on during the power-off control. The ECU-50 also switches the power-on flag to off. The processing by the switching range control device 40 is described with reference to a timing diagram of Fig. 15. Fig. 15 shows the driver request switching range, the current-energizing flag, the angle of motor 10, and the control state of motor 10, viewed from the top, with a common time axis as the horizontal axis. The angle of motor 10 is represented by a count value of encoder 13. Fig. 15 shows the speed state of motor 10 and the motor speed Msp. As shown in Fig. 15, the control state of motor 10 is set to the power-off control when the driver request switching range is held in the P range for a time x1. At time x1, when the driver request switching range changes from the P range to the D range, the power-on flag is switched from Off to On. A target count value Cen* according to the driver request switching range is set and the angle deviation calculation unit 61 calculates the angle deviation e. The angular deviation e is greater than the angle determination threshold e_th, and the switching control unit 75 switches the control state of the motor 10 from the power-off control to the feedback control. In addition, the FB control unit 60 determines that the speed state of the motor 10 corresponds to the acceleration state. At time x1, the current correction unit 84 corrects the angular deviation e based on the temperature correction coefficient KT. The target speed setting unit 62 sets the target motor speed Msp* based on the corrected angular deviation e and the battery voltage V. In Fig. 15, the target motor speed Msp* is indicated by a dashed line. The motor speed Msp begins to increase until it reaches the target motor speed Msp*. At time x2, the motor speed Msp exceeds the target motor speed Msp*, and the FB control unit 60 switches the speed state of the motor 10 from the acceleration state to the steady state. The motor speed Msp is then maintained at a constant value along the target motor speed Msp*. At time x3, the current target motor speed Msp*(n) becomes lower than the previous target motor speed Msp*(n-1), and the FB control unit 60 switches the speed state of motor 10 from the steady state to the deceleration state. The motor speed Msp is reduced to zero. In the switching range control device 40 according to the present embodiment, the FB value setting unit 63 sets the phase feed compensation value Msp_pl as a speed feedback value Msp_fb when the speed state of the motor 10 corresponds to the steady state or the deceleration state. The speed signal is prefetched and fed back to prevent hunting. For this reason, the motor speed Msp decreases with the target motor speed Msp* for a period of time x3 until the motor 10 is decelerated, and the motor speed Msp decreases with stable behavior. This enables stable control of the motor 10's drive. At time x4, the angular deviation e becomes less than or equal to the angle determination threshold e_th, and the switching control unit 75 switches the control state of the motor 10 from feedback control to steady-state current control. The motor 10 can be stopped quickly by the steady-state current. During a period of time from time x4 until time x5, when the current application time Ta elapses, the steady-state current control continues. Consequently, overrun or similar issues are prevented, and the motor 10 can be reliably stopped so that the locking roller 26 can be reliably fitted into the desired recess sections 22. In Fig. 15, as a comparative example, a motor angle Cen_c in the case where the motor is used in a high-temperature environment or a low-temperature environment is indicated by dashed lines with two points. When a motor is used in a high-temperature environment, the motor's coil resistance is high, the current flow is low, the braking force is reduced, and the motor angle Cen_c can overshoot. On the other hand, if the motor is used in a low-temperature environment, friction due to the motor's drive becomes high, response behavior deteriorates, and the time required for the motor angle Cen_c to reach the target angle can become long. Therefore, in the present embodiment, the temperature correction coefficient KT is calculated according to the motor current Im, and the current correction unit 84 corrects the angular deviation e based on the temperature correction coefficient KT. The angular deviation e is corrected to correct the target motor angle Msp*. Consequently, the braking point of the motor 10 can be advanced in the high-temperature environment, and overshooting is prevented. Furthermore, the braking point of the motor 10 can be delayed in the low-temperature environment, and a time at which the actual count value Cen reaches the target count value Cen* is suitable. Therefore, according to the present embodiment, the actual count value Cen achieves the target count value Cen* with excellent response behavior without overshooting due to temperature. At time x5, the switching control unit 75 switches the control state of motor 10 from steady-state power control to power-off control, and the power flag is switched to off. The power flag remains in the off state until the driver request switching range is changed again. The control state of motor 10 is maintained by the power-off control. Consequently, since motor 10 is not powered except when the switching range is changed, power consumption can be reduced compared to the case where power is continuously supplied. Furthermore, Fig. 15 describes an example in which the driver request switching range is switched from the P range to the D range; however, the same applies to the control at the time of a different range switch. (Other embodiments) (i) In the above embodiment, the motor is a brushless three-phase permanent magnet motor. In other embodiments, the motor may be any motor capable of switching between feedback control and steady-state current control. In the above embodiment, the motor has two sets of windings. In other embodiments, the number of winding sets in the motor may be one, three, or more. (ii) In the embodiment described above, during feedback control, square wave control is achieved by applying current at 120°. In another embodiment, during feedback control, square wave control may be achieved by applying current at 180°.Furthermore, the present invention is not limited to square wave signal control, and PWM control can be implemented using a triangle wave signal comparison method or an instantaneous vector selection method. (iii) In the above embodiment, the encoder is used as the rotation angle sensor to detect the rotation angle of the motor. In other embodiments, the rotation angle sensor is not limited to the encoder, and any sensor, such as a rotary encoder, can be used. Feedback control can be implemented using the rotation angle per se of the motor or a value different from the encoder count value, which can be converted to the rotation angle of the motor. The same applies to the selection of the steady-state phase in steady-state current control. (iv) In the embodiment described above, the locking plate is provided with four recessed sections.In other embodiments, the number of recessed sections is not limited to four and may correspond to any number. For example, two recessed sections of the locking plate may be used to switch between the P-range and the non-P-range. The switching range switching mechanism, the parking lock mechanism, and the like may differ from those of the foregoing embodiment. (v) In the foregoing embodiment, the fluid temperature sensor may measure the temperature of the coolant used for the radiator. The fluid temperature sensor may measure the temperature of a coolant that cools a voltage converter mounted on the vehicle. The current correction unit may calculate the temperature correction coefficient KT using the temperature of the coolant used to cool the voltage converter instead of the temperature of the coolant used for the radiator.
Claims
A switching range control device (40) mounted on a vehicle for switching a switching range by controlling a drive actuation of a motor (10), the switching range control device (40) comprising: a feedback control device (60) which performs feedback control based on an actual angle (Cen) of the motor (10) and a motor speed (Msp) corresponding to a rotational speed of the motor (10); a feedback value setting unit (63) which sets a feedback value of the motor speed based on the motor speed (Msp) to advance an excitation phase; a current sensor (81, 82) which detects a motor current (Im) flowing through the motor (10);and a current correction unit (84) which corrects a target motor speed (Msp*) corresponding to a target motor speed (10) determined based on a demand switching range, wherein: a temperature of a coolant used in the vehicle is defined as a coolant temperature (Hc); a temperature of an oil used in the vehicle is defined as an oil temperature (Ho); an outside air temperature is defined as an outside air temperature (Ha); the motor current (Im), which is set based on a preset temperature (Hs), is defined as a normalized motor current (Im_N);The current correction unit (84) corrects the motor current (Im) to match the normalized motor current (Im_N) when at least one quantity from the coolant temperature (Hc) and the oil temperature (Ho) and the outside air temperature (Ha) coincides with the set temperature (Hs), and the current correction unit (84) estimates a temperature of the motor (10) based on the motor current (Im) and the normalized motor current (Im_N). Switching range control device according to claim 1, wherein: the current correction unit (84) corrects the target motor speed (Msp*) when the motor speed (Msp) increases. Switching range control device according to claim 1 or 2, further comprising: a feedforward term correction unit (67) which corrects a command value calculated by the feedback control device (60) based on the motor speed (Msp) or the target motor speed (Msp*), wherein: the feedforward term correction unit (67) corrects the command value based on the motor current (Im) when the motor speed (Msp) is constant or when the motor speed (Msp) decreases. Switching range control device according to any one of claims 1 to 3, wherein: the feedback control device (60) comprises: a target speed setting unit (62) which sets the target motor speed (Msp*) based on an angular deviation (e) corresponding to a difference between a target angle (Cen*) of the motor (10) determined based on the request switching range and the actual angle of the motor (10); and a control device (65) which calculates a command value (D_fb) to achieve the motor speed to correspond to the target speed; the current correction unit (84) which estimates a temperature (Hm) of the motor (10) based on the motor current (Im) and corrects the angular deviation (e); and the target speed setting unit (62) which sets the target motor speed (Msp*) based on the angular deviation (e) corrected by the current correction unit (84). Switching range control device according to one of claims 1 to 4, further comprising: a stationary phase current control unit (70) which performs stationary phase current control for currenting a stationary phase selected based on an actual angle of the motor (10);and a switching control unit (75) which switches the control of the motor (10) to feedback control when the demand switching range changes to a different range, and switches the control of the motor (10) from feedback control to steady-state current control when a difference (e) between a target angle (Cen*) of the motor (10) determined based on the demand switching range and the actual angle of the motor (10) becomes less than or equal to an angle determination threshold (e_th), wherein: the switching control unit (75) continues steady-state current control until a current duration (Ta) elapses after switching to steady-state current control;and the switching control unit (75) switches the control of the motor (10) from the steady-state current control to a current-off control to interrupt the current to the motor (10) when the current duration after switching to the steady-state current control elapses.