WO2017208682A1 - シフトレンジ制御装置 - Google Patents

シフトレンジ制御装置 Download PDF

Info

Publication number
WO2017208682A1
WO2017208682A1 PCT/JP2017/016324 JP2017016324W WO2017208682A1 WO 2017208682 A1 WO2017208682 A1 WO 2017208682A1 JP 2017016324 W JP2017016324 W JP 2017016324W WO 2017208682 A1 WO2017208682 A1 WO 2017208682A1
Authority
WO
WIPO (PCT)
Prior art keywords
angle
motor
value
output shaft
change amount
Prior art date
Application number
PCT/JP2017/016324
Other languages
English (en)
French (fr)
Inventor
神尾 茂
Original Assignee
株式会社デンソー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2017030961A external-priority patent/JP6607213B2/ja
Application filed by 株式会社デンソー filed Critical 株式会社デンソー
Priority to DE112017002740.3T priority Critical patent/DE112017002740B4/de
Priority to CN201780033031.9A priority patent/CN109196253B/zh
Publication of WO2017208682A1 publication Critical patent/WO2017208682A1/ja
Priority to US16/202,428 priority patent/US10680541B2/en

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16HGEARING
    • F16H61/00Control functions within control units of change-speed- or reversing-gearings for conveying rotary motion ; Control of exclusively fluid gearing, friction gearing, gearings with endless flexible members or other particular types of gearing
    • F16H61/26Generation or transmission of movements for final actuating mechanisms
    • F16H61/28Generation or transmission of movements for final actuating mechanisms with at least one movement of the final actuating mechanism being caused by a non-mechanical force, e.g. power-assisted
    • F16H61/32Electric motors actuators or related electrical control means therefor
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • H02P29/40Regulating or controlling the amount of current drawn or delivered by the motor for controlling the mechanical load
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16HGEARING
    • F16H61/00Control functions within control units of change-speed- or reversing-gearings for conveying rotary motion ; Control of exclusively fluid gearing, friction gearing, gearings with endless flexible members or other particular types of gearing
    • F16H61/02Control functions within control units of change-speed- or reversing-gearings for conveying rotary motion ; Control of exclusively fluid gearing, friction gearing, gearings with endless flexible members or other particular types of gearing characterised by the signals used

