Motor drive control device and motor drive control method

CN114389496BActive Publication Date: 2026-09-22MINEBEAMITSUMI INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202111210475.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-10-19
Filing Date
2021-10-18
Publication Date
2026-09-22
Estimated Expiration
2041-10-18

AI Technical Summary

Technical Problem

[0005]然而,在利用电机的线圈中产生的感应电压估计转子的旋转位置的方法中,感应电压取决于转子的旋转速度,因此在转子停止时不能估计转子的旋转位置

Benefits of technology

[0012]根据本发明的一实施形态,能够降低无传感器矢量控制中的运算负荷。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114389496B_ABST
    Figure CN114389496B_ABST
Patent Text Reader

Abstract

The present application relates to a motor drive control device and a motor drive control method. The motor drive control device (10) includes: a drive circuit (2) that drives a motor (3) based on a drive control signal (Sd) for driving the motor; and a control circuit (1) that generates the drive control signal (Sd) and supplies it to the drive circuit by performing a vector control operation based on a detection result of a drive current of a coil (Lu, Lv, Lw) of the motor. The control circuit estimates a rotation angle (θ) of a rotor of the motor and a rotation speed (ω) of the rotor using a linear Kalman filter including a prediction step and an update step, based on a q-axis current value (Iq) of a two-phase rotating coordinate system calculated based on the detection result of the drive current, and a command value (Vqref) of a q-axis voltage of the two-phase rotating coordinate system, when generating the drive control signal (Sd). The linear Kalman filter is a steady-state Kalman filter that represents the prediction step in a linear and time-invariant manner.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a motor drive control device and a motor drive control method. Background Technology

[0002] Generally speaking, permanent magnet synchronous motors (PMSMs), which are brushless DC motors, are broadly divided into surface permanent magnet synchronous motors (SPMSMs) with permanent magnets attached to the surface of the rotor and interior permanent magnet synchronous motors (IPMSMs) with permanent magnets built into the inside of the rotor.

[0003] In addition, as a control method for permanent magnet synchronous motors (PMSMs), the following sensorless vector control method is known: the rotation angle and rotation speed of the motor rotor are estimated without using sensors such as Hall elements, and the drive of the motor is controlled.

[0004] As a representative sensorless vector control method, there are known techniques that detect the current flowing in the coil of a motor and estimate the rotational position of the rotor based on the induced voltage of the coil (e.g., see Patent Document 1), and techniques that utilize the position dependence of the inductance based on the salient polarity of the motor and estimate the rotational position of the rotor based on the relationship between high-frequency voltage and current (e.g., see Patent Document 2).

[0005] However, in methods that estimate the rotor's rotational position using the induced voltage generated in the motor's coils, the induced voltage depends on the rotor's rotational speed, therefore the rotor's rotational position cannot be estimated when the rotor is stationary. Furthermore, the rotor's rotational position cannot be estimated with good accuracy when it is rotating at a low speed.

[0006] Furthermore, in methods for estimating the rotor's rotational position based on the motor's salient polarity, the rotor's rotational position cannot be estimated in the case of a surface-mounted permanent magnet synchronous motor (SPMSM), which is a motor without salient polarity and where the d-axis inductance Ld is equal to the q-axis inductance Lq (Ld = Lq).

[0007] As a method for solving the aforementioned problem of sensorless vector control, a sensorless vector control method utilizing an extended Kalman filter is known (for example, see Patent Document 3). According to the sensorless vector control method utilizing an extended Kalman filter, the rotational position of the rotor can be estimated even when the rotor is stopped, regardless of whether the motor has salient polarity. (Prior technical documents) (Patent Documents)

[0008] Patent Document 1: JP Japanese Patent Application Publication No. 2001-251889; Patent document 2: JP Japanese Patent Application Publication No. 2020-61917; Patent document 3: JP 2005-51971. Summary of the Invention (The problem the invention aims to solve)

[0009] However, existing sensorless vector control methods utilizing extended Kalman filters cannot linearly and time-invariantly represent the prediction steps in the extended Kalman filter, thus requiring successive calculations of the Kalman gain. This necessitates complex computations and increases the computational load. Consequently, motor drive control devices employing existing sensorless vector control methods using extended Kalman filters require high-speed, high-processing-capability programmable devices (e.g., microcontrollers), contributing to increased costs.

[0010] The present invention aims to eliminate the above-mentioned problems and its purpose is to reduce the computational load in sensorless vector control. (Technical solution used to solve the problem)

[0011] A representative embodiment of the present invention relates to a motor drive control device comprising: a drive circuit that drives the motor based on a drive control signal for driving the motor; and a control circuit that generates the drive control signal and supplies it to the drive circuit by performing vector control operations based on the detection results of the drive current of the motor coils. When generating the drive control signal, the control circuit uses a linear Kalman filter including a prediction step and an update step, and estimates the rotation angle and rotation speed of the motor rotor based on the q-axis current value of the two-phase rotating coordinate system calculated based on the detection results of the drive current and the command value of the q-axis voltage of the two-phase rotating coordinate system. The linear Kalman filter is a steady-state Kalman filter that linearly and time-invariably represents the prediction step. (Invention Effects)

[0012] According to one embodiment of the present invention, the computational load in sensorless vector control can be reduced. Attached Figure Description

[0013] Figure 1 This is a diagram showing the configuration of the motor assembly including the motor drive control device according to this embodiment. Figure 2 This is a diagram showing the functional block configuration of the control circuit in the motor drive control device according to this embodiment. Figure 3 This is a frame diagram illustrating an example of computational processing in the estimation department. Figure 4 This is a flowchart illustrating an example of the process of generating and processing drive control signals performed by the motor drive control device according to this embodiment. Figure 5 This is a timing diagram illustrating an example of the process for generating and processing drive control signals executed by the motor drive control device according to this embodiment. Figure 6 This is a diagram illustrating the functional block configuration of the control circuit in a motor drive control device according to another embodiment of the present invention. Detailed Implementation

[0014] 1. Overview of the implementation method First, a brief description of representative embodiments of the invention disclosed in this application will be given. Furthermore, in the following description, as an example, parentheses will be used to indicate the reference numerals corresponding to the components of the invention in the accompanying drawings.

[0015] [1] The motor drive control device (10) according to the representative embodiment of the present invention includes: a drive circuit (2) that drives the motor based on a drive control signal (Sd) for driving the motor (3); and a control circuit (1) that generates the drive control signal and supplies it to the drive circuit by performing a vector control operation based on the detection result of the drive current (Iu, Iv, Iw) of the coil (Lu, Lv, Lw) of the motor. When generating the drive control signal, the control circuit uses a linear Kalman filter including a prediction step and an update step, and estimates the rotation angle (θ) of the rotor of the motor and the rotation speed (ω) of the rotor based on the q-axis current value (Iq) of the two-phase rotating coordinate system calculated based on the detection result of the drive current and the command value (Vqref) of the q-axis voltage of the two-phase rotating coordinate system. The linear Kalman filter is a steady-state Kalman filter that represents the prediction step in a linear time-invariant manner.

