WO2024157597A1 - モータ駆動制御装置およびモータ駆動制御方法 - Google Patents

モータ駆動制御装置およびモータ駆動制御方法 Download PDF

Info

Publication number
WO2024157597A1
WO2024157597A1 PCT/JP2023/042357 JP2023042357W WO2024157597A1 WO 2024157597 A1 WO2024157597 A1 WO 2024157597A1 JP 2023042357 W JP2023042357 W JP 2023042357W WO 2024157597 A1 WO2024157597 A1 WO 2024157597A1
Authority
WO
WIPO (PCT)
Prior art keywords
phase
current
axis current
motor
drive control
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2023/042357
Other languages
English (en)
French (fr)
Inventor
宏樹 小久保
進士 戸塚
英俊 土方
重巳 増田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MinebeaMitsumi Inc
Original Assignee
MinebeaMitsumi Inc
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 MinebeaMitsumi Inc filed Critical MinebeaMitsumi Inc
Priority to CN202380090454.XA priority Critical patent/CN120530572A/zh
Publication of WO2024157597A1 publication Critical patent/WO2024157597A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • 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
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/22Current control, e.g. using a current control loop
    • 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
    • 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/15Controlling commutation time

Definitions

  • the present invention relates to a motor drive control device and a motor drive control method.
  • PMSMs permanent magnet synchronous motors
  • SPMSMs surface permanent magnet synchronous motors
  • IPMSMs interior permanent magnet synchronous motors
  • PMSM permanent magnet synchronous motors
  • motor drive control methods using vector control require complex calculations such as coordinate conversion and division between fixed and rotating coordinate systems, which places a heavy load on the calculations of program processing devices such as microcontrollers acting as motor drive control devices.
  • program processing devices such as microcontrollers acting as motor drive control devices.
  • This requires high-performance microcontrollers equipped with large-capacity memory and capable of processing complex calculations at high speed, which increases the cost of motor drive control devices.
  • the present invention aims to solve the above-mentioned problems and reduce the computational load in motor drive control.
  • a motor drive control device comprises a control circuit that outputs a drive control signal for driving a motor having coils of multiple phases, and a drive circuit that drives the motor based on the drive control signal output from the control circuit, the drive circuit including an inverter circuit that drives the coils of the multiple phases based on the drive control signal, and a current detection circuit that detects currents flowing through the coils of the multiple phases and outputs a current detection signal corresponding to the detected current, the control circuit including a drive command acquisition unit that acquires a drive command signal including a value indicating a target state of operation of the motor, and a drive command acquisition unit that calculates a drive command signal based on the current detection signal and a rotational speed of the rotor of the motor.
  • the motor includes a q-axis current calculation unit that detects, based on the angle, the phase current closest to the q-axis current in the two-phase rotating coordinate system when the d-axis current in the two-phase rotating coordinate system is set to zero among the phase currents flowing through the coils of each phase and the phase currents obtained by inverting the phase of the phase currents flowing through the coils of each phase by 180°, and calculates the q-axis current when the d-axis current is set to zero based on the envelope of the peak value; and a calculation unit that generates the drive control signal by performing vector control calculation using the q-axis current calculated by the q-axis current calculation unit, the drive command signal, the rotation speed of the rotor of the motor, and the rotation angle of the rotor.
  • FIG. 1 is a diagram showing a configuration of a motor unit including a motor drive control device according to a first embodiment
  • 2 is a diagram showing a functional block configuration of a control circuit in the motor drive control device according to the first embodiment
  • FIG. FIG. 2 is a diagram showing the relationship between a three-phase fixed coordinate system and a two-phase rotating coordinate system.
  • FIG. 2 is a diagram showing current vectors in a two-phase rotating coordinate system.
  • FIG. 4 is a diagram showing the relationship between the phase current of each phase of the motor and the q-axis current.
  • FIG. 4 is a diagram showing an example of a positive q-axis current and a phase current.
  • FIG. 4 is a diagram showing an example of a negative q-axis current and a phase current.
  • FIG. 13 is a diagram showing the correspondence relationship between sectors and phase currents that are candidates for peak values.
  • 4 is a diagram illustrating an example of the configuration of a peak value detection unit according to the first embodiment
  • FIG. 10 is a diagram for explaining a delay in current with respect to a voltage applied to a coil of a motor.
  • FIG. 11 is a diagram for explaining a method of calculating a lead-angle value.
  • FIG. 11 is a diagram showing an example of a table that associates advance angle values with each combination of rotation speed and q-axis current, as correspondence information
  • 5 is a flowchart showing an example of the flow of a process for generating a drive control signal by the motor drive control device according to the first embodiment.
  • FIG. 10 is a flowchart showing an example of a flow of a calculation process (step S5) of a q-axis current according to the first embodiment.
  • FIG. 11 is a diagram showing a functional block configuration of a control circuit in a motor drive control device according to a second embodiment. 10 is a diagram for explaining a deviation of a current vector caused by a deviation of an estimated value from a true value of a rotation angle of a rotor.
  • FIG. FIG. 11 is a diagram for explaining an overview of a method for estimating a q-axis current according to a second embodiment.
  • FIG. 11 is a diagram showing an example of a correspondence relationship between sectors and phase currents that are candidates for peak values in the second embodiment.
  • FIG. 11 is a diagram showing an example of a correspondence relationship between sectors and phase currents that are candidates for peak values in the second embodiment.
  • FIG. 11 is a diagram illustrating an example of the configuration of a peak value detection unit according to the second embodiment.
  • 13 is a flowchart showing an example of a flow of a calculation process (step S5) of a q-axis current in the second embodiment.
  • FIG. 11 is a diagram showing a functional block configuration of a control circuit in a motor drive control device according to a third embodiment.
  • FIG. 2 is a diagram showing the relationship between current vectors and voltage vectors in a two-phase rotating coordinate system.
  • FIG. 13 is a diagram illustrating an example of the configuration of a peak value detection unit according to the third embodiment.
  • FIG. 11 is a diagram for explaining an overview of a method for estimating a q-axis current according to a third embodiment.
  • FIG. 13 is a diagram showing an example of a correspondence relationship between sectors and phase currents that are candidates for peak values in the third embodiment.
  • FIG. 13 is a diagram showing an example of a correspondence relationship between sectors and phase currents that are candidates for peak values in the third embodiment.
  • a motor drive control device (10, 10A, 10B) includes a control circuit (1, 1A, 1B) that outputs a drive control signal (Sd) for driving a motor (3) having coils of multiple phases (Lu, Lv, Lw), and a drive circuit (2) that drives the motor based on the drive control signal output from the control circuit, the drive circuit including an inverter circuit (2a) that drives the coils of the multiple phases based on the drive control signal, and a current detection circuit (2c) that detects currents flowing through the coils of the multiple phases and outputs a current detection signal (Vm) corresponding to the detected current, the control circuit including a drive command acquisition unit (11) that acquires drive command signals (Sc, Sc1) including values indicating a target state of operation of the motor, and a drive command acquisition unit (12) that converts the current detection signal into a signal representing a target state of operation of the motor.
  • a drive command acquisition unit (11) that acquires drive command signals (Sc, Sc1) including values indicating a target state of
  • the motor includes a q-axis current calculation unit (12, 12A, 12B) that detects, as a peak value (ip), the phase current closest to the q-axis current in the two-phase rotating coordinate system when the d-axis current in the two-phase rotating coordinate system is set to zero, among the phase currents (iu, iv, iw) flowing through the coils of each phase and the phase currents (-iu, -iv, -iw) in which the phase of the phase currents flowing through the coils of each phase is inverted by 180°, based on the rotation angle of the rotor (31) of the motor, and calculates the q-axis current (iq) when the d-axis current is set to zero based on the envelope of the peak value, and a calculation unit (13) that generates the drive control signal by performing a vector control calculation using the q-axis current calculated by the q-axis current calculation unit, the drive command signal, the rotation speed of the rotor of the motor
  • the control circuit stores correspondence information (128, 128A_1, 128A_2, 128B_1, 128B_2) in which the range of electrical angle according to the rotation of the rotor is divided into a plurality of sectors (I-VI) in which the phase currents that are candidates for the peak value are associated with each other, and the q-axis current calculation unit detects the phase of a current vector in the two-phase rotating coordinate system based on the rotation angle of the rotor and the current detection signal, identifies the sector to which the phase of the current vector belongs, selects a candidate phase current associated with the identified sector based on the correspondence information, and sets the selected phase current as the peak value.
  • correspondence information (128, 128A_1, 128A_2, 128B_1, 128B_2
  • the q-axis current calculation unit (12A, 12B) may compare the absolute values of the magnitudes of the multiple candidate phase currents and determine the phase current with the largest absolute value as the peak value.
  • the q-axis current calculation unit (12, 12A) may take the rotation angle of the rotor ( ⁇ ) plus ⁇ /2 as the phase of the current vector.
  • the q-axis current calculation unit (12B) may detect the phase of the current vector based on the phase ( ⁇ ) of the voltage vector in the two-phase rotating coordinate system, calculated based on the rotation angle of the rotor.
  • the q-axis current calculation unit (12, 12A, 12B) may include a peak value detection unit (121, 121A, 121B) that detects the peak value based on the rotation angle of the rotor and the current detection signal, a low-pass filter (122) to which the peak value detected by the peak value detection unit is input, and a multiplication unit (123) that multiplies the value output from the low-pass filter by a predetermined value and outputs the result as the q-axis current.
  • the predetermined value may be ⁇ /3.
  • the sector may be a range obtained by dividing the electrical angle range from 0° to 360° in increments of 60°.
  • a motor drive control method includes a first step (S1) of acquiring a drive command signal including a value indicating a target state of operation of a motor having coils of multiple phases; a second step (S4) of detecting currents flowing through the coils of the multiple phases; a third step (S5) of detecting, based on the currents detected in the second step and the rotation angle of the rotor of the motor, a phase current closest to a q-axis current in a two-phase rotating coordinate system when the d-axis current in the two-phase rotating coordinate system is set to zero, among the phase currents flowing through the coils of each phase and the phase currents obtained by inverting the phase of the phase currents flowing through the coils of each phase by 180°, and calculating, based on the envelope of the peak value, the q-axis current when the d-axis current is set to zero; and a fourth step (S6 to S9) of generating a drive control signal for driving
  • FIG. 1 is a diagram showing the configuration of a motor unit 100 including a motor drive control device 10 according to a first embodiment.
  • the motor unit 100 includes a motor 3 and a motor drive control device 10 that controls the rotation of the motor 3.
  • the motor unit 100 can be applied to various devices that use a motor as a drive source, such as a fan.
  • Motor 3 is, for example, a permanent magnet synchronous motor (PMSM).
  • motor 3 is, for example, a surface magnet synchronous motor (SPMSM) having three-phase coils Lu, Lv, and Lw. Coils Lu, Lv, and Lw are, for example, connected together in a Y-connection.
  • PMSM permanent magnet synchronous motor
  • SPMSM surface magnet synchronous motor
  • the motor drive control device 10 applies a sine wave drive signal to the motor 3, causing periodic sine wave phase currents to flow through the three-phase coils Lu, Lv, and Lw of the motor 3, thereby rotating the rotor 31 of the motor 3 (see Figure 3).
  • the motor drive control device 10 includes a control circuit 1 and a drive circuit 2 . Note that the components of the motor drive control device 10 shown in FIG. 1 are only a portion of the whole, and the motor drive control device 10 may have other components in addition to those shown in FIG.
  • the drive circuit 2 drives the motor 3 based on a drive control signal Sd output from the control circuit 1, which will be described later.
  • the drive circuit 2 includes, for example, an inverter circuit 2a, a pre-drive circuit 2b, and a current detection circuit 2c.
  • the inverter circuit 2a is disposed between the DC power supply Vcc and ground potential, and drives the multiple-phase coils Lu, Lv, and Lw of the motor 3 as a load based on the input drive control signal Sd.
  • the inverter circuit 2a has three switching legs, each including two drive transistors connected in series, and drives the motor 3 as a load by alternately turning the two drive transistors on and off (switching operation) based on the input drive control signal Sd.
  • the inverter circuit 2a has switching legs corresponding to the U-phase, V-phase, and W-phase of the motor 3. As shown in FIG. 1, the switching legs corresponding to each phase have two drive transistors Q1 and Q2, Q3 and Q4, and Q5 and Q6 connected in series between the DC power supply Vcc and the ground potential via the current detection circuit 2c.
  • the driving transistors Q1, Q3, and Q5 are, for example, N-channel MOSFETs
  • the driving transistors Q2, Q4, and Q6 are, for example, N-channel MOSFETs.
  • the driving transistors Q1 to Q6 may be other types of transistors, such as IGBTs (Insulated Gate Bipolar Transistors).
  • the switching leg corresponding to the U phase has drive transistors Q1 and Q2 connected in series.
  • the point where drive transistors Q1 and Q2 are commonly connected is connected to one end of coil Lu as a load.
  • the switching leg corresponding to the V phase has drive transistors Q3 and Q4 connected in series.
  • the point where drive transistors Q3 and Q4 are commonly connected is connected to one end of coil Lv as a load.
  • the switching leg corresponding to the W phase has drive transistors Q5 and Q6 connected in series.
  • the point where drive transistors Q5 and Q6 are commonly connected is connected to one end of coil Lw as a load.
  • the pre-drive circuit 2b generates a drive signal for driving the inverter circuit 2a based on the drive control signal Sd output from the control circuit 1.
  • the drive control signal Sd is a signal for controlling the drive of the motor 3, and is, for example, a PWM (Pulse Width Modulation) signal.
  • the drive control signal Sd is a signal for switching the current conduction pattern of the coils Lu, Lv, and Lw of the motor 3, which is determined by the on/off state of each drive transistor that constitutes the inverter circuit 2a.
  • the drive control signal Sd includes six types of PWM signals corresponding to each drive transistor Q1 to Q6 of the inverter circuit 2a.
  • the pre-drive circuit 2b generates six types of drive signals Vuh, Vul, Vvh, Vvl, Vwh, and Vwl that can supply sufficient power to drive the control electrodes (gate electrodes) of the drive transistors Q1 to Q6 of the inverter circuit 2a, based on six types of PWM signals as the drive control signals Sd supplied from the control circuit 1.
  • These drive signals Vuh, Vul, Vvh, Vvl, Vwh, and Vwl are input to the control electrodes (gate electrodes) of the drive transistors Q1 to Q6 of the inverter circuit 2a, causing each of the drive transistors Q1 to Q6 to perform an on/off operation (switching operation).
  • the drive transistors Q1, Q3, and Q5 of the upper arm and the drive transistors Q2, Q4, and Q6 of the lower arm of the switching leg corresponding to each phase alternately perform an on/off operation.
  • power is supplied from the DC power supply Vcc to each phase of the motor 3, causing the motor 3 to rotate.
  • the drive circuit 2 does not need to have the pre-drive circuit 2b.
  • the current detection circuit 2c is a circuit for detecting the current flowing through the coils Lu, Lv, and Lw of the multiple phases of the motor 3.
  • the current detection circuit 2c detects the currents (phase currents) iu, iv, and iw flowing through the coils Lu, Lv, and Lw of each phase, and outputs a current detection signal Vm that corresponds to the detected current.
  • the current detection circuit 2c is, for example, connected in series with the inverter circuit 2a, and outputs a signal indicating the phase currents iu, iv, and iw of the coils Lu, Lv, and Lw as the current detection signal Vm.
  • the current detection circuit 2c includes, for example, at least one resistor (shunt resistor) as a current detection element.
  • the shunt resistor is, for example, connected in series with the inverter circuit 2a between the DC power supply Vcc and the ground potential (one shunt system).
  • the shunt resistor as the current detection circuit 2c is, for example, connected to the negative side (ground side) of the inverter circuit 2a.
  • the current detection circuit 2c converts the phase currents iu, iv, iw of the coils Lu, Lv, Lw of the motor 3 into a voltage using the resistor, and inputs the voltage to the control circuit 1 as a current detection signal Vm.
  • the current detection signal Vm becomes a signal indicating the phase currents iu, iv, iw of the coils Lu, Lv, Lw.
  • the position sensor 4 is a device for detecting the rotational position of the rotor 31 of the motor 3.
  • the position sensor 4 outputs a signal corresponding to the rotational position of the rotor 31.
  • the position sensor 4 is, for example, a Hall element.
  • FIG. 1 shows a case where Hall elements are provided as position sensors 4u, 4v, and 4w for each of the U-phase, V-phase, and W-phase of the motor 3.
  • the position sensors 4u, 4v, and 4w are also referred to as "Hall elements 4u, 4v, and 4w.”
  • the Hall elements 4u, 4v, 4w are arranged around the rotor 31 of the motor 3 at approximately equal intervals (e.g., 120 degrees between adjacent elements).
  • the Hall elements 4u, 4v, 4w each detect the magnetic poles of the rotor 31 and output Hall signals whose voltage changes according to the rotation of the rotor 31 as rotational position detection signals Hu, Hv, Hw.
  • the rotational position detection signals Hu, Hv, Hw are input to the control circuit 1.
  • control circuit 1 may be configured to input another signal corresponding to the rotational position of the rotor 31 of the motor 3 as a rotational position detection signal instead of such a Hall signal.
  • a rotational position detection signal instead of such a Hall signal.
  • an encoder or resolver may be provided and its detection signal may be input to the control circuit 1.
  • the control circuit 1 generates a drive control signal Sd for driving the motor 3 based on a drive command signal Sc that is input from the outside and indicates the target state of the operation of the motor 3, and controls the driving of the motor 3. Specifically, the control circuit 1 obtains information such as the rotation speed and torque of the rotor 31 of the motor 3 based on the current detection signal Vm from the current detection circuit 2c and the rotation position detection signals Hu, Hv, Hw from the position sensors 4u, 4v, 4w to monitor the rotation state of the motor 3, and generates a drive control signal Sd to provide to the drive circuit 2 so that the motor 3 is in the operating state specified by the drive command signal Sc.
  • control circuit 1 is a program processing device (e.g., a microcontroller) having a configuration in which a processor such as a CPU, various storage devices such as RAM and ROM, and peripheral circuits such as a counter (timer), an A/D conversion circuit, a D/A conversion circuit, a clock generation circuit, and an input/output I/F circuit are connected to each other via a bus or dedicated lines.
  • a processor such as a CPU
  • various storage devices such as RAM and ROM
  • peripheral circuits such as a counter (timer), an A/D conversion circuit, a D/A conversion circuit, a clock generation circuit, and an input/output I/F circuit are connected to each other via a bus or dedicated lines.
  • control circuit 1 and the drive circuit 2 may each be packaged as separate integrated circuit devices, or at least a portion of the control circuit 1 and at least a portion of the drive circuit 2 may be packaged as a single integrated circuit device (IC).
  • IC integrated circuit device
  • FIG. 2 is a diagram showing the functional block configuration of the control circuit 1 in the motor drive control device 10 according to the first embodiment.
  • control circuit 1 has a drive command acquisition unit 11, a q-axis current calculation unit 12, and a calculation unit 13 as functional blocks for generating the drive control signal Sd.
  • These functional blocks are realized, for example, by a processor in a program processing device serving as the control circuit 1, which executes various arithmetic operations according to a program stored in memory and controls peripheral circuits such as a counter and an A/D conversion circuit. At least some of these functional blocks may be realized by a dedicated hardware logic circuit.
  • the drive command acquisition unit 11 receives a drive command signal Sc from the outside and analyzes the received drive command signal Sc to acquire a value that specifies the target operating state of the motor 3 specified by the drive command signal Sc.
  • the drive command signal Sc includes a value indicating a target state for the operation of the motor 3.
  • the drive command signal Sc is, for example, a signal output from a higher-level device for controlling the motor unit 100, which is provided outside the motor drive control device 10.
  • the drive command signal Sc is, for example, a speed command signal Sc1 that specifies the rotation speed of the rotor of the motor 3.
  • the drive command signal Sc includes a value ⁇ ref of the target rotation speed (target rotation speed) of the rotor of the motor 3.
  • the drive command signal Sc will be described as being the speed command signal Sc1.
  • the speed command signal Sc1 is, for example, a PWM signal having a duty ratio corresponding to the specified target rotation speed ⁇ ref.
  • the drive command acquisition unit 11 measures, for example, the duty ratio of the PWM signal serving as the speed command signal Sc1, and outputs a rotation speed corresponding to the measured duty ratio as the target rotation speed ⁇ ref.
  • the q-axis current calculation unit 12 is a functional unit that calculates the q-axis current in a two-phase rotating coordinate system based on the phase currents iu, iv, and iw of the coils Lu, Lv, and Lw of the motor 3.
  • the q-axis current calculation unit 12 calculates the q-axis current using a simple method to reduce the computational load in conventional motor vector control, and generates the drive control signal Sd. The method for calculating the q-axis current is explained below.
  • Figure 3 shows the relationship between a three-phase (U, V, W) fixed coordinate system and a two-phase (d, q) rotating coordinate system.
  • the UVW axes are a three-phase fixed coordinate system
  • the dq axes are a two-phase rotating coordinate system.
  • the d-axis in the two-phase (d, q) rotating coordinate system is set to the magnetic flux direction (N pole direction) of the permanent magnet that serves as the rotor
  • the q-axis is set to the direction 90 degrees ( ⁇ /2) ahead of the d-axis in the positive direction.
  • the rotation angle ⁇ of the rotor 31 measured by the rotation angle acquisition unit 14 is the rotation angle of the d-axis, for example, the angle between the U-axis and the d-axis in a three-phase (U, V, W) fixed coordinate system.
  • Te is the generated torque
  • P is the number of pole pairs
  • is the magnetic flux of the permanent magnet (rotor)
  • Ld is the d-axis inductance
  • Lq is the q-axis inductance
  • id is the d-axis current
  • iq is the q-axis current
  • ⁇ iq is the magnet torque
  • "(Ld-Lq)idiq” is the reluctance torque.
  • motor 3 is a surface permanent magnet synchronous motor (SPMSM)
  • SPMSM surface permanent magnet synchronous motor
  • Figure 4 shows the current vector i in a two-phase (d, q) rotating coordinate system.
  • the current vector i in the two-phase (d, q) rotating coordinate system is composed of a d-axis current component and a q-axis current component.
  • the current vector i coincides with the q-axis current vector.
  • the q-axis current is positive.
  • the q-axis current becomes negative. That is, the phase of the current vector during reverse rotation is shifted by 180° ( ⁇ ) from the current vector during forward rotation. In other words, when rotating the rotor 31 in the reverse direction, the q-axis current needs to be made negative. Also, even when the q-axis current is controlled to zero or very small, the q-axis current may become negative due to the effects of noise caused by voltage fluctuations, load fluctuations, etc.
  • cases where the q-axis current is controlled to zero or very small include, for example, control to start a motor that is spinning freely without braking (windmill start), or when rotating the motor at a very slow speed.
  • FIG. 5 is a diagram showing the relationship between the phase currents iu, iv, iw of the motor 3 and the q-axis current.
  • the horizontal axis represents time
  • the vertical axis represents current.
  • phase currents iu, iv, and iw of the coils of each phase of the motor 3 have sinusoidal waveforms that are, for example, out of phase with each other by 120 degrees.
  • the d-axis current id is set to zero.
  • the q-axis current iq approximately matches the amplitude of the phase currents iu, iv, and iw of the coils Lu, Lv, and Lw of each phase of the motor 3.
  • the q-axis current when the rotor 31 is rotating in the forward direction, the q-axis current is positive. In this case, as shown in FIG. 5, the q-axis current is approximately equal to the positive amplitude of the phase currents iu, iv, iw of the coils Lu, Lv, Lw of each phase of the motor 3. On the other hand, when the rotor 31 is rotated in the reverse direction, the q-axis current is negative. In this case, as shown in FIG. 5, the q-axis current is approximately equal to the negative amplitude, not the positive amplitude, of the phase currents iu, iv, iw of the coils Lu, Lv, Lw of each phase of the motor 3.
  • the motor drive control device 10 estimates the q-axis current when the d-axis current id is zero based on the phase currents iu, iv, iw flowing through the coils Lu, Lv, Lw of each phase and the phase currents -iu, -iv, -iw obtained by inverting the polarity of the phase currents iu, iv, iw (multiplying them by -1).
  • Figure 6 shows an example of a positive q-axis current and phase current.
  • the upper part of Figure 6 shows "sectors," which are ranges obtained by dividing the electrical angle range from 0° to 360° into multiple ranges.
  • the middle part of Figure 6 shows the phase currents iu, iv, iw of each phase, and the phase currents -iu, -iv, -iw obtained by inverting the phase of the phase currents iu, iv, iw by 180° (multiplying them by -1).
  • the lower part of Figure 6 shows the positive q-axis current iq, and an envelope curve showing the temporal change in peak value ip, where ip is the phase current closest to the q-axis current when the d-axis current is set to zero among the phase currents flowing through the coils Lu, Lv, Lw of multiple phases.
  • the horizontal axis represents the electrical angle
  • the vertical axis represents the current.
  • phase current closest to the q-axis current when the d-axis current is set to zero switches every 60° of electrical angle.
  • the phase current iu is closest to the q-axis current iq.
  • the phase current -iw is closest to the q-axis current iq.
  • the phase current iv is closest to the q-axis current iq.
  • the phase current -iu is closest to the q-axis current iq.
  • phase current iw is closest to the q-axis current iq.
  • phase current -iv is closest to the q-axis current iq.
  • phase currents iu, iv, iw, -iu, -iv, -iw is closest to the q-axis current (positive) when the d-axis current is zero.
  • Figure 7 shows an example of the negative q-axis current and phase current.
  • the upper part of Figure 7 shows "sectors," which are ranges obtained by dividing the electrical angle range from 0° to 360° into multiple ranges.
  • the middle part of Figure 7 shows phase currents iu, iv, and iw.
  • the lower part of Figure 7 shows phase currents iu, iv, and iw, phase currents -iu, -iv, and -iw with the polarity of each phase current reversed, and the q-axis current iq.
  • the horizontal axis represents the electrical angle
  • the vertical axis represents the current.
  • phase of current vector i when the q-axis current is negative is inverted by 180° from the phase of current vector i when the q-axis current is positive.
  • phase of each phase current when the q-axis current is negative is inverted by 180° from the phase of each phase current when the q-axis current is positive. Therefore, as shown in Figure 7, in each sector I-VI, the phase currents that are candidates for the negative q-axis current are the same as the phase currents that are candidates for the positive q-axis current.
  • the phase current iu is closest to the q-axis current iq.
  • the phase current -iw is closest to the q-axis current iq.
  • the phase current iv is closest to the q-axis current iq.
  • the phase current -iu is closest to the q-axis current iq.
  • phase current iw is closest to the q-axis current iq.
  • phase current -iv is closest to the q-axis current iq.
  • the q-axis current calculation unit 12 detects, based on the current detection signal Vm and the rotation angle of the rotor 31 of the motor 3, the phase currents iu, iv, iw flowing through the coils Lu, Lv, Lw of each phase, and the phase currents -iu, -iv, -iw obtained by inverting the phases of the phase currents iu, iv, iw by 180°, as the peak value ip, which is the phase current closest to the q-axis current when the d-axis current is set to zero, and calculates, based on the envelope of the peak value ip, the q-axis current in the two-phase rotating coordinate system when the d-axis current in the two-phase rotating coordinate system is set to zero.
  • the q-axis current calculation unit 12 may include a peak value detection unit 121, a low-pass filter (LPF) 122, and a multiplication unit 123.
  • LPF low-pass filter
  • the peak value detection unit 121, the low-pass filter 122, and some or all of the multiplication unit 123 may be realized by program processing using a program processing device as the control circuit 1, or may be realized by a dedicated hardware circuit.
  • the peak value detection unit 121 detects, based on the current detection signal Vm and the rotation angle of the rotor 31 of the motor 3, the phase current iu, iv, iw, -iu, -iv, -iw that is closest to the q-axis current when the d-axis current is set to zero, as the peak value ip.
  • the phase current that is a candidate for the q-axis current i.e., the phase current that is closest to the q-axis current when the d-axis current is set to zero, switches every 60° of electrical angle (see Figures 6 and 7). Therefore, in the first embodiment, the range of electrical angles (0° to 360°) corresponding to the rotation of the rotor 31 is divided into multiple ranges, each of which is a "sector," and each sector is assigned a phase current that is a candidate for the peak value ip (q-axis current).
  • Figure 8 shows the correspondence between sectors and phase currents that are candidates for the peak value ip.
  • phase currents iu, iv, iw, -iu, -iv, -iw is assigned as a candidate phase current for the peak value ip.
  • the range of electrical angle X -30° ⁇ X ⁇ 30° is set as sector I, and the phase current iu closest to the q-axis current in sector I is set as a candidate for the peak value ip in sector I.
  • the range of electrical angle X 30° ⁇ X ⁇ 90° is set as sector II, and the phase current -iw closest to the q-axis current in sector II is set as a candidate for the peak value ip in sector II.
  • the range of electrical angle X 90° ⁇ X ⁇ 150° is set as sector III, and the phase current iv closest to the q-axis current in sector III is set as a candidate for the peak value ip in sector III.
  • the range of electrical angle X of 150° ⁇ X ⁇ 210° is defined as sector IV, and the phase current -iu in sector IV that is closest to the q-axis current is defined as a candidate for the peak value ip in sector IV.
  • the range of electrical angle X of 210° ⁇ X ⁇ 270° is defined as sector V, and the phase current iw in sector V that is closest to the q-axis current is defined as a candidate for the peak value ip in sector V.
  • the range of electrical angle X of 270° ⁇ X ⁇ 330° is defined as sector VI, and the phase current -iv in sector VI that is closest to the q-axis current is defined as a candidate for the peak value ip in sector VI.
  • the peak value detection unit 121 detects the phase of the current vector i in a two-phase (d, q) rotating coordinate system based on the rotation angle of the rotor 31 and the current detection signal Vm, identifies the sector to which the phase of the current vector i belongs, and outputs the phase current associated with the identified sector as a peak value ip.
  • the peak value detection unit 121 has, for example, a current phase detection unit 124, a sector identification unit 125, a phase current calculation unit 126, and a phase current selection unit 127 as functional blocks for realizing the above processing.
  • FIG. 9 is a diagram showing an example of the configuration of the peak value detection unit 121 according to the first embodiment.
  • the current phase detection unit 124 detects the phase of the current vector i in a two-phase rotating coordinate system. For example, the current phase detection unit 124 detects the phase of the current vector i based on the rotation angle ⁇ of the rotor 31.
  • the current vector i when the d-axis current is set to zero coincides with the q-axis current.
  • the current phase detection unit 124 therefore calculates the rotation angle ( ⁇ + ⁇ /2) by adding " ⁇ /2" to the rotation angle ⁇ of the rotor 31 acquired by the rotation angle acquisition unit 14 described below, as the phase of the current vector i. For example, the current phase detection unit 124 calculates the phase of the current vector i for each control period (PWM period) of the motor.
  • the phase current calculation unit 126 calculates the phase current based on the current detection signal Vm. For example, in the case of the one-shunt method described above in which one shunt resistor is connected in series to the inverter circuit to detect the current of the motor 3, the path through which the current flows changes depending on which of the drive transistors Q1 to Q6 are turned on during the motor control period (PWM period), and the phase current indicated by the current detection signal Vm switches as the path changes.
  • the phase current calculation unit 126 therefore calculates the phase currents iu, iv, and iw from the current detection signal Vm in accordance with the on/off timing of the drive transistors Q1 to Q6 of the inverter circuit, for each control period of the motor 3, using, for example, a known one-shunt type current detection method. Furthermore, the phase current calculation unit 126 multiplies the phase currents iu, iv, and iw by "-1" to calculate the phase currents -iu, -iv, and -iw.
  • the sector identification unit 125 identifies the sector to which the phase of the current vector i in the two-phase rotating coordinate system detected by the current phase detection unit 124 belongs. For example, as shown in Figures 6 and 7, if the range of electrical angles from 0 to 360° is divided into six sectors I to VI, the sector identification unit 125 identifies which sector I to VI the phase of the current vector i belongs to. For example, the sector identification unit 125 identifies the sector to which the phase ( ⁇ + ⁇ /2) of the current vector i belongs for each control period of the motor 3, and outputs information on the identified sector.
  • the phase current selection unit 127 selects one phase current from the multiple phase currents based on the information of the sector to which the phase of the current vector i belongs, and outputs it as the peak value ip. For example, the phase current selection unit 127 selects the phase current that is a candidate for the peak value ip (q-axis current) using correspondence information 128 that indicates the correspondence between sectors and phase currents that are candidates for the peak value ip, as shown in FIG. 8.
  • the correspondence information 128 is, for example, a table in which sectors are associated with phase currents that are candidates for the peak value ip.
  • the correspondence information 128 is, for example, stored in advance in a storage device (for example, a non-volatile storage device) in the control circuit 1.
  • a storage device for example, a non-volatile storage device
  • the phase current selection unit 127 reads the correspondence information 128 from the storage device.
  • the phase current selection unit 127 uses the sector to which the phase of the current vector i identified by the sector identification unit 125 belongs as an argument, and reads out the phase current corresponding to the argument from the correspondence information 128.
  • the phase current selection unit 127 outputs the read phase current as a peak value ip.
  • the phase current selection unit 127 selects the phase current -iw and outputs the phase current -iw as the peak value ip.
  • the phase current selection unit 127 outputs the peak value ip for each motor control period.
  • the envelope of the peak value ip whose magnitude changes over time, is output from the phase current selection unit 127.
  • the envelope of the peak value ip (hereinafter also referred to as the "peak value ip signal") changes (oscillates) in magnitude based on the amplitude of the three-phase AC. Therefore, the low-pass filter 122 removes high-frequency components contained in the peak value ip signal.
  • the low-pass filter 122 receives the peak value ip (peak value ip signal) output from the peak value detection unit 121 (phase current selection unit 127).
  • the low-pass filter 122 removes high-frequency components from the input peak value ip signal, and outputs a signal obtained by smoothing the peak value ip signal (hereinafter also referred to as the "average value of the peak value ip").
  • the average value of the peak value ip output from the low-pass filter 122 is smaller than the q-axis current. Therefore, the multiplier 123 multiplies the signal output from the low-pass filter 122 (average value of the peak value ip) by a predetermined value. For example, the average value of the peak value ip is 3/ ⁇ times smaller than the q-axis current. Therefore, the multiplier 123 multiplies the value output from the low-pass filter 122 by " ⁇ /3", for example. This makes it possible to obtain an approximation (estimated value) of the q-axis current when the d-axis current id is set to zero. The multiplier 123 outputs the approximation of the q-axis current calculated as described above as the "q-axis current iq".
  • the above-mentioned predetermined value is not limited to the above-mentioned " ⁇ /3", but may be set appropriately so that an appropriate approximation of the q-axis current can be calculated from the value output from the low-pass filter 122.
  • the calculation unit 13 generates a drive control signal Sd by performing a vector control calculation using the q-axis current iq calculated by the q-axis current calculation unit 12, the drive command signal Sc (speed command signal Sc1) acquired by the drive command acquisition unit 11, the rotational speed ⁇ of the rotor 31 of the motor 3, and the rotational angle ⁇ of the rotor 31.
  • the calculation unit 13 has a rotation angle acquisition unit 14, a rotation speed acquisition unit 15, error calculation units 16 and 18, a q-axis current command value calculation unit 17, a voltage command value calculation unit 19, a lead angle control unit 20, an adder unit 21, and a drive control signal generation unit 22.
  • the rotation angle acquisition unit 14 is a functional unit that acquires the measured value of the rotation angle of the rotor 31 of the motor 3.
  • the rotation angle acquisition unit 14 calculates the rotation angle (rotation position) ⁇ of the rotor 31 of the motor 3 by a known calculation method, for example, based on the rotation position detection signals Hu, Hv, and Hw output from the position sensors 4u, 4v, and 4w.
  • the rotational speed acquisition unit 15 is a functional unit that acquires a measured value of the rotational speed of the rotor 31 of the motor 3.
  • the rotational speed acquisition unit 15 calculates the rotational speed ⁇ of the rotor 31 of the motor 3 by a known calculation method based on the rotational position detection signals Hu, Hv, and Hw output from the position sensors 4u, 4v, and 4w.
  • the rotational speed acquisition unit 15 calculates the rotational speed ⁇ of the rotor 31 of the motor 3 based on the rotation angle ⁇ calculated by the rotational angle acquisition unit 14.
  • the error calculation unit 16 is a functional unit that calculates the difference ( ⁇ ref- ⁇ ) between the target rotation speed ⁇ ref output from the drive command acquisition unit 11 and the actual rotation speed ⁇ of the motor 3 acquired by the rotation speed acquisition unit 15.
  • the q-axis current command value calculation unit 17 is a functional unit that calculates the q-axis current command value iqref so that the difference between the target rotation speed ⁇ ref and the rotation speed ⁇ of the motor 3 becomes small.
  • the q-axis current command value calculation unit 17 calculates the q-axis current command value iqref as the control amount of the motor 3, for example, by a PI control calculation so that the error ( ⁇ ref- ⁇ ) calculated by the error calculation unit 16 becomes zero.
  • the error calculation unit 18 is a functional unit that calculates the difference (iqref-iq) between the q-axis current command value iqref calculated by the q-axis current command value calculation unit 17 and the q-axis current iq calculated by the q-axis current calculation unit 12.
  • the voltage command value calculation unit 19 is a functional unit that calculates a voltage command value vref in a two-phase (d, q) rotating coordinate system so that the difference between the q-axis current command value iqref calculated by the q-axis current command value calculation unit 17 and the q-axis current iq calculated by the q-axis current calculation unit 12 becomes small.
  • the voltage command value calculation unit 19 calculates the voltage command value vref as a control amount for the motor 3, for example, by a PI control calculation so that the error (iqref-iq) calculated by the error calculation unit 18 becomes zero.
  • the advance angle control unit 20 is a functional unit that performs advance angle control of the motor 3 .
  • the lead-angle control unit 20 calculates the phase lead angle (lead-angle value ⁇ ) of the applied voltage (phase applied voltage) of each coil Lu, Lv, Lw based on the q-axis current iq calculated by the q-axis current calculation unit 12 and the rotational speed ⁇ of the rotor 31 acquired by the rotational speed acquisition unit 15. Specifically, the lead-angle control unit 20 calculates the lead-angle value ⁇ at which the d-axis current id in a two-phase (d, q) rotating coordinate system becomes zero. A method for calculating the lead-angle value ⁇ will be described in detail below.
  • FIG. 10 is a diagram for explaining a delay in current with respect to the voltage applied to the coil of a motor.
  • the coil current lags in phase with respect to the applied voltage due to the coil inductance. Therefore, in general lead angle control, the phase of the applied voltage is advanced by the amount of phase delay ⁇ of the coil current with respect to the applied voltage, so that the current has the desired phase.
  • the lead angle of the applied voltage in this case is called the lead angle value ⁇ .
  • the d-axis inductance and q-axis inductance are equal, so when the d-axis current id is zero, the motor's efficiency is maximized.
  • the d-axis current id zero, that is, to make the current only the q-axis component, it is sufficient to advance the phase of the applied voltage by the lead angle value ⁇ relative to the q-axis.
  • the motor drive control device 10 calculates the lead angle value ⁇ at which the d-axis current id in the rotating coordinate system becomes zero, and generates the drive control signal Sd by performing space vector transformation based on the polar coordinate information represented by the lead angle value ⁇ and the voltage command value vref in the rotating coordinate system.
  • FIG. 11 is a diagram for explaining a method of calculating the lead angle value.
  • the voltage command value vref vector
  • the horizontal axis is the d-axis and the vertical axis is the q-axis.
  • d-axis voltage value vd in the two-phase (d, q) rotating coordinate system of a permanent magnet synchronous motor is expressed by the following equation (2).
  • the drive of the motor 3 can be controlled so that the d-axis current id becomes zero.
  • the lead angle value ⁇ when the d-axis current id is set to zero is expressed by the following formula (5).
  • the lead angle control unit 20 calculates the lead angle value ⁇ at which the d-axis current id in the two-phase (d, q) rotating coordinate system becomes zero, based on the q-axis current iq calculated by the q-axis current calculation unit 12 and the rotation speed ⁇ of the rotor 31 acquired by the rotation speed acquisition unit 15.
  • the lead angle control unit 20 calculates the angle (lead angle value) ⁇ of the vector of the voltage command value vref with respect to the q axis when the d-axis component of the vector of the voltage command value vref matches the d-axis voltage value vd when the d-axis current id is zero.
  • the rotation angle ⁇ of the rotor 31 of the motor 3 is the rotation angle of the d-axis.
  • the lead angle value ⁇ is the angle of the vector of the voltage command value vref with respect to the q-axis. Therefore, the lead angle value ⁇ based on the d-axis is " ⁇ + ⁇ /2".
  • the lead-angle control unit 20 calculates the lead-angle value ⁇ using correspondence information 201 that indicates the correspondence between the rotation speed ⁇ of the rotor 31, the q-axis current iq, and the lead-angle value ⁇ ( ⁇ ).
  • correspondence information 201 indicates the correspondence between the rotation speed ⁇ of the rotor 31, the q-axis current iq, and the lead-angle value ⁇ ( ⁇ ).
  • the following methods can be exemplified as a method for calculating the lead-angle value ⁇ using the correspondence information 201.
  • the lead angle control unit 20 may have a function of the lead angle value ⁇ expressed by equation (5) as the correspondence information 201, and calculate the lead angle value ⁇ based on equation (5).
  • the function of the angle ⁇ expressed by equation (5) is stored in advance in a memory in the control circuit 1 as the correspondence information 201.
  • the lead angle control unit 20 reads equation (5) as the correspondence information 201 from the memory, and calculates the angle ⁇ at which the d-axis current id becomes zero by substituting the q-axis current iq calculated by the q-axis current calculation unit 12 and the rotation speed ⁇ of the rotor 31 acquired by the rotation speed acquisition unit 15 into equation (5).
  • the lead angle control unit 20 then outputs a value obtained by adding ⁇ /2 to the calculated angle ⁇ as the lead angle value ⁇ based on the d-axis.
  • the lead angle control unit 20 can use, for example, a value stored in advance in the memory in the control circuit 1 as the q-axis inductance Lq. Also, in the calculation using equation (5) above, the lead angle control unit 20 can use the value calculated by the voltage command value calculation unit 19 as the voltage command value vref.
  • the advance angle control unit 20 may calculate the value of the voltage command value vref using the q-axis current iq and the rotation speed ⁇ without obtaining the value of the voltage command value vref from the voltage command value calculation unit 19.
  • the lead angle control unit 20 may have a table as the correspondence information 201 in which the lead angle value ⁇ corresponds to each combination of the rotation speed ⁇ and the q-axis current iq, and calculate the lead angle value ⁇ based on the table.
  • FIG. 12 shows an example of a table that associates a lead angle value ⁇ with each combination of rotation speed ⁇ and q-axis current iq as the correspondence information 201.
  • the q-axis inductance Lq is a fixed value, and the voltage command value vref can be calculated from the q-axis current iq and the rotation speed ⁇ . Therefore, the optimal lead-angle value ⁇ is measured in advance using the rotation speed ⁇ of the rotor 31 and the q-axis current iq as variables. Alternatively, the lead-angle value ⁇ is calculated in advance using the above formula (5). Then, a table is created that associates the lead-angle value ⁇ with each combination of the rotation speed ⁇ and the q-axis current iq as variables, and this is stored in advance in the memory in the control circuit 1 as the correspondence information 201.
  • the lead angle control unit 20 uses the q-axis current iq calculated by the q-axis current calculation unit 12 and the rotation speed ⁇ of the rotor 31 acquired by the rotation speed acquisition unit 15 as arguments, references a table as the correspondence information 201, and reads out the lead angle value ⁇ corresponding to the arguments from the table and outputs it.
  • the lead angle value ⁇ calculated by the above method is input to the adder 21.
  • the drive control signal generating unit 22 is a functional unit that generates a drive control signal Sd based on the angle ⁇ obtained by adding the lead angle value ⁇ and the rotation angle ⁇ of the rotor 31, and the voltage command value vref.
  • FIG. 13 is a flowchart showing an example of the flow of the process of generating the drive control signal Sd by the motor drive control device 10 according to the first embodiment.
  • control circuit 1 when the control circuit 1 receives a speed command signal Sc1 from a higher-level device, it analyzes the speed command signal Sc1 to obtain information on the target rotation speed ⁇ ref of the motor 3 specified by the speed command signal Sc1 (step S1).
  • the control circuit 1 acquires the rotation angle ⁇ of the rotor 31 of the motor 3 (step S2). Specifically, as described above, the rotation angle acquisition unit 14 calculates the rotation angle ⁇ of the rotor 31 of the motor 3 based on the rotation position detection signals Hu, Hv, and Hw output from the Hall elements 4u, 4v, and 4w serving as position sensors.
  • the control circuit 1 acquires the rotation speed ⁇ of the motor 3 (step S3). Specifically, as described above, the rotation speed acquisition unit 15 calculates the rotation speed ⁇ of the rotor 31 of the motor 3 based on the rotation angle ⁇ of the rotor 31 calculated in step S2.
  • the control circuit 1 detects the phase currents iu, iv, and iw of the coils of each phase of the motor 3 (step S4). Specifically, the current detection circuit 2c outputs a current detection signal Vm according to the coil phase currents iu, iv, and iw using the method described above, and the q-axis current calculation unit 12 acquires the current detection signal Vm.
  • control circuit 1 calculates the q-axis current iq (step S5).
  • FIG. 14 is a flowchart showing an example of the flow of the calculation process (step S5) of the q-axis current iq in embodiment 1.
  • step S5 first, the current phase detection unit 124 detects the phase of the current vector i based on the rotation angle ⁇ of the rotor 31 (step S51). As described above, the current phase detection unit 124 calculates the rotation angle ( ⁇ + ⁇ /2) obtained by adding " ⁇ /2" to the rotation angle ⁇ of the rotor 31 acquired by the rotation angle acquisition unit 14 as the phase of the current vector i.
  • the sector identification unit 125 identifies the sector to which the phase ( ⁇ + ⁇ /2) of the current vector i belongs (step S52).
  • the sector identification unit 125 identifies which of the six sectors I to VI shown in Figures 6 and 7 the phase of the current vector i belongs to.
  • the phase current selection unit 127 selects one phase current that is a candidate for the peak value ip from the multiple phase currents (step S53). Specifically, as described above, the phase current selection unit 127 reads out the candidate phase current from the correspondence information 128 using the sector to which the phase of the current vector i identified in step S52 belongs as an argument.
  • the phase current selection unit 127 outputs the candidate phase current selected in step S53 as a peak value ip (step S54). Specifically, the phase current selection unit 127 outputs the candidate phase current from among the multiple phase currents output from the phase current calculation unit 126 as a peak value ip.
  • the low-pass filter 122 smoothes the signal (envelope) of the peak value ip output from the phase current selection unit 127 (step S55).
  • the multiplication unit 123 multiplies the signal smoothed by the low-pass filter 122 (average value of the peak value ip) by a predetermined value (step S56). Specifically, as described above, the multiplication unit 123 multiplies the average value of the peak value ip output from the low-pass filter 122 by " ⁇ /3". Then, the multiplication unit 123 outputs the value obtained by multiplying the average value of the peak value ip by the predetermined value as the q-axis current iq (step S57).
  • step S6 the control circuit 1 calculates the q-axis current command value iqref (step S6). Specifically, as described above, the error calculation unit 16 calculates the difference between the target rotation speed ⁇ ref and the actual rotation speed ⁇ of the motor 3, and the q-axis current command value calculation unit 17 calculates the q-axis current command value iqref by performing a PI control calculation so that the difference calculated by the error calculation unit 16 becomes zero.
  • the control circuit 1 calculates a voltage command value vref in the two-phase (d, q) rotating coordinate system so that the difference between the q-axis current command value iqref calculated in step S6 and the q-axis current iq calculated in step S5 becomes small (step S7).
  • the error calculation unit 18 calculates the difference between the q-axis current command value iqref and the actual q-axis current iq of the motor 3, and the voltage command value calculation unit 19 calculates the voltage command value vref by performing a PI control calculation so that the difference calculated by the error calculation unit 18 becomes zero.
  • control circuit 1 calculates the lead angle value ⁇ at which the d-axis current id becomes zero based on the q-axis current iq calculated in step S5 and the rotation speed ⁇ of the rotor 31 acquired in step S3 (step S8).
  • the lead angle control unit 20 calculates the lead angle value ⁇ by the above-mentioned method using the correspondence information 201.
  • the control circuit 1 generates a drive control signal Sd based on the angle ⁇ calculated by adding the lead angle ⁇ calculated in step S8 and the rotation angle ⁇ of the rotor 31, and the voltage command value vref calculated in step S7 (step S9).
  • the drive control signal Sd generated by the above processing procedure is supplied to the drive circuit 2. Based on the input drive control signal Sd, the drive circuit 2 controls the energization of the coil of the motor 3 using the method described above. As a result, the motor 3 is controlled to rotate at the target rotation speed ⁇ ref specified by the speed command signal Sc1.
  • the control circuit 1 detects one of the phase currents iu, iv, iw flowing through the coils Lu, Lv, Lw of each phase and the phase currents -iu, -iv, -iw obtained by inverting the phase of the phase currents iu, iv, iw by 180° as a peak value ip, calculates the q-axis current when the d-axis current in the two-phase rotating coordinate system is set to zero based on the envelope of the peak value ip, and generates the drive control signal Sd by performing vector control calculations.
  • the q-axis current can be appropriately estimated even when the q-axis current is negative or zero or a very small value. This makes it possible to stably perform, for example, control to rotate the rotor 31 of the motor 3 in reverse, control to start a motor that is idling without applying the brakes (windmill start), and control to rotate the motor at a very low speed.
  • the control circuit 1 also stores correspondence information 128 in which the phase currents that are candidates for the peak value ip are associated with each of the sectors into which the range of electrical angle according to the rotation of the rotor 31 is divided.
  • the q-axis current calculation unit 12 detects the phase of the current vector i in a two-phase (d, q) rotating coordinate system based on the rotation angle of the rotor 31 and the current detection signal Vm, and identifies the sector to which the phase of the current vector i belongs. Based on the correspondence information 128, the q-axis current calculation unit 12 selects a candidate phase current that is associated with the identified sector, and sets the selected phase current as the peak value ip.
  • the phase current that is closest to the q-axis current is determined according to the electrical angle, so by preparing correspondence information 128 in advance that associates the phase currents that are candidates for the peak value ip (q-axis current) with each sector, and reading out the candidate phase currents that are associated with the sector to which the phase of the current vector i belongs from the correspondence information 128, the phase current that is closest to the q-axis current can be easily determined. This makes it possible to further reduce the calculation load on the control circuit 1.
  • the motor drive control device 10 can appropriately calculate the q-axis current while reducing the computational load.
  • the control circuit 1 drives the motor 3 by performing advance angle control so that the d-axis current id becomes zero. This makes it possible to reduce the computational load compared to the conventional method of calculating the d-axis current id by coordinate transformation and performing vector control calculations so that the calculated d-axis current id becomes zero. This makes it possible to further reduce the processing power required for the program processing device serving as the control circuit 1, making it possible to provide a motor drive control device 10 with lower costs.
  • the control circuit 1 calculates the lead-angle value ⁇ ( ⁇ ) for making the d-axis current id zero, it uses the correspondence information 201 indicating the correspondence between the rotation speed ⁇ of the rotor 31, the q-axis current iq, and the lead-angle value ⁇ .
  • the correspondence information 201 indicating the correspondence between the rotation speed ⁇ of the rotor 31, the q-axis current iq, and the lead-angle value ⁇ .
  • a table that associates the lead-angle value ⁇ for each combination of the rotation speed ⁇ of the rotor 31 and the q-axis current iq is stored in advance in the memory of the control circuit 1 as the correspondence information 201. This makes it possible to calculate the lead-angle value ⁇ without performing complex calculations, making it possible to further reduce the calculation load on the control circuit 1.
  • FIG. 15 is a diagram showing a functional block configuration of a control circuit 1A in a motor drive control device 10A according to the second embodiment.
  • the motor drive control device 10A and the motor 3 form a motor unit 100A.
  • a control circuit 1A according to the second embodiment differs from the control circuit 1 according to the first embodiment in the method of detecting the peak value.
  • the phase of the current vector i can be calculated based on the rotation angle ⁇ of the rotor 31 of the motor 3.
  • an estimated value of the rotation angle of the rotor 31 calculated from the rotation position detection signals Hu, Hv, Hw output from the Hall elements 4u, 4v, 4w serving as position sensors or by a known calculation of position sensorless control may deviate from the true value of the actual rotation angle of the rotor 31.
  • Figure 16 is a diagram to explain the deviation of the current vector caused by the deviation of the estimated value from the true value of the rotation angle of the rotor 31.
  • the true value of the rotation angle of the rotor 31 is " ⁇ tr”
  • the estimated value of the rotation angle of the rotor 31 is " ⁇ ”
  • the deviation of the estimated value from the true value of the rotation angle of the rotor 31 is " ⁇ ”.
  • the peak value detection unit 121A sets multiple phase currents that are candidates for the q-axis current for each sector.
  • FIG. 17 is a diagram for explaining an outline of a method for estimating a q-axis current according to the second embodiment.
  • the upper part of Fig. 17 shows "sectors," which are ranges obtained by dividing the electrical angle range from 0° to 360° into a plurality of ranges.
  • the middle part of Fig. 17 shows phase currents iu, iv, and iw.
  • the lower part of Fig. 17 shows phase currents iu, iv, and iw, phase currents -iu, -iv, and -iw that are obtained by inverting the polarities of phase currents iu, iv, and iw, and a q-axis current iq.
  • the horizontal axis represents the electrical angle
  • the vertical axis represents the current.
  • the electrical angle range from 0° to 360° is divided into six sectors I to VI with 0° as the base.
  • the range of electrical angle X of 0° ⁇ X ⁇ 60° is sector I
  • the range of electrical angle X of 60° ⁇ X ⁇ 120° is sector II
  • the range of electrical angle X of 120° ⁇ X ⁇ 180° is sector III
  • the range of electrical angle X of 180° ⁇ X ⁇ 240° is sector IV
  • the range of electrical angle X of 240° ⁇ X ⁇ 300° is sector V
  • the range of electrical angle X of 300° ⁇ X ⁇ 360° is sector VI.
  • an error ⁇ may occur between the estimated value ( ⁇ + ⁇ /2) of the phase of current vector i and the true value ( ⁇ tr+ ⁇ /2) of the phase of current vector i.
  • the phase current closest to the q-axis current in each sector changes depending on the magnitude of the error ⁇ . For example, when the error ⁇ is in the range of -30° ⁇ +30°, two phase currents can be candidates for the peak value ip (q-axis current) in each sector. When the error ⁇ is in the range of -30° ⁇ +60°, three phase currents can be candidates for the peak value ip (q-axis current) in each sector.
  • FIGS. 18A and 18B are diagrams showing an example of the correspondence between sectors and phase currents that are candidates for the peak value ip in embodiment 2.
  • FIG. 18A shows correspondence information 128A_1 between sectors and phase currents that are candidates for the peak value ip when the error ⁇ is in the range of -30° ⁇ +30°.
  • FIG. 18B shows correspondence information 128A_2 between sectors and phase currents that are candidates for the peak value ip when the error ⁇ is in the range of -30° ⁇ +60°.
  • phase current iu and phase current -iw are candidates for the peak value ip.
  • phase current iv and phase current -iw are candidates for the peak value ip.
  • phase current -iu and phase current iv are candidates for the peak value ip.
  • phase current -iu and phase current iw are candidates for the peak value ip.
  • phase current -iv and phase current iw are candidates for the peak value ip.
  • phase current iu and phase current -iv are candidates for peak value ip.
  • phase current iu, phase current -iw, and phase current -iv are candidates for the peak value ip.
  • phase current iv, phase current -iw, and phase current iu are candidates for the peak value ip.
  • phase current -iu, phase current iv, and phase current -iw are candidates for the peak value ip.
  • phase current -iu, phase current iw, and phase current iv are candidates for the peak value ip.
  • phase current -iv, phase current iw, and phase current -iu are candidates for the peak value ip.
  • phase current iu, phase current -iv, and phase current iw are candidates for peak value ip.
  • phase currents that are candidates for the peak value ip there are multiple phase currents that are candidates for the peak value ip, so in the motor drive control device 10A according to the second embodiment, multiple phase currents that are candidates for the peak value are associated with each sector.
  • the q-axis current calculation unit 12A compares the absolute values of the magnitudes of the multiple candidate phase currents in each sector, and determines the phase current with the largest absolute value as the peak value.
  • FIG. 19 is a diagram showing an example of the configuration of the peak value detection unit 121A according to the second embodiment.
  • the sector identification unit 125A identifies the sector to which the phase of the current vector i in the two-phase rotating coordinate system detected by the current phase detection unit 124 belongs. For example, as shown in FIG. 17, if the range of electrical angles from 0 to 360° is divided into six sectors I to VI, the sector identification unit 125A identifies the sector to which the phase ( ⁇ + ⁇ /2) of the current vector i belongs for each control period of the motor 3, and outputs information on the identified sector.
  • At least one of the correspondence information 128A_1 shown in FIG. 18A and the correspondence information 128A_2 shown in FIG. 18B is pre-stored in a storage device (e.g., a non-volatile storage device) in the control circuit 1A.
  • a storage device e.g., a non-volatile storage device
  • the phase current selection unit 127A reads the correspondence information 128A_1 or the correspondence information 128A_2 from the storage device.
  • the phase current selection unit 127A refers to the correspondence information 128A_1 or the correspondence information 128A_2 and selects a candidate phase current associated with the sector to which the phase of the current vector i identified by the sector identification unit 125A belongs.
  • the phase current selection unit 127A uses the sector to which the phase of the current vector i identified by the sector identification unit 125 belongs as an argument, selects multiple phase currents corresponding to the argument from the correspondence information 128A_1 or the correspondence information 128A_2, compares the absolute values of the selected multiple phase currents, and outputs the phase current with the largest absolute value as the peak value ip.
  • the phase current selection unit 127A selects the phase current iv and the phase current -iw, and compares the absolute value of the phase current iv with the absolute value of the phase current -iw.
  • phase current selection unit 127A If the absolute value of the phase current iv is greater than the absolute value of the phase current -iw, the phase current selection unit 127A outputs the phase current iv as a peak value ip, and if the absolute value of the phase current -iw is greater than the absolute value of the phase current iv, the phase current selection unit 127A outputs the phase current -iw as a peak value ip.
  • the phase current selection unit 127A selects the phase current iv, the phase current -iw, and the phase current iu, and compares the absolute value of the phase current iv, the absolute value of the phase current -iw, and the absolute value of the phase current iu.
  • the phase current selection unit 127A selects the phase current with the largest absolute value, and outputs the selected phase current as the peak value ip.
  • the phase current selection unit 127A outputs the phase current iv as the peak value ip.
  • At least one of the correspondence information 128A_1 and the correspondence information 128A_2 can be stored in advance in the control circuit 1A, taking into consideration the application to which the motor unit 100A is actually applied.
  • the correspondence information 128A_1 can be stored in a storage device in the control circuit 1A
  • the correspondence information 128A_2 can be stored in a storage device in the control circuit 1A.
  • both the correspondence information 128A_1 and 128A_2 can be stored in a storage device in the control circuit 1A, and the phase current selection unit 127A can read one of the correspondence information from the storage device to detect the peak value ip.
  • the motor drive control device 10A drives the motor 3 according to the flowchart shown in FIG. 13, as in the first embodiment.
  • the process of step S5 differs from the process of step S5 (FIG. 14) in the first embodiment.
  • the calculation process of the q-axis current iq (step S5) in the second embodiment will be described below.
  • FIG. 20 is a flowchart showing an example of the flow of the calculation process (step S5) of the q-axis current iq in embodiment 2.
  • step S5 first, the current phase detection unit 124 detects the phase of the current vector i based on the rotation angle ⁇ of the rotor 31 (step S51). For example, as described above, the current phase detection unit 124 calculates the rotation angle ( ⁇ + ⁇ /2) obtained by adding " ⁇ /2" to the rotation angle ⁇ of the rotor 31 acquired by the rotation angle acquisition unit 14 as the phase of the current vector i.
  • the sector identification unit 125A identifies the sector to which the phase of the current vector i belongs (step S52). For example, the sector identification unit 125A identifies which of the six sectors I to VI shown in FIG. 18 the phase of the current vector i belongs to.
  • the phase current selection unit 127A selects a phase current that is a candidate for the peak value ip from the multiple phase currents (step S61). Specifically, as described above, the phase current selection unit 127A reads out multiple candidate phase currents from the correspondence information 128A_1 or the correspondence information 128A_2 using the sector to which the phase of the current vector i identified in step S52 belongs as an argument.
  • phase current selection unit 127A uses the method described above to compare the absolute values of the multiple candidate phase currents selected in step S61 (step S62). Next, the phase current selection unit 127A selects the phase current with the largest absolute value from the multiple candidate phase currents, and outputs the selected phase current as a peak value ip (step S63).
  • step S63 onwards is the same as that in the first embodiment. That is, the low-pass filter 122 smoothes the signal of the peak value ip output from the phase current selection unit 127A (step S55). Next, the multiplication unit 123 multiplies the peak value ip smoothed by the low-pass filter 122 by a predetermined value ( ⁇ /3) (step S56). Then, the multiplication unit 123 outputs the value obtained by multiplying the smoothed peak value ip by the predetermined value as the q-axis current iq (step S57).
  • the motor drive control device 10A according to the second embodiment can appropriately calculate the q-axis current while reducing the computational load, similar to the motor drive control device 10 according to the first embodiment.
  • the q-axis current calculation unit 12A compares the absolute values of the multiple candidate phase currents and sets the phase current with the largest absolute value as the peak value ip.
  • FIG. 21 is a diagram showing a functional block configuration of a control circuit 1B in a motor drive control device 10B according to the third embodiment.
  • a control circuit 1B according to the third embodiment differs from the control circuits 1 and 1A according to the first and second embodiments in the method of detecting the phase of a current vector i.
  • the phase of the current vector i is estimated based on the rotation angle of the rotor 31, but in the third embodiment, the phase of the current vector i is estimated based on the phase of a voltage vector.
  • Figure 22 shows the relationship between the current vector i and the voltage vector v in a two-phase rotating coordinate system.
  • the phase shift of the current vector i relative to the phase of the voltage vector v is " ⁇ ".
  • phase of the current vector i in a two-phase (d, q) rotating coordinate system lags behind the phase of the voltage vector. Therefore, the phase of the current vector i can be estimated based on the phase of the voltage vector v.
  • the peak value detection unit 121B estimates the phase of the current vector i based on the phase of the voltage vector v, and detects the peak value ip using appropriate correspondence information 128B_1, 128B_2 according to the phase shift width ⁇ of the current vector i relative to the phase of the voltage vector v.
  • FIG. 23 is a diagram showing an example of the configuration of a peak value detecting section 121B according to the third embodiment.
  • FIG. 24 is a diagram for explaining an outline of a method for estimating a q-axis current according to the third embodiment.
  • the upper part of FIG. 24 shows "sectors," which are ranges obtained by dividing the electrical angle range from 0° to 360° into multiple ranges.
  • the lower part of FIG. 24 shows phase currents iu, iv, and iw, as well as phase currents -iu, -iv, and -iw with the polarity of each phase current reversed, and the q-axis current iq.
  • the horizontal axis represents the electrical angle.
  • the range of electrical angles from 0° to 360° is divided into six sectors I to VI with 0° as the base.
  • the range of electrical angle X of 0° ⁇ X ⁇ 60° is sector I
  • the range of electrical angle X of 60° ⁇ X ⁇ 120° is sector II
  • the range of electrical angle X of 120° ⁇ X ⁇ 180° is sector III
  • the range of electrical angle X of 180° ⁇ X ⁇ 240° is sector IV
  • the range of electrical angle X of 240° ⁇ X ⁇ 300° is sector V
  • the range of electrical angle X of 300° ⁇ X ⁇ 360° is sector VI.
  • the peak value detection unit 121B detects the phase of the current vector i based on the phase of the voltage vector v in a two-phase rotating coordinate system, which is calculated based on the rotation angle ⁇ of the rotor 31.
  • the current phase detection unit 124B of the peak value detection unit 121B obtains the phase of the voltage vector v in a two-phase rotating coordinate system.
  • the current phase detection unit 124B outputs the phase ⁇ of the voltage vector v as the phase of the current vector i.
  • the sector identification unit 125B identifies the sector to which the phase ⁇ of the current vector i detected by the current phase detection unit 124B belongs. For example, as shown in FIG. 24, if the range of electrical angles from 0 to 360° is divided into six sectors I to VI, the sector identification unit 125B identifies which sector I to VI the phase ⁇ of the current vector i belongs to, and outputs information about the identified sector.
  • the phase current selection unit 127B selects one phase current from the multiple phase currents based on the information of the sector to which the phase of the current vector i belongs, and outputs it as the peak value ip.
  • the phase current closest to the q-axis current in each sector changes depending on the offset ⁇ of the phase of the current vector i relative to the phase of the voltage vector v.
  • the offset ⁇ is in the range of -30° ⁇ +30°
  • two phase currents can be candidates for the peak value ip (q-axis current) in each sector.
  • three phase currents can be candidates for the peak value ip (q-axis current) in each sector.
  • phase currents that are candidates for the peak value are assigned to each sector in advance, taking into consideration the deviation width ⁇ of the phase of the current vector i relative to the phase of the voltage vector v. Then, the q-axis current calculation unit 12B compares the absolute values of the multiple candidate phase currents in each sector, and sets the phase current with the largest absolute value as the peak value ip.
  • FIGS. 25A and 25B are diagrams showing an example of the correspondence between sectors and phase currents that are candidates for the peak value ip in embodiment 3.
  • FIG. 25A shows correspondence information 128B_1 between sectors and phase currents that are candidates for the peak value ip (q-axis current) when the deviation width ⁇ is in the range of -30° ⁇ +30°.
  • FIG. 25B shows correspondence information 128B_2 between sectors and phase currents that are candidates for the peak value ip when the deviation width ⁇ is in the range of -30° ⁇ +60°.
  • each sector and the phase currents that are candidates for the peak value ip shown in Figures 25A and 25B is the same as the correspondence between each sector and the phase currents that are candidates for the peak value ip in embodiment 2 shown in Figures 18A and 18B.
  • At least one of the correspondence information 128B_1 shown in FIG. 25A and the correspondence information 128B_2 shown in FIG. 25B is pre-stored in a storage device (e.g., a non-volatile storage device) in the control circuit 1B.
  • a storage device e.g., a non-volatile storage device
  • the phase current selection unit 127B reads out the correspondence information 128B_1 or the correspondence information 128B_2 from the storage device.
  • the phase current selection unit 127B uses the sector to which the phase of the current vector i identified by the sector identification unit 125B belongs as an argument, and selects multiple phase currents corresponding to the argument from the correspondence information 128B_1 or the correspondence information 128B_2, in a manner similar to that of the phase current selection unit 127A according to the second embodiment.
  • the phase current selection unit 127B compares the absolute values of the selected multiple phase currents, and inputs the phase current with the largest absolute value to the low-pass filter 122 as the peak value ip.
  • the processing after the low-pass filter 122 in the q-axis current calculation unit 12B is similar to that in the first and second embodiments.
  • the phase shift width ⁇ of the current vector i relative to the phase of the voltage vector v generally increases as the motor rotation speed increases and as the load (coil current) increases. Therefore, at least one of the correspondence information 128B_1 and the correspondence information 128B_2 can be stored in advance in the control circuit 1B, taking into consideration the application to which the motor unit 100B is actually applied.
  • the correspondence information 128B_1 may be stored in a storage device in the control circuit 1B
  • the correspondence information 128B_2 may be stored in a storage device in the control circuit 1B.
  • both the correspondence information 128B_1 and 128B_2 may be stored in a storage device in the control circuit 1B, and the phase current selection unit 127B may read one of the correspondence information from the storage device to detect the peak value ip.
  • the motor drive control device 10B can appropriately calculate the q-axis current while reducing the computational load, similar to the motor drive control devices 10 and 10A according to the first and second embodiments.
  • the peak value detection unit 121B estimates the phase of the current vector using the phase ⁇ of the voltage vector v calculated during the vector control calculation process, thereby further reducing the computational load.
  • the rotation angle ⁇ and rotation speed ⁇ of the rotor 31 are calculated based on the position detection signals from the position sensors 4u, 4v, and 4w.
  • the rotation angle ⁇ and rotation speed ⁇ may be calculated by a known calculation based on sensorless control of the motor. In this case, the position sensors 4u, 4v, and 4w are not required.
  • phase currents iu, iv, iw may be detected using other known current detection techniques.
  • the phase currents iu, iv, iw may be detected using a shunt resistor provided between the coils of each phase and the point at which the drive transistors of the inverter circuit 2a connected to them are commonly connected (three-shunt method).
  • the method of detecting the phase currents iu, iv, iw is not limited to the above example, and various known current detection techniques capable of detecting the current flowing through the coils of each phase may be adopted.
  • the range of electrical angles (0° to 360°) is divided into six sectors, but the number of sectors is not limited to six, as long as it is two or more.
  • the range of each sector (-30° ⁇ X ⁇ 30°, 0° ⁇ X ⁇ 60°, etc.) is not limited to the above example, and a desired range can be set as the range of each sector.
  • the method of calculating the voltage vector v(vref, ⁇ ) in the first to third embodiments is not limited to the above example.
  • the voltage vector v(vref, ⁇ ) may be calculated by a known vector control calculation.
  • the drive command signal Sc is a speed command signal Sc1 that includes a target value (target rotation speed) of the rotation speed of the motor 3, but this is not limited to this.
  • the drive command signal Sc may be a torque command signal that specifies the torque of the motor 3.
  • the motor 3 is a surface permanent magnet synchronous motor (SPMSM)
  • SPMSM surface permanent magnet synchronous motor
  • the motor drive control devices 10, 10A, and 10B according to the present embodiment can be used in the case where vector control is performed without using reluctance torque and with the command value of the d-axis current always set to zero.
  • control circuits 1, 1A, and 1B are not limited to the circuit configurations described above.
  • the control circuits 1, 1A, and 1B can be configured in various ways to meet the objectives of the present invention.
  • the number of phases of the motor 3 driven by the motor drive control devices 10, 10A, and 10B is not limited to three.

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Ac Motors In General (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)

Abstract

モータの駆動制御における演算の負荷を低減する。 モータ駆動制御装置(10)において、制御回路(1)は、各相のコイルに流れる相電流(iu,iv,iw)および相電流(iu,iv,iw)の位相を180°反転させた相電流(-iu,-iv,-iw)のうち、d軸電流をゼロとしたときのq軸電流に最も近い相電流をピーク値(ip)として検出し、ピーク値(ip)の包絡線に基づいて、d軸電流をゼロとしたときのq軸電流(iq)を算出するq軸電流算出部(12)と、q軸電流算出部(12)によって算出したq軸電流(iq)と、駆動指令信号(Sc)と、回転速度(ω)と、回転角度(θ)とを用いてベクトル制御演算を行うことにより、駆動制御信号(Sd)を生成する演算部(13)と、を含むことを特徴とする。

Description

モータ駆動制御装置およびモータ駆動制御方法
 本発明は、モータ駆動制御装置およびモータ駆動制御方法に関する。
 一般に、ブラシレスDCモータとしての永久磁石同期モータ(PMSM:Permanent Magnet Synchronous Motor)は、回転子の表面に永久磁石を張り付けた表面磁石型同期モータ(SPMSM:Surface Permanent Magnet Synchronous Motor)と回転子の内部に永久磁石を埋め込んだ埋め込み磁石型同期モータ(IPMSM:Interior Permanent Magnet Synchronous Motor)とに大別される。
 従来、永久磁石同期モータ(PMSM)の駆動制御技術として、ベクトル制御によるモータ駆動制御方法が知られている(例えば、特許文献1参照)。
特開2012-130100号公報
 しかしながら、ベクトル制御によるモータ駆動制御方法では、固定座標系と回転座標系との間での座標変換や除算等の複雑な演算を行う必要があり、モータ駆動制御装置としてのマイクロコントローラ等のプログラム処理装置による演算の負荷が大きくなる。そのため、大容量のメモリを搭載し、複雑な演算を高速で処理可能な高性能なマイクロコントローラ等が必要となり、モータ駆動制御装置のコストの増大を招いている。
 本発明は、上述した課題を解消するためのものであり、モータの駆動制御における演算の負荷を低減することを目的とする。
 本発明の代表的な実施の形態に係るモータ駆動制御装置は、複数相のコイルを有するモータを駆動するための駆動制御信号を出力する制御回路と、前記制御回路から出力された前記駆動制御信号に基づいて前記モータを駆動する駆動回路と、を備え、前記駆動回路は、前記駆動制御信号に基づいて前記複数相のコイルを駆動するインバータ回路と、前記複数相のコイルに流れる電流を検出し、検出した電流に応じた電流検出信号を出力する電流検出回路と、を含み、前記制御回路は、前記モータの動作の目標状態を指示する値を含む駆動指令信号を取得する駆動指令取得部と、前記電流検出信号と前記モータのロータの回転角度とに基づいて、各相のコイルに流れる相電流および当該各相のコイルに流れる相電流の位相を180°反転させた相電流のうち、2相の回転座標系のd軸電流をゼロとしたときの前記2相の回転座標系のq軸電流に最も近い相電流をピーク値として検出し、当該ピーク値の包絡線に基づいて、前記d軸電流をゼロとしたときの前記q軸電流を算出するq軸電流算出部と、前記q軸電流算出部によって算出した前記q軸電流と、前記駆動指令信号と、前記モータのロータの回転速度と、前記ロータの回転角度とを用いてベクトル制御演算を行うことにより、前記駆動制御信号を生成する演算部と、を含むことを特徴とする。
 本発明の一態様によれば、モータ駆動制御における演算の負荷を低減することが可能となる。
実施の形態1に係るモータ駆動制御装置を備えたモータユニットの構成を示す図である。 実施の形態1に係るモータ駆動制御装置における制御回路の機能ブロック構成を示す図である。 3相の固定座標系と2相の回転座標系との関係を示す図である。 2相の回転座標系における電流ベクトルを示す図である。 モータの各相の相電流とq軸電流の関係を示す図である。 正のq軸電流と相電流の一例を示す図である。 負のq軸電流と相電流の一例を示す図である。 セクタとピーク値の候補となる相電流との対応関係を示す図である。 実施の形態1に係るピーク値検出部の構成例を示す図である。 モータのコイルの印加電圧に対する電流の遅れを説明するための図である。 進角値の算出方法を説明するための図である。 対応関係情報としての、回転速度とq軸電流の組み合わせ毎に進角値を対応付けたテーブルの一例を示す図である。 実施の形態1に係るモータ駆動制御装置による駆動制御信号の生成処理の流れの一例を示すフローチャートである。 実施の形態1に係るq軸電流の算出処理(ステップS5)の流れの一例を示すフローチャートである。 実施の形態2に係るモータ駆動制御装置における制御回路の機能ブロック構成を示す図である。 ロータの回転角度の真値に対する推定値のずれに起因する電流ベクトルのずれを説明するための図である。 実施の形態2に係るq軸電流の推定方法の概要を説明するための図である。 実施の形態2における、セクタとピーク値の候補となる相電流との対応関係の一例を示す図である。 実施の形態2における、セクタとピーク値の候補となる相電流との対応関係の一例を示す図である。 実施の形態2に係るピーク値検出部の構成例を示す図である。 実施の形態2におけるq軸電流の算出処理(ステップS5)の流れの一例を示すフローチャートである。 実施の形態3に係るモータ駆動制御装置における制御回路の機能ブロック構成を示す図である。 2相の回転座標系における電流ベクトルと電圧ベクトルとの関係を示す図である。 実施の形態3に係るピーク値検出部の構成例を示す図である。 実施の形態3に係るq軸電流の推定方法の概要を説明するための図である。 実施の形態3における、セクタとピーク値の候補となる相電流との対応関係の一例を示す図である。 実施の形態3における、セクタとピーク値の候補となる相電流との対応関係の一例を示す図である。
1.実施の形態の概要
 先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。なお、以下の説明では、一例として、発明の構成要素に対応する図面上の参照符号を、括弧を付して記載している。
 〔1〕本発明の代表的な実施の形態に係るモータ駆動制御装置(10,10A,10B)は、複数相のコイル(Lu,Lv,Lw)を有するモータ(3)を駆動するための駆動制御信号(Sd)を出力する制御回路(1,1A,1B)と、前記制御回路から出力された前記駆動制御信号に基づいて前記モータを駆動する駆動回路(2)と、を備え、前記駆動回路は、前記駆動制御信号に基づいて前記複数相のコイルを駆動するインバータ回路(2a)と、前記複数相のコイルに流れる電流を検出し、検出した電流に応じた電流検出信号(Vm)を出力する電流検出回路(2c)と、を含み、前記制御回路は、前記モータの動作の目標状態を指示する値を含む駆動指令信号(Sc,Sc1)を取得する駆動指令取得部(11)と、前記電流検出信号と前記モータのロータ(31)の回転角度とに基づいて、各相のコイルに流れる相電流(iu,iv,iw)および当該各相のコイルに流れる相電流の位相を180°反転させた相電流(-iu,-iv,-iw)のうち、2相の回転座標系のd軸電流をゼロとしたときの前記2相の回転座標系のq軸電流に最も近い相電流をピーク値(ip)として検出し、当該ピーク値の包絡線に基づいて、前記d軸電流をゼロとしたときの前記q軸電流(iq)を算出するq軸電流算出部(12,12A,12B)と、前記q軸電流算出部によって算出した前記q軸電流と、前記駆動指令信号と、前記モータのロータの回転速度と、前記ロータの回転角度とを用いてベクトル制御演算を行うことにより、前記駆動制御信号を生成する演算部(13)と、を含むことを特徴とする。
 〔2〕上記〔1〕に記載のモータ駆動制御装置において、前記ロータの回転に応じた電気角の範囲を複数に分割したセクタ(I-VI)毎に前記ピーク値の候補となる相電流が対応付けられた対応関係情報(128,128A_1,128A_2,128B_1,128B_2)が前記制御回路に記憶され、前記q軸電流算出部は、前記ロータの回転角度と前記電流検出信号とに基づいて、前記2相の回転座標系における電流ベクトルの位相を検出するとともに、前記電流ベクトルの位相が属する前記セクタを特定し、前記対応関係情報に基づいて、特定した前記セクタに対応付けられた候補の相電流を選択し、選択した相電流を前記ピーク値としてもよい。
 〔3〕上記〔2〕に記載のモータ駆動制御装置(10A,10B)において、前記q軸電流算出部(12A,12B)は、前記セクタに前記ピーク値の候補となる相電流が複数対応付けられている場合に、複数の候補の相電流の大きさの絶対値を比較し、前記絶対値がもっとも大きい相電流を前記ピーク値としてもよい。
 〔4〕上記〔2〕または〔3〕に記載のモータ駆動制御装置(10,10A)において、前記q軸電流算出部(12,12A)は、前記ロータの回転角度(θ)にπ/2を加算した回転角度を前記電流ベクトルの位相としてもよい。
 〔5〕上記〔2〕または〔3〕に記載のモータ駆動制御装置(10B)において、前記q軸電流算出部(12B)は、前記ロータの回転角度に基づいて算出した、前記2相の回転座標系における電圧ベクトルの位相(σ)に基づいて、前記電流ベクトルの位相を検出してもよい。
 〔6〕上記〔1〕乃至〔5〕の何れかに記載のモータ駆動制御装置において、前記q軸電流算出部(12,12A,12B)は、前記ロータの回転角度と前記電流検出信号とに基づいて前記ピーク値を検出するピーク値検出部(121,121A,121B)と、前記ピーク値検出部によって検出された前記ピーク値が入力されるローパスフィルタ(122)と、前記ローパスフィルタから出力された値に所定値を乗算し、前記q軸電流として出力する乗算部(123)と、を含んでもよい。
 〔7〕上記〔6〕に記載のモータ駆動制御装置において、前記所定値は、π/3であってもよい。
 〔8〕上記〔2〕に記載のモータ駆動制御装置において、前記セクタは、0°から360°までの電気角の範囲を60°毎に分割した範囲であってもよい。
 〔9〕本発明の代表的な一実施の形態に係るモータ駆動制御方法は、複数相のコイルを有するモータの動作の目標状態を指示する値を含む駆動指令信号を取得する第1ステップ(S1)と、前記複数相のコイルに流れる電流を検出する第2ステップ(S4)と、前記第2ステップにおいて検出した電流と前記モータのロータの回転角度とに基づいて、各相のコイルに流れる相電流および当該各相のコイルに流れる相電流の位相を180°反転させた相電流のうち、2相の回転座標系のd軸電流をゼロとしたときの前記2相の回転座標系のq軸電流に最も近い相電流をピーク値として検出し、当該ピーク値の包絡線に基づいて、前記d軸電流をゼロとしたときの前記q軸電流を算出する第3ステップ(S5)と、前記第1ステップにおいて取得した前記駆動指令信号と、前記第3ステップにおいて算出した前記q軸電流と、前記モータのロータの回転速度と、前記ロータの回転角度とを用いてベクトル制御演算を行うことにより、前記モータを駆動させるための駆動制御信号を生成する第4ステップ(S6~S9)と、を含む。
2.実施の形態の具体例
 以下、本発明の実施の形態の具体例について図を参照して説明する。なお、以下の説明において、各実施の形態において共通する構成要素には同一の参照符号を付し、繰り返しの説明を省略する。
 ≪実施の形態1≫
 図1は、実施の形態1に係るモータ駆動制御装置10を備えたモータユニット100の構成を示す図である。
 図1に示すように、モータユニット100は、モータ3と、モータ3の回転を制御するモータ駆動制御装置10と、を備えている。モータユニット100は、例えばファン等の、モータを駆動源として用いる種々の機器に適用することができる。
 モータ3は、例えば、永久磁石同期モータ(PMSM)である。本実施の形態において、モータ3は、例えば、3相のコイルLu,Lv,Lwを有する表面磁石型同期モータ(SPMSM)である。コイルLu,Lv,Lwは、例えば、互いにY結線されている。
 モータ駆動制御装置10は、例えば、モータ3に正弦波駆動信号を与えることにより、モータ3の3相のコイルLu,Lv,Lwに周期的に正弦波状の相電流を流してモータ3のロータ31を回転させる(図3参照)。
 モータ駆動制御装置10は、制御回路1と駆動回路2とを有している。
 なお、図1に示されているモータ駆動制御装置10の構成要素は、全体の一部であり、モータ駆動制御装置10は、図1に示されたものに加えて、他の構成要素を有していてもよい。
 駆動回路2は、後述する制御回路1から出力された駆動制御信号Sdに基づいてモータ3を駆動する。駆動回路2は、例えば、インバータ回路2a、プリドライブ回路2b、および電流検出回路2cを有する。
 インバータ回路2aは、直流電源Vccとグラウンド電位との間に配置され、入力された駆動制御信号Sdに基づいて、負荷としてのモータ3の複数相のコイルLu,Lv,Lwを駆動する回路である。具体的には、実施の形態1において、インバータ回路2aは、直列に接続された2つの駆動用トランジスタを含むスイッチングレグを3つ有し、入力された駆動制御信号Sdに基づいて、2つの駆動用トランジスタが交互にオン・オフ動作(スイッチング動作)を行うことにより、負荷としてのモータ3を駆動する。
 より具体的には、インバータ回路2aは、モータ3のU相、V相、およびW相にそれぞれ対応するスイッチングレグを有する。図1に示すように、各相に対応するスイッチングレグは、直流電源Vccとグラウンド電位との間に電流検出回路2cを介して直列に接続された2つの駆動用トランジスタQ1とQ2,Q3とQ4,Q5とQ6を有している。
 ここで、駆動用トランジスタQ1,Q3,Q5は、例えば、Nチャネル型のMOSFETであり、駆動用トランジスタQ2,Q4,Q6は、例えば、Nチャネル型のMOSFETである。なお、駆動用トランジスタQ1~Q6は、IGBT(Insulated Gate Bipolar Transistor)等の他の種類のトランジスタであってもよい。
 例えば、U相に対応するスイッチングレグは、互いに直列に接続された駆動用トランジスタQ1,Q2を有する。駆動用トランジスタQ1と駆動用トランジスタQ2とが共通に接続される点は、負荷としてのコイルLuの一端に接続されている。V相に対応するスイッチングレグは、互いに直列に接続された駆動用トランジスタQ3,Q4を有する。駆動用トランジスタQ3と駆動用トランジスタQ4とが共通に接続される点は、負荷としてのコイルLvの一端に接続されている。W相に対応するスイッチングレグは、互いに直列に接続された駆動用トランジスタQ5,Q6を有する。駆動用トランジスタQ5と駆動用トランジスタQ6とが共通に接続される点は、負荷としてのコイルLwの一端に接続されている。
 プリドライブ回路2bは、制御回路1から出力された駆動制御信号Sdに基づいて、インバータ回路2aを駆動するための駆動信号を生成する。
 駆動制御信号Sdは、モータ3の駆動を制御するための信号であり、例えばPWM(Pulse Width Modulation)信号である。具体的には、駆動制御信号Sdは、インバータ回路2aを構成する各駆動用トランジスタのオン/オフの状態によって定まるモータ3のコイルLu,Lv,Lwの通電パターンを切り替えるための信号である。より具体的には、駆動制御信号Sdは、インバータ回路2aの各駆動用トランジスタQ1~Q6に対応する6種類のPWM信号を含む。
 プリドライブ回路2bは、制御回路1から供給された駆動制御信号Sdとしての6種類のPWM信号に基づいて、インバータ回路2aの各駆動用トランジスタQ1~Q6の制御電極(ゲート電極)を駆動するのに十分な電力を供給可能な6種類の駆動信号Vuh,Vul,Vvh,Vvl,Vwh,Vwlを生成する。
 これらの駆動信号Vuh,Vul,Vvh,Vvl,Vwh,Vwlがインバータ回路2aの各駆動用トランジスタQ1~Q6の制御電極(ゲート電極)に入力されることにより、各駆動用トランジスタQ1~Q6がオン・オフ動作(スイッチング動作)を行う。例えば、各相に対応するスイッチングレグの上側アームの駆動用トランジスタQ1,Q3,Q5と下側アームの駆動用トランジスタQ2,Q4,Q6は、交互にオン・オフ動作を行う。これにより、モータ3の各相に直流電源Vccから電力が供給され、モータ3が回転する。
 なお、制御回路1が駆動信号Vuh,Vul,Vvh,Vvl,Vwh,Vwlを生成できる場合には、駆動回路2は、プリドライブ回路2bを有していなくてもよい。
 電流検出回路2cは、モータ3の複数相のコイルLu,Lv,Lwに流れる電流を検出するための回路である。電流検出回路2cは、各相のコイルLu,Lv,Lwに流れる電流(相電流)iu,iv,iwを検出し、検出した電流に応じた電流検出信号Vmを出力する。
 電流検出回路2cは、例えば、インバータ回路2aと直列に接続され、電流検出信号Vmとして、コイルLu,Lv,Lwの相電流iu,iv,iwを示す信号を出力する。
 具体的には、電流検出回路2cは、例えば、電流検出素子としての少なくとも一つの抵抗(シャント抵抗)を含む。シャント抵抗は、例えば、直流電源Vccとグラウンド電位との間にインバータ回路2aと直列に接続されている(1シャント方式)。実施の形態1において、電流検出回路2cとしてのシャント抵抗は、例えば、インバータ回路2aの負側(グラウンド側)に接続されている。電流検出回路2cは、モータ3のコイルLu,Lv,Lwの相電流iu,iv,iwを上記抵抗によって電圧に変換し、その電圧を電流検出信号Vmとして制御回路1に入力する。これにより、電流検出信号Vmは、コイルLu,Lv,Lwの相電流iu,iv,iwを示す信号となる。
 位置センサ4は、モータ3のロータ31の回転位置を検出するための装置である。位置センサ4は、ロータ31の回転位置に応じた信号を出力する。位置センサ4は、例えば、ホール素子である。図1には、一例として、モータ3のU相、V相、およびW相毎に、位置センサ4u,4v,4wとしてのホール素子が設けられた場合が示されている。以下、位置センサ4u,4v,4wを「ホール素子4u,4v,4w」とも称する。
 ホール素子4u,4v,4wは、例えば、互いに略等間隔(例えば、隣り合うものと120度の間隔)にモータ3のロータ(回転子)31の周囲に配置されている。ホール素子4u,4v,4wは、それぞれ、ロータ31の磁極を検出し、ロータ31の回転に応じて電圧が変化するホール信号を回転位置検出信号Hu,Hv,Hwとして出力する。回転位置検出信号Hu,Hv,Hwは、制御回路1に入力される。
 なお、制御回路1には、このようなホール信号に代えて、モータ3のロータ31の回転位置に対応する他の信号が回転位置検出信号として入力されるように構成されていてもよい。例えば、エンコーダやレゾルバ等を設け、その検出信号が制御回路1に入力されるようにしてもよい。
 制御回路1は、例えば、外部から入力される、モータ3の動作の目標状態を指示する駆動指令信号Scに基づいて、モータ3を駆動させるための駆動制御信号Sdを生成し、モータ3の駆動を制御する。具体的には、制御回路1は、電流検出回路2cからの電流検出信号Vm、および位置センサ4u,4v,4wからの回転位置検出信号Hu,Hv,Hwに基づいて、モータ3のロータ31の回転速度やトルク等の情報を得ることでモータ3の回転状態を監視するとともに、モータ3が駆動指令信号Scによって指定された動作状態となるように駆動制御信号Sdを生成して、駆動回路2に与える。
 実施の形態1において、制御回路1は、例えば、CPU等のプロセッサと、RAM,ROM等の各種記憶装置と、カウンタ(タイマ)、A/D変換回路、D/A変換回路、クロック発生回路、および入出力I/F回路等の周辺回路とが、バスや専用線を介して互いに接続された構成を有するプログラム処理装置(例えばマイクロコントローラ)である。
 なお、モータ駆動制御装置10において、制御回路1と駆動回路2がそれぞれ個別の集積回路装置として夫々パッケージ化されていてもよいし、制御回路1の少なくとも一部と駆動回路2の少なくとも一部とが一つの集積回路装置(IC)としてパッケージ化されていてもよい。
 図2は、実施の形態1に係るモータ駆動制御装置10における制御回路1の機能ブロック構成を示す図である。
 図2に示すように、制御回路1は、駆動制御信号Sdを生成するための機能ブロックとして、駆動指令取得部11、q軸電流算出部12、および演算部13を有する。
 これらの機能ブロックは、例えば、制御回路1としてのプログラム処理装置において、プロセッサが、メモリに記憶されたプログラムに従って各種演算処理を実行するとともに、カウンタやA/D変換回路等の周辺回路を制御することによって実現される。なお、これらの機能ブロックのうち少なくとも一部が専用のハードウェアロジック回路によって実現されていてもよい。
 駆動指令取得部11は、外部から駆動指令信号Scを受信し、受信した駆動指令信号Scを解析することにより、駆動指令信号Scで指定されたモータ3の目標となる動作状態を指定する値を取得する。
 駆動指令信号Scは、モータ3の動作の目標状態を指示する値を含む。駆動指令信号Scは、例えば、モータ駆動制御装置10の外部に設けられた、モータユニット100を制御するための上位装置から出力される信号である。
 実施の形態1において、駆動指令信号Scは、例えば、モータ3のロータの回転速度を指定する速度指令信号Sc1である。駆動指令信号Scは、モータ3のロータの目標となる回転速度(目標回転速度)の値ωrefを含んでいる。以下、実施の形態1では、駆動指令信号Scが速度指令信号Sc1であるとして説明する。
 速度指令信号Sc1は、例えば、指定する目標回転速度ωrefに応じたデューティ比を有するPWM信号である。駆動指令取得部11は、例えば、速度指令信号Sc1としてのPWM信号のデューティ比を計測し、計測したデューティ比に応じた回転速度を目標回転速度ωrefとして出力する。
 q軸電流算出部12は、モータ3のコイルLu,Lv,Lwの相電流iu,iv,iwに基づいて、2相の回転座標系のq軸電流を算出する機能部である。
 q軸電流算出部12は、従来のモータのベクトル制御における演算の負荷を低減するために、簡易的な手法によってq軸電流を算出し、駆動制御信号Sdを生成する。以下、q軸電流の算出方法について説明する。
 先ず、実施の形態1に係るモータ駆動制御装置10によるベクトル制御における座標系について説明する。
 図3は、3相(U,V,W)の固定座標系と2相(d,q)の回転座標系との関係を示す図である。
 図3に示すように、U-V-W軸は3相の固定座標系であり、d-q軸は2相の回転座標系である。一般に、モータのベクトル制御において、2相(d,q)の回転座標系におけるd軸をロータとしての永久磁石の磁束方向(N極方向)とし、q軸をd軸から正方向に90度(π/2)進んだ方向とする。
 このようにq軸およびd軸の方向を設定した場合、図3に示すように、回転角度取得部14によって計測されるロータ31の回転角度θは、d軸の回転角度となり、例えば、3相(U,V,W)の固定座標系におけるU軸とd軸とのなす角となる。
 一般に、永久磁石同期モータ(PMSM)のトルクは、以下の式で表されることが知られている。
Figure JPOXMLDOC01-appb-M000001
 上記式(1)において、Teは発生トルク、Pは極対数、Ψは永久磁石(ロータ)の磁束、Ldはd軸インダクタンス、Lqはq軸インダクタンス、idはd軸電流、iqはq軸電流、Ψiqはマグネットトルク、“(Ld-Lq)idiq”はリラクタンストルクである。
 ここで、モータ3が表面磁石型同期モータ(SPMSM)である場合、d軸インダクタンスLdとq軸インダクタンスLqとが等しい(Ld=Lq)ため、リラクタンストルクが発生しない。したがって、式(1)から理解されるように、d軸電流idをゼロにしたときに、モータ3の効率を最大にすることができる。
 次に、モータ3の各相の相電流と2相の回転座標系のq軸電流との関係について説明する。
 図4は、2相(d,q)の回転座標系における電流ベクトルiを示す図である。
 2相(d,q)の回転座標系の電流ベクトルiは、d軸電流の成分とq軸電流の成分とによって構成される。d軸電流をゼロとした場合、電流ベクトルiはq軸電流のベクトルと一致する。図3に示すように、ロータ31が正回転する場合、q軸電流が正となる。
 一方、ロータ31が逆回転する場合、q軸電流が負となる。すなわち、逆回転時の電流ベクトルの位相は、正回転時の電流ベクトルに対して位相が180°(π)ずれる。換言すれば、ロータ31を逆回転させる場合には、q軸電流を負にする必要がある。また、q軸電流をゼロまたは微小に制御する場合も、電圧変動や負荷変動などに起因するノイズの影響によってq軸電流が負となる場合がある。
 ここで、q軸電流をゼロまたは微小に制御する場合とは、例えば、空転している状態のモータをブレーキをかけずに始動する制御(ウィンドミル始動)や、非常に低速でモータを回転させる場合等である。
 図5は、モータ3の各相の相電流iu,iv,iwとq軸電流の関係を示す図である。
 図5において、横軸は時間、縦軸は電流をそれぞれ表している。
 図5に示すように、モータ3を正弦波駆動したとき、モータ3の各相のコイルの相電流iu,iv,iwは、例えば、互いに位相が120度ずれた正弦波状の波形となる。
 上述したように、モータの効率を最大にするためには、d軸電流idをゼロにする。d軸電流idがゼロのとき、図5に示すように、q軸電流iqは、モータ3の各相のコイルLu,Lv,Lwの相電流iu,iv,iwの振幅と略一致する。
 ここで、ロータ31が正回転している場合には、q軸電流が正となる。この場合、図5に示すように、q軸電流は、モータ3の各相のコイルLu,Lv,Lwの相電流iu,iv,iwの正側の振幅と略一致する。一方、ロータ31を逆回転させる場合等においては、q軸電流が負となる。この場合、図5に示すように、q軸電流は、モータ3の各相のコイルLu,Lv,Lwの相電流iu,iv,iwの正側の振幅ではなく、負側の振幅と略一致する。
 そこで、実施の形態1に係るモータ駆動制御装置10は、各相のコイルLu,Lv,Lwに流れる相電流iu,iv,iwと相電流iu,iv,iwの極性を反転させた(-1を乗算した)相電流-iu,-iv,-iwとに基づいて、d軸電流idがゼロのときのq軸電流を推定する。
 図6は、正のq軸電流と相電流の一例を示す図である。
 図6の紙面上段には、0°から360°までの電気角の範囲を複数に分割した範囲である“セクタ”が示されている。図6の紙面中段には、各相の相電流iu,iv,iwと各相の相電流iu,iv,iwの位相を180°反転させた(-1をかけた)相電流-iu,-iv,-iwが示されている。図6の紙面下段には、正のq軸電流iqと、複数相のコイルLu,Lv,Lwに流れる各相電流のうち、d軸電流をゼロとしたときのq軸電流に最も近い相電流をピーク値ipとした場合に、ピーク値ipの時間的な変化を示す包絡線が示されている。図6において、横軸は電気角、縦軸は電流をそれぞれ表している。
 図6に示すように、3相の相電流iu,iv,iwと各相電流iu,iv,iwの極性を反転させた相電流-iu,-iv,-iwとを重ね合わせたとき、d軸電流をゼロとしたときのq軸電流に最も近い相電流は、電気角60°毎に切り替わる。
 例えば、図6に示すように、電気角Xが-30°<X≦30°の範囲では、相電流iuが最もq軸電流iqに近づく。電気角Xが30°<X≦90°の範囲では、相電流-iwが最もq軸電流iqに近づく。電気角Xが90°<X≦150°の範囲では、相電流ivが最もq軸電流iqに近づく。電気角Xが150°<X≦210°の範囲では、相電流-iuが最もq軸電流iqに近づく。電気角Xが210°<X≦270°の範囲では、相電流iwが最もq軸電流iqに近づく。電気角Xが270°<X≦330°の範囲では、相電流-ivが最もq軸電流iqに近づく。
 このように、各相電流iu,iv,iw,-iu,-iv,-iwのうちの一つの相電流が、d軸電流がゼロであるときのq軸電流(正)に最も近づく。
 図7は、負のq軸電流と相電流の一例を示す図である。
 図7の紙面上段には、0°から360°までの電気角の範囲を複数に分割した範囲である“セクタ”が示されている。図7の紙面中段には、相電流iu,iv,iwが示されている。図7の紙面下段には、相電流iu,iv,iwと各相電流の極性を反転させた相電流-iu,-iv,-iwと、q軸電流iqとが示されている。図7において、横軸は電気角、縦軸は電流をそれぞれ表している。
 上述したように、q軸電流が負になるときの電流ベクトルiの位相は、q軸電流が正になるときの電流ベクトルiの位相に対して180°反転する。同様に、図7に示すように、q軸電流が負になるときの各相電流の位相は、q軸電流が正になるときの各相電流の位相に対して180°反転する。そのため、図7に示すように、各セクタI-VIにおいて、負のq軸電流の候補となる相電流は、正のq軸電流の候補となる相電流と同じになる。
 例えば、図7に示すように、電気角Xが-30°<X≦30°の範囲では、相電流iuが最もq軸電流iqに近づく。電気角Xが30°<X≦90°の範囲では、相電流-iwが最もq軸電流iqに近づく。電気角Xが90°<X≦150°の範囲では、相電流ivが最もq軸電流iqに近づく。電気角Xが150°<X≦210°の範囲では、相電流-iuが最もq軸電流iqに近づく。電気角Xが210°<X≦270°の範囲では、相電流iwが最もq軸電流iqに近づく。電気角Xが270°<X≦330°の範囲では、相電流-ivが最もq軸電流iqに近づく。
 このように、q軸電流が負になる場合も同様に、各相電流iu,iv,iw,-iu,-iv,-iwのうちの一つの相電流が、d軸電流がゼロであるときのq軸電流(負)に最も近づく。
 そこで、実施の形態1に係るq軸電流算出部12は、電流検出信号Vmとモータ3のロータ31の回転角度とに基づいて、各相のコイルLu,Lv,Lwに流れる相電流iu,iv,iwおよび相電流iu,iv,iwの位相を180°反転させた相電流-iu,-iv,-iwのうち、d軸電流をゼロとしたときのq軸電流に最も近い相電流をピーク値ipとして検出し、当該ピーク値ipの包絡線に基づいて、2相の回転座標系のd軸電流をゼロとしたときの2相の回転座標系のq軸電流を算出する。
 例えば、図2に示すように、q軸電流算出部12は、ピーク値検出部121と、ローパスフィルタ(LPF)122と、乗算部123と、を含んでいてもよい。
 ピーク値検出部121、ローパスフィルタ122、および乗算部123の一部または全部は、制御回路1としてのプログラム処理装置によるプログラム処理によって実現されていてもよいし、専用のハードウェア回路によって実現されていてもよい。
 ピーク値検出部121は、電流検出信号Vmとモータ3のロータ31の回転角度とに基づいて、各相電流iu,iv,iw,-iu,-iv,-iwのうちd軸電流をゼロとしたときのq軸電流に最も近い相電流をピーク値ipとして検出する。
 上述したように、q軸電流の候補となる相電流、すなわちd軸電流をゼロとしたときのq軸電流に最も近づく相電流は、電気角60°毎に切り替わる(図6および図7参照)。そこで、実施の形態1では、ロータ31の回転に応じた電気角の範囲(0°~360°)を複数に分割し、分割したそれぞれの小範囲を「セクタ」とし、セクタ毎にピーク値ip(q軸電流)の候補となる相電流を予め対応付けておく。
 図8は、セクタとピーク値ipの候補となる相電流との対応関係を示す図である。
 各セクタにおいて、各相電流iu,iv,iw,-iu,-iv,-iwのうちの一つをピーク値ipの候補となる相電流として対応付ける。例えば、図6、図7、および図8に示すように、電気角Xが-30°<X≦30°の範囲をセクタIとし、セクタIにおいて最もq軸電流に近い相電流iuを、セクタIにおけるピーク値ipの候補とする。電気角Xが30°<X≦90°の範囲をセクタIIとし、セクタIIにおいて最もq軸電流に近い相電流-iwを、セクタIIにおけるピーク値ipの候補とする。電気角Xが90°<X≦150°の範囲をセクタIIIとし、セクタIIIにおいて最もq軸電流に近い相電流ivを、セクタIIIにおけるピーク値ipの候補とする。電気角Xが150°<X≦210°の範囲をセクタIVとし、セクタIVにおいて最もq軸電流に近い相電流-iuを、セクタIVにおけるピーク値ipの候補とする。電気角Xが210°<X≦270°の範囲をセクタVとし、セクタVにおいて最もq軸電流に近い相電流iwを、セクタVにおけるピーク値ipの候補とする。電気角Xが270°<X≦330°の範囲をセクタVIとし、セクタVIにおいて最もq軸電流に近い相電流-ivをセクタVIにおけるピーク値ipの候補とする。
 ピーク値検出部121は、ロータ31の回転角度と電流検出信号Vmとに基づいて、2相(d,q)の回転座標系における電流ベクトルiの位相を検出するとともに、電流ベクトルiの位相が属するセクタを特定し、特定したセクタに対応付けられた相電流をピーク値ipとして出力する処理を行う。ピーク値検出部121は、上記処理を実現するための機能ブロックとして、例えば、電流位相検出部124、セクタ特定部125、相電流算出部126、および相電流選択部127を有する。
 図9は、実施の形態1に係るピーク値検出部121の構成例を示す図である。
 電流位相検出部124は、2相の回転座標系における電流ベクトルiの位相を検出する。例えば、電流位相検出部124は、ロータ31の回転角度θに基づいて、電流ベクトルiの位相を検出する。
 図3に示したように、q軸方向は、ロータ31の回転角度θ(d軸方向=N極方向)に対して、+90°(π/2)ずれている。また、d軸電流をゼロとした場合の電流ベクトルiは、q軸電流と一致する。
 そこで、電流位相検出部124は、後述する回転角度取得部14によって取得されたロータ31の回転角度θに“π/2”を加算した回転角度(θ+π/2)を電流ベクトルiの位相として算出する。例えば、電流位相検出部124は、モータの制御周期(PWM周期)毎に、電流ベクトルiの位相を算出する。
 相電流算出部126は、電流検出信号Vmに基づいて相電流を算出する。
 例えば、上述した1つのシャント抵抗をインバータ回路に直列に接続してモータ3の電流を検出する1シャント方式の場合、モータの制御周期(PWM周期)においてオンする駆動用トランジスタQ1~Q6に応じて電流が流れる経路が変化し、その経路の切り替わりによって電流検出信号Vmが示す相電流が切り替わる。
 そこで、相電流算出部126は、例えば、1シャント方式の公知の電流検出手法により、インバータ回路の駆動用トランジスタQ1~Q6のオン/オフのタイミングに合わせて電流検出信号Vmから相電流iu,iv,iwを、モータ3の制御周期毎に算出する。更に、相電流算出部126は、相電流iu,iv,iwに“-1”を乗算することにより、相電流-iu,-iv,-iwを算出する。
 セクタ特定部125は、電流位相検出部124によって検出された2相の回転座標系における電流ベクトルiの位相が属するセクタを特定する。例えば、図6および図7に示すように、0から360°までの電気角の範囲を6つのセクタI~VIに分割した場合、セクタ特定部125は、電流ベクトルiの位相がどのセクタI~VIに属するかを特定する。セクタ特定部125は、例えば、モータ3の制御周期毎に、電流ベクトルiの位相(θ+π/2)が属するセクタを特定し、特定したセクタの情報を出力する。
 相電流選択部127は、電流ベクトルiの位相が属するセクタの情報に基づいて、複数の相電流から一つの相電流を選択し、ピーク値ipとして出力する。相電流選択部127は、例えば、図8に示す、セクタとピーク値ipの候補となる相電流との対応関係を示す対応関係情報128を用いて、ピーク値ip(q軸電流)の候補となる相電流を選択する。
 図8に示すように、対応関係情報128は、例えば、セクタとピーク値ipの候補となる相電流とが対応付けられたテーブルである。対応関係情報128は、例えば、制御回路1内の記憶装置(例えば、不揮発性の記憶装置)に予め記憶されている。例えば、モータ駆動制御装置10の起動後に、相電流選択部127は上記記憶装置から対応関係情報128を読み出す。
 相電流選択部127は、セクタ特定部125によって特定された電流ベクトルiの位相が属するセクタを引数として、当該引数に対応する相電流を対応関係情報128から読み出す。相電流選択部127は、読み出した相電流をピーク値ipとして出力する。
 例えば、図8に示す対応関係情報128の場合、電流ベクトルiの位相が属するセクタが“セクタII”であったとき、相電流選択部127は、相電流-iwを選択し、相電流-iwをピーク値ipとして出力する。相電流選択部127は、モータの制御周期毎に、ピーク値ipを出力する。これにより、時間の経過とともに大きさが変化するピーク値ipの包絡線が、相電流選択部127から出力される。
 ピーク値ipの包絡線(以下、「ピーク値ipの信号」とも称する。)は、三相交流の振幅に基づいて大きさが変化する(振動する)。そこで、ローパスフィルタ122により、ピーク値ipの信号に含まれる高周波成分を除去する。
 ローパスフィルタ122には、ピーク値検出部121(相電流選択部127)から出力されたピーク値ip(ピーク値ipの信号)が入力される。ローパスフィルタ122は、入力されたピーク値ipの信号から高周波成分を除去し、ピーク値ipの信号を平滑化した信号(以下、「ピーク値ipの平均値」とも称する。)を出力する。
 ローパスフィルタ122から出力されたピーク値ipの平均値は、q軸電流よりも小さい値となる。そこで、乗算部123は、ローパスフィルタ122から出力された信号(ピーク値ipの平均値)に所定値を乗算する。例えば、ピーク値ipの平均値は、q軸電流に対して3/π倍小さな値となる。そこで、乗算部123は、例えば、ローパスフィルタ122から出力された値に“π/3”を乗算する。これにより、d軸電流idをゼロとしたときのq軸電流の近似値(推定値)を得ることができる。乗算部123は、上述のように算出したq軸電流の近似値を“q軸電流iq”として出力する。
 なお、上記所定値は、上述の“π/3”に限定されず、ローパスフィルタ122から出力された値から適切なq軸電流の近似値が算出できるように適宜設定すればよい。
 次に、演算部13について説明する。
 演算部13は、q軸電流算出部12によって算出したq軸電流iqと、駆動指令取得部11によって取得した駆動指令信号Sc(速度指令信号Sc1)と、モータ3のロータ31の回転速度ωと、ロータ31の回転角度θとを用いてベクトル制御演算を行うことにより、駆動制御信号Sdを生成する。
 例えば、図2に示すように、演算部13は、回転角度取得部14、回転速度取得部15、誤差算出部16,18、q軸電流指令値算出部17、電圧指令値算出部19、進角制御部20、加算部21、および駆動制御信号生成部22を有する。
 回転角度取得部14は、モータ3のロータ31の回転角度の計測値を取得する機能部である。回転角度取得部14は、例えば、位置センサ4u,4v,4wから出力された回転位置検出信号Hu,Hv,Hwに基づいて、公知の計算手法により、モータ3のロータ31の回転角度(回転位置)θを算出する。
 回転速度取得部15は、モータ3のロータ31の回転速度の計測値を取得する機能部である。回転速度取得部15は、位置センサ4u,4v,4wから出力された回転位置検出信号Hu,Hv,Hwに基づいて、公知の計算手法により、モータ3のロータ31の回転速度ωを算出する。実施の形態では、例えば、回転速度取得部15は、回転角度取得部14によって算出された回転角度θに基づいて、モータ3のロータ31の回転速度ωを算出する。
 誤差算出部16は、駆動指令取得部11から出力された目標回転速度ωrefと回転速度取得部15によって取得したモータ3の実際の回転速度ωとの差(ωref‐ω)を算出する機能部である。
 q軸電流指令値算出部17は、モータ3の目標回転速度ωrefと回転速度ωとの差が小さくなるように、q軸電流の指令値iqrefを算出する機能部である。q軸電流指令値算出部17は、例えば、PI制御演算により、誤差算出部16によって算出した誤差(ωref‐ω)がゼロになるように、モータ3の制御量としてのq軸電流の指令値iqrefを算出する。
 誤差算出部18は、q軸電流指令値算出部17によって算出したq軸電流の指令値iqrefとq軸電流算出部12によって算出したq軸電流iqとの差(iqref‐iq)を算出する機能部である。
 電圧指令値算出部19は、q軸電流指令値算出部17によって算出したq軸電流の指令値iqrefとq軸電流算出部12によって算出したq軸電流iqとの差が小さくなるように、2相(d,q)の回転座標系の電圧指令値vrefを算出する機能部である。電圧指令値算出部19は、例えば、PI制御演算により、誤差算出部18によって算出した誤差(iqref‐iq)がゼロになるように、モータ3の制御量としての電圧指令値vrefを算出する。
 進角制御部20は、モータ3の進角制御を行う機能部である。
 進角制御部20は、q軸電流算出部12によって算出したq軸電流iqと、回転速度取得部15によって取得したロータ31の回転速度ωとに基づいて、各コイルLu,Lv,Lwの印加電圧(相印加電圧)の位相進み角度(進角値φ)を算出する。具体的には、進角制御部20は、2相(d,q)の回転座標系のd軸電流idがゼロになる進角値δを算出する。以下、進角値δの算出方法について、詳細に説明する。
 図10は、モータのコイルの印加電圧に対する電流の遅れを説明するための図である。
 一般に、モータのコイルに電圧を印加した場合、コイルのインダクタンスにより、コイルの電流は印加電圧に対して位相が遅れる。そこで、一般的な進角制御では、コイルの電流の印加電圧に対する位相の遅れ分φだけ、印加電圧の位相を進めて、電流が所望の位相となるよう制御する。この場合の印加電圧の位相の進み角度を進角値φと称する。
 上述したように、表面磁石型同期モータ(SPMSM)では、d軸インダクタンスとq軸インダクタンスとが等しいため、d軸電流idをゼロにしたとき、モータの効率が最大となる。d軸電流idをゼロ、すなわち、電流をq軸成分のみとするためには、印加電圧の位相をq軸に対して進角値φだけ進ませればよい。
 そこで、実施の形態1に係るモータ駆動制御装置10は、回転座標系のd軸電流idがゼロになる進角値φを算出し、その進角値φと回転座標系の電圧指令値vrefとで表される極座標の情報に基づいて空間ベクトル変換を行うことにより、駆動制御信号Sdを生成する。
 図11は、進角値の算出方法を説明するための図である。
 同図には、横軸をd軸、縦軸をq軸としたときの電圧指令値vref(ベクトル)が示されている。
 一般に、永久磁石同期モータ(PMSM)の2相(d,q)の回転座標系におけるd軸電圧値vdは、下記式(2)によって表される。
Figure JPOXMLDOC01-appb-M000002
 ここで、d軸電流id=0としたときのd軸電圧値vdは、上記式(2)より、下記式(3)で表すことができる。
Figure JPOXMLDOC01-appb-M000003
 したがって、電圧指令値vrefのベクトルのd軸方向成分が“‐ωLqiq”となるように進角値φを決定する進角制御を行うことにより、d軸電流idがゼロになるようにモータ3の駆動を制御することができる。
 図11に示すように、電圧指令値vrefのベクトルとq軸とのなす角をφとしたとき、式(3)より、下記式(4)が成り立つ。
Figure JPOXMLDOC01-appb-M000004
 上記式(4)より、d軸電流idをゼロにするときの進角値φは、下記式(5)で表される。
Figure JPOXMLDOC01-appb-M000005
 本実施の形態に係るモータ駆動制御装置10において、進角制御部20は、q軸電流算出部12によって算出したq軸電流iqと、回転速度取得部15によって取得したロータ31の回転速度ωとに基づいて、2相(d,q)の回転座標系のd軸電流idがゼロになる進角値φを算出する。
 具体的には、進角制御部20は、電圧指令値vrefのベクトルのd軸方向の成分が、d軸電流idがゼロであるときのd軸電圧値vdに一致するときの、電圧指令値vrefのベクトルのq軸に対する角度(進角値)φを算出する。
 ここで、モータ3のロータ31の回転角度θは、d軸の回転角度である。一方、図11に示すように、進角値φは、電圧指令値vrefのベクトルのq軸に対する角度である。したがって、d軸を基準とした進角値δは、“φ+π/2”となる。進角制御部20は、進角値δ(=φ+π/2)を算出して出力する。
 具体的には、進角制御部20は、ロータ31の回転速度ωと、q軸電流iqと、進角値δ(φ)との対応関係を示す対応関係情報201を用いて、進角値δを算出する。対応関係情報201を用いた進角値δの算出方法としては、以下の手法を例示することができる。
 第1の手法として、進角制御部20は、対応関係情報201として、式(5)で表される進角値φの関数を有し、式(5)に基づいて進角値φを算出してもよい。例えば、式(5)で表される角度φの関数を対応関係情報201として、制御回路1内のメモリに予め記憶しておく。進角制御部20は、対応関係情報201としての式(5)をメモリから読み出して、q軸電流算出部12によって算出したq軸電流iqと回転速度取得部15によって取得したロータ31の回転速度ωとを式(5)に代入することにより、d軸電流idがゼロになる角度φを算出する。そして、進角制御部20は、算出した角度φにπ/2を加算した値を、d軸を基準とした進角値δとして出力する。
 式(5)において、q軸インダクタンスLqは固定値である。したがって、進角制御部20は、上記式(5)を用いた演算において、q軸インダクタンスLqとして、例えば、制御回路1内のメモリに予め記憶しておいた値を用いることができる。また、進角制御部20は、上記(5)を用いた演算において、電圧指令値vrefとして、電圧指令値算出部19によって算出された値を用いることができる。
 なお、電圧指令値vrefは、q軸電流iqと回転速度ωとから算出することができるので、進角制御部20は、電圧指令値算出部19から電圧指令値vrefの値を取得せず、q軸電流iqと回転速度ωとを用いて電圧指令値vrefの値を算出してもよい。
 第2の手法として、進角制御部20は、対応関係情報201として、回転速度ωとq軸電流iqの組み合わせ毎に進角値δを対応付けたテーブルを有し、そのテーブルに基づいて進角値φを算出してもよい。
 図12は、対応関係情報201としての、回転速度ωとq軸電流iqの組み合わせ毎に進角値δを対応付けたテーブルの一例を示す図である。
 上述したように、q軸インダクタンスLqは固定値であり、電圧指令値vrefは、q軸電流iqと回転速度ωから算出することができる。そこで、ロータ31の回転速度ωとq軸電流iqを変数として、予め、最適となる進角値δを実測しておく。或いは、予め、上記式(5)を用いて進角値δを算出しておく。そして、変数としての回転速度ωとq軸電流iqの組み合わせ毎に進角値δを対応付けたテーブルを作成し、対応関係情報201として、制御回路1内のメモリに予め記憶しておく。
 進角制御部20は、q軸電流算出部12によって算出したq軸電流iqと、回転速度取得部15によって取得したロータ31の回転速度ωとを引数として、対応関係情報201としてのテーブルを参照し、その引数に対応する進角値δをテーブルから読み出して出力する。
 上述の手法によって算出された進角値δは、加算部21に入力される。加算部21は、進角制御部20から出力された進角値δと回転角度取得部14によって取得したロータ31の回転角度θとを加算し、加算した値を電圧指令値vrefのベクトル(電圧ベクトルv)の角度σ(=θ+δ)の情報として出力する。
 駆動制御信号生成部22は、進角値δとロータ31の回転角度θとを加算した角度σと、電圧指令値vrefとに基づいて、駆動制御信号Sdを生成する機能部である。駆動制御信号生成部22は、例えば、電圧指令値算出部19から出力された電圧指令値vrefと、加算部21から出力された角度σ(=θ+δ)とによって表される極座標の情報に基づいて、空間ベクトル変換を行う。すなわち、駆動制御信号生成部22は、公知の空間ベクトル変換の演算手法により、電圧指令値vrefと角度σ(=θ+δ)の極座標値によって表される電圧ベクトルvを3相(U,V,W)の固定座標系の電圧信号(PWM信号)に変換し、駆動制御信号Sdとして出力する。
 次に、実施の形態1に係るモータ駆動制御装置10による駆動制御信号Sdの生成処理の流れについて説明する。
 図13は、実施の形態1に係るモータ駆動制御装置10による駆動制御信号Sdの生成処理の流れの一例を示すフローチャートである。
 先ず、制御回路1は、例えば、上位装置から速度指令信号Sc1が入力されると、速度指令信号Sc1を解析することにより、速度指令信号Sc1によって指定されたモータ3の目標回転速度ωrefの情報を取得する(ステップS1)。
 次に、制御回路1は、モータ3のロータ31の回転角度θを取得する(ステップS2)。具体的には、上述したように、回転角度取得部14が、位置センサとしてのホール素子4u,4v,4wから出力された回転位置検出信号Hu,Hv,Hwに基づいてモータ3のロータ31の回転角度θを算出する。
 制御回路1は、モータ3の回転速度ωを取得する(ステップS3)。具体的には、上述したように、回転速度取得部15が、ステップS2で算出したロータ31の回転角度θに基づいて、モータ3のロータ31の回転速度ωを算出する。
 制御回路1は、モータ3の各相のコイルの相電流iu,iv,iwを検出する(ステップS4)。具体的には、電流検出回路2cが、上述した手法により、コイルの各相電流iu,iv,iwに応じた電流検出信号Vmを出力し、q軸電流算出部12が電流検出信号Vmを取得する。
 次に、制御回路1は、q軸電流iqを算出する(ステップS5)。
 図14は、実施の形態1に係るq軸電流iqの算出処理(ステップS5)の流れの一例を示すフローチャートである。
 ステップS5において、先ず、電流位相検出部124が、ロータ31の回転角度θに基づいて電流ベクトルiの位相を検出する(ステップS51)。上述したように、電流位相検出部124は、回転角度取得部14によって取得されたロータ31の回転角度θに“π/2”を加算した回転角度(θ+π/2)を電流ベクトルiの位相として算出する。
 次に、セクタ特定部125が、電流ベクトルiの位相(θ+π/2)が属するセクタを特定する(ステップS52)。セクタ特定部125は、図6および図7に示した6つのセクタI~VIのうち、電流ベクトルiの位相がどのセクタI~VIに属するかを特定する。
 次に、相電流選択部127が、複数の相電流からピーク値ipの候補となる一つの相電流を選択する(ステップS53)。具体的には、上述したように、相電流選択部127は、ステップS52で特定された電流ベクトルiの位相が属するセクタを引数として、対応関係情報128から候補の相電流を読み出す。
 次に、相電流選択部127が、ステップS53で選択した候補の相電流をピーク値ipとして出力する(ステップS54)。具体的には、相電流選択部127は、相電流算出部126から出力された複数の相電流のうち候補の相電流をピーク値ipとして出力する。
 次に、ローパスフィルタ122が相電流選択部127から出力されたピーク値ipの信号(包絡線)を平滑化する(ステップS55)。次に、乗算部123が、ローパスフィルタ122によって平滑化された信号(ピーク値ipの平均値)に所定値を乗算する(ステップS56)。具体的には、上述したように、乗算部123は、ローパスフィルタ122から出力されたピーク値ipの平均値に“π/3”を乗算する。そして、乗算部123は、ピーク値ipの平均値に所定値を乗算した値をq軸電流iqとして出力する(ステップS57)。
 図13において、ステップS5の処理の完了後、またはステップS5と平行して、制御回路1が、q軸電流の指令値iqrefを算出する(ステップS6)。具体的には、上述したように、誤差算出部16が目標回転速度ωrefとモータ3の実際の回転速度ωとの差を算出し、q軸電流指令値算出部17が誤差算出部16によって算出した差がゼロになるようにPI制御演算を行うことにより、q軸電流の指令値iqrefを算出する。
 次に、制御回路1は、ステップS6で算出したq軸電流の指令値iqrefとステップS5で算出したq軸電流iqとの差が小さくなるように、2相(d,q)の回転座標系の電圧指令値vrefを算出する(ステップS7)。具体的には、上述したように、誤差算出部18が、q軸電流の指令値iqrefとモータ3の実際のq軸電流iqとの差を算出し、電圧指令値算出部19が、誤差算出部18によって算出した差がゼロになるようにPI制御演算を行うことにより、電圧指令値vrefを算出する。
 次に、制御回路1は、ステップS5で算出したq軸電流iqと、ステップS3で取得したロータ31の回転速度ωとに基づいて、d軸電流idがゼロになる進角値δを算出する(ステップS8)。具体的には、進角制御部20が、対応関係情報201を用いた上述の手法により、進角値δを算出する。
 次に、制御回路1は、ステップS8で算出した進角値δとロータ31の回転角度θとを加算した角度σと、ステップS7で算出した電圧指令値vrefとに基づいて、駆動制御信号Sdを生成する(ステップS9)。具体的には、上述したように、駆動制御信号生成部22が、公知の空間ベクトル変換の演算手法により、電圧指令値vrefと角度σ(=θ+δ)の極座標値によって表される電圧ベクトルを3相(U,V,W)の固定座標系の電圧信号(PWM信号)に変換し、駆動制御信号Sdとして出力する。
 以上の処理手順で生成された駆動制御信号Sdは、駆動回路2に供給される。駆動回路2は、入力された駆動制御信号Sdに基づいて、上述した手法により、モータ3のコイルの通電を制御する。これにより、モータ3は、速度指令信号Sc1によって指定された目標回転速度ωrefで回転するように制御される。
 以上、実施の形態1に係るモータ駆動制御装置10において、制御回路1は、各相のコイルLu,Lv,Lwに流れる相電流iu,iv,iwおよび当該相電流iu,iv,iwの位相を180°反転させた相電流-iu,-iv,-iwのうちの一つをピーク値ipとして検出し、ピーク値ipの包絡線に基づいて、2相の回転座標系におけるd軸電流をゼロとしたときのq軸電流を算出し、ベクトル制御演算を行うことにより、駆動制御信号Sdを生成する。
 これによれば、q軸電流を算出するために従来の座標変換を行う必要がないので、モータの駆動制御における演算の負荷を低減することが可能となる。これにより、制御回路1としてのマイクロコントローラ等のプログラム処理装置として必要な処理能力を低く抑えることできるので、コストを抑えたモータ駆動制御装置10を提供することが可能となる。
 また、各相電流iu,iv,iw,-iu,-iv,-iwのうちq軸電流に最も近い相電流をピーク値ipとして検出することにより、q軸電流が負になる場合やq軸電流がゼロまたは微小な値になる場合であっても、適切にq軸電流を推定することができる。これにより、例えば、モータ3のロータ31を逆回転させる制御、空転している状態のモータをブレーキをかけずに始動する制御(ウィンドミル始動)、および非常に低速でモータを回転させる制御等を、安定して行うことが可能となる。
 また、制御回路1において、ロータ31の回転に応じた電気角の範囲を複数に分割したセクタ毎にピーク値ipの候補となる相電流が対応付けられた対応関係情報128が記憶されている。q軸電流算出部12は、ロータ31の回転角度と電流検出信号Vmとに基づいて、2相(d,q)の回転座標系における電流ベクトルiの位相を検出するとともに、電流ベクトルiの位相が属するセクタを特定する。q軸電流算出部12は、対応関係情報128に基づいて、特定したセクタに対応付けられた候補の相電流を選択し、選択した相電流をピーク値ipとする。
 上述したように、電気角に応じてq軸電流に最も近づく相電流が決まっているので、予めセクタ毎に、ピーク値ip(q軸電流)候補となる相電流を対応づけた対応関係情報128を用意しておき、電流ベクトルiの位相が属するセクタに対応付けられた候補の相電流を対応関係情報128から読み出すことにより、q軸電流に最も近づく相電流を容易に決定することができる。これにより、制御回路1による演算の負荷を更に低減することが可能となる。
 以上のように、実施の形態1に係るモータ駆動制御装置10によれば、演算の負荷を抑えつつ、q軸電流を適切に算出することができる。
 また、制御回路1は、モータ3の効率を最大化するために、d軸電流idがゼロになるように進角制御を行うことにより、モータ3を駆動する。これによれば、座標変換によってd軸電流idを算出し、算出したd軸電流idがゼロになるようにベクトル制御演算を行う従来手法に比べて、演算の負荷を低減することが可能となる。これにより、制御回路1としてのプログラム処理装置に必要な処理能力を更に低く抑えることが可能となるので、よりコストを抑えたモータ駆動制御装置10を提供することが可能となる。
 また、制御回路1は、d軸電流idをゼロにするための進角値δ(φ)を算出する際に、ロータ31の回転速度ωと、q軸電流iqと、進角値δとの対応関係を示す対応関係情報201を用いる。これにより、制御回路1による演算の負荷を更に減らすことが可能となる。例えば、上述したように、ロータ31の回転速度ωとq軸電流iqの組み合わせ毎に進角値δを対応付けたテーブルを対応関係情報201として制御回路1のメモリに予め記憶しておく。これによれば、複雑な計算を行うことなく、進角値δを算出することができるので、制御回路1による演算の負荷を更に減らすことが可能となる。
 ≪実施の形態2≫
 図15は、実施の形態2に係るモータ駆動制御装置10Aにおける制御回路1Aの機能ブロック構成を示す図である。
 実施の形態1に係るモータ駆動制御装置10と同様に、モータ駆動制御装置10Aは、モータ3とともにモータユニット100Aを構成している。
 実施の形態2に係る制御回路1Aは、ピーク値の検出方法に関して、実施の形態1に係る制御回路1と相違する。
 上述したように、電流ベクトルiの位相は、モータ3のロータ31の回転角度θを基準として算出することができる。しかしながら、位置センサとしてのホール素子4u,4v,4wから出力された回転位置検出信号Hu,Hv,Hwまたは公知の位置センサレス制御の演算によって算出されるロータ31の回転角度の推定値は、実際のロータ31の回転角度の真値に対してずれる場合がある。
 図16は、ロータ31の回転角度の真値に対する推定値のずれに起因する電流ベクトルのずれを説明するための図である。
 図16において、ロータ31の回転角度の真値を“θtr”、ロータ31の回転角度の推定値を“θ”、ロータ31の回転角度の真値に対する推定値のずれを“Δ”としている。
 図16に示すように、ロータ31の回転角度の推定値θが真値θtrから“Δ”ずれた場合、電流ベクトルiの位相の推定値(θ+π/2)も、電流ベクトルiの位相の真値(θtr+π/2)に対して“Δ”ずれる。そのずれ(誤差)Δが大きくなるほど、電流ベクトルiの位相の推定値に基づく候補の相電流とq軸電流に最も近い相電流とが相違するおそれがある。そこで、実施の形態2に係るピーク値検出部121Aは、セクタ毎にq軸電流の候補となる相電流を複数設定する。
 図17は、実施の形態2に係るq軸電流の推定方法の概要を説明するための図である。
 図17の紙面上段には、0°から360°までの電気角の範囲を複数に分割した範囲である“セクタ”が示されている。図17の紙面中段には、相電流iu,iv,iwが示されている。図17の紙面下段には、相電流iu,iv,iwと、相電流iu,iv,iwの極性を反転させた相電流-iu,-iv,-iwと、q軸電流iqとが示されている。図17において、横軸は電気角、縦軸は電流をそれぞれ表している。
 実施の形態2では、0°から360°までの電気角の範囲を0°を基準として6つのセクタI~VIに分割する。例えば、図17に示すように、電気角Xが0°<X≦60°の範囲をセクタIとし、電気角Xが60°<X≦120°の範囲をセクタIIとし、電気角Xが120°<X≦180°の範囲をセクタIIIとし、電気角Xが180°<X≦240°の範囲をセクタIVとし、電気角Xが240°<X≦300°の範囲をセクタVとし、電気角Xが300°<X≦360°の範囲をセクタVIとする。
 図17に示すように、電流ベクトルiの位相の推定値(θ+π/2)と電流ベクトルiの位相の真値(θtr+π/2)との間に誤差Δが生じる場合がある。そして、誤差Δの大きさによって、各セクタ内においてq軸電流に最も近い相電流が変わる。例えば、誤差Δが-30°≦Δ≦+30°の範囲にある場合、各セクタにおいて、二つの相電流がピーク値ip(q軸電流)の候補となり得る。また、誤差Δが-30°≦Δ≦+60°の範囲にある場合、各セクタにおいて、3つの相電流がピーク値ip(q軸電流)の候補となり得る。
 図18Aおよび図18Bは、実施の形態2における、セクタとピーク値ipの候補となる相電流との対応関係の一例を示す図である。
 図18Aには、誤差Δが-30°≦Δ≦+30°の範囲にある場合におけるセクタとピーク値ipの候補となる相電流との対応関係情報128A_1が示されている。図18Bには、誤差Δが-30°≦Δ≦+60°の範囲にある場合におけるセクタとピーク値ipの候補となる相電流との対応関係情報128A_2が示されている。
 例えば、誤差Δが-30°≦Δ≦+30°の範囲にある場合、図17および図18Aに示すように、セクタI(0°<X≦60°)では、相電流iuと相電流-iwがピーク値ipの候補となる。セクタII(60°<X≦120°)では、相電流ivと相電流-iwがピーク値ipの候補となる。セクタIII(120°<X≦180°)では、相電流-iuと相電流ivがピーク値ipの候補となる。セクタIV(180°<X≦240°)では、相電流-iuと相電流iwがピーク値ipの候補となる。セクタV(240°<X≦300°)では、相電流-ivと相電流iwがピーク値ipの候補となる。セクタVI(300°<X≦360°)では、相電流iuと相電流-ivがピーク値ipの候補となる。
 また、例えば、誤差Δが-30°≦Δ≦+60°の範囲にある場合、図17および図18Bに示すように、セクタI(0°<X≦60°)では、相電流iuと相電流-iwと相電流-ivがピーク値ipの候補となる。セクタII(60°<X≦120°)では、相電流ivと相電流-iwと相電流iuがピーク値ipの候補となる。セクタIII(120°<X≦180°)では、相電流-iuと相電流ivと相電流-iwがピーク値ipの候補となる。セクタIV(180°<X≦240°)では、相電流-iuと相電流iwと相電流ivがピーク値ipの候補となる。セクタV(240°<X≦300°)では、相電流-ivと相電流iwと相電流-iuがピーク値ipの候補となる。セクタVI(300°<X≦360°)では、相電流iuと相電流-ivと相電流iwがピーク値ipの候補となる。
 このように、誤差Δを考慮すると、ピーク値ipの候補となる相電流が複数存在することから、実施の形態2に係るモータ駆動制御装置10Aでは、各セクタにピーク値の候補となる相電流を複数対応付ける。q軸電流算出部12Aは、各セクタにおいて、複数の候補の相電流の大きさの絶対値を比較し、絶対値がもっとも大きい相電流をピーク値とする。
 図19は、実施の形態2に係るピーク値検出部121Aの構成例を示す図である。
 セクタ特定部125Aは、電流位相検出部124によって検出された2相の回転座標系における電流ベクトルiの位相が属するセクタを特定する。例えば、図17に示すように、0から360°までの電気角の範囲を6つのセクタI~VIに分割した場合、セクタ特定部125Aは、例えば、モータ3の制御周期毎に、電流ベクトルiの位相(θ+π/2)が属するセクタを特定し、特定したセクタの情報を出力する。
 モータ駆動制御装置10Aにおいて、図18Aに示した対応関係情報128A_1、および図18Bに示した対応関係情報128A_2の少なくとも一方が、制御回路1A内の記憶装置(例えば、不揮発性の記憶装置)に予め記憶されている。
 例えば、モータ駆動制御装置10Aの起動後に、相電流選択部127Aは、上記記憶装置から対応関係情報128A_1または対応関係情報128A_2を読み出す。相電流選択部127Aは、対応関係情報128A_1または対応関係情報128A_2を参照し、セクタ特定部125Aによって特定された電流ベクトルiの位相が属するセクタに対応付けられた候補の相電流を選択する。
 具体的には、相電流選択部127Aは、セクタ特定部125によって特定された電流ベクトルiの位相が属するセクタを引数として、対応関係情報128A_1または対応関係情報128A_2から当該引数に対応する複数の相電流を選択し、選択した複数の相電流の絶対値を比較し、絶対値が最も大きい相電流をピーク値ipとして出力する。
 例えば、図18Aに示す対応関係情報128A_1が制御回路1Aに記憶されている場合において、電流ベクトルiの位相が属するセクタが“セクタII”であったとき、相電流選択部127Aは、相電流ivと相電流-iwを選択し、相電流ivの絶対値と相電流-iwの絶対値とを比較する。相電流ivの絶対値が相電流-iwの絶対値より大きい場合、相電流選択部127Aは、相電流ivをピーク値ipとして出力し、相電流-iwの絶対値が相電流ivの絶対値より大きい場合、相電流選択部127Aは、相電流-iwをピーク値ipとして出力する。
 また、例えば、図18Bに示す対応関係情報128A_2が制御回路1Aに記憶されている場合において、電流ベクトルiの位相が属するセクタが“セクタII”であったとき、相電流選択部127Aは、相電流ivと相電流-iwと相電流iuとを選択し、相電流ivの絶対値と相電流-iwの絶対値と相電流iuの絶対値とを比較する。相電流選択部127Aは、最も絶対値が大きい相電流を選択し、選択した相電流をピーク値ipとして出力する。例えば、相電流ivの絶対値が相電流-iwの絶対値および相電流-iuの絶対値より大きい場合、相電流選択部127Aは、相電流ivをピーク値ipとして出力する。
 なお、誤差Δの大きさは、モータ3の負荷や想定されるモータ3の回転速度の範囲等によって変わるため、実際にモータユニット100Aが適用されるアプリケーションを考慮して、対応関係情報128A_1と対応関係情報128A_2の少なくとも一方を制御回路1Aに予め記憶させておけばよい。
 例えば、誤差Δが比較的小さいことが想定される場合には、対応関係情報128A_1を制御回路1A内の記憶装置に記憶しておき、誤差Δが比較的大きいことが想定される場合には、対応関係情報128A_2を制御回路1A内の記憶装置に記憶しておけばよい。あるいは、対応関係情報128A_1,128A_2の両方を制御回路1A内の記憶装置に記憶しておき、相電流選択部127Aが、何れか一方の対応関係情報を記憶装置から読み出して、ピーク値ipを検出してもよい。
 実施の形態2において、モータ駆動制御装置10Aは、実施の形態1と同様に、図13に示すフローチャートにしたがってモータ3を駆動する。実施の形態2において、ステップS5の処理が、実施の形態1に係るステップS5の処理(図14)と相違する。以下、実施の形態2におけるq軸電流iqの算出処理(ステップS5)について説明する。
 図20は、実施の形態2におけるq軸電流iqの算出処理(ステップS5)の流れの一例を示すフローチャートである。
 ステップS5において、先ず、電流位相検出部124が、ロータ31の回転角度θに基づいて電流ベクトルiの位相を検出する(ステップS51)。例えば、上述したように、電流位相検出部124は、回転角度取得部14によって取得されたロータ31の回転角度θに“π/2”を加算した回転角度(θ+π/2)を電流ベクトルiの位相として算出する。
 次に、セクタ特定部125Aが、電流ベクトルiの位相が属するセクタを特定する(ステップS52)。例えば、セクタ特定部125Aは、図18に示す6つのセクタI~VIのうち、電流ベクトルiの位相がどのセクタI~VIに属するかを特定する。
 次に、相電流選択部127Aが、複数の相電流からピーク値ipの候補となる相電流を選択する(ステップS61)。具体的には、上述したように、相電流選択部127Aは、ステップS52で特定された電流ベクトルiの位相が属するセクタを引数として、対応関係情報128A_1または対応関係情報128A_2から候補の複数の相電流を読み出す。
 次に、相電流選択部127Aが、上述した手法により、ステップS61で選択した複数の候補の相電流の絶対値を比較する(ステップS62)。次に、相電流選択部127Aが、複数の候補の相電流のうち、最も絶対値が大きい相電流を選択し、選択した相電流をピーク値ipとして出力する(ステップS63)。
 ステップS63以降の処理は、実施の形態1に係る処理と同様である。すなわち、ローパスフィルタ122が相電流選択部127Aから出力されたピーク値ipの信号を平滑化する(ステップS55)。次に、乗算部123が、ローパスフィルタ122によって平滑化されたピーク値ipに所定値(π/3)を乗算する(ステップS56)。そして、乗算部123は、平滑化されたピーク値ipに所定値を乗算した値をq軸電流iqとして出力する(ステップS57)。
 以上、実施の形態2に係るモータ駆動制御装置10Aによれば、実施の形態1に係るモータ駆動制御装置10と同様に、演算の負荷を抑えつつ、q軸電流を適切に算出することができる。
 具体的には、q軸電流算出部12Aは、セクタI~VIにピーク値の候補となる相電流が複数対応付けられている場合に、複数の候補の相電流の絶対値を比較し、絶対値がもっとも大きい相電流をピーク値ipとする。
 これによれば、電流ベクトルiの位相の推定値(θ+π/2)と電流ベクトルiの位相の真値(θtr+π/2)との間に誤差Δが生じた場合であっても、セクタ毎にq軸電流に最も近い相電流を選択することができるので、より高精度にq軸電流を算出することが可能となる。
 ≪実施の形態3≫
 図21は、実施の形態3に係るモータ駆動制御装置10Bにおける制御回路1Bの機能ブロック構成を示す図である。
 実施の形態1に係るモータ駆動制御装置10と同様に、モータ駆動制御装置10Bは、モータ3とともにモータユニット100Bを構成している。
 実施の形態3に係る制御回路1Bは、電流ベクトルiの位相の検出方法に関して、実施の形態1,2に係る制御回路1,1Aと相違する。実施の形態1,2では、電流ベクトルiの位相をロータ31の回転角度を基準として推定したが、実施の形態3では、電流ベクトルiの位相を電圧ベクトルの位相を基準として推定する。
 図22は、2相の回転座標系における電流ベクトルiと電圧ベクトルvとの関係を示す図である。図22において、電圧ベクトルvの位相に対する電流ベクトルiの位相のずれ幅を“φ”としている。
 図22に示すように、一般に、モータ駆動制御において、2相(d,q)の回転座標系における電流ベクトルiの位相は、電圧ベクトルの位相に対して遅れる。したがって、電圧ベクトルvの位相を基準として電流ベクトルiの位相を推定することができる。
 実施の形態3に係るピーク値検出部121Bは、電圧ベクトルvの位相に基づいて電流ベクトルiの位相を推定し、電圧ベクトルvの位相に対する電流ベクトルiの位相のずれ幅φに応じた適切な対応関係情報128B_1,128B_2を用いて、ピーク値ipを検出する。
 図23は、実施の形態3に係るピーク値検出部121Bの構成例を示す図である。
 図24は、実施の形態3に係るq軸電流の推定方法の概要を説明するための図である。
 図24の紙面上段には、0°から360°までの電気角の範囲を複数に分割した範囲である“セクタ”が示されている。図24の紙面中段には、電圧指令値vrefと角度σ(=θ+δ)の極座標値によって表される電圧ベクトルvを3相(U,V,W)の固定座標系に変換した値UV,VV,WVが示されている。図24の紙面下段には、相電流iu,iv,iwと各相電流の極性を反転させた相電流-iu,-iv,-iwと、q軸電流iqとが示されている。図24において、横軸は電気角を表している。
 実施の形態3では、実施の形態2と同様に、0°から360°までの電気角の範囲を0°を基準として6つのセクタI~VIに分割する。例えば、図24に示すように、電気角Xが0°<X≦60°の範囲をセクタIとし、電気角Xが60°<X≦120°の範囲をセクタIIとし、電気角Xが120°<X≦180°の範囲をセクタIIIとし、電気角Xが180°<X≦240°の範囲をセクタIVとし、電気角Xが240°<X≦300°の範囲をセクタVとし、電気角Xが300°<X≦360°の範囲をセクタVIとする。
 q軸電流算出部12Bにおいて、ピーク値検出部121Bは、ロータ31の回転角度θに基づいて算出した、2相の回転座標系における電圧ベクトルvの位相に基づいて、電流ベクトルiの位相を検出する。
 具体的には、先ず、ピーク値検出部121Bの電流位相検出部124Bが、2相の回転座標系における電圧ベクトルvの位相を取得する。
 上述したように、駆動制御信号生成部22は、公知の空間ベクトル変換の演算手法により、電圧指令値vrefと角度σ(=θ+δ)の極座標値によって表される電圧ベクトルvを3相(U,V,W)の固定座標系の電圧信号(PWM信号)に変換し、駆動制御信号Sdとして出力する。すなわち、電圧ベクトルvの位相は、σ(=θ+δ)で表される。
 そこで、電流位相検出部124Bは、加算部21から出力される角度σ(=θ+δ)を電圧ベクトルvの位相として取得する。
 更に、電流位相検出部124Bは、電圧ベクトルvの位相σを電流ベクトルiの位相として出力する。
 セクタ特定部125Bは、電流位相検出部124Bによって検出された電流ベクトルiの位相σが属するセクタを特定する。例えば、図24に示すように、0から360°までの電気角の範囲を6つのセクタI~VIに分割した場合、セクタ特定部125Bは、電流ベクトルiの位相σがどのセクタI~VIに属するかを特定し、特定したセクタの情報を出力する。
 相電流選択部127Bは、電流ベクトルiの位相が属するセクタの情報に基づいて、複数の相電流から一つの相電流を選択し、ピーク値ipとして出力する。
 図24に示すように、電流ベクトルiの位相の電圧ベクトルvの位相に対するずれ幅φによって、各セクタ内においてq軸電流に最も近い相電流が変わる。例えば、ずれ幅φが-30°≦φ≦+30°の範囲にある場合、各セクタにおいて、二つの相電流がピーク値ip(q軸電流)の候補となり得る。また、ずれ幅φが-30°≦φ≦+60°の範囲にある場合、各セクタにおいて、3つの相電流がピーク値ip(q軸電流)の候補となり得る。
 したがって、実施の形態3では、実施の形態2と同様に、予め、電流ベクトルiの位相の電圧ベクトルvの位相に対するずれ幅φを考慮して各セクタにピーク値の候補となる相電流を複数対応付けておく。そして、q軸電流算出部12Bは、各セクタにおいて、複数の候補の相電流の絶対値を比較し、絶対値がもっとも大きい相電流をピーク値ipとする。
 図25Aおよび図25Bは、実施の形態3における、セクタとピーク値ipの候補となる相電流との対応関係の一例を示す図である。
 図25Aには、ずれ幅φが-30°≦φ≦+30°の範囲にある場合におけるセクタとピーク値ip(q軸電流)の候補となる相電流との対応関係情報128B_1が示されている。図25Bには、ずれ幅φが-30°≦φ≦+60°の範囲にある場合におけるセクタとピーク値ipの候補となる相電流との対応関係情報128B_2が示されている。
 ここで、図25Aおよび図25Bに示す各セクタとピーク値ipの候補となる相電流との対応関係は、図18Aおよび図18Bに示した実施の形態2に係る各セクタとピーク値ipの候補となる相電流との対応関係と同様である。
 モータ駆動制御装置10Bにおいて、図25Aに示した対応関係情報128B_1、および図25Bに示した対応関係情報128B_2の少なくとも一方が、制御回路1B内の記憶装置(例えば、不揮発性の記憶装置)に予め記憶されている。
 例えば、モータ駆動制御装置10Bの起動後に、相電流選択部127Bは、上記記憶装置から対応関係情報128B_1または対応関係情報128B_2を読み出す。相電流選択部127Bは、実施の形態2に係る相電流選択部127Aと同様の手法により、セクタ特定部125Bによって特定された電流ベクトルiの位相が属するセクタを引数として、対応関係情報128B_1または対応関係情報128B_2から当該引数に対応する複数の相電流を選択する。相電流選択部127Bは、選択した複数の相電流の絶対値を比較し、絶対値が最も大きい相電流をピーク値ipとしてローパスフィルタ122に入力する。q軸電流算出部12Bにおけるローパスフィルタ122以降の処理は、実施の形態1,2と同様である。
 なお、電圧ベクトルvの位相に対する電流ベクトルiの位相のずれ幅φは、一般に、モータの回転速度が大きくなるほど大きくなり、負荷(コイルの電流)が大きいほど大きくなる。したがって、実際にモータユニット100Bが適用されるアプリケーションを考慮して、対応関係情報128B_1と対応関係情報128B_2の少なくとも一方を制御回路1Bに予め記憶させておけばよい。
 例えば、ずれ幅φが比較的小さいことが想定される場合には、対応関係情報128B_1を制御回路1B内の記憶装置に記憶しておき、ずれ幅φが比較的大きいことが想定される場合には、対応関係情報128B_2を制御回路1B内の記憶装置に記憶しておけばよい。あるいは、対応関係情報128B_1,128B_2の両方を制御回路1B内の記憶装置に記憶しておき、相電流選択部127Bが、何れか一方の対応関係情報を記憶装置から読み出して、ピーク値ipを検出してもよい。
 以上、実施の形態3に係るモータ駆動制御装置10Bによれば、実施の形態1,2に係るモータ駆動制御装置10,10Aと同様に、演算の負荷を抑えつつ、q軸電流を適切に算出することができる。特に、ピーク値検出部121Bは、ベクトル制御演算の過程で算出される電圧ベクトルvの位相σを用いて電流ベクトルの位相を推定するので、演算の負荷を更に抑えることができる。
 ≪実施の形態の拡張≫
 以上、本発明者によってなされた発明を実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
 例えば、実施の形態1乃至3において、ロータ31の回転角度θおよび回転速度ωを位置センサ4u,4v,4wからの位置検出信号に基づいて算出する場合を例示したが、これに限られず、公知の、モータのセンサレス制御に基づく演算によって、回転角度θおよび回転速度ωを算出してもよい。この場合、位置センサ4u,4v,4wは不要である。
 また、実施の形態1乃至3において、電流検出回路2cとしてインバータ回路2aに直列に接続されたシャント抵抗によって相電流iu,iv,iwを検出する手法を例示したが、公知の他の電流検出技術によって相電流iu,iv,iwを検出してもよい。例えば、各相のコイルとそれらに接続されるインバータ回路2aの各駆動用トランジスタが共通に接続される点との間に設けられたシャント抵抗によって相電流iu,iv,iwを検出してもよい(3シャント方式)。すなわち、相電流iu,iv,iwの検出方法として、上述の例に限定されず、各相のコイルに流れる電流を検出可能な種々の公知の電流検出技術を採用することができる。
 また、実施の形態1乃至3おいて、電気角(0°~360°)の範囲を6つのセクタに分ける場合を例示したが、セクタの数は2個以上であればよく、6つに限定されない。また、各セクタの範囲(-30°<X≦30°、0°<X≦60°等)も上述の例に限定されず、各セクタの範囲として所望の範囲を設定できる。
 また、実施の形態1乃至3における電圧ベクトルv(vref,σ)の算出方法は、上述の例に限定されない。すなわち、公知のベクトル制御演算によって、電圧ベクトルv(vref,σ)を算出してもよい。
 また、実施の形態1乃至3において、駆動指令信号Scが、モータ3の回転速度の目標値(目標回転速度)を含む速度指令信号Sc1である場合を例示したが、これに限られない。例えば、駆動指令信号Scは、モータ3のトルクを指定するトルク指令信号であってもよい。
 また、実施の形態1乃至3において、モータ3が表面磁石型同期モータ(SPMSM)である場合を説明したが、これに限られない。例えば、モータ3が表面磁石型同期モータ(SPMSM)でない場合(例えば、モータ3がIPMSMの場合)であっても、リラクタンストルクを利用せず、d軸電流の指令値を常にゼロとするベクトル制御を行う場合には、本実施の形態に係るモータ駆動制御装置10,10A,10Bを用いることができる。
 また、実施の形態1乃至3において、制御回路1,1A,1Bは、上述した回路構成に限定されない。制御回路1,1A,1Bは、本発明の目的にあうように構成された、様々な回路構成を適用することができる。
 実施の形態1乃至3において、モータ駆動制御装置10,10A,10Bにより駆動されるモータ3の相数は、3相に限られない。
 上述のフローチャートは具体例であって、このフローチャートに限定されるものではなく、例えば、各ステップ間に他の処理が挿入されていてもよいし、処理が並列化されていてもよい。
 1,1A,1B…制御回路、2…駆動回路、2a…インバータ回路、2b…プリドライブ回路、2c…電流検出回路、3…モータ、10,10A,10B…モータ駆動制御装置、11…駆動指令取得部、12,12A,12B…q軸電流算出部、13…演算部、14…回転角度取得部、15…回転速度取得部、16,18…誤差算出部、17…q軸電流指令値算出部、19…電圧指令値算出部、20…進角制御部、21…加算部、22…駆動制御信号生成部、100,100A,100B…モータユニット、121,121A,121B…ピーク値検出部、122…ローパスフィルタ、123…乗算部、124,124B…電流位相検出部、125,125A,125B…セクタ特定部、126…相電流算出部、127,127A,127B…相電流選択部、128,128A_1,128A_2,128B_1,128B_2…対応関係情報(セクタ-相電流)、201…対応関係情報、Q1~Q6…駆動用トランジスタ、Sc…駆動指令信号、Sc1…速度指令信号、Sd…駆動制御信号、θ…回転角度、ω…回転速度、iq…q軸電流、iqref…q軸電流の指令値、vref…電圧指令値、Vcc…直流電源、Vuu,Vul,Vvu,Vvl,Vwu,Vwl…駆動信号、Vm…電流検出信号、ωref…目標回転速度。

Claims (9)

  1.  複数相のコイルを有するモータを駆動するための駆動制御信号を出力する制御回路と、
     前記制御回路から出力された前記駆動制御信号に基づいて前記モータを駆動する駆動回路と、を備え、
     前記駆動回路は、
     前記駆動制御信号に基づいて前記複数相のコイルを駆動するインバータ回路と、
     前記複数相のコイルに流れる電流を検出し、検出した電流に応じた電流検出信号を出力する電流検出回路と、を含み、
     前記制御回路は、
     前記モータの動作の目標状態を指示する値を含む駆動指令信号を取得する駆動指令取得部と、
     前記電流検出信号と前記モータのロータの回転角度とに基づいて、各相のコイルに流れる相電流および当該各相のコイルに流れる相電流の位相を180°反転させた相電流のうち、2相の回転座標系のd軸電流をゼロとしたときの前記2相の回転座標系のq軸電流に最も近い相電流をピーク値として検出し、当該ピーク値の包絡線に基づいて、前記d軸電流をゼロとしたときの前記q軸電流を算出するq軸電流算出部と、
     前記q軸電流算出部によって算出した前記q軸電流と、前記駆動指令信号と、前記モータのロータの回転速度と、前記ロータの回転角度とを用いてベクトル制御演算を行うことにより、前記駆動制御信号を生成する演算部と、を含む
     モータ駆動制御装置。
  2.  請求項1に記載のモータ駆動制御装置において、
     前記ロータの回転に応じた電気角の範囲を複数に分割したセクタ毎に前記ピーク値の候補となる相電流が対応付けられた対応関係情報が前記制御回路に記憶され、
     前記q軸電流算出部は、前記ロータの回転角度と前記電流検出信号とに基づいて、前記2相の回転座標系における電流ベクトルの位相を検出するとともに、前記電流ベクトルの位相が属する前記セクタを特定し、前記対応関係情報に基づいて、特定した前記セクタに対応付けられた候補の相電流を選択し、選択した相電流を前記ピーク値とする
     モータ駆動制御装置。
  3.  請求項2に記載のモータ駆動制御装置において、
     前記q軸電流算出部は、前記セクタに前記ピーク値の候補となる相電流が複数対応付けられている場合に、複数の候補の相電流の大きさの絶対値を比較し、前記絶対値がもっとも大きい相電流を前記ピーク値とする
     モータ駆動制御装置。
  4.  請求項2に記載のモータ駆動制御装置において、
     前記q軸電流算出部は、前記ロータの回転角度にπ/2を加算した回転角度を前記電流ベクトルの位相とする
     モータ駆動制御装置。
  5.  請求項2に記載のモータ駆動制御装置において、
     前記q軸電流算出部は、前記ロータの回転角度に基づいて算出した、前記2相の回転座標系における電圧ベクトルの位相に基づいて、前記電流ベクトルの位相を検出する
     モータ駆動制御装置。
  6.  請求項1に記載のモータ駆動制御装置において、
     前記q軸電流算出部は、
     前記ロータの回転角度と前記電流検出信号とに基づいて前記ピーク値を検出するピーク値検出部と、
     前記ピーク値検出部によって検出された前記ピーク値が入力されるローパスフィルタと、
     前記ローパスフィルタから出力された値に所定値を乗算し、前記q軸電流として出力する乗算部と、を含む
     モータ駆動制御装置。
  7.  請求項6に記載のモータ駆動制御装置において、
     前記所定値は、π/3である
     モータ駆動制御装置。
  8.  請求項2に記載のモータ駆動制御装置において、
     前記セクタは、0°から360°までの電気角の範囲を60°毎に分割した範囲である
     モータ駆動制御装置。
  9.  複数相のコイルを有するモータの動作の目標状態を指示する値を含む駆動指令信号を取得する第1ステップと、
     前記複数相のコイルに流れる電流を検出する第2ステップと、
     前記第2ステップにおいて検出した電流と前記モータのロータの回転角度とに基づいて、各相のコイルに流れる相電流および当該各相のコイルに流れる相電流の位相を180°反転させた相電流のうち、2相の回転座標系のd軸電流をゼロとしたときの前記2相の回転座標系のq軸電流に最も近い相電流をピーク値として検出し、当該ピーク値の包絡線に基づいて、前記d軸電流をゼロとしたときの前記q軸電流を算出する第3ステップと、
     前記第1ステップにおいて取得した前記駆動指令信号と、前記第3ステップにおいて算出した前記q軸電流と、前記モータのロータの回転速度と、前記ロータの回転角度とを用いてベクトル制御演算を行うことにより、前記モータを駆動させるための駆動制御信号を生成する第4ステップと、を含む
     モータ駆動制御方法。
PCT/JP2023/042357 2023-01-23 2023-11-27 モータ駆動制御装置およびモータ駆動制御方法 Ceased WO2024157597A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202380090454.XA CN120530572A (zh) 2023-01-23 2023-11-27 马达驱动控制装置以及马达驱动控制方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2023-008274 2023-01-23
JP2023008274A JP2024104177A (ja) 2023-01-23 2023-01-23 モータ駆動制御装置およびモータ駆動制御方法

Publications (1)

Publication Number Publication Date
WO2024157597A1 true WO2024157597A1 (ja) 2024-08-02

Family

ID=91970279

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/042357 Ceased WO2024157597A1 (ja) 2023-01-23 2023-11-27 モータ駆動制御装置およびモータ駆動制御方法

Country Status (3)

Country Link
JP (1) JP2024104177A (ja)
CN (1) CN120530572A (ja)
WO (1) WO2024157597A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010068653A (ja) * 2008-09-11 2010-03-25 Sanyo Electric Co Ltd インバータ制御装置及びモータ駆動システム
JP2021044955A (ja) * 2019-09-12 2021-03-18 三菱電機株式会社 交流回転機の制御装置
JP2022066913A (ja) * 2020-10-19 2022-05-02 ミネベアミツミ株式会社 モータ駆動制御装置およびモータ駆動制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010068653A (ja) * 2008-09-11 2010-03-25 Sanyo Electric Co Ltd インバータ制御装置及びモータ駆動システム
JP2021044955A (ja) * 2019-09-12 2021-03-18 三菱電機株式会社 交流回転機の制御装置
JP2022066913A (ja) * 2020-10-19 2022-05-02 ミネベアミツミ株式会社 モータ駆動制御装置およびモータ駆動制御方法

Also Published As

Publication number Publication date
JP2024104177A (ja) 2024-08-02
CN120530572A (zh) 2025-08-22

Similar Documents

Publication Publication Date Title
JP5853097B2 (ja) 三相同期電動機駆動装置、一体型三相同期電動機、位置決め装置およびポンプ装置
JP3661642B2 (ja) モータの制御装置及びその制御方法
JP5697745B2 (ja) 同期電動機の駆動システム
JP4067949B2 (ja) モータ制御装置
JP3419725B2 (ja) 位置センサレスモータ制御装置
US9112436B2 (en) System for controlling controlled variable of rotary machine
JP6617500B2 (ja) 電動パワーステアリング制御方法、電動パワーステアリング制御装置、電動パワーステアリング装置および車両
US20070296371A1 (en) Position sensorless control apparatus for synchronous motor
JP5271409B2 (ja) 回転電機の制御装置
JP7514160B2 (ja) モータ駆動制御装置およびモータ駆動制御方法
US11764715B2 (en) Motor drive control device and motor drive control method
JP4631672B2 (ja) 磁極位置推定方法、モータ速度推定方法及びモータ制御装置
JP6685452B1 (ja) 回転電機の制御装置
CN111034013A (zh) 三相同步电动机的控制装置和使用其的电动助力转向装置
JP4397889B2 (ja) 同期電動機の磁極位置推定装置
JP2024027357A (ja) モータ制御装置
JP2001119978A (ja) ブラシレスdcモータ制御方法およびその装置
WO2024157597A1 (ja) モータ駆動制御装置およびモータ駆動制御方法
JP2010028981A (ja) 同期モータの回転子位置推定方法および同期モータの制御装置
JP4312993B2 (ja) インバータ制御方法およびその装置
JP7734848B2 (ja) 制御装置および駆動制御方法
JP6318653B2 (ja) モータ制御装置
TWI898082B (zh) 交流馬達控制裝置及具備該控制裝置之驅動系統
JP2024013920A (ja) モータ駆動制御装置およびモータ駆動制御方法
JP2024165415A (ja) 電動機制御装置

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202380090454.X

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 202380090454.X

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23918552

Country of ref document: EP

Kind code of ref document: A1