Definitions

  • This disclosure relates to a shift range control device.
  • Patent Document 1 has two F / B control systems, and in the first F / B control system, the deviation between the detected output shaft rotation angle of the output shaft sensor and the target output shaft rotation angle is used, and the target The motor rotation angle is corrected according to the play amount of the rotation transmission system.
  • This disclosure is intended to provide a shift range control device capable of switching the shift range with high accuracy.
  • a shift range control device is configured to drive a motor in a shift range switching system in which play exists between a motor shaft that is a rotation shaft of a motor and an output shaft to which the rotation of the motor is transmitted.
  • the shift range is switched by controlling.
  • the shift range control device includes an idling determination unit and a target value setting unit.
  • the free running determination unit is a motor angle that is a value based on a detection value of a motor rotation angle sensor that detects rotation of the motor, and an output shaft angle that is a value based on a detection value of an output shaft sensor that detects rotation of the output shaft. Based on the above, it is determined whether or not the idle running state in which the motor is rotating within the range of play is completed.
  • the target value setting unit sets a motor angle target value related to motor drive control using an angle correction value that is a value corresponding to the motor angle at the end of idling.
  • the end of the idling state is determined using the motor angle and the output shaft angle, and the motor angle target value is set based on the motor angle at the end of idling.
  • the motor angle target value can be appropriately set without performing the play amount learning process.
  • the detection accuracy requirement is relaxed compared with the case where determination is made using only the output shaft angle as the detection value, for example. It is possible to prevent the motor angle target value from being set to an incorrect value due to the influence of disturbance noise or the like.
  • FIG. 1 is a perspective view showing a shift-by-wire system according to a first embodiment.
  • FIG. 2 is a schematic configuration diagram showing the shift-by-wire system according to the first embodiment.
  • FIG. 3 is a circuit diagram showing the motor and the motor driver according to the first embodiment.
  • FIG. 4 is a block diagram showing the shift range control apparatus according to the first embodiment.
  • FIG. 5 is a schematic diagram illustrating play between the motor and the output shaft according to the first embodiment.
  • FIG. 6 is a flowchart for explaining target correction processing according to the first embodiment.
  • FIG. 7 is a time chart for explaining target correction processing according to the first embodiment.
  • FIG. 8 is a flowchart for explaining target correction processing according to the second embodiment.
  • FIG. 9 is a flowchart for explaining target correction processing according to the third embodiment.
  • FIG. 10 is a time chart for explaining target correction processing according to the third embodiment.
  • FIG. 11 is a flowchart for explaining target correction processing according to the fourth embodiment.
  • FIG. 12 is a flowchart for explaining section determination processing according to the fourth embodiment.
  • FIG. 13 is a time chart for explaining target correction processing according to the fourth embodiment.
  • FIG. 14 is a time chart for explaining target correction processing according to the fifth embodiment.
  • FIGS. 1-10 A shift range control apparatus according to the first embodiment is shown in FIGS.
  • the shift-by-wire system 1 as a shift range switching system includes a motor 10, a shift range switching mechanism 20, a parking lock mechanism 30, a shift range control device 40, and the like.
  • the motor 10 rotates when power is supplied from a battery 45 (see FIG. 3) mounted on a vehicle (not shown), and functions as a drive source for the shift range switching mechanism 20.
  • a motor that can change the magnitude of the current by feedback control and can change the command for each phase is used.
  • the motor 10 of this embodiment is a permanent magnet type DC brushless motor.
  • the motor 10 has two winding sets 11 and 12.
  • the first winding set 11 includes a U1 coil 111, a V1 coil 112, and a W1 coil 113.
  • the second winding set 12 includes a U2 coil 121, a V2 coil 122, and a W2 coil 123.
  • the encoder 13 as a motor rotation angle sensor detects the rotational position of a rotor (not shown) of the motor 10.
  • the encoder 13 is, for example, a magnetic rotary encoder, and includes a magnet that rotates integrally with the rotor, a Hall IC for magnetic detection, and the like.
  • the encoder 13 outputs A-phase and B-phase pulse signals at every predetermined angle in synchronization with the rotation of the rotor.
  • the speed reducer 14 is provided between the motor shaft 105 (see FIG. 5) of the motor 10 and the output shaft 15, and decelerates the rotation of the motor 10 and outputs it to the output shaft 15. Thereby, the rotation of the motor 10 is transmitted to the shift range switching mechanism 20.
  • the output shaft 15 is provided with an output shaft sensor 16 that detects an output shaft angle ⁇ s that is an angle of the output shaft 15.
  • the output shaft sensor 16 has an output that continuously changes in accordance with the amount of rotation of the output shaft 15.
  • the output shaft sensor 16 of the present embodiment is a potentiometer whose output changes linearly according to the amount of rotation of the output shaft 15.
  • the shift range switching mechanism 20 includes a detent plate 21, a detent spring 25, and the like.
  • the rotational driving force output from the speed reducer 14 is converted into a manual valve 28 and a parking lock mechanism 30. To communicate.
  • the detent plate 21 is fixed to the output shaft 15 and driven by the motor 10.
  • the direction in which the detent plate 21 moves away from the base portion of the detent spring 25 is defined as the forward rotation direction, and the direction approaching the base portion is defined as the reverse rotation direction.
  • the detent plate 21 is provided with pins 24 that protrude in parallel with the output shaft 15.
  • the pin 24 is connected to the manual valve 28.
  • the shift range switching mechanism 20 converts the rotational motion of the motor 10 into a linear motion and transmits it to the manual valve 28.
  • the manual valve 28 is provided on the valve body 29.
  • the four recesses 22 for holding the manual valve 28 at positions corresponding to the respective ranges are provided on the detent spring 25 side of the detent plate 21.
  • the concave portion 22 corresponds to each range of D (drive), N (neutral), R (reverse), and P (park) from the base side of the detent spring 25.
  • the detent spring 25 is an elastically deformable plate-like member, and a detent roller 26 is provided at the tip.
  • the detent roller 26 is fitted into one of the recesses 22.
  • the detent spring 25 urges the detent roller 26 toward the rotation center side of the detent plate 21.
  • the detent spring 25 is elastically deformed and the detent roller 26 moves in the recess 22.
  • the swing of the detent plate 21 is restricted, the axial position of the manual valve 28 and the state of the parking lock mechanism 30 are determined, and the automatic transmission 5 The shift range is fixed.
  • the parking lock mechanism 30 includes a parking rod 31, a cone 32, a parking lock pole 33, a shaft portion 34, and a parking gear 35.
  • the parking rod 31 is formed in a substantially L shape, and one end 311 side is fixed to the detent plate 21.
  • a conical body 32 is provided on the other end 312 side of the parking rod 31.
  • the cone 32 is formed so as to decrease in diameter toward the other end 312 side.
  • the parking lock pole 33 is in contact with the conical surface of the cone 32 and is provided so as to be able to swing around the shaft portion 34.
  • a convex portion that can mesh with the parking gear 35. 331 is provided on the parking gear 35 side of the parking lock pole 33.
  • the parking gear 35 is provided on an axle (not shown) and is provided so as to be able to mesh with the convex portion 331 of the parking lock pole 33.
  • rotation of the axle is restricted.
  • the shift range is a notP range that is a range other than P
  • the parking gear 35 is not locked by the parking lock pole 33, and the rotation of the axle is not hindered by the parking lock mechanism 30.
  • the shift range is the P range
  • the parking gear 35 is locked by the parking lock pole 33 and the rotation of the axle is restricted.
  • the shift range control device 40 includes motor drivers 41 and 42, an ECU 50, and the like.
  • the motor driver 41 is a three-phase inverter that switches energization of the first winding set 11, and switching elements 411 to 416 are bridge-connected.
  • One end of the U1 coil 111 is connected to a connection point between the U-phase switching elements 411 and 414 that form a pair.
  • 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 by a connection part 115.
  • the motor driver 42 is a three-phase inverter that switches energization of the second winding set 12, and switching elements 421 to 426 are bridge-connected.
  • One end of the U2 coil 121 is connected to a connection point between the U-phase switching elements 421 and 424 that form a pair.
  • 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 by a connection part 125.
  • the switching elements 411 to 416 and 421 to 426 of the present embodiment are MOSFETs, but other elements such as IGBTs may be used.
  • a motor relay 46 is provided between the motor driver 41 and the battery 45.
  • a motor relay 47 is provided between the motor driver 42 and the battery 45. The motor relays 46 and 47 are turned on when a start switch such as an ignition switch is turned on, and power is supplied to the motor 10 side. Further, the motor relays 46 and 47 are turned off when the start switch is turned off, and the supply of electric power to the motor 10 side is cut off.
  • the ECU 50 controls the on / off operation of the switching elements 411 to 416 and 421 to 426 so that the driver requested shift range input by operating a shift lever (not shown) matches the shift range in the shift range switching mechanism 20.
  • the drive of the motor 10 is controlled. Further, the ECU 50 controls the drive of the shift hydraulic control solenoid 6 based on the vehicle speed, the accelerator opening, the driver request shift range, and the like.
  • the gear position is controlled by controlling the shift hydraulic control solenoid 6.
  • the number of shift hydraulic control solenoids 6 is provided according to the number of shift stages. In the present embodiment, one ECU 50 controls the driving of the motor 10 and the solenoid 6, but the motor ECU for controlling the motor 10 and the AT-ECU for solenoid control may be separated.
  • the drive control of the motor 10 will be mainly described.
  • the ECU 50 includes an angle calculation unit 51, a command calculation unit 52, a feedback control unit 53, a stationary phase energization control unit 61, a switching control unit 65, a signal generation unit 66, and the like. Configured as the subject.
  • Each process in the ECU 50 may be a software process by a CPU executing a program stored in advance in a substantial memory device such as a ROM, or may be a hardware process by a dedicated electronic circuit. Alternatively, each processing in the ECU 50 may be a combination of software processing and hardware processing.
  • the angle calculation unit 51 calculates the actual count value Cen that is the count value of the encoder 13 based on the A-phase and B-phase pulses output from the encoder 13.
  • the actual count value Cen is a value corresponding to the actual mechanical angle and electrical angle of the motor 10.
  • the actual count value Cen is set to “actual angle”.
  • a value obtained by converting the mechanical angle of the motor 10 based on the actual count value by the gear ratio of the reduction gear 14 is defined as a motor angle ⁇ m.
  • the command calculation unit 52 includes an idle running determination unit 521 and a target value setting unit 525.
  • the idling determination unit 521 determines based on the motor angle ⁇ m and the output shaft angle ⁇ s whether or not the idling state in which the motor 10 is rotating within the range of play between the motor shaft 105 and the output shaft 15 is determined. To do. In FIG. 4, the command calculation unit 52 is described as being input with the actual count value Cen and the output shaft angle ⁇ s. However, instead of the actual count value Cen, the motor angle ⁇ m converted into a gear ratio is described. May be input, or the motor angle ⁇ m may be calculated from the actual count value Cen in the command calculation unit 52. Similarly, for the output shaft angle ⁇ s, the detection value of the output shaft sensor 16 may be input, and the command calculation unit 52 may calculate the output shaft angle ⁇ s.
  • the target value setting unit 525 sets a target count value Cen *.
  • the target count value Cen * is a value obtained by converting a motor angle target value ⁇ cmd, which is a target value of the motor angle ⁇ m, into an encoder count value.
  • the motor angle target value ⁇ cmd is changed between the shift range before the switching and the driver request shift range after the idle run ends and after the predetermined duration period elapses after the driver request shift range is changed.
  • a corresponding provisional value ⁇ cmd_a is set.
  • the motor angle target value ⁇ cmd is changed to a value calculated using the angle correction value ⁇ p that is a value corresponding to the motor angle ⁇ m at the end of the idle run. Is done.
  • the feedback control unit 53 includes a phase advance filter 54, a subtractor 55, and a controller 56, and performs position feedback control.
  • the phase advance filter 54 performs phase advance compensation for advancing the phase of the actual count value Cen, and calculates the phase advance value Cen_pl.
  • the phase lead value Cen_pl subjected to the phase lead filter process is also included in the concept of “real angle”.
  • the subtractor 55 calculates a deviation ⁇ Cen between the target count value Cen * and the phase advance value Cen_pl.
  • the controller 56 calculates the command duty Du by PI control or the like so that the deviation ⁇ Cen becomes 0 so that the target count value Cen * and the actual count value phase advance value Cen_pl coincide with each other.
  • the magnitude of the current and torque flowing in the coils 111 to 113 and 121 to 123 can be changed by changing the duty by PWM control or the like.
  • the drive of the motor 10 is controlled by rectangular wave control by 120 ° energization.
  • the rectangular wave control by 120 ° energization the first-phase high-potential side switching element and the second-phase low-potential side switching element are turned on.
  • an energized phase switches by changing the combination of a 1st phase and a 2nd phase for every electrical angle of 60 degrees. Thereby, a rotating magnetic field is generated in the winding sets 11 and 12, and the motor 10 rotates.
  • the stationary phase energization control unit 61 performs stationary phase energization control.
  • the stationary phase energization control is a control for stopping the rotation of the motor 10, and selects a stationary phase according to the electrical angle, so that the current flows in a predetermined direction of the selected stationary phase. 416 and 421 to 426 are controlled. Thereby, the excitation phase is fixed. When the excitation phase is fixed, the motor 10 stops at a predetermined electrical angle corresponding to the excitation phase.
  • the stationary phase energization control unit 61 selects the stationary phase and the energization direction based on the actual count value Cen so as to stop the motor 10 at the electrical angle closest to the current rotor position.
  • the stationary phase energization control is performed when the difference between the actual count value Cen and the target count value Cen * is equal to or less than the angle determination threshold value ENth. Therefore, when the stationary phase energization control is being performed, it can be considered that the actual count value Cen and the target count value Cen * are approximately the same. For this reason, the motor 10 can be stopped at a location that substantially matches the target count value Cen * by stopping at the stopable electrical angle closest to the current rotor position.
  • the electrical angle corresponding to the target count value Cen * and the electrical angle at which the motor 10 is stopped by the fixed-phase energization control cause a deviation of the motor resolution at the maximum, but the reduction ratio of the reduction gear 14 Is large, the shift of the stop position of the output shaft 15 is small, so that it does not matter.
  • the switching control unit 65 switches the control state of the motor 10.
  • the switching control unit 65 switches between the position feedback control and the fixed phase energization control based on the target count value Cen * and the actual count value Cen.
  • the switching control unit 65 sets the control state of the motor 10 to position feedback control when the driver requested shift range changes.
  • the switching control unit 65 switches to fixed phase energization control.
  • the switching control unit 65 continues the fixed phase energization control for a period from when switching to the fixed phase energization control to when the energization continuation time Ta elapses, and performs energization off control after the energization continuation time Ta elapses.
  • the absolute value of the difference between the target count value Cen * and the actual count value Cen corresponds to the “difference value between the target angle and the actual angle”.
  • the signal generation unit 66 generates a drive signal for switching on and off the switching elements 411 to 416 and 421 to 426 according to the control state selected by the switching control unit 65 and outputs the drive signal to the motor drivers 41 and 42. Thereby, the drive of the motor 10 is controlled.
  • FIG. 5 is a schematic diagram conceptually showing “play”, in which the output shaft 15 and the speed reducer 14 are integrated, and the motor shaft 105 is movable within the range of play of the speed reducer 14. Although described as being, it may be configured such that the motor shaft 105 and the speed reducer 14 are integrated, and “play” exists between the speed reducer 14 and the output shaft 15. Absent.
  • a speed reducer 14 is provided between the motor shaft 105 and the output shaft 15, and there is “play” including gear backlash between the motor shaft 105 and the output shaft 15. is doing.
  • the motor 10 is a DC brushless motor, and when the energization of the motor 10 is stopped, the motor shaft 105 rotates within the range of play due to the influence of cogging torque, etc. And the speed reducer 14 may be separated.
  • FIG. 5 shows an example in which the detent roller 26 moves to the adjacent concave portion 22, but the same applies to a case where a plurality of mountain portions are climbed.
  • the position control accuracy is ensured by detecting the end of loose running based on the motor angle ⁇ m and the output shaft angle ⁇ s and correcting the target count value Cen *.
  • the target correction process of this embodiment will be described based on the flowchart shown in FIG.
  • This process is a process executed by the command calculation unit 52 at a predetermined cycle. The same applies to FIGS. 8 and 9 described later.
  • the command calculation unit 52 performs signal processing of the motor angle ⁇ m and the output shaft angle ⁇ s.
  • Signal processing is performed in a predetermined cycle. In the present embodiment, description will be made assuming that signal processing is performed at a cycle of 4 [ms].
  • filtering processing for removing noise of the motor angle ⁇ m and the output shaft angle ⁇ s is performed.
  • the filtering process is, for example, an LPF process, and the following equation 1 is calculated.
  • a moving average value for a predetermined period (for example, 8 [ms]) may be calculated instead of the LPF process.
  • the command calculation unit 52 calculates a motor angle change amount ⁇ m that is a change amount per unit time of the motor angle ⁇ m and an output shaft angle change amount ⁇ s that is a change amount per unit time of the output shaft angle ⁇ s.
  • .DELTA..theta.m and .DELTA..theta.s are assumed to be positive values except for errors and the like, depending on the current range and the driver-requested shift range.
  • the command calculation unit 52 calculates a change amount difference value Dms that is a difference value between the motor angle change amount ⁇ m and the output shaft angle change amount ⁇ s (see Expression 2).
  • the command calculation unit 52 determines whether or not the energization flag is turned on.
  • the energization flag is turned on when the driver request shift range is changed, and is turned off when the stationary phase energization control is finished.
  • the process proceeds to S106.
  • the process proceeds to S103.
  • the command calculation unit 52 stores the current motor angle ⁇ m in the RAM or the like as the drive initial value ⁇ init, and proceeds to S105.
  • the command calculation unit 52 resets a counter value Ck of a continuation counter described later. If the continuation counter has already been reset, the reset state is continued.
  • the command calculation unit 52 turns on the correction value non-setting flag Xinit. If the correction value non-setting flag Xinit is already turned on, the on state is continued.
  • the command calculation unit 52 determines that the absolute value of the difference between the motor angle ⁇ m and the drive initial value ⁇ init is greater than the drive initial determination value ⁇ a. Judge whether it is small or not.
  • the detent roller 26 is in the same recess 22 as before the shift range switching, and the drive initial determination value ⁇ a is an arbitrary value corresponding to the range before switching and the shape of the detent plate 21. Set to a value.
  • the process proceeds to S107.
  • the absolute value of the difference between the motor angle ⁇ m and the drive initial value ⁇ init is equal to or greater than the drive initial determination value ⁇ a (S106: NO)
  • the process proceeds to S111.
  • the idle running determination unit 521 determines whether or not the absolute value of the change amount difference value Dms is less than the coincidence determination threshold value Db.
  • the coincidence determination threshold value Db is set to a value (for example, 0.5 ° / 4 ms) in accordance with a difference that allows ⁇ m and ⁇ s to be regarded as coincident, considering errors and the like.
  • the idling determination unit 521 determines whether or not the motor angle change amount ⁇ m is equal to or greater than the rotation determination threshold Dr.
  • the rotation determination threshold Dr is set to a value (for example, 1 ° / 4 ms) that allows the motor 10 to be regarded as rotating.
  • the process proceeds to S111.
  • the motor angle change amount ⁇ m is greater than or equal to the rotation determination threshold Dr (S108: YES)
  • the process proceeds to S109.
  • the idling determination unit 521 determines whether or not the output shaft angle change amount ⁇ s is equal to or greater than the rotation determination threshold Dr.
  • the rotation determination threshold value Dr related to the determination of the output shaft angle change amount ⁇ s may be a value different from the value related to the motor angle change amount ⁇ m.
  • the command calculation unit 52 determines whether or not the correction value non-setting flag Xinit is turned on. When it is determined that the correction value non-setting flag Xinit is off (S110: NO), the process proceeds to S111. When it is determined that the correction value non-setting flag Xinit is on (S110: YES), the process proceeds to S112.
  • step S111 the counter value Ck of the continuation counter is reset.
  • the command calculation unit 52 sets the angle correction value ⁇ p as the current value of the motor angle ⁇ m, and stores the angle correction value ⁇ p in the RAM or the like.
  • the command calculation unit 52 turns off the correction value non-setting flag Xinit.
  • the backlash runs freely.
  • the motor angle ⁇ m at this time is stored as an angle correction value ⁇ p.
  • the command calculation unit 52 increments the counter value Ck of the continuation counter.
  • the command calculation unit 52 determines whether or not the counter value Ck of the continuation counter is the continuation determination value Cth. When it is determined that the counter value Ck is less than the continuation determination value Cth (S115: NO), the process of S116 is not performed. When it is determined that the counter value Ck is equal to or greater than the continuation determination value Cth (S115: YES), the process proceeds to S116.
  • the target value setting unit 525 calculates the motor angle target value ⁇ cmd using the angle correction value ⁇ p (see Formula 3).
  • ⁇ det in the equation is a design value set according to the angle of the valley-to-valley rotation section according to the shift range before switching and the driver-requested shift range.
  • the driver requested shift range is changed, the energization flag is switched from OFF to ON, and the motor angle target value is set.
  • the target value set here is the provisional value ⁇ cmd_a.
  • the provisional value ⁇ cmd_a is set and the motor 10 is driven by position feedback control, the motor angle ⁇ m changes as shown by the motor angle ⁇ m, the output shaft angle ⁇ s, and the angle changes ⁇ m and ⁇ s in FIG.
  • the target value is corrected using the angle correction value ⁇ p, and the motor angle target value ⁇ cmd is changed to the value of Equation 3. Thereafter, the motor 10 is controlled so that the motor angle ⁇ m becomes the motor angle target value ⁇ cmd.
  • the motor angle target value ⁇ cmd is corrected to be smaller than the temporary value ⁇ cmd_a, but may be corrected to be larger than the temporary value ⁇ cmd_a according to the setting of the temporary value ⁇ cmd_a or the like.
  • the end of backlash is determined based on the amount of change in the motor angle ⁇ m and the output shaft angle ⁇ s, and the target value is corrected based on the motor angle ⁇ m at the end of backlash.
  • the motor angle target value ⁇ cmd can be appropriately set without performing a play amount learning process by rotating the motor in both directions and contacting both ends of the play.
  • the output shaft sensor 16 is required to have high detection accuracy as an absolute angle.
  • the end of backlash is determined based on the amount of change in the motor angle ⁇ m and the output shaft angle ⁇ s, and the motor angle ⁇ m at the end of backlash is set as the angle correction value ⁇ p. As long as the output shaft angle ⁇ s itself is used, the accuracy requirement can be relaxed.
  • the backlash end when the end of backlash detection is detected based on the amount of change in the output shaft angle ⁇ s and the target value is corrected, if noise occurs in the detected value due to the influence of disturbance or the like, the backlash end May be erroneously determined.
  • a heterogeneous multiplex system that uses the motor angle ⁇ m based on the detection value of the encoder 13 and the output shaft angle ⁇ s based on the detection value of the output shaft sensor 16 is used, and changes in the motor angle ⁇ m and the output shaft angle ⁇ s are used. Since the end of backlash running is determined based on this, erroneous determination of backlash end running due to disturbance noise and erroneous correction of the motor angle target value ⁇ cmd can be avoided.
  • the shift range control device 40 is used in the shift-by-wire system 1 in which there is play between the motor shaft 105 that is the rotation shaft of the motor 10 and the output shaft 15 to which the rotation of the motor 10 is transmitted.
  • the shift range is switched by controlling the drive of the motor 10 so that the motor angle ⁇ m, which is a rotation angle of 10, coincides with the motor angle target value ⁇ cmd.
  • the shift range control device 40 includes an idling determination unit 521 and a target value setting unit 525.
  • the idle running determination unit 521 is a value based on the motor angle ⁇ m that is a value based on the detection value of the encoder 13 that detects the rotation of the motor 10 and the detection value of the output shaft sensor 16 that detects the rotation of the output shaft 15. Based on the output shaft angle ⁇ s, the end of idle running in which the motor 10 is rotating within the play range is determined.
  • the target value setting unit 525 sets the motor angle target value ⁇ cmd related to the drive control of the motor 10 using the angle correction value ⁇ p that is a value corresponding to the motor angle ⁇ m at the end of idling.
  • the end of the idling state is determined using the motor angle ⁇ m and the output shaft angle ⁇ s, and the motor angle target value ⁇ cmd is set based on the motor angle ⁇ m at the end of idling.
  • the motor angle target value ⁇ cmd can be appropriately set without performing a play amount learning process.
  • the detection of the output shaft angle ⁇ s is compared with the case where the determination is based only on the output shaft angle ⁇ s. The accuracy requirement can be relaxed, and the motor angle target value ⁇ cmd can be prevented from being set to an incorrect value due to the influence of disturbance noise or the like.
  • the idling determination unit 521 matches the motor angle change amount ⁇ m, which is a change amount per unit time, of the motor angle ⁇ m with the output shaft angle ⁇ s, which is a change amount per unit time, of the output shaft angle ⁇ s (FIG. 6). If the motor angle change amount ⁇ m and the output shaft angle change amount ⁇ s are both equal to or greater than the rotation determination threshold Dr (S108: YES and S109: YES), the idle running state is terminated. judge.
  • S201 to S204 is the same as the processing of S101 to S104 in FIG.
  • the command calculation unit 52 sets the change amount difference maximum value Dms_max to 0.
  • the process of S206 is the same as the process of S106 in FIG.
  • the command calculation unit 52 determines the change amount difference value Dms. It is determined whether or not this current value is larger than the change amount difference maximum value Dms_max stored in the RAM or the like. When it is determined that the current value of the change amount difference value Dms is equal to or less than the change amount difference maximum value Dms_max (S207: NO), the process proceeds to S210. When it is determined that the current value of the change amount difference value Dms is greater than the change amount difference maximum value Dms_max (S207: YES), the process proceeds to S208.
  • the command calculation unit 52 stores the current value of the change amount difference value Dms in the RAM or the like as the change amount difference maximum value Dms_max.
  • the command calculation unit 52 sets the angle correction value ⁇ p as the current value of the motor angle ⁇ m, and stores the angle correction value ⁇ p in the RAM or the like.
  • the processing from S210 to S212 is the same as the processing from S107 to S109 in FIG.
  • the process proceeds to S213.
  • the motor angle change amount ⁇ m and the output shaft angle change amount ⁇ s match (S210: YES), and both the motor angle change amount ⁇ m and the output shaft angle change amount ⁇ s are greater than or equal to the rotation determination threshold Dr (S210). : YES and S211: YES)
  • the process proceeds to S214.
  • the process of S213 is the same as the process of S111 in FIG.
  • the processing from S214 to S216 is the same as the processing from S114 to S116 in FIG.
  • the change amount difference maximum value Dms_max and the angle correction value ⁇ p are updated.
  • the processing of S208 and S209 is not performed, and thus the change amount difference maximum value Dms_max and the angle correction value ⁇ p so far are held.
  • the motor angle ⁇ m at the peak of the change amount difference value Dms is held as the angle correction value ⁇ p.
  • the peak of the change amount difference value Dms is detected, and the motor angle ⁇ m at the peak of the change amount difference value Dms is used as the angle correction value ⁇ p. That is, in this embodiment, the motor angle ⁇ m at time x12 in FIG. 7 is set as the angle correction value ⁇ p.
  • detecting the peak of the change amount difference value Dms is synonymous with detecting an inflection point at which the change speed of the motor angle change amount ⁇ m changes. Furthermore, it can be said that detecting the change amount difference value Dms is synonymous with detecting an inflection point at which the change speed of the output shaft angle change amount ⁇ s changes.
  • the target value setting unit 525 runs the motor angle ⁇ m when the change amount difference value Dms, which is the difference value between the motor angle change amount ⁇ m and the output shaft angle change amount ⁇ s, becomes a peak value.
  • the motor angle ⁇ m at the end is considered, and the motor angle target value ⁇ cmd is set with the motor angle ⁇ m as the angle correction value ⁇ p.
  • the angle correction value ⁇ p can be appropriately set.
  • the target correction process of this embodiment will be described based on the flowchart shown in FIG. 9 differs from the first embodiment in that S121 and S122 are used instead of S107 to S109 in FIG. Further, S121 and S122 may be used instead of S210 to S212 in FIG.
  • the command calculation unit 52 in addition to the above-described filter processing and the like, per unit time of the angle difference value ⁇ ms (see Formula 4), which is the difference between the motor angle ⁇ m and the output shaft angle ⁇ s, and the angle difference value ⁇ ms. Is calculated as an angle difference value change amount ⁇ ms.
  • the free running determination unit 521 determines whether or not the angle difference value change amount ⁇ ms is zero.
  • the angle difference value change amount ⁇ ms is smaller than the determination value set according to the detection error or the like, the angle difference value change amount ⁇ ms is considered to be zero.
  • the process proceeds to S111.
  • the process proceeds to S110, and the subsequent processing is performed.
  • the horizontal axis is the common time axis, and the motor angle ⁇ m, the output shaft angle ⁇ s, the angle difference value ⁇ ms, and the angle difference value change amount ⁇ ms.
  • the motor angle ⁇ m and the output shaft angle ⁇ s in FIG. 10 are substantially the same as the motor angle ⁇ m and the output shaft angle ⁇ s in FIG. 7 except for the angle correction value ⁇ p.
  • the angle difference value ⁇ ms in FIG. 10 increases during the idle running. Further, when the idle running section ends at time x22, the motor 10 and the output shaft 15 rotate together, so that the angle difference value ⁇ ms becomes constant as shown by the angle difference value ⁇ ms in FIG. As shown in the angle difference value change amount ⁇ ms of 10, the angle difference value change amount ⁇ ms becomes zero.
  • the target value is corrected using the angle correction value ⁇ p at time x23 when the duration corresponding to the continuation determination value Cth has elapsed from time x22. Thereafter, the motor 10 is controlled so that the motor angle ⁇ m becomes the corrected motor angle target value ⁇ cmd.
  • the idling determination unit 521 has an angle difference value ⁇ ms that is a difference value between the motor angle ⁇ m and the output shaft angle ⁇ s larger than the difference determination threshold value ⁇ b (S121 in FIG. 9: YES), and the angle
  • the angle difference value change amount ⁇ ms which is a change amount per unit time of the difference value ⁇ ms, becomes 0, it is determined that the idling state has ended.
  • FIGS. A fourth embodiment is shown in FIGS. This embodiment is different from the above embodiment in target correction processing, and this point will be mainly described.
  • S301 to S303 is the same as the processing of S101 to S103 in FIG.
  • the free running determination unit 521 determines whether or not the output shaft angle change amount ⁇ s is zero. Considering a detection error or the like, for example, if it is equal to or less than a predetermined value close to 0, it is determined that the output shaft angle change amount ⁇ 0 is 0. When it is determined that the output shaft angle change amount ⁇ s is not 0 (S361: NO), the process proceeds to S364. When it is determined that the output shaft angle change amount ⁇ s is 0 (S361: YES), the process proceeds to S362.
  • the process of S362 is the same as the process of SS108 in FIG. 6, and the idle running determination unit 521 determines whether or not the motor angle change amount ⁇ m is equal to or greater than the rotation determination threshold Dr. When it is determined that the motor angle change amount ⁇ m is greater than or equal to the rotation determination threshold Dr (S362: YES), the process proceeds to S363. When it is determined that the motor angle change amount ⁇ m is less than the rotation determination threshold Dr (S362: NO), the process proceeds to S364.
  • the free running determination unit 521 turns on the flag A indicating that the free running section is a backlash.
  • the free running determination unit 521 turns off the flag A.
  • the flag A is “Xgata_A”, the flag on state is “1”, and the off state is “0”. The same applies to a flag B and a flag AB described later.
  • S365 is the same as S362, and if it is determined that the motor angle change amount ⁇ m is less than the rotation determination threshold Dr (S365: NO), the process proceeds to S370. When it is determined that the motor angle change amount ⁇ m is greater than or equal to the rotation determination threshold Dr (S365: YES), the process proceeds to S366.
  • the free running determination unit 521 determines whether or not the output shaft angle change amount ⁇ s is equal to or greater than the rotation determination threshold Dr. When it is determined that the output shaft angle change amount ⁇ s is less than the rotation determination threshold Dr (S366: NO), the process proceeds to S370. When it is determined that the output shaft angle change amount ⁇ s is equal to or greater than the rotation determination threshold Dr (S366: YES), the process proceeds to S367.
  • S367 is the same as S107 in FIG. 6, and when it is determined that the absolute value of the change amount difference value Dms is greater than or equal to the coincidence determination threshold value Db (S367: NO), that is, the motor angle change amount ⁇ m and the output shaft If the angle change amount ⁇ s does not match, the process proceeds to S369. When it is determined that the absolute value of the change amount difference value Dm is less than the coincidence determination threshold value Db (S367: YES), that is, when the motor angle change amount ⁇ m matches the output shaft angle change amount ⁇ s, the process proceeds to S368. .
  • the idling determination unit 521 sets a flag B indicating that the motor 10 and the output shaft 15 are rotating in a consistent manner.
  • the idle running determination unit 521 sets a flag AB indicating a transition section from the loose running state to the state in which the motor 10 and the output shaft 15 rotate together.
  • the free running determination unit 521 determines whether or not the flag A is on. When it is determined that the flag A is OFF (S307: NO), the process proceeds to S309. When it is determined that the flag A is on (S307: YES), the process proceeds to S308.
  • the idling determination unit 521 uses the count value Ct of the time counter as the x coordinate, the motor angle change amount ⁇ m as the y coordinate, and the section A An approximate straight line of the motor angle change amount ⁇ m at is derived.
  • An approximate straight line of the motor angle change amount ⁇ m in the section A is represented by Expression 5.
  • the idling determination unit 521 sets the count value Ct of the time counter to the x coordinate and the motor angle change amount. Using ⁇ m as the y coordinate, an approximate straight line of the motor angle change amount ⁇ m in section B is derived. An approximate straight line of the motor angle change amount ⁇ m in the section B is represented by Expression 6.
  • S311 the process proceeds to S311, where the flags A and B are both off (S307: NO and S309: NO), the idle running determination unit 521 determines whether the flag AB is on. When it is determined that the flag AB is on (S311: YES), the process proceeds to S313. When it is determined that the flag AB is off (S311: NO), the process proceeds to S312.
  • the idle running determination unit 521 resets the count value Ct of the time counter.
  • the idling determination unit 521 determines the current count value Ct of the time counter, the motor angle ⁇ m, the motor angle change amount ⁇ m, The state is associated and stored in a memory (not shown).
  • the free running determination unit 521 increments the count value Ct of the time counter.
  • the idle running determination unit 521 determines the approximate straight line LA, The intersection of LB is calculated. In the present embodiment, it is determined that the idling state is completed at the timing when the motor angle change amount ⁇ m becomes an inflection point.
  • the command calculation unit 52 sets the motor angle ⁇ m stored in association with the count value Ct closest to the backlash point XX as the angle correction value ⁇ p.
  • the count value Ct and the motor angle ⁇ m are discrete values, the count value Ct closest to the backlash point XX is regarded as “at the end of idling”, and the motor angle ⁇ m at the count value Ct is determined. Based on this, an angle correction value ⁇ p is set.
  • the target value setting unit 525 calculates the motor angle target value ⁇ cmd using the angle correction value ⁇ p.
  • the count value Ct of the time counter and the motor angle change amount ⁇ m are associated with each other and stored in the memory.
  • linear approximation is performed by the least square method or the like to derive an approximate line LA.
  • linear approximation is performed by, for example, the least square method or the like to derive an approximate line LB.
  • the approximate straight lines LA and LB may be derived by a method other than the method of least squares. Moreover, not only linear approximation but approximate lines such as quadratic or higher functions may be derived, and the end of idle running may be determined using the approximate lines.
  • FIG. 13 shows the motor angle ⁇ m, the output shaft angle ⁇ s, the angle changes ⁇ m, ⁇ s, the flag A, the flag B, and the flag AB, with the common time axis as the horizontal axis.
  • the horizontal axis is read as the count value Ct of the time counter, but the details of the motor angle ⁇ m, the output shaft angle ⁇ s, and the angle change amount ⁇ m are the same as in FIG. The same applies to FIG.
  • the gradient of the motor angle change amount ⁇ m is different between the loose running section and the valley rotation section.
  • the inclination of the motor angle change amount ⁇ m changes, and the inflection point is used to determine the backlash point XX. .
  • the section A from the count value 0 to Ct1 is an idle running section.
  • the approximate straight line LA is updated based on (Ct, ⁇ m).
  • the flag A is turned off.
  • the approximate straight line LA is determined.
  • the flag AB is set between the count value Ct1 and the count value Ct2 where the motor angle change amount ⁇ m and the output shaft angle change amount ⁇ s match.
  • the flag AB is on, since it is a transitional section from the completion of the idle running until the motor 10 and the output shaft 15 rotate together, the approximate straight lines LA and LB are not calculated.
  • the count value Ct, motor angle ⁇ m, motor angle change amount ⁇ m, and flag state are continuously stored.
  • the flag AB is turned off and the flag B is turned on.
  • the flag B is turned on until the absolute value of the difference between the motor angle ⁇ m and the drive initial value ⁇ init is equal to or greater than the count value Ct3 that is equal to or greater than the drive initial determination value ⁇ a.
  • the approximate straight line LB is updated based on (Ct, ⁇ m).
  • the backlash point XX is calculated, and the motor angle ⁇ m at the backlash point XX is set as the angle correction value ⁇ p.
  • the motor angle target value ⁇ cmd is calculated based on the angle correction value ⁇ p, and the temporary value ⁇ cmd_a is changed to the calculated motor angle target value ⁇ cmd.
  • the motor at the count value Ct3 is here.
  • the angle target value ⁇ cmd is described as being changed. Further, the change of the motor angle target value ⁇ cmd may be any timing after the count value Ct3 and before the detent roller 26 crosses the peak of the detent plate 21.
  • the idling determination unit 512 sets the section A and the section B based on the motor angle ⁇ m and the output shaft angle ⁇ s. Specifically, the idle running determination unit 512 is based on the motor angle change amount ⁇ m and the output shaft angle change amount ⁇ s, and the idle running section A, and the motor shaft 105 and the output shaft 15 are integrally rotated. Section B is set.
  • the idle running determination unit 512 derives an approximate straight line LA that represents the change over time of the motor angle change amount ⁇ m in the section A and an approximate straight line LB that represents the change over time of the motor angle change amount ⁇ m in the section B.
  • the free running determination unit 512 considers that the free running state has ended at the timing of the intersection of the approximate straight lines LA and LB.
  • the approximate straight lines LA and LB are obtained using the motor angle change amounts ⁇ m at a plurality of times, the idle running end determination is performed based on the intersections, and the angle correction value ⁇ p is calculated.
  • the angle correction value ⁇ p is calculated.
  • the section A corresponds to the “free running section”
  • the section B corresponds to the “integral rotation section”
  • the approximate straight line LA corresponds to the “first approximate line”
  • the approximate straight line LB corresponds to the “second approximate line”.
  • the “idle running section” does not have to be the entire period during which the vehicle is idle, and may be a part of the period during which the vehicle is idle.
  • the “integral rotation section” is a part of a period in which the motor 10 and the output shaft 15 are rotated together, and the detent roller 26 is within the same recess 22 as before the shift range switching. Arbitrary period.
  • the motor angle ⁇ m and the output shaft angle ⁇ s are used to set the sections A and B, and the end of the idling state is determined based on the approximate straight lines LA and LB as in the present embodiment. Is included in the concept of “determining the end of the idling state based on the motor angle and the output shaft angle”.
  • FIG. 14 shows the motor time ⁇ m, the output shaft angle ⁇ s, the angle change amounts ⁇ m, ⁇ s, the angle difference value ⁇ ms, the flag A, the flag B, and the flag AB with the common time axis as the horizontal axis.
  • an approximate straight line of the motor angle change amount ⁇ m in the sections A and B is obtained, and the idle running end determination is performed based on the intersection.
  • an angle difference value ⁇ ms (see Formula 4) that is a difference between the motor angle ⁇ m and the output shaft angle ⁇ s is used, and an approximate straight line of the angle difference value ⁇ ms in the section A is obtained.
  • the approximate straight line LA and the approximate straight line of the angle difference value ⁇ ms in the section B are set as the approximate straight line LB, and the end of idling is determined based on the intersection of the approximate straight lines LA and LB.
  • the inclination of the angle difference value ⁇ ms is different between the loose running section and the valley rotation section.
  • the backlash point XX and the angle correction value ⁇ p are determined by utilizing the fact that the inclination of the angle difference value ⁇ ms changes and becomes an inflection point.
  • the angle difference value ⁇ ms has been described as subtracting the output shaft angle ⁇ s from the motor angle ⁇ m as shown in Equation 4, but a value obtained by subtracting the motor angle ⁇ m from the output shaft angle ⁇ s is referred to as an “angle difference value”. It is good.
  • the angle difference value ⁇ ms is a value that becomes 0 when the backlash running section ends, it can also be regarded as “backlash running amount”. The same applies to the third embodiment.
  • the idling determination unit 512 derives an approximate straight line LA that represents a change over time in the angle difference value ⁇ ms in the section A and an approximate straight line LB that represents a change over time in the angle difference value ⁇ ms in the section B.
  • the free running determination unit 512 considers that the free running state has ended at the timing of the intersection of the approximate straight lines LA and LB.
  • the approximate straight lines LA and LB are obtained using the angle difference values ⁇ ms at a plurality of time points, the idle running end determination is performed based on the intersection, and the angle correction value ⁇ p is calculated.
  • the two sensor values are used for deriving the approximate straight lines LA and LB, the accuracy of the idling determination and the angle correction value ⁇ p is further improved.
  • the output shaft angle ⁇ s is used, the approximate straight line of the output shaft angle ⁇ s in the section A is the approximate straight line LA, the approximate straight line of the output shaft angle ⁇ s in the section B is the approximate straight line LB, and the approximate straight lines LA and LB The end of idle running is determined based on the intersection.
  • the inclination of the output shaft angle ⁇ s is different between the loose running section and the valley rotation section.
  • the backlash point XX and the angle correction value ⁇ p are determined by utilizing the fact that the inclination of the angle difference value ⁇ ms changes and becomes an inflection point.
  • the idling determination unit 512 derives an approximate straight line LA that represents a change with time of the output shaft angle ⁇ s in the section A and an approximate straight line LB that represents a change with time of the output shaft angle ⁇ s in the section B.
  • the free running determination unit 512 considers that the free running state has ended at the timing of the intersection of the approximate straight lines LA and LB.
  • the approximate straight lines LA and LB are obtained using the output shaft angles ⁇ s at a plurality of points in time, the idle running end determination is performed based on the intersections, and the angle correction value ⁇ p is calculated. This makes it difficult to mistakenly determine the end of idling.
  • the motor is a permanent magnet type three-phase brushless motor.
  • the motor may be any motor such as a switched reluctance motor.
  • the motor is provided with two winding sets. In another embodiment, the number of winding sets of the motor may be one or more than three.
  • rectangular wave control by 120 ° energization is performed in the position feedback control.
  • the position feedback control may be rectangular wave control by 180 ° energization.
  • PWM control using a triangular wave comparison method or an instantaneous vector selection method may be used.
  • the position feedback control and the stationary phase energization control are switched as the motor control state.
  • the motor drive control unit may set at least one of position feedback control and stationary phase energization control to different control states.
  • position feedback control and stationary phase electricity supply control are switched.
  • the motor drive state may be controlled in one control state such as position feedback control without switching the motor control state. Moreover, it is good also as speed feedback control.
  • the motor control method can be changed as appropriate according to the type of motor used.
  • an encoder is used as a rotation angle sensor for detecting the rotation angle of the motor.
  • the rotation angle sensor is not limited to an encoder, and any other device such as a resolver may be used.
  • the count value of the encoder is subjected to phase advance filter processing and used for position feedback control.
  • the position feedback control may be performed using the rotation angle of the motor itself or a value other than the encoder count value that can be converted into the rotation angle of the motor. The same applies to the selection of the stationary phase in the stationary phase energization control.
  • the phase advance filter process may be omitted.
  • a sensor other than the potentiometer may be used as long as the output changes continuously according to the rotation of the output shaft.
  • the detent plate is provided with four recesses.
  • the number of recesses is not limited to four and may be any number.
  • the shift range switching mechanism, the parking lock mechanism, and the like may be different from those in the above embodiment.
  • a speed reducer is provided between the motor shaft and the output shaft.
  • the speed reducer between the motor shaft and the output shaft may be omitted, or a mechanism other than the speed reducer may be provided. That is, in the above-described embodiment, the description has been made mainly on the case where “play” between the motor shaft and the output shaft exists between the gear of the reduction gear and the motor shaft. It can be considered as the total of play and play existing between the shafts.
  • the idling determination is not limited to the determination method of the above embodiment, and may be determined in any manner based on the output shaft angle and the motor angle.
  • the motor shaft angle is converted into a gear ratio so as to coincide with the output shaft angle.
  • the output shaft angle may be converted to a gear ratio so as to coincide with the motor shaft angle.
  • the gear ratio conversion may be omitted as appropriate, for example, when a transmission is not provided between the motor shaft and the output shaft.
  • each step is expressed as S101, for example. Further, each step can be divided into a plurality of sub-steps, while a plurality of steps can be combined into one step.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Gear-Shifting Mechanisms (AREA)