[0016] [2] In the motor drive control device described in [1] above, the control circuit may include: a drive current value acquisition unit (13) that acquires the drive current values ​​(Iu, Iv, Iw) of the coil of the motor; an estimation unit (14) that estimates the rotation angle (θ) and the rotation speed (ω); a first coordinate transformation unit (15) that performs Clark transformation and Park transformation based on the drive current value acquired by the drive current value acquisition unit and the rotation angle estimated by the estimation unit, thereby calculating the q-axis current value (Iq) and d-axis current value (Id) of the two-phase rotating coordinate system; and a q-axis current command value calculation unit (17) that calculates the target state value (ωref, Tref) indicating the operation of the motor. The system calculates the command value (Iqref) of the q-axis current in the two-phase rotating coordinate system; and the q-axis voltage command value calculation unit (19) calculates the command value (Vqref) of the q-axis voltage in the two-phase rotating coordinate system in such a way that the difference between the command value (Iqref) of the q-axis current calculated by the q-axis current command value calculation unit and the value of the q-axis current calculated by the first coordinate transformation unit is reduced. The estimation unit performs an operation based on the linear Kalman filter, which takes the q-axis current value calculated by the first coordinate transformation unit and the command value of the q-axis voltage calculated by the q-axis voltage command value calculation unit as input values, and takes the estimated value of the rotation angle and the estimated value of the rotation speed as output values.

[0017] [3] In the motor drive control device described in [1] or [2] above, the motor may be represented by a state-space model derived from the equation of the motor’s q-axis voltage (Vq) when the d-axis current is zero (Id = 0) and the rotation speed is constant (dω / dt = 0), and at least the q-axis current (Iq), the rotation angle (θ), and the rotation speed (ωe) are used as state variables.

[0018] [4] In the motor drive control device described in [3] above, when the q-axis current value is set to Iq(t), the electric angular velocity as the rotation speed is set to ωe(t), the rotation angle is set to θ(t), and the command value of the q-axis voltage is set to Vqref, the state vector x(t) containing the state variable is represented by equation (6) described later, and the state space model is represented by equations (8) and (9) described later. When the resistance of the coil is set to Ra, the q-axis inductance is set to Lq, and the magnetic flux of the magnet in the d-axis direction is set to Ψa, A in equations (8) and (9) described later... c B c c is represented by equation (10) as described later.

[0019] [5] In the motor drive control device described in [4] above, the control circuit may calculate the prior state estimate of the state variable based on the equation (18) described later in the prediction step. In the update step, the posterior state estimate of the state variable is calculated based on equation (19) described later. In equations (18) and (19) described later, A d B d And g is a fixed value.

[0020] [6] In the motor drive control device described in [5] above, the control circuit may have a storage unit (24) that stores formula information (241) and coefficient information (242). The formula information (241) includes formula (18) and formula (19), and the coefficient information (242) includes at least A. d B d In addition to the value of g, the control circuit uses the formula information and coefficient information stored in the storage unit to calculate the estimated value of the rotation angle and the estimated value of the rotation speed.

[0021] [7] In any of the motor drive control devices described in [1] to [6] above, the control circuit (1) may estimate the rotation angle and the rotation speed after determining the initial position of the rotor.

[0022] [8] In any of the motor drive control devices described in [1] to [7] above, the value indicating the target state of the operation of the motor may be the target value (ωref) of the rotational speed of the motor.

[0023] [9] In any of the motor drive control devices described in [1] to [7] above, the value indicating the target state of the motor operation may be the target value (Tref) of the motor torque.

[0024]

[10] The motor drive control method according to the representative embodiment of the present invention includes: a first step (S5), wherein the drive current values ​​(Iu, Iv, Iw) of the coils (Lu, Lv, Lw) of the motor (3) are obtained; and a second step (S6 to S12), wherein a drive control signal (Sd) for driving the motor is generated by performing a vector control operation based on the drive current values ​​obtained in the first step, wherein the second step includes the following step (S10): using a linear Kalman filter, and based on the q-axis current value of the two-phase rotating coordinate system calculated based on the drive current value and the command value of the q-axis voltage of the two-phase rotating coordinate system, the rotation angle of the rotor of the motor and the rotation speed of the rotor are estimated, wherein the linear Kalman filter is a steady-state Kalman filter in which the prediction step is represented in a linear and time-invariant manner.

[0025] 2. Specific examples of implementation methods Hereinafter, specific examples of embodiments of the present invention will be described with reference to the accompanying drawings. Furthermore, in the following description, common components in each embodiment will be given the same reference numerals, and repeated descriptions will be omitted.

[0026] Figure 1 This diagram illustrates the configuration of the motor assembly 100, which includes the motor drive control device 10 according to this embodiment.

[0027] like Figure 1 As shown, the motor assembly 100 includes a motor 3 and a motor drive control device 10 for controlling the rotation of the motor 3. The motor assembly 100 can be applied to various devices that use a motor as a drive source, such as fans.

[0028] Motor 3 is, for example, a permanent magnet synchronous motor (PMSM). In this embodiment, motor 3 is, for example, a surface-mounted permanent magnet synchronous motor (SPMSM) with three-phase coils Lu, Lv, and Lw. The coils Lu, Lv, and Lw are, for example, connected to each other in a Y-shape.

[0029] The motor drive control device 10, for example, rotates the rotor of the motor 3 by sending a sinusoidal drive signal to the motor 3, thereby causing a sinusoidal drive current to periodically flow through the three-phase coils Lu, Lv, and Lw of the motor 3. The motor drive control device 10 does not use a rotational position detection device such as a Hall element to detect the rotational position of the motor 3, but instead performs sensorless vector control in a sensorless manner, that is, it estimates the rotational angle and rotational speed of the motor 3 to control the drive of the motor 3.

[0030] The motor drive control device 10 has a control circuit 1 and a drive circuit 2. also, Figure 1 The components of the motor drive control device 10 shown are part of a whole, and the motor drive control device 10 is in Figure 1 In addition to the components shown, there may be other components.

[0031] The drive circuit 2 drives the motor 3 based on the drive control signal Sd output from the control circuit 1 (described later). The drive circuit 2 includes an inverter circuit 2a, a pre-drive circuit 2b, and a current detection circuit 2c.

[0032] Inverter circuit 2a is positioned between DC power supply Vcc and ground potential, and drives the coils Lu, Lv, and Lw of motor 3, which serves as the load, based on the input drive control signal Sd. Specifically, in this embodiment, inverter circuit 2a has three switching bridge arms, each containing two drive transistors connected in series. Based on the input drive control signal Sd, the two drive transistors alternately perform ON / OFF operations (switching operations) to drive motor 3, which serves as the load.

[0033] More specifically, inverter circuit 2a has switching arms corresponding to the U-phase, V-phase, and W-phase of motor 3, respectively. For example... Figure 1 As shown, each corresponding switch bridge arm has two driving transistors Q1 and Q2, Q3 and Q4, Q5 and Q6 connected in series between the DC power supply Vcc and the ground potential via a current detection circuit 2c.

[0034] Here, the driving transistors Q1, Q3, and Q5 are, for example, P-channel MOSFETs, and the driving transistors Q2, Q4, and Q6 are, for example, N-channel MOSFETs. Alternatively, the driving transistors Q1 to Q6 can be other types of power transistors such as IGBTs (Insulated Gate Bipolar Transistors).

