WO2019083015A1 - モータ制御装置、モータ制御方法および電動パワーステアリング装置 - Google Patents

モータ制御装置、モータ制御方法および電動パワーステアリング装置

Info

Publication number
WO2019083015A1
WO2019083015A1 PCT/JP2018/039887 JP2018039887W WO2019083015A1 WO 2019083015 A1 WO2019083015 A1 WO 2019083015A1 JP 2018039887 W JP2018039887 W JP 2018039887W WO 2019083015 A1 WO2019083015 A1 WO 2019083015A1
Authority
WO
WIPO (PCT)
Prior art keywords
motor
unit
angle
interpolation
duty
Prior art date
Application number
PCT/JP2018/039887
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
Application filed by 日本精工株式会社 filed Critical 日本精工株式会社
Priority to JP2019549016A priority Critical patent/JP6624357B2/ja
Priority to US16/499,709 priority patent/US11001295B2/en
Priority to EP18869965.6A priority patent/EP3588767B1/en
Priority to BR112019020545-4A priority patent/BR112019020545B1/pt
Priority to CN201880025649.5A priority patent/CN110537322B/zh
Publication of WO2019083015A1 publication Critical patent/WO2019083015A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D5/00Power-assisted or power-driven steering
    • B62D5/04Power-assisted or power-driven steering electrical, e.g. using an electric servo-motor connected to, or forming part of, the steering gear
    • B62D5/0409Electric motor acting on the steering column
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D5/00Power-assisted or power-driven steering
    • B62D5/04Power-assisted or power-driven steering electrical, e.g. using an electric servo-motor connected to, or forming part of, the steering gear
    • B62D5/0457Power-assisted or power-driven steering electrical, e.g. using an electric servo-motor connected to, or forming part of, the steering gear characterised by control features of the drive means as such
    • B62D5/046Controlling the motor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D6/00Arrangements for automatically controlling steering depending on driving conditions sensed and responded to, e.g. control circuits
    • B62D6/002Arrangements for automatically controlling steering depending on driving conditions sensed and responded to, e.g. control circuits computing target steering angles for front or rear wheels
    • B62D6/003Arrangements for automatically controlling steering depending on driving conditions sensed and responded to, e.g. control circuits computing target steering angles for front or rear wheels in order to control vehicle yaw movement, i.e. around a vertical axis
    • 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
    • H02P27/00Arrangements or methods for the control of AC motors characterised by the kind of supply voltage
    • H02P27/04Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage
    • H02P27/06Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using dc to ac converters or inverters
    • H02P27/08Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using dc to ac converters or inverters with pulse width modulation
    • 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
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/10Arrangements for controlling torque ripple, e.g. providing reduced torque ripple
    • 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
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/14Electronic commutators
    • H02P6/16Circuit arrangements for detecting position

Definitions

  • the present invention relates to a motor control device, a motor control method, and an electric power steering device.
  • This application is related to Japanese Patent Application No. 2017-207030 filed in Japan on October 26, 2017, Japanese Patent Application No. 2018-200293 filed in Japan on October 24, 2018, Japan on October 24, 2018.
  • Japanese Patent Application No. 20800-00294 filed in the country, Japanese Patent Application No. 20800-200995 filed in Japan on October 24, 2018, Japanese Patent Application No. 20800-20029 filed in Japan on October 24, 2018 Claim priority and its contents are incorporated here.
  • EPS electric power steering apparatus
  • a high efficiency brassiness motor is often used.
  • a motor control device that controls a brushless motor controls an inverter that drives the brushless motor by PWM (Pulse Width Modulation) control.
  • PWM Pulse Width Modulation
  • the brushless motor vibrates at a frequency (for example, 4 KHz) according to a cycle (for example, 250 ⁇ s) for performing a PWM operation, and generates a sound due to the motor of that frequency.
  • a frequency for example, 4 KHz
  • a cycle for example, 250 ⁇ s
  • the brushless motor vibrates at a frequency (for example, 4 KHz) according to a cycle (for example, 250 ⁇ s) for performing a PWM operation, and generates a sound due to the motor of that frequency.
  • a cycle for example, 250 ⁇ s
  • the electric power steering apparatus described in Patent Document 1 calculates an interpolation duty command value using a control signal (Duty command value) of PWM control calculated immediately before and calculates the PWM operation.
  • the control signal of PWM control is fluctuated in a cycle twice as long as the cycle in which While the increase in the amount of arithmetic processing of the microcomputer is slight, it is possible to suppress the vibration of the brushless motor and the noise caused by the motor.
  • Patent No. 4946075 gazette
  • the electric power steering apparatus described in Patent Document 1 calculates the interpolated Duty command value using the Duty command value.
  • the duty command value may transiently change, and therefore the interpolation duty command value may be a value including a large noise.
  • the interpolation Duty command value includes large noise, there is a problem that abnormal noise is generated particularly at high speed steering.
  • Patent Document 1 also describes a method of calculating an interpolation duty command value using a rotation angle of a rotor.
  • the angular velocity calculated by differentiating the rotational angle of the rotor is used for calculating the interpolation duty command value.
  • removal of the noise component is not sufficient only by performing the differential operation on the rotation angle of the rotor, and the interpolation duty command value may be a value including a large noise.
  • the present invention calculates an interpolation duty command value with little noise, and a motor control device, motor control method, and motor control device capable of suitably suppressing vibration of a brushless motor and sound caused by the motor. It is an object of the present invention to provide an electric power steering apparatus equipped with the
  • a motor control device is a motor control device that performs PWM control of an inverter that drives a three-phase brushless motor based on a current command value, which is acquired from the three-phase brushless motor every control cycle.
  • a voltage command value calculation unit that calculates a voltage command value using a motor electrical angle, a motor rotation speed, and the current command value, and an interpolation electrical angle from the motor electrical angle at divided intervals obtained by dividing the control cycle.
  • a converter for calculating a three-phase Duty command value from the electrical command interpolation unit and the voltage command value and the motor electrical angle, and for calculating a three-phase interpolation duty command value from the voltage command value and the interpolation electrical angle
  • an output setting unit configured to switch and output the three-phase Duty command value and the three-phase interpolation Duty command value in accordance with the division interval.
  • the electrical angle interpolation unit uses either one of a quadratic function interpolation operation and a linear function interpolation operation.
  • the corners may be estimated.
  • the electrical angle interpolation unit calculates a quadratic function interpolation operation when the motor rotation number is lower than a predetermined first rotation number.
  • the interpolation electrical angle may be estimated using the following equation, and the quadratic function interpolation operation may be switched to a linear function interpolation operation when the motor rotational speed is greater than or equal to the first rotational speed.
  • the electric angle interpolation unit is configured to set the motor rotational speed higher than the first rotational speed to a predetermined second rotational speed.
  • the motor electrical angle may be output as the interpolated electrical angle.
  • control cycle in the motor control device according to any one of the first to fourth aspects, may be 100 ⁇ s or more and 250 ⁇ s or less.
  • the three-phase brushless motor is controlled by a vector drive method, and the conversion unit performs space vector modulation. You may go.
  • a motor control method is a motor control method of a three-phase brushless motor in which an inverter is PWM-controlled based on a current command value, and acquired from the three-phase brushless motor every control cycle.
  • the electrical angle interpolation step switches between a quadratic function interpolation operation and a linear function interpolation operation to estimate the interpolation electrical angle.
  • the electrical angle interpolation step calculates quadratic function interpolation when the motor rotational speed is lower than a predetermined first rotational speed.
  • the interpolation electrical angle may be estimated using the following equation, and the quadratic function interpolation operation may be switched to a linear function interpolation operation when the motor rotational speed is greater than or equal to the first rotational speed.
  • the motor rotational speed is higher than the predetermined second rotational speed higher than the first rotational speed.
  • the motor electrical angle may be output as the interpolated electrical angle.
  • An electric power steering apparatus converts a dq axis current command value calculated based on at least a steering torque into a three phase Duty command value, and an inverter based on the three phase Duty command value.
  • a vector control type electric power steering apparatus having a function of driving and controlling a three-phase brushless motor by PWM control and compensating for the dead time of the inverter, and applying an assist torque to a steering mechanism of a vehicle;
  • the dq axis Duty command value calculated based on the axis current command value, the motor angle and the motor rotational speed is converted into three phases according to the motor angle, and the third harmonic is superimposed, and the three phase regular Duty command
  • the electric angle interpolation unit to output and the dq axis Duty command value are converted into three phases according to the interpolation duty calculation motor angle, and the third harmonic is super
  • the electrical angle interpolation unit determines whether the motor angle falls within a predetermined range and outputs a switching flag.
  • a motor angle switching determination unit, an arithmetic processing unit that interpolates the motor angle, and an interpolation operation for the motor angle for which offset processing is performed at a predetermined angle are performed, and an offset return process for the predetermined angle for which the interpolation operation is performed.
  • the arithmetic processing unit with offset to execute, the first interpolation motor angle from the arithmetic processing unit, and the second interpolation motor angle from the arithmetic processing unit with offset are input, and are switched by the switching flag It may have a switch part which outputs a motor angle for the above-mentioned interpolation Duty operation.
  • the interpolation operation may be a quadratic function interpolation operation or a linear function interpolation operation.
  • the arithmetic processing unit includes a first rollover processing unit, and the arithmetic operation with the offset
  • the processing unit may include a second rollover processing unit after the offset processing, and may include a third rollover processing unit after the offset return processing.
  • the predetermined range is a range of 90 ° or more and 270 ° or less.
  • the predetermined angle may be 180 °.
  • the interpolation duty command value with less noise is calculated, and the noise due to the vibration of the brushless motor or the motor is preferably made. It is possible to suppress and reduce the sound caused by the motor in the audible range.
  • FIG. It is a graph which shows the simulation result which estimated interpolation electric angle 4.
  • FIG. It is a graph which shows the simulation result of Duty command value computed using estimated interpolation electric angle 1.
  • FIG. It is a graph which shows the simulation result of Duty command value calculated using estimated interpolation electric angle 2.
  • FIG. It is a graph which shows the simulation result of Duty command value calculated using presumed interpolation electric angle 3.
  • FIG. It is a graph which shows the simulation result of Duty command value calculated using estimated interpolation electric angle 4.
  • FIG. It is a schematic diagram which shows the structure of the electric-power-steering apparatus carrying the motor control apparatus which concerns on 3rd embodiment. It is a functional block diagram of the motor control apparatus comprised by the control unit of the same electric power steering apparatus.
  • the control flowchart of the same electrical angle interpolation part is shown. It is a graph which shows the waveform of the same electrical angle interpolation part. It is a function block diagram of the space vector modulation part of the motor control part. It is a functional block diagram of the last Duty calculating part of the motor control part. It is a functional block diagram of the Duty output setting part of the motor control part. It is a graph which shows the simulation result which estimated interpolation electric angle 1. FIG. It is a graph which shows the simulation result which estimated interpolation electric angle 2. FIG. It is a graph which shows the simulation result which estimated interpolation electric angle 3. FIG. It is a graph which shows the simulation result which estimated interpolation electric angle 4. FIG.
  • FIG. It is a graph which shows the simulation result of Duty command value computed using estimated interpolation electric angle 1.
  • FIG. It is a graph which shows the simulation result of Duty command value calculated using estimated interpolation electric angle 2.
  • FIG. It is a graph which shows the simulation result of Duty command value calculated using presumed interpolation electric angle 3.
  • FIG. It is a graph which shows the simulation result of Duty command value calculated using estimated interpolation electric angle 4.
  • FIG. It is a schematic diagram which shows the structure of the electric-power-steering apparatus carrying the motor control apparatus which concerns on 5th embodiment. It is a functional block diagram of the motor control apparatus comprised by the control unit of the same electric power steering apparatus. It is a block diagram of the PWM control part of the motor control apparatus, and an inverter.
  • the control flowchart of the same electrical angle interpolation part is shown. It is a graph which shows the waveform of the same electrical angle interpolation part.
  • FIG. 1 is a schematic view showing a configuration of an electric power steering apparatus 300 equipped with a motor control apparatus 400 according to the present embodiment.
  • the electric power steering apparatus 300 is a column assist type electric power steering apparatus in which an electric motor and a reduction mechanism are disposed in a column portion (steering shaft).
  • the electric power steering apparatus 300 further transmits the hub units 7a and 7b through the column axis (steering shaft, handle shaft) 2 of the steering wheel 1, the reduction gear 3, the universal joints 4a and 4b, the pinion rack mechanism 5, and the tie rods 6a and 6b.
  • the steering wheels 8L and 8R are connected to each other via the steering wheel 8L.
  • a steering angle sensor 14 for detecting a steering angle ⁇ e of the steering wheel 1 and a torque sensor 10 for detecting a steering torque Th of the steering wheel 1 are provided on the column shaft 2 to assist the steering force of the steering wheel 1
  • a motor 100 is connected to the column shaft 2 via a reduction gear 3. Electric power is supplied from the battery 13 to the control unit (ECU) 30 that controls the electric power steering apparatus 300, and an ignition key signal is input through the ignition key 11.
  • ECU control unit
  • the control unit 30 calculates the current command value of the assist (steering assist) command based on the steering torque Th detected by the torque sensor 10 and the vehicle speed Vs detected by the vehicle speed sensor 12, and the calculated current command value
  • the motor 100 is controlled by the voltage control command value Vref which has been subjected to compensation and the like.
  • the steering angle sensor 14 is not essential and may not be disposed, and the steering angle (motor angle) ⁇ e can be obtained from a rotation sensor such as a resolver connected to the motor 100.
  • the control unit 30 mainly includes a program executable computer including a central processing unit (CPU) (including an MPU (micro processor unit), an MCU (micro controller unit), and the like).
  • CPU central processing unit
  • MPU micro processor unit
  • MCU micro controller unit
  • the control unit 30 includes circuits such as an inverter 161 that drives the motor 100, a motor current detection circuit 162 that detects the current of the motor 100, and an angle detection unit 110A that detects the motor angle ⁇ e of the motor 100. These circuits may be mounted on the motor 100 side.
  • the control unit 30 is connected to a CAN (Controller Area Network) 40 that transmits and receives various information of the vehicle, and the vehicle speed Vs can also be received from the CAN 40.
  • the control unit 30 can also be connected to a non-CAN 41 that transmits and receives communications other than the CAN 40, analog / digital signals, radio waves, and the like.
  • the motor 100 is a three-phase brushless motor that is mainly used as an actuator of the electric power steering apparatus 300 in recent years.
  • the motor 100 is controlled by a vector control method using space vector drive.
  • the q axis for controlling the torque which is the coordinate axis of the rotor of the motor 100
  • the d axis for controlling the strength of the magnetic field are set independently, and the dq axis is 90 °. Because of this, the current corresponding to each axis (d-axis current command value Iref_d, q-axis current command value Iref_q) is controlled by the vector.
  • FIG. 2 is a functional block diagram of the motor control device 400 configured by the control unit 30. As shown in FIG. The function of the motor control device 400 is realized by appropriately combining a program executed by a CPU or the like and an electronic circuit such as an inverter. The functions described as the electronic circuit in the following description may be realized as a program executed by a CPU or the like.
  • the motor control device 400 performs drive control of the motor 100.
  • the motor control device 400 includes a current command value calculation unit 31, a motor control unit 39, a PWM control unit 160, an inverter 161, a motor current detection circuit 162, a motor angle detection unit 110A, and an angular velocity calculation unit 110B. And a three-phase alternating current / dq axis conversion unit 130.
  • FIG. 3 is a configuration diagram of the PWM control unit 160 and the inverter 161.
  • the inverter 161 is, as shown in FIG. 3, configured of a three-phase bridge of FETs, and drives the motor 100 by being turned ON / OFF with PWM-Duty values D1 to D6. Between the inverter 161 and the motor 100, a motor switch 101 for interrupting the supply of current when the assist control is stopped or the like is interposed.
  • the upper arm is composed of FETs Q1, Q2 and Q3 as switching elements, and the lower arm is composed of FETs Q4, Q5 and Q6.
  • FETs Q1 and Q4 are U-phase
  • FETs Q2 and Q5 are V-phase
  • FETs Q3 and Q6 are W-phase drive elements.
  • the PWM control unit 160 is an inverter (inverter applied voltage VR) having a bridge configuration of upper and lower arms as shown in FIG. 3 based on the input three-phase Duty command values Du_o, Dv_o, Dw_o. Driving control of the motor 100 is performed via 161.
  • the PWM control unit 160 includes a PWM unit 160A-2 and a gate driving unit 160B.
  • the PWM unit 160A-2 calculates three-phase PWM-Duty values D1 to D6 according to predetermined equations for the three-phase Duty command values Du_o, Dv_o, Dw_o.
  • a modulation signal (carrier) CF of, for example, a triangular wave is input to the PWM unit 160A-2 from the oscillation unit 160C, and the PWM unit 160A-2 calculates PWM-Duty values D1 to D6 in synchronization with the modulation signal CF. .
  • the gate driver 160B outputs PWM-Duty values D1 to D6 to drive the gates of the FETs Q1 to Q6 which are drive elements.
  • the electric power steering apparatus 300 is an in-vehicle product, the operating temperature range is wide, and the inverter 161 for driving the motor 100 from the viewpoint of fail safe has a large dead time as compared with general industrial applications such as home appliances. It is necessary to do industrial equipment ⁇ EPS.
  • switching elements for example, FETs (Field-Effect Transistors)
  • FETs Field-Effect Transistors
  • a time (dead time) in which the switching elements of both the upper and lower arms are turned off is provided.
  • the current waveform is distorted, the response of current control and steering feeling deteriorate, for example, when steering slowly while the steering wheel is in the vicinity of on center, discontinuous due to torque ripple etc. A feeling of steering may occur.
  • the current detector 162 detects three-phase motor currents Iu, Iv, Iw of the motor 100, as shown in FIG.
  • the detected three-phase motor currents Iu, Iv, Iw are input to the three-phase AC / dq axis converter 130 and converted into two-phase feedback dq axis currents Id, Iq.
  • the two-phase feedback dq axis currents Id and Iq are input to the motor control unit 39.
  • the motor angle detection unit 110A calculates and acquires the motor angle ⁇ e of the motor 100, if necessary.
  • the motor angle ⁇ e is input to the angular velocity calculation unit 110B, the motor control unit 39, and the three-phase AC / dq axis conversion unit 130.
  • the angular velocity calculation unit 110B obtains the motor rotation number N and the motor angular velocity ⁇ from the motor angle ⁇ e by calculation.
  • the motor rotation number N and the motor angular velocity ⁇ are input to the motor control unit 39.
  • FIG. 4 is a functional block diagram of the motor control unit 39.
  • the motor control unit 39 includes a voltage command value calculation unit 220, an electrical angle interpolation unit 240, a space vector modulation unit 250, a final Duty calculation unit 200, and a Duty output setting unit 160A-1.
  • Voltage command value calculation unit 220 includes dq axis dead time compensation value calculation unit 201, dq axis current feedback control unit 203, voltage / duty conversion coefficient calculation unit 204, addition unit 205, dq axis duty clamp / VR sensitivity And a calculation unit 210.
  • the voltage / duty conversion coefficient calculation unit 204 calculates a voltage / duty conversion coefficient Kc in accordance with the inverter applied voltage VR.
  • FIG. 5 is a block diagram of the electrical angle interpolation unit 240. As shown in FIG. The electric angle interpolation unit 240 calculates a motor angle (interpolation electric angle) ⁇ s for interpolation duty calculation from the input motor angle ⁇ e, and outputs it to the space vector modulation unit 250 (electric angle interpolation step).
  • the electric angle interpolation unit 240 calculates a motor angle (interpolation electric angle) ⁇ s for interpolation duty calculation from the input motor angle ⁇ e, and outputs it to the space vector modulation unit 250 (electric angle interpolation step).
  • the electrical angle interpolation unit 240 performs quadratic function interpolation calculation (Second Order Hold calculation: for the following, the quadratic function interpolation calculation is simply referred to as “SOH calculation”) with respect to the motor angle ⁇ e detected in the control cycle 250 ⁇ s (Tc).
  • SOH calculation quadratic function interpolation calculation
  • the motor angle (interpolated electrical angle) ⁇ s after Tc / 2 elapses from the control period Tc is estimated, and the interpolated Duty command value is calculated based on the estimated motor angle (interpolated electrical angle) ⁇ s. .
  • the duty command value after space vector modulation is not set as an interpolation target.
  • the duty command value after space vector modulation includes a dead time compensation value with a transient change and a noise component caused by the distortion component of the third high frequency due to space vector modulation, etc., and calculated by directly interpolating the duty command value. This is because the interpolation duty command value may be a value including large noise.
  • the electrical angle interpolation unit 240 receives the motor angle ⁇ e and directly performs an SOH operation on the operation processing unit 241 (SOH operation unit 241-1 and rollover processing unit 241-2), Offset with a motor angle ⁇ e to perform offset processing, etc., and an offset-added arithmetic processing unit 242, whether the motor angle ⁇ e is greater than 90 ° and not more than 270 ° or falls within any other range
  • a motor angle switching determination unit 243 that determines the switching flag SF and outputs the switching flag SF, and a switching unit 244 that switches the contacts a and b by the switching flag SF and outputs the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation; Is equipped.
  • FIG. 6 shows the interpolated electrical angle calculated by the SOH calculation after the control period Tc has elapsed from Tc / 2.
  • Equation 1 The function y [k] used for the SOH calculation is expressed by Equation 1.
  • y [k] is a function representing the motor angle (electrical angle) at the control cycle number k.
  • Expression 2 is established by using the coefficients a, b, c, and expressing them as the second previous value y [-2], the last value y [-1], and the current value y [0].
  • Equation 3 By arranging the above equations, a, b, c are expressed as Equation 3 using y [0], y [-1], y [-2].
  • FIG. 7 is a functional block diagram of the SOH calculation unit 241-1 (242-4).
  • the SOH calculation unit 241-1 is a holding unit 245-1 and a holding unit 245-2 of the previous value of the motor angle ⁇ e, a coefficient unit B0 (245-3), a coefficient unit B1 (245-4), and a coefficient unit B2 (245-5), an adding unit 245-6, and an adding unit 245-7.
  • the motor angle ⁇ e is input to the coefficient unit B0 (245-3) and the holding unit 245-1, and the holding value of the holding unit 245-1 is input to the coefficient unit B1 (245-4) and the holding unit 245-2 .
  • the holding value of holding unit 245-2 is input to coefficient part B2 (245-5), and the outputs of coefficient part B0 (245-3), coefficient part B1 (245-4) and coefficient part B2 (245-5).
  • the values are added by the adding unit 245-7 and the adding unit 245-6, and are output as the interpolation electrical angle ⁇ s.
  • the arithmetic processing unit 241 in the electrical angle interpolation unit 240 receives the motor angle ⁇ e and performs SOH calculation with the SOH calculating unit 241-1 and the motor output from the SOH calculating unit 241-1. And a rollover processing unit 241-2 that performs rollover processing (waveform processing) on the angle ⁇ e1.
  • the motor angle (first interpolation motor angle) ⁇ e 2 subjected to rollover processing by the rollover processing unit 241-2 is input to the contact a of the switching unit 244.
  • the arithmetic processing unit with offset 242 performs addition processing for performing offset processing using a coefficient 180 ° that is input from the fixing unit 242-1 when the motor angle ⁇ e is input, and the addition unit 242-
  • a rollover processing unit 242-3 that performs rollover processing (waveform processing) on the motor angle ⁇ e3 input from 2 and an SOH calculation unit 242-4 that corrects the motor angle ⁇ e4 input from the rollover processing unit 242-3
  • Subtractor 242-6 that performs offset return processing by a coefficient 180 ° that is input from the fixed portion 242-5 when the motor angle ⁇ e5 is input from the SOH calculation unit 242-4, and motor that is input from the subtractor 242-6
  • a rollover processing unit 242-7 that performs rollover processing (waveform processing) on the angle ⁇ e6.
  • the motor angle (second interpolation motor angle) ⁇ e 7 subjected to rollover processing in the rollover processing unit 242-7 is input to the contact b of the switching unit 244.
  • the motor angle ⁇ e2 from the rollover processing unit 241-2 of the arithmetic processing unit 241 is input to the contact a of the switching unit 244, and the motor angle ⁇ e7 from the rollover processing unit 242-7 of the arithmetic processing unit with offset 242 is It is input to the contact b of the switching unit 244.
  • the contacts a and b of the switching unit 244 are switched by the switching flag SF ("H", "L") from the motor angle switching determination unit 243, and the motor angle for interpolation duty calculation from the switching unit 244 (interpolation Angle) ⁇ s is output.
  • the motor angle (electrical angle) ⁇ e returns to 0 ° if it exceeds 360 ° when moving from the current motor angle to the next motor angle. At this time, since a transient angle variation occurs, if SOH calculation is performed using the current motor angle, an accurate interpolation calculation result may not be obtained. In order to avoid this problem, the electrical angle interpolation unit 240 switches the calculation output (motor angle ⁇ s for interpolation duty calculation) according to the motor angle ⁇ e of the input electrical angle.
  • the electrical angle interpolation unit 240 performs the SOH calculation on the input motor angle ⁇ e.
  • the electrical angle interpolation unit 240 offsets the motor angle ⁇ e by 180 °, converts it into a continuous angle signal, performs SOH calculation, and performs 180 ° offset return processing on the interpolation calculation result after the SOH calculation.
  • Motor angle switching determination unit 243 determines from input motor angle ⁇ e switching flag SF (“H” when 90 ° ⁇ e ⁇ 270 °, “L” when 0 ° ⁇ ⁇ e ⁇ 90 ° or 270 ° ⁇ e ⁇ 360 ° Generate).
  • the switching unit 244 selects and outputs the motor angle (interpolation electrical angle) ⁇ s for the interpolation Duty calculation after the SOH calculation based on the switching flag SF.
  • the switching unit 244 when 90 ° ⁇ e ⁇ 270 °, the switching unit 244 is controlled as shown in Expression 6, and outputs the motor angle ⁇ e2 as the motor angle ⁇ s for interpolation duty calculation. Further, when 0 ° ⁇ ⁇ e ⁇ 90 ° or 270 ° ⁇ e ⁇ 360 °, the switching unit 244 is controlled as in Expression 7, and outputs the motor angle ⁇ e7 as the motor angle ⁇ s for interpolation duty calculation.
  • FIG. 8 shows a control flowchart of the electrical angle interpolation unit 240.
  • the motor angle (electrical angle) ⁇ e is input to the electrical angle interpolation unit 240 (step S1).
  • the SOH calculation unit 241-1 of the calculation processing unit 241 performs the SOH calculation (step S10).
  • the motor angle ⁇ e is input to the holding unit 245-1 to be used as the previous value in the next SOH calculation. Further, the previous value input to the holding unit 245-1 is input to the holding unit 245-2 because it is used as the value before the next SOH calculation.
  • the rollover processing unit 241-2 performs rollover processing on the motor angle ⁇ e1 calculated by the SOH and outputs a motor angle ⁇ e2 (step S11).
  • the offset-added arithmetic processing unit 242 performs offset processing on the motor angle (electrical angle) ⁇ e using the coefficient 180 ° input from the fixed unit 242-1 by the adding unit 242-2 (step S20).
  • the rollover processing unit 242-3 performs rollover processing on the offset-processed motor angle ⁇ e3, and outputs the motor angle ⁇ e4 (step S21).
  • the SOH calculating unit 242-4 performs the SOH calculation on the input motor angle ⁇ e4 (step S22).
  • the motor angle ⁇ e is input to the holding unit 245-1 to be used as the previous value in the next SOH calculation. Further, the previous value input to the holding unit 245-1 is input to the holding unit 245-2 because it is used as the value before the next SOH calculation.
  • the motor angle ⁇ e5 calculated by the SOH is input to the subtraction unit 242-6, and the offset return processing is performed with the coefficient 180 ° input from the fixed unit 242-5 (step S23).
  • the motor angle ⁇ e6 subjected to the offset return processing is subjected to rollover processing by the rollover processing unit 242-7, and the motor angle ⁇ e7 is output (step S24).
  • the motor angle switching determination unit 243 determines that the motor angle ⁇ e is larger than 90 ° and equal to or smaller than 270 ° (step S2). When this condition is satisfied (in the case of YES), the motor angle switching determination unit 243 sets the switching flag SF to “H”. If the above conditions are not met (in the case of NO), the motor angle ⁇ e is 0 ° or more and 90 ° or less, or more than 270 ° and 360 ° or less, and the motor angle switching determination unit 243 sets the switching flag SF to “L”. (Step S3).
  • the switching unit 244 selects ⁇ e 2 and outputs it as a motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation.
  • the switching unit 244 selects ⁇ e 7 and outputs it as the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation (step S4 and Step 5).
  • FIG. 9A is a waveform example of the motor angle ⁇ e2 output from the arithmetic processing unit 241
  • FIG. 9B is a waveform example of the motor angle ⁇ e7 output from the arithmetic processing unit with offset 242.
  • FIG. 9C shows the switching timing of “H” and “L” of the switching flag SF
  • FIG. 9D shows the motor angle (interpolation for interpolation duty calculation output from the switching unit 244).
  • An example of the waveform of the electrical angle ⁇ s is shown.
  • the motor angle (interpolated electrical angle) ⁇ s output by the electrical angle interpolation unit 240 is such that the motor angle ⁇ s exceeds 360 ° as compared with the waveform shown in FIG. 9A.
  • the motor angle ⁇ e has relatively low noise if the linearity is high, and there is no transitional change other than the angle change to switch from 360 ° to 0 °, high accuracy can be ensured in calculation of the interpolation electrical angle by SOH calculation .
  • FIG. 10 is a functional block diagram of the space vector modulation unit 250.
  • the space vector modulation unit (conversion unit) 250 performs space vector conversion operation after converting from the dimension of voltage to the dimension of Duty (conversion step).
  • Japanese Patent Application Laid-Open No. 2017-70066 and International Publication No. 2017/098840 by the present applicant.
  • Space vector modulation section 250 performs space vector modulation section 250-0 performing the above-mentioned space vector conversion operation using motor angle (electrical angle) ⁇ e, and space vector modulation section performing the space vector conversion operation using interpolation electrical angle ⁇ s. It has a section 250-1.
  • FIG. 11 is a functional block diagram of the final Duty operation unit 200.
  • the Duty value to which the offset of Duty 50% has been added by the adding unit 221 is input to the limiter 222 which limits the Duty output within the range of 0 to 100% (variable).
  • the interpolation duty command value Duty_n_m1 from the space vector modulation unit 250 is input to the addition unit 231, and the duty value added with the 50% duty offset by the addition unit 231 limits the duty output within the range of 0 to 100% (variable). Is input to the limiter 232.
  • the final interpolation Duty command value Dnm1 (n u, v, w) is output from the limiter 232.
  • the EPS supplies the motor applied voltage from the battery (DC + 12 V), it can not supply the applied voltage in the negative (-) direction. In this state, the phase voltage command value in the negative direction can not be supplied, so the phase current can not flow in the negative direction. In order to cope with this problem, the phase current becomes 0 A when the 3-phase duty value is 50%, even if the 3 phase is not 0 V, by offsetting the 3 phase with the 50% duty value (+ 6 V) to make the reference voltage. Applied voltage + 12V).
  • the 50% duty value offset is basically fixed, the reference voltage at 50% duty value fluctuates depending on the applied voltage state to be supplied. For example, when the applied voltage is 11 V, the 50% duty value is 5.5 V, and when the applied voltage is 13 V, the 50% duty value is 6.5 V.
  • FIG. 12 is a functional block diagram of the Duty output setting unit 160A-1.
  • the Duty output setting unit (output setting unit) 160A-1 outputs the control period Tc and the control period Tc based on the elapsed time T from the control period Tc after the lapse of Tc / 2 ⁇ s.
  • the final Duty command values Du_o, Dv_o, Dw_o are switched and output (output setting step).
  • FIG. 13 shows the control period and the output timing of the final normal Duty command value Dn and the final interpolation Duty command value Dnm1.
  • the final normal Duty command value Dn and the final interpolation Duty command value Dnm1 calculated in the control cycle Tc (n) are output at the timing of 0 ⁇ s of the next control cycle (n + 1), and then 125 ⁇ s
  • the final interpolation Duty command value Dnm1 is output at the timing.
  • FIG. 14 shows simulation results in the simulation apparatus.
  • the horizontal axis is time [sec]
  • the vertical axis is an internal value processed by an MPU or the like, which is 64 [dec] / 1 [deg].
  • FIG. 14A shows a waveform of a motor angle (thick line), and an estimated motor angle (thin line) calculated by SOH calculation of sampling data of 250 ⁇ s period is calculated as an angle (electrical angle) 125 ⁇ s after the 250 ⁇ s period Can be confirmed.
  • an angular waveform indicating intermediate data of sampling data of 250 ⁇ s period of the motor angle (thick line) is obtained.
  • the control of PWM control is performed in a cycle (50 ⁇ s) earlier than the cycle for performing the PWM calculation by calculating the interpolation Duty command value with less noise without being affected by the dead time compensation.
  • the signal can be varied.
  • the motor 100 is controlled by the vector control method using space vector driving, but the motor to be controlled by the motor control device is not limited thereto.
  • the motor to be controlled by the motor control device according to the present invention may be, for example, a brushless motor of a sine wave control system.
  • the motor control device according to the present invention does not set the duty command value as the direct interpolation target, but sets the motor angle (electrical angle) ⁇ e as the interpolation target.
  • the motor angle ⁇ e has relatively low noise if the linearity is high, and there is no transitional change other than the angle change to switch from 360 ° to 0 °. Therefore, the calculation of the interpolation electrical angle by SOH calculation and the calculation of the interpolation Duty command value are high Accuracy can be ensured.
  • the motor control device 400 is mounted on the electric power steering device 300, the aspect of the motor control device is not limited to this.
  • the motor control device according to the present invention is suitably mounted on a motor drive device that requires high torque while low noise is required.
  • the motor control device according to the present invention is preferably mounted on a walking support device that supports muscle power when the wearer walks, a cleaning device that operates indoors, etc., so that the motor vibration or the sound caused by the motor is preferable. To reduce the noise caused by the motor in the audible range.
  • the control cycle Tc is 250 ⁇ s (frequency 4 KHz), but the aspect of the motor control device is not limited to this.
  • the motor control device according to the present invention can preferably reduce the sound caused by the motor in the audible range when the control period Tc is 100 ⁇ s or more and 250 ⁇ s or less.
  • the control period is predicted to be shorter than 250 ⁇ s as the performance of the CPU or the like mounted on the motor control device improves or the number of poles of the motor to be controlled increases.
  • the control period Tc is 100 ⁇ s or more and 250 ⁇ s or less, as in the above embodiment, a problem occurs that a sound is generated due to the motor in the audible range.
  • Sounds resulting from vibrations and motors can be suitably suppressed, and sounds resulting from motors in the audible range can be reduced.
  • FIG. 15 is a schematic view showing a configuration of an electric power steering apparatus 300B equipped with a motor control apparatus 400B according to the present embodiment.
  • the electric power steering apparatus 300B is a column assist type electric power steering apparatus in which an electric motor and a reduction mechanism are disposed in a column portion (steering shaft).
  • the electric power steering apparatus 300B further transmits the hub units 7a and 7b through the column shaft (steering shaft, handle shaft) 2 of the steering wheel 1, the reduction gear 3, the universal joints 4a and 4b, the pinion rack mechanism 5, and the tie rods 6a and 6b.
  • the steering wheels 8L and 8R are connected to each other via the steering wheel 8L.
  • a steering angle sensor 14 for detecting a steering angle ⁇ e of the steering wheel 1 and a torque sensor 10 for detecting a steering torque Th of the steering wheel 1 are provided on the column shaft 2 to assist the steering force of the steering wheel 1
  • a motor 100 is connected to the column shaft 2 via a reduction gear 3. Electric power is supplied from the battery 13 to the control unit (ECU) 30 that controls the electric power steering apparatus 300B, and an ignition key signal is input via the ignition key 11.
  • the control unit 30 calculates the current command value of the assist (steering assist) command based on the steering torque Th detected by the torque sensor 10 and the vehicle speed Vs detected by the vehicle speed sensor 12, and the calculated current command value
  • the motor 100 is controlled by the voltage control command value Vref which has been subjected to compensation and the like.
  • the steering angle sensor 14 is not essential and may not be disposed, and the steering angle (motor angle) ⁇ e can be obtained from a rotation sensor such as a resolver connected to the motor 100.
  • the control unit 30 mainly includes a program executable computer including a central processing unit (CPU) (including an MPU (micro processor unit), an MCU (micro controller unit), and the like).
  • CPU central processing unit
  • MPU micro processor unit
  • MCU micro controller unit
  • the control unit 30 includes circuits such as an inverter 161 that drives the motor 100, a motor current detection circuit 162 that detects the current of the motor 100, and an angle detection unit 110A that detects the motor angle ⁇ e of the motor 100. These circuits may be mounted on the motor 100 side.
  • the control unit 30 is connected to a CAN (Controller Area Network) 40 that transmits and receives various information of the vehicle, and the vehicle speed Vs can also be received from the CAN 40.
  • the control unit 30 can also be connected to a non-CAN 41 that transmits and receives communications other than the CAN 40, analog / digital signals, radio waves, and the like.
  • the motor 100 is a three-phase brushless motor that is mainly used as an actuator of the electric power steering apparatus 300B in recent years.
  • the motor 100 is controlled by a vector control method using space vector drive.
  • the q axis for controlling the torque which is the coordinate axis of the rotor of the motor 100
  • the d axis for controlling the strength of the magnetic field are set independently, and the dq axis is 90 °. Because of this, the current corresponding to each axis (d-axis current command value Iref_d, q-axis current command value Iref_q) is controlled by the vector.
  • FIG. 16 is a functional configuration diagram of a motor control device 400B configured by the control unit 30.
  • the function of the motor control device 400B is realized by appropriately combining a program executed in a CPU or the like and an electronic circuit such as an inverter.
  • the functions described as the electronic circuit in the following description may be realized as a program executed by a CPU or the like.
  • the motor control device 400 B performs drive control of the motor 100.
  • the motor control device 400B includes a current command value calculation unit 31, a motor control unit 39B, a PWM control unit 160, an inverter 161, a motor current detection circuit 162, a motor angle detection unit 110A, and an angular velocity calculation unit 110B. And a three-phase alternating current / dq axis conversion unit 130.
  • FIG. 17 is a configuration diagram of the PWM control unit 160 and the inverter 161.
  • the inverter 161 is configured by a three-phase bridge of FETs as shown in FIG. 17, and drives the motor 100 by being turned ON / OFF by PWM-Duty values D1 to D6. Between the inverter 161 and the motor 100, a motor switch 101 for interrupting the supply of current when the assist control is stopped or the like is interposed.
  • the upper arm is composed of FETs Q1, Q2 and Q3 as switching elements, and the lower arm is composed of FETs Q4, Q5 and Q6.
  • FETs Q1 and Q4 are U-phase
  • FETs Q2 and Q5 are V-phase
  • FETs Q3 and Q6 are W-phase drive elements.
  • the PWM control unit 160 based on the input three-phase Duty command values Du_o, Dv_o, Dw_o, an inverter (inverter applied voltage VR) configured as a bridge configuration of upper and lower arms as shown in FIG. Driving control of the motor 100 is performed via 161.
  • the PWM control unit 160 has a PWM unit 160A-2 and a gate drive unit 160B as shown in FIG.
  • the PWM unit 160A-2 calculates three-phase PWM-Duty values D1 to D6 according to predetermined equations for the three-phase Duty command values Du_o, Dv_o, and Dw_o.
  • a modulation signal (carrier) CF of, for example, a triangular wave is input to the PWM unit 160A-2 from the oscillation unit 160C, and the PWM unit 160A-2 calculates PWM-Duty values D1 to D6 in synchronization with the modulation signal CF. .
  • the gate driver 160B outputs PWM-Duty values D1 to D6 to drive the gates of the FETs Q1 to Q6 which are driving elements.
  • the electric power steering apparatus 300B is an in-vehicle product, the operating temperature range is wide, and the inverter 161 which drives the motor 100 from the viewpoint of fail safe has a large dead time compared to general industrial applications such as home appliances. It is necessary to do industrial equipment ⁇ EPS.
  • switching elements for example, FETs (Field-Effect Transistors)
  • FETs Field-Effect Transistors
  • the current waveform is distorted, the response of current control and steering feeling deteriorate, for example, when steering slowly while the steering wheel is in the vicinity of on center, discontinuous due to torque ripple etc. A feeling of steering may occur.
  • the current detector 162 detects three-phase motor currents Iu, Iv, Iw of the motor 100, as shown in FIG.
  • the detected three-phase motor currents Iu, Iv, Iw are input to the three-phase AC / dq axis converter 130 and converted into two-phase feedback dq axis currents Id, Iq.
  • the two-phase feedback dq axis currents Id and Iq are input to the motor control unit 39B.
  • the motor angle detection unit 110A calculates and acquires the motor angle ⁇ e of the motor 100, if necessary.
  • the motor angle ⁇ e is input to the angular velocity calculation unit 110B, the motor control unit 39B, and the three-phase alternating current / dq axis conversion unit 130.
  • the angular velocity calculation unit 110B obtains the motor rotation number N and the motor angular velocity ⁇ from the motor angle ⁇ e by calculation.
  • the motor rotation number N and the motor angular velocity ⁇ are input to the motor control unit 39B.
  • FIG. 18 is a functional configuration diagram of the motor control unit 39B.
  • the motor control unit 39B includes a voltage command value calculation unit 220, an electrical angle interpolation unit 240B, a space vector modulation unit 250, a final Duty calculation unit 200, and a Duty output setting unit 160A-1.
  • Voltage command value calculation unit 220 includes dq axis dead time compensation value calculation unit 201, dq axis current feedback control unit 203, voltage / duty conversion coefficient calculation unit 204, addition unit 205, dq axis duty clamp / VR sensitivity And a calculation unit 210.
  • the voltage / duty conversion coefficient calculation unit 204 calculates a voltage / duty conversion coefficient Kc in accordance with the inverter applied voltage VR.
  • FIG. 19 is a block diagram of the electrical angle interpolation unit 240B.
  • the electrical angle interpolation unit 240B calculates a motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation from the input motor angle ⁇ e, and outputs the calculated motor angle to the space vector modulation unit 250 (electrical angle interpolation step).
  • the electrical angle interpolation unit 240B performs quadratic function interpolation calculation (Second Order Hold calculation: for the following, the quadratic function interpolation calculation is simply referred to as “SOH calculation”) with respect to the motor angle ⁇ e detected in the control cycle 250 ⁇ s (Tc).
  • the motor angle (interpolated electrical angle) ⁇ s is estimated at an interval (division interval) of 50 ⁇ s in which the control cycle Tc is divided into 1 ⁇ 5, and based on the estimated motor angle (interpolated electrical angle) ⁇ s Then, the interpolation duty command value is calculated.
  • the duty command value after space vector modulation is not set as an interpolation target.
  • the duty command value after space vector modulation includes a dead time compensation value with a transient change and a noise component caused by the distortion component of the third high frequency due to space vector modulation, etc., and calculated by directly interpolating the duty command value. This is because the interpolation duty command value may be a value including large noise.
  • the electric angle interpolation unit 240B inputs the motor angle ⁇ e and directly performs an SOH operation on the operation processing unit 241 (SOH operation unit 241-1 and rollover processing unit 241-2), Offset with a motor angle ⁇ e to perform offset processing, etc., and an offset-added arithmetic processing unit 242, whether the motor angle ⁇ e is greater than 90 ° and not more than 270 ° or falls within any other range
  • a motor angle switching determination unit 243 that determines the switching flag SF and outputs the switching flag SF, and a switching unit 244 that switches the contacts a and b by the switching flag SF and outputs the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation; Is equipped.
  • FIGS. 20 to 23 show four interpolated electrical angles (hereinafter referred to as “interpolated electrical angles 1 to 4”) calculated by SOH calculation at intervals of 50 ⁇ s in which the control cycle Tc is divided into 1 ⁇ 5.
  • interpolated electrical angles 1 to 4 calculated by SOH calculation at intervals of 50 ⁇ s in which the control cycle Tc is divided into 1 ⁇ 5.
  • Equation 8 The function y [k] used for the SOH calculation is expressed by Equation 8.
  • y [k] is a function representing the motor angle (electrical angle) at the control cycle number k.
  • Expression 9 is established by using the coefficients a, b, c, and expressing them as the second previous value y [-2], the last value y [-1], and the current value y [0].
  • a, b, c are expressed as in equation 10 using y [0], y [-1], y [-2].
  • FIG. 24 is a functional block diagram of the SOH calculation unit 241-1 (242-4).
  • the SOH calculation unit 241-1 is a holding unit 245-1 and a holding unit 245-2 of the previous value of the motor angle ⁇ e, a coefficient unit B0 (245-3), a coefficient unit B1 (245-4), and a coefficient unit B2 (245-5), an adding unit 245-6, and an adding unit 245-7.
  • the motor angle ⁇ e is input to the coefficient unit B0 (245-3) and the holding unit 245-1, and the holding value of the holding unit 245-1 is input to the coefficient unit B1 (245-4) and the holding unit 245-2 .
  • the holding value of holding unit 245-2 is input to coefficient part B2 (245-5), and the outputs of coefficient part B0 (245-3), coefficient part B1 (245-4) and coefficient part B2 (245-5).
  • the values are added by the adding unit 245-7 and the adding unit 245-6, and are output as the interpolation electrical angle ⁇ s.
  • the arithmetic processing unit 241 in the electrical angle interpolation unit 240B receives the motor angle ⁇ e and performs SOH calculation with the SOH calculating unit 241-1 and the motor output from the SOH calculating unit 241-1. And a rollover processing unit 241-2 that performs rollover processing (waveform processing) on the angle ⁇ e1.
  • the motor angle ⁇ e2 subjected to rollover processing by the rollover processing unit 241-2 is input to the contact a of the switching unit 244.
  • the arithmetic processing unit 242 with offset performs addition processing by offset processing using a coefficient 180 ° that is input from the fixing unit 242-1 when the motor angle ⁇ e is input, and the addition unit 242-
  • a rollover processing unit 242-3 that performs rollover processing (waveform processing) on the motor angle ⁇ e3 input from 2 and an SOH calculation unit 242-4 that corrects the motor angle ⁇ e4 input from the rollover processing unit 242-3
  • Subtractor 242-6 that performs offset return processing by a coefficient 180 ° that is input from the fixed portion 242-5 when the motor angle ⁇ e5 is input from the SOH calculation unit 242-4, and motor that is input from the subtractor 242-6
  • a rollover processing unit 242-7 that performs rollover processing (waveform processing) on the angle ⁇ e6.
  • the motor angle ⁇ e 7 subjected to the rollover processing in the rollover processing unit 242-7 is input to the contact b of the switching unit 244.
  • the motor angle ⁇ e2 from the rollover processing unit 241-2 of the arithmetic processing unit 241 is input to the contact a of the switching unit 244, and the motor angle ⁇ e7 from the rollover processing unit 242-7 of the arithmetic processing unit with offset 242 is It is input to the contact b of the switching unit 244.
  • the contacts a and b of the switching unit 244 are switched by the switching flag SF ("H", "L") from the motor angle switching determination unit 243, and the motor angle for interpolation duty calculation from the switching unit 244 (interpolation Angle) ⁇ s is output.
  • the motor angle (electrical angle) ⁇ e returns to 0 ° if it exceeds 360 ° when moving from the current motor angle to the next motor angle. At this time, since a transient angle variation occurs, if SOH calculation is performed using the current motor angle, an accurate interpolation calculation result may not be obtained. In order to avoid this problem, the electric angle interpolation unit 240B switches the operation output (motor angle ⁇ s for interpolation duty calculation) according to the motor angle ⁇ e of the input electric angle.
  • the electrical angle interpolation unit 240B performs SOH calculation on the input motor angle ⁇ e.
  • the electrical angle interpolation unit 240B offsets the motor angle ⁇ e by 180 °, converts it into a continuous angle signal, performs SOH operation, and performs 180 ° offset return processing on the interpolation operation result after the SOH operation.
  • Motor angle switching determination unit 243 determines from input motor angle ⁇ e switching flag SF (“H” when 90 ° ⁇ e ⁇ 270 °, “L” when 0 ° ⁇ ⁇ e ⁇ 90 ° or 270 ° ⁇ e ⁇ 360 ° Generate).
  • the switching unit 244 selects and outputs the motor angle (interpolation electrical angle) ⁇ s for the interpolation Duty calculation after the SOH calculation based on the switching flag SF.
  • the switching unit 244 when 90 ° ⁇ e ⁇ 270 °, the switching unit 244 is controlled as shown in Expression 16 and outputs the motor angle ⁇ e2 as the motor angle ⁇ s for interpolation duty calculation. Further, when 0 ° ⁇ ⁇ e ⁇ 90 ° or 270 ° ⁇ e ⁇ 360 °, the switching unit 244 is controlled as in Expression 17, and outputs the motor angle ⁇ e7 as the motor angle ⁇ s for interpolation duty calculation.
  • FIG. 25 shows a control flowchart of the electrical angle interpolation unit 240B.
  • the motor angle (electrical angle) ⁇ e is input to the electrical angle interpolation unit 240B (step S101).
  • the SOH calculation unit 241-1 of the calculation processing unit 241 performs the SOH calculation (step S110).
  • the motor angle ⁇ e is input to the holding unit 245-1 to be used as the previous value in the next SOH calculation. Further, the previous value input to the holding unit 245-1 is input to the holding unit 245-2 because it is used as the value before the next SOH calculation.
  • the rollover processing unit 241-2 performs rollover processing on the motor angle ⁇ e1 calculated by the SOH and outputs a motor angle ⁇ e2 (step S111).
  • the offset-added arithmetic processing unit 242 performs offset processing on the motor angle (electrical angle) ⁇ e using the coefficient 180 ° input from the fixed unit 242-1 by the adding unit 242-2 (step S120).
  • the rollover processing unit 242-3 performs rollover processing on the offset-processed motor angle ⁇ e3, and outputs the motor angle ⁇ e4 (step S121).
  • the SOH calculation unit 242-4 performs the SOH calculation on the input motor angle ⁇ e4 (step S122).
  • the motor angle ⁇ e is input to the holding unit 245-1 to be used as the previous value in the next SOH calculation. Further, the previous value input to the holding unit 245-1 is input to the holding unit 245-2 because it is used as the value before the next SOH calculation.
  • the motor angle ⁇ e5 calculated by the SOH is input to the subtraction unit 242-6, and the offset return processing is performed with the coefficient 180 ° input from the fixed unit 242-5 (step S123).
  • the motor angle ⁇ e6 subjected to the offset return processing is subjected to rollover processing by the rollover processing unit 242-7, and the motor angle ⁇ e7 is output (step S124).
  • the motor angle switching determination unit 243 determines that the motor angle ⁇ e is greater than 90 ° and not more than 270 ° (step S102). When this condition is satisfied (in the case of YES), the motor angle switching determination unit 243 sets the switching flag SF to “H”. If the above conditions are not met (in the case of NO), the motor angle ⁇ e is 0 ° or more and 90 ° or less, or more than 270 ° and 360 ° or less, and the motor angle switching determination unit 243 sets the switching flag SF to “L”.
  • the switching unit 244 selects ⁇ e 2 and outputs it as the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation (step S 103).
  • the switching unit 244 selects ⁇ e 7 and outputs it as the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation (step S 104) .
  • the electrical angle interpolation unit 240B performs SOH calculation using the coefficients B0, B1, and B2 (see Table 1) corresponding to the interpolated electrical angles 1 to 4 ( ⁇ s 1 to 4), and calculates the interpolated electrical angles 1 to 4 ( ⁇ s 1 to 4). Calculate each).
  • FIG. 26A is a waveform example of the motor angle ⁇ e2 output from the arithmetic processing unit 241
  • FIG. 26B is a waveform example of the motor angle ⁇ e7 output from the arithmetic processing unit with offset 242.
  • FIG. 26C shows the switching timing of “H” and “L” of the switching flag SF
  • FIG. 26D shows the motor angle (interpolation for interpolation duty calculation output from the switching unit 244).
  • An example of the waveform of the electrical angle ⁇ s is shown.
  • the motor angle (interpolated electrical angle) ⁇ s output by the electrical angle interpolation unit 240B is greater than the motor angle ⁇ s of 360 ° as compared with the waveform shown in FIG. 26A.
  • the motor angle ⁇ e has relatively low noise if the linearity is high, and there is no transitional change other than the angle change to switch from 360 ° to 0 °, high accuracy can be ensured in calculation of the interpolation electrical angle by SOH calculation .
  • FIG. 27 is a functional block diagram of the space vector modulation unit 250.
  • the space vector modulation unit (conversion unit) 250 performs space vector conversion operation after converting from the dimension of voltage to the dimension of Duty (conversion step).
  • Japanese Patent Application Laid-Open No. 2017-70066 and International Publication No. 2017/098840 by the present applicant.
  • the space vector modulation unit 250 performs space vector modulation using the motor angle (electrical angle) ⁇ e, the space vector modulation unit 250-0 that performs the above space vector conversion operation, and the interpolation electrical angles 1 to 4 ( ⁇ s 1 to 4). Space vector modulation units 250-1, 250-2, 250-3, and 250-4 for performing a vector conversion operation.
  • the space vector modulation unit 250-0 performs space vector conversion operation using the motor angle (electrical angle) ⁇ e, and outputs three-phase Duty command values Duty_u, Duty_v, and Duty_w.
  • the space vector modulation unit 250-1 performs space vector conversion operation using the interpolation electrical angle 1 ( ⁇ s1), and outputs a three-phase interpolation duty command value Duty_u_m1, Duty_v_m1, Duty_w_m1.
  • the space vector modulation unit 250-2 performs space vector conversion operation using the interpolation electrical angle 2 ( ⁇ s2), and outputs a three-phase interpolation duty command value Duty_u_m2, Duty_v_m2, Duty_w_m2.
  • the space vector modulation unit 250-3 performs space vector conversion operation using the interpolation electrical angle 3 ( ⁇ s3), and outputs a three-phase interpolation duty command value Duty_u_m3, Duty_v_m3, and Duty_w_m3.
  • the space vector modulation unit 250-4 performs space vector conversion operation using the interpolation electrical angle 4 ( ⁇ s4), and outputs a three-phase interpolation duty command value Duty_u_m4, Duty_v_m4, and Duty_w_m4.
  • FIG. 28 is a functional block diagram of the final Duty operation unit 200.
  • the Duty value to which the offset of Duty 50% has been added by the adding unit 221 is input to the limiter 222 which limits the Duty output within the range of 0 to 100% (variable).
  • the interpolation duty command value Duty_n_m1 from the space vector modulation unit 250 is input to the addition unit 231, and the duty value added with the 50% duty offset by the addition unit 231 limits the duty output within the range of 0 to 100% (variable). Is input to the limiter 232.
  • the final interpolation Duty command value Dnm1 (n u, v, w) is output from the limiter 232.
  • the EPS supplies the motor applied voltage from the battery (DC + 12 V), it can not supply the applied voltage in the negative (-) direction. In this state, the phase voltage command value in the negative direction can not be supplied, so the phase current can not flow in the negative direction. In order to cope with this problem, the phase current becomes 0 A when the 3-phase duty value is 50%, even if the 3 phase is not 0 V, by offsetting the 3 phase with the 50% duty value (+ 6 V) to make the reference voltage. Applied voltage + 12V).
  • the 50% duty value offset is basically fixed, the reference voltage at 50% duty value fluctuates depending on the applied voltage state to be supplied. For example, when the applied voltage is 11 V, the 50% duty value is 5.5 V, and when the applied voltage is 13 V, the 50% duty value is 6.5 V.
  • FIG. 29 is a functional block diagram of the Duty output setting unit 160A-1.
  • the Duty output setting unit (output setting unit) 160A-1 matches the 50 ⁇ s interval (division interval) obtained by dividing the control cycle Tc into 1 ⁇ 5, at the elapsed time T from the control cycle Tc. Based on the output, the final Duty command values Du_o, Dv_o, Dw_o to be output are switched and output (output setting step).
  • FIGS. 30 to 33 show simulation results in which the interpolation electrical angles 1 to 4 ( ⁇ s 1 to 4) [deg] are estimated under the condition that the motor rotation number is steered to a constant rotation number (1200 rpm). In any of the results, it can be confirmed that the interpolation electrical angles 1 to 4 overlap the line obtained by linearly interpolating the motor electrical angle ⁇ e, and the estimated angle calculation by the SOH calculation is appropriately performed with high accuracy.
  • Duty command values (U-phase) Du_m1 to Du_m4 calculated using interpolated electrical angles 1 to 4 ( ⁇ s 1 to 4) estimated under the same conditions as the simulation whose results are shown in FIGS. 30 to 33.
  • Is a simulation waveform of The horizontal axis is time [sec]
  • the vertical axis is an internal value processed by the MPU or the like, which is 8192 [dec] / 100 [%].
  • the interpolation duty command value is output on a line or in the vicinity of linear interpolation of the normal duty command value Du, and interpolation of the duty command value using the interpolation electrical angle is appropriately performed with high accuracy. It can confirm.
  • V and W phases are not shown, they show similar results.
  • the interpolation duty command value with little noise is calculated without the influence of the dead time compensation, and the PWM control is controlled in a cycle (50 ⁇ s) earlier than the cycle for performing the PWM calculation.
  • the signal can be varied.
  • the motor 100 is controlled by a vector control method using space vector driving, but the motor to be controlled by the motor control device is not limited to this.
  • the motor to be controlled by the motor control device according to the present invention may be, for example, a brushless motor of a sine wave control system.
  • the motor control device according to the present invention does not set the duty command value as the direct interpolation target, but sets the motor angle (electrical angle) ⁇ e as the interpolation target.
  • the motor angle ⁇ e has relatively low noise if the linearity is high, and there is no transitional change other than the angle change to switch from 360 ° to 0 °. Therefore, the calculation of the interpolation electrical angle by SOH calculation and the calculation of the interpolation Duty command value are high Accuracy can be ensured.
  • motor control device 400B concerning the above-mentioned embodiment was carried in electric power steering device 300B
  • the mode of a motor control device is not limited to this.
  • the motor control device according to the present invention is suitably mounted on a motor drive device that requires high torque while low noise is required.
  • the motor control device according to the present invention is preferably mounted on a walking support device that supports muscle power when the wearer walks, a cleaning device that operates indoors, etc., so that the motor vibration or the sound caused by the motor is preferable. To reduce the noise caused by the motor in the audible range.
  • the control cycle Tc is 250 ⁇ s (frequency 4 KHz), but the aspect of the motor control device is not limited to this.
  • the motor control device according to the present invention can preferably reduce the sound caused by the motor in the audible range when the control period Tc is 100 ⁇ s or more and 250 ⁇ s or less.
  • the control period is predicted to be shorter than 250 ⁇ s as the performance of the CPU or the like mounted on the motor control device improves or the number of poles of the motor to be controlled increases.
  • the control period Tc is 100 ⁇ s or more and 250 ⁇ s or less, as in the above embodiment, a problem occurs that a sound is generated due to the motor in the audible range.
  • Sounds resulting from vibrations and motors can be suitably suppressed, and sounds resulting from motors in the audible range can be reduced.
  • FIG. 38 is a schematic view showing a configuration of an electric power steering apparatus 300C equipped with a motor control apparatus 400C according to the present embodiment.
  • the electric power steering apparatus 300C is a column assist type electric power steering apparatus in which an electric motor and a reduction mechanism are disposed in a column portion (steering shaft).
  • the electric power steering apparatus 300C further transmits the hub units 7a and 7b through the column axis (steering shaft, handle shaft) 2 of the steering wheel 1, the reduction gear 3, the universal joints 4a and 4b, the pinion rack mechanism 5, and the tie rods 6a and 6b.
  • the steering wheels 8L and 8R are connected to each other via the steering wheel 8L.
  • a steering angle sensor 14 for detecting a steering angle ⁇ e of the steering wheel 1 and a torque sensor 10 for detecting a steering torque Th of the steering wheel 1 are provided on the column shaft 2 to assist the steering force of the steering wheel 1
  • a motor 100 is connected to the column shaft 2 via a reduction gear 3. Electric power is supplied from the battery 13 to the control unit (ECU) 30 that controls the electric power steering apparatus 300C, and an ignition key signal is input through the ignition key 11.
  • the control unit 30 calculates the current command value of the assist (steering assist) command based on the steering torque Th detected by the torque sensor 10 and the vehicle speed Vs detected by the vehicle speed sensor 12, and the calculated current command value
  • the motor 100 is controlled by the voltage control command value Vref which has been subjected to compensation and the like.
  • the steering angle sensor 14 is not essential and may not be disposed, and the steering angle (motor angle) ⁇ e can be obtained from a rotation sensor such as a resolver connected to the motor 100.
  • the control unit 30 mainly includes a program executable computer including a central processing unit (CPU) (including an MPU (micro processor unit), an MCU (micro controller unit), and the like).
  • CPU central processing unit
  • MPU micro processor unit
  • MCU micro controller unit
  • the control unit 30 includes circuits such as an inverter 161 that drives the motor 100, a motor current detection circuit 162 that detects the current of the motor 100, and an angle detection unit 110A that detects the motor angle ⁇ e of the motor 100. These circuits may be mounted on the motor 100 side.
  • the control unit 30 is connected to a CAN (Controller Area Network) 40 that transmits and receives various information of the vehicle, and the vehicle speed Vs can also be received from the CAN 40.
  • the control unit 30 can also be connected to a non-CAN 41 that transmits and receives communications other than the CAN 40, analog / digital signals, radio waves, and the like.
  • the motor 100 is a three-phase brushless motor that is mainly used as an actuator of the electric power steering apparatus 300C in recent years.
  • the motor 100 is controlled by a vector control method using space vector drive.
  • the q axis for controlling the torque which is the coordinate axis of the rotor of the motor 100
  • the d axis for controlling the strength of the magnetic field are set independently, and the dq axis is 90 °. Because of this, the current corresponding to each axis (d-axis current command value Iref_d, q-axis current command value Iref_q) is controlled by the vector.
  • FIG. 39 is a functional configuration diagram of a motor control device 400C configured by the control unit 30.
  • the function of the motor control device 400C is realized by appropriately combining a program executed by a CPU or the like and an electronic circuit such as an inverter.
  • the functions described as the electronic circuit in the following description may be realized as a program executed by a CPU or the like.
  • the motor control device 400C performs drive control of the motor 100.
  • the motor control device 400C includes a current command value calculation unit 31, a motor control unit 39C, a PWM control unit 160, an inverter 161, a motor current detection circuit 162, a motor angle detection unit 110A, and an angular velocity calculation unit 110B. And a three-phase alternating current / dq axis conversion unit 130.
  • FIG. 40 is a block diagram of PWM control unit 160 and inverter 161.
  • the inverter 161 is configured by a three-phase bridge of FETs, and drives the motor 100 by being turned on / off by the PWM-Duty values D1 to D6.
  • a motor switch 101 for interrupting the supply of current when the assist control is stopped or the like is interposed.
  • the upper arm is composed of FETs Q1, Q2 and Q3 as switching elements, and the lower arm is composed of FETs Q4, Q5 and Q6.
  • FETs Q1 and Q4 are U-phase
  • FETs Q2 and Q5 are V-phase
  • FETs Q3 and Q6 are W-phase drive elements.
  • the PWM control unit 160 is an inverter (inverter applied voltage VR) having a bridge configuration of upper and lower arms as shown in FIG. 40 based on the input three-phase Duty command values Du_o, Dv_o, Dw_o. Driving control of the motor 100 is performed via 161. As shown in FIG. 40, the PWM control unit 160 has a PWM unit 160A-2 and a gate drive unit 160B.
  • the PWM unit 160A-2 calculates three-phase PWM-Duty values D1 to D6 according to predetermined equations for the three-phase Duty command values Du_o, Dv_o, and Dw_o.
  • a modulation signal (carrier) CF of, for example, a triangular wave is input to the PWM unit 160A-2 from the oscillation unit 160C, and the PWM unit 160A-2 calculates PWM-Duty values D1 to D6 in synchronization with the modulation signal CF. .
  • the gate driver 160B outputs PWM-Duty values D1 to D6 to drive the gates of the FETs Q1 to Q6 which are drive elements.
  • the electric power steering apparatus 300C is an in-vehicle product, the operating temperature range is wide, and the inverter 161 which drives the motor 100 from the viewpoint of fail safe has a large dead time compared to general industrial applications such as home appliances. It is necessary to do industrial equipment ⁇ EPS.
  • switching elements for example, FETs (Field-Effect Transistors)
  • FETs Field-Effect Transistors
  • the current waveform is distorted, the response of current control and steering feeling deteriorate, for example, when steering slowly while the steering wheel is in the vicinity of on center, discontinuous due to torque ripple etc. A feeling of steering may occur.
  • the current detector 162 detects three-phase motor currents Iu, Iv, Iw of the motor 100, as shown in FIG.
  • the detected three-phase motor currents Iu, Iv, Iw are input to the three-phase AC / dq axis converter 130 and converted into two-phase feedback dq axis currents Id, Iq.
  • the two-phase feedback dq axis currents Id and Iq are input to the motor control unit 39C.
  • the motor angle detection unit 110A calculates and acquires the motor angle ⁇ e of the motor 100, if necessary.
  • the motor angle ⁇ e is input to the angular velocity calculation unit 110B, the motor control unit 39C, and the three-phase AC / dq axis conversion unit 130.
  • the angular velocity calculation unit 110B obtains the motor rotation number N and the motor angular velocity ⁇ from the motor angle ⁇ e by calculation.
  • the motor rotation number N and the motor angular velocity ⁇ are input to the motor control unit 39C.
  • FIG. 41 is a functional configuration diagram of the motor control unit 39C.
  • the motor control unit 39C includes a voltage command value calculation unit 220, an electrical angle interpolation unit 240C, a space vector modulation unit 250, a final Duty calculation unit 200, and a Duty output setting unit 160A-1.
  • Voltage command value calculation unit 220 includes dq axis dead time compensation value calculation unit 201, dq axis current feedback control unit 203, voltage / duty conversion coefficient calculation unit 204, addition unit 205, dq axis duty clamp / VR sensitivity And a calculation unit 210.
  • the voltage / duty conversion coefficient calculation unit 204 calculates a voltage / duty conversion coefficient Kc in accordance with the inverter applied voltage VR.
  • FIG. 42 is a block diagram of the electrical angle interpolation unit 240C.
  • the electrical angle interpolation unit 240C calculates a motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation from the input motor angle ⁇ e, and outputs the calculated motor angle to the space vector modulation unit 250 (electrical angle interpolation step).
  • the electrical angle interpolation unit 240C performs linear function interpolation operation (First Order Hold operation: hereinafter, linear function interpolation operation is simply referred to as “FOH operation”) to the motor angle ⁇ e detected in the control cycle 250 ⁇ s (Tc).
  • FOH operation linear function interpolation operation
  • the motor angle (interpolated electrical angle) ⁇ s after Tm ⁇ s (0 ⁇ Tm ⁇ Tc) elapses from the control period Tc is estimated, and interpolation Duty is performed based on the estimated motor angle (interpolated electrical angle) ⁇ s. Calculate the command value.
  • the duty command value after space vector modulation is not set as an interpolation target.
  • the duty command value after space vector modulation includes a dead time compensation value with a transient change and a noise component caused by the distortion component of the third high frequency due to space vector modulation, etc., and calculated by directly interpolating the duty command value. This is because the interpolation duty command value may be a value including large noise.
  • the electrical angle interpolation unit 240C receives the motor angle ⁇ e and directly performs an FOH operation on the operation processing unit 241C (FOH operation unit 241C-1 and rollover processing unit 241-2), Offset with a motor angle ⁇ e to perform offset processing, etc., and an offset-added arithmetic processing unit 242C, and whether the motor angle ⁇ e belongs to a range larger than 90 ° and 270 ° or less or any other range
  • a motor angle switching determination unit 243 that determines the switching flag SF and outputs the switching flag SF, and a switching unit 244 that switches the contacts a and b by the switching flag SF and outputs the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation; Is equipped.
  • FIG. 43 shows the interpolated electrical angle calculated by FOH calculation after Tm ⁇ s (0 ⁇ Tm ⁇ Tc) has elapsed from the control period Tc.
  • Equation 18 The function y [k] used for the FOH operation is expressed by Equation 18.
  • y [k] is a function representing the motor angle (electrical angle) at the control cycle number k.
  • Expression 19 is established by using the coefficients a and b to express the previous value y [ ⁇ 1] and the current value y [0].
  • Equation 20 By arranging the above equations, a and b can be expressed as Equation 20 using y [0] and y [-1].
  • FIG. 44 is a functional block diagram of the FOH calculator 241C-1 (242C-4).
  • the FOH calculation unit 241C-1 is a holding unit 245-1 and a holding unit 245-2 of the previous value of the motor angle ⁇ e, a coefficient unit B0 (245-3), a coefficient unit B1 (245-4), and a coefficient unit B2 (245-5), an adding unit 245-6, and an adding unit 245-7.
  • the motor angle ⁇ e is input to the coefficient unit B0 (245-3) and the holding unit 245-1, and the holding value of the holding unit 245-1 is input to the coefficient unit B1 (245-4).
  • the respective output values of the coefficient part B0 (245-3) and the coefficient part B1 (245-4) are added by the addition part 245-6 and output as the interpolation electrical angle ⁇ s.
  • the arithmetic processing unit 241C in the electrical angle interpolation unit 240C receives the motor angle ⁇ e and performs an FOH operation on the FOH operation unit 241C-1, and the motor output from the FOH operation unit 241C-1 And a rollover processing unit 241-2 that performs rollover processing (waveform processing) on the angle ⁇ e1.
  • the motor angle ⁇ e2 subjected to rollover processing by the rollover processing unit 241-2 is input to the contact a of the switching unit 244.
  • the arithmetic processing unit with offset 242C performs the offset processing with the coefficient 180 ° input from the fixed unit 242-1 with the motor angle ⁇ e input, and the addition unit 242-
  • a rollover processing unit 242-3 that performs rollover processing (waveform processing) on the motor angle ⁇ e3 input from 2 and an FOH calculation unit 242C-4 that corrects the motor angle ⁇ e4 input from the rollover processing unit 242-3;
  • the motor angle ⁇ e5 is input from the FOH calculation unit 242C-4 and the subtraction unit 242-6 performs offset return processing by the coefficient 180 ° input from the fixed unit 242-5, and the motor input from the subtraction unit 242-6
  • a rollover processing unit 242-7 that performs rollover processing (waveform processing) on the angle ⁇ e6.
  • the motor angle ⁇ e 7 subjected to the rollover processing in the rollover processing unit 242-7 is input to the contact b of the switching unit 244.
  • the motor angle ⁇ e2 from the rollover processing unit 241-2 of the arithmetic processing unit 241C is input to the contact a of the switching unit 244, and the motor angle ⁇ e7 from the rollover processing unit 242-7 of the arithmetic processing unit with offset 242C is It is input to the contact b of the switching unit 244.
  • the contacts a and b of the switching unit 244 are switched by the switching flag SF ("H", "L") from the motor angle switching determination unit 243, and the motor angle for interpolation duty calculation from the switching unit 244 (interpolation Angle) ⁇ s is output.
  • the motor angle (electrical angle) ⁇ e returns to 0 ° if it exceeds 360 ° when moving from the current motor angle to the next motor angle. At this time, since a transient angle fluctuation occurs, if the FOH operation is performed using the current motor angle, there are cases where the accurate interpolation operation result can not be obtained. In order to avoid this problem, the electrical angle interpolation unit 240C switches the operation output (motor angle ⁇ s for interpolation duty calculation) according to the motor angle ⁇ e of the input electrical angle.
  • the electrical angle interpolation unit 240C performs FOH calculation on the input motor angle ⁇ e.
  • the electrical angle interpolation unit 240C offsets the motor angle ⁇ e by 180 °, converts it into a continuous angle signal, performs FOH operation, and performs 180 ° offset return processing on the interpolation operation result after the FOH operation.
  • Motor angle switching determination unit 243 determines from input motor angle ⁇ e switching flag SF (“H” when 90 ° ⁇ e ⁇ 270 °, “L” when 0 ° ⁇ ⁇ e ⁇ 90 ° or 270 ° ⁇ e ⁇ 360 ° Generate).
  • the switching unit 244 selects and outputs the motor angle (interpolation electrical angle) ⁇ s for the interpolation Duty calculation after the FOH calculation based on the switching flag SF.
  • the switching unit 244 when 90 ° ⁇ e ⁇ 270 °, the switching unit 244 is controlled as shown in Expression 24, and outputs the motor angle ⁇ e2 as the motor angle ⁇ s for interpolation duty calculation. Further, when 0 ° ⁇ ⁇ e ⁇ 90 ° or 270 ° ⁇ e ⁇ 360 °, the switching unit 244 is controlled as in Expression 25, and outputs the motor angle ⁇ e7 as the motor angle ⁇ s for interpolation duty calculation.
  • FIG. 45 shows a control flowchart of the electrical angle interpolation unit 240C.
  • the motor angle (electrical angle) ⁇ e is input to the electrical angle interpolation unit 240C (step S201).
  • the FOH operation unit 241C-1 of the operation processing unit 241C performs FOH operation (step S210).
  • the motor angle ⁇ e is input to the holding unit 245-1 to be used as the previous value in the next FOH calculation.
  • the previous value input to the holding unit 245-1 is input to the holding unit 245-2 because it is used as the second previous value in the next FOH calculation.
  • the rollover processing unit 241-2 performs rollover processing on the motor angle ⁇ e1 calculated by FOH and outputs a motor angle ⁇ e2 (step S211).
  • the offset-added arithmetic processing unit 242 C performs offset processing on the motor angle (electrical angle) ⁇ e using the coefficient 180 ° input from the fixing unit 242-1 to the adding unit 242-2 (step S 220).
  • the rollover processing unit 242-3 performs rollover processing on the offset-processed motor angle ⁇ e3, and outputs the motor angle ⁇ e4 (step S221).
  • the FOH calculator 242C-4 performs the FOH calculation on the input motor angle ⁇ e4 (step S222).
  • the motor angle ⁇ e is input to the holding unit 245-1 to be used as the previous value in the next FOH calculation.
  • the motor angle ⁇ e5 calculated by the FOH is input to the subtraction unit 242-6, and the offset return processing is performed with the coefficient 180 ° input from the fixed unit 242-5 (step S223).
  • the motor angle ⁇ e6 subjected to the offset return processing is subjected to rollover processing by the rollover processing unit 242-7, and the motor angle ⁇ e7 is output (step S224).
  • the motor angle switching determination unit 243 determines that the motor angle ⁇ e is greater than 90 ° and not more than 270 ° (step S202). When this condition is satisfied (in the case of YES), the motor angle switching determination unit 243 sets the switching flag SF to “H”. If the above conditions are not met (in the case of NO), the motor angle ⁇ e is 0 ° or more and 90 ° or less, or more than 270 ° and 360 ° or less, and the motor angle switching determination unit 243 sets the switching flag SF to “L”.
  • the switching unit 244 selects ⁇ e 2 and outputs it as the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation (step S 203) .
  • the switching unit 244 selects ⁇ e 7 and outputs it as the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation (step S 204) .
  • FIG. 46 (A) is a waveform example of the motor angle ⁇ e2 output from the arithmetic processing unit 241C
  • FIG. 46 (B) is a waveform example of the motor angle ⁇ e7 output from the arithmetic processing unit with offset 242C
  • FIG. 46C shows the switching timing of “H” and “L” of the switching flag SF
  • FIG. 46D shows the motor angle (interpolation for interpolation duty calculation output from the switching unit 244).
  • An example of the waveform of the electrical angle ⁇ s is shown.
  • the motor angle (interpolated electrical angle) ⁇ s output by the electrical angle interpolation unit 240C is greater than the motor angle ⁇ s of 360 ° as compared with the waveform shown in FIG. 46A.
  • the motor angle ⁇ e has relatively low noise if the linearity is high, and there is no transitional change other than the angle change to switch from 360 ° to 0 °, so high accuracy can be ensured in calculation of the interpolation electrical angle by FOH calculation .
  • FIG. 47 is a functional block diagram of the space vector modulation unit 250.
  • the space vector modulation unit (conversion unit) 250 performs space vector conversion operation after converting from the dimension of voltage to the dimension of Duty (conversion step).
  • Japanese Patent Application Laid-Open No. 2017-70066 and International Publication No. 2017/098840 by the present applicant.
  • Space vector modulation section 250 performs space vector modulation section 250-0 performing the above-mentioned space vector conversion operation using motor angle (electrical angle) ⁇ e, and space vector modulation section performing the space vector conversion operation using interpolation electrical angle ⁇ s. And a unit 250-1.
  • FIG. 48 is a functional block diagram of the final Duty computing unit 200.
  • the Duty value to which the offset of Duty 50% has been added by the adding unit 221 is input to the limiter 222 which limits the Duty output within the range of 0 to 100% (variable).
  • the interpolation duty command value Duty_n_m1 from the space vector modulation unit 250 is input to the addition unit 231, and the duty value added with the 50% duty offset by the addition unit 231 limits the duty output within the range of 0 to 100% (variable). Is input to the limiter 232.
  • the final interpolation Duty command value Dnm1 (n u, v, w) is output from the limiter 232.
  • the EPS supplies the motor applied voltage from the battery (DC + 12 V), it can not supply the applied voltage in the negative (-) direction. In this state, the phase voltage command value in the negative direction can not be supplied, so the phase current can not flow in the negative direction. In order to cope with this problem, the phase current becomes 0 A when the 3-phase duty value is 50%, even if the 3 phase is not 0 V, by offsetting the 3 phase with the 50% duty value (+ 6 V) to make the reference voltage. Applied voltage + 12V).
  • the 50% duty value offset is basically fixed, the reference voltage at 50% duty value fluctuates depending on the applied voltage state to be supplied. For example, when the applied voltage is 11 V, the 50% duty value is 5.5 V, and when the applied voltage is 13 V, the 50% duty value is 6.5 V.
  • FIG. 49 is a functional block diagram of the Duty output setting unit 160A-1.
  • the Duty output setting unit (output setting unit) 160A-1 sets the elapsed time T from the control cycle Tc to the elapsed time Tm from the control cycle Tc and the control cycle Tc after Tm ⁇ s (0 ⁇ Tm ⁇ Tc) elapses. Based on the output, the final Duty command values Du_o, Dv_o, Dw_o to be output are switched and output (output setting step).
  • FIGS. 50 and 51 show simulation results in which the interpolation electrical angle ⁇ s [deg] is estimated under the condition that the motor rotation number is steered to a constant rotation number (2000 rpm).
  • the interpolation electrical angle overlaps the line obtained by linearly interpolating the motor electrical angle ⁇ e, and that the estimated angle calculation by the FOH calculation is appropriately performed with high accuracy.
  • FIGS. 52 and 53 show simulation waveforms of Duty command values (U phase) Du_m1 to Du_m4 calculated using the interpolation electrical angle ⁇ s estimated under the same conditions as the simulation whose results are shown in FIGS. 50 and 51.
  • the interpolation duty command value is output on a line or in the vicinity of linear interpolation of the normal duty command value Du, and interpolation of the duty command value using the interpolation electrical angle is appropriately performed with high accuracy. It can confirm.
  • V and W phases are not shown, they show similar results.
  • the interpolation Duty command value with little noise is calculated without the influence of the dead time compensation, and the PWM control is controlled in a cycle (50 ⁇ s) earlier than the cycle for performing the PWM calculation.
  • the signal can be varied.
  • the linear function interpolation calculation FOH is used for the calculation of the interpolation electric angle
  • the accuracy is slightly reduced compared to the interpolation calculation such as the quadratic function interpolation calculation
  • the increase in the amount of arithmetic processing of the microcomputer can be suitably suppressed.
  • the motor 100 is controlled by the vector control method using space vector driving, but the motor to be controlled by the motor control device is not limited thereto.
  • the motor to be controlled by the motor control device according to the present invention may be, for example, a brushless motor of a sine wave control system.
  • the motor control device according to the present invention does not set the duty command value as the direct interpolation target, but sets the motor angle (electrical angle) ⁇ e as the interpolation target.
  • the motor angle ⁇ e has relatively low noise if the linearity is high, and there is no transitional change other than the angle change to switch from 360 ° to 0 °. Therefore, calculation of the interpolation electrical angle by FOH calculation and calculation of the interpolation Duty command value are high. Accuracy can be ensured.
  • Motor control device 400C concerning the above-mentioned embodiment was carried in electric power steering device 300C, a mode of a motor control device is not limited to this.
  • the motor control device according to the present invention is suitably mounted on a motor drive device that requires high torque while low noise is required.
  • the motor control device according to the present invention is preferably mounted on a walking support device that supports muscle power when the wearer walks, a cleaning device that operates indoors, etc., so that the motor vibration or the sound caused by the motor is preferable. To reduce the noise caused by the motor in the audible range.
  • the control cycle Tc is 250 ⁇ s (frequency 4 KHz), but the aspect of the motor control device is not limited to this.
  • the motor control device according to the present invention can preferably reduce the sound caused by the motor in the audible range when the control period Tc is 100 ⁇ s or more and 250 ⁇ s or less.
  • the control period is predicted to be shorter than 250 ⁇ s as the performance of the CPU or the like mounted on the motor control device improves or the number of poles of the motor to be controlled increases.
  • the control period Tc is 100 ⁇ s or more and 250 ⁇ s or less, as in the above embodiment, a problem occurs that a sound is generated due to the motor in the audible range.
  • Sounds resulting from vibrations and motors can be suitably suppressed, and sounds resulting from motors in the audible range can be reduced.
  • FIG. 54 is a schematic view showing a configuration of an electric power steering apparatus 300D equipped with a motor control apparatus 400D according to the present embodiment.
  • the electric power steering apparatus 300D is a column assist type electric power steering apparatus in which an electric motor and a reduction mechanism are disposed in a column portion (steering shaft).
  • the electric power steering apparatus 300D further transmits the hub units 7a and 7b through the column axis (steering shaft, handle shaft) 2 of the steering wheel 1, the reduction gear 3, the universal joints 4a and 4b, the pinion rack mechanism 5, and the tie rods 6a and 6b.
  • the steering wheels 8L and 8R are connected to each other via the steering wheel 8L.
  • a steering angle sensor 14 for detecting a steering angle ⁇ e of the steering wheel 1 and a torque sensor 10 for detecting a steering torque Th of the steering wheel 1 are provided on the column shaft 2 to assist the steering force of the steering wheel 1
  • a motor 100 is connected to the column shaft 2 via a reduction gear 3. Electric power is supplied from the battery 13 to the control unit (ECU) 30 that controls the electric power steering apparatus 300D, and an ignition key signal is input through the ignition key 11.
  • the control unit 30 calculates the current command value of the assist (steering assist) command based on the steering torque Th detected by the torque sensor 10 and the vehicle speed Vs detected by the vehicle speed sensor 12, and the calculated current command value
  • the motor 100 is controlled by the voltage control command value Vref which has been subjected to compensation and the like.
  • the steering angle sensor 14 is not essential and may not be disposed, and the steering angle (motor angle) ⁇ e can be obtained from a rotation sensor such as a resolver connected to the motor 100.
  • the control unit 30 mainly includes a program executable computer including a central processing unit (CPU) (including an MPU (micro processor unit), an MCU (micro controller unit), and the like).
  • CPU central processing unit
  • MPU micro processor unit
  • MCU micro controller unit
  • the control unit 30 includes circuits such as an inverter 161 that drives the motor 100, a motor current detection circuit 162 that detects the current of the motor 100, and an angle detection unit 110A that detects the motor angle ⁇ e of the motor 100. These circuits may be mounted on the motor 100 side.
  • the control unit 30 is connected to a CAN (Controller Area Network) 40 that transmits and receives various information of the vehicle, and the vehicle speed Vs can also be received from the CAN 40.
  • the control unit 30 can also be connected to a non-CAN 41 that transmits and receives communications other than the CAN 40, analog / digital signals, radio waves, and the like.
  • the motor 100 is a three-phase brushless motor that is mainly used as an actuator of the electric power steering apparatus 300D in recent years.
  • the motor 100 is controlled by a vector control method using space vector drive.
  • the q axis for controlling the torque which is the coordinate axis of the rotor of the motor 100
  • the d axis for controlling the strength of the magnetic field are set independently, and the dq axis is 90 °. Because of this, the current corresponding to each axis (d-axis current command value Iref_d, q-axis current command value Iref_q) is controlled by the vector.
  • FIG. 55 is a functional configuration diagram of a motor control device 400D configured by the control unit 30.
  • the function of the motor control device 400D is realized by appropriately combining a program executed by a CPU or the like and an electronic circuit such as an inverter.
  • the functions described as the electronic circuit in the following description may be realized as a program executed by a CPU or the like.
  • the motor control device 400D performs drive control of the motor 100.
  • the motor control device 400D includes a current command value calculation unit 31, a motor control unit 39D, a PWM control unit 160, an inverter 161, a motor current detection circuit 162, a motor angle detection unit 110A, and an angular velocity calculation unit 110B. And a three-phase alternating current / dq axis conversion unit 130.
  • FIG. 56 is a configuration diagram of the PWM control unit 160 and the inverter 161.
  • the inverter 161 is configured by a three-phase bridge of FETs, and drives the motor 100 by being turned ON / OFF with PWM-Duty values D1 to D6.
  • a motor switch 101 for interrupting the supply of current when the assist control is stopped or the like is interposed.
  • the upper arm is composed of FETs Q1, Q2 and Q3 as switching elements, and the lower arm is composed of FETs Q4, Q5 and Q6.
  • FETs Q1 and Q4 are U-phase
  • FETs Q2 and Q5 are V-phase
  • FETs Q3 and Q6 are W-phase drive elements.
  • the PWM control unit 160 is an inverter (inverter applied voltage VR) having a bridge configuration of upper and lower arms as shown in FIG. 56 based on the input three-phase Duty command values Du_o, Dv_o, Dw_o. Driving control of the motor 100 is performed via 161.
  • the PWM control unit 160 includes a PWM unit 160A-2 and a gate drive unit 160B.
  • the PWM unit 160A-2 calculates three-phase PWM-Duty values D1 to D6 according to predetermined equations for the three-phase Duty command values Du_o, Dv_o, Dw_o.
  • a modulation signal (carrier) CF of, for example, a triangular wave is input to the PWM unit 160A-2 from the oscillation unit 160C, and the PWM unit 160A-2 calculates PWM-Duty values D1 to D6 in synchronization with the modulation signal CF. .
  • the gate drive unit 160B outputs PWM-Duty values D1 to D6 to drive the gates of the FETs Q1 to Q6 as drive elements.
  • the electric power steering apparatus 300D is an in-vehicle product, the operating temperature range is wide, and the inverter 161 which drives the motor 100 from the viewpoint of fail safe has a large dead time compared to general industrial applications such as household appliances. It is necessary to do industrial equipment ⁇ EPS.
  • switching elements for example, FETs (Field-Effect Transistors)
  • FETs Field-Effect Transistors
  • the current waveform is distorted, the response of current control and steering feeling deteriorate, for example, when steering slowly while the steering wheel is in the vicinity of on center, discontinuous due to torque ripple etc. A feeling of steering may occur.
  • the current detector 162 detects three-phase motor currents Iu, Iv, Iw of the motor 100, as shown in FIG.
  • the detected three-phase motor currents Iu, Iv, Iw are input to the three-phase AC / dq axis converter 130 and converted into two-phase feedback dq axis currents Id, Iq.
  • the two-phase feedback dq axis currents Id and Iq are input to the motor control unit 39D.
  • the motor angle detection unit 110A calculates and acquires the motor angle ⁇ e of the motor 100, if necessary.
  • the motor angle ⁇ e is input to the angular velocity calculation unit 110B, the motor control unit 39D, and the three-phase alternating current / dq axis conversion unit 130.
  • the angular velocity calculation unit 110B obtains the motor rotation number N and the motor angular velocity ⁇ from the motor angle ⁇ e by calculation.
  • the motor rotation number N and the motor angular velocity ⁇ are input to the motor control unit 39D.
  • FIG. 57 is a functional configuration diagram of the motor control unit 39D.
  • the motor control unit 39D includes a voltage command value calculation unit 220, an electrical angle interpolation unit 240D, a space vector modulation unit 250, a final Duty calculation unit 200, and a Duty output setting unit 160A-1.
  • Voltage command value calculation unit 220 includes dq axis dead time compensation value calculation unit 201, dq axis current feedback control unit 203, voltage / duty conversion coefficient calculation unit 204, addition unit 205, dq axis duty clamp / VR sensitivity And a calculation unit 210.
  • the voltage / duty conversion coefficient calculation unit 204 calculates a voltage / duty conversion coefficient Kc in accordance with the inverter applied voltage VR.
  • FIG. 58 is a block diagram of the electrical angle interpolation unit 240D.
  • the electrical angle interpolation unit 240D calculates a motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation from the input motor angle ⁇ e, and outputs the calculated motor angle to the space vector modulation unit 250 (electrical angle interpolation step).
  • the electrical angle interpolation unit 240 D performs linear function interpolation operation (First Order Hold operation: hereinafter, linear function interpolation operation is simply referred to as “FOH operation”) with respect to the motor angle ⁇ e detected in the control cycle 250 ⁇ s (Tc).
  • FOH operation linear function interpolation operation
  • the motor angle (interpolated electrical angle) ⁇ s is estimated at an interval (division interval) of 50 ⁇ s in which the control cycle Tc is divided into 1 ⁇ 5, and based on the estimated motor angle (interpolated electrical angle) ⁇ s Then, the interpolation duty command value is calculated.
  • the duty command value after space vector modulation is not set as an interpolation target.
  • the duty command value after space vector modulation includes a dead time compensation value with a transient change and a noise component caused by the distortion component of the third high frequency due to space vector modulation, etc., and calculated by directly interpolating the duty command value. This is because the interpolation duty command value may be a value including large noise.
  • the electric angle interpolation unit 240D receives the motor angle ⁇ e and directly performs an FOH operation on the operation processing unit 241D (FOH operation unit 241D-1 and rollover processing unit 241-2), Offset with a motor angle ⁇ e to perform offset processing, etc., and an offset-added arithmetic processing unit 242D, and whether the motor angle ⁇ e belongs to a range larger than 90 ° and 270 ° or smaller or any other range
  • a motor angle switching determination unit 243 that determines the switching flag SF and outputs the switching flag SF, and a switching unit 244 that switches the contacts a and b by the switching flag SF and outputs the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation; Is equipped.
  • interpolated electrical angles 1 to 4 four interpolated electrical angles (hereinafter referred to as “interpolated electrical angles 1 to 4”) calculated by FOH calculation at intervals of 50 ⁇ s obtained by dividing the control cycle Tc into 1 ⁇ 5.
  • Equation 26 The function y [k] used for the FOH operation is expressed by Equation 26.
  • y [k] is a function representing the motor angle (electrical angle) at the control cycle number k.
  • a and b can be expressed as equation 28 using y [0] and y [-1].
  • FIG. 63 is a functional block diagram of the FOH calculator 241D-1 (242D-4).
  • the FOH calculation unit 241D-1 is a holding unit 245-1 and a holding unit 245-2 of the previous value of the motor angle ⁇ e, a coefficient unit B0 (245-3), a coefficient unit B1 (245-4), and a coefficient unit B2 (245-5), an adding unit 245-6, and an adding unit 245-7.
  • the motor angle ⁇ e is input to the coefficient unit B0 (245-3) and the holding unit 245-1, and the holding value of the holding unit 245-1 is input to the coefficient unit B1 (245-4) and the holding unit 245-2 .
  • the holding value of holding unit 245-2 is input to coefficient part B2 (245-5), and the outputs of coefficient part B0 (245-3), coefficient part B1 (245-4) and coefficient part B2 (245-5).
  • the values are added by the adding unit 245-7 and the adding unit 245-6, and are output as the interpolation electrical angle ⁇ s.
  • the arithmetic processing unit 241D in the electrical angle interpolation unit 240D receives the motor angle ⁇ e and performs an FOH operation on the FOH operation unit 241D-1, and the motor output from the FOH operation unit 241D-1 And a rollover processing unit 241-2 that performs rollover processing (waveform processing) on the angle ⁇ e1.
  • the motor angle ⁇ e2 subjected to rollover processing by the rollover processing unit 241-2 is input to the contact a of the switching unit 244.
  • the arithmetic processing unit with offset 242D performs the offset processing with the coefficient 180 ° input from the fixed unit 242-1 with the motor angle ⁇ e input, and the addition unit 242-
  • a rollover processing unit 242-3 that performs rollover processing (waveform processing) on the motor angle ⁇ e3 input from 2 and an FOH calculation unit 242D-4 that corrects the motor angle ⁇ e4 input from the rollover processing unit 242-3;
  • the motor angle ⁇ e5 is input from the FOH calculation unit 242D-4 and the subtraction unit 242-6 that performs offset return processing by the coefficient 180 ° input from the fixed unit 242-5, and the motor input from the subtraction unit 242-6
  • a rollover processing unit 242-7 that performs rollover processing (waveform processing) on the angle ⁇ e6.
  • the motor angle ⁇ e 7 subjected to the rollover processing in the rollover processing unit 242-7 is input to the contact b of the switching unit 244.
  • the motor angle ⁇ e2 from the rollover processing unit 241-2 of the arithmetic processing unit 241D is input to the contact a of the switching unit 244, and the motor angle ⁇ e7 from the rollover processing unit 242-7 of the arithmetic processing unit with offset 242D is It is input to the contact b of the switching unit 244.
  • the contacts a and b of the switching unit 244 are switched by the switching flag SF ("H", "L") from the motor angle switching determination unit 243, and the motor angle for interpolation duty calculation from the switching unit 244 (interpolation Angle) ⁇ s is output.
  • the motor angle (electrical angle) ⁇ e returns to 0 ° if it exceeds 360 ° when moving from the current motor angle to the next motor angle. At this time, since a transient angle fluctuation occurs, if the FOH operation is performed using the current motor angle, there are cases where the accurate interpolation operation result can not be obtained. In order to avoid this problem, the electric angle interpolation unit 240D switches the calculation output (motor angle ⁇ s for interpolation duty calculation) according to the motor angle ⁇ e of the input electric angle.
  • the electrical angle interpolation unit 240D performs FOH calculation on the input motor angle ⁇ e.
  • the electrical angle interpolation unit 240D offsets the motor angle ⁇ e by 180 °, converts it into a continuous angle signal, performs FOH operation, and performs 180 ° offset return processing on the interpolation operation result after the FOH operation.
  • Motor angle switching determination unit 243 determines from input motor angle ⁇ e switching flag SF (“H” when 90 ° ⁇ e ⁇ 270 °, “L” when 0 ° ⁇ ⁇ e ⁇ 90 ° or 270 ° ⁇ e ⁇ 360 ° Generate).
  • the switching unit 244 selects and outputs the motor angle (interpolation electrical angle) ⁇ s for the interpolation Duty calculation after the FOH calculation based on the switching flag SF.
  • the switching unit 244 when 90 ° ⁇ e ⁇ 270 °, the switching unit 244 is controlled as in Expression 34, and outputs the motor angle ⁇ e2 as the motor angle ⁇ s for interpolation duty calculation. Further, when 0 ° ⁇ ⁇ e ⁇ 90 ° or 270 ° ⁇ e ⁇ 360 °, the switching unit 244 is controlled as in Expression 35, and outputs the motor angle ⁇ e7 as the motor angle ⁇ s for interpolation duty calculation.
  • FIG. 64 shows a control flowchart of the electrical angle interpolation unit 240D.
  • the motor angle (electrical angle) ⁇ e is input to the electrical angle interpolation unit 240D (step S301).
  • the FOH calculating unit 241D-1 of the calculation processing unit 241D performs FOH calculation (step S310).
  • the motor angle ⁇ e is input to the holding unit 245-1 to be used as the previous value in the next FOH calculation.
  • the previous value input to the holding unit 245-1 is input to the holding unit 245-2 because it is used as the second previous value in the next FOH calculation.
  • the rollover processing unit 241-2 performs rollover processing on the motor angle ⁇ e1 calculated by FOH and outputs a motor angle ⁇ e2 (step S311).
  • the offset-added arithmetic processing unit 242D performs offset processing on the motor angle (electrical angle) ⁇ e using the coefficient 180 ° input from the fixed unit 242-1 by the adding unit 242-2 (step S320).
  • the rollover processing unit 242-3 performs rollover processing on the offset-processed motor angle ⁇ e3, and outputs the motor angle ⁇ e4 (step S321).
  • the FOH calculator 242D-4 performs the FOH calculation on the input motor angle ⁇ e4 (step S322).
  • the motor angle ⁇ e is input to the holding unit 245-1 to be used as the previous value in the next FOH calculation.
  • the previous value input to the holding unit 245-1 is input to the holding unit 245-2 because it is used as the second previous value in the next FOH calculation.
  • the motor angle ⁇ e5 calculated by the FOH is input to the subtraction unit 242-6, and the offset return processing is performed with the coefficient 180 ° input from the fixed unit 242-5 (step S323).
  • the motor angle ⁇ e6 subjected to the offset return processing is subjected to rollover processing by the rollover processing unit 242-7, and the motor angle ⁇ e7 is output (step S324).
  • the motor angle switching determination unit 243 determines that the motor angle ⁇ e is greater than 90 ° and not more than 270 ° (step S302). When this condition is satisfied (in the case of YES), the motor angle switching determination unit 243 sets the switching flag SF to “H”. If the above conditions are not met (in the case of NO), the motor angle ⁇ e is 0 ° or more and 90 ° or less, or more than 270 ° and 360 ° or less, and the motor angle switching determination unit 243 sets the switching flag SF to “L”.
  • the switching unit 244 selects ⁇ e 2 and outputs it as the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation (step S 303) .
  • the switching unit 244 selects ⁇ e 7 and outputs it as the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation (step S 304) .
  • the electric angle interpolation unit 240D performs FOH calculation using the coefficients B0 and B1 (see Table 1) corresponding to the interpolation electric angles 1 to 4 ( ⁇ s 1 to 4) to calculate interpolation electric angles 1 to 4 ( ⁇ s 1 to 4). Calculate each.
  • FIG. 65A is a waveform example of the motor angle ⁇ e2 output from the arithmetic processing unit 241D
  • FIG. 65B is a waveform example of the motor angle ⁇ e7 output from the arithmetic processing unit with offset 242D
  • FIG. 65 (C) shows the switching timing of “H” and “L” of the switching flag SF
  • FIG. 65 (D) shows the motor angle (interpolation for interpolation duty calculation outputted from the switching unit 244).
  • An example of the waveform of the electrical angle ⁇ s is shown.
  • the motor angle ⁇ s exceeds 360 ° as compared with the waveform shown in FIG. 65 (A).
  • the motor angle ⁇ e has relatively low noise if the linearity is high, and there is no transitional change other than the angle change to switch from 360 ° to 0 °, so high accuracy can be ensured in calculation of the interpolation electrical angle by FOH calculation .
  • FIG. 66 is a functional configuration diagram of the space vector modulation unit 250.
  • the space vector modulation unit (conversion unit) 250 performs space vector conversion operation after converting from the dimension of voltage to the dimension of Duty (conversion step).
  • Japanese Patent Application Laid-Open No. 2017-70066 and International Publication No. 2017/098840 by the present applicant.
  • the space vector modulation unit 250 performs space vector modulation using the motor angle (electrical angle) ⁇ e, the space vector modulation unit 250-0 that performs the above space vector conversion operation, and the interpolation electrical angles 1 to 4 ( ⁇ s 1 to 4). Space vector modulation units 250-1, 250-2, 250-3, and 250-4 for performing a vector conversion operation.
  • the space vector modulation unit 250-0 performs space vector conversion operation using the motor angle (electrical angle) ⁇ e, and outputs three-phase Duty command values Duty_u, Duty_v, and Duty_w.
  • the space vector modulation unit 250-1 performs space vector conversion operation using the interpolation electrical angle 1 ( ⁇ s1), and outputs a three-phase interpolation duty command value Duty_u_m1, Duty_v_m1, Duty_w_m1.
  • the space vector modulation unit 250-2 performs space vector conversion operation using the interpolation electrical angle 2 ( ⁇ s2), and outputs a three-phase interpolation duty command value Duty_u_m2, Duty_v_m2, Duty_w_m2.
  • the space vector modulation unit 250-3 performs space vector conversion operation using the interpolation electrical angle 3 ( ⁇ s3), and outputs a three-phase interpolation duty command value Duty_u_m3, Duty_v_m3, and Duty_w_m3.
  • the space vector modulation unit 250-4 performs space vector conversion operation using the interpolation electrical angle 4 ( ⁇ s4), and outputs a three-phase interpolation duty command value Duty_u_m4, Duty_v_m4, and Duty_w_m4.
  • FIG. 67 is a functional block diagram of the final Duty computing unit 200.
  • the Duty value to which the offset of Duty 50% has been added by the adding unit 221 is input to the limiter 222 which limits the Duty output within the range of 0 to 100% (variable).
  • the interpolation duty command value Duty_n_m1 from the space vector modulation unit 250 is input to the addition unit 231, and the duty value added with the 50% duty offset by the addition unit 231 limits the duty output within the range of 0 to 100% (variable). Is input to the limiter 232.
  • the final interpolation Duty command value Dnm1 (n u, v, w) is output from the limiter 232.
  • the EPS supplies the motor applied voltage from the battery (DC + 12 V), it can not supply the applied voltage in the negative (-) direction. In this state, the phase voltage command value in the negative direction can not be supplied, so the phase current can not flow in the negative direction. In order to cope with this problem, the phase current becomes 0 A when the 3-phase duty value is 50%, even if the 3 phase is not 0 V, by offsetting the 3 phase with the 50% duty value (+ 6 V) to make the reference voltage. Applied voltage + 12V).
  • the 50% duty value offset is basically fixed, the reference voltage at 50% duty value fluctuates depending on the applied voltage state to be supplied. For example, when the applied voltage is 11 V, the 50% duty value is 5.5 V, and when the applied voltage is 13 V, the 50% duty value is 6.5 V.
  • FIG. 68 is a functional block diagram of the Duty output setting unit 160A-1.
  • the Duty output setting unit (output setting unit) 160A-1 matches the 50 ⁇ s interval (division interval) obtained by dividing the control cycle Tc into 1 ⁇ 5, at the elapsed time T from the control cycle Tc. Based on the output, the final Duty command values Du_o, Dv_o, Dw_o to be output are switched and output (output setting step).
  • 69 to 72 show simulation results in which the interpolation electrical angles 1 to 4 ( ⁇ s 1 to 4) [deg] are estimated under the condition that the motor rotation number is steered to a constant rotation number (2000 rpm).
  • the interpolation electrical angles 1 to 4 overlap the line obtained by linearly interpolating the motor electrical angle ⁇ e, and it can be confirmed that the estimated angle calculation by the FOH calculation is appropriately performed with high accuracy.
  • FIGS. 73 to 76 show Duty command values (U phase) Du_m1 to Du_m4 calculated using interpolated electrical angles 1 to 4 ( ⁇ s 1 to 4) estimated under the same conditions as the simulation whose results are shown in FIGS. 69 to 72. Is a simulation waveform of In any of the results, the interpolation duty command value is output on a line or in the vicinity of linear interpolation of the normal duty command value Du, and interpolation of the duty command value using the interpolation electrical angle is appropriately performed with high accuracy. It can confirm. Although V and W phases are not shown, they show similar results.
  • the interpolation Duty command value with little noise is calculated without the influence of the dead time compensation, and PWM control is controlled in a cycle (50 ⁇ s) earlier than the cycle in which the PWM calculation is performed.
  • the signal can be varied.
  • the linear function interpolation calculation FOH is used for the calculation of the interpolation electric angle
  • the accuracy is slightly reduced compared to the interpolation calculation such as the quadratic function interpolation calculation
  • the increase in the amount of arithmetic processing of the microcomputer can be suitably suppressed.
  • the motor 100 is controlled by the vector control method using space vector driving, but the motor to be controlled by the motor control device is not limited thereto.
  • the motor to be controlled by the motor control device according to the present invention may be, for example, a brushless motor of a sine wave control system.
  • the motor control device according to the present invention does not set the duty command value as the direct interpolation target, but sets the motor angle (electrical angle) ⁇ e as the interpolation target.
  • the motor angle ⁇ e has relatively low noise if the linearity is high, and there is no transitional change other than the angle change to switch from 360 ° to 0 °. Therefore, calculation of the interpolation electrical angle by FOH calculation and calculation of the interpolation Duty command value are high. Accuracy can be ensured.
  • motor control device 400D concerning the above-mentioned embodiment was carried in electric power steering device 300D
  • the mode of a motor control device is not limited to this.
  • the motor control device according to the present invention is suitably mounted on a motor drive device that requires high torque while low noise is required.
  • the motor control device according to the present invention is preferably mounted on a walking support device that supports muscle power when the wearer walks, a cleaning device that operates indoors, etc., so that the motor vibration or the sound caused by the motor is preferable. To reduce the noise caused by the motor in the audible range.
  • the motor control device 400D estimates the motor angle (interpolated electrical angle) ⁇ s at equal intervals (division intervals) of 50 ⁇ s in which the control cycle Tc is divided into 1 ⁇ 5.
  • the control cycle Tc may be divided by an arbitrary number of divisions, or may be divided at unequal intervals.
  • the control cycle Tc is 250 ⁇ s (frequency 4 KHz), but the aspect of the motor control device is not limited to this.
  • the motor control device according to the present invention can preferably reduce the sound caused by the motor in the audible range when the control period Tc is 100 ⁇ s or more and 250 ⁇ s or less.
  • the control period is predicted to be shorter than 250 ⁇ s as the performance of the CPU or the like mounted on the motor control device improves or the number of poles of the motor to be controlled increases.
  • the control period Tc is 100 ⁇ s or more and 250 ⁇ s or less, as in the above embodiment, a problem occurs that a sound is generated due to the motor in the audible range.
  • Sounds resulting from vibrations and motors can be suitably suppressed, and sounds resulting from motors in the audible range can be reduced.
  • FIG. 77 is a schematic view showing a configuration of an electric power steering apparatus 300E mounted with a motor control apparatus 400E according to the present embodiment.
  • the electric power steering apparatus 300E is a column assist type electric power steering apparatus in which an electric motor and a reduction mechanism are disposed in a column portion (steering shaft).
  • the electric power steering apparatus 300E further transmits the hub units 7a and 7b through the column axis (steering shaft, handle shaft) 2 of the steering wheel 1, the reduction gear 3, the universal joints 4a and 4b, the pinion rack mechanism 5, and the tie rods 6a and 6b.
  • the steering wheels 8L and 8R are connected to each other via the steering wheel 8L.
  • a steering angle sensor 14 for detecting a steering angle ⁇ e of the steering wheel 1 and a torque sensor 10 for detecting a steering torque Th of the steering wheel 1 are provided on the column shaft 2 to assist the steering force of the steering wheel 1
  • a motor 100 is connected to the column shaft 2 via a reduction gear 3. Electric power is supplied from the battery 13 to the control unit (ECU) 30 that controls the electric power steering device 300E, and an ignition key signal is input through the ignition key 11.
  • the control unit 30 calculates the current command value of the assist (steering assist) command based on the steering torque Th detected by the torque sensor 10 and the vehicle speed Vs detected by the vehicle speed sensor 12, and the calculated current command value
  • the motor 100 is controlled by the voltage control command value Vref which has been subjected to compensation and the like.
  • the steering angle sensor 14 is not essential and may not be disposed, and the steering angle (motor angle) ⁇ e can be obtained from a rotation sensor such as a resolver connected to the motor 100.
  • the control unit 30 mainly includes a program executable computer including a central processing unit (CPU) (including an MPU (micro processor unit), an MCU (micro controller unit), and the like).
  • CPU central processing unit
  • MPU micro processor unit
  • MCU micro controller unit
  • the control unit 30 includes circuits such as an inverter 161 that drives the motor 100, a motor current detection circuit 162 that detects the current of the motor 100, and an angle detection unit 110A that detects the motor angle ⁇ e of the motor 100. These circuits may be mounted on the motor 100 side.
  • the control unit 30 is connected to a CAN (Controller Area Network) 40 that transmits and receives various information of the vehicle, and the vehicle speed Vs can also be received from the CAN 40.
  • the control unit 30 can also be connected to a non-CAN 41 that transmits and receives communications other than the CAN 40, analog / digital signals, radio waves, and the like.
  • the motor 100 is a three-phase brushless motor that is mainly used as an actuator of the electric power steering device 300E in recent years.
  • the motor 100 is controlled by a vector control method using space vector drive.
  • the q axis for controlling the torque which is the coordinate axis of the rotor of the motor 100
  • the d axis for controlling the strength of the magnetic field are set independently, and the dq axis is 90 °. Because of this, the current corresponding to each axis (d-axis current command value Iref_d, q-axis current command value Iref_q) is controlled by the vector.
  • FIG. 78 is a functional configuration diagram of a motor control device 400E configured by the control unit 30.
  • the function of the motor control device 400E is realized by appropriately combining a program executed by a CPU or the like and an electronic circuit such as an inverter.
  • the functions described as the electronic circuit in the following description may be realized as a program executed by a CPU or the like.
  • the motor control device 400E performs drive control of the motor 100.
  • the motor control device 400E includes a current command value calculation unit 31, a motor control unit 39E, a PWM control unit 160, an inverter 161, a motor current detection circuit 162, a motor angle detection unit 110A, and an angular velocity calculation unit 110B. And a three-phase alternating current / dq axis conversion unit 130.
  • FIG. 79 is a block diagram of PWM control unit 160 and inverter 161.
  • the inverter 161 is configured by a three-phase bridge of FETs, and drives the motor 100 by being turned ON / OFF with PWM-Duty values D1 to D6.
  • a motor switch 101 for interrupting the supply of current when the assist control is stopped or the like is interposed.
  • the upper arm is composed of FETs Q1, Q2 and Q3 as switching elements, and the lower arm is composed of FETs Q4, Q5 and Q6.
  • FETs Q1 and Q4 are U-phase
  • FETs Q2 and Q5 are V-phase
  • FETs Q3 and Q6 are W-phase drive elements.
  • the PWM control unit 160 is an inverter (inverter applied voltage VR) having a bridge configuration of upper and lower arms as shown in FIG. 79 based on the input three-phase Duty command values Du_o, Dv_o, Dw_o. Driving control of the motor 100 is performed via 161. As shown in FIG. 79, the PWM control unit 160 has a PWM unit 160A-2 and a gate drive unit 160B.
  • the PWM unit 160A-2 calculates three-phase PWM-Duty values D1 to D6 according to predetermined equations for the three-phase Duty command values Du_o, Dv_o, and Dw_o.
  • a modulation signal (carrier) CF of, for example, a triangular wave is input to the PWM unit 160A-2 from the oscillation unit 160C, and the PWM unit 160A-2 calculates PWM-Duty values D1 to D6 in synchronization with the modulation signal CF. .
  • the gate driver 160B outputs PWM-Duty values D1 to D6 to drive the gates of the FETs Q1 to Q6 which are drive elements.
  • the electric power steering apparatus 300E is an in-vehicle product, the operating temperature range is wide, and the inverter 161 for driving the motor 100 from the viewpoint of fail safe has a large dead time as compared with general industrial applications such as home appliances. It is necessary to do industrial equipment ⁇ EPS.
  • switching elements for example, FETs (Field-Effect Transistors)
  • FETs Field-Effect Transistors
  • a time (dead time) in which the switching elements of both the upper and lower arms are turned off is provided.
  • the current waveform is distorted, the response of current control and steering feeling deteriorate, for example, when steering slowly while the steering wheel is in the vicinity of on center, discontinuous due to torque ripple etc. A feeling of steering may occur.
  • the current detector 162 detects the three-phase motor currents Iu, Iv, Iw of the motor 100 as shown in FIG.
  • the detected three-phase motor currents Iu, Iv, Iw are input to the three-phase AC / dq axis converter 130 and converted into two-phase feedback dq axis currents Id, Iq.
  • the two-phase feedback dq axis currents Id and Iq are input to the motor control unit 39E.
  • the motor angle detection unit 110A calculates and acquires the motor angle ⁇ e of the motor 100, if necessary.
  • the motor angle ⁇ e is input to the angular velocity calculation unit 110B, the motor control unit 39E, and the three-phase AC / dq axis conversion unit 130.
  • the angular velocity calculation unit 110B obtains the motor rotation number N and the motor angular velocity ⁇ from the motor angle ⁇ e by calculation.
  • the motor rotation number N and the motor angular velocity ⁇ are input to the motor control unit 39E.
  • FIG. 80 is a functional configuration diagram of the motor control unit 39E.
  • the motor control unit 39E includes a voltage command value calculation unit 220, an electrical angle interpolation unit 240E, a space vector modulation unit 250, a final Duty calculation unit 200, and a Duty output setting unit 160A-1.
  • Voltage command value calculation unit 220 includes dq axis dead time compensation value calculation unit 201, dq axis current feedback control unit 203, voltage / duty conversion coefficient calculation unit 204, addition unit 205, dq axis duty clamp / VR sensitivity And a calculation unit 210.
  • the voltage / duty conversion coefficient calculation unit 204 calculates a voltage / duty conversion coefficient Kc in accordance with the inverter applied voltage VR.
  • FIG. 81 is a block diagram of the electrical angle interpolation unit 240E.
  • the electrical angle interpolation unit 240E calculates a motor angle (interpolation electrical angle) ⁇ c for interpolation duty calculation from the input motor angle ⁇ e, and outputs the calculated motor angle to the space vector modulation unit 250 (electrical angle interpolation step).
  • the electrical angle interpolation unit 240E performs quadratic function interpolation calculation (Second Order Hold calculation: for the following, the quadratic function interpolation calculation is simply referred to as “SOH calculation”) with respect to the motor angle ⁇ e detected in the control cycle 250 ⁇ s (Tc). In some cases, or by linear function interpolation operation (First Order Hold operation: In the following, the linear function interpolation operation may be simply referred to as “FOH operation”) to make the control period Tc 1 ⁇ 5.
  • the motor angle (interpolated electrical angle) ⁇ s is estimated at the divided interval of 50 ⁇ s (division interval), and the interpolated Duty command value is calculated based on the estimated motor angle (interpolated electrical angle) ⁇ s.
  • the duty command value after space vector modulation is not set as an interpolation target.
  • the duty command value after space vector modulation includes a dead time compensation value with a transient change and a noise component caused by the distortion component of the third high frequency due to space vector modulation, etc., and calculated by directly interpolating the duty command value. This is because the interpolation duty command value may be a value including large noise.
  • the electrical angle interpolation unit 240E inputs the motor angle ⁇ e and directly performs the SOH calculation or FOH calculation, and the motor angle ⁇ e, and performs offset processing etc.
  • the offset flag (electrical angle switch) determines whether the motor processing unit 242E with offset performs the SOH calculation or the FOH calculation, and which one of the range where the motor angle ⁇ e is greater than 90 ° and 270 ° or less or any other range.
  • Motor angle switching determination unit 243 that outputs the flag SF, a switching unit 244 that switches the contacts a and b according to the switching flag SF and outputs the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation, interpolation calculation switching flag Interpolation calculation switching determination unit 247 which outputs HF and interpolation switching flag EF, motor angle for final interpolation duty calculation (interpolation electric ) .
  • Theta.c a second switching section 246 for outputting, and a.
  • interpolated electrical angles 1 to 4 four interpolated electrical angles (hereinafter referred to as “interpolated electrical angles 1 to 4”) estimated at intervals of 50 ⁇ s in which the control cycle Tc is divided into 1 ⁇ 5.
  • interpolation electric angles 1 to 4 ⁇ s 1 to 4
  • SOH calculation at intervals of 50 ⁇ s in which the control period Tc is divided into 1 ⁇ 5 will be “ ⁇ ss 1 to 4”.
  • FOH calculation at intervals of 50 ⁇ s in which the control period Tc is divided into 1 ⁇ 5 are set as “ ⁇ sf 1 to 4”.
  • Equation 36 The function y [k] used for the SOH calculation is expressed by Equation 36.
  • y [k] is a function representing the motor angle (electrical angle) at the control cycle number k.
  • Expression 37 is established by using the coefficients a, b, c, and expressing them as the second previous value y [-2], the last value y [-1], and the current value y [0].
  • Equation 38 By arranging the above equations, a, b, c are expressed as in Equation 38 using y [0], y [-1], y [-2].
  • FIG. 86 is a functional block diagram of the SOH calculation unit 241-1 (242-4).
  • the SOH calculation unit 241-1 is a holding unit 245-1 and a holding unit 245-2 of the previous value of the motor angle ⁇ e, a coefficient unit B0 (245-3), a coefficient unit B1 (245-4), and a coefficient unit B2 (245-5), an adding unit 245-6, and an adding unit 245-7.
  • the motor angle ⁇ e is input to the coefficient unit B0 (245-3) and the holding unit 245-1, and the holding value of the holding unit 245-1 is input to the coefficient unit B1 (245-4) and the holding unit 245-2 .
  • the holding value of holding unit 245-2 is input to coefficient part B2 (245-5), and the outputs of coefficient part B0 (245-3), coefficient part B1 (245-4) and coefficient part B2 (245-5).
  • the values are added by the adding unit 245-7 and the adding unit 245-6, and are output as the interpolation electrical angle ⁇ ss.
  • y [k] used for the FOH operation is expressed by Expression 44.
  • y [k] is a function representing the motor angle (electrical angle) at the control cycle number k.
  • Expression 45 is established by using the coefficients a and b to express the previous value y [ ⁇ 1] and the current value y [0].
  • Equation 46 a and b are expressed as in Equation 46 using y [0] and y [-1].
  • FIG. 87 is a functional block diagram of the FOH calculator 241D-1 (242D-4).
  • the FOH calculation unit 241D-1 is a holding unit 245-1 and a holding unit 245-2 of the previous value of the motor angle ⁇ e, a coefficient unit B0 (245-3), a coefficient unit B1 (245-4), and a coefficient unit B2 (245-5), an adding unit 245-6, and an adding unit 245-7.
  • the motor angle ⁇ e is input to the coefficient unit B0 (245-3) and the holding unit 245-1, and the holding value of the holding unit 245-1 is input to the coefficient unit B1 (245-4) and the holding unit 245-2 .
  • the holding value of holding unit 245-2 is input to coefficient part B2 (245-5), and the outputs of coefficient part B0 (245-3), coefficient part B1 (245-4) and coefficient part B2 (245-5).
  • the values are added by the adding unit 245-7 and the adding unit 245-6, and are output as the interpolation electrical angle ⁇ sf.
  • the FOH operation has a small amount of operation processing compared to the SOH operation, and the processing load when the control unit 30 executes is also small.
  • the arithmetic processing unit 241 in the electrical angle interpolation unit 240E receives the motor angle ⁇ e and performs the SOH operation, and the motor angle ⁇ e, and performs the FOH operation.
  • An interpolation calculation switching unit 241-3 that switches and outputs the output ⁇ ss of the SOH calculation unit 241-1 and the output ⁇ sf of the FOH calculation unit 241D-1 based on the FOH calculation unit 241D-1 and the interpolation calculation switching flag HF.
  • a rollover processing unit 241-2 that performs rollover processing (waveform processing) on the motor angle ⁇ e1 output from the interpolation calculation switching unit 241-3.
  • the motor angle ⁇ e2 subjected to rollover processing by the rollover processing unit 241-2 is input to the contact a of the switching unit 244.
  • the interpolation calculation switching unit 241-3 When the interpolation calculation switching flag HF is H, the interpolation calculation switching unit 241-3 outputs the output ⁇ sf of the FOH calculation unit 241D-1 as ⁇ s1. When the interpolation calculation switching flag HF is L, the interpolation calculation switching unit 241-3 outputs the output ⁇ ss of the SOH calculation unit 241-1 as ⁇ s1.
  • the arithmetic processing unit with offset 242 performs addition processing for performing offset processing with a coefficient 180 ° that is input from the fixing unit 242-1 when the motor angle ⁇ e is input, and the addition unit 242-
  • a rollover processing unit 242-3 that performs rollover processing (waveform processing) on the motor angle ⁇ e3 input from 2 and an SOH calculation unit 242-4 that corrects the motor angle ⁇ e4 input from the rollover processing unit 242-3
  • Interpolation that switches and outputs the output ⁇ ss of the SOH arithmetic unit 242-4 and the output ⁇ sf of the FOH arithmetic unit 242D-4 based on the FOH arithmetic unit 242D-4 that corrects the motor angle ⁇ e4 and the interpolation arithmetic switching flag HF
  • the motor angle ⁇ e5 is input from the calculation switching unit 242-8 and the interpolation calculation switching unit 242-8, and the coefficient 1 is input from the fixed unit 242-5.
  • 0 subtraction units 242-6 to perform the offset back process by ° provided with a roll-over process section 242-7 to roll over process of the motor angle ⁇ e6 received from subtracting section 242-6 (waveform processing), the.
  • the motor angle ⁇ e 7 subjected to the rollover processing in the rollover processing unit 242-7 is input to the contact b of the switching unit 244.
  • the interpolation calculation switching unit 242-8 When the interpolation calculation switching flag HF is H, the interpolation calculation switching unit 242-8 outputs the output ⁇ sf of the FOH calculation unit 242D-4 as ⁇ s5. When the interpolation calculation switching flag HF is L, the interpolation calculation switching unit 242-8 outputs the output ⁇ ss of the SOH calculation unit 242-4 as ⁇ s5.
  • the motor angle ⁇ e2 from the rollover processing unit 241-2 of the arithmetic processing unit 241E is input to the contact a of the switching unit 244, and the motor angle ⁇ e7 from the rollover processing unit 242-7 of the arithmetic processing unit with offset 242E is It is input to the contact b of the switching unit 244.
  • the contacts a and b of the switching unit 244 are switched by the switching flag (electrical angle switching flag) SF ("H", "L”) from the motor angle switching determination unit 243, and the switching unit 244 is used for interpolation duty calculation.
  • the motor angle (interpolated electrical angle) ⁇ s is output.
  • the motor angle (electrical angle) ⁇ e returns to 0 ° if it exceeds 360 ° when moving from the current motor angle to the next motor angle. At this time, since a transient angle variation occurs, if SOH calculation is performed using the current motor angle, an accurate interpolation calculation result may not be obtained. In order to avoid this problem, the electrical angle interpolation unit 240E switches the calculation output (motor angle ⁇ s for interpolation duty calculation) according to the motor angle ⁇ e of the input electrical angle.
  • the electrical angle interpolation unit 240E performs the SOH calculation on the input motor angle ⁇ e.
  • the electrical angle interpolation unit 240E offsets the motor angle ⁇ e by 180 °, converts it into a continuous angle signal, performs SOH calculation, and performs 180 ° offset return processing on the interpolation calculation result after the SOH calculation.
  • Motor angle switching determination unit 243 determines from input motor angle ⁇ e switching flag SF (“H” when 90 ° ⁇ e ⁇ 270 °, “L” when 0 ° ⁇ ⁇ e ⁇ 90 ° or 270 ° ⁇ e ⁇ 360 ° Generate).
  • the switching unit 244 selects and outputs the motor angle (interpolation electrical angle) ⁇ s for the interpolation Duty calculation after the SOH calculation based on the switching flag SF.
  • the switching unit 244 when 90 ° ⁇ e ⁇ 270 °, the switching unit 244 is controlled as in Expression 52, and outputs the motor angle ⁇ e2 as the motor angle ⁇ s for interpolation duty calculation. Further, when 0 ° ⁇ ⁇ e ⁇ 90 ° or 270 ° ⁇ e ⁇ 360 °, the switching unit 244 is controlled as in Expression 53, and outputs the motor angle ⁇ e7 as the motor angle ⁇ s for interpolation duty calculation.
  • the second switching unit 246 selects and outputs a final motor angle (interpolation electrical angle) ⁇ c for interpolation duty calculation based on the interpolation switching flag EF.
  • the interpolation switching flag EF is H
  • the second switching unit 246 outputs the motor angle (electrical angle) ⁇ e as ⁇ c.
  • the second switching unit 246 outputs the motor angle ⁇ s for interpolation duty calculation as ⁇ c.
  • FIG. 88 is a functional configuration diagram of the interpolation calculation switching determination unit 247.
  • the interpolation calculation switching determination unit 247 has an absolute value calculation unit 247-1 that calculates an absolute value of the input motor rotational speed N, an interpolation calculation determination unit 247-3, and an interpolation determination unit 247-4. ing.
  • the interpolation calculation determination unit 246-3 outputs the interpolation calculation switching flag HF based on the motor rotation number output by the absolute value calculation unit 247-1. For example, (1) the motor rotation number N is increased (the motor rotation number N is equal to or more than the first rotation number), and the processing necessary for the SOH calculation limits the performance limit of the control unit 30. It is not appropriate to perform the SOH operation, for example, if it is judged that it exceeds, or (2) it is judged that the result of the SOH operation using the motor angle ⁇ e used in the previous and the last two SOH operations contains a lot of noise. When it is determined, the interpolation calculation switching flag HF is switched to "H”. Otherwise, the interpolation calculation determination unit 247 switches the interpolation calculation switching flag HF to “L”.
  • the electrical angle interpolation unit 240E Since a transient angle variation occurs in the motor electrical angle ⁇ e when the motor electrical angle ⁇ e switches from 360 [deg] to 0 [deg], the electrical angle interpolation unit 240E performs transient by the output switching function of the switching unit 244. It selects and outputs the interpolation electrical angle ⁇ s which does not include the influence of the typical angle variation. However, when the motor rotational speed N becomes high (for example, the angle 45 [deg] or more fluctuating every control cycle Tc), the arithmetic processing necessary for the motor angle switching determination unit 243 and the like exceeds the performance limit of the control unit 30, and the motor angle There are cases where the switching determination unit 243 can not accurately determine the condition of 90 ° ⁇ e ⁇ 270 °.
  • the interpolation calculation determination unit 247-3 switches the interpolation calculation switching flag HF to “H” and switches the SOH calculation to the FOH calculation.
  • the calculation processing load of the control unit 30 is reduced, and the determination of the motor angle switching determination unit 243 is normalized.
  • the SOH calculation uses the motor angle ⁇ e at the time of calculation and the motor angle ⁇ e used in the previous and second-previous SOH calculations. Therefore, it is necessary that all of the three types of motor angles ⁇ e used for the SOH calculation do not include the influence of transient angle variations. As the motor rotational speed N becomes higher, the probability that one of the three types of motor angles ⁇ e includes the influence of the transient angle change becomes high, and the electrical angle interpolation unit 240E performs interpolation without the influence of the transient angle change It becomes difficult to output the electrical angle ⁇ s. In this case, the interpolation calculation determination unit 247-3 switches the interpolation calculation switching flag HF to “H” and switches the SOH calculation to the FOH calculation.
  • the FOH calculation uses the motor angle ⁇ e at the time of calculation and the motor angle ⁇ e used in the previous SOH calculation. Therefore, it is only necessary that the two motor angles ⁇ e used for the FOH calculation do not include the influence of transient angle variation.
  • the probability that one of the motor angles ⁇ e used for the calculation includes the influence of the transient angle change is low, and the interpolation electrical angle ⁇ s not including the influence of the transient angle change is output The probability is high.
  • the ratio of H and L of the electrical angle determination flag SF is 1: 1, but when the motor rotational speed N is high, the angle fluctuation is large, so the H of the electrical angle determination flag SF is H
  • the ratio of L to L may be 5: 3 or 3: 5.
  • the switching unit 244 operating based on the electrical angle determination flag SF may select and output the interpolated electrical angle ⁇ s including the influence of the transient angle change.
  • the interpolation calculation determination unit 247-3 switches the interpolation calculation switching flag HF to “H” and switches the SOH calculation to the FOH calculation.
  • the noise of the angle sensor may increase or the linearity error of the angle may increase in a high speed rotational speed region (for example, 5000 [rpm] or more).
  • the SOH operation is more likely to include noise in the result as compared to the FOH operation.
  • the interpolation calculation determination unit 247-3 switches the interpolation calculation switching flag HF to “H” and switches the SOH calculation to the FOH calculation.
  • the FOH calculation uses the motor angle ⁇ e at the time of calculation and the motor angle ⁇ e used in the previous SOH calculation. Therefore, it is only necessary that the two motor angles ⁇ e used for the FOH calculation do not include the influence of transient angle variation. By switching to the FOH operation, the probability that noise is included in the result of the operation can be reduced.
  • the interpolation calculation determination unit 247 switches the interpolation calculation switching flag HF to “H” and switches the SOH calculation to the FOH calculation.
  • the calculation processing load of the control unit 30 is reduced, and it is possible to reliably sample the motor angle ⁇ e.
  • the interpolation determination unit 246-4 outputs the interpolation switching flag EF based on the motor rotation number output by the absolute value calculation unit 247-1.
  • the interpolation switching flag EF is switched to H.
  • the electric angle interpolation unit 240E does not output the interpolation calculation result because the calculation is not likely to be correctly performed in the high-speed rotation speed region where the SOH calculation and the FOH calculation can not be performed obviously.
  • the interpolation determination unit 247-4 The interpolation switching flag EF is switched to H.
  • FIGS. 89 and 90 are graphs of flag (HF and EF) generation of the interpolation calculation determination unit 247-3 and the interpolation determination unit 247-4.
  • the interpolation calculation determination unit 247-3 and the interpolation determination unit 247-4 use the hysteresis threshold Hi and the hysteresis threshold Lo to generate a binary H and L flag (HF and EF).
  • the hysteresis threshold Hi and the hysteresis threshold Lo each have a hysteresis width of about 200 [rpm], for example, and prevent the flags (HF and EF) from rapidly changing at the threshold boundary.
  • FIG. 91 shows a control flowchart of the electrical angle interpolation unit 240E.
  • the motor angle (electrical angle) ⁇ e is input to the electrical angle interpolation unit 240E (step S401).
  • the SOH calculation unit 241-1 of the calculation processing unit 241 performs the SOH calculation or the FOH calculation based on the interpolation calculation switching flag HF (step S410).
  • the motor angle ⁇ e is input to the holding unit 245-1 to be used as the previous value in the next SOH calculation. Further, the previous value input to the holding unit 245-1 is input to the holding unit 245-2 because it is used as the value before the next SOH calculation.
  • the rollover processing unit 241-2 performs rollover processing on the motor angle ⁇ e1 calculated by the SOH and outputs a motor angle ⁇ e2 (step S411).
  • the offset-added arithmetic processing unit 242 performs offset processing on the motor angle (electrical angle) ⁇ e using the coefficient 180 ° input from the fixing unit 242-1 by the adding unit 242-2 (step S420).
  • the rollover processing unit 242-3 performs rollover processing on the offset-processed motor angle ⁇ e3, and outputs the motor angle ⁇ e4 (step S4421).
  • the SOH calculating unit 242-4 performs the SOH calculation or the FOH calculation on the input motor angle ⁇ e4 based on the interpolation calculation switching flag HF (step S422).
  • the motor angle ⁇ e is input to the holding unit 245-1 to be used as the previous value in the next SOH calculation.
  • the previous value input to the holding unit 245-1 is input to the holding unit 245-2 because it is used as the value before the next SOH calculation.
  • the motor angle ⁇ e5 calculated by the SOH is input to the subtraction unit 242-6, and the offset return processing is performed with the coefficient 180 ° input from the fixed unit 242-5 (step S423).
  • the motor angle ⁇ e6 subjected to the offset return processing is subjected to rollover processing by the rollover processing unit 242-7, and the motor angle ⁇ e7 is output (step S424).
  • the motor angle switching determination unit 243 determines that the motor angle ⁇ e is greater than 90 ° and not more than 270 ° (step S402). When this condition is satisfied (in the case of YES), the motor angle switching determination unit 243 sets the switching flag SF to “H”. If the above conditions are not met (in the case of NO), the motor angle ⁇ e is 0 ° or more and 90 ° or less, or more than 270 ° and 360 ° or less, and the motor angle switching determination unit 243 sets the switching flag SF to “L”.
  • the switching unit 244 selects ⁇ e 2 and outputs it as the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation (step S 403) .
  • the switching unit 244 selects ⁇ e 7 and outputs it as the motor angle (interpolation electrical angle) ⁇ s for interpolation duty calculation (step S 404) .
  • the second switching unit 246 determines that the interpolation switching flag EF is H (step S405). If this condition is satisfied (in the case of YES), the second switching unit 246 outputs the motor angle (electrical angle) ⁇ e as ⁇ c (step S406). If the above condition is not met (in the case of NO), the second switching unit 246 outputs the motor angle ⁇ s for interpolation duty calculation as ⁇ c (step S407).
  • the electrical angle interpolation unit 240E calculates coefficients B0, B1, and B2 (see Table 1) corresponding to the interpolation electrical angles 1 to 4 ( ⁇ ss 1 to 4) estimated by the SOH computation and interpolated electrical angles 1 to 4 (see Table 1). Interpolation calculation is performed using coefficients B0 and B1 (see Table 2) corresponding to ⁇ sf1 to 4) to calculate interpolation electric angles 1 to 4 ( ⁇ s1 to 4).
  • the electric angle interpolation unit 240E selects the motor angle (electric angle) ⁇ e or the interpolation electric angles 1 to 4 ( ⁇ s 1 to 4) based on the interpolation switching flag EF, and outputs it as the interpolation electric angles 1 to 4 ( ⁇ c 1 to 4) Do.
  • FIG. 92 (A) is a waveform example of the motor angle ⁇ e2 outputted from the arithmetic processing unit 241E
  • FIG. 92 (B) is a waveform example of the motor angle ⁇ e7 outputted from the arithmetic processing unit with offset 242E
  • FIG. 92C shows the switching timing of “H” and “L” of the switching flag SF
  • FIG. 92D shows the motor angle (interpolation for interpolation duty calculation output from the switching unit 244).
  • An example of the waveform of the electrical angle ⁇ s is shown.
  • the motor angle switching determination unit 243 may not be able to accurately determine the condition of 90 ° ⁇ e ⁇ 270 °.
  • the interpolation calculation determination unit 247-3 switches the interpolation calculation switching flag HF to “H” and switches the SOH calculation to the FOH calculation.
  • the calculation processing load of the control unit 30 is reduced, and the determination of the motor angle switching determination unit 243 is normalized. As a result, the probability of the output of the interpolated electrical angle ⁇ s not including the influence of the transient angle change is high.
  • FIG. 93 is a functional block diagram of the space vector modulation unit 250.
  • the space vector modulation unit (conversion unit) 250 performs space vector conversion operation after converting from the dimension of voltage to the dimension of Duty (conversion step).
  • Japanese Patent Application Laid-Open No. 2017-70066 and International Publication No. 2017/098840 by the present applicant.
  • the space vector modulation unit 250 performs space vector modulation using the motor angle (electrical angle) ⁇ e, the space vector modulation unit 250-0 that performs the above space vector conversion operation, and the interpolation electrical angles 1 to 4 ( ⁇ s 1 to 4). Space vector modulation units 250-1, 250-2, 250-3, and 250-4 for performing a vector conversion operation.
  • the space vector modulation unit 250-0 performs space vector conversion operation using the motor angle (electrical angle) ⁇ e, and outputs three-phase Duty command values Duty_u, Duty_v, and Duty_w.
  • the space vector modulation unit 250-1 performs space vector conversion operation using the interpolation electrical angle 1 ( ⁇ c1), and outputs a three-phase interpolation duty command value Duty_u_m1, Duty_v_m1, Duty_w_m1.
  • the space vector modulation unit 250-2 performs space vector conversion operation using the interpolation electrical angle 2 ( ⁇ c2), and outputs a three-phase interpolation duty command value Duty_u_m2, Duty_v_m2, Duty_w_m2.
  • the space vector modulation unit 250-3 performs space vector conversion operation using the interpolation electrical angle 3 ( ⁇ c3), and outputs a three-phase interpolation duty command value Duty_u_m3, Duty_v_m3, and Duty_w_m3.
  • the space vector modulation unit 250-4 performs space vector conversion operation using the interpolation electrical angle 4 ( ⁇ c4), and outputs a three-phase interpolation duty command value Duty_u_m4, Duty_v_m4, and Duty_w_m4.
  • FIG. 94 is a functional block diagram of the final Duty computing unit 200.
  • the Duty value to which the offset of Duty 50% has been added by the adding unit 221 is input to the limiter 222 which limits the Duty output within the range of 0 to 100% (variable).
  • the interpolation duty command value Duty_n_m1 from the space vector modulation unit 250 is input to the addition unit 231, and the duty value added with the 50% duty offset by the addition unit 231 limits the duty output within the range of 0 to 100% (variable). Is input to the limiter 232.
  • the final interpolation Duty command value Dnm1 (n u, v, w) is output from the limiter 232.
  • the EPS supplies the motor applied voltage from the battery (DC + 12 V), it can not supply the applied voltage in the negative (-) direction. In this state, the phase voltage command value in the negative direction can not be supplied, so the phase current can not flow in the negative direction. In order to cope with this problem, the phase current becomes 0 A when the 3-phase duty value is 50%, even if the 3 phase is not 0 V, by offsetting the 3 phase with the 50% duty value (+ 6 V) to make the reference voltage. Applied voltage + 12V).
  • the 50% duty value offset is basically fixed, the reference voltage at 50% duty value fluctuates depending on the applied voltage state to be supplied. For example, when the applied voltage is 11 V, the 50% duty value is 5.5 V, and when the applied voltage is 13 V, the 50% duty value is 6.5 V.
  • FIG. 95 is a functional block diagram of the Duty output setting unit 160A-1.
  • the Duty output setting unit (output setting unit) 160A-1 matches the 50 ⁇ s interval (division interval) obtained by dividing the control cycle Tc into 1 ⁇ 5, at the elapsed time T from the control cycle Tc. Based on the output, the final Duty command values Du_o, Dv_o, Dw_o to be output are switched and output (output setting step).
  • the control of PWM control is performed in a cycle (50 ⁇ s) earlier than the cycle for performing the PWM calculation by calculating the interpolation Duty command value with less noise without being affected by the dead time compensation.
  • the signal can be varied.
  • the motor control device 400E of the present embodiment for example, (1) when the motor rotational speed N is increased and it is determined that the process necessary for the SOH calculation exceeds the performance limit of the control unit 30, (2) last time And when it is judged that it is not appropriate to perform the SOH operation, for example, when it is judged that the result of the SOH operation using the motor angle ⁇ e used for the last two SOH operations contains a lot of noise, the SOH operation is FOH operation Switch to As a result, the probability of the output of the interpolated electrical angle ⁇ s not including the influence of the transient angle change is high.
  • the SOH calculation and the FOH calculation can not be performed clearly, such as a high-speed rotational speed region (for example, 9000 [rpm] or more) where the SOH calculation and the FOH calculation can not be performed clearly. In this case, do not use the interpolation result. As a result, the motor control device 400E can control the motor 100 more safely.
  • a high-speed rotational speed region for example, 9000 [rpm] or more
  • the motor 100 is controlled by the vector control method using space vector driving, but the motor to be controlled by the motor control device is not limited thereto.
  • the motor to be controlled by the motor control device according to the present invention may be, for example, a brushless motor of a sine wave control system.
  • the motor control device according to the present invention does not set the duty command value as the direct interpolation target, but sets the motor angle (electrical angle) ⁇ e as the interpolation target.
  • the motor angle ⁇ e has relatively low noise if the linearity is high, and there is no transitional change other than the angle change to switch from 360 ° to 0 °. Therefore, the calculation of the interpolation electrical angle by SOH calculation and the calculation of the interpolation Duty command value are high Accuracy can be ensured.
  • the motor control device 400E is mounted on the electric power steering device 300E, the aspect of the motor control device is not limited to this.
  • the motor control device according to the present invention is suitably mounted on a motor drive device that requires high torque while low noise is required.
  • the motor control device according to the present invention is preferably mounted on a walking support device that supports muscle power when the wearer walks, a cleaning device that operates indoors, etc., so that the motor vibration or the sound caused by the motor is preferable. To reduce the noise caused by the motor in the audible range.
  • the motor control device 400E estimates the motor angle (interpolated electrical angle) ⁇ s at equal intervals (division intervals) of 50 ⁇ s obtained by dividing the control cycle Tc into 1 ⁇ 5, the motor control device The aspect of is not limited to this.
  • the control cycle Tc may be divided by an arbitrary number of divisions, or may be divided at unequal intervals.
  • the control cycle Tc is 250 ⁇ s (frequency 4 KHz), but the aspect of the motor control device is not limited to this.
  • the motor control device according to the present invention can preferably reduce the sound caused by the motor in the audible range when the control period Tc is 100 ⁇ s or more and 250 ⁇ s or less.
  • the control period is predicted to be shorter than 250 ⁇ s as the performance of the CPU or the like mounted on the motor control device improves or the number of poles of the motor to be controlled increases.
  • the control period Tc is 100 ⁇ s or more and 250 ⁇ s or less, as in the above embodiment, a problem occurs that a sound is generated due to the motor in the audible range.
  • Sounds resulting from vibrations and motors can be suitably suppressed, and sounds resulting from motors in the audible range can be reduced.
  • FIG. 96 is a functional configuration diagram of a general motor control device.
  • the steering torque Th from the torque sensor 10 and the vehicle speed Vs from the vehicle speed sensor 12 are input to a steering assist command value calculation unit 31.
  • the steering assist command value computing unit 31 computes a steering assist command value Iref1 using an assist map or the like based on the steering torque Th and the vehicle speed Vs.
  • the calculated steering assist command value Iref1 is added by the adding unit 32A to the compensation signal CM from the compensating unit 34 for improving the characteristics.
  • the current steering unit 33 limits the maximum value of the added steering assist command value Iref2.
  • the current command value Irefm whose maximum value is limited is input to the subtracting unit 32B and is subtracted from the motor current detection value Im.
  • the current control voltage control command value Vref is input to the PWM control unit 36 together with the modulation signal (triangular wave carrier) CF, and the duty command value is calculated.
  • the PWM signal calculated from the duty command value PWM drives the motor 20 via the inverter 37.
  • the motor current value Im of the motor 20 is detected by the motor current detector 38, and is input to the subtraction unit 32B to be fed back.
  • the compensation unit 34 adds the detected or estimated self aligning torque (SAT) to the inertia compensation value 342 in the addition unit 344 and further adds the convergence control value 341 in the addition result to the addition result, and the addition is performed
  • SAT detected or estimated self aligning torque
  • FIG. 97 shows a functional block diagram in the case of driving and controlling the three-phase brushless motor 100 by the vector control method.
  • the two-axis (dq-axis coordinate system) steering assistance command value computed by the steering assistance command value computing unit (not shown) is computed based on the steering torque Th, the vehicle speed Vs, etc.
  • the d-axis current command value id * and the q-axis current command value iq * are input to the subtraction units 131 d and 131 q, respectively.
  • the current deviations ⁇ id * and ⁇ iq * determined by the subtraction units 131 d and 131 q are input to PI control units 120 d and 120 q, respectively.
  • Voltage command values vd and vq subjected to PI control by PI control units 120d and 120q are input to subtraction unit 141d and addition unit 1421q, respectively, and instruction voltages ⁇ vd and ⁇ vq determined by subtraction unit 141d and addition unit 141q are dq axes. / 3 phase AC conversion unit 150 is input.
  • FIG. 98 is a functional configuration diagram of the PWM control unit 163 and the inverter 161.
  • the voltage control command values Vref_u, Vref_v, and Vref_w converted into three phases by the dq-axis / three-phase AC conversion unit 150 are input to the PWM control unit 163 and are calculated by the PWM signal based on the calculated three-phase Duty command values.
  • Motor 100 is driven via inverter (inverter application voltage VR) 161 configured as a bridge configuration of upper and lower arms as shown in FIG.
  • the upper arm is composed of FETs Q1, Q2 and Q3 as switching elements, and the lower arm is composed of FETs Q4, Q5 and Q6.
  • the FETs Q1 and Q4 are driven in the U phase, the FETs Q2 and Q5 in the V phase, and the FETs Q3 and Q6 in the W phase.
  • the three-phase motor currents iu, iv, iw of the motor 100 are detected by the current detector 162.
  • the detected three-phase motor currents iu, iv, iw are input to the three-phase AC / dq axis converter 130.
  • the two-phase feedback currents id and iq converted by the three-phase alternating current / dq axis conversion unit 130 are subtracted and input to the subtraction units 131 d and 131 q, respectively, and also input to the dq axis non-interference control unit 140.
  • a rotation sensor or the like is attached to the motor 100, and the motor angle ⁇ and the motor rotation speed ⁇ are output from the angle detection unit 110 that processes the sensor signal.
  • the motor angle ⁇ is input to the dq axis / three-phase alternating current conversion unit 150 and the three-phase alternating current / dq axis conversion unit 130, and the motor rotational speed ⁇ is input to the dq axis noninterference control unit 140.
  • the two-phase voltages v nid and v n iq from the dq axis non-interference control unit 140 are input to the subtraction unit 121 d and the addition unit 121 q, and the voltage instruction value ⁇ vd determined by the subtraction unit 121 d and the voltage instruction determined by the addition unit 121 q
  • the value ⁇ vq is input to the dq axis / three-phase AC conversion unit 150.
  • the PWM control unit 163 and the inverter 161 are configured as shown in FIG. 98, and the PWM control unit 163 sets the voltage control command values Vref_u, Vref_v, and Vref_w according to predetermined formulas to three PWM-Duty values D1 to D6 for three phases.
  • a gate driver 160B for driving the gates of FETs Q1 to Q6 as drive elements with PWM-Duty values D1 to D6 and for compensating for dead time and turning ON / OFF. ing.
  • a modulation signal (carrier) CF of a triangular wave is input to the duty calculation unit 160A from the oscillation unit 160C, and the duty calculation unit 160A calculates PWM-Duty values D1 to D6 in synchronization with the modulation signal CF.
  • the inverter 161 is constituted by the three-phase bridge of the FET as described above, and the motor 100 is driven by being turned on / off by the PWM-Duty values D1 to D6, and between the inverter 161 and the motor 100, A motor switch 101 for interrupting the supply of current when the assist control is stopped is interposed.
  • the electric power steering apparatus of such a vector control system assists the driver's steering, and at the same time, the sound, vibration, ripple and the like of the motor are transmitted to the driver as a sense of force via the steering wheel.
  • Power devices for driving the inverter generally use FETs to energize the motor, but in the case of a three-phase motor, FETs connected in series with upper and lower arms in each phase as shown in FIG. 98 Is used.
  • the FETs of the upper and lower arms repeat ON / OFF alternately, but the FET is not an ideal switch, and does not instantaneously turn ON / OFF as instructed by the gate signal, and requires turn-on time and turn-off time.
  • the upper arm FET and the lower arm FET are simultaneously turned ON, which causes a problem of shorting the upper and lower arms.
  • the turn-on time and turn-off time of the FET and when the FET is commanded at the same time, when the ON command is issued to the upper FET and the turn-on time is short (eg 100 ns), the FET turns ON immediately and the lower FET If the turn-off time is long (for example, 400 ns) even if the OFF command is issued, the upper FET is turned ON and the lower FET is turned ON instantaneously (for example, ON for 400 ns-100 ns) -ON) may occur.
  • the ON signal is given to the gate drive unit after a predetermined time called dead time. Since the dead time is non-linear, the current waveform is distorted, the control response performance is degraded, and noise, vibration, and ripple occur.
  • the arrangement of the motor directly connected to the gear box connected by the steering wheel and the steel column shaft is very close to the driver due to its structure, so it is caused by the motor Sound, vibration, ripples, etc. need to be particularly considered as compared with the downstream assist type electric power steering apparatus.
  • FIG. 99 is a functional block diagram of the interpolation of the duty command value by the conventional SOH calculation.
  • This is a method of calculating an interpolated duty value by performing SOH operation on a three-phase duty command value to which a dead time compensation value is not added.
  • dead time compensation with a transient change is not subject to SOH calculation, but SOH calculation is directly performed on the duty command value.
  • noise included in the calculation result may be large, and abnormal noise may occur.
  • a three-phase dead time compensation value calculation unit 201A that calculates u, v, w) is provided.
  • the calculated dead time compensation value DT_n is input to the final Duty operation unit 200A.
  • a current feedback (FB) control unit 203A and a voltage / duty conversion coefficient calculation unit 204 which calculates a conversion coefficient Kc of voltage / duty according to the inverter applied voltage VR.
  • the back electromotive force compensation value EMF_na from the back electromotive force compensation value calculation unit 202 and the voltage control command value Vref_na from the three-phase current feedback control unit 203A are added by the addition unit 205.
  • the signal is input to unit 200 A, interpolation Duty-SOH calculation unit 220 and third harmonic calculation unit 230.
  • the interpolation Duty command value D2n calculated by the interpolation Duty-SOH calculation unit 220 is input to the final Duty calculation unit 200A and the third harmonic calculation unit 230, and the third harmonic calculated by the third harmonic calculation unit 230.
  • the compensation value (for normal use) and the third harmonic compensation value (for interpolation) are input to the final Duty computing unit 200A.
  • Final Duty operation unit 200A 3-phase dead time compensation value DT_n from dq-axis dead time compensation value operation unit 201, 3-phase normal Duty command value D1n from 3-phase Duty clamp / inverter applied voltage sensitive operation unit 210, interpolation duty -The final value calculated by inputting the interpolation duty command value D2 n from the SOH calculation unit 220, the third harmonic compensation value (for normal use) and the third harmonic compensation value (for interpolation) from the third harmonic calculation unit 230
  • the normal duty values Du, Dv, Dw and the final interpolation duty values Dum, Dvm, Dwm are output.
  • FIG. 100 is a functional block diagram of the final Duty computing unit 200A.
  • the dead time compensation value DT_n, the normal Duty command value D1n and the third harmonic compensation value (for normal) are added by the addition unit 201A
  • the dead time compensation value DT_n, the interpolation Duty command value D2n and The third harmonic compensation value (for interpolation) is added by the adding unit 211A.
  • the addition results of the adding units 201A and 211A are input to the adding units 202A and 212A, respectively, and the duty value to which the 50% duty offset is added by the adding units 202A and 212A has a duty output in the range of 0 to 100% (variable And limiters 203A and 213A.
  • the final normal Duty value Dn is output from the limiter 203A
  • the final interpolated Duty value Dnf is output from the limiter 213A.
  • the final normal Duty value Dn and the final interpolation Duty value Dnf output from the final Duty operation unit 200A are input in the PWM control unit 163.
  • the final normal duty value Dn and the final interpolation duty value Dnf are held until the end of the operation of the next control cycle after the end of the operation.
  • the space vector modulation unit 250 sets the Duty command value D1m (Duty_d, Duty_q) for normal operation of the dq axis space from the dq axis Duty clamp / inverter applied voltage sensitive operation unit 210 to a three phase Duty command.
  • Vector modulation is based on voltage command values Vd ** and Vq ** of dq axis space, motor angle ⁇ e and sector number n (# 1 to # 6). , Coordinate conversion as shown below, and control ON / OFF of FET (upper arm Q1, Q3, Q5, lower arm Q2, Q4, Q6) of bridge configuration inverter, sector # 1 to # 6
  • FET upper arm Q1, Q3, Q5, lower arm Q2, Q4, Q6
  • FIG. 101 is a graph showing the relationship between the coordinate axis used for coordinate conversion and the motor angle ⁇ e.
  • voltage command values Vd ** and Vq ** are subjected to coordinate conversion into voltage vectors V ⁇ and V ⁇ in the ⁇ - ⁇ coordinate system based on Expression 54.
  • Duty command values Duty_d and Duty_q and voltage command values Vd ** and Vq ** is expressed by Equation 55 or Equation 56, where the inverter applied voltage is VR.
  • the output voltage of the inverter corresponds to eight discrete reference voltage vectors V0 to V7 (shown in the space vector diagram of FIG. It is defined by non-zero voltage vectors V1 to V6 and zero voltage vectors V0 and V7) which differ in phase by ⁇ / 3 [rad]. Then, the selection of the reference output voltage vectors V0 to V7 and the generation time thereof are controlled. Also, the space vector can be divided into six sectors # 1 to # 6 using six regions sandwiched by adjacent reference output voltage vectors, and the target voltage vector V is divided into sectors # 1 to # 6. It belongs to any one and can be assigned a sector number.
  • FIG. 103 shows digital control based on switching patterns S1, S3 and S5 of the inverter in space vector control, in order to cause the inverter to output the target voltage vector V, switching pulse in ON / OFF signal S1 to S6 (switching pattern) for FET
  • the basic timing chart which determines the width and its timing is shown.
  • space vector modulation an operation or the like is performed within the sampling period Ts every defined sampling period Ts, and the operation result is converted to each switching pulse width and timing in the switching patterns S1 to S6 in the next sampling period Ts. Output.
  • the space vector modulation generates switching patterns S1 to S6 according to the sector number obtained based on the target voltage vector V.
  • Signals S1, S3 and S5 indicate gate signals of the FETs Q1, Q3 and Q5 corresponding to the upper arm.
  • the horizontal axis represents time, and Ts corresponds to a switching period, and is divided into eight periods, and T0 / 4, T1 / 2, T2 / 2, T0 / 4, T0 / 4, T2 / 2, T1 / 2 And T0 / 4. Further, periods T1 and T2 are times depending on the sector number n and the rotation angle ⁇ , respectively.
  • the present invention can be applied to a motor control device mounted on an electric power steering device or the like.
  • Electric Power Steering Device 400 Motor Controller 2 Column Shaft 3 Reduction Gear 10 Torque Sensor 12 Vehicle Speed Sensor 14 Steering Angle Sensor 30 Control Unit (ECU) 31 Current command value calculation unit 39 Motor control unit 100 Motor 160 PWM control unit 160A-1 Duty output setting unit (output setting unit) 160A-2 PWM unit 160B Gate drive unit 161 Inverter 162 Current detector 200 Final Duty operation unit 201 dq axis dead time compensation value operation unit 203 dq axis current feedback control unit 204 Conversion coefficient operation unit 210 dq axis Duty clamp / VR sensitive operation Unit 220 Voltage command value calculation unit 240 Electric angle interpolation unit 243 Motor angle switching determination unit 244 Switching unit 250 Space vector modulation unit (conversion unit)

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)
  • Power Steering Mechanism (AREA)
  • Inverter Devices (AREA)
  • Control Of Ac Motors In General (AREA)
  • Steering Control In Accordance With Driving Conditions (AREA)

Abstract

モータ制御装置は、電流指令値に基づいて3相ブラシレスモータを駆動するインバータのPWM制御を行うモータ制御装置において、前記3相ブラシレスモータから制御周期ごとに取得したモータ電気角およびモータ回転数と、前記電流指令値と、を用いて電圧指令値を算出する電圧指令値演算部と、前記制御周期を分割した分割間隔で、前記モータ電気角から補間電気角を推定する電気角補間部と、前記電圧指令値および前記モータ電気角から三相のDuty指令値を算出し、前記電圧指令値および前記補間電気角から三相の補間Duty指令値を算出する変換部と、前記分割間隔に合わせて前記三相のDuty指令値と前記三相の補間Duty指令値とを切り替えて出力する出力設定部と、を備える。

Description

モータ制御装置、モータ制御方法および電動パワーステアリング装置
 本発明は、モータ制御装置、モータ制御方法および電動パワーステアリング装置に関する。本願は、2017年10月26日に日本国に出願された特願2017-207030号、2018年10月24日に日本国に出願された特願2018-200293、2018年10月24日に日本国に出願された特願2018-200294、2018年10月24日に日本国に出願された特願2018-200295、2018年10月24日に日本国に出願された特願2018-200296に基づき優先権を主張し、その内容をここに援用する。
 車両のステアリング機構において操舵補助力(アシスト力)を付与する電動パワーステアリング装置(EPS)等において、高効率なブラスレシモータが多く使用されている。ブラシレスモータを制御するモータ制御装置は、PWM(Pulse Width Modulation)制御により、ブラシレスモータを駆動するインバータを制御している。近年では、車載製品等のような高い信頼性が要求される製品に搭載するブラシレスモータには、インバータのデッドタイム補償が必須とされている。
 ブラシレスモータをPWM制御するモータ制御装置では、PWM演算を行う周期(例えば250μs)に応じた周波数(例えば4KHz)でブラシレスモータが振動し、その周波数のモータに起因する音を発生させているという問題がある。このモータに起因する音を抑制する最も簡易な方法として、モータの振動する周波数が可聴帯域外(20KHz以上)となるような周期(50μs以下)でPWM演算する方法が挙げられるが、この場合には演算処理量が増大するので、処理能力の高い高価なマイクロコンピュータが必要となり、ECUの部品コストが上昇し、動作周波数が高いために消費電力が増大する、といった問題がある。
 特許文献1に記載の電動パワーステアリング装置は、PWM信号を生成する際に、直前に演算により算出したPWM制御の制御信号(Duty指令値)等を用いて補間Duty指令値を算出し、PWM演算を行う周期の2倍の周期でPWM制御の制御信号を変動させる。マイクロコンピュータの演算処理量の増加は軽微でありながら、ブラシレスモータの振動やモータに起因する音を抑制することができる。
特許第4946075号公報
 しかしながら、特許文献1に記載の電動パワーステアリング装置は、Duty指令値を用いて補間Duty指令値を算出している。電流制御の応答性や電流検出精度によってはDuty指令値が過渡的に変動するため、補間Duty指令値は大きなノイズを含む値となる場合があった。補間Duty指令値に大きなノイズが含まれると、特に高速操舵時において異音が発生する問題があった。
 また、特許文献1にはロータの回転角度を使用して補間Duty指令値を算出する手法も記載されている。補間Duty指令値の算出にはロータの回転角度を微分して算出した角速度が用いられている。しかしながら、ロータの回転角度に対して微分演算を行うのみではノイズ成分の除去が十分でなく、補間Duty指令値は大きなノイズを含む値となる場合があった。
 また、モータ制御装置においてインバータのデッドタイム補償を行う場合、過渡的な応答を含むデッドタイム補償値のノイズの影響を受けずに補間Duty指令値を算出することが望まれている。
 上記事情を踏まえ、本発明は、ノイズが少ない補間Duty指令値を算出し、ブラシレスモータの振動やモータに起因する音を好適に抑制することができるモータ制御装置、モータ制御方法および当該モータ制御装置を搭載した電動パワーステアリング装置を提供することを目的とする。
 上記課題を解決するために、この発明は以下の手段を提案している。
 本発明の第一の態様に係るモータ制御装置は、電流指令値に基づいて3相ブラシレスモータを駆動するインバータのPWM制御を行うモータ制御装置において、前記3相ブラシレスモータから制御周期ごとに取得したモータ電気角およびモータ回転数と、前記電流指令値と、を用いて電圧指令値を算出する電圧指令値演算部と、前記制御周期を分割した分割間隔で、前記モータ電気角から補間電気角を推定する電気角補間部と、前記電圧指令値および前記モータ電気角から三相のDuty指令値を算出し、前記電圧指令値および前記補間電気角から三相の補間Duty指令値を算出する変換部と、前記分割間隔に合わせて前記三相のDuty指令値と前記三相の補間Duty指令値とを切り替えて出力する出力設定部と、を備える。
 本発明の第二の態様によれば、第一の態様に係るモータ制御装置において、前記電気角補間部は、2次関数補間演算と1次関数補間演算とのいずれかを用いて前記補間電気角を推定してもよい。
 本発明の第三の態様によれば、第二の態様に係るモータ制御装置において、前記電気角補間部は、前記モータ回転数が所定の第一回転数より低い場合に、2次関数補間演算を用いて前記補間電気角を推定し、前記モータ回転数が前記第一回転数以上の場合に、2次関数補間演算を1次関数補間演算に切り替えてもよい。
 本発明の第四の態様によれば、第三の態様に係るモータ制御装置において、前記電気角補間部は、前記モータ回転数が前記第一回転数より高い所定の第二回転数より高い場合に、前記モータ電気角を前記補間電気角として出力してもよい。
 本発明の第五の態様によれば、第一から第四のいずれかの態様に係るモータ制御装置において、前記制御周期が100μs以上、250μs以下であってもよい。
 本発明の第六の態様によれば、第一から第五のいずれかの態様に係るモータ制御装置において、前記3相ブラシレスモータはベクトル駆動方式で制御され、前記変換部は、空間ベクトル変調を行ってもよい。
 本発明の第七の態様に係るモータ制御方法は、電流指令値に基づいてインバータがPWM制御される3相ブラシレスモータのモータ制御方法であって、前記3相ブラシレスモータから制御周期ごとに取得したモータ電気角およびモータ回転数と、前記電流指令値と、を用いて電圧指令値を算出する電圧指令値演算工程と、前記制御周期を分割した分割間隔で、前記モータ電気角から補間電気角を推定する電気角補間工程と、前記電圧指令値および前記モータ電気角から三相のDuty指令値を算出し、前記電圧指令値および前記補間電気角から三相の補間Duty指令値を算出する変換工程と、前記分割間隔に合わせて前記三相のDuty指令値と前記三相の補間Duty指令値とを切り替えて出力する出力設定工程と、を備える。
 本発明の第八の態様によれば、第七の態様に係るモータ制御方法において、前記電気角補間工程は、2次関数補間演算と1次関数補間演算と切り替えて前記補間電気角を推定してもよい。
 本発明の第九の態様によれば、第八の態様に係るモータ制御方法において、前記電気角補間工程は、前記モータ回転数が所定の第一回転数より低い場合に、2次関数補間演算を用いて前記補間電気角を推定し、前記モータ回転数が前記第一回転数以上の場合に、2次関数補間演算を1次関数補間演算に切り替えてもよい。
 本発明の第十の態様によれば、第九の態様に係るモータ制御方法において、前記電気角補間工程は、前記モータ回転数が前記第一回転数より高い所定の第二回転数より高い場合に、前記モータ電気角を前記補間電気角として出力してもよい。
 本発明の第十一の態様に係る電動パワーステアリング装置は、少なくとも操舵トルクに基づいて演算されたdq軸電流指令値を3相Duty指令値に変換し、前記3相Duty指令値に基づき、インバータのPWM制御により3相ブラシレスモータを駆動制御するとともに、前記インバータのデッドタイムを補償する機能を備え、車両の操舵機構にアシストトルクを付与するベクトル制御方式の電動パワーステアリング装置であって、前記dq軸電流指令値、モータ角度及びモータ回転数に基づいて算出されたdq軸Duty指令値を、前記モータ角度に応じて3相に変換して3次高調波を重畳し、3相の正規Duty指令値を出力する第1の空間ベクトル変調部と、前記モータ角度に基づいて補間演算して補間Duty演算用モータ角度を出力する電気角補間部と、前記dq軸Duty指令値を、前記補間Duty演算用モータ角度に応じて3相に変換して3次高調波を重畳し、3相の補間Duty指令値を出力する第2の空間ベクトル変調部と、前記正規Duty指令値及び前記補間Duty指令値に基づいて最終正規Duty値及び最終補間Duty値を出力する最終Duty演算部と、を備える。
 本発明の第十二の態様によれば、第十一の態様に係る電動パワーステアリング装置において、前記電気角補間部が、前記モータ角度が所定範囲に属するかを判定して切替フラグを出力するモータ角度切替判定部と、前記モータ角度を補間演算する演算処理部と、所定角度でオフセット処理を実施した前記モータ角度を補間演算し、前記補間演算を実施した前記所定角度に対してオフセット戻し処理を実施するオフセット付き演算処理部と、前記演算処理部からの第1の補間用モータ角度及び前記オフセット付き演算処理部からの第2の補間用モータ角度を入力し、前記切替フラグによって切替えられて前記補間Duty演算用モータ角度を出力する切替部と、を有してもよい。
 本発明の第十三の態様によれば、第十一または十二の態様に係る電動パワーステアリング装置において、前記補間演算は、2次関数補間演算もしくは1次関数補間演算であってもよい。
 本発明の第十四の態様によれば、第十一から十三のいずれかの態様に係る電動パワーステアリング装置において、前記演算処理部が第1のロールオーバ処理部を備え、前記オフセット付き演算処理部が、前記オフセット処理の後に第2のロールオーバ処理部を備え、前記オフセット戻し処理の後に第3のロールオーバ処理部を備えてもよい。
 本発明の第十五の態様によれば、第十二から十四のいずれかの態様に係る電動パワーステアリング装置において、前記所定範囲が、90°以上、270°以下の範囲であ
 
 本発明の第十六の態様によれば、第十二から十五のいずれかの態様に係る電動パワーステアリング装置において、前記所定角度が180°であってもよい。
 本発明のモータ制御装置、モータ制御方法および当該モータ制御装置を搭載した電動パワーステアリング装置によれば、ノイズが少ない補間Duty指令値を算出し、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
第一実施形態に係るモータ制御装置を搭載する電動パワーステアリング装置の構成を示す模式図である。 同電動パワーステアリング装置のコントロールユニットによって構成されるモータ制御装置の機能構成図である。 同モータ制御装置のPWM制御部およびインバータの構成図である。 同モータ制御装置のモータ制御部の機能構成図である。 同モータ制御部の電気角補間部の構成図である。 同電気角補間部がSOH演算により算出した補間電気角を示すグラフである。 同電気角補間部のSOH演算部の機能構成図である。 同電気角補間部の制御フローチャートを示す。 同電気角補間部の波形を示すグラフである。 同モータ制御部の空間ベクトル変調部の機能構成図である。 同モータ制御部の最終Duty演算部の機能構成図である。 同モータ制御部のDuty出力設定部の機能構成図である。 最終正規Duty指令値及び最終補間Duty指令値の出力タイミングを示している。 補間電気角を推定したシミュレーション結果を示すグラフである。 第二実施形態に係るモータ制御装置を搭載する電動パワーステアリング装置の構成を示す模式図である。 同電動パワーステアリング装置のコントロールユニットによって構成されるモータ制御装置の機能構成図である。 同モータ制御装置のPWM制御部およびインバータの構成図である。 同モータ制御装置のモータ制御部の機能構成図である。 同モータ制御部の電気角補間部の構成図である。 同電気角補間部がSOH演算により算出した補間電気角1を示すグラフである。 同電気角補間部がSOH演算により算出した補間電気角2を示すグラフである。 同電気角補間部がSOH演算により算出した補間電気角3を示すグラフである。 同電気角補間部がSOH演算により算出した補間電気角4を示すグラフである。 同電気角補間部のSOH演算部の機能構成図である。 同電気角補間部の制御フローチャートを示す。 同電気角補間部の波形を示すグラフである。 同モータ制御部の空間ベクトル変調部の機能構成図である。 同モータ制御部の最終Duty演算部の機能構成図である。 同モータ制御部のDuty出力設定部の機能構成図である。 補間電気角1を推定したシミュレーション結果を示すグラフである。 補間電気角2を推定したシミュレーション結果を示すグラフである。 補間電気角3を推定したシミュレーション結果を示すグラフである。 補間電気角4を推定したシミュレーション結果を示すグラフである。 推定した補間電気角1を使用して演算したDuty指令値のシミュレーション結果を示すグラフである。 推定した補間電気角2を使用して演算したDuty指令値のシミュレーション結果を示すグラフである。 推定した補間電気角3を使用して演算したDuty指令値のシミュレーション結果を示すグラフである。 推定した補間電気角4を使用して演算したDuty指令値のシミュレーション結果を示すグラフである。 第三実施形態に係るモータ制御装置を搭載する電動パワーステアリング装置の構成を示す模式図である。 同電動パワーステアリング装置のコントロールユニットによって構成されるモータ制御装置の機能構成図である。 同モータ制御装置のPWM制御部およびインバータの構成図である。 同モータ制御装置のモータ制御部の機能構成図である。 同モータ制御部の電気角補間部の構成図である。 同電気角補間部がFOH演算により算出した補間電気角を示すグラフである。 同電気角補間部のFOH演算部の機能構成図である。 同電気角補間部の制御フローチャートを示す。 同電気角補間部の波形を示すグラフである。 同モータ制御部の空間ベクトル変調部の機能構成図である。 同モータ制御部の最終Duty演算部の機能構成図である。 同モータ制御部のDuty出力設定部の機能構成図である。 補間電気角を推定したシミュレーション結果を示すグラフである。 補間電気角を推定したシミュレーション結果を示すグラフである。 推定した補間電気角を使用して演算したDuty指令値のシミュレーション結果を示すグラフである。 推定した補間電気角を使用して演算したDuty指令値のシミュレーション結果を示すグラフである。 第四実施形態に係るモータ制御装置を搭載する電動パワーステアリング装置の構成を示す模式図である。 同電動パワーステアリング装置のコントロールユニットによって構成されるモータ制御装置の機能構成図である。 同モータ制御装置のPWM制御部およびインバータの構成図である。 同モータ制御装置のモータ制御部の機能構成図である。 同モータ制御部の電気角補間部の構成図である。 同電気角補間部がFOH演算により算出した補間電気角1を示すグラフである。 同電気角補間部がFOH演算により算出した補間電気角2を示すグラフである。 同電気角補間部がFOH演算により算出した補間電気角3を示すグラフである。 同電気角補間部がFOH演算により算出した補間電気角4を示すグラフである。 同電気角補間部のFOH演算部の機能構成図である。 同電気角補間部の制御フローチャートを示す。 同電気角補間部の波形を示すグラフである。 同モータ制御部の空間ベクトル変調部の機能構成図である。 同モータ制御部の最終Duty演算部の機能構成図である。 同モータ制御部のDuty出力設定部の機能構成図である。 補間電気角1を推定したシミュレーション結果を示すグラフである。 補間電気角2を推定したシミュレーション結果を示すグラフである。 補間電気角3を推定したシミュレーション結果を示すグラフである。 補間電気角4を推定したシミュレーション結果を示すグラフである。 推定した補間電気角1を使用して演算したDuty指令値のシミュレーション結果を示すグラフである。 推定した補間電気角2を使用して演算したDuty指令値のシミュレーション結果を示すグラフである。 推定した補間電気角3を使用して演算したDuty指令値のシミュレーション結果を示すグラフである。 推定した補間電気角4を使用して演算したDuty指令値のシミュレーション結果を示すグラフである。 第五実施形態に係るモータ制御装置を搭載する電動パワーステアリング装置の構成を示す模式図である。 同電動パワーステアリング装置のコントロールユニットによって構成されるモータ制御装置の機能構成図である。 同モータ制御装置のPWM制御部およびインバータの構成図である。 同モータ制御装置のモータ制御部の機能構成図である。 同モータ制御部の電気角補間部の構成図である。 同電気角補間部が算出した補間電気角1を示すグラフである。 同電気角補間部が算出した補間電気角2を示すグラフである。 同電気角補間部が算出した補間電気角3を示すグラフである。 同電気角補間部が算出した補間電気角4を示すグラフである。 同電気角補間部のSOH演算部の機能構成図である。 同電気角補間部のFOH演算部の機能構成図である。 同電気角補間部の補間演算切替判定部の機能構成図である。 同補間演算切替判定部の補間演算判定部および補間判定部のフラグ生成のグラフである。 同補間演算切替判定部の補間演算判定部および補間判定部のフラグ生成のグラフである。 同電気角補間部の制御フローチャートを示す。 同電気角補間部の波形を示すグラフである。 同モータ制御部の空間ベクトル変調部の機能構成図である。 同モータ制御部の最終Duty演算部の機能構成図である。 同モータ制御部のDuty出力設定部の機能構成図である。 一般的なモータ制御装置の機能構成図である。 ベクトル制御方式で3相ブラシレスモータを駆動制御する場合の機能構成図である。 PWM制御部及びインバータの機能構成図である。 従来のSOH演算によるDuty指令値の補間の機能構成図である。 最終Duty演算部の機能構成図である。 座標変換に用いる座標軸及びモータ角度の関係を示すグラフである。 空間ベクトル変調部の動作例を示す線図である。 空間ベクトル変調部の動作例を示すタイミングチャートである。
(第一実施形態)
 本発明の第一実施形態について、図1から図14を参照して説明する。
 図1は、本実施形態に係るモータ制御装置400を搭載する電動パワーステアリング装置300の構成を示す模式図である。電動パワーステアリング装置300は、コラム部(ステアリングシャフト)に電動モータと減速機構とが配置されるコラムアシスト式電動パワーステアリング装置である。
[電動パワーステアリング装置300]
 電動パワーステアリング装置300は、ハンドル1のコラム軸(ステアリングシャフト、ハンドル軸)2、減速ギア3、ユニバーサルジョイント4a,4b、ピニオンラック機構5、タイロッド6a,6bを経て、更にハブユニット7a,7bを介して操向車輪8L,8Rに連結されている。また、コラム軸2には、ハンドル1の舵角θeを検出する舵角センサ14と、ハンドル1の操舵トルクThを検出するトルクセンサ10とが設けられており、ハンドル1の操舵力を補助するモータ100が減速ギア3を介してコラム軸2に連結されている。電動パワーステアリング装置300を制御するコントロールユニット(ECU)30には、バッテリ13から電力が供給されると共に、イグニションキー11を経てイグニションキー信号が入力される。
 コントロールユニット30は、トルクセンサ10で検出された操舵トルクThと車速センサ12で検出された車速Vsとに基づいてアシスト(操舵補助)指令の電流指令値の演算を行い、演算された電流指令値に補償等を施した電圧制御指令値Vrefによってモータ100を制御する。舵角センサ14は必須のものではなく、配設されていなくても良く、モータ100に連結されたレゾルバ等の回転センサから舵角(モータ角度)θeを得ることもできる。
 コントロールユニット30は、主としてCPU(Central Processing Unit)(MPU(Micro Processor Unit)やMCU(Micro Controller Unit)等を含む)を含むプログラム実行可能なコンピュータを備えている。
 コントロールユニット30は、モータ100を駆動するインバータ161や、モータ100の電流を検出するモータ電流検出回路162や、モータ100のモータ角度θeを検出する角度検出部110Aなどの回路を備えている。なお、これらの回路は、モータ100側に搭載されていてもよい。
 コントロールユニット30には、車両の各種情報を授受するCAN(Controller Area Network)40が接続されており、車速VsはCAN40から受信することも可能である。また、コントロールユニット30には、CAN40以外の通信、アナログ/ディジタル信号、電波等を授受する非CAN41も接続可能である。
 モータ100は、近年、電動パワーステアリング装置300のアクチュエータとして主流である3相ブラシレスモータである。モータ100は、空間ベクトル駆動を用いたベクトル制御方式により制御される。空間ベクトル駆動を用いたベクトル制御方式は、モータ100のロータの座標軸であるトルクを制御するq軸と、磁界の強さを制御するd軸とを独立に設定し、dq軸が90°の関係にあることから、そのベクトルで各軸に相当する電流(d軸電流指令値Iref_d,q軸電流指令値Iref_q)を制御する。
[モータ制御装置400]
 図2は、コントロールユニット30によって構成されるモータ制御装置400の機能構成図である。モータ制御装置400の機能は、CPU等において実行されるプログラムと、インバータ等の電子回路とを適宜組み合わせて実現される。以降の説明において電子回路として記載された機能が、CPU等において実行されるプログラムとして実現されていてもよい。
 モータ制御装置400は、モータ100の駆動制御を行う。モータ制御装置400は、電流指令値演算部31と、モータ制御部39と、PWM制御部160と、インバータ161と、モータ電流検出回路162と、モータ角度検出部110Aと、角速度演算部110Bと、3相交流/dq軸変換部130と、を備える。
 電流指令値演算部31は、操舵トルクThと車速Vs等に基づきアシストマップ等を用いて演算された2軸(dq軸座標系)のdq軸電流指令値Iref_m(m=d,q)を、モータ制御部39に出力する。
 モータ制御部39は、入力されるdq軸電流指令値Iref_m(m=d,q)、モータ角度θeおよびモータ回転数N等から、デッドタイム補償を施した電圧制御指令値Vref_mb(m=d,q)を算出する。また、モータ制御部39は、電圧制御指令値Vref_mb(m=d,q)等から、空間ベクトル変調により3相のDuty指令値Du_o,Dv_o,Dw_oを算出して、PWM制御部160に出力する。
 図3は、PWM制御部160およびインバータ161の構成図である。
 インバータ161は、図3に示すように、FETの3相ブリッジで構成されており、PWM-Duty値D1~D6でON/OFFされることによってモータ100を駆動する。インバータ161とモータ100との間には、アシスト制御停止時等に電流の供給を遮断するためのモータスイッチ101が介挿されている。上側アームはスイッチング素子としてのFETQ1,Q2,Q3で構成され、下側アームはFETQ4,Q5,Q6で構成されている。また、FETQ1およびQ4がU相、FETQ2およびQ5がV相、FETQ3およびQ6がW相の駆動素子である。
 PWM制御部160は、図3に示すように、入力された3相のDuty指令値Du_o,Dv_o,Dw_oに基づき、図3に示すような上下アームのブリッジ構成で成るインバータ(インバータ印加電圧VR)161を介してモータ100を駆動制御する。PWM制御部160は、図3に示すように、PWM部160A-2と、ゲート駆動部160Bとを有する。
 PWM部160A-2は、図3に示すように、3相のDuty指令値Du_o,Dv_o,Dw_oをそれぞれ所定式に従って3相分PWM―Duty値D1~D6を算出する。PWM部160A-2には、発振部160Cから例えば三角波の変調信号(キャリア)CFが入力されており、PWM部160A-2は変調信号CFに同期してPWM―Duty値D1~D6を算出する。
 ゲート駆動部160Bは、図3に示すように、PWM―Duty値D1~D6を出力して駆動素子であるFETQ1~Q6のゲートを駆動する。
 電動パワーステアリング装置300は車載製品であるため、稼動温度範囲が広く、フェールセーフの観点からモータ100を駆動するインバータ161は家電製品を代表とする一般産業用と比較して、デッドタイムを大きく(産業用機器<EPS)する必要がある。一般にスイッチング素子(例えばFET(Field-Effect Transistor))にはOFFの際に遅れ時間があるため、上下アームのスイッチング素子のOFF/ON切替えを同時に行うと、直流リンクが短絡する状況が発生する場合がある。この状況の発生を防ぐため、上下アーム両方のスイッチング素子がOFFになる時間(デッドタイム)が設けられる。
 上記のようなデッドタイム補償を行った場合、電流波形が歪み、電流制御の応答性や操舵感が悪化し、例えばハンドルがオンセンター付近にある状態でゆっくり操舵すると、トルクリップル等による不連続な操舵感などが生じる場合がある。
 電流検出器162は、図2に示すように、モータ100の3相モータ電流Iu,Iv,Iwを検出する。検出された3相モータ電流Iu,Iv,Iwは、3相交流/dq軸変換部130に入力され、2相のフィードバックdq軸電流Id,Iqに変換される。2相のフィードバックdq軸電流Id,Iqは、モータ制御部39に入力される。
 モータ角度検出部110Aは、モータ100のモータ角度θeを、必要がある場合は演算を行い、取得する。モータ角度θeは、角速度演算部110B、モータ制御部39および3相交流/dq軸変換部130に入力される。
 角速度演算部110Bは、モータ角度θeからモータ回転数Nおよびモータ角速度ωを演算により取得する。モータ回転数Nおよびモータ角速度ωは、モータ制御部39に入力される。
[モータ制御部39]
 図4は、モータ制御部39の機能構成図である。
 モータ制御部39は、電圧指令値演算部220と、電気角補間部240と、空間ベクトル変調部250と、最終Duty演算部200と、Duty出力設定部160A-1と、を備えている。
 電圧指令値演算部220は、dq軸デッドタイム補償値演算部201と、dq軸電流フィードバック制御部203と、電圧/Duty変換係数演算部204と、加算部205と、dq軸Dutyクランプ/VR感応演算部210と、を備えている。
 電圧指令値演算部220は、モータ100から制御周期Tcごとに取得したモータ電気角θeおよびモータ回転数θeと電流指令値Iref_m(m=d,q)などを用いて電圧指令値を算出する(電圧指令値演算工程)。
 dq軸デッドタイム補償値演算部201は、入力されるモータ回転数N、モータ角度(電気角)θe、dq軸電流指令値Iref_m(m=d,q)から算出したdq軸デッドタイム補償値DT_m(m=d,q)を加算部205に出力する。
 dq軸電流フィードバック制御部203は、入力されるモータ角速度ω、dq軸電流指令値Iref_m(m=d,q)、2相のフィードバックdq軸電流Im(m=d,q)(Id,Iq)から算出した電圧制御指令値Vref_ma(m=d,q)を加算部205に出力する。
 電圧/Duty変換係数演算部204は、インバータ印加電圧VRに応じて電圧/Dutyの変換係数Kcを算出する。
 加算部205は、dq軸デッドタイム補償値DT_m(m=d,q)と、電圧制御指令値Vref_ma(m=d,q)とを加算した電圧制御指令値Vref_mb(m=d,q)を、3相Dutyクランプ/VR感応演算部210に出力する。
 dq軸Dutyクランプ/VR(インバータ印加電圧)感応演算部210は、電圧制御指令値Vref_mb(m=d,q)と、電圧/Duty変換の変換係数Kcとを乗算して算出したdq軸正規用のDuty指令値D1m(m=d,q)(Duty_d,Duty_q)を、空間ベクトル変調部250に入力する。
[電気角補間部240]
 図5は、電気角補間部240の構成図である。
 電気角補間部240は、入力されたモータ角度θeから、補間Duty演算用のモータ角度(補間電気角)θsを算出して、空間ベクトル変調部250に出力する(電気角補間工程)。
 電気角補間部240は、制御周期250μs(Tc)で検出されたモータ角度θeに対する2次関数補間演算(Second Order Hold演算:以下では、2次関数補間演算のことを単に「SOH演算」とする場合もある。)により、制御周期TcからTc/2経過後のモータ角度(補間電気角)θsを推定し、推定されたモータ角度(補間電気角)θsに基づいて補間Duty指令値を算出する。
 電気角補間部240が行うdq軸電流制御では、空間ベクトル変調後のDuty指令値を補間対象としない。空間ベクトル変調後のDuty指令値には、過渡変化のあるデッドタイム補償値や空間ベクトル変調による3次高周波の歪み成分等に起因するノイズ成分が含まれ、Duty指令値を直接補間して算出した補間Duty指令値には、大きなノイズを含む値となる場合があるためである。
 電気角補間部240は、図5に示すように、モータ角度θeを入力して直接的にSOH演算を行う演算処理部241(SOH演算部241-1およびロールオーバ処理部241-2)と、モータ角度θeを入力してオフセット処理等を行い、SOH演算を行うオフセット付き演算処理部242と、モータ角度θeが90°より大きく、270°以下である範囲とそれ以外の範囲のいずれに属するかを判定して切替フラグSFを出力するモータ角度切替判定部243と、切替フラグSFによって接点a,bを切替えて補間Duty演算用のモータ角度(補間電気角)θsを出力する切替部244と、を備えている。
 図6は、制御周期TcからTc/2経過後において、SOH演算により算出した補間電気角を示している。以前に検出したモータ電気角θeを用いて補間電気角θsを算出することで、電気角の変化を滑らかにすることができる。
 図6(A)に示すように円弧状の理想モータ角度波形に対して、250μs毎のサンプリング波形は当然250μsの階段波形となるが、図6(B)に示すように、SOH演算によって125μs後のモータ角度を推定することにより、サンプリング周期を2倍相当にすることができる。
 SOH演算に用いられる関数y[k]は、式1で表される。y[k]は制御周期数kにおけるモータ角度(電気角)を表す関数である。
Figure JPOXMLDOC01-appb-M000001
 係数a,b,cを用いて、前々回値y[-2]、前回値y[-1]、今回値y[0]で表すと式2が成立する。
Figure JPOXMLDOC01-appb-M000002
 以上の数式を整理してa,b,cは、y[0],y[-1],y[-2]を用いて式3のように表される。
Figure JPOXMLDOC01-appb-M000003
 式3を式1に代入すると、式4となる。
Figure JPOXMLDOC01-appb-M000004
 補間電気角θs1は、制御周期TcからTc/2経過後の電気角であるから、式4にk=0.5を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000005
 図7は、SOH演算部241-1(242-4)の機能構成図である。
 SOH演算部241-1は、モータ角度θeの前回値の保持ユニット245-1および保持ユニット245-2と、係数部B0(245-3)と、係数部B1(245-4)と、係数部B2(245-5)と、加算部245-6と、加算部245-7と、を有している。
 モータ角度θeは、係数部B0(245-3)および保持ユニット245-1に入力され、保持ユニット245-1の保持値は係数部B1(245-4)および保持ユニット245-2に入力される。保持ユニット245-2の保持値は係数部B2(245-5)に入力され、係数部B0(245-3)、係数部B1(245-4)および係数部B2(245-5)の各出力値が、加算部245-7および加算部245-6で加算されて、補間電気角θsとして出力される。
 補間電気角θsを算出する際の係数B0,B1,B2は、式5により、図7に示すように算出される。
 電気角補間部240内の演算処理部241は、図5に示すように、モータ角度θeを入力してSOH演算を行うSOH演算部241-1と、SOH演算部241-1から出力されるモータ角度θe1をロールオーバ処理(波形処理)するロールオーバ処理部241-2と、を備えている。ロールオーバ処理部241-2でロールオーバ処理されたモータ角度(第1の補間用モータ角度)θe2は、切替部244の接点aに入力される。
 オフセット付き演算処理部242は、図5に示すように、モータ角度θeが入力されて固定部242-1から入力される係数180°によるオフセット処理を行う加算部242-2と、加算部242-2から入力されるモータ角度θe3をロールオーバ処理(波形処理)するロールオーバ処理部242-3と、ロールオーバ処理部242-3から入力されるモータ角度θe4を補正するSOH演算部242-4と、SOH演算部242-4からモータ角度θe5が入力されて固定部242-5から入力される係数180°によるオフセット戻し処理を行う減算部242-6と、減算部242-6から入力されるモータ角度θe6をロールオーバ処理(波形処理)するロールオーバ処理部242-7と、を備えている。ロールオーバ処理部242-7でロールオーバ処理されたモータ角度(第2の補間用モータ角度)θe7は、切替部244の接点bに入力される。
 演算処理部241のロールオーバ処理部241-2からのモータ角度θe2は切替部244の接点aに入力されており、オフセット付き演算処理部242のロールオーバ処理部242-7からのモータ角度θe7は切替部244の接点bに入力されている。そして、切替部244の接点a及びbは、モータ角度切替判定部243からの切替フラグSF(「H」、「L」)によって切替えられ、切替部244から補間Duty演算用のモータ角度(補間電気角)θsが出力される。
 モータ角度(電気角)θeは、現在のモータ角度から次のモータ角度に移る際において360°を超えた場合、0°に戻る。このとき過渡的な角度変動が発生するため、現在のモータ角度を用いてSOH演算を行うと正確な補間演算結果にならない場合がある。この問題を回避するため、電気角補間部240は、入力電気角のモータ角度θeに応じて演算出力(補間Duty演算用のモータ角度θs)を切替える。
 モータ角度θeが90°<θe≦270°の範囲では、モータ角度θeに過渡的な角度変動がない。そのため、電気角補間部240は、入力されるモータ角度θeに対してSOH演算を行う。
 一方、モータ角度θeが0°≦θe≦90°または270°<θe≦360°の範囲では、モータ角度θeに過渡的な角度変動がある。そのため、電気角補間部240は、モータ角度θeを180°オフセット処理し、連続的な角度信号にしてからSOH演算を行い、SOH演算後の補間演算結果に対して180°オフセット戻し処理を行う。
 モータ角度切替判定部243は、入力モータ角度θeから切替フラグSF(90°<θe≦270°のとき「H」、0°≦θe≦90°または270°<θe≦360°のとき「L」)を生成する。
 切替部244は、切替フラグSFに基づいて、SOH演算後の補間Duty演算用のモータ角度(補間電気角)θsを選択して出力する。
 すなわち、切替部244は、90°<θe≦270°のとき、式6のように制御され、モータ角度θe2を補間Duty演算用のモータ角度θsとして出力する。
Figure JPOXMLDOC01-appb-M000006
 また、切替部244は、0°≦θe≦90°または270°<θe≦360°のとき、式7のように制御され、モータ角度θe7を補間Duty演算用のモータ角度θsとして出力する。
Figure JPOXMLDOC01-appb-M000007
 図8は、電気角補間部240の制御フローチャートを示す。
 電気角補間部240にモータ角度(電気角)θeが入力される(ステップS1)。
 演算処理部241のSOH演算部241-1は、SOH演算を行う(ステップS10)。モータ角度θeは、次のSOH演算において前回値として使用するため、保持ユニット245-1に入力される。また、保持ユニット245-1に入力されていた前回値は、次のSOH演算において前々回値として使用するため、保持ユニット245-2に入力される。
 ロールオーバ処理部241-2は、SOH演算されたモータ角度θe1をロールオーバ処理してモータ角度θe2を出力する(ステップS11)。
 オフセット付き演算処理部242は、加算部242-2が固定部242-1から入力される係数180°を用いてモータ角度(電気角)θeをオフセット処理する(ステップS20)。
 ロールオーバ処理部242-3は、オフセット処理されたモータ角度θe3をロールオーバ処理してモータ角度θe4を出力する(ステップS21)。
 SOH演算部242-4は、入力されたモータ角度θe4に対してSOH演算を行う(ステップS22)。モータ角度θeは、次のSOH演算において前回値として使用するため、保持ユニット245-1に入力される。また、保持ユニット245-1に入力されていた前回値は、次のSOH演算において前々回値として使用するため、保持ユニット245-2に入力される。
 SOH演算されたモータ角度θe5は減算部242-6に入力され、固定部242-5から入力される係数180°でオフセット戻し処理が行われる(ステップS23)。
 オフセット戻し処理されたモータ角度θe6は、ロールオーバ処理部242-7でロールオーバ処理されてモータ角度θe7が出力される(ステップS24)。
 モータ角度切替判定部243は、モータ角度θeが90°より大きく、270°以下であることを判定する(ステップS2)。
 この条件に当てはまる場合(YESの場合)、モータ角度切替判定部243は、切替フラグSFを「H」にする。
 上記条件に当てはまらない場合(NOの場合)、モータ角度θeは0°以上で90°以下、または270°より大きく360°以下であり、モータ角度切替判定部243は、切替フラグSFを「L」にする(ステップS3)。
 モータ角度切替判定部243から入力された切替フラグSFが「H」の場合、切替部244は、θe2を選択し、補間Duty演算用のモータ角度(補間電気角)θsとして出力する。モータ角度切替判定部243から入力された切替フラグSFが「L」の場合、切替部244は、θe7を選択し、補間Duty演算用のモータ角度(補間電気角)θsとして出力する(ステップS4およびステップ5)。
 図9は、電気角補間部240の各部波形を示しており、横軸は時間[sec]であり、縦軸はMPU等で処理する内部値で、64[dec]/1[deg]である。なお、23040[dec]=360[deg]である。
 図9(A)は演算処理部241から出力されるモータ角度θe2の波形例であり、図9(B)はオフセット付き演算処理部242から出力されるモータ角度θe7の波形例である。また、図9(C)は切替フラグSFの「H」、「L」の切替のタイミングを示しており、図9(D)は切替部244から出力される補間Duty演算用のモータ角度(補間電気角)θsの波形例を示している。
 図9(D)に示すように、電気角補間部240の出力するモータ角度(補間電気角)θsは、図9(A)に示す波形と比較して、モータ角度θsが360°を超えて0°に戻る際において、過渡的な角度変動がない。モータ角度θeはリニアリティが高ければ比較的ノイズが少なく、360°から0°に切替える角度変化以外に過渡的な変化がないため、SOH演算による補間電気角の算出において高い精度を確保することができる。
[空間ベクトル変調部250]
 図10は、空間ベクトル変調部250の機能構成図である。
 空間ベクトル変調部(変換部)250は、電圧の次元からDutyの次元に変換してから空間ベクトル変換演算を行う(変換工程)。空間ベクトル変調部250は、dq軸空間の正規演算用のDuty指令値D1m(m=d,q)(Duty_d,Duty_q)を3相Duty指令値(Duty_ua,Duty_va,Duty_wa)に変換して、3次高調波を重畳し、3相のDuty指令値Duty_u,Duty_v,Duty_wを出力する機能を有していれば良く、例えば本出願人による特開2017-70066号公報や国際公開第2017/098840号等で提案している空間ベクトル変調の手法を用いても良い。
 空間ベクトル変調部250は、モータ角度(電気角)θeを用いて上記の空間ベクトル変換演算を行う空間ベクトル変調部250-0と、補間電気角θsを用いて空間ベクトル変換演算を行う空間ベクトル変調部250-1を有する。
 空間ベクトル変調部(第1の空間ベクトル変調部)250-0は、モータ角度(電気角)θeを用いて空間ベクトル変換演算を行い、3相のDuty指令値Duty_n(n=u,v,w)(Duty_u,Duty_v,Duty_w)を出力する。
 空間ベクトル変調部(第2の空間ベクトル変調部)250-1は、補間電気角θsを用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_n_m1(n=u,v,w)(Duty_u_m1,Duty_v_m1,Duty_w_m1)を出力する。
[最終Duty演算部200]
 図11は、最終Duty演算部200の機能構成図である。
 最終Duty演算部200は、空間ベクトル変調部250からの正規Duty指令値Duty_n(n=u,v,w)が加算部221に入力される。加算部221でDuty50%のオフセットを加算されたDuty値は、Duty出力を0~100%の範囲(可変)で制限するリミッタ222に入力される。リミッタ222からは最終正規Duty指令値Dn(n=u,v,w)が出力される。
 空間ベクトル変調部250からの補間Duty指令値Duty_n_m1は加算部231に入力され、加算部231でDuty50%のオフセットを加算されたDuty値は、Duty出力を0~100%の範囲(可変)で制限するリミッタ232に入力される。リミッタ232から最終補間Duty指令値Dnm1(n=u,v,w)が出力される。
 一般的にEPSはバッテリ(DC+12V)からモータ印加電圧を供給するため、負(-)方向の印加電圧を供給することができない。このままでは負方向の相電圧指令値を供給できないため、負方向に相電流を流すことができない。この問題に対応するため、3相ともDuty値50%(+6V)オフセットして基準電圧にすることにより、3相が0Vでなくても3相Duty値50%時に相電流が0Aになる(モータ印加電圧+12V時)。例えば、U相Duty値50%(+6V)、V相Duty値50%(+6V)、W相Duty値50%(+6V)の場合、U相0A、V相0A、W相0Aとなり、U相Duty値60%(+7.2V)、V相Duty値50%(+6V)、W相Duty値40%(+4.8V)とした場合、U相には正(+)方向に電流が流れ、U相Duty値40%(+4.8V)、V相Duty値50%(+6V)、W相Duty値60%(+7.2V)とした場合、U相には負方向に電流が流れる。3相ともDuty値50%にオフセットして基準電圧にすることによって、印加電圧が正のまま、負方向の電流を流すことができる。なお、Duty値50%オフセットは基本的に固定であるが、Duty値50%時の基準電圧は、供給される印加電圧状態によって変動する。例えば、印加電圧11Vの時、Duty値50%は5.5Vとなり、印加電圧13Vの時、Duty値50%は6.5Vになる。
[Duty出力設定部160A-1]
 図12は、Duty出力設定部160A-1の機能構成図である。
 Duty出力設定部(出力設定部)160A-1は、図12に示すように、制御周期Tcおよび制御周期TcからTc/2μs経過後において、制御周期Tcからの経過時間Tに基づいて、出力する最終的なDuty指令値Du_o,Dv_o,Dw_oを切り替えて出力する(出力設定工程)。
 図13は制御周期と最終正規Duty指令値Dn及び最終補間Duty指令値Dnm1の出力タイミングを示している。
 制御周期Tc(n)で演算された最終正規Duty指令値Dnおよび最終補間Duty指令値Dnm1は、次の制御周期(n+1)の0μsのタイミングで最終正規Duty指令値Dnが出力され、その後125μsのタイミングで最終補間Duty指令値Dnm1が出力される。
 図14はシミュレーション装置におけるシミュレーション結果であり、横軸は時間[sec]であり、縦軸はMPU等で処理する内部値で、64[dec]/1[deg]である。図14(A)はモータ角度(太線)の波形であり、250μs周期のサンプリングデータをSOH演算により算出した推定モータ角度(細線)が、250μs周期の125μs後の角度(電気角)として演算されていることが確認できる。推定モータ角度(細線)を横軸に125μsオフセットすると、モータ角度(太線)の250μs周期のサンプリングデータの中間データを示す角度波形となる。図14(B)は空間ベクトル変調により演算されたDuty指令値の波形であり、推定モータ角度を適応した補間Duty指令値の波形(細線)が、250μs周期の125μs後の波形として演算されていることが確認できる。補間Duty指令値の波形(細線)を横軸に125μsオフセットすると、正規Duty指令値(太線)の250μs周期のデータの中間データを示すDuty指令値波形となる。
 本実施形態のモータ制御装置400によれば、デッドタイム補償の影響を受けずに、ノイズが少ない補間Duty指令値を算出し、PWM演算を行う周期よりも早い周期(50μs)でPWM制御の制御信号を変動させることができる。これにより、マイクロコンピュータの演算処理量の増加は軽微でありながら、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
 以上、本発明の第一実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、上述の実施形態および変形例において示された構成要素は適宜に組み合わせて構成することが可能である。
(変形例1)
 例えば、上記実施形態に係るモータ制御装置400は、モータ100が空間ベクトル駆動を用いたベクトル制御方式により制御されていたが、モータ制御装置の制御対象のモータはこれに限定されない。本発明に係るモータ制御装置の制御対象のモータは、例えば正弦波制御方式のブラシレスモータであってもよい。本発明に係るモータ制御装置は、Duty指令値を直接の補間対象とせず、モータ角度(電気角)θeを補間対象とする。モータ角度θeはリニアリティが高ければ比較的ノイズが少なく、360°から0°に切替える角度変化以外に過渡的な変化がないため、SOH演算による補間電気角の算出および補間Duty指令値の算出において高い精度を確保することができる。
(変形例2)
 例えば、上記実施形態に係るモータ制御装置400は、電動パワーステアリング装置300に搭載されていたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、高トルクが要求される一方で低騒音が要求されるモータ駆動装置に搭載することが適している。例えば、本発明に係るモータ制御装置は、装着者の歩行時の筋力を支援する歩行支援装置や、室内で動作する掃除装置等に搭載することで、モータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
(変形例3)
 例えば、上記実施形態に係るモータ制御装置400は、制御周期Tcが250μs(周波数4KHz)であったが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Tcが100μs以上、250μs以下であるとき好適に可聴帯域のモータに起因する音を低減することができる。モータ制御装置が搭載するCPU等の性能が向上したり、制御対象のモータの極数が増加したりすることで、制御周期が250μsより短くなることが予測される。制御周期Tcが100μs以上、250μs以下である場合、上記実施形態と同様に、可聴帯域のモータに起因する音を生じる問題が発生するが、本発明に係るモータ制御装置によれば、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
(第二実施形態)
 本発明の第二実施形態について、図15から図37を参照して説明する。
 図15は、本実施形態に係るモータ制御装置400Bを搭載する電動パワーステアリング装置300Bの構成を示す模式図である。電動パワーステアリング装置300Bは、コラム部(ステアリングシャフト)に電動モータと減速機構とが配置されるコラムアシスト式電動パワーステアリング装置である。
[電動パワーステアリング装置300B]
 電動パワーステアリング装置300Bは、ハンドル1のコラム軸(ステアリングシャフト、ハンドル軸)2、減速ギア3、ユニバーサルジョイント4a,4b、ピニオンラック機構5、タイロッド6a,6bを経て、更にハブユニット7a,7bを介して操向車輪8L,8Rに連結されている。また、コラム軸2には、ハンドル1の舵角θeを検出する舵角センサ14と、ハンドル1の操舵トルクThを検出するトルクセンサ10とが設けられており、ハンドル1の操舵力を補助するモータ100が減速ギア3を介してコラム軸2に連結されている。電動パワーステアリング装置300Bを制御するコントロールユニット(ECU)30には、バッテリ13から電力が供給されると共に、イグニションキー11を経てイグニションキー信号が入力される。
 コントロールユニット30は、トルクセンサ10で検出された操舵トルクThと車速センサ12で検出された車速Vsとに基づいてアシスト(操舵補助)指令の電流指令値の演算を行い、演算された電流指令値に補償等を施した電圧制御指令値Vrefによってモータ100を制御する。舵角センサ14は必須のものではなく、配設されていなくても良く、モータ100に連結されたレゾルバ等の回転センサから舵角(モータ角度)θeを得ることもできる。
 コントロールユニット30は、主としてCPU(Central Processing Unit)(MPU(Micro Processor Unit)やMCU(Micro Controller Unit)等を含む)を含むプログラム実行可能なコンピュータを備えている。
 コントロールユニット30は、モータ100を駆動するインバータ161や、モータ100の電流を検出するモータ電流検出回路162や、モータ100のモータ角度θeを検出する角度検出部110Aなどの回路を備えている。なお、これらの回路は、モータ100側に搭載されていてもよい。
 コントロールユニット30には、車両の各種情報を授受するCAN(Controller Area Network)40が接続されており、車速VsはCAN40から受信することも可能である。また、コントロールユニット30には、CAN40以外の通信、アナログ/ディジタル信号、電波等を授受する非CAN41も接続可能である。
 モータ100は、近年、電動パワーステアリング装置300Bのアクチュエータとして主流である3相ブラシレスモータである。モータ100は、空間ベクトル駆動を用いたベクトル制御方式により制御される。空間ベクトル駆動を用いたベクトル制御方式は、モータ100のロータの座標軸であるトルクを制御するq軸と、磁界の強さを制御するd軸とを独立に設定し、dq軸が90°の関係にあることから、そのベクトルで各軸に相当する電流(d軸電流指令値Iref_d,q軸電流指令値Iref_q)を制御する。
[モータ制御装置400B]
 図16は、コントロールユニット30によって構成されるモータ制御装置400Bの機能構成図である。モータ制御装置400Bの機能は、CPU等において実行されるプログラムと、インバータ等の電子回路とを適宜組み合わせて実現される。以降の説明において電子回路として記載された機能が、CPU等において実行されるプログラムとして実現されていてもよい。
 モータ制御装置400Bは、モータ100の駆動制御を行う。モータ制御装置400Bは、電流指令値演算部31と、モータ制御部39Bと、PWM制御部160と、インバータ161と、モータ電流検出回路162と、モータ角度検出部110Aと、角速度演算部110Bと、3相交流/dq軸変換部130と、を備える。
 電流指令値演算部31は、操舵トルクThと車速Vs等に基づきアシストマップ等を用いて演算された2軸(dq軸座標系)のdq軸電流指令値Iref_m(m=d,q)を、モータ制御部39Bに出力する。
 モータ制御部39Bは、入力されるdq軸電流指令値Iref_m(m=d,q)、モータ角度θeおよびモータ回転数N等から、デッドタイム補償を施した電圧制御指令値Vref_mb(m=d,q)を算出する。また、モータ制御部39Bは、電圧制御指令値Vref_mb(m=d,q)等から、空間ベクトル変調により3相のDuty指令値Du_o,Dv_o,Dw_oを算出して、PWM制御部160に出力する。
 図17は、PWM制御部160およびインバータ161の構成図である。
 インバータ161は、図17に示すように、FETの3相ブリッジで構成されており、PWM-Duty値D1~D6でON/OFFされることによってモータ100を駆動する。インバータ161とモータ100との間には、アシスト制御停止時等に電流の供給を遮断するためのモータスイッチ101が介挿されている。上側アームはスイッチング素子としてのFETQ1,Q2,Q3で構成され、下側アームはFETQ4,Q5,Q6で構成されている。また、FETQ1およびQ4がU相、FETQ2およびQ5がV相、FETQ3およびQ6がW相の駆動素子である。
 PWM制御部160は、図17に示すように、入力された3相のDuty指令値Du_o,Dv_o,Dw_oに基づき、図17に示すような上下アームのブリッジ構成で成るインバータ(インバータ印加電圧VR)161を介してモータ100を駆動制御する。PWM制御部160は、図17に示すように、PWM部160A-2と、ゲート駆動部160Bとを有する。
 PWM部160A-2は、図17に示すように、3相のDuty指令値Du_o,Dv_o,Dw_oをそれぞれ所定式に従って3相分PWM―Duty値D1~D6を算出する。PWM部160A-2には、発振部160Cから例えば三角波の変調信号(キャリア)CFが入力されており、PWM部160A-2は変調信号CFに同期してPWM―Duty値D1~D6を算出する。
 ゲート駆動部160Bは、図17に示すように、PWM―Duty値D1~D6を出力して駆動素子であるFETQ1~Q6のゲートを駆動する。
 電動パワーステアリング装置300Bは車載製品であるため、稼動温度範囲が広く、フェールセーフの観点からモータ100を駆動するインバータ161は家電製品を代表とする一般産業用と比較して、デッドタイムを大きく(産業用機器<EPS)する必要がある。一般にスイッチング素子(例えばFET(Field-Effect Transistor))にはOFFの際に遅れ時間があるため、上下アームのスイッチング素子のOFF/ON切替えを同時に行うと、直流リンクが短絡する状況が発生する場合がある。この状況の発生を防ぐため、上下アーム両方のスイッチング素子がOFFになる時間(デッドタイム)が設けられる。
 上記のようなデッドタイム補償を行った場合、電流波形が歪み、電流制御の応答性や操舵感が悪化し、例えばハンドルがオンセンター付近にある状態でゆっくり操舵すると、トルクリップル等による不連続な操舵感などが生じる場合がある。
 電流検出器162は、図16に示すように、モータ100の3相モータ電流Iu,Iv,Iwを検出する。検出された3相モータ電流Iu,Iv,Iwは、3相交流/dq軸変換部130に入力され、2相のフィードバックdq軸電流Id,Iqに変換される。2相のフィードバックdq軸電流Id,Iqは、モータ制御部39Bに入力される。
 モータ角度検出部110Aは、モータ100のモータ角度θeを、必要がある場合は演算を行い、取得する。モータ角度θeは、角速度演算部110B、モータ制御部39Bおよび3相交流/dq軸変換部130に入力される。
 角速度演算部110Bは、モータ角度θeからモータ回転数Nおよびモータ角速度ωを演算により取得する。モータ回転数Nおよびモータ角速度ωは、モータ制御部39Bに入力される。
[モータ制御部39B]
 図18は、モータ制御部39Bの機能構成図である。
 モータ制御部39Bは、電圧指令値演算部220と、電気角補間部240Bと、空間ベクトル変調部250と、最終Duty演算部200と、Duty出力設定部160A-1と、を備えている。
 電圧指令値演算部220は、dq軸デッドタイム補償値演算部201と、dq軸電流フィードバック制御部203と、電圧/Duty変換係数演算部204と、加算部205と、dq軸Dutyクランプ/VR感応演算部210と、を備えている。
 電圧指令値演算部220は、モータ100から制御周期Tcごとに取得したモータ電気角θeおよびモータ回転数θeと電流指令値Iref_m(m=d,q)などを用いて電圧指令値を算出する(電圧指令値演算工程)。
 dq軸デッドタイム補償値演算部201は、入力されるモータ回転数N、モータ角度(電気角)θe、dq軸電流指令値Iref_m(m=d,q)から算出したdq軸デッドタイム補償値DT_m(m=d,q)を加算部205に出力する。
 dq軸電流フィードバック制御部203は、入力されるモータ角速度ω、dq軸電流指令値Iref_m(m=d,q)、2相のフィードバックdq軸電流Id,Iqから算出した電圧制御指令値Vref_ma(m=d,q)を加算部205に出力する。
 電圧/Duty変換係数演算部204は、インバータ印加電圧VRに応じて電圧/Dutyの変換係数Kcを算出する。
 加算部205は、dq軸デッドタイム補償値DT_m(m=d,q)と、電圧制御指令値Vref_ma(m=d,q)とを加算した電圧制御指令値Vref_mb(m=d,q)を、3相Dutyクランプ/VR感応演算部210に出力する。
 dq軸Dutyクランプ/VR(インバータ印加電圧)感応演算部210は、電圧制御指令値Vref_mb(m=d,q)と、電圧/Duty変換の変換係数Kcとを乗算して算出したdq軸正規用のDuty指令値D1m(m=d,q)(Duty_d,Duty_q)を、空間ベクトル変調部250に入力する。
[電気角補間部240B]
 図19は、電気角補間部240Bの構成図である。
 電気角補間部240Bは、入力されたモータ角度θeから、補間Duty演算用のモータ角度(補間電気角)θsを算出して、空間ベクトル変調部250に出力する(電気角補間工程)。
 電気角補間部240Bは、制御周期250μs(Tc)で検出されたモータ角度θeに対する2次関数補間演算(Second Order Hold演算:以下では、2次関数補間演算のことを単に「SOH演算」とする場合もある。)により、制御周期Tcを1/5に分割した50μsの間隔(分割間隔)でモータ角度(補間電気角)θsを推定し、推定されたモータ角度(補間電気角)θsに基づいて補間Duty指令値を算出する。
 電気角補間部240Bが行うdq軸電流制御では、空間ベクトル変調後のDuty指令値を補間対象としない。空間ベクトル変調後のDuty指令値には、過渡変化のあるデッドタイム補償値や空間ベクトル変調による3次高周波の歪み成分等に起因するノイズ成分が含まれ、Duty指令値を直接補間して算出した補間Duty指令値には、大きなノイズを含む値となる場合があるためである。
 電気角補間部240Bは、図19に示すように、モータ角度θeを入力して直接的にSOH演算を行う演算処理部241(SOH演算部241-1およびロールオーバ処理部241-2)と、モータ角度θeを入力してオフセット処理等を行い、SOH演算を行うオフセット付き演算処理部242と、モータ角度θeが90°より大きく、270°以下である範囲とそれ以外の範囲のいずれに属するかを判定して切替フラグSFを出力するモータ角度切替判定部243と、切替フラグSFによって接点a,bを切替えて補間Duty演算用のモータ角度(補間電気角)θsを出力する切替部244と、を備えている。
 図20から図23は、制御周期Tcを1/5に分割した50μsの間隔でSOH演算により算出した4つの補間電気角(以降、「補間電気角1~4」と称す)を示している。以前に検出したモータ電気角θeを用いて補間電気角1~4(θs1~4)を算出することで、電気角の変化を滑らかにすることができる。
 SOH演算に用いられる関数y[k]は、式8で表される。y[k]は制御周期数kにおけるモータ角度(電気角)を表す関数である。
Figure JPOXMLDOC01-appb-M000008
 係数a,b,cを用いて、前々回値y[-2]、前回値y[-1]、今回値y[0]で表すと式9が成立する。
Figure JPOXMLDOC01-appb-M000009
 以上の数式を整理してa,b,cは、y[0],y[-1],y[-2]を用いて式10のように表される。
Figure JPOXMLDOC01-appb-M000010
 式10を式8に代入すると、式11となる。
Figure JPOXMLDOC01-appb-M000011
 補間電気角1(θs1)は、制御周期Tcから50μs(Tc*{1/5})後の電気角であるから、式11にk=0.2を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000012
 補間電気角2(θs2)は、制御周期Tcから100μs(Tc*{2/5})後の電気角であるから、式11にk=0.4を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000013
 補間電気角3(θs3)は、制御周期Tcから150μs(Tc*{3/5})後の電気角であるから、式11にk=0.6を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000014
 補間電気角4(θs4)は、制御周期Tcから200μs(Tc*{4/5})後の電気角であるから、式11にk=0.8を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000015
 図24は、SOH演算部241-1(242-4)の機能構成図である。
 SOH演算部241-1は、モータ角度θeの前回値の保持ユニット245-1および保持ユニット245-2と、係数部B0(245-3)と、係数部B1(245-4)と、係数部B2(245-5)と、加算部245-6と、加算部245-7と、を有している。
 モータ角度θeは、係数部B0(245-3)および保持ユニット245-1に入力され、保持ユニット245-1の保持値は係数部B1(245-4)および保持ユニット245-2に入力される。保持ユニット245-2の保持値は係数部B2(245-5)に入力され、係数部B0(245-3)、係数部B1(245-4)および係数部B2(245-5)の各出力値が、加算部245-7および加算部245-6で加算されて、補間電気角θsとして出力される。
 補間電気角1~4(θs1~4)を算出する際の係数B0,B1,B2は、式12~15により、表1のように表される。
Figure JPOXMLDOC01-appb-T000016
 電気角補間部240B内の演算処理部241は、図19に示すように、モータ角度θeを入力してSOH演算を行うSOH演算部241-1と、SOH演算部241-1から出力されるモータ角度θe1をロールオーバ処理(波形処理)するロールオーバ処理部241-2と、を備えている。ロールオーバ処理部241-2でロールオーバ処理されたモータ角度θe2は、切替部244の接点aに入力される。
 オフセット付き演算処理部242は、図19に示すように、モータ角度θeが入力されて固定部242-1から入力される係数180°によるオフセット処理を行う加算部242-2と、加算部242-2から入力されるモータ角度θe3をロールオーバ処理(波形処理)するロールオーバ処理部242-3と、ロールオーバ処理部242-3から入力されるモータ角度θe4を補正するSOH演算部242-4と、SOH演算部242-4からモータ角度θe5が入力されて固定部242-5から入力される係数180°によるオフセット戻し処理を行う減算部242-6と、減算部242-6から入力されるモータ角度θe6をロールオーバ処理(波形処理)するロールオーバ処理部242-7と、を備えている。ロールオーバ処理部242-7でロールオーバ処理されたモータ角度θe7は、切替部244の接点bに入力される。
 演算処理部241のロールオーバ処理部241-2からのモータ角度θe2は切替部244の接点aに入力されており、オフセット付き演算処理部242のロールオーバ処理部242-7からのモータ角度θe7は切替部244の接点bに入力されている。そして、切替部244の接点a及びbは、モータ角度切替判定部243からの切替フラグSF(「H」、「L」)によって切替えられ、切替部244から補間Duty演算用のモータ角度(補間電気角)θsが出力される。
 モータ角度(電気角)θeは、現在のモータ角度から次のモータ角度に移る際において360°を超えた場合、0°に戻る。このとき過渡的な角度変動が発生するため、現在のモータ角度を用いてSOH演算を行うと正確な補間演算結果にならない場合がある。この問題を回避するため、電気角補間部240Bは、入力電気角のモータ角度θeに応じて演算出力(補間Duty演算用のモータ角度θs)を切替える。
 モータ角度θeが90°<θe≦270°の範囲では、モータ角度θeに過渡的な角度変動がない。そのため、電気角補間部240Bは、入力されるモータ角度θeに対してSOH演算を行う。
 一方、モータ角度θeが0°≦θe≦90°または270°<θe≦360°の範囲では、モータ角度θeに過渡的な角度変動がある。そのため、電気角補間部240Bは、モータ角度θeを180°オフセット処理し、連続的な角度信号にしてからSOH演算を行い、SOH演算後の補間演算結果に対して180°オフセット戻し処理を行う。
 モータ角度切替判定部243は、入力モータ角度θeから切替フラグSF(90°<θe≦270°のとき「H」、0°≦θe≦90°または270°<θe≦360°のとき「L」)を生成する。
 切替部244は、切替フラグSFに基づいて、SOH演算後の補間Duty演算用のモータ角度(補間電気角)θsを選択して出力する。
 すなわち、切替部244は、90°<θe≦270°のとき、式16のように制御され、モータ角度θe2を補間Duty演算用のモータ角度θsとして出力する。
Figure JPOXMLDOC01-appb-M000017
 また、切替部244は、0°≦θe≦90°または270°<θe≦360°のとき、式17のように制御され、モータ角度θe7を補間Duty演算用のモータ角度θsとして出力する。
Figure JPOXMLDOC01-appb-M000018
 図25は、電気角補間部240Bの制御フローチャートを示す。
 電気角補間部240Bにモータ角度(電気角)θeが入力される(ステップS101)。
 演算処理部241のSOH演算部241-1は、SOH演算を行う(ステップS110)。モータ角度θeは、次のSOH演算において前回値として使用するため、保持ユニット245-1に入力される。また、保持ユニット245-1に入力されていた前回値は、次のSOH演算において前々回値として使用するため、保持ユニット245-2に入力される。
 ロールオーバ処理部241-2は、SOH演算されたモータ角度θe1をロールオーバ処理してモータ角度θe2を出力する(ステップS111)。
 オフセット付き演算処理部242は、加算部242-2が固定部242-1から入力される係数180°を用いてモータ角度(電気角)θeをオフセット処理する(ステップS120)。
 ロールオーバ処理部242-3は、オフセット処理されたモータ角度θe3をロールオーバ処理してモータ角度θe4を出力する(ステップS121)。
 SOH演算部242-4は、入力されたモータ角度θe4に対してSOH演算を行う(ステップS122)。モータ角度θeは、次のSOH演算において前回値として使用するため、保持ユニット245-1に入力される。また、保持ユニット245-1に入力されていた前回値は、次のSOH演算において前々回値として使用するため、保持ユニット245-2に入力される。
 SOH演算されたモータ角度θe5は減算部242-6に入力され、固定部242-5から入力される係数180°でオフセット戻し処理が行われる(ステップS123)。
 オフセット戻し処理されたモータ角度θe6は、ロールオーバ処理部242-7でロールオーバ処理されてモータ角度θe7が出力される(ステップS124)。
 ステップS111およびステップS124の処理完了後、モータ角度切替判定部243は、モータ角度θeが90°より大きく、270°以下であることを判定する(ステップS102)。
 この条件に当てはまる場合(YESの場合)、モータ角度切替判定部243は、切替フラグSFを「H」にする。
 上記条件に当てはまらない場合(NOの場合)、モータ角度θeは0°以上で90°以下、または270°より大きく360°以下であり、モータ角度切替判定部243は、切替フラグSFを「L」にする。
 モータ角度切替判定部243から入力された切替フラグSFが「H」の場合、切替部244は、θe2を選択し、補間Duty演算用のモータ角度(補間電気角)θsとして出力する(ステップS103)。
 モータ角度切替判定部243から入力された切替フラグSFが「L」の場合、切替部244は、θe7を選択し、補間Duty演算用のモータ角度(補間電気角)θsとして出力する(ステップS104)。
 電気角補間部240Bは、補間電気角1~4(θs1~4)に対応する係数B0,B1,B2(表1参照)を用いてSOH演算を行い、補間電気角1~4(θs1~4)をそれぞれ算出する。
 図26は、電気角補間部240Bの各部波形を示しており、横軸は時間[sec]であり、縦軸はMPU等で処理する内部値で、64[dec]/1[deg]である。なお、23040[dec]=360[deg]である。
 図26(A)は演算処理部241から出力されるモータ角度θe2の波形例であり、図26(B)はオフセット付き演算処理部242から出力されるモータ角度θe7の波形例である。また、図26(C)は切替フラグSFの「H」、「L」の切替のタイミングを示しており、図26(D)は切替部244から出力される補間Duty演算用のモータ角度(補間電気角)θsの波形例を示している。
 図26(D)に示すように、電気角補間部240Bの出力するモータ角度(補間電気角)θsは、図26(A)に示す波形と比較して、モータ角度θsが360°を超えて0°に戻る際において、過渡的な角度変動がない。モータ角度θeはリニアリティが高ければ比較的ノイズが少なく、360°から0°に切替える角度変化以外に過渡的な変化がないため、SOH演算による補間電気角の算出において高い精度を確保することができる。
[空間ベクトル変調部250]
 図27は、空間ベクトル変調部250の機能構成図である。
 空間ベクトル変調部(変換部)250は、電圧の次元からDutyの次元に変換してから空間ベクトル変換演算を行う(変換工程)。空間ベクトル変調部250は、dq軸空間の正規演算用のDuty指令値D1m(m=d,q)(Duty_d,Duty_q)を3相Duty指令値(Duty_ua,Duty_va,Duty_wa)に変換して、3次高調波を重畳し、3相のDuty指令値Duty_u,Duty_v,Duty_wを出力する機能を有していれば良く、例えば本出願人による特開2017-70066号公報や国際公開第2017/098840号等で提案している空間ベクトル変調の手法を用いても良い。
 空間ベクトル変調部250は、モータ角度(電気角)θeを用いて上記の空間ベクトル変換演算を行う空間ベクトル変調部250-0と、補間電気角1~4(θs1~4)をそれぞれ用いて空間ベクトル変換演算を行う空間ベクトル変調部250-1,250-2,250-3,250-4と、を有する。
 空間ベクトル変調部250-0は、モータ角度(電気角)θeを用いて空間ベクトル変換演算を行い、3相のDuty指令値Duty_u,Duty_v,Duty_wを出力する。
 空間ベクトル変調部250-1は、補間電気角1(θs1)を用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_u_m1,Duty_v_m1,Duty_w_m1を出力する。
 空間ベクトル変調部250-2は、補間電気角2(θs2)を用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_u_m2,Duty_v_m2,Duty_w_m2を出力する。
 空間ベクトル変調部250-3は、補間電気角3(θs3)を用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_u_m3,Duty_v_m3,Duty_w_m3を出力する。
 空間ベクトル変調部250-4は、補間電気角4(θs4)を用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_u_m4,Duty_v_m4,Duty_w_m4を出力する。
[最終Duty演算部200]
 図28は、最終Duty演算部200の機能構成図である。
 最終Duty演算部200は、空間ベクトル変調部250からの正規Duty指令値Duty_n(n=u,v,w)が加算部221に入力される。加算部221でDuty50%のオフセットを加算されたDuty値は、Duty出力を0~100%の範囲(可変)で制限するリミッタ222に入力される。リミッタ222からは最終正規Duty指令値Dn(n=u,v,w)が出力される。
 空間ベクトル変調部250からの補間Duty指令値Duty_n_m1は加算部231に入力され、加算部231でDuty50%のオフセットを加算されたDuty値は、Duty出力を0~100%の範囲(可変)で制限するリミッタ232に入力される。リミッタ232から最終補間Duty指令値Dnm1(n=u,v,w)が出力される。
 空間ベクトル変調部250からの補間Duty指令値Duty_n_m2,Duty_n_m3,Duty_n_m4は、補間Duty指令値Duty_n_m1と同様の処理がなされ、リミッタ232から最終補間Duty指令値Dnm2,Dnm3,Dnm4(n=u,v,w)が出力される。
 一般的にEPSはバッテリ(DC+12V)からモータ印加電圧を供給するため、負(-)方向の印加電圧を供給することができない。このままでは負方向の相電圧指令値を供給できないため、負方向に相電流を流すことができない。この問題に対応するため、3相ともDuty値50%(+6V)オフセットして基準電圧にすることにより、3相が0Vでなくても3相Duty値50%時に相電流が0Aになる(モータ印加電圧+12V時)。例えば、U相Duty値50%(+6V)、V相Duty値50%(+6V)、W相Duty値50%(+6V)の場合、U相0A、V相0A、W相0Aとなり、U相Duty値60%(+7.2V)、V相Duty値50%(+6V)、W相Duty値40%(+4.8V)とした場合、U相には正(+)方向に電流が流れ、U相Duty値40%(+4.8V)、V相Duty値50%(+6V)、W相Duty値60%(+7.2V)とした場合、U相には負方向に電流が流れる。3相ともDuty値50%にオフセットして基準電圧にすることによって、印加電圧が正のまま、負方向の電流を流すことができる。なお、Duty値50%オフセットは基本的に固定であるが、Duty値50%時の基準電圧は、供給される印加電圧状態によって変動する。例えば、印加電圧11Vの時、Duty値50%は5.5Vとなり、印加電圧13Vの時、Duty値50%は6.5Vになる。
[Duty出力設定部160A-1]
 図29は、Duty出力設定部160A-1の機能構成図である。
 Duty出力設定部(出力設定部)160A-1は、図29に示すように、制御周期Tcを1/5に分割した50μsの間隔(分割間隔)に合わせ、制御周期Tcからの経過時間Tに基づいて、出力する最終的なDuty指令値Du_o,Dv_o,Dw_oを切り替えて出力する(出力設定工程)。
 図30から図33は、モータ回転数が一定回転数(1200rpm)になるように操舵した条件において、補間電気角1~4(θs1~4)[deg]を推定したシミュレーション結果である。いずれの結果においても、補間電気角1~4が、モータ電気角θeを線形補間した線に重なっており、SOH演算による推定角度演算が精度高く適切に行われていることが確認できる。
 図34から図37は、図30から図33に結果を示すシミュレーションと同一条件において推定した補間電気角1~4(θs1~4)を使用して演算したDuty指令値(U相)Du_m1~Du_m4のシミュレーション波形である。横軸は時間[sec]であり、縦軸はMPU等で処理する内部値で、8192[dec]/100[%]である。いずれの結果においても、補間Duty指令値が、正規Duty指令値Duを線形補間した線上または近傍に出力され、補間電気角を用いたDuty指令値の補間が精度高く適切に行われていることが確認できる。なお、V,W相は図示されていないが同様の結果を示す。
 本実施形態のモータ制御装置400Bによれば、デッドタイム補償の影響を受けずに、ノイズが少ない補間Duty指令値を算出し、PWM演算を行う周期よりも早い周期(50μs)でPWM制御の制御信号を変動させることができる。これにより、マイクロコンピュータの演算処理量の増加は軽微でありながら、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
 以上、本発明の第二実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、上述の実施形態および変形例において示された構成要素は適宜に組み合わせて構成することが可能である。
(変形例4)
 例えば、上記実施形態に係るモータ制御装置400Bは、モータ100が空間ベクトル駆動を用いたベクトル制御方式により制御されていたが、モータ制御装置の制御対象のモータはこれに限定されない。本発明に係るモータ制御装置の制御対象のモータは、例えば正弦波制御方式のブラシレスモータであってもよい。本発明に係るモータ制御装置は、Duty指令値を直接の補間対象とせず、モータ角度(電気角)θeを補間対象とする。モータ角度θeはリニアリティが高ければ比較的ノイズが少なく、360°から0°に切替える角度変化以外に過渡的な変化がないため、SOH演算による補間電気角の算出および補間Duty指令値の算出において高い精度を確保することができる。
(変形例5)
 例えば、上記実施形態に係るモータ制御装置400Bは、電動パワーステアリング装置300Bに搭載されていたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、高トルクが要求される一方で低騒音が要求されるモータ駆動装置に搭載することが適している。例えば、本発明に係るモータ制御装置は、装着者の歩行時の筋力を支援する歩行支援装置や、室内で動作する掃除装置等に搭載することで、モータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
(変形例6)
 例えば、上記実施形態に係るモータ制御装置400Bは、制御周期Tcが250μs(周波数4KHz)であったが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Tcが100μs以上、250μs以下であるとき好適に可聴帯域のモータに起因する音を低減することができる。モータ制御装置が搭載するCPU等の性能が向上したり、制御対象のモータの極数が増加したりすることで、制御周期が250μsより短くなることが予測される。制御周期Tcが100μs以上、250μs以下である場合、上記実施形態と同様に、可聴帯域のモータに起因する音を生じる問題が発生するが、本発明に係るモータ制御装置によれば、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
(第三実施形態)
 本発明の第三実施形態について、図38から図53を参照して説明する。
 図38は、本実施形態に係るモータ制御装置400Cを搭載する電動パワーステアリング装置300Cの構成を示す模式図である。電動パワーステアリング装置300Cは、コラム部(ステアリングシャフト)に電動モータと減速機構とが配置されるコラムアシスト式電動パワーステアリング装置である。
[電動パワーステアリング装置300C]
 電動パワーステアリング装置300Cは、ハンドル1のコラム軸(ステアリングシャフト、ハンドル軸)2、減速ギア3、ユニバーサルジョイント4a,4b、ピニオンラック機構5、タイロッド6a,6bを経て、更にハブユニット7a,7bを介して操向車輪8L,8Rに連結されている。また、コラム軸2には、ハンドル1の舵角θeを検出する舵角センサ14と、ハンドル1の操舵トルクThを検出するトルクセンサ10とが設けられており、ハンドル1の操舵力を補助するモータ100が減速ギア3を介してコラム軸2に連結されている。電動パワーステアリング装置300Cを制御するコントロールユニット(ECU)30には、バッテリ13から電力が供給されると共に、イグニションキー11を経てイグニションキー信号が入力される。
 コントロールユニット30は、トルクセンサ10で検出された操舵トルクThと車速センサ12で検出された車速Vsとに基づいてアシスト(操舵補助)指令の電流指令値の演算を行い、演算された電流指令値に補償等を施した電圧制御指令値Vrefによってモータ100を制御する。舵角センサ14は必須のものではなく、配設されていなくても良く、モータ100に連結されたレゾルバ等の回転センサから舵角(モータ角度)θeを得ることもできる。
 コントロールユニット30は、主としてCPU(Central Processing Unit)(MPU(Micro Processor Unit)やMCU(Micro Controller Unit)等を含む)を含むプログラム実行可能なコンピュータを備えている。
 コントロールユニット30は、モータ100を駆動するインバータ161や、モータ100の電流を検出するモータ電流検出回路162や、モータ100のモータ角度θeを検出する角度検出部110Aなどの回路を備えている。なお、これらの回路は、モータ100側に搭載されていてもよい。
 コントロールユニット30には、車両の各種情報を授受するCAN(Controller Area Network)40が接続されており、車速VsはCAN40から受信することも可能である。また、コントロールユニット30には、CAN40以外の通信、アナログ/ディジタル信号、電波等を授受する非CAN41も接続可能である。
 モータ100は、近年、電動パワーステアリング装置300Cのアクチュエータとして主流である3相ブラシレスモータである。モータ100は、空間ベクトル駆動を用いたベクトル制御方式により制御される。空間ベクトル駆動を用いたベクトル制御方式は、モータ100のロータの座標軸であるトルクを制御するq軸と、磁界の強さを制御するd軸とを独立に設定し、dq軸が90°の関係にあることから、そのベクトルで各軸に相当する電流(d軸電流指令値Iref_d,q軸電流指令値Iref_q)を制御する。
[モータ制御装置400C]
 図39は、コントロールユニット30によって構成されるモータ制御装置400Cの機能構成図である。モータ制御装置400Cの機能は、CPU等において実行されるプログラムと、インバータ等の電子回路とを適宜組み合わせて実現される。以降の説明において電子回路として記載された機能が、CPU等において実行されるプログラムとして実現されていてもよい。
 モータ制御装置400Cは、モータ100の駆動制御を行う。モータ制御装置400Cは、電流指令値演算部31と、モータ制御部39Cと、PWM制御部160と、インバータ161と、モータ電流検出回路162と、モータ角度検出部110Aと、角速度演算部110Bと、3相交流/dq軸変換部130と、を備える。
 電流指令値演算部31は、操舵トルクThと車速Vs等に基づきアシストマップ等を用いて演算された2軸(dq軸座標系)のdq軸電流指令値Iref_m(m=d,q)を、モータ制御部39Cに出力する。
 モータ制御部39Cは、入力されるdq軸電流指令値Iref_m(m=d,q)、モータ角度θeおよびモータ回転数N等から、デッドタイム補償を施した電圧制御指令値Vref_mb(m=d,q)を算出する。また、モータ制御部39Cは、電圧制御指令値Vref_mb(m=d,q)等から、空間ベクトル変調により3相のDuty指令値Du_o,Dv_o,Dw_oを算出して、PWM制御部160に出力する。
 図40は、PWM制御部160およびインバータ161の構成図である。
 インバータ161は、図40に示すように、FETの3相ブリッジで構成されており、PWM-Duty値D1~D6でON/OFFされることによってモータ100を駆動する。インバータ161とモータ100との間には、アシスト制御停止時等に電流の供給を遮断するためのモータスイッチ101が介挿されている。上側アームはスイッチング素子としてのFETQ1,Q2,Q3で構成され、下側アームはFETQ4,Q5,Q6で構成されている。また、FETQ1およびQ4がU相、FETQ2およびQ5がV相、FETQ3およびQ6がW相の駆動素子である。
 PWM制御部160は、図40に示すように、入力された3相のDuty指令値Du_o,Dv_o,Dw_oに基づき、図40に示すような上下アームのブリッジ構成で成るインバータ(インバータ印加電圧VR)161を介してモータ100を駆動制御する。PWM制御部160は、図40に示すように、PWM部160A-2と、ゲート駆動部160Bとを有する。
 PWM部160A-2は、図40に示すように、3相のDuty指令値Du_o,Dv_o,Dw_oをそれぞれ所定式に従って3相分PWM―Duty値D1~D6を算出する。PWM部160A-2には、発振部160Cから例えば三角波の変調信号(キャリア)CFが入力されており、PWM部160A-2は変調信号CFに同期してPWM―Duty値D1~D6を算出する。
 ゲート駆動部160Bは、図40に示すように、PWM―Duty値D1~D6を出力して駆動素子であるFETQ1~Q6のゲートを駆動する。
 電動パワーステアリング装置300Cは車載製品であるため、稼動温度範囲が広く、フェールセーフの観点からモータ100を駆動するインバータ161は家電製品を代表とする一般産業用と比較して、デッドタイムを大きく(産業用機器<EPS)する必要がある。一般にスイッチング素子(例えばFET(Field-Effect Transistor))にはOFFの際に遅れ時間があるため、上下アームのスイッチング素子のOFF/ON切替えを同時に行うと、直流リンクが短絡する状況が発生する場合がある。この状況の発生を防ぐため、上下アーム両方のスイッチング素子がOFFになる時間(デッドタイム)が設けられる。
 上記のようなデッドタイム補償を行った場合、電流波形が歪み、電流制御の応答性や操舵感が悪化し、例えばハンドルがオンセンター付近にある状態でゆっくり操舵すると、トルクリップル等による不連続な操舵感などが生じる場合がある。
 電流検出器162は、図39に示すように、モータ100の3相モータ電流Iu,Iv,Iwを検出する。検出された3相モータ電流Iu,Iv,Iwは、3相交流/dq軸変換部130に入力され、2相のフィードバックdq軸電流Id,Iqに変換される。2相のフィードバックdq軸電流Id,Iqは、モータ制御部39Cに入力される。
 モータ角度検出部110Aは、モータ100のモータ角度θeを、必要がある場合は演算を行い、取得する。モータ角度θeは、角速度演算部110B、モータ制御部39Cおよび3相交流/dq軸変換部130に入力される。
 角速度演算部110Bは、モータ角度θeからモータ回転数Nおよびモータ角速度ωを演算により取得する。モータ回転数Nおよびモータ角速度ωは、モータ制御部39Cに入力される。
[モータ制御部39C]
 図41は、モータ制御部39Cの機能構成図である。
 モータ制御部39Cは、電圧指令値演算部220と、電気角補間部240Cと、空間ベクトル変調部250と、最終Duty演算部200と、Duty出力設定部160A-1と、を備えている。
 電圧指令値演算部220は、dq軸デッドタイム補償値演算部201と、dq軸電流フィードバック制御部203と、電圧/Duty変換係数演算部204と、加算部205と、dq軸Dutyクランプ/VR感応演算部210と、を備えている。
 電圧指令値演算部220は、モータ100から制御周期Tcごとに取得したモータ電気角θeおよびモータ回転数θeと電流指令値Iref_m(m=d,q)などを用いて電圧指令値を算出する(電圧指令値演算工程)。
 dq軸デッドタイム補償値演算部201は、入力されるモータ回転数N、モータ角度(電気角)θe、dq軸電流指令値Iref_m(m=d,q)から算出したdq軸デッドタイム補償値DT_m(m=d,q)を加算部205に出力する。
 dq軸電流フィードバック制御部203は、入力されるモータ角速度ω、dq軸電流指令値Iref_m(m=d,q)、2相のフィードバックdq軸電流Id,Iqから算出した電圧制御指令値Vref_ma(m=d,q)を加算部205に出力する。
 電圧/Duty変換係数演算部204は、インバータ印加電圧VRに応じて電圧/Dutyの変換係数Kcを算出する。
 加算部205は、dq軸デッドタイム補償値DT_m(m=d,q)と、電圧制御指令値Vref_ma(m=d,q)とを加算した電圧制御指令値Vref_mb(m=d,q)を、3相Dutyクランプ/VR感応演算部210に出力する。
 dq軸Dutyクランプ/VR(インバータ印加電圧)感応演算部210は、電圧制御指令値Vref_mb(m=d,q)と、電圧/Duty変換の変換係数Kcとを乗算して算出したdq軸正規用のDuty指令値D1m(m=d,q)(Duty_d,Duty_q)を、空間ベクトル変調部250に入力する。
[電気角補間部240C]
 図42は、電気角補間部240Cの構成図である。
 電気角補間部240Cは、入力されたモータ角度θeから、補間Duty演算用のモータ角度(補間電気角)θsを算出して、空間ベクトル変調部250に出力する(電気角補間工程)。
 電気角補間部240Cは、制御周期250μs(Tc)で検出されたモータ角度θeに対する1次関数補間演算(First Order Hold演算:以下では、1次関数補間演算のことを単に「FOH演算」とする場合もある。)により、制御周期TcからTmμs(0<Tm<Tc)経過後のモータ角度(補間電気角)θsを推定し、推定されたモータ角度(補間電気角)θsに基づいて補間Duty指令値を算出する。
 電気角補間部240Cが行うdq軸電流制御では、空間ベクトル変調後のDuty指令値を補間対象としない。空間ベクトル変調後のDuty指令値には、過渡変化のあるデッドタイム補償値や空間ベクトル変調による3次高周波の歪み成分等に起因するノイズ成分が含まれ、Duty指令値を直接補間して算出した補間Duty指令値には、大きなノイズを含む値となる場合があるためである。
 電気角補間部240Cは、図42に示すように、モータ角度θeを入力して直接的にFOH演算を行う演算処理部241C(FOH演算部241C-1およびロールオーバ処理部241-2)と、モータ角度θeを入力してオフセット処理等を行い、FOH演算を行うオフセット付き演算処理部242Cと、モータ角度θeが90°より大きく、270°以下である範囲とそれ以外の範囲のいずれに属するかを判定して切替フラグSFを出力するモータ角度切替判定部243と、切替フラグSFによって接点a,bを切替えて補間Duty演算用のモータ角度(補間電気角)θsを出力する切替部244と、を備えている。
 図43は、制御周期TcからTmμs(0<Tm<Tc)経過後において、FOH演算により算出した補間電気角を示している。以前に検出したモータ電気角θeを用いて補間電気角θsを算出することで、電気角の変化を滑らかにすることができる。
 FOH演算に用いられる関数y[k]は、式18で表される。y[k]は制御周期数kにおけるモータ角度(電気角)を表す関数である。
Figure JPOXMLDOC01-appb-M000019
 係数a,bを用いて、前回値y[-1]、今回値y[0]で表すと式19が成立する。
Figure JPOXMLDOC01-appb-M000020
 以上の数式を整理してa,bは、y[0],y[-1]を用いて式20のように表される。
Figure JPOXMLDOC01-appb-M000021
 式20を式18に代入すると、式21となる。
Figure JPOXMLDOC01-appb-M000022
 補間電気角θsは、制御周期TcからTm後の電気角であるから、式21にk=Tm/Tcを代入することで算出することができる。例として、制御周期Tc=250[us]、Tm=125[us]とすると、y[k]は式21にk=0.5を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000023
 また、制御周期Tc=250[us]、Tm=150[us]とすると、y[k]は式21にk=0.6を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000024
 図44は、FOH演算部241C-1(242C-4)の機能構成図である。
 FOH演算部241C-1は、モータ角度θeの前回値の保持ユニット245-1および保持ユニット245-2と、係数部B0(245-3)と、係数部B1(245-4)と、係数部B2(245-5)と、加算部245-6と、加算部245-7と、を有している。
 モータ角度θeは、係数部B0(245-3)および保持ユニット245-1に入力され、保持ユニット245-1の保持値は係数部B1(245-4)に入力される。係数部B0(245-3)および係数部B1(245-4)の各出力値が、加算部245-6で加算されて、補間電気角θsとして出力される。
 補間電気角θsを算出する際の係数B0,B1は、式22~23により、表2のように表される。
Figure JPOXMLDOC01-appb-T000025
 電気角補間部240C内の演算処理部241Cは、図42に示すように、モータ角度θeを入力してFOH演算を行うFOH演算部241C-1と、FOH演算部241C-1から出力されるモータ角度θe1をロールオーバ処理(波形処理)するロールオーバ処理部241-2と、を備えている。ロールオーバ処理部241-2でロールオーバ処理されたモータ角度θe2は、切替部244の接点aに入力される。
 オフセット付き演算処理部242Cは、図42に示すように、モータ角度θeが入力されて固定部242-1から入力される係数180°によるオフセット処理を行う加算部242-2と、加算部242-2から入力されるモータ角度θe3をロールオーバ処理(波形処理)するロールオーバ処理部242-3と、ロールオーバ処理部242-3から入力されるモータ角度θe4を補正するFOH演算部242C-4と、FOH演算部242C-4からモータ角度θe5が入力されて固定部242-5から入力される係数180°によるオフセット戻し処理を行う減算部242-6と、減算部242-6から入力されるモータ角度θe6をロールオーバ処理(波形処理)するロールオーバ処理部242-7と、を備えている。ロールオーバ処理部242-7でロールオーバ処理されたモータ角度θe7は、切替部244の接点bに入力される。
 演算処理部241Cのロールオーバ処理部241-2からのモータ角度θe2は切替部244の接点aに入力されており、オフセット付き演算処理部242Cのロールオーバ処理部242-7からのモータ角度θe7は切替部244の接点bに入力されている。そして、切替部244の接点a及びbは、モータ角度切替判定部243からの切替フラグSF(「H」、「L」)によって切替えられ、切替部244から補間Duty演算用のモータ角度(補間電気角)θsが出力される。
 モータ角度(電気角)θeは、現在のモータ角度から次のモータ角度に移る際において360°を超えた場合、0°に戻る。このとき過渡的な角度変動が発生するため、現在のモータ角度を用いてFOH演算を行うと正確な補間演算結果にならない場合がある。この問題を回避するため、電気角補間部240Cは、入力電気角のモータ角度θeに応じて演算出力(補間Duty演算用のモータ角度θs)を切替える。
 モータ角度θeが90°<θe≦270°の範囲では、モータ角度θeに過渡的な角度変動がない。そのため、電気角補間部240Cは、入力されるモータ角度θeに対してFOH演算を行う。
 一方、モータ角度θeが0°≦θe≦90°または270°<θe≦360°の範囲では、モータ角度θeに過渡的な角度変動がある。そのため、電気角補間部240Cは、モータ角度θeを180°オフセット処理し、連続的な角度信号にしてからFOH演算を行い、FOH演算後の補間演算結果に対して180°オフセット戻し処理を行う。
 モータ角度切替判定部243は、入力モータ角度θeから切替フラグSF(90°<θe≦270°のとき「H」、0°≦θe≦90°または270°<θe≦360°のとき「L」)を生成する。
 切替部244は、切替フラグSFに基づいて、FOH演算後の補間Duty演算用のモータ角度(補間電気角)θsを選択して出力する。
 すなわち、切替部244は、90°<θe≦270°のとき、式24のように制御され、モータ角度θe2を補間Duty演算用のモータ角度θsとして出力する。
Figure JPOXMLDOC01-appb-M000026
 また、切替部244は、0°≦θe≦90°または270°<θe≦360°のとき、式25のように制御され、モータ角度θe7を補間Duty演算用のモータ角度θsとして出力する。
Figure JPOXMLDOC01-appb-M000027
 図45は、電気角補間部240Cの制御フローチャートを示す。
 電気角補間部240Cにモータ角度(電気角)θeが入力される(ステップS201)。
 演算処理部241CのFOH演算部241C-1は、FOH演算を行う(ステップS210)。モータ角度θeは、次のFOH演算において前回値として使用するため、保持ユニット245-1に入力される。また、保持ユニット245-1に入力されていた前回値は、次のFOH演算において前々回値として使用するため、保持ユニット245-2に入力される。
 ロールオーバ処理部241-2は、FOH演算されたモータ角度θe1をロールオーバ処理してモータ角度θe2を出力する(ステップS211)。
 オフセット付き演算処理部242Cは、加算部242-2が固定部242-1から入力される係数180°を用いてモータ角度(電気角)θeをオフセット処理する(ステップS220)。
 ロールオーバ処理部242-3は、オフセット処理されたモータ角度θe3をロールオーバ処理してモータ角度θe4を出力する(ステップS221)。
 FOH演算部242C-4は、入力されたモータ角度θe4に対してFOH演算を行う(ステップS222)。モータ角度θeは、次のFOH演算において前回値として使用するため、保持ユニット245-1に入力される。
 FOH演算されたモータ角度θe5は減算部242-6に入力され、固定部242-5から入力される係数180°でオフセット戻し処理が行われる(ステップS223)。
 オフセット戻し処理されたモータ角度θe6は、ロールオーバ処理部242-7でロールオーバ処理されてモータ角度θe7が出力される(ステップS224)。
 ステップS211およびステップS224の処理完了後、モータ角度切替判定部243は、モータ角度θeが90°より大きく、270°以下であることを判定する(ステップS202)。
 この条件に当てはまる場合(YESの場合)、モータ角度切替判定部243は、切替フラグSFを「H」にする。
 上記条件に当てはまらない場合(NOの場合)、モータ角度θeは0°以上で90°以下、または270°より大きく360°以下であり、モータ角度切替判定部243は、切替フラグSFを「L」にする。
 モータ角度切替判定部243から入力された切替フラグSFが「H」の場合、切替部244は、θe2を選択し、補間Duty演算用のモータ角度(補間電気角)θsとして出力する(ステップS203)。
 モータ角度切替判定部243から入力された切替フラグSFが「L」の場合、切替部244は、θe7を選択し、補間Duty演算用のモータ角度(補間電気角)θsとして出力する(ステップS204)。
 図46は、電気角補間部240Cの各部波形を示しており、横軸は時間[sec]であり、縦軸はMPU等で処理する内部値で、64[dec]/1[deg]である。なお、23040[dec]=360[deg]である。
 図46(A)は演算処理部241Cから出力されるモータ角度θe2の波形例であり、図46(B)はオフセット付き演算処理部242Cから出力されるモータ角度θe7の波形例である。また、図46(C)は切替フラグSFの「H」、「L」の切替のタイミングを示しており、図46(D)は切替部244から出力される補間Duty演算用のモータ角度(補間電気角)θsの波形例を示している。
 図46(D)に示すように、電気角補間部240Cの出力するモータ角度(補間電気角)θsは、図46(A)に示す波形と比較して、モータ角度θsが360°を超えて0°に戻る際において、過渡的な角度変動がない。モータ角度θeはリニアリティが高ければ比較的ノイズが少なく、360°から0°に切替える角度変化以外に過渡的な変化がないため、FOH演算による補間電気角の算出において高い精度を確保することができる。
[空間ベクトル変調部250]
 図47は、空間ベクトル変調部250の機能構成図である。
 空間ベクトル変調部(変換部)250は、電圧の次元からDutyの次元に変換してから空間ベクトル変換演算を行う(変換工程)。空間ベクトル変調部250は、dq軸空間の正規演算用のDuty指令値D1m(m=d,q)(Duty_d,Duty_q)を3相Duty指令値(Duty_ua,Duty_va,Duty_wa)に変換して、3次高調波を重畳し、3相のDuty指令値Duty_u,Duty_v,Duty_wを出力する機能を有していれば良く、例えば本出願人による特開2017-70066号公報や国際公開第2017/098840号等で提案している空間ベクトル変調の手法を用いても良い。
 空間ベクトル変調部250は、モータ角度(電気角)θeを用いて上記の空間ベクトル変換演算を行う空間ベクトル変調部250-0と、補間電気角θsを用いて空間ベクトル変換演算を行う空間ベクトル変調部250-1と、を有する。
 空間ベクトル変調部250-0は、モータ角度(電気角)θeを用いて空間ベクトル変換演算を行い、3相のDuty指令値Duty_n(n=u,v,w)(Duty_u,Duty_v,Duty_w)を出力する。
 空間ベクトル変調部250-1は、補間電気角θsを用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_n_m1(n=u,v,w)(Duty_u_m1,Duty_v_m1,Duty_w_m1)を出力する。
[最終Duty演算部200]
 図48は、最終Duty演算部200の機能構成図である。
 最終Duty演算部200は、空間ベクトル変調部250からの正規Duty指令値Duty_n(n=u,v,w)が加算部221に入力される。加算部221でDuty50%のオフセットを加算されたDuty値は、Duty出力を0~100%の範囲(可変)で制限するリミッタ222に入力される。リミッタ222からは最終正規Duty指令値Dn(n=u,v,w)が出力される。
 空間ベクトル変調部250からの補間Duty指令値Duty_n_m1は加算部231に入力され、加算部231でDuty50%のオフセットを加算されたDuty値は、Duty出力を0~100%の範囲(可変)で制限するリミッタ232に入力される。リミッタ232から最終補間Duty指令値Dnm1(n=u,v,w)が出力される。
 一般的にEPSはバッテリ(DC+12V)からモータ印加電圧を供給するため、負(-)方向の印加電圧を供給することができない。このままでは負方向の相電圧指令値を供給できないため、負方向に相電流を流すことができない。この問題に対応するため、3相ともDuty値50%(+6V)オフセットして基準電圧にすることにより、3相が0Vでなくても3相Duty値50%時に相電流が0Aになる(モータ印加電圧+12V時)。例えば、U相Duty値50%(+6V)、V相Duty値50%(+6V)、W相Duty値50%(+6V)の場合、U相0A、V相0A、W相0Aとなり、U相Duty値60%(+7.2V)、V相Duty値50%(+6V)、W相Duty値40%(+4.8V)とした場合、U相には正(+)方向に電流が流れ、U相Duty値40%(+4.8V)、V相Duty値50%(+6V)、W相Duty値60%(+7.2V)とした場合、U相には負方向に電流が流れる。3相ともDuty値50%にオフセットして基準電圧にすることによって、印加電圧が正のまま、負方向の電流を流すことができる。なお、Duty値50%オフセットは基本的に固定であるが、Duty値50%時の基準電圧は、供給される印加電圧状態によって変動する。例えば、印加電圧11Vの時、Duty値50%は5.5Vとなり、印加電圧13Vの時、Duty値50%は6.5Vになる。
[Duty出力設定部160A-1]
 図49は、Duty出力設定部160A-1の機能構成図である。
 Duty出力設定部(出力設定部)160A-1は、図49に示すように、制御周期Tcおよび制御周期TcからTmμs(0<Tm<Tc)経過後において、制御周期Tcからの経過時間Tに基づいて、出力する最終的なDuty指令値Du_o,Dv_o,Dw_oを切り替えて出力する(出力設定工程)。
 図50および図51は、モータ回転数が一定回転数(2000rpm)になるように操舵した条件において、補間電気角θs[deg]を推定したシミュレーション結果である。図50は、制御周期Tc=250[us]、Tm=125[us]の条件におけるシミュレーション結果である。図51は、制御周期Tc=250[us]、Tm=150[us]の条件におけるシミュレーション結果である。いずれの結果においても、補間電気角が、モータ電気角θeを線形補間した線に重なっており、FOH演算による推定角度演算が精度高く適切に行われていることが確認できる。
 図52および図53は、図50および図51に結果を示すシミュレーションと同一条件において推定した補間電気角θsを使用して演算したDuty指令値(U相)Du_m1~Du_m4のシミュレーション波形である。いずれの結果においても、補間Duty指令値が、正規Duty指令値Duを線形補間した線上または近傍に出力され、補間電気角を用いたDuty指令値の補間が精度高く適切に行われていることが確認できる。なお、V,W相は図示されていないが同様の結果を示す。
 本実施形態のモータ制御装置400Cによれば、デッドタイム補償の影響を受けずに、ノイズが少ない補間Duty指令値を算出し、PWM演算を行う周期よりも早い周期(50μs)でPWM制御の制御信号を変動させることができる。これにより、マイクロコンピュータの演算処理量の増加は軽微でありながら、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
 本実施形態のモータ制御装置400Cによれば、補間電気角の演算に一次関数補間演算FOHを使用しており、二次関数補間演算等の補間演算と比較して、精度がわずかに低下するものの、マイクロコンピュータの演算処理量の増加を好適に抑えることができる。
 以上、本発明の第三実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、上述の実施形態および変形例において示された構成要素は適宜に組み合わせて構成することが可能である。
(変形例7)
 例えば、上記実施形態に係るモータ制御装置400Cは、モータ100が空間ベクトル駆動を用いたベクトル制御方式により制御されていたが、モータ制御装置の制御対象のモータはこれに限定されない。本発明に係るモータ制御装置の制御対象のモータは、例えば正弦波制御方式のブラシレスモータであってもよい。本発明に係るモータ制御装置は、Duty指令値を直接の補間対象とせず、モータ角度(電気角)θeを補間対象とする。モータ角度θeはリニアリティが高ければ比較的ノイズが少なく、360°から0°に切替える角度変化以外に過渡的な変化がないため、FOH演算による補間電気角の算出および補間Duty指令値の算出において高い精度を確保することができる。
(変形例8)
 例えば、上記実施形態に係るモータ制御装置400Cは、電動パワーステアリング装置300Cに搭載されていたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、高トルクが要求される一方で低騒音が要求されるモータ駆動装置に搭載することが適している。例えば、本発明に係るモータ制御装置は、装着者の歩行時の筋力を支援する歩行支援装置や、室内で動作する掃除装置等に搭載することで、モータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
(変形例9)
 例えば、上記実施形態に係るモータ制御装置400Cは、制御周期Tcが250μs(周波数4KHz)であったが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Tcが100μs以上、250μs以下であるとき好適に可聴帯域のモータに起因する音を低減することができる。モータ制御装置が搭載するCPU等の性能が向上したり、制御対象のモータの極数が増加したりすることで、制御周期が250μsより短くなることが予測される。制御周期Tcが100μs以上、250μs以下である場合、上記実施形態と同様に、可聴帯域のモータに起因する音を生じる問題が発生するが、本発明に係るモータ制御装置によれば、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
(第四実施形態)
 本発明の第四実施形態について、図54から図76を参照して説明する。
 図54は、本実施形態に係るモータ制御装置400Dを搭載する電動パワーステアリング装置300Dの構成を示す模式図である。電動パワーステアリング装置300Dは、コラム部(ステアリングシャフト)に電動モータと減速機構とが配置されるコラムアシスト式電動パワーステアリング装置である。
[電動パワーステアリング装置300D]
 電動パワーステアリング装置300Dは、ハンドル1のコラム軸(ステアリングシャフト、ハンドル軸)2、減速ギア3、ユニバーサルジョイント4a,4b、ピニオンラック機構5、タイロッド6a,6bを経て、更にハブユニット7a,7bを介して操向車輪8L,8Rに連結されている。また、コラム軸2には、ハンドル1の舵角θeを検出する舵角センサ14と、ハンドル1の操舵トルクThを検出するトルクセンサ10とが設けられており、ハンドル1の操舵力を補助するモータ100が減速ギア3を介してコラム軸2に連結されている。電動パワーステアリング装置300Dを制御するコントロールユニット(ECU)30には、バッテリ13から電力が供給されると共に、イグニションキー11を経てイグニションキー信号が入力される。
 コントロールユニット30は、トルクセンサ10で検出された操舵トルクThと車速センサ12で検出された車速Vsとに基づいてアシスト(操舵補助)指令の電流指令値の演算を行い、演算された電流指令値に補償等を施した電圧制御指令値Vrefによってモータ100を制御する。舵角センサ14は必須のものではなく、配設されていなくても良く、モータ100に連結されたレゾルバ等の回転センサから舵角(モータ角度)θeを得ることもできる。
 コントロールユニット30は、主としてCPU(Central Processing Unit)(MPU(Micro Processor Unit)やMCU(Micro Controller Unit)等を含む)を含むプログラム実行可能なコンピュータを備えている。
 コントロールユニット30は、モータ100を駆動するインバータ161や、モータ100の電流を検出するモータ電流検出回路162や、モータ100のモータ角度θeを検出する角度検出部110Aなどの回路を備えている。なお、これらの回路は、モータ100側に搭載されていてもよい。
 コントロールユニット30には、車両の各種情報を授受するCAN(Controller Area Network)40が接続されており、車速VsはCAN40から受信することも可能である。また、コントロールユニット30には、CAN40以外の通信、アナログ/ディジタル信号、電波等を授受する非CAN41も接続可能である。
 モータ100は、近年、電動パワーステアリング装置300Dのアクチュエータとして主流である3相ブラシレスモータである。モータ100は、空間ベクトル駆動を用いたベクトル制御方式により制御される。空間ベクトル駆動を用いたベクトル制御方式は、モータ100のロータの座標軸であるトルクを制御するq軸と、磁界の強さを制御するd軸とを独立に設定し、dq軸が90°の関係にあることから、そのベクトルで各軸に相当する電流(d軸電流指令値Iref_d,q軸電流指令値Iref_q)を制御する。
[モータ制御装置400D]
 図55は、コントロールユニット30によって構成されるモータ制御装置400Dの機能構成図である。モータ制御装置400Dの機能は、CPU等において実行されるプログラムと、インバータ等の電子回路とを適宜組み合わせて実現される。以降の説明において電子回路として記載された機能が、CPU等において実行されるプログラムとして実現されていてもよい。
 モータ制御装置400Dは、モータ100の駆動制御を行う。モータ制御装置400Dは、電流指令値演算部31と、モータ制御部39Dと、PWM制御部160と、インバータ161と、モータ電流検出回路162と、モータ角度検出部110Aと、角速度演算部110Bと、3相交流/dq軸変換部130と、を備える。
 電流指令値演算部31は、操舵トルクThと車速Vs等に基づきアシストマップ等を用いて演算された2軸(dq軸座標系)のdq軸電流指令値Iref_m(m=d,q)を、モータ制御部39Dに出力する。
 モータ制御部39Dは、入力されるdq軸電流指令値Iref_m(m=d,q)、モータ角度θeおよびモータ回転数N等から、デッドタイム補償を施した電圧制御指令値Vref_mb(m=d,q)を算出する。また、モータ制御部39Dは、電圧制御指令値Vref_mb(m=d,q)等から、空間ベクトル変調により3相のDuty指令値Du_o,Dv_o,Dw_oを算出して、PWM制御部160に出力する。
 図56は、PWM制御部160およびインバータ161の構成図である。
 インバータ161は、図56に示すように、FETの3相ブリッジで構成されており、PWM-Duty値D1~D6でON/OFFされることによってモータ100を駆動する。インバータ161とモータ100との間には、アシスト制御停止時等に電流の供給を遮断するためのモータスイッチ101が介挿されている。上側アームはスイッチング素子としてのFETQ1,Q2,Q3で構成され、下側アームはFETQ4,Q5,Q6で構成されている。また、FETQ1およびQ4がU相、FETQ2およびQ5がV相、FETQ3およびQ6がW相の駆動素子である。
 PWM制御部160は、図56に示すように、入力された3相のDuty指令値Du_o,Dv_o,Dw_oに基づき、図56に示すような上下アームのブリッジ構成で成るインバータ(インバータ印加電圧VR)161を介してモータ100を駆動制御する。PWM制御部160は、図56に示すように、PWM部160A-2と、ゲート駆動部160Bとを有する。
 PWM部160A-2は、図56に示すように、3相のDuty指令値Du_o,Dv_o,Dw_oをそれぞれ所定式に従って3相分PWM―Duty値D1~D6を算出する。PWM部160A-2には、発振部160Cから例えば三角波の変調信号(キャリア)CFが入力されており、PWM部160A-2は変調信号CFに同期してPWM―Duty値D1~D6を算出する。
 ゲート駆動部160Bは、図56に示すように、PWM―Duty値D1~D6を出力して駆動素子であるFETQ1~Q6のゲートを駆動する。
 電動パワーステアリング装置300Dは車載製品であるため、稼動温度範囲が広く、フェールセーフの観点からモータ100を駆動するインバータ161は家電製品を代表とする一般産業用と比較して、デッドタイムを大きく(産業用機器<EPS)する必要がある。一般にスイッチング素子(例えばFET(Field-Effect Transistor))にはOFFの際に遅れ時間があるため、上下アームのスイッチング素子のOFF/ON切替えを同時に行うと、直流リンクが短絡する状況が発生する場合がある。この状況の発生を防ぐため、上下アーム両方のスイッチング素子がOFFになる時間(デッドタイム)が設けられる。
 上記のようなデッドタイム補償を行った場合、電流波形が歪み、電流制御の応答性や操舵感が悪化し、例えばハンドルがオンセンター付近にある状態でゆっくり操舵すると、トルクリップル等による不連続な操舵感などが生じる場合がある。
 電流検出器162は、図55に示すように、モータ100の3相モータ電流Iu,Iv,Iwを検出する。検出された3相モータ電流Iu,Iv,Iwは、3相交流/dq軸変換部130に入力され、2相のフィードバックdq軸電流Id,Iqに変換される。2相のフィードバックdq軸電流Id,Iqは、モータ制御部39Dに入力される。
 モータ角度検出部110Aは、モータ100のモータ角度θeを、必要がある場合は演算を行い、取得する。モータ角度θeは、角速度演算部110B、モータ制御部39Dおよび3相交流/dq軸変換部130に入力される。
 角速度演算部110Bは、モータ角度θeからモータ回転数Nおよびモータ角速度ωを演算により取得する。モータ回転数Nおよびモータ角速度ωは、モータ制御部39Dに入力される。
[モータ制御部39D]
 図57は、モータ制御部39Dの機能構成図である。
 モータ制御部39Dは、電圧指令値演算部220と、電気角補間部240Dと、空間ベクトル変調部250と、最終Duty演算部200と、Duty出力設定部160A-1と、を備えている。
 電圧指令値演算部220は、dq軸デッドタイム補償値演算部201と、dq軸電流フィードバック制御部203と、電圧/Duty変換係数演算部204と、加算部205と、dq軸Dutyクランプ/VR感応演算部210と、を備えている。
 電圧指令値演算部220は、モータ100から制御周期Tcごとに取得したモータ電気角θeおよびモータ回転数θeと電流指令値Iref_m(m=d,q)などを用いて電圧指令値を算出する(電圧指令値演算工程)。
 dq軸デッドタイム補償値演算部201は、入力されるモータ回転数N、モータ角度(電気角)θe、dq軸電流指令値Iref_m(m=d,q)から算出したdq軸デッドタイム補償値DT_m(m=d,q)を加算部205に出力する。
 dq軸電流フィードバック制御部203は、入力されるモータ角速度ω、dq軸電流指令値Iref_m(m=d,q)、2相のフィードバックdq軸電流Id,Iqから算出した電圧制御指令値Vref_ma(m=d,q)を加算部205に出力する。
 電圧/Duty変換係数演算部204は、インバータ印加電圧VRに応じて電圧/Dutyの変換係数Kcを算出する。
 加算部205は、dq軸デッドタイム補償値DT_m(m=d,q)と、電圧制御指令値Vref_ma(m=d,q)とを加算した電圧制御指令値Vref_mb(m=d,q)を、3相Dutyクランプ/VR感応演算部210に出力する。
 dq軸Dutyクランプ/VR(インバータ印加電圧)感応演算部210は、電圧制御指令値Vref_mb(m=d,q)と、電圧/Duty変換の変換係数Kcとを乗算して算出したdq軸正規用のDuty指令値D1m(m=d,q)(Duty_d,Duty_q)を、空間ベクトル変調部250に入力する。
[電気角補間部240D]
 図58は、電気角補間部240Dの構成図である。
 電気角補間部240Dは、入力されたモータ角度θeから、補間Duty演算用のモータ角度(補間電気角)θsを算出して、空間ベクトル変調部250に出力する(電気角補間工程)。
 電気角補間部240Dは、制御周期250μs(Tc)で検出されたモータ角度θeに対する1次関数補間演算(First Order Hold演算:以下では、1次関数補間演算のことを単に「FOH演算」とする場合もある。)により、制御周期Tcを1/5に分割した50μsの間隔(分割間隔)でモータ角度(補間電気角)θsを推定し、推定されたモータ角度(補間電気角)θsに基づいて補間Duty指令値を算出する。
 電気角補間部240Dが行うdq軸電流制御では、空間ベクトル変調後のDuty指令値を補間対象としない。空間ベクトル変調後のDuty指令値には、過渡変化のあるデッドタイム補償値や空間ベクトル変調による3次高周波の歪み成分等に起因するノイズ成分が含まれ、Duty指令値を直接補間して算出した補間Duty指令値には、大きなノイズを含む値となる場合があるためである。
 電気角補間部240Dは、図58に示すように、モータ角度θeを入力して直接的にFOH演算を行う演算処理部241D(FOH演算部241D-1およびロールオーバ処理部241-2)と、モータ角度θeを入力してオフセット処理等を行い、FOH演算を行うオフセット付き演算処理部242Dと、モータ角度θeが90°より大きく、270°以下である範囲とそれ以外の範囲のいずれに属するかを判定して切替フラグSFを出力するモータ角度切替判定部243と、切替フラグSFによって接点a,bを切替えて補間Duty演算用のモータ角度(補間電気角)θsを出力する切替部244と、を備えている。
 図59から図62は、制御周期Tcを1/5に分割した50μsの間隔でFOH演算により算出した4つの補間電気角(以降、「補間電気角1~4」と称す)を示している。以前に検出したモータ電気角θeを用いて補間電気角1~4(θs1~4)を算出することで、電気角の変化を滑らかにすることができる。
 FOH演算に用いられる関数y[k]は、式26で表される。y[k]は制御周期数kにおけるモータ角度(電気角)を表す関数である。
Figure JPOXMLDOC01-appb-M000028
 係数a,bを用いて、前回値y[-1]、今回値y[0]で表すと式27が成立する。
Figure JPOXMLDOC01-appb-M000029
 以上の数式を整理してa,bは、y[0],y[-1]を用いて式28のように表される。
Figure JPOXMLDOC01-appb-M000030
 式28を式26に代入すると、式29となる。
Figure JPOXMLDOC01-appb-M000031
 補間電気角1(θs1)は、制御周期Tcから50μs(Tc*{1/5})後の電気角であるから、式29にk=0.2を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000032
 補間電気角2(θs2)は、制御周期Tcから100μs(Tc*{2/5})後の電気角であるから、式29にk=0.4を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000033
 補間電気角3(θs3)は、制御周期Tcから150μs(Tc*{3/5})後の電気角であるから、式29にk=0.6を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000034
 補間電気角4(θs4)は、制御周期Tcから200μs(Tc*{4/5})後の電気角であるから、式29にk=0.8を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000035
 図63は、FOH演算部241D-1(242D-4)の機能構成図である。
 FOH演算部241D-1は、モータ角度θeの前回値の保持ユニット245-1および保持ユニット245-2と、係数部B0(245-3)と、係数部B1(245-4)と、係数部B2(245-5)と、加算部245-6と、加算部245-7と、を有している。
 モータ角度θeは、係数部B0(245-3)および保持ユニット245-1に入力され、保持ユニット245-1の保持値は係数部B1(245-4)および保持ユニット245-2に入力される。保持ユニット245-2の保持値は係数部B2(245-5)に入力され、係数部B0(245-3)、係数部B1(245-4)および係数部B2(245-5)の各出力値が、加算部245-7および加算部245-6で加算されて、補間電気角θsとして出力される。
 補間電気角1~4(θs1~4)を算出する際の係数B0,B1は、式30~33により、表3のように表される。
Figure JPOXMLDOC01-appb-T000036
 電気角補間部240D内の演算処理部241Dは、図58に示すように、モータ角度θeを入力してFOH演算を行うFOH演算部241D-1と、FOH演算部241D-1から出力されるモータ角度θe1をロールオーバ処理(波形処理)するロールオーバ処理部241-2と、を備えている。ロールオーバ処理部241-2でロールオーバ処理されたモータ角度θe2は、切替部244の接点aに入力される。
 オフセット付き演算処理部242Dは、図58に示すように、モータ角度θeが入力されて固定部242-1から入力される係数180°によるオフセット処理を行う加算部242-2と、加算部242-2から入力されるモータ角度θe3をロールオーバ処理(波形処理)するロールオーバ処理部242-3と、ロールオーバ処理部242-3から入力されるモータ角度θe4を補正するFOH演算部242D-4と、FOH演算部242D-4からモータ角度θe5が入力されて固定部242-5から入力される係数180°によるオフセット戻し処理を行う減算部242-6と、減算部242-6から入力されるモータ角度θe6をロールオーバ処理(波形処理)するロールオーバ処理部242-7と、を備えている。ロールオーバ処理部242-7でロールオーバ処理されたモータ角度θe7は、切替部244の接点bに入力される。
 演算処理部241Dのロールオーバ処理部241-2からのモータ角度θe2は切替部244の接点aに入力されており、オフセット付き演算処理部242Dのロールオーバ処理部242-7からのモータ角度θe7は切替部244の接点bに入力されている。そして、切替部244の接点a及びbは、モータ角度切替判定部243からの切替フラグSF(「H」、「L」)によって切替えられ、切替部244から補間Duty演算用のモータ角度(補間電気角)θsが出力される。
 モータ角度(電気角)θeは、現在のモータ角度から次のモータ角度に移る際において360°を超えた場合、0°に戻る。このとき過渡的な角度変動が発生するため、現在のモータ角度を用いてFOH演算を行うと正確な補間演算結果にならない場合がある。この問題を回避するため、電気角補間部240Dは、入力電気角のモータ角度θeに応じて演算出力(補間Duty演算用のモータ角度θs)を切替える。
 モータ角度θeが90°<θe≦270°の範囲では、モータ角度θeに過渡的な角度変動がない。そのため、電気角補間部240Dは、入力されるモータ角度θeに対してFOH演算を行う。
 一方、モータ角度θeが0°≦θe≦90°または270°<θe≦360°の範囲では、モータ角度θeに過渡的な角度変動がある。そのため、電気角補間部240Dは、モータ角度θeを180°オフセット処理し、連続的な角度信号にしてからFOH演算を行い、FOH演算後の補間演算結果に対して180°オフセット戻し処理を行う。
 モータ角度切替判定部243は、入力モータ角度θeから切替フラグSF(90°<θe≦270°のとき「H」、0°≦θe≦90°または270°<θe≦360°のとき「L」)を生成する。
 切替部244は、切替フラグSFに基づいて、FOH演算後の補間Duty演算用のモータ角度(補間電気角)θsを選択して出力する。
 すなわち、切替部244は、90°<θe≦270°のとき、式34のように制御され、モータ角度θe2を補間Duty演算用のモータ角度θsとして出力する。
Figure JPOXMLDOC01-appb-M000037
 また、切替部244は、0°≦θe≦90°または270°<θe≦360°のとき、式35のように制御され、モータ角度θe7を補間Duty演算用のモータ角度θsとして出力する。
Figure JPOXMLDOC01-appb-M000038
 図64は、電気角補間部240Dの制御フローチャートを示す。
 電気角補間部240Dにモータ角度(電気角)θeが入力される(ステップS301)。
 演算処理部241DのFOH演算部241D-1は、FOH演算を行う(ステップS310)。モータ角度θeは、次のFOH演算において前回値として使用するため、保持ユニット245-1に入力される。また、保持ユニット245-1に入力されていた前回値は、次のFOH演算において前々回値として使用するため、保持ユニット245-2に入力される。
 ロールオーバ処理部241-2は、FOH演算されたモータ角度θe1をロールオーバ処理してモータ角度θe2を出力する(ステップS311)。
 オフセット付き演算処理部242Dは、加算部242-2が固定部242-1から入力される係数180°を用いてモータ角度(電気角)θeをオフセット処理する(ステップS320)。
 ロールオーバ処理部242-3は、オフセット処理されたモータ角度θe3をロールオーバ処理してモータ角度θe4を出力する(ステップS321)。
 FOH演算部242D-4は、入力されたモータ角度θe4に対してFOH演算を行う(ステップS322)。モータ角度θeは、次のFOH演算において前回値として使用するため、保持ユニット245-1に入力される。また、保持ユニット245-1に入力されていた前回値は、次のFOH演算において前々回値として使用するため、保持ユニット245-2に入力される。
 FOH演算されたモータ角度θe5は減算部242-6に入力され、固定部242-5から入力される係数180°でオフセット戻し処理が行われる(ステップS323)。
 オフセット戻し処理されたモータ角度θe6は、ロールオーバ処理部242-7でロールオーバ処理されてモータ角度θe7が出力される(ステップS324)。
 ステップS311およびステップS324の処理完了後、モータ角度切替判定部243は、モータ角度θeが90°より大きく、270°以下であることを判定する(ステップS302)。
 この条件に当てはまる場合(YESの場合)、モータ角度切替判定部243は、切替フラグSFを「H」にする。
 上記条件に当てはまらない場合(NOの場合)、モータ角度θeは0°以上で90°以下、または270°より大きく360°以下であり、モータ角度切替判定部243は、切替フラグSFを「L」にする。
 モータ角度切替判定部243から入力された切替フラグSFが「H」の場合、切替部244は、θe2を選択し、補間Duty演算用のモータ角度(補間電気角)θsとして出力する(ステップS303)。
 モータ角度切替判定部243から入力された切替フラグSFが「L」の場合、切替部244は、θe7を選択し、補間Duty演算用のモータ角度(補間電気角)θsとして出力する(ステップS304)。
 電気角補間部240Dは、補間電気角1~4(θs1~4)に対応する係数B0,B1(表1参照)を用いてFOH演算を行い、補間電気角1~4(θs1~4)をそれぞれ算出する。
 図65は、電気角補間部240Dの各部波形を示しており、横軸は時間[sec]であり、縦軸はMPU等で処理する内部値で、64[dec]/1[deg]である。なお、23040[dec]=360[deg]である。
 図65(A)は演算処理部241Dから出力されるモータ角度θe2の波形例であり、図65(B)はオフセット付き演算処理部242Dから出力されるモータ角度θe7の波形例である。また、図65(C)は切替フラグSFの「H」、「L」の切替のタイミングを示しており、図65(D)は切替部244から出力される補間Duty演算用のモータ角度(補間電気角)θsの波形例を示している。
 図65(D)に示すように、電気角補間部240Dの出力するモータ角度(補間電気角)θsは、図65(A)に示す波形と比較して、モータ角度θsが360°を超えて0°に戻る際において、過渡的な角度変動がない。モータ角度θeはリニアリティが高ければ比較的ノイズが少なく、360°から0°に切替える角度変化以外に過渡的な変化がないため、FOH演算による補間電気角の算出において高い精度を確保することができる。
[空間ベクトル変調部250]
 図66は、空間ベクトル変調部250の機能構成図である。
 空間ベクトル変調部(変換部)250は、電圧の次元からDutyの次元に変換してから空間ベクトル変換演算を行う(変換工程)。空間ベクトル変調部250は、dq軸空間の正規演算用のDuty指令値D1m(m=d,q)(Duty_d,Duty_q)を3相Duty指令値(Duty_ua,Duty_va,Duty_wa)に変換して、3次高調波を重畳し、3相のDuty指令値Duty_u,Duty_v,Duty_wを出力する機能を有していれば良く、例えば本出願人による特開2017-70066号公報や国際公開第2017/098840号等で提案している空間ベクトル変調の手法を用いても良い。
 空間ベクトル変調部250は、モータ角度(電気角)θeを用いて上記の空間ベクトル変換演算を行う空間ベクトル変調部250-0と、補間電気角1~4(θs1~4)をそれぞれ用いて空間ベクトル変換演算を行う空間ベクトル変調部250-1,250-2,250-3,250-4と、を有する。
 空間ベクトル変調部250-0は、モータ角度(電気角)θeを用いて空間ベクトル変換演算を行い、3相のDuty指令値Duty_u,Duty_v,Duty_wを出力する。
 空間ベクトル変調部250-1は、補間電気角1(θs1)を用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_u_m1,Duty_v_m1,Duty_w_m1を出力する。
 空間ベクトル変調部250-2は、補間電気角2(θs2)を用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_u_m2,Duty_v_m2,Duty_w_m2を出力する。
 空間ベクトル変調部250-3は、補間電気角3(θs3)を用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_u_m3,Duty_v_m3,Duty_w_m3を出力する。
 空間ベクトル変調部250-4は、補間電気角4(θs4)を用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_u_m4,Duty_v_m4,Duty_w_m4を出力する。
[最終Duty演算部200]
 図67は、最終Duty演算部200の機能構成図である。
 最終Duty演算部200は、空間ベクトル変調部250からの正規Duty指令値Duty_n(n=u,v,w)が加算部221に入力される。加算部221でDuty50%のオフセットを加算されたDuty値は、Duty出力を0~100%の範囲(可変)で制限するリミッタ222に入力される。リミッタ222からは最終正規Duty指令値Dn(n=u,v,w)が出力される。
 空間ベクトル変調部250からの補間Duty指令値Duty_n_m1は加算部231に入力され、加算部231でDuty50%のオフセットを加算されたDuty値は、Duty出力を0~100%の範囲(可変)で制限するリミッタ232に入力される。リミッタ232から最終補間Duty指令値Dnm1(n=u,v,w)が出力される。
 空間ベクトル変調部250からの補間Duty指令値Duty_n_m2,Duty_n_m3,Duty_n_m4は、補間Duty指令値Duty_n_m1と同様の処理がなされ、リミッタ232から最終補間Duty指令値Dnm2,Dnm3,Dnm4(n=u,v,w)が出力される。
 一般的にEPSはバッテリ(DC+12V)からモータ印加電圧を供給するため、負(-)方向の印加電圧を供給することができない。このままでは負方向の相電圧指令値を供給できないため、負方向に相電流を流すことができない。この問題に対応するため、3相ともDuty値50%(+6V)オフセットして基準電圧にすることにより、3相が0Vでなくても3相Duty値50%時に相電流が0Aになる(モータ印加電圧+12V時)。例えば、U相Duty値50%(+6V)、V相Duty値50%(+6V)、W相Duty値50%(+6V)の場合、U相0A、V相0A、W相0Aとなり、U相Duty値60%(+7.2V)、V相Duty値50%(+6V)、W相Duty値40%(+4.8V)とした場合、U相には正(+)方向に電流が流れ、U相Duty値40%(+4.8V)、V相Duty値50%(+6V)、W相Duty値60%(+7.2V)とした場合、U相には負方向に電流が流れる。3相ともDuty値50%にオフセットして基準電圧にすることによって、印加電圧が正のまま、負方向の電流を流すことができる。なお、Duty値50%オフセットは基本的に固定であるが、Duty値50%時の基準電圧は、供給される印加電圧状態によって変動する。例えば、印加電圧11Vの時、Duty値50%は5.5Vとなり、印加電圧13Vの時、Duty値50%は6.5Vになる。
[Duty出力設定部160A-1]
 図68は、Duty出力設定部160A-1の機能構成図である。
 Duty出力設定部(出力設定部)160A-1は、図68に示すように、制御周期Tcを1/5に分割した50μsの間隔(分割間隔)に合わせ、制御周期Tcからの経過時間Tに基づいて、出力する最終的なDuty指令値Du_o,Dv_o,Dw_oを切り替えて出力する(出力設定工程)。
 図69から図72は、モータ回転数が一定回転数(2000rpm)になるように操舵した条件において、補間電気角1~4(θs1~4)[deg]を推定したシミュレーション結果である。いずれの結果においても、補間電気角1~4が、モータ電気角θeを線形補間した線に重なっており、FOH演算による推定角度演算が精度高く適切に行われていることが確認できる。
 図73から図76は、図69から図72に結果を示すシミュレーションと同一条件において推定した補間電気角1~4(θs1~4)を使用して演算したDuty指令値(U相)Du_m1~Du_m4のシミュレーション波形である。いずれの結果においても、補間Duty指令値が、正規Duty指令値Duを線形補間した線上または近傍に出力され、補間電気角を用いたDuty指令値の補間が精度高く適切に行われていることが確認できる。なお、V,W相は図示されていないが同様の結果を示す。
 本実施形態のモータ制御装置400Dによれば、デッドタイム補償の影響を受けずに、ノイズが少ない補間Duty指令値を算出し、PWM演算を行う周期よりも早い周期(50μs)でPWM制御の制御信号を変動させることができる。これにより、マイクロコンピュータの演算処理量の増加は軽微でありながら、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
 本実施形態のモータ制御装置400Dによれば、補間電気角の演算に一次関数補間演算FOHを使用しており、二次関数補間演算等の補間演算と比較して、精度がわずかに低下するものの、マイクロコンピュータの演算処理量の増加を好適に抑えることができる。
 以上、本発明の第四実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、上述の実施形態および変形例において示された構成要素は適宜に組み合わせて構成することが可能である。
(変形例10)
 例えば、上記実施形態に係るモータ制御装置400Dは、モータ100が空間ベクトル駆動を用いたベクトル制御方式により制御されていたが、モータ制御装置の制御対象のモータはこれに限定されない。本発明に係るモータ制御装置の制御対象のモータは、例えば正弦波制御方式のブラシレスモータであってもよい。本発明に係るモータ制御装置は、Duty指令値を直接の補間対象とせず、モータ角度(電気角)θeを補間対象とする。モータ角度θeはリニアリティが高ければ比較的ノイズが少なく、360°から0°に切替える角度変化以外に過渡的な変化がないため、FOH演算による補間電気角の算出および補間Duty指令値の算出において高い精度を確保することができる。
(変形例11)
 例えば、上記実施形態に係るモータ制御装置400Dは、電動パワーステアリング装置300Dに搭載されていたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、高トルクが要求される一方で低騒音が要求されるモータ駆動装置に搭載することが適している。例えば、本発明に係るモータ制御装置は、装着者の歩行時の筋力を支援する歩行支援装置や、室内で動作する掃除装置等に搭載することで、モータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
(変形例12)
 例えば、上記実施形態に係るモータ制御装置400Dは、制御周期Tcを1/5に分割した50μsの等間隔(分割間隔)でモータ角度(補間電気角)θsを推定していたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Tcを任意の分割数で分割してもよく、また、不等間隔で分割してもよい。
(変形例13)
 例えば、上記実施形態に係るモータ制御装置400Dは、制御周期Tcが250μs(周波数4KHz)であったが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Tcが100μs以上、250μs以下であるとき好適に可聴帯域のモータに起因する音を低減することができる。モータ制御装置が搭載するCPU等の性能が向上したり、制御対象のモータの極数が増加したりすることで、制御周期が250μsより短くなることが予測される。制御周期Tcが100μs以上、250μs以下である場合、上記実施形態と同様に、可聴帯域のモータに起因する音を生じる問題が発生するが、本発明に係るモータ制御装置によれば、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
(第五実施形態)
 本発明の第五実施形態について、図77から図95を参照して説明する。
 図77は、本実施形態に係るモータ制御装置400Eを搭載する電動パワーステアリング装置300Eの構成を示す模式図である。電動パワーステアリング装置300Eは、コラム部(ステアリングシャフト)に電動モータと減速機構とが配置されるコラムアシスト式電動パワーステアリング装置である。
[電動パワーステアリング装置300E]
 電動パワーステアリング装置300Eは、ハンドル1のコラム軸(ステアリングシャフト、ハンドル軸)2、減速ギア3、ユニバーサルジョイント4a,4b、ピニオンラック機構5、タイロッド6a,6bを経て、更にハブユニット7a,7bを介して操向車輪8L,8Rに連結されている。また、コラム軸2には、ハンドル1の舵角θeを検出する舵角センサ14と、ハンドル1の操舵トルクThを検出するトルクセンサ10とが設けられており、ハンドル1の操舵力を補助するモータ100が減速ギア3を介してコラム軸2に連結されている。電動パワーステアリング装置300Eを制御するコントロールユニット(ECU)30には、バッテリ13から電力が供給されると共に、イグニションキー11を経てイグニションキー信号が入力される。
 コントロールユニット30は、トルクセンサ10で検出された操舵トルクThと車速センサ12で検出された車速Vsとに基づいてアシスト(操舵補助)指令の電流指令値の演算を行い、演算された電流指令値に補償等を施した電圧制御指令値Vrefによってモータ100を制御する。舵角センサ14は必須のものではなく、配設されていなくても良く、モータ100に連結されたレゾルバ等の回転センサから舵角(モータ角度)θeを得ることもできる。
 コントロールユニット30は、主としてCPU(Central Processing Unit)(MPU(Micro Processor Unit)やMCU(Micro Controller Unit)等を含む)を含むプログラム実行可能なコンピュータを備えている。
 コントロールユニット30は、モータ100を駆動するインバータ161や、モータ100の電流を検出するモータ電流検出回路162や、モータ100のモータ角度θeを検出する角度検出部110Aなどの回路を備えている。なお、これらの回路は、モータ100側に搭載されていてもよい。
 コントロールユニット30には、車両の各種情報を授受するCAN(Controller Area Network)40が接続されており、車速VsはCAN40から受信することも可能である。また、コントロールユニット30には、CAN40以外の通信、アナログ/ディジタル信号、電波等を授受する非CAN41も接続可能である。
 モータ100は、近年、電動パワーステアリング装置300Eのアクチュエータとして主流である3相ブラシレスモータである。モータ100は、空間ベクトル駆動を用いたベクトル制御方式により制御される。空間ベクトル駆動を用いたベクトル制御方式は、モータ100のロータの座標軸であるトルクを制御するq軸と、磁界の強さを制御するd軸とを独立に設定し、dq軸が90°の関係にあることから、そのベクトルで各軸に相当する電流(d軸電流指令値Iref_d,q軸電流指令値Iref_q)を制御する。
[モータ制御装置400E]
 図78は、コントロールユニット30によって構成されるモータ制御装置400Eの機能構成図である。モータ制御装置400Eの機能は、CPU等において実行されるプログラムと、インバータ等の電子回路とを適宜組み合わせて実現される。以降の説明において電子回路として記載された機能が、CPU等において実行されるプログラムとして実現されていてもよい。
 モータ制御装置400Eは、モータ100の駆動制御を行う。モータ制御装置400Eは、電流指令値演算部31と、モータ制御部39Eと、PWM制御部160と、インバータ161と、モータ電流検出回路162と、モータ角度検出部110Aと、角速度演算部110Bと、3相交流/dq軸変換部130と、を備える。
 電流指令値演算部31は、操舵トルクThと車速Vs等に基づきアシストマップ等を用いて演算された2軸(dq軸座標系)のdq軸電流指令値Iref_m(m=d,q)を、モータ制御部39Eに出力する。
 モータ制御部39Eは、入力されるdq軸電流指令値Iref_m(m=d,q)、モータ角度θeおよびモータ回転数N等から、デッドタイム補償を施した電圧制御指令値Vref_mb(m=d,q)を算出する。また、モータ制御部39Eは、電圧制御指令値Vref_mb(m=d,q)等から、空間ベクトル変調により3相のDuty指令値Du_o,Dv_o,Dw_oを算出して、PWM制御部160に出力する。
 図79は、PWM制御部160およびインバータ161の構成図である。
 インバータ161は、図79に示すように、FETの3相ブリッジで構成されており、PWM-Duty値D1~D6でON/OFFされることによってモータ100を駆動する。インバータ161とモータ100との間には、アシスト制御停止時等に電流の供給を遮断するためのモータスイッチ101が介挿されている。上側アームはスイッチング素子としてのFETQ1,Q2,Q3で構成され、下側アームはFETQ4,Q5,Q6で構成されている。また、FETQ1およびQ4がU相、FETQ2およびQ5がV相、FETQ3およびQ6がW相の駆動素子である。
 PWM制御部160は、図79に示すように、入力された3相のDuty指令値Du_o,Dv_o,Dw_oに基づき、図79に示すような上下アームのブリッジ構成で成るインバータ(インバータ印加電圧VR)161を介してモータ100を駆動制御する。PWM制御部160は、図79に示すように、PWM部160A-2と、ゲート駆動部160Bとを有する。
 PWM部160A-2は、図79に示すように、3相のDuty指令値Du_o,Dv_o,Dw_oをそれぞれ所定式に従って3相分PWM―Duty値D1~D6を算出する。PWM部160A-2には、発振部160Cから例えば三角波の変調信号(キャリア)CFが入力されており、PWM部160A-2は変調信号CFに同期してPWM―Duty値D1~D6を算出する。
 ゲート駆動部160Bは、図79に示すように、PWM―Duty値D1~D6を出力して駆動素子であるFETQ1~Q6のゲートを駆動する。
 電動パワーステアリング装置300Eは車載製品であるため、稼動温度範囲が広く、フェールセーフの観点からモータ100を駆動するインバータ161は家電製品を代表とする一般産業用と比較して、デッドタイムを大きく(産業用機器<EPS)する必要がある。一般にスイッチング素子(例えばFET(Field-Effect Transistor))にはOFFの際に遅れ時間があるため、上下アームのスイッチング素子のOFF/ON切替えを同時に行うと、直流リンクが短絡する状況が発生する場合がある。この状況の発生を防ぐため、上下アーム両方のスイッチング素子がOFFになる時間(デッドタイム)が設けられる。
 上記のようなデッドタイム補償を行った場合、電流波形が歪み、電流制御の応答性や操舵感が悪化し、例えばハンドルがオンセンター付近にある状態でゆっくり操舵すると、トルクリップル等による不連続な操舵感などが生じる場合がある。
 電流検出器162は、図78に示すように、モータ100の3相モータ電流Iu,Iv,Iwを検出する。検出された3相モータ電流Iu,Iv,Iwは、3相交流/dq軸変換部130に入力され、2相のフィードバックdq軸電流Id,Iqに変換される。2相のフィードバックdq軸電流Id,Iqは、モータ制御部39Eに入力される。
 モータ角度検出部110Aは、モータ100のモータ角度θeを、必要がある場合は演算を行い、取得する。モータ角度θeは、角速度演算部110B、モータ制御部39Eおよび3相交流/dq軸変換部130に入力される。
 角速度演算部110Bは、モータ角度θeからモータ回転数Nおよびモータ角速度ωを演算により取得する。モータ回転数Nおよびモータ角速度ωは、モータ制御部39Eに入力される。
[モータ制御部39E]
 図80は、モータ制御部39Eの機能構成図である。
 モータ制御部39Eは、電圧指令値演算部220と、電気角補間部240Eと、空間ベクトル変調部250と、最終Duty演算部200と、Duty出力設定部160A-1と、を備えている。
 電圧指令値演算部220は、dq軸デッドタイム補償値演算部201と、dq軸電流フィードバック制御部203と、電圧/Duty変換係数演算部204と、加算部205と、dq軸Dutyクランプ/VR感応演算部210と、を備えている。
 電圧指令値演算部220は、モータ100から制御周期Tcごとに取得したモータ電気角θeおよびモータ回転数θeと電流指令値Iref_m(m=d,q)などを用いて電圧指令値を算出する(電圧指令値演算工程)。
 dq軸デッドタイム補償値演算部201は、入力されるモータ回転数N、モータ角度(電気角)θe、dq軸電流指令値Iref_m(m=d,q)から算出したdq軸デッドタイム補償値DT_m(m=d,q)を加算部205に出力する。
 dq軸電流フィードバック制御部203は、入力されるモータ角速度ω、dq軸電流指令値Iref_m(m=d,q)、2相のフィードバックdq軸電流Id,Iqから算出した電圧制御指令値Vref_ma(m=d,q)を加算部205に出力する。
 電圧/Duty変換係数演算部204は、インバータ印加電圧VRに応じて電圧/Dutyの変換係数Kcを算出する。
 加算部205は、dq軸デッドタイム補償値DT_m(m=d,q)と、電圧制御指令値Vref_ma(m=d,q)とを加算した電圧制御指令値Vref_mb(m=d,q)を、3相Dutyクランプ/VR感応演算部210に出力する。
 dq軸Dutyクランプ/VR(インバータ印加電圧)感応演算部210は、電圧制御指令値Vref_mb(m=d,q)と、電圧/Duty変換の変換係数Kcとを乗算して算出したdq軸正規用のDuty指令値D1m(m=d,q)(Duty_d,Duty_q)を、空間ベクトル変調部250に入力する。
[電気角補間部240E]
 図81は、電気角補間部240Eの構成図である。
 電気角補間部240Eは、入力されたモータ角度θeから、補間Duty演算用のモータ角度(補間電気角)θcを算出して、空間ベクトル変調部250に出力する(電気角補間工程)。
 電気角補間部240Eは、制御周期250μs(Tc)で検出されたモータ角度θeに対する2次関数補間演算(Second Order Hold演算:以下では、2次関数補間演算のことを単に「SOH演算」とする場合もある。)もしくは1次関数補間演算(First Order Hold演算:以下では、1次関数補間演算のことを単に「FOH演算」とする場合もある。)により、制御周期Tcを1/5に分割した50μsの間隔(分割間隔)でモータ角度(補間電気角)θsを推定し、推定されたモータ角度(補間電気角)θsに基づいて補間Duty指令値を算出する。
 電気角補間部240Eが行うdq軸電流制御では、空間ベクトル変調後のDuty指令値を補間対象としない。空間ベクトル変調後のDuty指令値には、過渡変化のあるデッドタイム補償値や空間ベクトル変調による3次高周波の歪み成分等に起因するノイズ成分が含まれ、Duty指令値を直接補間して算出した補間Duty指令値には、大きなノイズを含む値となる場合があるためである。
 電気角補間部240Eは、図81に示すように、モータ角度θeを入力して直接的にSOH演算もしくはFOH演算を行う演算処理部241Eと、モータ角度θeを入力してオフセット処理等を行い、SOH演算もしくはFOH演算を行うオフセット付き演算処理部242Eと、モータ角度θeが90°より大きく、270°以下である範囲とそれ以外の範囲のいずれに属するかを判定して切替フラグ(電気角切替フラグ)SFを出力するモータ角度切替判定部243と、切替フラグSFによって接点a,bを切替えて補間Duty演算用のモータ角度(補間電気角)θsを出力する切替部244と、補間演算切替フラグHFと補間切替フラグEFを出力する補間演算切替判定部247と、最終的な補間Duty演算用のモータ角度(補間電気角)θcを出力する第二切替部246と、を備えている。
 図82から図85は、制御周期Tcを1/5に分割した50μsの間隔で推定された4つの補間電気角(以降、「補間電気角1~4」と称す)を示している。以前に検出したモータ電気角θeを用いて補間電気角1~4(θs1~4)を算出することで、電気角の変化を滑らかにすることができる。
 以降の説明において、制御周期Tcを1/5に分割した50μsの間隔でSOH演算により推定された4つの補間電気角1~4を「θss1~4」とする。また、制御周期Tcを1/5に分割した50μsの間隔でFOH演算により推定された4つの補間電気角1~4を「θsf1~4」とする。
 SOH演算に用いられる関数y[k]は、式36で表される。y[k]は制御周期数kにおけるモータ角度(電気角)を表す関数である。
Figure JPOXMLDOC01-appb-M000039
 係数a,b,cを用いて、前々回値y[-2]、前回値y[-1]、今回値y[0]で表すと式37が成立する。
Figure JPOXMLDOC01-appb-M000040
 以上の数式を整理してa,b,cは、y[0],y[-1],y[-2]を用いて式38のように表される。
Figure JPOXMLDOC01-appb-M000041
 式38を式36に代入すると、式39となる。
Figure JPOXMLDOC01-appb-M000042
 補間電気角1(θss1)は、制御周期Tcから50μs(Tc*{1/5})後の電気角であるから、式39にk=0.2を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000043
 補間電気角2(θss2)は、制御周期Tcから100μs(Tc*{2/5})後の電気角であるから、式39にk=0.4を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000044
 補間電気角3(θss3)は、制御周期Tcから150μs(Tc*{3/5})後の電気角であるから、式39にk=0.6を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000045
 補間電気角4(θss4)は、制御周期Tcから200μs(Tc*{4/5})後の電気角であるから、式39にk=0.8を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000046
 図86は、SOH演算部241-1(242-4)の機能構成図である。
 SOH演算部241-1は、モータ角度θeの前回値の保持ユニット245-1および保持ユニット245-2と、係数部B0(245-3)と、係数部B1(245-4)と、係数部B2(245-5)と、加算部245-6と、加算部245-7と、を有している。
 モータ角度θeは、係数部B0(245-3)および保持ユニット245-1に入力され、保持ユニット245-1の保持値は係数部B1(245-4)および保持ユニット245-2に入力される。保持ユニット245-2の保持値は係数部B2(245-5)に入力され、係数部B0(245-3)、係数部B1(245-4)および係数部B2(245-5)の各出力値が、加算部245-7および加算部245-6で加算されて、補間電気角θssとして出力される。
 補間電気角1~4(θss1~4)を算出する際の係数B0,B1,B2は、式40~43により、表4のように表される。
Figure JPOXMLDOC01-appb-T000047
 FOH演算に用いられる関数y[k]は、式44で表される。y[k]は制御周期数kにおけるモータ角度(電気角)を表す関数である。
Figure JPOXMLDOC01-appb-M000048
 係数a,bを用いて、前回値y[-1]、今回値y[0]で表すと式45が成立する。
Figure JPOXMLDOC01-appb-M000049
 以上の数式を整理してa,bは、y[0],y[-1]を用いて式46のように表される。
Figure JPOXMLDOC01-appb-M000050
 式46を式44に代入すると、式47となる。
Figure JPOXMLDOC01-appb-M000051
 補間電気角1(θsf1)は、制御周期Tcから50μs(Tc*{1/5})後の電気角であるから、式47にk=0.2を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000052
 補間電気角2(θsf2)は、制御周期Tcから100μs(Tc*{2/5})後の電気角であるから、式47にk=0.4を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000053
 補間電気角3(θsf3)は、制御周期Tcから150μs(Tc*{3/5})後の電気角であるから、式47にk=0.6を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000054
 補間電気角4(θsf4)は、制御周期Tcから200μs(Tc*{4/5})後の電気角であるから、式47にk=0.8を代入することで算出することができる。
Figure JPOXMLDOC01-appb-M000055
 図87は、FOH演算部241D-1(242D-4)の機能構成図である。
 FOH演算部241D-1は、モータ角度θeの前回値の保持ユニット245-1および保持ユニット245-2と、係数部B0(245-3)と、係数部B1(245-4)と、係数部B2(245-5)と、加算部245-6と、加算部245-7と、を有している。
 モータ角度θeは、係数部B0(245-3)および保持ユニット245-1に入力され、保持ユニット245-1の保持値は係数部B1(245-4)および保持ユニット245-2に入力される。保持ユニット245-2の保持値は係数部B2(245-5)に入力され、係数部B0(245-3)、係数部B1(245-4)および係数部B2(245-5)の各出力値が、加算部245-7および加算部245-6で加算されて、補間電気角θsfとして出力される。
 補間電気角1~4(θsf1~4)を算出する際の係数B0,B1は、式48~51により、表5のように表される。
Figure JPOXMLDOC01-appb-T000056
 FOH演算は、SOH演算と比較して、演算処理量が少なく、コントロールユニット30が実行する際の処理負荷も少ない。
 電気角補間部240E内の演算処理部241は、図81に示すように、モータ角度θeを入力してSOH演算を行うSOH演算部241-1と、モータ角度θeを入力してFOH演算を行うFOH演算部241D-1と、補間演算切替フラグHFに基づいて、SOH演算部241-1の出力θssとFOH演算部241D-1の出力θsfとを切り替えて出力する補間演算切替部241-3と、補間演算切替部241-3から出力されるモータ角度θe1をロールオーバ処理(波形処理)するロールオーバ処理部241-2と、を備えている。ロールオーバ処理部241-2でロールオーバ処理されたモータ角度θe2は、切替部244の接点aに入力される。
 補間演算切替部241-3は、補間演算切替フラグHFがHである場合、FOH演算部241D-1の出力θsfをθs1として出力する。補間演算切替部241-3は、補間演算切替フラグHFがLである場合、SOH演算部241-1の出力θssをθs1として出力する。
 オフセット付き演算処理部242は、図81に示すように、モータ角度θeが入力されて固定部242-1から入力される係数180°によるオフセット処理を行う加算部242-2と、加算部242-2から入力されるモータ角度θe3をロールオーバ処理(波形処理)するロールオーバ処理部242-3と、ロールオーバ処理部242-3から入力されるモータ角度θe4を補正するSOH演算部242-4と、モータ角度θe4を補正するFOH演算部242D-4と、補間演算切替フラグHFに基づいて、SOH演算部242-4の出力θssとFOH演算部242D-4の出力θsfとを切り替えて出力する補間演算切替部242-8と、補間演算切替部242-8からモータ角度θe5が入力されて固定部242-5から入力される係数180°によるオフセット戻し処理を行う減算部242-6と、減算部242-6から入力されるモータ角度θe6をロールオーバ処理(波形処理)するロールオーバ処理部242-7と、を備えている。ロールオーバ処理部242-7でロールオーバ処理されたモータ角度θe7は、切替部244の接点bに入力される。
 補間演算切替部242-8は、補間演算切替フラグHFがHである場合、FOH演算部242D-4の出力θsfをθs5として出力する。補間演算切替部242-8は、補間演算切替フラグHFがLである場合、SOH演算部242-4の出力θssをθs5として出力する。
 演算処理部241Eのロールオーバ処理部241-2からのモータ角度θe2は切替部244の接点aに入力されており、オフセット付き演算処理部242Eのロールオーバ処理部242-7からのモータ角度θe7は切替部244の接点bに入力されている。そして、切替部244の接点a及びbは、モータ角度切替判定部243からの切替フラグ(電気角切替フラグ)SF(「H」、「L」)によって切替えられ、切替部244から補間Duty演算用のモータ角度(補間電気角)θsが出力される。
 モータ角度(電気角)θeは、現在のモータ角度から次のモータ角度に移る際において360°を超えた場合、0°に戻る。このとき過渡的な角度変動が発生するため、現在のモータ角度を用いてSOH演算を行うと正確な補間演算結果にならない場合がある。この問題を回避するため、電気角補間部240Eは、入力電気角のモータ角度θeに応じて演算出力(補間Duty演算用のモータ角度θs)を切替える。
 モータ角度θeが90°<θe≦270°の範囲では、モータ角度θeに過渡的な角度変動がない。そのため、電気角補間部240Eは、入力されるモータ角度θeに対してSOH演算を行う。
 一方、モータ角度θeが0°≦θe≦90°または270°<θe≦360°の範囲では、モータ角度θeに過渡的な角度変動がある。そのため、電気角補間部240Eは、モータ角度θeを180°オフセット処理し、連続的な角度信号にしてからSOH演算を行い、SOH演算後の補間演算結果に対して180°オフセット戻し処理を行う。
 モータ角度切替判定部243は、入力モータ角度θeから切替フラグSF(90°<θe≦270°のとき「H」、0°≦θe≦90°または270°<θe≦360°のとき「L」)を生成する。
 切替部244は、切替フラグSFに基づいて、SOH演算後の補間Duty演算用のモータ角度(補間電気角)θsを選択して出力する。
 すなわち、切替部244は、90°<θe≦270°のとき、式52のように制御され、モータ角度θe2を補間Duty演算用のモータ角度θsとして出力する。
Figure JPOXMLDOC01-appb-M000057
 また、切替部244は、0°≦θe≦90°または270°<θe≦360°のとき、式53のように制御され、モータ角度θe7を補間Duty演算用のモータ角度θsとして出力する。
Figure JPOXMLDOC01-appb-M000058
 第二切替部246は、補間切替フラグEFに基づいて、最終的な補間Duty演算用のモータ角度(補間電気角)θcを選択して出力する。第二切替部246は、補間切替フラグEFがHである場合、モータ角度(電気角)θeをθcとして出力する。第二切替部246は、補間切替フラグEFがLである場合、補間Duty演算用のモータ角度θsをθcとして出力する。
 図88は、補間演算切替判定部247の機能構成図である。
 補間演算切替判定部247は、入力されるモータ回転数Nの絶対値を算出する絶対値算出部247-1と、補間演算判定部247-3と、補間判定部247-4と、を有している。
 補間演算判定部247-3は、絶対値算出部247-1が出力するモータ回転数に基づいて、補間演算切替フラグHFを出力する。補間演算判定部247-3は、例えば、(1)モータ回転数Nが高くなり(モータ回転数Nが第一回転数以上になり)、SOH演算に必要な処理がコントロールユニット30の性能限界を超えると判断した場合や、(2)前回および前々回のSOH演算に用いたモータ角度θeを使用するSOH演算の結果に多くのノイズが含まれると判断した場合など、SOH演算を行うことが適切でないと判断した場合に、補間演算切替フラグHFを「H」に切り替える。それ以外の場合は、補間演算判定部247-3は、補間演算切替フラグHFを「L」に切り替える。
 モータ電気角θeが360[deg]から0[deg]に切り換わる際にモータ電気角θeに過渡的な角度変動が生じるため、電気角補間部240Eは、切替部244の出力切替機能により、過渡的な角度変動の影響を含まない補間電気角θsを選択して出力する。しかしながら、モータ回転数Nが高くなると(例えば制御周期Tc毎に変動する角度45[deg]以上)、モータ角度切替判定部243等に必要な演算処理がコントロールユニット30の性能限界を超え、モータ角度切替判定部243が正確に90°<θe≦270°の条件を判定できない場合がある。そのため、回転数が高くなると、電気角補間部240Eは、過渡的な角度変動の影響を含まない補間電気角θsを出力することが難しくなる。この場合、補間演算判定部247-3は、補間演算切替フラグHFを「H」に切り替え、SOH演算をFOH演算に切り換える。FOH演算に切り換えることで、コントロールユニット30の演算処理負荷が低減され、モータ角度切替判定部243の判定が正常化される。
 また、SOH演算は、演算時のモータ角度θeと前回および前々回のSOH演算に用いたモータ角度θeを使用する。そのため、SOH演算に使用する3種類のモータ角度θe全てが過渡的な角度変動の影響を含まない必要がある。モータ回転数Nが高くなると、3種類のモータ角度θeのいずれかが過渡的な角度変動の影響を含む確率は高くなり、電気角補間部240Eは、過渡的な角度変動の影響を含まない補間電気角θsを出力することが難しくなる。この場合、補間演算判定部247-3は、補間演算切替フラグHFを「H」に切り替え、SOH演算をFOH演算に切り換える。FOH演算は、演算時のモータ角度θeと前回のSOH演算に用いたモータ角度θeを使用する。そのため、FOH演算に使用する2種類のみのモータ角度θeが過渡的な角度変動の影響を含まなければよい。FOH演算に切り換えることで、演算に使用するモータ角度θeのいずれかが過渡的な角度変動の影響を含む確率は低くなり、過渡的な角度変動の影響を含まない補間電気角θsが出力される確率は高くなる。
 また、低・中速回転時において、電気角判定フラグSFのHとLの比率は1:1であるが、モータ回転数Nが高くなると、角度変動が大きいため、電気角判定フラグSFのHとLの比率は5:3や3:5等になる場合がある。この場合、電気角判定フラグSFに基づいて動作する切替部244が、過渡的な角度変動の影響を含む補間電気角θsを選択して出力してしまう場合がある。この場合、補間演算判定部247-3は、補間演算切替フラグHFを「H」に切り替え、SOH演算をFOH演算に切り換える。FOH演算に切り換えることで、上述したように、演算に使用するモータ角度θeのいずれかが過渡的な角度変動の影響を含む確率は低くなる。そのため、電気角判定フラグSFのHとLの比率が変動した場合であっても、過渡的な角度変動の影響を含まない補間電気角θsが出力される確率は高くなる。
 また、モータ100の種類によっては、高速回転数領域(例えば5000[rpm]以上)で、角度センサのノイズが大きくなる場合や、角度のリニアリティ誤差が大きくなる場合がある。これらの場合、SOH演算はFOH演算と比較して結果にノイズが含まれる可能性が高くなる。この場合、補間演算判定部247-3は、補間演算切替フラグHFを「H」に切り替え、SOH演算をFOH演算に切り換える。FOH演算は、演算時のモータ角度θeと前回のSOH演算に用いたモータ角度θeを使用する。そのため、FOH演算に使用する2種類のみのモータ角度θeが過渡的な角度変動の影響を含まなければよい。FOH演算に切り換えることで、演算の結果にノイズが含まれる確率を低減することができる。
 さらに、モータ制御装置400Eの問題で、モータ角度θeのサンプリングが間に合わない場合において、補間演算判定部247-3は、補間演算切替フラグHFを「H」に切り替え、SOH演算をFOH演算に切り換える。FOH演算に切り換えることで、コントロールユニット30の演算処理負荷が低減され、モータ角度θeのサンプリングを確実に行うことができる。
 補間判定部247-4は、絶対値算出部247-1が出力するモータ回転数に基づいて、補間切替フラグEFを出力する。補間判定部247-4は、明らかにSOH演算およびFOH演算を実施できないような高速回転数領域(例えば9000[rpm]以上)において(モータ回転数Nが第二回転数以上になった場合)、補間切替フラグEFをHに切り換える。明らかにSOH演算およびFOH演算を実施できないような高速回転数領域においては、演算が正しく行われない可能性が高いため、電気角補間部240Eは補間演算結果を出力しない。
 また、モータ制御装置400Eの問題で、コントロールユニット30に通常以上の処理負荷がかかっており、SOH演算およびFOH演算を実施する処理リソースが不足している場合等も補間判定部247-4は、補間切替フラグEFをHに切り換える。
 図89および図90は、補間演算判定部247-3および補間判定部247-4のフラグ(HFおよびEF)生成のグラフである。補間演算判定部247-3および補間判定部247-4は、ヒステリシス閾値Hiとヒステリシス閾値Loとを用いて、HとLの2値のフラグ(HFおよびEF)を生成している。ヒステリシス閾値Hiとヒステリシス閾値Loは、それぞれ例えば、200[rpm]程度のヒステリシス幅を有しており、フラグ(HFおよびEF)が閾値境界で急激に変動することを防止する。
 図91は、電気角補間部240Eの制御フローチャートを示す。
 電気角補間部240Eにモータ角度(電気角)θeが入力される(ステップS401)。
 演算処理部241のSOH演算部241-1は、補間演算切替フラグHFに基づいてSOH演算もしくはFOH演算を行う(ステップS410)。モータ角度θeは、次のSOH演算において前回値として使用するため、保持ユニット245-1に入力される。また、保持ユニット245-1に入力されていた前回値は、次のSOH演算において前々回値として使用するため、保持ユニット245-2に入力される。
 ロールオーバ処理部241-2は、SOH演算されたモータ角度θe1をロールオーバ処理してモータ角度θe2を出力する(ステップS411)。
 オフセット付き演算処理部242は、加算部242-2が固定部242-1から入力される係数180°を用いてモータ角度(電気角)θeをオフセット処理する(ステップS420)。
 ロールオーバ処理部242-3は、オフセット処理されたモータ角度θe3をロールオーバ処理してモータ角度θe4を出力する(ステップS4421)。
 SOH演算部242-4は、入力されたモータ角度θe4に対して、補間演算切替フラグHFに基づいてSOH演算もしくはFOH演算を行う(ステップS422)。モータ角度θeは、次のSOH演算において前回値として使用するため、保持ユニット245-1に入力される。また、保持ユニット245-1に入力されていた前回値は、次のSOH演算において前々回値として使用するため、保持ユニット245-2に入力される。
 SOH演算されたモータ角度θe5は減算部242-6に入力され、固定部242-5から入力される係数180°でオフセット戻し処理が行われる(ステップS423)。
 オフセット戻し処理されたモータ角度θe6は、ロールオーバ処理部242-7でロールオーバ処理されてモータ角度θe7が出力される(ステップS424)。
 ステップS411およびステップS424の処理完了後、モータ角度切替判定部243は、モータ角度θeが90°より大きく、270°以下であることを判定する(ステップS402)。
 この条件に当てはまる場合(YESの場合)、モータ角度切替判定部243は、切替フラグSFを「H」にする。
 上記条件に当てはまらない場合(NOの場合)、モータ角度θeは0°以上で90°以下、または270°より大きく360°以下であり、モータ角度切替判定部243は、切替フラグSFを「L」にする。
 モータ角度切替判定部243から入力された切替フラグSFが「H」の場合、切替部244は、θe2を選択し、補間Duty演算用のモータ角度(補間電気角)θsとして出力する(ステップS403)。
 モータ角度切替判定部243から入力された切替フラグSFが「L」の場合、切替部244は、θe7を選択し、補間Duty演算用のモータ角度(補間電気角)θsとして出力する(ステップS404)。
 第二切替部246は、補間切替フラグEFがHであることを判定する(ステップS405)。
 この条件に当てはまる場合(YESの場合)、第二切替部246は、モータ角度(電気角)θeをθcとして出力する(ステップS406)。
 上記条件に当てはまらない場合(NOの場合)、第二切替部246は、補間Duty演算用のモータ角度θsをθcとして出力する(ステップS407)。
 電気角補間部240Eは、SOH演算が推定する補間電気角1~4(θss1~4)に対応する係数B0,B1,B2(表1参照)およびFOH演算が推定する補間電気角1~4(θsf1~4)に対応する係数B0,B1(表2参照)を用いて補間演算を行い、補間電気角1~4(θs1~4)をそれぞれ算出する。電気角補間部240Eは、補間切替フラグEFに基づき、モータ角度(電気角)θeもしくは補間電気角1~4(θs1~4)を選択し、補間電気角1~4(θc1~4)として出力する。
 図92は、電気角補間部240Eの各部波形を示しており、横軸は時間[sec]であり、縦軸はMPU等で処理する内部値で、64[dec]/1[deg]である。なお、23040[dec]=360[deg]である。
 図92(A)は演算処理部241Eから出力されるモータ角度θe2の波形例であり、図92(B)はオフセット付き演算処理部242Eから出力されるモータ角度θe7の波形例である。また、図92(C)は切替フラグSFの「H」、「L」の切替のタイミングを示しており、図92(D)は切替部244から出力される補間Duty演算用のモータ角度(補間電気角)θsの波形例を示している。
 モータ回転数Nが高くなると(例えば制御周期Tc毎に変動する角度45[deg]以上)、モータ角度切替判定部243等に必要な演算処理がコントロールユニット30の性能限界を超え、図92(C)の丸印に示すように、モータ角度切替判定部243が正確に90°<θe≦270°の条件を判定できない場合がある。
 この場合、図92(D)に示すように、補間電気角θsが過渡的な角度変動の影響を含む可能性が高くなる。この場合、補間演算判定部247-3は、補間演算切替フラグHFを「H」に切り替え、SOH演算をFOH演算に切り換える。FOH演算に切り換えることで、コントロールユニット30の演算処理負荷が低減され、モータ角度切替判定部243の判定が正常化される。その結果、過渡的な角度変動の影響を含まない補間電気角θsが出力される確率は高くなる。
[空間ベクトル変調部250]
 図93は、空間ベクトル変調部250の機能構成図である。
 空間ベクトル変調部(変換部)250は、電圧の次元からDutyの次元に変換してから空間ベクトル変換演算を行う(変換工程)。空間ベクトル変調部250は、dq軸空間の正規演算用のDuty指令値D1m(m=d,q)(Duty_d,Duty_q)を3相Duty指令値(Duty_ua,Duty_va,Duty_wa)に変換して、3次高調波を重畳し、3相のDuty指令値Duty_u,Duty_v,Duty_wを出力する機能を有していれば良く、例えば本出願人による特開2017-70066号公報や国際公開第2017/098840号等で提案している空間ベクトル変調の手法を用いても良い。
 空間ベクトル変調部250は、モータ角度(電気角)θeを用いて上記の空間ベクトル変換演算を行う空間ベクトル変調部250-0と、補間電気角1~4(θs1~4)をそれぞれ用いて空間ベクトル変換演算を行う空間ベクトル変調部250-1,250-2,250-3,250-4と、を有する。
 空間ベクトル変調部250-0は、モータ角度(電気角)θeを用いて空間ベクトル変換演算を行い、3相のDuty指令値Duty_u,Duty_v,Duty_wを出力する。
 空間ベクトル変調部250-1は、補間電気角1(θc1)を用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_u_m1,Duty_v_m1,Duty_w_m1を出力する。
 空間ベクトル変調部250-2は、補間電気角2(θc2)を用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_u_m2,Duty_v_m2,Duty_w_m2を出力する。
 空間ベクトル変調部250-3は、補間電気角3(θc3)を用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_u_m3,Duty_v_m3,Duty_w_m3を出力する。
 空間ベクトル変調部250-4は、補間電気角4(θc4)を用いて空間ベクトル変換演算を行い、3相の補間Duty指令値Duty_u_m4,Duty_v_m4,Duty_w_m4を出力する。
[最終Duty演算部200]
 図94は、最終Duty演算部200の機能構成図である。
 最終Duty演算部200は、空間ベクトル変調部250からの正規Duty指令値Duty_n(n=u,v,w)が加算部221に入力される。加算部221でDuty50%のオフセットを加算されたDuty値は、Duty出力を0~100%の範囲(可変)で制限するリミッタ222に入力される。リミッタ222からは最終正規Duty指令値Dn(n=u,v,w)が出力される。
 空間ベクトル変調部250からの補間Duty指令値Duty_n_m1は加算部231に入力され、加算部231でDuty50%のオフセットを加算されたDuty値は、Duty出力を0~100%の範囲(可変)で制限するリミッタ232に入力される。リミッタ232から最終補間Duty指令値Dnm1(n=u,v,w)が出力される。
 空間ベクトル変調部250からの補間Duty指令値Duty_n_m2,Duty_n_m3,Duty_n_m4は、補間Duty指令値Duty_n_m1と同様の処理がなされ、リミッタ232から最終補間Duty指令値Dnm2,Dnm3,Dnm4(n=u,v,w)が出力される。
 一般的にEPSはバッテリ(DC+12V)からモータ印加電圧を供給するため、負(-)方向の印加電圧を供給することができない。このままでは負方向の相電圧指令値を供給できないため、負方向に相電流を流すことができない。この問題に対応するため、3相ともDuty値50%(+6V)オフセットして基準電圧にすることにより、3相が0Vでなくても3相Duty値50%時に相電流が0Aになる(モータ印加電圧+12V時)。例えば、U相Duty値50%(+6V)、V相Duty値50%(+6V)、W相Duty値50%(+6V)の場合、U相0A、V相0A、W相0Aとなり、U相Duty値60%(+7.2V)、V相Duty値50%(+6V)、W相Duty値40%(+4.8V)とした場合、U相には正(+)方向に電流が流れ、U相Duty値40%(+4.8V)、V相Duty値50%(+6V)、W相Duty値60%(+7.2V)とした場合、U相には負方向に電流が流れる。3相ともDuty値50%にオフセットして基準電圧にすることによって、印加電圧が正のまま、負方向の電流を流すことができる。なお、Duty値50%オフセットは基本的に固定であるが、Duty値50%時の基準電圧は、供給される印加電圧状態によって変動する。例えば、印加電圧11Vの時、Duty値50%は5.5Vとなり、印加電圧13Vの時、Duty値50%は6.5Vになる。
[Duty出力設定部160A-1]
 図95は、Duty出力設定部160A-1の機能構成図である。
 Duty出力設定部(出力設定部)160A-1は、図95に示すように、制御周期Tcを1/5に分割した50μsの間隔(分割間隔)に合わせ、制御周期Tcからの経過時間Tに基づいて、出力する最終的なDuty指令値Du_o,Dv_o,Dw_oを切り替えて出力する(出力設定工程)。
 本実施形態のモータ制御装置400Eによれば、デッドタイム補償の影響を受けずに、ノイズが少ない補間Duty指令値を算出し、PWM演算を行う周期よりも早い周期(50μs)でPWM制御の制御信号を変動させることができる。これにより、マイクロコンピュータの演算処理量の増加は軽微でありながら、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
 本実施形態のモータ制御装置400Eによれば、例えば、(1)モータ回転数Nが高くなり、SOH演算に必要な処理がコントロールユニット30の性能限界を超えると判断した場合や、(2)前回および前々回のSOH演算に用いたモータ角度θeを使用するSOH演算の結果に多くのノイズが含まれると判断した場合など、SOH演算を行うことが適切でないと判断した場合に、SOH演算をFOH演算に切り替える。その結果、過渡的な角度変動の影響を含まない補間電気角θsが出力される確率は高くなる。
 本実施形態のモータ制御装置400Eによれば、例えば、明らかにSOH演算およびFOH演算を実施できないような高速回転数領域(例えば9000[rpm]以上)など、明らかにSOH演算およびFOH演算を実施できない場合に、補間演算結果を使用しない。その結果、モータ制御装置400Eはより安全にモータ100の制御を行うことができる。
 以上、本発明の第五実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、上述の実施形態および変形例において示された構成要素は適宜に組み合わせて構成することが可能である。
(変形例14)
 例えば、上記実施形態に係るモータ制御装置400Eは、モータ100が空間ベクトル駆動を用いたベクトル制御方式により制御されていたが、モータ制御装置の制御対象のモータはこれに限定されない。本発明に係るモータ制御装置の制御対象のモータは、例えば正弦波制御方式のブラシレスモータであってもよい。本発明に係るモータ制御装置は、Duty指令値を直接の補間対象とせず、モータ角度(電気角)θeを補間対象とする。モータ角度θeはリニアリティが高ければ比較的ノイズが少なく、360°から0°に切替える角度変化以外に過渡的な変化がないため、SOH演算による補間電気角の算出および補間Duty指令値の算出において高い精度を確保することができる。
(変形例15)
 例えば、上記実施形態に係るモータ制御装置400Eは、電動パワーステアリング装置300Eに搭載されていたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、高トルクが要求される一方で低騒音が要求されるモータ駆動装置に搭載することが適している。例えば、本発明に係るモータ制御装置は、装着者の歩行時の筋力を支援する歩行支援装置や、室内で動作する掃除装置等に搭載することで、モータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
(変形例16)
 例えば、上記実施形態に係るモータ制御装置400Eは、制御周期Tcを1/5に分割した50μsの等間隔(分割間隔)でモータ角度(補間電気角)θsを推定していたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Tcを任意の分割数で分割してもよく、また、不等間隔で分割してもよい。
(変形例17)
 例えば、上記実施形態に係るモータ制御装置400Eは、制御周期Tcが250μs(周波数4KHz)であったが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Tcが100μs以上、250μs以下であるとき好適に可聴帯域のモータに起因する音を低減することができる。モータ制御装置が搭載するCPU等の性能が向上したり、制御対象のモータの極数が増加したりすることで、制御周期が250μsより短くなることが予測される。制御周期Tcが100μs以上、250μs以下である場合、上記実施形態と同様に、可聴帯域のモータに起因する音を生じる問題が発生するが、本発明に係るモータ制御装置によれば、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
(従来技術)
 参考情報として、以下に従来技術について述べる。
 図96は、一般的なモータ制御装置の機能構成図である。トルクセンサ10からの操舵トルクTh及び車速センサ12からの車速Vsは、操舵補助指令値演算部31に入力される。操舵補助指令値演算部31は、操舵トルクTh及び車速Vsに基づいてアシストマップ等を用いて操舵補助指令値Iref1を演算する。演算された操舵補助指令値Iref1は、加算部32Aで、特性を改善するための補償部34からの補償信号CMと加算される。加算された操舵補助指令値Iref2は、電流制限部33で最大値を制限される。最大値を制限された電流指令値Irefmは、減算部32Bに入力され、モータ電流検出値Imと減算される。
 減算部32Bでの減算結果である偏差ΔI(=Irefm-Im)は、PI(比例積分)制御部35でPI等の電流制御が実施される。電流制御された電圧制御指令値Vrefは、変調信号(三角波キャリア)CFと共にPWM制御部36に入力され、Duty指令値が演算される。Duty指令値から算出されたPWM信号は、インバータ37を介してモータ20をPWM駆動する。モータ20のモータ電流値Imは、モータ電流検出器38で検出され、減算部32Bに入力されてフィードバックされる。
 補償部34は、検出若しくは推定されたセルフアライニングトルク(SAT)を加算部344で慣性補償値342と加算し、その加算結果に更に加算部345で収れん性制御値341を加算し、その加算結果を補償信号CMとして加算部32Aに入力し、特性改善を実施する。
 図97は、ベクトル制御方式で3相ブラシレスモータ100を駆動制御する場合の機能構成図を示す。操舵トルクTh、車速Vs等に基づいて操舵補助指令値演算部(図示せず)で演算された2軸(dq軸座標系)の操舵補助指令値が演算され、最大値を制限された2軸のd軸電流指令値id*及びq軸電流指令値iq*は、それぞれ減算部131d及び131qに入力される。減算部131d及び131qで求められた電流偏差Δid*及びΔiq*は、それぞれPI制御部120d及び120qに入力される。PI制御部120d及び120qでPI制御された電圧指令値vd及びvqは、それぞれ減算部141d及び加算部1421qに入力され、減算部141d及び加算部141qで求められた指令電圧Δvd及びΔvqはdq軸/3相交流変換部150に入力される。
 図98は、PWM制御部163及びインバータ161の機能構成図である。
 dq軸/3相交流変換部150で3相に変換された電圧制御指令値Vref_u,Vref_v,Vref_wは、PWM制御部163に入力され、演算された3相のDuty指令値に基づくPWM信号により、図98に示すような上下アームのブリッジ構成で成るインバータ(インバータ印加電圧VR)161を介してモータ100が駆動される。上側アームはスイッチング素子としてのFETQ1,Q2,Q3で構成され、下側アームはFETQ4,Q5,Q6で構成されている。また、FETQ1及びQ4がU相、FETQ2及びQ5がV相、FETQ3及びQ6がW相の駆動となっている。
 モータ100の3相モータ電流iu,iv,iwは、電流検出器162で検出される。検出された3相モータ電流iu,iv,iwは、3相交流/dq軸変換部130に入力される。3相交流/dq軸変換部130で変換された2相のフィードバック電流id及びiqは、それぞれ減算部131d及び131qに減算入力されると共に、dq軸非干渉制御部140に入力される。
 また、モータ100には回転センサ等が取り付けられており、センサ信号を処理する角度検出部110からモータ角度θ及びモータ回転数ωが出力される。モータ角度θはdq軸/3相交流換部150及び3相交流/dq軸変換部130に入力され、モータ回転数ωはdq軸非干渉制御部140に入力される。dq軸非干渉制御部140からの2相の電圧vnid及びvniqはそれぞれ減算部121d及び加算部121qに入力され、減算部121dで求められた電圧指令値Δvd及び加算部121qで求められた電圧指令値Δvqが、dq軸/3相交流変換部150に入力される。
 PWM制御部163及びインバータ161は、図98に示すような構成であり、PWM制御部163は、電圧制御指令値Vref_u,Vref_v,Vref_wをそれぞれ所定式に従って3相分のPWM-Duty値D1~D6を演算するデューティ演算部160Aと、PWM-Duty値D1~D6で駆動素子としてのFETQ1~Q6のゲートを駆動すると共に、デッドタイムの補償をしてON/OFFするゲート駆動部160Bとで構成されている。デューティ演算部160Aには発振部160Cから例えば三角波の変調信号(キャリア)CFが入力されており、デューティ演算部160Aは変調信号CFに同期してPWM-Duty値D1~D6を演算する。インバータ161は上述のようにFETの3相ブリッジで構成されており、PWM-Duty値D1~D6でON/OFFされることによってモータ100を駆動し、インバータ161とモータ100との間には、アシスト制御停止時等に電流の供給を遮断するためのモータスイッチ101が介挿されている。
 このようなベクトル制御方式の電動パワーステアリング装置は、運転者の操舵をアシストする装置であると同時に、モータの音や振動、リップル等はハンドルを介して運転者へ力の感覚として伝達される。インバータを駆動するパワーデバイスは一般的にFETが用いられており、モータへ通電を行うが、3相モータの場合には、図98に示されるように各相に上下アームの直列接続されたFETが用いられている。上下アームのFETは交互にON/OFFを繰り返すが、FETは理想スイッチではなく、ゲート信号の指令通りに瞬時にON/OFFせず、ターンオン時間やターンオフ時間を要する。このため、上側アームFETへのON指令と下側アームのOFF指令が同時になされると、上側アームFETと下側アームFETが同時にONになって、上下アームが短絡する問題がある。FETのターンオン時間とターンオフ時間には差があり、同時にFETに指令を出した場合、上側FETにON指令を出してターンオン時間が短い場合(例えば100ns)、直ぐにFETがONになり、下側FETにOFF指令を出してもターンオフ時間が長い場合(例えば400ns)、直ぐにFETがOFFにならず、瞬間的に上側FETがON、下側FETがONになる状態(例えば、400ns-100ns間、ON-ON)が発生することがある。
 そこで、上側アームFETと下側アームFETが同時にONすることがないよう、ゲート駆動部にデッドタイムという所定時間をおいてON信号を与えることが行われる。このデッドタイムは非線形であるため電流波形は歪み、制御の応答性能が悪化し、音や振動、リップルが発生する。コラム式電動パワーステアリング装置の場合、ハンドルと鋼製のコラム軸で接続されるギアボックスに直結されるモータの配置が、その構造上運転者に極めて近い位置となっているため、モータに起因する音、振動、リップル等には、下流アシスト方式の電動パワーステアリング装置に比べて、特に配慮する必要がある。
 図99は、従来のSOH演算によるDuty指令値の補間の機能構成図である。デッドタイム補償値を加算していない3相Duty指令値に対し、SOH演算して補間Duty値を算出する手法である。本従来手法では、過渡変化のあるデッドタイム補償はSOH演算対象外であるが、Duty指令値に対して直接SOH演算を行っている。3次高調波重畳のDuty指令値に対してSOH演算を行うと、演算結果に含まれるノイズが大きくなり、異音が発生する場合がある。また、dq軸制御においては、3相のDuty指令値は空間ベクトル変調後のDuty指令値しかなく、空間ベクトル変調後のDuty指令値を使用してSOH演算で補間Duty値を演算した場合、デッドタイム補償の過渡的な応答や空間ベクトルによる3次高調波の歪み成分を含むため、ノイズの大きな補間Duty値となってしまう。
 図99に示すモータ制御装置では、モータ回転数ω、3相電流指令値Iref_n(n=u,v,w)、モータ角度(電気角)θeを入力して3相デッドタイム補償値DT_n(n=u,v,w)を演算する3相デッドタイム補償値演算部201Aが設けられている。演算されたデッドタイム補償値DT_nは、最終Duty演算部200Aに入力される。
 また、図99に示すモータ制御装置は、モータ回転数ω及びモータ角度θeを入力して3相の逆起電圧補償値EMF_na(n=u,v,w)を演算する逆起電圧補償値演算部202と、3相電流指令値Iref_n及び3相電流in(n=u,v,w)を入力して3相の電圧制御指令値Vref_na(n=u,v,w)を出力する3相電流フィードバック(FB)制御部203Aと、インバータ印加電圧VRに応じて電圧/Dutyの変換係数Kcを演算する電圧/Duty変換係数演算部204と、を備える。
 逆起電圧補償値演算部202からの逆起電圧補償値EMF_naと、3相電流フィードバック制御部203Aからの電圧制御指令値Vref_naとは、加算部205で加算される。加算部205で逆起電圧補償された電圧制御指令値Vref_nb(n=u,v,w)は、電圧/Duty変換の変換係数Kcと共に3相Dutyクランプ/インバータ印加電圧感応演算部210Aに入力される。
 3相Dutyクランプ/インバータ印加電圧感応演算部210Aで,電圧/Duty変換の変換係数Kcを乗算された演算された3相正規Duty指令値D1n(n=u,v,w)は、最終Duty演算部200A、補間Duty-SOH演算部220及び3次高調波演算部230に入力される。補間Duty-SOH演算部220で演算された補間Duty指令値D2nは、最終Duty演算部200A及び3次高調波演算部230に入力され、3次高調波演算部230で演算された3次高調波補償値(正規用)及び3次高調波補償値(補間用)は最終Duty演算部200Aに入力される。
 最終Duty演算部200Aは、dq軸デッドタイム補償値演算部201からの3相デッドタイム補償値DT_n、3相Dutyクランプ/インバータ印加電圧感応演算部210からの3相正規Duty指令値D1n、補間Duty-SOH演算部220からの補間Duty指令値D2n、3次高調波演算部230からの3次高調波補償値(正規用)及び3次高調波補償値(補間用)を入力し、演算した最終正規Duty値Du,Dv,Dw及び最終補間Duty値Dum,Dvm,Dwmを出力する。
 図100は、最終Duty演算部200Aの機能構成図である。
 最終Duty演算部200Aにおいて、デッドタイム補償値DT_n、正規Duty指令値D1n及び3次高調波補償値(正規用)は、加算部201Aで加算され、デッドタイム補償値DT_n、補間Duty指令値D2n及び3次高調波補償値(補間用)は、加算部211Aで加算される。加算部201A及び211Aでの加算結果はそれぞれ加算部202A及び212Aに入力され、加算部202A及び212AでそれぞれDuty50%のオフセットを加算されたDuty値はそれぞれDuty出力を0~100%の範囲(可変)で制限するリミッタ203A及び213Aに入力される。リミッタ203Aからは最終正規Duty値Dnが出力され、リミッタ213Aからは最終補間Duty値Dnfが出力される。
 最終Duty演算部200Aから出力された最終正規Duty値Dn及び最終補間Duty値Dnfは、PWM制御部163内入力される。最終正規Duty値Dn及び最終補間Duty値Dnfは演算終了後、次の制御周期の演算終了まで、値が保持されている。
 次に、空間ベクトル変調について説明する。上記の実施形態では演算回数の削減などのため、電圧の次元からDutyの次元に変換してから空間ベクトル変換演算を行っている。空間ベクトル変調部250は、図10に示すように、dq軸Dutyクランプ/インバータ印加電圧感応演算部210からのdq軸空間の正規演算用のDuty指令値D1m(Duty_d,Duty_q)を3相Duty指令値(Duty_ua,Duty_va,Duty_wa)に変換し、3相Duty指令値(Duty_ua,Duty_va,Duty_wa)に3次高調波を重畳して正規Duty指令値Duty_n(Duty_u,Duty_v,Duty_w)を出力する機能を有していれば良く、例えば本出願人による特開2017-70066号公報や国際公開第2017/098840号等で提案している空間ベクトル変調の手法を用いても良い。
 すなわち、空間ベクトル変調を分かり易く電圧の式で説明すると、ベクトル変調は、dq軸空間の電圧指令値Vd**及びVq**、モータ角度θe及びセクター番号n(#1~#6)に基づいて、以下に示すような座標変換を行い、ブリッジ構成のインバータのFET(上側アームQ1、Q3、Q5、下側アームQ2、Q4、Q6)のON/OFFを制御する、セクター#1~#6に対応したスイッチングパターンS1~S6をモータに供給することによって、モータの回転を制御する機能を有する。
 図101は、座標変換に用いる座標軸及びモータ角度θeの関係を示すグラフである。
 座標変換については、空間ベクトル変調において、電圧指令値Vd**及びVq**は、式54に基づいて、α-β座標系における電圧ベクトルVα及びVβに座標変換が行われる。
Figure JPOXMLDOC01-appb-M000059
 なお、Duty指令値Duty_d,Duty_qと電圧指令値Vd**及びVq**との関係は、インバータ印加電圧をVRとして、式55または式56で表わされる。
Figure JPOXMLDOC01-appb-M000060
Figure JPOXMLDOC01-appb-M000061
 d-q座標系における目標電圧ベクトルとα-β座標系における目標電圧ベクトルとの間には、式57のような関係が存在し、目標電圧ベクトルVの絶対値は保存される。
Figure JPOXMLDOC01-appb-M000062
 空間ベクトル制御におけるスイッチングパターンでは、インバータの出力電圧をFET(Q1~Q6)のスイッチングパターンS1~S6に応じて、図102の空間ベクトル図に示す8種類の離散的な基準電圧ベクトルV0~V7(π/3[rad]ずつ位相の異なる非零電圧ベクトルV1~V6と零電圧ベクトルV0,V7)で定義する。そして、それら基準出力電圧ベクトルV0~V7の選択とその発生時間を制御するようにしている。また、隣接する基準出力電圧ベクトルによって挟まれた6つの領域を用いて、空間ベクトルを6つのセクター#1~#6に分割することができ、目標電圧ベクトルVは、セクター#1~#6のいずれか1つに属し、セクター番号を割り当てることができる。Vα及びVβの合成ベクトルである目標電圧ベクトルVが、α-β空間において正6角形に区切られた図102に示されたようなセクター内のいずれに存在するかは、目標電圧ベクトルVのα-β座標系における回転角γに基づいて求めることができる。また、回転角γはモータ角度θeとd-q座標系における電圧指令値Vd**及びVq**の関係から得られる位相δの和として、γ=θe+δで決定される。
 図103は、空間ベクトル制御におけるインバータのスイッチングパターンS1、S3,S5によるディジタル制御で、インバータから目標電圧ベクトルVを出力させるために、FETに対するON/OFF信号S1~S6(スイッチングパターン)におけるスイッチングパルス幅とそのタイミングを決定する基本的なタイミングチャートを示す。空間ベクトル変調は、規定されたサンプリング期間Ts毎に演算などをサンプリング期間Ts内で行い、その演算結果を次のサンプリング期間Tsにて、スイッチングパターンS1~S6における各スイッチングパルス幅とそのタイミングに変換して出力する。
 空間ベクトル変調は、目標電圧ベクトルVに基づいて求められたセクター番号に応じたスイッチングパターンS1~S6を生成する。図103には、セクター番号#1(n=1)の場合における、インバータのFETのスイッチングパターンS1~S6の一例が示されている。信号S1、S3及びS5は、上側アームに対応するFETQ1、Q3、Q5のゲート信号を示している。横軸は時間を示しており、Tsはスイッチング周期に対応し、8期間に分割され、T0/4、T1/2、T2/2、T0/4、T0/4、T2/2、T1/2及びT0/4で構成される期間である。また、期間T1及びT2は、それぞれセクター番号n及び回転角γに依存する時間である。
 本発明は、電動パワーステアリング装置等に搭載されるモータ制御装置に適用することができる。
300 電動パワーステアリング装置
400 モータ制御装置
2   コラム軸
3   減速ギア
10  トルクセンサ
12  車速センサ
14  舵角センサ
30  コントロールユニット(ECU)
31  電流指令値演算部
39  モータ制御部
100  モータ
160  PWM制御部
160A-1 Duty出力設定部(出力設定部)
160A-2 PWM部
160B ゲート駆動部
161  インバータ
162  電流検出器
200  最終Duty演算部
201  dq軸デッドタイム補償値演算部
203  dq軸電流フィードバック制御部
204  変換係数演算部
210  dq軸Dutyクランプ/VR感応演算部
220  電圧指令値演算部
240 電気角補間部
243  モータ角度切替判定部
244  切替部
250  空間ベクトル変調部(変換部)

Claims (16)

  1.  電流指令値に基づいて3相ブラシレスモータを駆動するインバータのPWM制御を行うモータ制御装置において、
     前記3相ブラシレスモータから制御周期ごとに取得したモータ電気角およびモータ回転数と、前記電流指令値と、を用いて電圧指令値を算出する電圧指令値演算部と、
     前記制御周期を分割した分割間隔で、前記モータ電気角から補間電気角を推定する電気角補間部と、
     前記電圧指令値および前記モータ電気角から三相のDuty指令値を算出し、前記電圧指令値および前記補間電気角から三相の補間Duty指令値を算出する変換部と、
     前記分割間隔に合わせて前記三相のDuty指令値と前記三相の補間Duty指令値とを切り替えて出力する出力設定部と、
     を備えるモータ制御装置。
  2.  前記電気角補間部は、2次関数補間演算と1次関数補間演算とのいずれかを用いて前記補間電気角を推定する、
     請求項1に記載のモータ制御装置。
  3.  前記電気角補間部は、前記モータ回転数が所定の第一回転数より低い場合に、2次関数補間演算を用いて前記補間電気角を推定し、
     前記モータ回転数が前記第一回転数以上の場合に、2次関数補間演算を1次関数補間演算に切り替える、
     請求項2に記載のモータ制御装置。
  4.  前記電気角補間部は、前記モータ回転数が前記第一回転数より高い所定の第二回転数より高い場合に、前記モータ電気角を前記補間電気角として出力する、
     請求項3に記載のモータ制御装置。
  5.  前記制御周期が100μs以上、250μs以下である、
     請求項1に記載のモータ制御装置。
  6.  前記3相ブラシレスモータはベクトル駆動方式で制御され、
     前記変換部は、空間ベクトル変調を行う、
     請求項1に記載のモータ制御装置。
  7.  電流指令値に基づいてインバータがPWM制御される3相ブラシレスモータのモータ制御方法であって、
     前記3相ブラシレスモータから制御周期ごとに取得したモータ電気角およびモータ回転数と、前記電流指令値と、を用いて電圧指令値を算出する電圧指令値演算工程と、
     前記制御周期を分割した分割間隔で、前記モータ電気角から補間電気角を推定する電気角補間工程と、
     前記電圧指令値および前記モータ電気角から三相のDuty指令値を算出し、前記電圧指令値および前記補間電気角から三相の補間Duty指令値を算出する変換工程と、
     前記分割間隔に合わせて前記三相のDuty指令値と前記三相の補間Duty指令値とを切り替えて出力する出力設定工程と、
     を備えるモータ制御方法。
  8.  前記電気角補間工程は、2次関数補間演算と1次関数補間演算と切り替えて前記補間電気角を推定する、
     請求項7に記載のモータ制御方法。
  9.  前記電気角補間工程は、前記モータ回転数が所定の第一回転数より低い場合に、2次関数補間演算を用いて前記補間電気角を推定し、
     前記モータ回転数が前記第一回転数以上の場合に、2次関数補間演算を1次関数補間演算に切り替える、
     請求項8に記載のモータ制御方法。
  10.  前記電気角補間工程は、前記モータ回転数が前記第一回転数より高い所定の第二回転数より高い場合に、前記モータ電気角を前記補間電気角として出力する、
     請求項9に記載のモータ制御方法。
  11.  少なくとも操舵トルクに基づいて演算されたdq軸電流指令値を3相Duty指令値に変換し、前記3相Duty指令値に基づき、インバータのPWM制御により3相ブラシレスモータを駆動制御するとともに、前記インバータのデッドタイムを補償する機能を備え、車両の操舵機構にアシストトルクを付与するベクトル制御方式の電動パワーステアリング装置であって、
     前記dq軸電流指令値、モータ角度及びモータ回転数に基づいて算出されたdq軸Duty指令値を、前記モータ角度に応じて3相に変換して3次高調波を重畳し、3相の正規Duty指令値を出力する第1の空間ベクトル変調部と、
     前記モータ角度に基づいて補間演算して補間Duty演算用モータ角度を出力する電気角補間部と、
     前記dq軸Duty指令値を、前記補間Duty演算用モータ角度に応じて3相に変換して3次高調波を重畳し、3相の補間Duty指令値を出力する第2の空間ベクトル変調部と、
     前記正規Duty指令値及び前記補間Duty指令値に基づいて最終正規Duty値及び最終補間Duty値を出力する最終Duty演算部と、
     を備える電動パワーステアリング装置。
  12.  前記電気角補間部が、
      前記モータ角度が所定範囲に属するかを判定して切替フラグを出力するモータ角度切替判定部と、
      前記モータ角度を補間演算する演算処理部と、
      所定角度でオフセット処理を実施した前記モータ角度を補間演算し、前記補間演算を実施した前記所定角度に対してオフセット戻し処理を実施するオフセット付き演算処理部と、
      前記演算処理部からの第1の補間用モータ角度及び前記オフセット付き演算処理部からの第2の補間用モータ角度を入力し、前記切替フラグによって切替えられて前記補間Duty演算用モータ角度を出力する切替部と、
     を有する
     請求項11に記載の電動パワーステアリング装置。
  13.  前記補間演算は、2次関数補間演算もしくは1次関数補間演算である、
     請求項11に記載の電動パワーステアリング装置。
  14.  前記演算処理部が第1のロールオーバ処理部を備え、
     前記オフセット付き演算処理部が、前記オフセット処理の後に第2のロールオーバ処理部を備え、前記オフセット戻し処理の後に第3のロールオーバ処理部を備えている、
     請求項12に記載の電動パワーステアリング装置。
  15.  前記所定範囲が、90°以上、270°以下の範囲である、
     請求項12に記載の電動パワーステアリング装置。
  16.  前記所定角度が180°である
     請求項12に記載の電動パワーステアリング装置。
PCT/JP2018/039887 2017-10-26 2018-10-26 モータ制御装置、モータ制御方法および電動パワーステアリング装置 WO2019083015A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019549016A JP6624357B2 (ja) 2017-10-26 2018-10-26 モータ制御装置、モータ制御方法および電動パワーステアリング装置
US16/499,709 US11001295B2 (en) 2017-10-26 2018-10-26 Motor control device, motor control method, and electric power steering device
EP18869965.6A EP3588767B1 (en) 2017-10-26 2018-10-26 Motor control device and motor control method
BR112019020545-4A BR112019020545B1 (pt) 2017-10-26 2018-10-26 Dispositivo de controle de motor, método de controle de motor e dispositivo de servodireção elétrica
CN201880025649.5A CN110537322B (zh) 2017-10-26 2018-10-26 电动机控制装置、电动机控制方法以及电动动力转向装置

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
JP2017-207030 2017-10-26
JP2017207030 2017-10-26
JP2018200293 2018-10-24
JP2018-200293 2018-10-24
JP2018200295 2018-10-24
JP2018-200296 2018-10-24
JP2018-200294 2018-10-24
JP2018200296 2018-10-24
JP2018200294 2018-10-24
JP2018-200295 2018-10-24

Publications (1)

Publication Number Publication Date
WO2019083015A1 true WO2019083015A1 (ja) 2019-05-02

Family

ID=66247914

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/039887 WO2019083015A1 (ja) 2017-10-26 2018-10-26 モータ制御装置、モータ制御方法および電動パワーステアリング装置

Country Status (5)

Country Link
US (1) US11001295B2 (ja)
EP (1) EP3588767B1 (ja)
JP (1) JP6624357B2 (ja)
CN (1) CN110537322B (ja)
WO (1) WO2019083015A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021171845A1 (ja) * 2020-02-28 2021-09-02 株式会社デンソー 舵角制御装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019163587A1 (ja) * 2018-02-20 2019-08-29 日本電産株式会社 モータ制御システム、およびパワーステアリングシステム
CN117321904A (zh) * 2021-05-11 2023-12-29 三菱电机株式会社 旋转电机的控制装置

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4946075B1 (ja) 1969-01-27 1974-12-07
JP2006304478A (ja) * 2005-04-20 2006-11-02 Nsk Ltd モータ駆動制御装置及びそれを用いた電動パワーステアリング装置
JP2007196860A (ja) * 2006-01-26 2007-08-09 Jtekt Corp 電動パワーステアリング装置
JP2011097679A (ja) * 2009-10-27 2011-05-12 Jtekt Corp 回転角検出装置の製造方法、回転角検出装置、モータ制御装置及び電動パワーステアリング装置
JP2011211786A (ja) * 2010-03-29 2011-10-20 Fujitsu General Ltd モータ制御装置
JP2015516722A (ja) * 2012-03-20 2015-06-11 日本テキサス・インスツルメンツ株式会社 調整可能なコーナー周波数を有するpwmデューティサイクルシンセサイザ及び方法
JP2017070066A (ja) 2015-09-29 2017-04-06 日本精工株式会社 電動パワーステアリング制御方法、電動パワーステアリング制御装置、電動パワーステアリング装置および車両
WO2017098840A1 (ja) 2015-12-09 2017-06-15 日本精工株式会社 電動パワーステアリング装置の制御方法及び制御装置
JP2017207030A (ja) 2016-05-20 2017-11-24 株式会社鶴見製作所 電動ポンプ
JP2018200296A (ja) 2017-05-27 2018-12-20 富士通株式会社 品物検出方法及び装置
JP2018200293A (ja) 2017-05-26 2018-12-20 太平洋セメント株式会社 乾燥収縮ひずみ測定装置、乾燥収縮ひずみ測定方法、および乾燥収縮ひずみ推定方法
JP2018200294A (ja) 2017-05-29 2018-12-20 日本特殊陶業株式会社 車両用センサユニット
JP2018200295A (ja) 2017-05-26 2018-12-20 ザ・ボーイング・カンパニーThe Boeing Company 熱イメージングシステム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4128703B2 (ja) 1999-10-20 2008-07-30 松下電器産業株式会社 モータ駆動装置
JP3480843B2 (ja) 2001-09-04 2003-12-22 三菱電機株式会社 電動パワーステアリング制御装置及び制御方法
CN1279689C (zh) * 2004-01-18 2006-10-11 桂林星辰电力电子有限公司 永磁同步电机的非线性动态校正方法
JP4422567B2 (ja) * 2004-06-30 2010-02-24 株式会社日立製作所 モータ駆動装置,電動アクチュエータおよび電動パワーステアリング装置
US20080067960A1 (en) * 2004-11-24 2008-03-20 Nsk, Ltd. Unconnected Motor, Drive Control Device Thereof, And Electric Power Steering Device Using Drive Control Device Of Unconnected Motor
JP2006254532A (ja) * 2005-03-08 2006-09-21 Nsk Ltd 電動パワーステアリング装置
EP1777806A2 (en) 2005-10-21 2007-04-25 NSK Ltd. Motor drive control apparatus and electric power steering apparatus
JP5502605B2 (ja) * 2010-06-09 2014-05-28 本田技研工業株式会社 モータ制御装置
JP2013247832A (ja) * 2012-05-29 2013-12-09 Honda Motor Co Ltd モータ制御装置及びモータ制御装置の制御方法
JP5972248B2 (ja) * 2013-11-18 2016-08-17 三菱電機株式会社 同期電動機の回転位相検出装置
WO2016098244A1 (ja) 2014-12-19 2016-06-23 日本精工株式会社 モータ制御装置及びそれを用いた電動パワーステアリング装置
US10284055B2 (en) * 2015-09-01 2019-05-07 Mitsubishi Electric Corporation Actuator and method of adjusting actuator
JP6649018B2 (ja) * 2015-09-16 2020-02-19 日本電産サンキョー株式会社 ロータリエンコーダ、およびロータリエンコーダの絶対角度位置検出方法
CN106685302B (zh) * 2017-01-17 2019-01-29 株洲易力达机电有限公司 一种霍尔式位置传感器解码算法及eps控制器
CN107294337B (zh) * 2017-05-22 2019-12-27 江苏雅迪科技发展有限公司宁波分公司 一种轮毂电机及其位置信号处理方法
JP6542304B2 (ja) * 2017-08-10 2019-07-10 本田技研工業株式会社 回転電機の制御装置及び制御方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4946075B1 (ja) 1969-01-27 1974-12-07
JP2006304478A (ja) * 2005-04-20 2006-11-02 Nsk Ltd モータ駆動制御装置及びそれを用いた電動パワーステアリング装置
JP2007196860A (ja) * 2006-01-26 2007-08-09 Jtekt Corp 電動パワーステアリング装置
JP2011097679A (ja) * 2009-10-27 2011-05-12 Jtekt Corp 回転角検出装置の製造方法、回転角検出装置、モータ制御装置及び電動パワーステアリング装置
JP2011211786A (ja) * 2010-03-29 2011-10-20 Fujitsu General Ltd モータ制御装置
JP2015516722A (ja) * 2012-03-20 2015-06-11 日本テキサス・インスツルメンツ株式会社 調整可能なコーナー周波数を有するpwmデューティサイクルシンセサイザ及び方法
JP2017070066A (ja) 2015-09-29 2017-04-06 日本精工株式会社 電動パワーステアリング制御方法、電動パワーステアリング制御装置、電動パワーステアリング装置および車両
WO2017098840A1 (ja) 2015-12-09 2017-06-15 日本精工株式会社 電動パワーステアリング装置の制御方法及び制御装置
JP2017207030A (ja) 2016-05-20 2017-11-24 株式会社鶴見製作所 電動ポンプ
JP2018200293A (ja) 2017-05-26 2018-12-20 太平洋セメント株式会社 乾燥収縮ひずみ測定装置、乾燥収縮ひずみ測定方法、および乾燥収縮ひずみ推定方法
JP2018200295A (ja) 2017-05-26 2018-12-20 ザ・ボーイング・カンパニーThe Boeing Company 熱イメージングシステム
JP2018200296A (ja) 2017-05-27 2018-12-20 富士通株式会社 品物検出方法及び装置
JP2018200294A (ja) 2017-05-29 2018-12-20 日本特殊陶業株式会社 車両用センサユニット

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3588767A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021171845A1 (ja) * 2020-02-28 2021-09-02 株式会社デンソー 舵角制御装置

Also Published As

Publication number Publication date
CN110537322B (zh) 2020-11-06
JP6624357B2 (ja) 2019-12-25
US11001295B2 (en) 2021-05-11
EP3588767B1 (en) 2021-11-24
EP3588767A1 (en) 2020-01-01
CN110537322A (zh) 2019-12-03
US20200255055A1 (en) 2020-08-13
JPWO2019083015A1 (ja) 2020-05-28
EP3588767A4 (en) 2020-11-18
BR112019020545A2 (pt) 2020-04-28

Similar Documents

Publication Publication Date Title
JP6521132B2 (ja) 電動パワーステアリング装置
JP6658995B2 (ja) モータ制御装置及びそれを搭載した電動パワーステアリング装置
JP6601595B2 (ja) モータ制御装置及びそれを搭載した電動パワーステアリング装置
US20190256128A1 (en) Electric power steering apparatus
JP6512372B2 (ja) 電動パワーステアリング装置
JP6665954B2 (ja) 電動パワーステアリング装置
JP6521185B2 (ja) 電動パワーステアリング装置
JP6658972B2 (ja) モータ制御装置及びそれを搭載した電動パワーステアリング装置
JP6624357B2 (ja) モータ制御装置、モータ制御方法および電動パワーステアリング装置
JP2010029027A (ja) モータ制御装置
BR112019020545B1 (pt) Dispositivo de controle de motor, método de controle de motor e dispositivo de servodireção elétrica

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: 18869965

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019549016

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2018869965

Country of ref document: EP

Effective date: 20190926

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112019020545

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112019020545

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20190930

NENP Non-entry into the national phase

Ref country code: DE