Abstract

シフトレンジ制御装置は、モータ(10)の回転軸であるモータ軸とモータの回転が伝達される出力軸との間に遊びが存在するシフトレンジ切替システムにおいて、モータの駆動を制御することでシフトレンジを切り替える。シフトレンジ制御装置は、モータの回転を検出するモータ回転角センサ(13)の検出値に基づく値であるモータ角度、および、出力軸の回転を検出する出力軸センサ(16)の検出値に基づく値である出力軸角度に基づき、遊びの範囲内にてモータが回転している空走状態の終了を判定する空走判定部(521)と、空走終了時におけるモータ角度に応じた値である角度補正値を用い、モータの駆動制御に係るモータ角度目標値を設定する目標値設定部(525)と、を備える。

Description

シフトレンジ制御装置 関連出願の相互参照
 本出願は、2016年5月31日に出願された日本国特許出願2016-108314号、2016年9月9日に出願された日本国特許出願2016-176274号、2017年2月22日に出願された日本国特許出願2017-030961号、に基づくものであり、ここにその記載内容を参照により援用する。
 本開示は、シフトレンジ制御装置に関する。
 従来、レンジ切換機構の駆動源となるモータを制御するモータ制御装置が知られている。例えば特許文献1では、2系統のF/B制御系を有し、第1のF/B制御系において、出力軸センサの検出出力軸回転角と目標出力軸回転角との偏差を用い、目標モータ回転角を回転伝達系の遊び量に応じて補正している。