[0035] For example, the switch arm corresponding to U has driving transistors Q1 and Q2 connected in series. The point common to driving transistors Q1 and Q2 is connected to one end of coil Lu, which serves as the load. The switch arm corresponding to V has driving transistors Q3 and Q4 connected in series. The point common to driving transistors Q3 and Q4 is connected to one end of coil Lv, which serves as the load. The switch arm corresponding to W has driving transistors Q5 and Q6 connected in series. The point common to driving transistors Q5 and Q6 is connected to one end of coil Lw, which serves as the load.

[0036] 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.

[0037] The drive control signal Sd is a signal used to control the drive of the motor 3, such as a PWM (Pulse Width Modulation) signal. Specifically, the drive control signal Sd is a signal used to switch the energizing modes of the coils Lu, Lv, and Lw of the motor 3, which are determined based on the on / off states of the switching elements constituting the inverter circuit 2a. More specifically, the drive control signal Sd includes six PWM signals corresponding to the drive transistors Q1 to Q6 of the inverter circuit 2a.

[0038] The pre-drive circuit 2b generates six drive signals Vuu, Vul, Vvu, Vvl, Vwu, and Vwl based on the six PWM signals supplied from the control circuit 1 as drive control signals Sd. It can supply enough power to drive the control electrodes (gate electrodes) of the drive transistors Q1 to Q6 of the inverter circuit 2a.

[0039] By inputting these drive signals Vuu, Vul, Vvu, Vvl, Vwu, and Vwl to the control electrodes (gate electrodes) of the drive transistors Q1 to Q6 in the inverter circuit 2a, the drive transistors Q1 to Q6 are switched on and off. For example, 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 corresponding switching bridge arm are switched on and off alternately. As a result, power is supplied from the DC power supply Vcc to each phase of the motor 3, causing the motor 3 to rotate.

[0040] The current detection circuit 2c is used to detect the drive current of the coils Lu, Lv, and Lw of the motor 3. The current detection circuit 2c includes, for example, a resistor (shunt resistor) as a current detection element. The resistor is connected in series with the inverter circuit 2a, for example, between the DC power supply Vcc and the ground potential. In this embodiment, the resistor serving as the current detection circuit 2c is connected, for example, to the negative side (ground side) of the inverter circuit 2a. The current detection circuit 2c converts the current flowing in the coils Lu, Lv, and Lw of the motor 3 into a voltage through the aforementioned resistor, and inputs this voltage as a current detection signal Vm to the control circuit 1.

[0041] When a drive command signal Sc, which indicates the target state of the motor 3's operation, is input from an external source (e.g., an upper-level device), the control circuit 1 generates a drive control signal Sd by using sensorless vector control to make the motor 3 operate in the manner specified by the drive command signal Sc, and drives the motor 3 via the drive circuit 2.

[0042] In this embodiment, the control circuit 1 is, for example, a program processing device (e.g., a microcontroller) configured such as a CPU processor, various storage devices such as RAM and ROM, counters (timers), A / D conversion circuits, D / A conversion circuits, clock generation circuits, and input / output (I / F) circuits, which are interconnected via buses and dedicated lines.

[0043] Furthermore, the motor drive control device 10 may be configured to package at least a portion of the control circuit 1 and at least a portion of the drive circuit 2 as an integrated circuit device (IC), or it may be configured to package the control circuit 1 and the drive circuit 2 as separate integrated circuit devices.

[0044] In sensorless vector control, control circuit 1 estimates the rotation angle and rotation speed of motor 3 using Kalman filter calculations, and generates a drive control signal Sd based on these estimates. The sensorless vector control using Kalman filter performed by control circuit 1 will be described in detail below.

[0045] Figure 2 This diagram illustrates the functional block configuration of the control circuit 1 in the motor drive control device 10 according to this embodiment.

[0046] like Figure 2 As shown, the control circuit 1 includes a drive command acquisition unit 11, a drive current value acquisition unit 13, a coordinate transformation unit (an example of a first coordinate transformation unit) 15, an estimation unit 14, error calculation units 16, 18, 20, a q-axis current command value calculation unit 17, a q-axis voltage command value calculation unit 19, a d-axis voltage command value calculation unit 21, a coordinate transformation unit (an example of a second coordinate transformation unit) 22, a drive control signal generation unit 23, and a storage unit 24, serving as a functional block for implementing sensorless vector control using a Kalman filter.

[0047] These functional blocks are implemented, for example, in the program processing device that serves as control circuit 1, the processor performs various arithmetic operations according to the program stored in the memory, and controls peripheral circuits such as counters and A / D conversion circuits.

[0048] The drive command acquisition unit 11 receives a drive command signal Sc from the outside and parses the received drive command signal Sc to obtain the value specified by the drive command signal Sc for the operation state of the target motor 3.

[0049] The drive command signal Sc contains a value indicating the target state of the motor 3's operation. The drive command signal Sc is, for example, a signal output from an external device for controlling the motor assembly 100, located outside the motor drive control device 10.

[0050] In this embodiment, the drive command signal Sc is, for example, a speed command signal Sc1 that specifies the rotational speed of the rotor of the motor 3. The drive command signal Sc contains the value ωref of the target rotational speed (target rotational speed) of the rotor of the motor 3. Hereinafter, the case where the drive command signal Sc is the speed command signal Sc1 will be described in this embodiment.

[0051] The speed command signal Sc1 is, for example, a PWM signal with a duty cycle corresponding to a specified target rotational speed ωref. The drive command acquisition unit 11, for example, measures the duty cycle of the PWM signal, which is the speed command signal Sc1, and outputs the rotational speed corresponding to the measured duty cycle as the target rotational speed ωref.

[0052] The drive current value acquisition unit 13 is a functional unit that acquires the measured values ​​of the drive current values ​​Iu, Iv, and Iw of the coils Lu, Lv, and Lw of the motor 3. For example, based on the current detection signal Vm output from the current detection circuit 2c, the drive current value acquisition unit 13 calculates the measured value of the current flowing in the coil Lu of phase U (drive current value Iu), the measured value of the current flowing in the coil Lv of phase V (drive current value Iv), and the measured value of the current flowing in the coil Lw of phase W (drive current value Iw).

[0053] The coordinate transformation unit (an example of the first coordinate transformation unit) 15 is a functional unit that calculates the d-axis current value Id and the q-axis current value Iq of the two-phase (d, q) rotating coordinate system based on the drive current value (phase current) Iu, Iv, Iw of each phase obtained by the drive current value acquisition unit 13 and the rotation angle θ of the rotor estimated by the estimation unit 14 described later.

[0054] Specifically, the coordinate transformation unit 15 includes a Clarke transformation unit 151 and a Parker transformation unit 152. The Clarke transformation unit 151 performs a Clarke transformation on the drive current values ​​Iu, Iv, and Iw of the three-phase (U, V, W) fixed coordinate system obtained by the drive current value acquisition unit 13, thereby calculating the currents Iα and Iβ of the two-phase (α, β) fixed coordinate system (orthogonal coordinate system). The Parker transformation unit 152 performs a Parker transformation on the currents Iα and Iβ of the two-phase fixed coordinate system using rotation angles θ (sinθ and cosθ) estimated by the estimation unit 14, thereby calculating the d-axis current value Id and the q-axis current value Iq of the two-phase (d, q) rotating coordinate system (d, q).