JP 4385768 B2
 特許文献1のように回転伝達系の遊び量に応じた目標モータ回転角の補正を行う場合、出力軸センサには、高い検出精度が要求される。また、出力軸センサの検出値に外乱等の影響によりノイズが生じた場合、誤った補正が行われる虞がある。
 本開示は、精度よくシフトレンジを切り替え可能であるシフトレンジ制御装置を提供することを目的とする。
 本開示の一態様によれば、シフトレンジ制御装置は、モータの回転軸であるモータ軸とモータの回転が伝達される出力軸との間に遊びが存在するシフトレンジ切替システムにおいて、モータの駆動を制御することでシフトレンジを切り替える。シフトレンジ制御装置は、空走判定部と、目標値設定部と、を備える。
 空走判定部は、モータの回転を検出するモータ回転角センサの検出値に基づく値であるモータ角度、および、出力軸の回転を検出する出力軸センサの検出値に基づく値である出力軸角度に基づき、遊びの範囲内にてモータが回転している空走状態の終了を判定する。
 目標値設定部は、空走終了時におけるモータ角度に応じた値である角度補正値を用い、モータの駆動制御に係るモータ角度目標値を設定する。
 本開示の構成によれば、モータ角度および出力軸角度を用いて空走状態の終了を判定し、空走終了時のモータ角度に基づいて、モータ角度目標値を設定している。これにより、遊び量の学習処理を行うことなく、モータ角度目標値を適切に設定することができる。また、モータ角度および出力軸角度の2つの異なる種類の検出値を空走終了判定に用いているので、例えば検出値として出力軸角度のみを用いて判定する場合と比較し、検出精度要求を緩和可能であるとともに、外乱ノイズ等の影響によりモータ角度目標値が誤った値に設定されるのを防ぐことができる。
 本開示についての上記および他の目的、特徴や利点は、添付図面を参照した下記詳細な説明から、より明確になる。添付図面において、