[0055] The estimation unit 14 is a functional unit that estimates the rotation angle (rotational position) θ and the rotational speed ω of the rotor of the motor 3. The storage unit 24 is a functional unit that stores various data required for the calculations performed by the estimation unit 14. Details of the estimation unit 14 and the storage unit 24 will be described later.

[0056] The error calculation unit 16 is a functional unit that calculates the difference (ωref-ω) between the target rotational speed ωref output from the drive command acquisition unit 11 and the actual rotational speed ω of the motor 3 estimated by the estimation unit 14.

[0057] The q-axis current command value calculation unit 17 is a functional unit that calculates the q-axis current command value Iqref in a way that minimizes the difference between the target rotational speed ωref of the motor 3 calculated by the error calculation unit 16 and the rotational speed ω. For example, the q-axis current command value calculation unit 17 calculates the q-axis current command value Iqref so that the error (ωref-ω) calculated by the error calculation unit 16 becomes zero through PI control operation.

[0058] 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 value Iq calculated by the coordinate transformation unit 15.

[0059] Here, the value of the q-axis current Iq calculated by the coordinate transformation unit 15 can be either the q-axis current Iq output from the coordinate transformation unit 15 or an estimate of the q-axis current Iq calculated by the estimation unit 14. For example, the error calculation unit 18 can obtain the q-axis current Iq from the coordinate transformation unit 15 or an estimate of the q-axis current Iq calculated by the estimation unit 14.

[0060] The q-axis voltage command value calculation unit 19 is a functional unit that calculates the q-axis voltage command value Vqref in a way that minimizes the difference between the q-axis current command value Iqref calculated by the error calculation unit 18 and the q-axis current value Iq calculated by the coordinate transformation unit 15. For example, the q-axis voltage command value calculation unit 19 calculates the q-axis voltage command value Vqref such that the error (Iqref - Iq) calculated by the error calculation unit 18 becomes zero through PI control operations.

[0061] The error calculation unit 20 is a functional unit that calculates the difference (Idref - Id) between the d-axis current command value Idref and the d-axis current value Id calculated by the coordinate transformation unit 15. In this embodiment, it is assumed that the motor 3 is a surface-mounted permanent magnet synchronous motor (SPMSM), so Idref = 0 is set.

[0062] The d-axis voltage command value calculation unit 21 is a functional unit that calculates the d-axis voltage command value Vdref in a way that minimizes the difference between the d-axis current command value Idref calculated by the error calculation unit 20 and the d-axis current value Id. For example, the d-axis voltage command value calculation unit 21 calculates the d-axis voltage command value Vdref such that the error (Idref - Id) calculated by the error calculation unit 20 becomes zero through PI control operation.

[0063] The coordinate transformation unit (an example of the second coordinate transformation unit) 22 is a functional unit that transforms the command value Vqref of the q-axis voltage calculated by the q-axis voltage command value calculation unit 19 and the command value Vdref of the d-axis voltage calculated by the d-axis voltage command value calculation unit 21 into voltage command values ​​Vα and Vβ in a fixed coordinate system of two phases (α, β). Specifically, the coordinate transformation unit 22 calculates the voltage command values ​​Vα and Vβ by performing an inverse Park transformation on the command value Vdref of the d-axis voltage and the command value Vqref of the q-axis voltage.

[0064] The drive control signal generation unit 23 is a functional unit that generates a drive control signal Sd based on the voltage command values ​​Vα and Vβ in a fixed coordinate system of two phases (α, β) calculated by the coordinate transformation unit 22. For example, the drive control signal generation unit 23 transforms the voltage command values ​​Vα and Vβ into a voltage signal (PWM signal) in a fixed coordinate system of three phases (U, V, W) using a known space vector transformation calculation method, and outputs it to the drive circuit 2 as the drive control signal Sd. Furthermore, the drive control signal generation unit 23 is not limited to space vector transformation; it can also generate the drive control signal Sd using other methods such as triangular wave comparison.

[0065] Here, the method for estimating the rotation angle θ and rotation speed ω of the rotor of motor 3 executed by control circuit 1 will be explained.

[0066] When generating the drive control signal Sd, the control circuit 1 uses a linear Kalman filter with the input values ​​of the q-axis current value Iq of the two-phase (d, q) rotating coordinate system calculated based on the detection result of the drive current of the motor 3 and the command value Vqref of the q-axis voltage of the two-phase rotating coordinate system to estimate the rotation angle θ and rotation speed ω (electric angular velocity ωe) of the motor 3.

[0067] Specifically, the estimation unit 14 performs calculations based on a linear Kalman filter. The linear Kalman filter takes the q-axis current value Iq calculated by the coordinate transformation unit 15 and the q-axis voltage command value Vqref calculated by the q-axis voltage command value calculation unit 19 as inputs, and takes the estimated value of the rotor rotation angle θ and the estimated value of the rotor rotation speed ω as outputs.

[0068] The linear Kalman filter in this embodiment is a steady-state Kalman filter that includes a prediction step and an update step, and the prediction step is represented in a linear and time-invariant manner.

[0069] The linear Kalman filter described in this embodiment will now be explained.

[0070] First, a general Kalman filter will be explained. The Kalman filter is a computational method for efficiently estimating the internally invisible "states" in a state-space model. It assumes the standardization of the state variables to be estimated and successively estimates their mean (estimated value) and variance (covariance matrix). The Kalman filter consists of a prediction step that predicts the current state based on the estimate of the previous state, and an update step (filtering step) that corrects the predicted state using the current observations.

[0071] Here, the prediction step is represented by the following equation (1), and the update step is represented by the following equation (2).

[0072] [Formula 1]

[0073] [Equation 2]

[0074] In equations (1) and (2), u represents the input, and G and g represent the gain.

[0075] Here, when the prediction step is expressed as linear, that is, when the prediction step is expressed by the following equation (3), the Kalman filter is called a linear Kalman filter.

[0076] [Formula 3]

[0077] Furthermore, when the coefficients A and B in equation (3) above, which represents the prediction step, are time-invariant, the linear Kalman filter becomes a steady-state Kalman filter. In this case, the covariance matrix becomes a fixed value, and the Kalman gain also becomes a fixed value. That is, when the Kalman filter is linear and time-invariant, the values ​​of the covariance matrix and the Kalman gain do not change for the prediction step and for each operational step of the prediction step, but become constant.

[0078] In existing extended Kalman filters for sensorless vector control of motors, since the prediction step is not represented in a linear and time-invariant manner, the covariance matrix and Kalman gain need to be calculated for each prediction step and its operation.

[0079] In the sensorless vector control using the motor drive control device 10 according to this embodiment, by using a steady-state Kalman filter (linear Kalman filter) with a linear and time-invariant surface prediction step, the values ​​of the covariance matrix and Kalman gain become fixed values. Therefore, it is not necessary to calculate these values ​​each time a prediction step is performed and the prediction step is calculated, but they can be calculated in advance.

[0080] Next, the linear Kalman filter used in the sensorless vector control according to this embodiment will be described.

[0081] Generally speaking, the voltage equation of a permanent magnet synchronous motor (PMSM) in a two-phase (d, q) rotating coordinate system is represented by the following equation (4).

[0082] [Formula 4]

[0083] In the above equation (4), Vd is the d-axis voltage, Vq is the q-axis voltage, Ra is the winding resistance of the motor coil, Ld is the d-axis inductance, Lq is the q-axis inductance, ωe is the electric angular velocity, Ψa is the magnetic flux of the rotor magnet in the d-axis direction, and s is the differential operator. Based on the above equation (4), the equation for the q-axis voltage Vq can be expressed by the following equation (5).

[0084] [Formula 5]

[0085] Here, the q-axis current value Iq, rotation angle θ, and electric angular velocity ωe are taken as state variables, and the state vector is defined by the following equation (6).

[0086] [Formula 6]

[0087] In addition, as shown in equation (7), the d-axis current value Id is zero and the rotational speed (electric angular velocity ωe) is constant.

[0088] [Formula 7]

[0089] At this time, the state space model of the motor 3 involved in this embodiment is represented by the following equations (8) and (9) through the above equations (5), (6) and (7).

[0090] [Formula 8]

[0091] [Formula 9] I q (t)=c T x(t)…(9)

[0092] Ac, Bc, and c are defined by the following equation (10).

[0093] [Formula 10]

[0094] By defining the above, i.e., the d-axis current value Id is zero and the rotational speed (electric angular velocity ωe) is constant, the state space model of motor 3 can be represented linearly and time-invariantly as shown in equations (8) to (10) above.

[0095] Next, the estimation method for the rotation angle θ and rotation speed ω (electric angular velocity ωe) of motor 3 using the above-mentioned linear Kalman filter will be explained.

[0096] The estimation unit 14 in control circuit 1 executes the prediction step and the update step (filtering step) calculations sequentially according to a predetermined sampling period Ts. Generally, in the prediction step of the Kalman filter, the prior state estimate is calculated respectively. and the prior error covariance matrix P k / k-1 Here, the prior state estimate The prior error covariance matrix P can be expressed by the following equation (11). k / k-1 It is represented by the following formula (12).

[0097] [Equation 11]

[0098] [Equation 12] P k|k-1 =A d P k-1|k-1 A d T +Q …(12)

[0099] In addition, in the update step (filtering step) of the Kalman filter, the Kalman gain g(k) and the posterior state estimate are calculated respectively. and the posterior error covariance matrix P k / k Here, the Kalman gain g(k) is represented by the following equation (13), and the posterior state estimate is... The posterior error covariance matrix P can be expressed by the following equation (14). k / k It is represented by the following formula (15).

[0100] [Equation 13] g(k)=P k / k-1 c(c T P k / k-1 c+R) -1 …(13)

[0101] [Formula 14]

[0102] [Formula 15] P k / k =P k / k-1 -g(k)cT P k / k-1 …(15)

[0103] Here, Q is the tuning parameter of the 3×3 matrix, and R is the tuning parameter of the scalar. Additionally, A... d B d A can be used c B c The control period (sampling period) Ts is expressed by the following equations (16) and (17).

[0104] [Formula 16]

[0105] [Equation 17]

[0106] A d B d In equations (16) and (17) above, the approximation is given by considering the expected order, so that it can be calculated in advance as a fixed value.

[0107] As described above, the state-space model of motor 3 can be represented by the linear time-invariant equations (8) to (10) above.

[0108] In this linear and time-invariant state-space model, the error covariance matrix represented by equations (12) and (15) converges to a fixed value. Therefore, as shown in equation (13), the Kalman gain g(k) calculated based on the error covariance matrix also converges to a fixed value.

[0109] Therefore, in the linear Kalman filter according to this embodiment, the estimated error covariance matrix and Kalman gain g(k) can be pre-calculated. To this end, the control circuit 1 according to this embodiment stores the pre-calculated Kalman gain g(k) value in a storage device within the control circuit 1, thereby eliminating the need to calculate the estimated error covariance matrix and Kalman gain g(k).

[0110] Specifically, the estimation unit 14 of the control circuit 1 performs calculations based on the following equation (18) in the budget step of the linear Kalman filter, thereby calculating the prior state estimate. Furthermore, in the update step (filtering step) of the linear Kalman filter, the operation is performed based on the following equation (19) to calculate the posterior state estimate.

[0111] [Formula 18]

[0112] [Formula 19]

[0113] Here, g is the Kalman gain, which is a value calculated in advance using the above equations (10), (12), (13), (15), and (16).

[0114] The estimation unit 14 calculates the rotation angle θ and rotational speed ω of the rotor of the motor 3 by performing calculations based on the above equations (18) and (19). The calculations performed by the estimation unit 14 can be performed by... Figure 3 The diagram shown is used to represent this.

[0115] like Figure 3 As shown, the estimation unit 14 performs a priori state estimation based on the input q-axis current value Iq and q-axis voltage command value Vqref, according to the above equation (18). and the posterior state estimate based on the above equation (19) The estimation unit 14 performs the calculation and outputs the estimated values ​​of the rotor rotation angle θ and the rotor rotation speed ω contained in the calculation result. In addition, the estimation unit 14 can output the estimated value of the q-axis current Iq.

[0116] For example, the calculation formula information 241 and coefficient information 242 are pre-stored in the storage unit 24 of the control circuit 1. The calculation formula information 241 is information about the function represented by the above-described formulas (18) and (19). The coefficient information 242 is information about the coefficients (fixed values) used in the calculation based on the above-described formulas (18) and (19), such as the values ​​of Ad, Bd, Kalman gain g, etc. As described above, since Ad, Bd, Kalman gain g, etc. can be calculated in advance, they are stored as fixed values ​​in the storage unit 24.

[0117] The estimation unit 14 performs the calculation and update steps (filtering steps) of the prediction step sequentially according to each predetermined sampling period Ts, based on the calculation formula information 241 (Equation (18), Equation (19)) and coefficient information 242 (Kalman gain g, etc.) read from the storage unit 24, the q-axis current value Iq output from the coordinate transformation unit 15, and the q-axis voltage command value Vqref output from the q-axis voltage command value calculation unit 19. The calculations are performed to estimate the rotation angle θ and rotation speed ω, respectively.

[0118] Furthermore, the rotational speed of the rotor of motor 3 calculated by the linear Kalman filter described above is an electrical angular velocity ωe. Therefore, the estimation unit 14 can either convert the calculated electrical angular velocity ωe into a mechanical rotational speed (angular velocity) ω and supply it to the error calculation unit 16, or it can directly output the calculated electrical angular velocity ωe and have the target rotational speed ωref converted into an electrical angular velocity by the drive command acquisition unit 11 and supplied to the error calculation unit 16.

[0119] As described above, using the aforementioned linear Kalman filter (refer to...) Figure 3 The estimation unit 14 is implemented by ) which can eliminate the calculation of the estimation error covariance matrix and Kalman gain performed in the existing extended Kalman filter, thus reducing the computational load of the estimation unit 14.

[0120] The estimated values ​​of the rotation angle θ and rotation speed ω calculated by the estimation unit 14 using the above calculation method are supplied to the coordinate transformation units 15 and 22 and the error calculation unit 16, so that the control circuit 1 can perform appropriate sensorless vector control calculations and generate drive control signals Sd.

[0121] Next, the process of generating and processing the drive control signal Sd executed by the motor drive control device 10 according to this embodiment will be described.