図1は、第1実施形態によるシフトバイワイヤシステムを示す斜視図であり、 図2は、第1実施形態によるシフトバイワイヤシステムを示す概略構成図であり、 図3は、第1実施形態によるモータおよびモータドライバを示す回路図であり、 図4は、第1実施形態によるシフトレンジ制御装置を示すブロック図であり、 図5は、第1実施形態によるモータと出力軸との間の遊びを説明する模式図であり、 図6は、第1実施形態による目標補正処理を説明するフローチャートであり、 図7は、第1実施形態による目標補正処理を説明するタイムチャートであり、 図8は、第2実施形態による目標補正処理を説明するフローチャートであり、 図9は、第3実施形態による目標補正処理を説明するフローチャートであり、 図10は、第3実施形態による目標補正処理を説明するタイムチャートであり、 図11は、第4実施形態による目標補正処理を説明するフローチャートであり、 図12は、第4実施形態による区間判定処理を説明するフローチャートであり、 図13は、第4実施形態による目標補正処理を説明するタイムチャートであり、 図14は、第5実施形態による目標補正処理を説明するタイムチャートである。
 シフトレンジ制御装置を図面に基づいて説明する。以下、複数の実施形態において、実質的に同一の構成には同一の符号を付して説明を省略する。
 (第1実施形態)
 第1実施形態によるシフトレンジ制御装置を図1~図7に示す。
 図1および図2に示すように、シフトレンジ切替システムとしてのシフトバイワイヤシステム1は、モータ10、シフトレンジ切替機構20、パーキングロック機構30、および、シフトレンジ制御装置40等を備える。
 モータ10は、図示しない車両に搭載されるバッテリ45(図3参照。)から電力が供給されることで回転し、シフトレンジ切替機構20の駆動源として機能する。モータ10は、フィードバック制御により電流の大きさを変更可能であって、かつ、相ごとに指令を変更可能なものが用いられる。本実施形態のモータ10は、永久磁石式のDCブラシレスモータである。図3に示すように、モータ10は、2組の巻線組11、12を有する。第1巻線組11は、U1コイル111、V1コイル112、および、W1コイル113を有する。第2巻線組12は、U2コイル121、V2コイル122、および、W2コイル123を有する。
 図2に示すように、モータ回転角センサとしてのエンコーダ13は、モータ10の図示しないロータの回転位置を検出する。エンコーダ13は、例えば磁気式のロータリーエンコーダであって、ロータと一体に回転する磁石と、磁気検出用のホールIC等により構成される。エンコーダ13は、ロータの回転に同期して、所定角度ごとにA相およびB相のパルス信号を出力する。
 減速機14は、モータ10のモータ軸105(図5参照。)と出力軸15との間に設けられ、モータ10の回転を減速して出力軸15に出力する。これにより、モータ10の回転がシフトレンジ切替機構20に伝達される。出力軸15には、出力軸15の角度である出力軸角度θsを検出する出力軸センサ16が設けられる。出力軸センサ16は、出力軸15の回転量に応じて、出力が連続的に変化するものである。本実施形態の出力軸センサ16は、出力軸15の回転量に応じて、出力がリニアに変化するポテンショメータである。
 図1に示すように、シフトレンジ切替機構20は、ディテントプレート21、および、ディテントスプリング25等を有し、減速機14から出力された回転駆動力を、マニュアルバルブ28、および、パーキングロック機構30へ伝達する。
 ディテントプレート21は、出力軸15に固定され、モータ10により駆動される。本実施形態では、ディテントプレート21がディテントスプリング25の基部から離れる方向を正回転方向、基部に近づく方向を逆回転方向とする。
 ディテントプレート21には、出力軸15と平行に突出するピン24が設けられる。ピン24は、マニュアルバルブ28と接続される。ディテントプレート21がモータ10によって駆動されることで、マニュアルバルブ28は軸方向に往復移動する。すなわち、シフトレンジ切替機構20は、モータ10の回転運動を直線運動に変換してマニュアルバルブ28に伝達する。マニュアルバルブ28は、バルブボディ29に設けられる。マニュアルバルブ28が軸方向に往復移動することで、図示しない油圧クラッチへの油圧供給路が切り替えられ、油圧クラッチの係合状態が切り替わることでシフトレンジが変更される。
 ディテントプレート21のディテントスプリング25側には、マニュアルバルブ28を各レンジに対応する位置に保持するための4つの凹部22が設けられる。凹部22は、ディテントスプリング25の基部側から、D(drive)、N(neutral)、R(reverse)、P(park)の各レンジに対応している。
 ディテントスプリング25は、弾性変形可能な板状部材であり、先端にディテントローラ26が設けられる。ディテントローラ26は、凹部22のいずれかに嵌まり込む。
 ディテントスプリング25は、ディテントローラ26をディテントプレート21の回動中心側に付勢する。ディテントプレート21に所定以上の回転力が加わると、ディテントスプリング25が弾性変形し、ディテントローラ26が凹部22を移動する。ディテントローラ26が凹部22のいずれかに嵌まり込むことで、ディテントプレート21の揺動が規制され、マニュアルバルブ28の軸方向位置、および、パーキングロック機構30の状態が決定され、自動変速機5のシフトレンジが固定される。
 パーキングロック機構30は、パーキングロッド31、円錐体32、パーキングロックポール33、軸部34、および、パーキングギア35を有する。
 パーキングロッド31は、略L字形状に形成され、一端311側がディテントプレート21に固定される。パーキングロッド31の他端312側には、円錐体32が設けられる。円錐体32は、他端312側にいくほど縮径するように形成される。ディテントプレート21が逆回転方向に揺動すると、円錐体32が矢印Pの方向に移動する。
 パーキングロックポール33は、円錐体32の円錐面と当接し、軸部34を中心に揺動可能に設けられる、パーキングロックポール33のパーキングギア35側には、パーキングギア35と噛み合い可能な凸部331が設けられる。ディテントプレート21が逆回転方向に回転し、円錐体32が矢印P方向に移動すると、パーキングロックポール33が押し上げられ、凸部331とパーキングギア35とが噛み合う。一方、ディテントプレート21が正回転方向に回転し、円錐体32が矢印notP方向に移動すると、凸部331とパーキングギア35との噛み合いが解除される。
 パーキングギア35は、図示しない車軸に設けられ、パーキングロックポール33の凸部331と噛み合い可能に設けられる。パーキングギア35と凸部331とが噛み合うと、車軸の回転が規制される。シフトレンジがP以外のレンジであるnotPレンジのとき、パーキングギア35はパーキングロックポール33によりロックされず、車軸の回転は、パーキングロック機構30により妨げられない。また、シフトレンジがPレンジのとき、パーキングギア35はパーキングロックポール33によってロックされ、車軸の回転が規制される。
 図2および図3に示すように、シフトレンジ制御装置40は、モータドライバ41、42、および、ECU50等を有する。
 モータドライバ41は、第1巻線組11の通電を切り替える3相インバータであって、スイッチング素子411~416がブリッジ接続される。対になるU相のスイッチング素子411、414の接続点には、U1コイル111の一端が接続される。対になるV相のスイッチング素子412、415の接続点には、V1コイル112の一端が接続される。対になるW相のスイッチング素子413、416の接続点には、W1コイル113の一端が接続される。コイル111~113の他端は、結線部115で結線される。
 モータドライバ42は、第2巻線組12の通電を切り替える3相インバータであって、スイッチング素子421~426がブリッジ接続される。対になるU相のスイッチング素子421、424の接続点には、U2コイル121の一端が接続される。対になるV相のスイッチング素子422、425の接続点には、V2コイル122の一端が接続される。対になるW相のスイッチング素子423、426の接続点には、W2コイル123の一端が接続される。コイル121~123の他端は、結線部125で結線される。
 本実施形態のスイッチング素子411~416、421~426は、MOSFETであるが、IGBT等の他の素子を用いてもよい。
 モータドライバ41とバッテリ45との間には、モータリレー46が設けられる。モータドライバ42とバッテリ45との間には、モータリレー47が設けられる。モータリレー46、47は、イグニッションスイッチ等である始動スイッチがオンされているときにオンされ、モータ10側へ電力が供給される。また、モータリレー46、47は、始動スイッチがオフされているときにオフされ、モータ10側への電力の供給が遮断される。
 ECU50は、スイッチング素子411~416、421~426のオンオフ作動を制御し、図示しないシフトレバー等の操作により入力されるドライバ要求シフトレンジと、シフトレンジ切替機構20におけるシフトレンジとが一致するように、モータ10の駆動を制御する。また、ECU50は、車速、アクセル開度、および、ドライバ要求シフトレンジ等に基づき、変速用油圧制御ソレノイド6の駆動を制御する。変速用油圧制御ソレノイド6を制御することで、変速段が制御される。変速用油圧制御ソレノイド6は、変速段数等に応じた本数が設けられる。本実施形態では、1つのECU50がモータ10およびソレノイド6の駆動を制御するが、モータ10を制御するモータ制御用のモータECUと、ソレノイド制御用のAT-ECUとを分けてもよい。以下、モータ10の駆動制御を中心に説明する。
 図4に示すように、ECU50は、角度演算部51、指令演算部52、フィードバック制御部53、固定相通電制御部61、切替制御部65、および、信号生成部66等を備え、マイコン等を主体として構成される。ECU50における各処理は、ROM等の実体的なメモリ装置に予め記憶されたプログラムをCPUで実行することによるソフトウェア処理であってもよいし、専用の電子回路によるハードウェア処理であってもよい。あるいは、ECU50における各処理は、ソフトウェア処理とハードウェア処理の組み合わせであってもよい。
 角度演算部51は、エンコーダ13から出力されるA相およびB相のパルスに基づき、エンコーダ13のカウント値である実カウント値Cenを演算する。実カウント値Cenは、モータ10の実際の機械角および電気角に応じた値である。本実施形態では、実カウント値Cenを「実角度」とする。また、実カウント値に基づくモータ10の機械角を減速機14のギア比で換算した値をモータ角度θmとする。モータ10と出力軸15とが一体となって回転しているとき、モータ角度θmと出力軸角度θsとは、同様に変化するものとする。
 指令演算部52は、空走判定部521、および、目標値設定部525を有する。
 空走判定部521は、モータ角度θm、および、出力軸角度θsに基づき、モータ軸105と出力軸15との遊びの範囲内にてモータ10が回転している空走状態か否かを判定する。なお、図4では、指令演算部52には、実カウント値Cenおよび出力軸角度θsが入力されるものとして記載しているが、実カウント値Cenに替えて、ギア比換算されたモータ角度θmが入力されるようにしてもよいし、指令演算部52の内部にて実カウント値Cenからモータ角度θmが演算されるようにしてもよい。出力軸角度θsについても同様に、出力軸センサ16の検出値が入力され、指令演算部52にて出力軸角度θsが演算されるようにしてもよい。
 目標値設定部525は、目標カウント値Cen*を設定する。目標カウント値Cen*は、モータ角度θmの目標値であるモータ角度目標値θcmdをエンコーダカウント値に換算した値である。本実施形態では、ドライバ要求シフトレンジが変更されてから、空走終了後、所定の継続期間が経過するまでの間、モータ角度目標値θcmdは、切替前のシフトレンジとドライバ要求シフトレンジとに応じた所定の仮値θcmd_aとする。また、空走終了後、所定の継続期間が経過した場合、モータ角度目標値θcmdは、空走終了時のモータ角度θmに応じた値である角度補正値θpを用いて演算された値に変更される。
 空走終了判定、および、角度補正値θpの詳細については、後述する。
 フィードバック制御部53は、位相進みフィルタ54、減算器55、および、制御器56を有し、位置フィードバック制御を行う。
 位相進みフィルタ54は、実カウント値Cenの位相を進ませる位相進み補償を行い、位相進み値Cen_plを演算する。位相進みフィルタ処理を行った位相進み値Cen_plについても、「実角度」の概念に含まれるものとする。
 減算器55は、目標カウント値Cen*と位相進み値Cen_plとの偏差ΔCenを演算する。
 制御器56は、目標カウント値Cen*と実カウント値位相進み値Cen_plとを一致させるべく、偏差ΔCenが0となるように、PI制御等により、指令デューティDuを演算する。位置フィードバック制御では、PWM制御等によりデューティを変更することで、コイル111~113、121~123に流れる電流およびトルクの大きさを変更可能である。
 本実施形態では、120°通電による矩形波制御により、モータ10の駆動を制御する。120°通電による矩形波制御では、第1相の高電位側のスイッチング素子と、第2相の低電位側のスイッチング素子をオンする。また、第1相および第2相の組み合わせを電気角60°ごとに入れ替えていくことで、通電相が切り替わる。これにより、巻線組11、12に回転磁界が発生し、モータ10が回転する。
 固定相通電制御部61は、固定相通電制御を行う。固定相通電制御は、モータ10の回転を停止させるための制御であって、電気角に応じた固定相を選択し、選択された固定相の所定方向に電流が流れるように、スイッチング素子411~416、421~426を制御する。これにより、励磁相が固定される。励磁相が固定されると、モータ10は、励磁相に応じた所定の電気角にて停止する。固定相通電制御部61は、現在のロータ位置から最も近い電気角でモータ10を停止させるように、実カウント値Cenに基づいて固定相および通電方向を選択する。
 固定相通電制御は、実カウント値Cenと目標カウント値Cen*との差は角度判定閾値ENth以下となったときに行われる制御である。したがって、固定相通電制御が行われているとき、実カウント値Cenと目標カウント値Cen*とが概ね一致しているとみなせる。そのため、現在のロータ位置から最も近い停止可能な電気角で停止させることで、目標カウント値Cen*と略一致する箇所でモータ10を停止させることができる。厳密にいえば、目標カウント値Cen*に対応する電気角と、固定相通電制御にてモータ10を停止させる電気角とでは、最大でモータ分解能分のずれが生じるが、減速機14の減速比が大きければ、出力軸15の停止位置のずれは小さいため、差し支えない。
 切替制御部65は、モータ10の制御状態を切り替える。特に、本実施形態では、切替制御部65は、目標カウント値Cen*と実カウント値Cenとに基づき、位置フィードバック制御とするか、固定相通電制御とするかを切り替える。
 切替制御部65は、ドライバ要求シフトレンジが変化した場合、モータ10の制御状態を位置フィードバック制御とする。切替制御部65は、目標カウント値Cen*と実カウント値Cenとの差の絶対値が角度判定閾値ENth以下となった場合、固定相通電制御に切り替える。切替制御部65は、固定相通電制御に切り替わってから、通電継続時間Taが経過するまでの期間は、固定相通電制御を継続し、通電継続時間Ta経過後、通電オフ制御とする。通電オフ制御では、スイッチング素子411~416、421~426を全てオフにする。本実施形態では、目標カウント値Cen*と実カウント値Cenとの差の絶対値が、「目標角度と実角度との差分値」に対応する。
 信号生成部66は、切替制御部65にて選択された制御状態に応じ、スイッチング素子411~416、421~426のオンオフを切り替える駆動信号を生成し、モータドライバ41、42に出力する。これにより、モータ10の駆動が制御される。
 ここで、モータ10の回転軸であるモータ軸105、出力軸15、および、ディテントプレート21の関係を図5に示す。図5においては、実線で示す状態から二点鎖線で示す状態へとモータ10が回転することで、ディテントローラ26がディテントプレート21の凹部22間の山を乗り越え、ドライバ要求シフトレンジに応じた凹部22に嵌まり込む状態を模式的に示している。図5においては、モータ10および出力軸15の回転方向を、紙面左右方向として説明する。また、図5は、「遊び」を概念的に示す模式図であって、出力軸15と減速機14とが一体となっており、モータ軸105が減速機14の遊びの範囲で移動可能であるものとして記載しているが、モータ軸105と減速機14とが一体となっており、減速機14と出力軸15との間に「遊び」が存在しているように構成しても差し支えない。
 図5に示すように、モータ軸105と出力軸15との間には、減速機14が設けられており、モータ軸105と出力軸15との間のギアバックラッシュを含む「遊び」が存在している。本実施形態では、モータ10はDCブラシレスモータであって、モータ10への通電が停止されているとき、コギングトルク等の影響により、遊びの範囲内にてモータ軸105が回転し、モータ軸105と減速機14とが離間することがある。
 また、矢印Ygに示すように、モータ軸105と減速機14とが回転方向において離間している状態にてモータ10が回転する場合、モータ軸105と減速機14とが当接するまでの間、モータ10は空走状態となり、モータ10の回転は、出力軸15側へ伝達されない。以下、遊びの範囲内にてモータ10の回転が出力軸15に伝達されない状態を「ガタ空走」とし、ガタ空走状態となる区間を「ガタ空走区間」とする。
 ガタ空走が終了すると、モータ10と出力軸15およびディテントプレート21とが一体となって回転する。これにより、ディテントローラ26は、凹部22間の山部を乗り越え、ドライバ要求シフトレンジに応じた凹部22へ移動する。モータ10と出力軸15とが一体となって回転している区間を、「谷谷間回転区間」とする。図5は、ディテントローラ26が隣接する凹部22へ移動する例を示しているが、複数の山部を乗り越える場合も同様である。
 ところで、モータ10への通電をオフしている状態からシフトレンジを切り替えるべく通電を開始したとき、モータ軸105が「遊び」の範囲内のどの位置にあるかを特定することができない。また、モータ軸105と減速機14とが当接している状態からモータ10を回転させる場合と比較し、ガタ空走区間の分、モータ10を余分に回転させる必要がある。
 そこで本実施形態では、モータ角度θmおよび出力軸角度θsに基づいてガタ空走終了を検出し、目標カウント値Cen*を補正することで、位置制御精度を確保している。
 本実施形態の目標補正処理を図6に示すフローチャートに基づいて説明する。この処理は、指令演算部52にて所定の周期で実行される処理である。後述の図8および図9についても同様である。
 最初のS101では、指令演算部52は、モータ角度θmおよび出力軸角度θsの信号処理を行う。信号処理は、所定周期で行われている。本実施形態では、4[ms]周期で信号処理が行われるものとして説明する。信号処理では、まず、モータ角度θmおよび出力軸角度θsのノイズを除去するためのフィルタリング処理が行われる。フィルタリング処理は、例えばLPF処理であって、以下の式1の演算が行われる。
 
 Yi=dt/(dt+T)×Xi+T/(dt+T)×Yi-1
 =K×Xi+(1-K)×Yi-1   ・・・(式1)
 
 式中のXは処理前のθmまたはθs、Yは処理後のθmまたはθs、添え字のiは今回値、i-1は前回値を意味する。また、Tはシステム時定数である。例えば、dt=1[ms]、T=10[ms]とすると、K=1/11となる。
 また、フィルタリング処理として、LPF処理に替えて、所定期間(例えば8[ms])の移動平均値を演算してもよい。
 以下の処理では、モータ角度θmおよび出力軸角度θsとして、フィルタリング処理がなされた値を用いる。
 指令演算部52は、モータ角度θmの単位時間あたりの変化量であるモータ角度変化量Δθm、および、出力軸角度θsの単位時間あたりの変化量である出力軸角度変化量Δθsを演算する。Δθm、Δθsは、現在のレンジおよびドライバ要求シフトレンジに応じ、モータ10および出力軸15を回転させるべき方向側への変化量とし、誤差等を除けば、正の値となるものとする。
 また、指令演算部52は、モータ角度変化量Δθmと出力軸角度変化量Δθsとの差分値である変化量差分値Dmsを演算する(式2参照)。
 
 Dms=Δθm-Δθs ・・・(式2)
 
 S102では、指令演算部52は、通電フラグがオンされているか否かを判断する。通電フラグは、ドライバ要求シフトレンジが変化したときにオンされ、固定相通電制御が終了したときにオフされる。通電フラグがオンされていると判断された場合(S102:YES)、S106へ移行する。通電フラグがオフであると判断された場合(S102:NO)、S103へ移行する。
 S103では、指令演算部52は、現在のモータ角度θmを、駆動初期値θinitとしてRAM等に記憶させ、S105へ移行する。
 S104では、指令演算部52は、後述の継続カウンタのカウンタ値Ckをリセットする。既に継続カウンタがリセットされている場合は、リセット状態を継続する。
 S105では、指令演算部52は、補正値未設定フラグXinitをオンにする。既に補正値未設定フラグXinitがオンされている場合は、オン状態を継続する。
 通電フラグがオンされていると判断された場合(S102:YES)に移行するS106では、指令演算部52は、モータ角度θmと駆動初期値θinitとの差の絶対値が駆動初期判定値θaより小さいか否かを判断する。ここでは、ディテントローラ26がシフトレンジ切替前と同一の凹部22内であることを判定しており、駆動初期判定値θaは、切替前のレンジ、および、ディテントプレート21の形状に応じた任意の値に設定される。モータ角度θmと駆動初期値θinitとの差の絶対値が駆動初期判定値θa未満であると判断された場合(S106:YES)、S107へ移行する。モータ角度θmと駆動初期値θinitとの差の絶対値が駆動初期判定値θa以上であると判断された場合(S106:NO)、S111へ移行する。
 モータ角度θmと駆動初期値θinitとの差の絶対値が駆動初期判定値θa未満であると判断された場合(S106:YES)、すなわちディテントローラ26がレンジ切替前と同一の凹部22内である場合に移行するS107では、空走判定部521は、変化量差分値Dmsの絶対値が一致判定閾値Db未満か否かを判断する。一致判定閾値Dbは、誤差等を考慮し、ΔθmとΔθsとが一致しているとみなせる程度の差に応じた値(例えば0.5°/4ms)に設定される。変化量差分値Dmsの絶対値が一致判定閾値Db以上であると判断された場合(S107:NO)、すなわちモータ角度変化量Δθmと出力軸角度変化量Δθsとが一致しない場合、S111へ移行する。変化量差分値Dmsの絶対値が一致判定閾値Db未満であると判断された場合(S107:YES)、すなわち、モータ角度変化量Δθmと出力軸角度変化量Δθsとが一致する場合、S108へ移行する。
 S108では、空走判定部521は、モータ角度変化量Δθmが回転判定閾値Dr以上か否かを判断する。回転判定閾値Drは、モータ10が回転しているとみなせる程度の値(例えば1°/4ms)に設定される。モータ角度変化量Δθmが回転判定閾値Dr未満であると判断された場合(S108:NO)、すなわちモータ10が回転していない場合、S111へ移行する。モータ角度変化量Δθmが回転判定閾値Dr以上であると判断された場合(S108:YES)、すなわちモータ10が回転している場合、S109へ移行する。
 S109では、空走判定部521は、出力軸角度変化量Δθsが回転判定閾値Dr以上か否かを判断する。出力軸角度変化量Δθsの判定に係る回転判定閾値Drは、モータ角度変化量Δθmに係る値と異なる値としてもよい。出力軸角度変化量Δθsが回転判定閾値Dr未満であると判断された場合(S109:NO)、すなわち出力軸15が回転していない場合、S111へ移行する。出力軸角度変化量Δθsが回転判定閾値Dr以上であると判断された場合(S109:YES)、S110へ移行する。
 S110では、指令演算部52は、補正値未設定フラグXinitがオンされているか否かを判断する。補正値未設定フラグXinitがオフであると判断された場合(S110:NO)、S111へ移行する。補正値未設定フラグXinitがオンであると判断された場合(S110:YES)、S112へ移行する。
 モータ角度θmと駆動初期値θinitとの差の絶対値が駆動初期判定値θa以上である場合(S106:NO)、モータ角度変化量Δθmと出力軸角度変化量Δθsとが一致していない場合(S107:NO)、モータ10および出力軸15の少なくとも一方が回転していない場合(S108:NO、または、S109:NO)、および、補正値未設定フラグXinitがオフの場合(S110:NO)に移行するS111では、継続カウンタのカウンタ値Ckをリセットする。
 S112では、指令演算部52は、角度補正値θpを、モータ角度θmの今回値とし、角度補正値θpを、RAM等に記憶させる。
 S113では、指令演算部52は、補正値未設定フラグXinitをオフにする。
 すなわち本実施形態では、モータ角度変化量Δθmと出力軸角度変化量Δθsとが一致し、かつ、モータ10および出力軸15がともに回転している状態となった最初のタイミングにて、ガタ空走が終了したとみなし、このときのモータ角度θmを角度補正値θpとして記憶しておく。
 S114では、指令演算部52は、継続カウンタのカウンタ値Ckをインクリメントする。
 S115では、指令演算部52は、継続カウンタのカウンタ値Ckが継続判定値Cthか否かを判断する。カウンタ値Ckが継続判定値Cth未満であると判断された場合(S115:NO)、S116の処理を行わない。カウンタ値Ckが継続判定値Cth以上であると判断された場合(S115:YES)、S116へ移行する。
 S116では、目標値設定部525は、角度補正値θpを用いてモータ角度目標値θcmdを演算する(式3参照)。式中のθdetは、切替前のシフトレンジとドライバ要求シフトレンジとに応じた谷谷間回転区間の角度に応じて設定される設計値である。
 
 θcmd=θp+θdet ・・・(式3)
 
 本実施形態の目標値補正処理を図7のタイムチャートに基づいて説明する。図7では、共通時間軸を横軸とし、モータ角度θmおよび出力軸角度θs、角度変化量Δθm、Δθs、変化量差分値Dmsを示す。なお、説明のため、タイムスケール等は適宜変更しており、実際の時間とは必ずしも一致しない。後述の図10、図13および図14についても同様である。
 時刻x11にて、ドライバ要求シフトレンジが変更され、通電フラグがオフからオンに切り替わり、モータ角度目標値が設定される。ここで設定される目標値は、仮値θcmd_aである。仮値θcmd_aが設定され、位置フィードバック制御によりモータ10が駆動されると、図7のモータ角度θmおよび出力軸角度θs、角度変化量Δθm、Δθsに示すように、モータ角度θmが変化し、モータ角度変化量Δθm≠0となる。一方、出力軸角度θsは、ガタ空走中は、モータ10の回転が出力軸15に伝達されないので、変化せず、出力軸角度変化量Δθs=0が継続される。また、図7の変化量差分値Dmsに示すように、ガタ空走区間の間は、変化量差分値Dmsが増加する。
 時刻x12にて、ガタ空走が終了すると、モータ10の回転が出力軸15に伝達されるので、出力軸15が回転され、出力軸角度θsが変化し、出力軸角度変化量Δθs≠0となる。また、時刻x13にて、モータ角度変化量Δθmと出力軸角度変化量Δθsとが一致し、変化量差分値Dmsが0となる。本実施形態では、モータ角度変化量Δθmと出力軸角度変化量Δθsとが略一致し、かつ、モータ角度変化量Δθmおよび出力軸角度変化量Δθsが共に回転判定閾値Dr以上となった時刻x13にて、ガタ空走が終了したと判定し、このときのモータ角度θmを角度補正値θpとする。
 また、時刻x13から継続判定値Cthに対応する継続期間が経過した時刻x14にて、角度補正値θpを用いて目標値を補正し、モータ角度目標値θcmdを式3の値に変更する。その後、モータ角度θmがモータ角度目標値θcmdとなるように、モータ10を制御する。なお、図7では、モータ角度目標値θcmdが仮値θcmd_aより小さくなるように補正されているが、仮値θcmd_aの設定等に応じ、仮値θcmd_aより大きくなるように補正されてもよい。
 本実施形態では、モータ角度θmおよび出力軸角度θsの変化量に基づいてガタ空走終了を判定し、ガタ空走終了判定時のモータ角度θmに基づいて、目標値を補正している。これにより、例えばモータを両方向に回転させて遊びの両端に当接させることによる遊び量の学習処理を行うことなく、モータ角度目標値θcmdを適切に設定することができる。
 また、比較例として、出力軸角度θsの値そのものを用いてモータ角度目標値θcmdを設定する場合、出力軸センサ16には、絶対角度としての高い検出精度が要求される。これに対し本実施形態では、モータ角度θmおよび出力軸角度θsの変化量に基づいてガタ空走終了を判定し、ガタ空走終了時のモータ角度θmを角度補正値θpとしているので、変化量が適切に検出されていればよく、出力軸角度θsの値そのものを用いる場合と比較し、精度要求を緩和することができる。
 さらにまた、比較例として、出力軸角度θsの変化量に基づいてガタ空走終了を検出し、目標値を補正する場合、外乱等の影響にて検出値にノイズが生じると、ガタ空走終了を誤判定する虞がある。本実施形態では、エンコーダ13の検出値に基づくモータ角度θm、および、出力軸センサ16の検出値に基づく出力軸角度θsを用いる異種多重系とし、モータ角度θmおよび出力軸角度θsの変化量に基づいてガタ空走終了を判定しているので、外乱ノイズによるガタ空走終了の誤判定およびモータ角度目標値θcmdの誤補正を回避することができる。
 以上説明したように、シフトレンジ制御装置40は、モータ10の回転軸であるモータ軸105とモータ10の回転が伝達される出力軸15との間に遊びが存在するシフトバイワイヤシステム1において、モータ10の回転角度であるモータ角度θmがモータ角度目標値θcmdと一致するようにモータ10の駆動を制御することでシフトレンジを切り替えるものである。シフトレンジ制御装置40は空走判定部521、および、目標値設定部525を備える。
 空走判定部521は、モータ10の回転を検出するエンコーダ13の検出値に基づく値であるモータ角度θm、および、出力軸15の回転を検出する出力軸センサ16の検出値に基づく値である出力軸角度θsに基づき、遊びの範囲内にてモータ10が回転している空走の終了を判定する。
 目標値設定部525は、空走終了時におけるモータ角度θmに応じた値である角度補正値θpを用い、モータ10の駆動制御に係るモータ角度目標値θcmdを設定する。
 本実施形態では、モータ角度θmおよび出力軸角度θsを用いて空走状態の終了を判定し、空走終了時のモータ角度θmに基づいて、モータ角度目標値θcmdを設定している。これにより、遊び量の学習処理を行うことなく、モータ角度目標値θcmdを適切に設定することができる。また、モータ角度θmおよび出力軸角度θsの2つの異なる種類の検出値を空走終了判定に用いているので、出力軸角度θsのみに基づいて判定する場合と比較し、出力軸角度θsの検出精度要求を緩和可能であるとともに、外乱ノイズ等の影響によりモータ角度目標値θcmdが誤った値に設定されるのを防ぐことができる。
 空走判定部521は、モータ角度θmの単位時間あたりの変化量であるモータ角度変化量Δθmと、出力軸角度θsの単位時間あたりの変化量である出力軸角度θsとが一致し(図6中のS107:YES)、かつ、モータ角度変化量Δθmおよび出力軸角度変化量Δθsがともに回転判定閾値Dr以上である場合(S108:YES、かつ、S109:YES)、空走状態が終了したと判定する。
 これにより、空走状態の終了を適切に判定することができる。
 (第2実施形態)
 第2実施形態を図8に基づいて説明する。本実施形態は、目標補正処理が異なっているので、この点を中心に説明する。
 本実施形態の目標補正処理を図8に示すフローチャートに基づいて説明する。
 S201~S204の処理は、図6中のS101~S104の処理と同様である。
 S205では、指令演算部52は、変化量差分最大値Dms_maxを0とする。
 S206の処理は、図6中のS106の処理と同様である。
 モータ角度θmと駆動初期値θinitとの差の絶対値が駆動初期判定値θa未満であると判断された場合(S206:YES)に移行するS207では、指令演算部52は、変化量差分値Dmsの今回値が、RAM等に記憶されている変化量差分最大値Dms_maxより大きいか否かを判断する。変化量差分値Dmsの今回値が変化量差分最大値Dms_max以下であると判断された場合(S207:NO)、S210へ移行する。変化量差分値Dmsの今回値が変化量差分最大値Dms_maxより大きいと判断された場合(S207:YES)、S208へ移行する。
 S208では、指令演算部52は、変化量差分値Dmsの今回値を、変化量差分最大値Dms_maxとしてRAM等に記憶させる。
 S209では、指令演算部52は、角度補正値θpを、モータ角度θmの今回値とし、角度補正値θpをRAM等に記憶させる。
 S210~S212の処理は、図6中のS107~S109の処理と同様である。モータ角度変化量Δθmと出力軸角度変化量Δθsとが一致していない場合(S210:NO)、または、モータ角度変化量Δθmおよび出力軸角度変化量Δθsの少なくとも一方が回転判定閾値Drより小さい場合(S211:NO、または、S212:NO)、S213へ移行する。モータ角度変化量Δθmと出力軸角度変化量Δθsとが一致しており(S210:YES)、かつ、モータ角度変化量Δθmおよび出力軸角度変化量Δθsが共に回転判定閾値Dr以上である場合(S210:YES、かつ、S211:YES)、S214へ移行する。
 S213の処理は、図6中のS111の処理と同様である。
 S214~S216の処理は、図6中のS114~S116の処理と同様である。
 本実施形態では、変化量差分値Dmsの今回値がこれまでの最大値より大きい場合、変化量差分最大値Dms_maxおよび角度補正値θpを更新する。一方、変化量差分値Dmsの今回値が、これまでの最大値以下の場合、S208およびS209の処理が行われないので、これまでの変化量差分最大値Dms_maxおよび角度補正値θpが保持される。これにより、変化量差分値Dmsのピーク時のモータ角度θmが角度補正値θpとして保持される。換言すると、本実施形態では、変化量差分値Dmsのピークを検出し、変化量差分値Dmsのピーク時のモータ角度θmを角度補正値θpとしている、ということである。すなわち、本実施形態では、図7の時刻x12のときのモータ角度θmを角度補正値θpとしている。
 また、変化量差分値Dmsのピークを検出することは、モータ角度変化量Δθmの変化速度が変わる変曲点を検出することと同義である、といえる。さらにまた、変化量差分値Dmsを検出することは、出力軸角度変化量Δθsの変化速度が変わる変曲点を検出することと同義である、といえる。
 本実施形態では、目標値設定部525は、モータ角度変化量Δθmと出力軸角度変化量Δθsとの差分値である変化量差分値Dmsがピーク値となったときのモータ角度θmを、空走終了時におけるモータ角度θmとみなし、当該モータ角度θmを角度補正値θpとして、モータ角度目標値θcmdを設定する。
 これにより、角度補正値θpを適切に設定することができる。
 また、上記実施形態と同様の効果を奏する。
 (第3実施形態)
 第3実施形態を図9および図10に基づいて説明する。本実施形態は、目標補正処理における空走判定が異なっているので、この点を中心に説明する。
 本実施形態の目標補正処理を図9に示すフローチャートに基づいて説明する。図9は、図6のS107~S109に替えて、S121およびS122となっている点が第1実施形態と異なる。また、図8中のS210~S212に替えて、S121およびS122としてもよい。
 S101では、指令演算部52は、上述のフィルタ処理等に加え、モータ角度θmと出力軸角度θsとの差である角度差分値θms(式4参照)、および、角度差分値θmsの単位時間あたりの変化量である角度差分値変化量Δθmsを演算する。
 
 θms=θm-θs ・・・(式4)
 
 S121は、モータ角度θmと駆動初期値θinitとの差の絶対値が駆動初期判定値θa未満であると判断された場合(S106:YES)、すなわちディテントローラ26がレンジ切替前と同一の凹部22内である場合に移行するステップである。S121では、空走判定部521は、角度差分値θmsが差分判定閾値θbより大きいか否かを判断する。角度差分値θmsが差分判定閾値θb以下であると判断された場合(S121:NO)、S111へ移行する。角度差分値θmsが差分判定閾値θbより大きいと判断された場合(S121:YES)、S122へ移行する。
 S122では、空走判定部521は、角度差分値変化量Δθmsが0か否かを判断する。ここでは、角度差分値変化量Δθmsが、検出誤差等に応じて設定される判定値より小さい場合、角度差分値変化量Δθmsが0であるとみなす。角度差分値変化量Δθmsが0ではないと判断された場合(S122:NO)、S111へ移行する。角度差分値変化量Δθmsが0であると判断された場合(S122:YES)、S110へ移行し、以降の処理を行う。
 本実施形態の目標値補正処理を図10のタイムチャートに基づいて説明する。図10では、共通時間軸を横軸とし、モータ角度θmおよび出力軸角度θs、角度差分値θms、角度差分値変化量Δθmsである。図10のモータ角度θmおよび出力軸角度θsは、角度補正値θpを除き、図7のモータ角度θmおよび出力軸角度θsと略同様である。
 時刻x21にて、ドライバ要求シフトレンジが変更され、モータ10が駆動されると、ガタ空走中は、モータ角度θmは変化するが、出力軸角度θsは変化しない。そのため、図10の角度差分値θmsに示すように、ガタ空走中は、角度差分値θmsは増加する。また、時刻x22にて、ガタ空走区間が終了すると、モータ10と出力軸15とは一体に回転するので、図10の角度差分値θmsに示すように、角度差分値θmsが一定となり、図10の角度差分値変化量Δθmsに示すように、角度差分値変化量Δθmsが0となる。
 本実施形態では、角度差分値θmsが差分判定閾値θbより大きく、かつ、角度差分値変化量Δθmsが0となった時刻x22にて、ガタ空走が終了したと判定し、このときのモータ角度θmを角度補正値θpとする。
 また、時刻x22から、継続判定値Cthに対応する継続期間が経過した時刻x23にて、角度補正値θpを用いて目標値を補正する。その後、モータ角度θmが補正後のモータ角度目標値θcmdとなるように、モータ10を制御する。
 本実施形態では、空走判定部521は、モータ角度θmと出力軸角度θsとの差分値である角度差分値θmsが差分判定閾値θbより大きく(図9中のS121:YES)、かつ、角度差分値θmsの単位時間あたりの変化量である角度差分値変化量Δθmsが0となったとき、空走状態が終了したと判定する。
 このようにしても、空走状態の終了を適切に判定することができる。
 また、上記実施形態と同様の効果を奏する。
 (第4実施形態)
 第4実施形態を図11~図13に示す。本実施形態は、目標補正処理が上記実施形態と異なるので、この点を中心に説明する。
 S301~S303の処理は、図6中のS101~S103の処理と同様である。
 S303に続いて移行するS304では、後述するフラグXgata_A、Xgata_B、Xgata_ABをリセットし、S312へ移行する。
 通電フラグがオンされている場合(S302:YES)に移行するS305の処理は、S106の処理と同様である。モータ角度θmと駆動初期値θinitとの差の絶対値が駆動初期判定値θa以上であると判断された場合(S305:NO)、S315へ移行する。モータ角度θmと駆動初期値θinitとの差の絶対値が駆動初期判定値θa未満であると判断された場合(S305:YES)、S306へ移行する。
 S306では、区間判定処理を行う。
 区間判定処理のサブフローを図12に示す。
 S361では、空走判定部521は、出力軸角度変化量Δθsが0か否かを判断する。検出誤差等を考慮し、例えば0に近い所定値以下の場合、出力軸角度変化量Δ0が0であると判断する。出力軸角度変化量Δθsが0ではないと判断された場合(S361:NO)、S364へ移行する。出力軸角度変化量Δθsが0であると判断された場合(S361:YES)、S362へ移行する。
 S362の処理は、図6中のSS108の処理と同様であって、空走判定部521は、モータ角度変化量Δθmが回転判定閾値Dr以上か否かを判断する。モータ角度変化量Δθmが回転判定閾値Dr以上であると判断された場合(S362:YES)、S363へ移行する。モータ角度変化量Δθmが回転判定閾値Dr未満であると判断された場合(S362:NO)、S364へ移行する。
 S363では、空走判定部521は、ガタ空走区間であることを示すフラグAをオンにする。
 S364では、空走判定部521は、フラグAをオフにする。
 図11~図13では、フラグAを「Xgata_A」とし、フラグオンの状態を「1」、オフの状態を「0」とする。後述のフラグBおよびフラグABも同様とする。
 S365では、S362と同様であって、モータ角度変化量Δθmが回転判定閾値Dr未満であると判断された場合(S365:NO)、S370へ移行する。モータ角度変化量Δθmが回転判定閾値Dr以上であると判断された場合(S365:YES)、S366へ移行する。
 S366では、図6中のS109と同様、空走判定部521は、出力軸角度変化量Δθsが回転判定閾値Dr以上か否かを判断する。出力軸角度変化量Δθsが回転判定閾値Dr未満であると判断された場合(S366:NO)、S370へ移行する。出力軸角度変化量Δθsが回転判定閾値Dr以上であると判断された場合(S366:YES)、S367へ移行する。
 S367では、図6中のS107と同様であって、変化量差分値Dmsの絶対値が一致判定閾値Db以上であると判断された場合(S367:NO)、すなわちモータ角度変化量Δθmと出力軸角度変化量Δθsとが一致しない場合、S369へ移行する。変化量差分値Dmの絶対値が一致判定閾値Db未満であると判断された場合(S367:YES)、すなわちモータ角度変化量Δθmと出力軸角度変化量Δθsとが一致する場合、S368へ移行する。
 S368では、空走判定部521は、モータ10と出力軸15とが一致して回転している区間であることを示すフラグBをセットする。
 S369では、空走判定部521は、ガタ空走状態からモータ10と出力軸15とが一体となって回転する状態への移行区間であることを示すフラグABをセットする。
 S370では、フラグBおよびフラグABをオフにする。
 図11に戻り、区間判定処理に続いて移行するS307では、空走判定部521は、フラグAがオンか否かを判断する。フラグAがオフであると判断された場合(S307:NO)、S309へ移行する。フラグAがオンであると判断された場合(S307:YES)、S308へ移行する。
 フラグAがオンである場合、すなわち空走状態である場合に移行するS308では、空走判定部521は、計時カウンタのカウント値Ctをx座標、モータ角度変化量Δθmをy座標とし、区間Aにおけるモータ角度変化量Δθmの近似直線を導出する。区間Aにおけるモータ角度変化量Δθmの近似直線を式5とする。
 
 y=ax+c ・・・(式5)
 
 フラグAがオフであると判断された場合(S307:NO)に移行するS309では、空走判定部521は、フラグBがオンか否かを判断する。フラグBがオフであると判断された場合(S309:NO)、S311へ移行する。フラグBがオンであると判断された場合(S309:YES)、S310へ移行する。
 フラグBがオンである場合、すなわちモータ10と出力軸15とが一体回転している場合に移行するS310では、空走判定部521は、計時カウンタのカウント値Ctをx座標、モータ角度変化量Δθmをy座標とし、区間Bにおけるモータ角度変化量Δθmの近似直線を導出する。区間Bにおけるモータ角度変化量Δθmの近似直線を式6とする。
 
 y=cx+d ・・・(式6)
 
 以下、区間Aにおけるモータ角度変化量Δθmの近似直線を「近似直線LA」、区間Bにおけるモータ角度変化量Δθmの近似直線を「近似直線LB」と呼ぶ。
 フラグA、Bが共にオフである場合(S307:NO、かつ、S309:NO)に移行するS311では、空走判定部521は、フラグABがオンか否かを判断する。フラグABがオンであると判断された場合(S311:YES)、S313へ移行する。フラグABがオフであると判断された場合(S311:NO)、S312へ移行する。
 S311で否定判断された場合、または、S304に続いて移行するS312では、空走判定部521は、計時カウンタのカウント値Ctをリセットする。
 フラグA、B、ABのいずれかがオンである場合に移行するS313では、空走判定部521は、現在の計時カウンタのカウント値Ctと、モータ角度θmと、モータ角度変化量Δθmと、フラグ状態とを関連づけて、図示しないメモリに記憶させる。
 S314では、空走判定部521は、計時カウンタのカウント値Ctをインクリメントする。
 モータ角度θmと駆動初期値θinitとの差の絶対値が駆動初期判定値θa以上であると判断された場合(S305:NO)に移行するS315では、空走判定部521は、近似直線LA、LBの交点を演算する。本実施形態では、モータ角度変化量Δθmが変曲点となるタイミングにて、空走状態が終了したと判定する。モータ角度変化量Δθmの変曲点は、近似直線LA、LBの交点とする。近似直線LA、LBの交点のx座標を「ガタ詰めポイントXX」とすると、ガタ詰めポイントXXは、式7で表される。XXが負の値となった場合は、XX=0とする。
 
 XX=(d-b)/(a-c) ・・・(式7)
 
 S316では、指令演算部52は、ガタ詰めポイントXXと最も近いカウント値Ctと関連づけて記憶されているモータ角度θmを、角度補正値θpとする。本実施形態では、カウント値Ctおよびモータ角度θmは離散値であるので、ガタ詰めポイントXXと最も近いカウント値Ctを「空走終了時」とみなし、当該カウント値Ctのときのモータ角度θmに基づいて角度補正値θpを設定する。
 S317では、図6中のS116と同様、目標値設定部525は、角度補正値θpを用いてモータ角度目標値θcmdを演算する。
 ここで、近似直線LA、LBの導出について説明する。本実施形態では、S313にて、計時カウンタのカウント値Ctとモータ角度変化量Δθmとが関連づけてメモリに記憶されている。本実施形態では、フラグAと関連付けられている複数の(Ct,Δθm)を用いて、例えば最小二乗法等により線形近似を行い、近似直線LAを導出する。同様に、フラグBと関連付けられている複数の(Ct,Δθm)を用いて、例えば最小二乗法等により、線形近似を行い、近似直線LBを導出する。
 なお、近似直線LA、LBを、最小二乗法以外の方法にて導出してもよい。また、線形近似に限らず、二次以上の関数等の近似線を導出し、当該近似線を用いて空走終了を判定してもよい。
 本実施形態の目標値補正処理を図13のタイムチャートに基づいて説明する。図13は、共通時間軸を横軸とし、モータ角度θmおよび出力軸角度θs、角度変化量Δθm、Δθs、フラグA、フラグB、フラグABである。図13では、横軸を計時カウンタのカウント値Ctに読み替えているが、モータ角度θmおよび出力軸角度θs、角度変化量Δθmの詳細については、図7と同様である。図14についても同様である。
 図13に示すように、ガタ空走区間と谷谷間回転区間とでは、モータ角度変化量Δθmの傾きが異なっている。本実施形態では、ガタ空走状態が終了する「ガタ詰まり」となると、モータ角度変化量Δθmの傾きが変化し、変曲点となることを利用して、ガタ詰めポイントXXを決定している。
 カウント値0からCt1までの区間Aは、ガタ空走区間である。区間Aにおいては、モータ角度変化量Δθm≠0であり、出力軸角度変化量Δθs=0であって、フラグAがオンされている。この間、(Ct,Δθm)に基づき、近似直線LAを更新していく。カウント値Ct1にて、出力軸角度変化量Δθs≠0となると、フラグAをオフにする。このとき、近似直線LAが確定される。
 カウント値Ct1から、モータ角度変化量Δθmと出力軸角度変化量Δθsとが一致するカウント値Ct2までの間は、フラグABがセットされる。フラグABがオンのときは、ガタ空走完了から、モータ10と出力軸15とが一体となって回転するまでの移行区間であるので、近似直線LA、LBの演算を行わない。この間において、カウント値Ct、モータ角度θm、モータ角度変化量Δθmおよびフラグ状態の記憶は継続する。
 カウント値Ct2にて、モータ角度変化量Δmと出力軸角度変化量Δθsとが一致すると、フラグABをオフにし、フラグBをオンにする。モータ角度θmと駆動初期値θinitとの差の絶対値が駆動初期判定値θa以上となるカウント値Ct3までの間、フラグBがオンされている。この間、(Ct,Δθm)に基づき、近似直線LBを更新していく。カウント値Ct3にて、モータ角度θmと駆動初期値θinitとの差の絶対値が駆動初期判定値θa以上になると、近似直線LBが確定される。
 そして、得られた近似直線LA、LBを用いて、ガタ詰めポイントXXを演算し、ガタ詰めポイントXXにおけるモータ角度θmを角度補正値θpとする。そして、角度補正値θpに基づいてモータ角度目標値θcmdを演算し、仮値θcmd_aを、演算されたモータ角度目標値θcmdに変更する。実際には、カウント値Ctにて近似直線LBが確定されてから、モータ角度目標値θcmdが変更されるまでには、演算遅れがあるが、ここでは簡略化のため、カウント値Ct3にてモータ角度目標値θcmdが変更されるものとして記載した。また、モータ角度目標値θcmdの変更は、カウント値Ct3以降であって、ディテントローラ26がディテントプレート21の山を越える前のいずれのタイミングとしてもよい。
 図13中では、区間Aの終了タイミングとガタ詰めポイントXXとが一致するものとして記載しているが、演算結果によっては、演算されたガタ詰めポイントXXが、区間Aの終了タイミングとずれていても、差し支えない。また、図13の例では、区間Aが区間Bより長いが、区間A、Bの長さは、モータ始動時のモータ軸105のガタ内での位置や、駆動初期判定値θaの設定等により、区間Bよりも区間Aが長いとは限らない。図14および図15においても同様である。
 本実施形態では、空走判定部512は、モータ角度θmおよび出力軸角度θsに基づき、区間Aおよび区間Bを設定する。詳細には、空走判定部512は、モータ角度変化量Δθmおよび出力軸角度変化量Δθsに基づき、空走状態である区間A、および、モータ軸105と出力軸15とが一体回転している区間Bを設定する。
 空走判定部512は、区間Aにおけるモータ角度変化量Δθmの経時変化を表す近似直線LA、および、区間Bにおけるモータ角度変化量Δθmの経時変化を表す近似直線LBを導出する。空走判定部512は、近似直線LA、LBの交点となるタイミングにて、空走状態が終了したとみなす。
 本実施形態では、複数の時点でのモータ角度変化量Δθmを用いて近似直線LA、LBを求め、その交点に基づいて空走終了判定を行い、角度補正値θpを演算している。これにより、エンコーダ13や出力軸センサ16におけるノイズの影響により空走終了を誤判定しにくくなり、空走終了判定および角度補正値θpの精度が向上する。
 また、上記実施形態と同様の効果を奏する。
 本実施形態では、区間Aが「空走区間」、区間Bが「一体回転区間」、近似直線LAが「第1近似線」、近似直線LBが「第2近似線」に対応する。「空走区間」は、空走状態である期間の全体である必要はなく、空走状態である期間の一部であってもよい。「一体回転区間」は、モータ10と出力軸15とが一体となって回転している期間の一部であって、ディテントローラ26がシフトレンジ切替前と同一の凹部22内である範囲内の任意の期間とする。
 また、本実施形態では、区間A、Bの設定にモータ角度θmおよび出力軸角度θsを用いており、本実施形態のように近似直線LA、LBに基づいて空走状態の終了を判定することは、「モータ角度および出力軸角度に基づき、空走状態の終了を判定する」という概念に含まれるものとする。
 第5実施形態および第6実施形態についても同様である。
 (第5実施形態)
 第5実施形態を図14に示す。第5実施形態および第6実施形態では、近似直線LA、LBが第4実施形態と異なっているので、この点を中心に説明し、その他の点については省略する。
 図14は、共通時間軸を横軸とし、モータ角度θmおよび出力軸角度θs、角度変化量Δθm、Δθs、角度差分値θms、フラグA、フラグB、フラグABである。
 第4実施形態では、区間A、Bのモータ角度変化量Δθmの近似直線を求め、その交点に基づいて空走終了判定を行う。
 本実施形態では、モータ角度変化量Δθmに替えて、モータ角度θmと出力軸角度θsとの差である角度差分値θms(式4参照)を用い、区間Aにおける角度差分値θmsの近似直線を近似直線LA、区間Bにおける角度差分値θmsの近似直線を近似直線LBとし、近似直線LA、LBの交点に基づいて空走終了を判定する。
 図14に示すように、ガタ空走区間と谷谷間回転区間とでは、角度差分値θmsの傾きが異なっている。本実施形態では、「ガタ詰まり」となると、角度差分値θmsの傾きが変化し、変曲点となることを利用して、ガタ詰めポイントXXおよび角度補正値θpを決定している。
 近似直線LA、LBの導出方法、ならびに、ガタ詰めポイントXXおよび角度補正値θpの決定方法等の詳細は、モータ角度変化量Δθmに替えて、角度差分値θmsを用いれば、第4実施形態と同様である。
 ここでは、角度差分値θmsは、式4のように、モータ角度θmから出力軸角度θsを減算するものとして説明したが、出力軸角度θsからモータ角度θmを減算した値を「角度差分値」としてもよい。角度差分値θmsは、ガタ空走区間が終了すると、0になる値であることを鑑みれば、「ガタ空走量」と捉えることもできる。第3実施形態についても同様である。
 本実施形態では、空走判定部512は、区間Aにおける角度差分値θmsの経時変化を表す近似直線LA、および、区間Bにおける角度差分値θmsの経時変化を表す近似直線LBを導出する。空走判定部512は、近似直線LA、LBの交点となるタイミングにて、空走状態が終了したとみなす。
 本実施形態では、複数時点での角度差分値θmsを用いて近似直線LA、LBを求め、その交点に基づいて空走終了判定を行い、角度補正値θpを演算している。これにより、エンコーダ13や出力軸センサ16におけるノイズの影響により空走終了を誤判定しにくくなる。また、近似直線LA、LBの導出にも、2つのセンサ値を用いているので、空走終了判定および角度補正値θpの精度がより向上する。
 また、上記実施形態と同様の効果を奏する。
 (第6実施形態)
 第6実施形態では、出力軸角度θsを用い、区間Aにおける出力軸角度θsの近似直線を近似直線LA、区間Bにおける出力軸角度θsの近似直線を近似直線LBとし、近似直線LA、LBの交点に基づいて空走終了を判定する。
 図13および図14に示すように、ガタ空走区間と谷谷間回転区間とでは、出力軸角度θsの傾きが異なっている。本実施形態では、「ガタ詰まり」となると、角度差分値θmsの傾きが変化し、変曲点となることを利用して、ガタ詰めポイントXXおよび角度補正値θpを決定している。
 近似直線LA、LBの導出方法、ならびに、ガタ詰めポイントXXおよび角度補正値θpの決定方法等の詳細は、モータ角度変化量Δθmに替えて、出力軸角度θsを用いれば、第4実施形態と同様である。
 本実施形態では、空走判定部512は、区間Aにおける出力軸角度θsの経時変化を表す近似直線LA、および、区間Bにおける出力軸角度θsの経時変化を表す近似直線LBを導出する。空走判定部512は、近似直線LA、LBの交点となるタイミングにて、空走状態が終了したとみなす。
 本実施形態では、複数時点での出力軸角度θsを用いて近似直線LA、LBを求め、その交点に基づいて空走終了判定を行うとともに角度補正値θpを演算しているので、ノイズの影響により空走終了を誤判定しにくくなる。
 また、上記実施形態と同様の効果を奏する。
 (他の実施形態)
 上記実施形態では、モータは、永久磁石式の3相ブラシレスモータである。他の実施形態では、モータは、スイッチトリラクタンスモータ等、どのようなモータを用いてもよい。また、上記実施形態では、モータに2組の巻線組が設けられる。他の実施形態では、モータの巻線組は、1組でもよいし3組以上であってもよい。
 上記実施形態では、位置フィードバック制御において、120°通電による矩形波制御を行う。他の実施形態では、位置フィードバック制御において、180°通電による矩形波制御としてもよい。また矩形波制御に限らず、三角波比較方式や瞬時ベクトル選択方式によるPWM制御としてもよい。
 上記実施形態では、モータ制御状態として、位置フィードバック制御と固定相通電制御とを切り替える。他の実施形態では、モータ駆動制御部は、位置フィードバック制御および固定相通電制御の少なくとも一方を異なる制御状態としてもよい。また、上記実施形態では、位置フィードバック制御と固定相通電制御とを切り替える。他の実施形態では、モータの制御状態を切り替えず、例えば位置フィードバック制御等、1つの制御状態にてモータの駆動を制御するようにしてもよい。また、速度フィードバック制御としてもよい。
 モータの制御方法は、用いるモータの種類に応じ、適宜変更可能である。
 上記実施形態では、モータの回転角を検出する回転角センサとして、エンコーダを用いる。他の実施形態では、回転角センサは、エンコーダに限らず、レゾルバ等、どのようなものを用いてもよい。上記実施形態では、エンコーダのカウント値を位相進みフィルタ処理を行い、位置フィードバック制御に用いる。他の実施形態では、モータの回転角そのもの、または、モータの回転角に換算可能なエンコーダカウント値以外の値を用いて位置フィードバック制御を行ってもよい。固定相通電制御における固定相の選択についても同様である。また他の実施形態では、位相進みフィルタ処理を省略してもよい。
 また、出力軸センサは、出力軸の回転に応じて出力が連続的に変化するものであれば、ポテンショメータ以外のものを用いてもよい。
 上記実施形態では、ディテントプレートには4つの凹部が設けられる。他の実施形態では、凹部の数は4つに限らず、いくつであってもよい。例えば、ディテントプレートの凹部を2つとし、PレンジとnotPレンジとを切り替えるものとしてもよい。また、シフトレンジ切替機構やパーキングロック機構等は、上記実施形態と異なっていてもよい。
 上記実施形態では、モータ軸と出力軸との間に減速機が設けられる。他の実施形態では、モータ軸と出力軸との間の減速機を省略してもよいし、減速機以外の機構を設けてもよい。すなわち、上記実施形態では、モータ軸と出力軸との間の「遊び」が減速機のギアとモータ軸との間に存在するものを中心に説明したが、「遊び」とはモータ軸と出力軸との間に存在する遊びやガタ等の合計と捉えることができる。
 他の実施形態では、空走判定については、上記実施形態の判定方法に限らず、出力軸角度およびモータ角度に基づき、どのように判定してもよい。
 上記実施形態では、モータ軸角度をギア比換算し、出力軸角度と一致するようにしている。他の実施形態では、出力軸角度をギア比換算してモータ軸角度と一致するようにしてもよい。また、モータ軸と出力軸との間に変速機が設けられていない場合等、適宜、ギア比換算を省略してもよい。
 ここで、この出願に記載されるフローチャート、あるいは、フローチャートの処理は、複数のステップ(あるいはセクションと言及される)から構成され、各ステップは、たとえば、S101と表現される。さらに、各ステップは、複数のサブステップに分割されることができる、一方、複数のステップが合わさって一つのステップにすることも可能である。
 以上、本開示の一態様に係るシフトレンジ制御装置の実施形態、構成、態様を例示したが、本開示に係る実施形態、構成、態様は、上述した各実施形態、各構成、各態様に限定されるものではない。例えば、異なる実施形態、構成、態様にそれぞれ開示された技術的部を適宜組み合わせて得られる実施形態、構成、態様についても本開示に係る実施形態、構成、態様の範囲に含まれる。