[0122] Figure 4 This is a flowchart illustrating an example of the process of generating and processing the drive control signal Sd executed by the motor drive control device 10 according to this embodiment.

[0123] Generally, initial values ​​for the state variables (Iq, ωe, θ) are required to begin Kalman filter-based computation. For example, when starting the rotation of motor 3 from a stopped state, the initial values ​​of the q-axis current Iq and the rotational speed (electric angular velocity ωe) of motor 3 are both zero. On the other hand, the rotation angle θ of motor 3 is often uncertain.

[0124] Therefore, the motor drive control device 10 according to this embodiment determines a preset initial position of the rotor of the motor 3 before performing the linear Kalman filter operation. For example, the motor drive control device 10 rotates the rotor to a position where the rotation angle θ of the motor 3 can be determined. For example, when the motor assembly 100 is started, the control circuit 1 first rotates the rotor of the motor 3 to a preset initial position θ0 (e.g., 0°) and locks it (step S1). More specifically, after starting, the control circuit 1 generates a drive control signal Sd corresponding to voltage command values ​​Vα and Vβ of a specified magnitude to control the drive circuit 2. As a result, the stator of the motor 3 is energized, and the rotor is fixed at the initial position θ0.

[0125] Furthermore, the method for determining the predetermined initial position of the rotor of the motor 3 is not limited to the method of rotating the rotor as described above; for example, various methods such as detecting the response when a high-frequency voltage is applied to the motor 3 can be used.

[0126] Next, the control circuit 1 sets the initial value x(0) of the state variable of the linear Kalman filter of the estimation unit 14 (step S2). For example, the estimation unit 14 sets the initial value x(0) of the state variable (Iq, ωe, θ) to (0, 0, 0).

[0127] Furthermore, the initial position θ0 of the rotor does not need to be a position where the rotation angle is 0°; it only needs to be a rotation position where the rotation angle value is predetermined. Additionally, the precondition that dωe / dt = 0 does not hold true during constant speed changes at startup, but this can be addressed by setting the row and column Q, which are used as tuning parameters, to their optimal values.

[0128] Next, for example, if a speed command signal Sc1 is input from the upper-level device, the control circuit 1 obtains information about the target rotational speed ωref of the motor 3 specified by the speed command signal Sc1 by parsing the speed command signal Sc1 (step S3).

[0129] The control circuit 1 begins to process the generation of the drive control signal Sd that causes the motor 3 to rotate at the target rotational speed ωref (step S4). First, the control circuit 1 acquires the drive current values ​​Iu, Iv, and Iw of the coils Lu, Lv, and Lw of each phase of the motor 3 (step S5). Specifically, as described above, the drive current value acquisition unit 13 calculates the drive current values ​​Iu, Iv, and Iw of the coils of each phase based on the current detection signal Vm output from the current detection circuit 2c.

[0130] Next, the control circuit 1 calculates the q-axis current value Iq and the d-axis current value Id of the two-phase (d, q) rotating coordinate system based on the drive current values ​​Iu, Iv, and Iw of each phase coil obtained in step S4, and the estimated value of the rotor rotation angle θ output from the estimation unit 14 (step S6). Specifically, as described above, the coordinate transformation unit 15 performs Clark transformation and Park transformation on the drive current values ​​Iu, Iv, and Iw of the three-phase (U, V, W) fixed coordinate system to calculate the q-axis current value Iq and the d-axis current value Id of the two-phase (d, q) rotating coordinate system, respectively. Furthermore, in the initial calculation steps immediately after startup, the initial value of the rotation angle θ (e.g., 0°) is given from the estimation unit 14 to the coordinate transformation unit 15.

[0131] Next, the control circuit 1 calculates the command value Iqref of the q-axis current in a way that minimizes the difference between the target rotational speed ωref of the motor 3 and the estimated value of the rotor rotational speed ω output from the estimation unit 14 (step S7). Specifically, as described above, the error calculation unit 16 calculates the difference between the target rotational speed ωref and the estimated value of the actual rotational speed ω of the motor 3, and the q-axis current command value calculation unit 17 performs PI control calculations such that the difference calculated by the error calculation unit 16 becomes zero, thereby calculating the command value Iqref of the q-axis current. Furthermore, in the initial calculation step after startup, the initial value (e.g., zero) of the rotational speed ω (ωe) is given from the estimation unit 14 to the error calculation unit 16.

[0132] Next, the control circuit 1 calculates the command value Vqref of the q-axis voltage in a way that minimizes the difference between the command value Iqref of the q-axis current calculated in step S7 and the q-axis current value Iq calculated in step S6 (step S8). Specifically, as described above, the error calculation unit 18 calculates the difference between the command value Iqref of the q-axis current and the actual q-axis current value Iq of the motor 3, and the q-axis voltage command value calculation unit 19 performs PI control calculations such that the difference calculated by the error calculation unit 18 becomes zero, thereby calculating the command value Vqref of the q-axis voltage.

[0133] Furthermore, the control circuit 1 calculates the command value Vdref of the d-axis voltage in a way that minimizes the difference between the command value Idref of the d-axis current and the d-axis current value Id calculated in step S6 (step S9). Specifically, as described above, the error calculation unit 20 calculates the difference between the command value Idref (=0) of the d-axis current and the actual d-axis current value Id of the motor 3, and the d-axis voltage command value calculation unit 21 performs PI control calculations such that the difference calculated by the error calculation unit 20 becomes zero, thereby calculating the command value Vdref of the d-axis voltage.

[0134] Next, the control circuit 1 updates the estimated values ​​of the rotation angle θ and rotation speed ω of the motor 3 (step S10). Specifically, as described above, the estimation unit 14, based on the calculation formula information 241 (equations (18) and (19)) and coefficient information 242 (Kalman gain g, etc.) read from the storage unit 24, the q-axis current value Iq output from the coordinate transformation unit 15, and the q-axis voltage command value Vqref output from the q-axis voltage command value calculation unit 19, executes the calculation of the prediction step and the calculation of the update step (filtering step) successively at each predetermined sampling period Ts, thereby updating the estimated values ​​of the rotation angle θ and rotation speed ω.

[0135] Next, the control circuit 1 transforms the command value Vqref of the q-axis voltage calculated by the q-axis voltage command value calculation unit 19 and the command value Vdref of the d-axis voltage calculated by the d-axis voltage command value calculation unit 21 into voltage command values ​​Vα and Vβ in a fixed coordinate system of two phases (α, β) (step S11).

[0136] Specifically, the coordinate transformation unit 22 uses the estimated value of the rotation angle θ calculated in step S10 to perform the Park inverse transformation on the command value Vdref of the d-axis voltage calculated in step S9 and the command value Vqref of the q-axis voltage calculated in step S8, thereby calculating the voltage command values ​​Vα and Vβ.

[0137] Next, the control circuit 1 generates a drive control signal Sd based on the command value Vqref of the q-axis voltage calculated in step S8 and the command value Vdref of the d-axis voltage calculated in step S9 (step S12). Specifically, as described above, the drive control signal generation unit 23 transforms the two-phase (α, β) voltage vector in a fixed coordinate system represented by voltage command values ​​Vα and Vβ into a three-phase (U, V, W) voltage signal (PWM signal) in a fixed coordinate system using a known spatial vector transformation operation method, and outputs it as the drive control signal Sd.

[0138] The drive control signal Sd generated through the above processing 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. Thus, the motor 3 is controlled to rotate at the target rotational speed ωref specified by the speed command signal Sc1.

[0139] Figure 5 This is a timing diagram illustrating an example of the process for generating and processing the drive control signal Sd executed by the motor drive control device 10 according to this embodiment.

[0140] Figure 5 This shows the change in the magnitude (output voltage) of the voltage command vector (Vα, Vβ) as the motor 3 increases linearly from a stopped state to a specified rotational speed.

[0141] like Figure 5 As shown, for example, at time t0, when the motor 3 is started to rotate from a stopped state, the control circuit 1, as described above, generates a drive control signal Sd corresponding to voltage command values ​​Vα and Vβ of a specified magnitude to control the drive circuit 2. As a result, the stator of the motor 3 is energized, the rotor moves to the initial position θ0 (e.g., 0°) and is locked (seq = 0). Thus, the initial values ​​of the state variables in the linear Kalman filter of the estimation unit 14 are set.

[0142] Subsequently, at time t1, if the target rotational speed ωref is specified via the speed command signal Sc1, the estimation unit 14 uses the initial values ​​of the set state variables to begin the operation performed by the linear Kalman filter, and successively performs the prediction step operation and the update step (filtering step) operation according to each specified sampling period Ts, thereby updating the estimated values ​​of the rotation angle θ and the rotational speed ω. As a result, the voltage command values ​​Vα and Vβ are updated so that the motor 3 rotates at the target rotational speed ωref, and appropriate commutation control is performed (seq = 1). If the specified rotational speed is reached at time t2, then the motor 3 rotates stably thereafter (seq = 2).

[0143] According to the commutation control based on the estimated values ​​of rotation angle θ and rotation speed ω performed by the linear Kalman filter involved in this embodiment, in the range where the rotation speed of motor 3 is slow, that is, in the range where the q-axis current value Iq (observed value) is small, drive control dominated by the prediction step (Equation (18)) is performed to make motor 3 rotate. On the other hand, as the rotation speed of motor 3 increases, that is, as the q-axis current value Iq (observed value) increases, drive control dominated by the update step (Equation (19)) is performed to make motor 3 rotate.

[0144] In the sensorless vector control described above, the motor drive control device 10 uses a linear Kalman filter that linearly and time-invariantly characterizes the prediction step, and estimates the rotation angle θ and rotation speed ω of the motor 3 based on the q-axis current value Iq and the command value Vqref of the q-axis voltage calculated based on the drive current values ​​Iu, Iv, and Iw.

[0145] Therefore, compared with the existing sensorless vector control using extended Kalman filters, the computational load of control circuit 1 can be reduced. Specifically, in this embodiment, the motor 3 is represented by a state space model (Equations (8) and (9)). The state space model is derived from the equation (Equation (5)) of the q-axis voltage of the motor 3 when the d-axis current value Id is set to zero and the rotation speed is set to constant (dωe / dt=0). At least the q-axis current value Iq, the rotation angle θ, and the rotation speed ω (electric angular velocity ωe) are set as state variables (Equation (6)).

[0146] According to this linear Kalman filter, compared with the existing extended Kalman filter, the calculations for estimating the error covariance matrix and the Kalman gain can be omitted, thus reducing the computational load performed by the control circuit 1. As a result, the processing power required by the program processing device (e.g., microcontroller) of the control circuit 1 can be reduced to a lower level, and a motor drive control device 10 with further reduced costs can be realized.

[0147] In addition, the control circuit 1 in this embodiment stores the function (equation (18)) used for the prediction step and the function (equation (19)) used for the update step (filtering step) as operation formula information 241 in the storage unit 24, and stores the pre-calculated Kalman gain value and the like as coefficient information 242 in the storage unit 24.

[0148] Therefore, the control circuit 1 only needs to use the value stored in the storage unit 24 to perform the calculations of equations (18) and (19) in the prediction step and update step of each specified sampling period Ts, thus easily reducing the computational load.

[0149] In addition, when the motor drive control device 10 of this embodiment starts driving the motor 3, it moves the rotor of the motor 3 to a preset initial position and locks it, and then starts to use the estimation unit 14 to perform estimation processing of rotation angle θ and rotation speed ω. Therefore, the initial values ​​of the state variables (Iq, ωe, θ) required for the operation performed by the linear Kalman filter can be reliably set, and higher precision motor drive control can be achieved.

[0150] Extension of Implementation Methods The invention described above is based on specific embodiments, but the invention is not limited thereto, and various modifications can be made without departing from its spirit, which is self-evident.

[0151] For example, although the above embodiment illustrates a speed command signal Sc1 that contains a target value (target rotational speed) of the rotational speed of the motor 3, it is not limited to this. For example, the drive command signal Sc could be a torque command signal Sc2 that specifies the torque of the motor 3. The following describes another example of a control circuit in which the torque command signal Sc2 is input to the motor drive control device as the drive command signal Sc.

[0152] Figure 6 This is a diagram showing the functional block configuration of the control circuit in a motor drive control device according to another embodiment of the present invention.

[0153] The control circuit 1A shown in the figure differs from the control circuit 1 in the above embodiment in that it has a drive command acquisition unit 11A and a q-axis current command value calculation unit 17A instead of a drive command acquisition unit 11 and a q-axis current command value calculation unit 17. Otherwise, it is the same as the control circuit 1.

[0154] The torque command signal Sc2, which specifies the torque of motor 3, is input to control circuit 1A as drive command signal Sc. Here, the torque command signal Sc2 contains a torque command value Tref that represents the target value of the torque of motor 3.

[0155] The drive command acquisition unit 11A receives a torque command signal Sc2 from an external source. The drive command acquisition unit 11A acquires and outputs the torque command value Tref contained in the received torque command signal Sc2.

[0156] The q-axis current command value calculation unit 17A calculates the command value Iqref of the q-axis current based on the torque command value Tref output from the drive command acquisition unit 11A. For example, the q-axis current command value calculation unit 17A does not perform PI control, but multiplies the torque command value Tref by "1 / (P×Ψ)" obtained by setting Id=0 in the above equation (1).

[0157] The command value Iqref of the q-axis current calculated by the q-axis current command value calculation unit 17A is given to the error calculation unit 18 in the same way as in control circuit 1. The subsequent processing of the error calculation unit 18 in control circuit 1A is the same as in control circuit 1.

[0158] According to the control circuit 1A, even when the torque command value is input to the motor drive control device as the target state indicating the operation of the motor 3, the same effect as the control circuit 1 described above can be obtained.

[0159] Furthermore, although the above embodiment describes the case where motor 3 is a surface-mount permanent magnet synchronous motor (SPMSM), it is not limited thereto. For example, even if motor 3 is not a surface-mount permanent magnet synchronous motor (SPMSM) (for example, if motor 3 is an IPMSM), the motor drive control device 10 according to this embodiment can be used without utilizing reluctance torque to perform vector control that keeps the command value of the d-axis current always zero.

[0160] Furthermore, in the above embodiments, the control circuit 1 is not limited to the circuit configuration described above. The control circuit 1 can be configured in various ways that conform to the purpose of the present invention.