Claims (7)

  1.  モータ(10)の回転軸であるモータ軸(105)と前記モータの回転が伝達される出力軸(15)との間に遊びが存在するシフトレンジ切替システム(1)において、前記モータの駆動を制御することでシフトレンジを切り替えるシフトレンジ制御装置であって、
     前記モータの回転を検出するモータ回転角センサ(13)の検出値に基づく値であるモータ角度、および、前記出力軸の回転を検出する出力軸センサ(16)の検出値に基づく値である出力軸角度に基づき、前記遊びの範囲内にて前記モータが回転している空走状態の終了を判定する空走判定部(521)と、
     空走終了時における前記モータ角度に応じた値である角度補正値を用い、前記モータの駆動制御に係るモータ角度目標値を設定する目標値設定部(525)と、
     を備えるシフトレンジ制御装置。
  2.  前記空走判定部は、前記モータ角度の単位時間あたりの変化量であるモータ角度変化量と、前記出力軸角度の単位時間あたりの変化量である出力軸角度変化量とが一致し、かつ、前記モータ角度変化量および前記出力軸角度変化量が共に回転判定閾値以上である場合、前記空走状態が終了したと判定する請求項1に記載のシフトレンジ制御装置。
  3.  前記空走判定部は、前記モータ角度と前記出力軸角度との差分値である角度差分値が差分判定閾値より大きく、かつ、前記角度差分値の単位時間あたりの変化量が0となったとき、前記空走状態が終了したと判定する請求項1に記載のシフトレンジ制御装置。
  4.  前記目標値設定部は、前記モータ角度の単位時間あたりの変化量であるモータ角度変化量と、前記出力軸角度の単位時間あたりの変化量である出力軸角度変化量との差分値がピーク値となったときの前記モータ角度を、空走終了時における前記モータ角度とみなし、当該モータ角度を前記角度補正値として、前記モータ角度目標値を設定する請求項1~3のいずれか一項に記載のシフトレンジ制御装置。
  5.  前記空走判定部は、
     前記モータ角度および前記出力軸角度に基づき、前記空走状態である空走区間、および、前記モータ軸と前記出力軸とが一体となって回転している一体回転区間を設定し、
     前記空走区間における前記モータ角度の単位時間あたりの変化量であるモータ角度変化量の経時変化を表す近似線である第1近似線、および、前記一体回転区間における前記モータ角度変化量の経時変化を表す近似線である第2近似線を導出し、
     前記第1近似線と前記第2近似線との交点となるタイミングにて、前記空走状態が終了したとみなす請求項1に記載のシフトレンジ制御装置。
  6.  前記空走判定部は、
     前記モータ角度および前記出力軸角度に基づき、前記空走状態である空走区間、および、前記モータ軸と前記出力軸とが一体となって回転している一体回転区間を設定し、
     前記空走区間における前記モータ角度と前記出力軸角度との差分値である角度差分値の経時変化を表す近似線である第1近似線、および、前記一体回転区間における前記角度差分値の経時変化を表す近似線である第2近似線を導出し、
     前記第1近似線と前記第2近似線との交点となるタイミングにて、前記空走状態が終了したとみなす請求項1に記載のシフトレンジ制御装置。
  7.  前記空走判定部は、
     前記モータ角度および前記出力軸角度に基づき、前記空走状態である空走区間、および、前記モータ軸と前記出力軸とが一体となって回転している一体回転区間を設定し、
     前記空走区間における前記出力軸角度の経時変化を表す近似線である第1近似線、および、前記一体回転区間における前記出力軸角度の経時変化を表す近似線である第2近似線を導出し、
     前記第1近似線と前記第2近似線との交点となるタイミングにて、前記空走状態が終了したとみなす請求項1に記載のシフトレンジ制御装置。

     