[0161] The number of phases of the motor driven by the motor drive control device of the above embodiment is not limited to 3 phases.

[0162] The flowchart above is just a specific example and is not limited to this flowchart. For example, other processes can be inserted between each step, and the processes can be parallelized. Label Explanation

[0163] 1. Control circuit; 2. Drive circuit; 2a. Inverter circuit; 2b. Pre-drive circuit; 2c. Current detection circuit; 3. Motor; 10. Motor drive control device; 11. Drive command acquisition unit; 13. Drive current value acquisition unit; 15. Coordinate transformation unit (an example of the first coordinate transformation unit); 22. Coordinate transformation unit (an example of the second coordinate transformation unit); 16, 18, 20. Error calculation unit; 17, 17A. q-axis current command value calculation unit; 19. q-axis voltage command value calculation unit; 21. d-axis voltage command value calculation unit, 23 drive control signal generation unit, 24 storage unit, 100 motor assembly, 151 Clarke converter, 152 Parker converter, 241 arithmetic expression information, 242 coefficient information, Iu, Iv, Iw drive current values, Q1~Q6 drive transistors, Sc drive command signal, Sc1 speed command signal, Sc2 torque command signal, Sd drive control signal, θ rotation angle, ω rotation speed, ωe electric angular velocity, Iα, Iβ current in the two-phase fixed coordinate system, Id d-axis current value, Idref d-axis current command value, Iq q-axis current value, Iqref q-axis current command value, Vα, Vβ voltage command values ​​in the two-phase fixed coordinate system, Vd d-axis voltage, Vdref d-axis voltage command value, Vq q-axis voltage, Vqref Command value of q-axis voltage, Vcc DC power supply, Vuu, Vul, Vvu, Vvl, Vwu, Vwl drive signals, Vm current detection signal, ωref target rotation speed.

Claims

1. A motor drive control device, characterized in that, include: A drive circuit that drives the motor based on a drive control signal for driving the motor; as well as The control circuit performs vector control calculations based on the detection results of the drive current of the motor's coils to generate the drive control signal and supply it to the drive circuit. When generating the drive control signal, the control circuit uses a linear Kalman filter that includes prediction and update steps to estimate the rotation angle and speed of the motor rotor based on the q-axis current value of the two-phase rotating coordinate system calculated from the detection result of the drive current and the command value of the q-axis voltage of the two-phase rotating coordinate system. The linear Kalman filter is a steady-state Kalman filter that represents the prediction step in a linear time-invariant manner. The motor is represented by a state-space model, which is derived from the equation of the q-axis voltage of the motor when the d-axis current is zero and the rotational speed is constant, and at least the q-axis current, the rotation angle, and the rotational speed are used as state variables. When the q-axis current value is set to Iq(t), the electric angular velocity (which is the rotational speed) is set to ωe(t), the rotation angle is set to θ(t), and the command value of the q-axis voltage is set to Vqref, the state vector x(t) containing the state variables is represented by the following equation (A), and the state space model is represented by the following equations (B) and (C). When the resistance of the coil is set to Ra, the q-axis inductance to Lq, and the magnetic flux of the magnet in the d-axis direction is set to Ψa, the following equations (B) and (C) have A. c B c c are represented by the following equation (D), In the prediction step, the control circuit calculates the prior state estimate of the state variable based on the following equation (G). And in the update step, the posterior state estimate of the state variable is calculated based on the following equation (H). , In the following equations (G) and (H), A d B d And g is a fixed value. 。 2. The motor drive control device according to claim 1, wherein, The control circuit has: The drive current value acquisition unit acquires the drive current value of the coil of the motor; The estimation unit estimates the rotation angle and the rotation speed; The first coordinate transformation unit performs Clark transformation and Park transformation based on the drive current value obtained by the drive current value acquisition unit and the rotation angle estimated by the estimation unit, thereby calculating the q-axis current value and d-axis current value of the two-phase rotating coordinate system. The q-axis current command value calculation unit calculates the command value of the q-axis current in the two-phase rotating coordinate system based on the value used to indicate the target state of the motor's operation. as well as The q-axis voltage command value calculation unit calculates the command value of the q-axis voltage in the two-phase rotating coordinate system by minimizing the difference between the command value of the q-axis current calculated by the q-axis current command value calculation unit and the value based on the q-axis current calculated by the first coordinate transformation unit. The estimation unit performs calculations based on the linear Kalman filter, which is input with the q-axis current value calculated by the first coordinate transformation unit and the command value of the q-axis voltage calculated by the q-axis voltage command value calculation unit, and outputs the estimated value of the rotation angle and the estimated value of the rotation speed.

3. The motor drive control device according to claim 1 or 2, wherein, The control circuit has a storage unit that stores formula information and coefficient information. The formula information includes formula (G) and formula (H), and the coefficient information includes at least A. d B d and the value of g, The control circuit uses the formula information and coefficient information stored in the storage unit to calculate the estimated value of the rotation angle and the estimated value of the rotation speed.

4. The motor drive control device according to claim 1 or 2, wherein, After determining the initial position of the rotor, the control circuit estimates the rotation angle and the rotation speed.

5. The motor drive control device according to claim 1 or 2, wherein, The value used to indicate the target state of the motor's operation is the target value of the motor's rotational speed.

6. The motor drive control device according to claim 1 or 2, wherein, The value used to indicate the target state of the motor's operation is the target value of the motor's torque.

7. A motor drive control method, comprising: The first step involves obtaining the drive current value of the motor's coils; and The second step involves generating a drive control signal for driving the motor by performing vector control calculations based on the drive current value obtained in the first step. The second step includes the following steps: using a linear Kalman filter, based on the q-axis current value of the two-phase rotating coordinate system calculated based on the drive current value, and the command value of the q-axis voltage of the two-phase rotating coordinate system, to estimate the rotation angle and rotation speed of the motor rotor. The linear Kalman filter is a steady-state Kalman filter that includes a prediction step and an update step, and represents the prediction step in a linear time-invariant manner. The motor is represented by a state-space model, which is derived from the equation of the q-axis voltage of the motor when the d-axis current is zero and the rotational speed is constant, and at least the q-axis current, the rotation angle, and the rotational speed are used as state variables. When the q-axis current value is set to Iq(t), the electric angular velocity (which is the rotational speed) is set to ωe(t), the rotation angle is set to θ(t), and the command value of the q-axis voltage is set to Vqref, the state vector x(t) containing the state variables is represented by the following equation (A), and the state space model is represented by the following equations (B) and (C). When the resistance of the coil is set to Ra, the q-axis inductance to Lq, and the magnetic flux of the magnet in the d-axis direction is set to Ψa, the following equations (B) and (C) have A. c B c c are represented by the following equation (D), In the prediction step, the prior state estimate of the state variable is calculated based on the following equation (G). And in the update step, the posterior state estimate of the state variable is calculated based on the following equation (H). , In the following equations (G) and (H), A d B d And g is a fixed value. 。

Citation Information

Patent Citations

  • Conjecturing method for position of rotor in synchronous motor, and method and apparatus for sensorless control of position

    JP2001251889A

  • Control arrangement of rotary electric machine

    JP2020061917A

  • Flux linkage full-rank identification method for permanent magnet of PMSM

    CN106602952A

  • Synchronous motor control method and its device

    JP2005051971A