PCT/JP2017/016324 2016-05-31 2017-04-25 シフトレンジ制御装置 WO2017208682A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE112017002740.3T DE112017002740B4 (de) 2016-05-31 2017-04-25 Schaltbereichsteuervorrichtung
CN201780033031.9A CN109196253B (zh) 2016-05-31 2017-04-25 换挡挡位控制装置
US16/202,428 US10680541B2 (en) 2016-05-31 2018-11-28 Shift range control apparatus

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2016108314 2016-05-31
JP2016-108314 2016-05-31
JP2016-176274 2016-09-09
JP2016176274 2016-09-09
JP2017-030961 2017-02-22
JP2017030961A JP6607213B2 (ja) 2016-05-31 2017-02-22 シフトレンジ制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/202,428 Continuation US10680541B2 (en) 2016-05-31 2018-11-28 Shift range control apparatus

Publications (1)

Publication Number Publication Date
WO2017208682A1 true WO2017208682A1 (ja) 2017-12-07

Family

ID=60478263

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/016324 WO2017208682A1 (ja) 2016-05-31 2017-04-25 シフトレンジ制御装置

Country Status (1)

Country Link
WO (1) WO2017208682A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019151146A1 (ja) * 2018-01-30 2019-08-08 Ntn株式会社 電動式アクチュエータおよび電動ブレーキ装置
US10644622B2 (en) 2016-04-15 2020-05-05 Denso Corporation Shift range control apparatus
CN112602265A (zh) * 2018-09-03 2021-04-02 株式会社电装 换挡挡位控制装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004023932A (ja) * 2002-06-18 2004-01-22 Denso Corp モータ制御装置
JP2009177965A (ja) * 2008-01-25 2009-08-06 Denso Corp モータ制御装置
JP4385768B2 (ja) * 2004-01-09 2009-12-16 株式会社デンソー モータ制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004023932A (ja) * 2002-06-18 2004-01-22 Denso Corp モータ制御装置
JP4385768B2 (ja) * 2004-01-09 2009-12-16 株式会社デンソー モータ制御装置
JP2009177965A (ja) * 2008-01-25 2009-08-06 Denso Corp モータ制御装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10644622B2 (en) 2016-04-15 2020-05-05 Denso Corporation Shift range control apparatus
WO2019151146A1 (ja) * 2018-01-30 2019-08-08 Ntn株式会社 電動式アクチュエータおよび電動ブレーキ装置
JP2019134551A (ja) * 2018-01-30 2019-08-08 Ntn株式会社 電動式アクチュエータおよび電動ブレーキ装置
JP7017940B2 (ja) 2018-01-30 2022-02-09 Ntn株式会社 電動式アクチュエータおよび電動ブレーキ装置
CN112602265A (zh) * 2018-09-03 2021-04-02 株式会社电装 换挡挡位控制装置
CN112602265B (zh) * 2018-09-03 2023-12-05 株式会社电装 换挡挡位控制装置

Similar Documents

Publication Publication Date Title
JP6607213B2 (ja) シフトレンジ制御装置
JP6601322B2 (ja) シフトレンジ切替装置
WO2017179337A1 (ja) シフトレンジ制御装置
JP6531707B2 (ja) シフトレンジ制御装置
JP6569584B2 (ja) シフトレンジ制御装置
CN110325769B (zh) 换挡挡位控制装置
US11226037B2 (en) Shift range control device
WO2018047911A1 (ja) シフトレンジ制御装置
JP6658416B2 (ja) シフトレンジ制御装置
JP2018165528A (ja) シフトレンジ制御装置
WO2017208682A1 (ja) シフトレンジ制御装置
US11084493B2 (en) Shift range control device
JP2018071593A (ja) シフトレンジ制御装置
WO2019181886A1 (ja) シフトレンジ制御装置
WO2019131331A1 (ja) シフトレンジ制御装置
JP6705431B2 (ja) シフトレンジ制御装置
US11162580B2 (en) Shift range control device
JP2019110674A (ja) モータ制御装置
WO2019176849A1 (ja) シフトレンジ制御装置
CN113748596B (zh) 马达控制装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17806242

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17806242

Country of ref document: EP

Kind code of ref document: A1