Motor driving control device and motor driving control method
The motor drive control device addresses rotational speed fluctuations by incorporating a torque correction mechanism to cancel cogging torque, improving motor control stability and precision.
Patent Information
- Application Number
- JP2023209573
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-12
- Publication Date
- 2025-06-24
AI Technical Summary
Motor systems experience fluctuations in rotational speed due to cogging torque, which becomes significant as rotational speed increases, making it difficult for speed feedback control to maintain stability.
A motor drive control device that includes a control circuit with a drive current value acquisition unit, rotation angle acquisition unit, rotation speed acquisition unit, and a torque correction mechanism to adjust drive current values based on torque correction information, effectively canceling cogging torque through a torque correction value calculation and correction process.
The solution effectively suppresses fluctuations in rotational speed caused by cogging torque, enhancing the stability and precision of motor control.
Smart Images

Figure 2025093742000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a motor drive control device and a motor drive control method.
Background Art
[0002] Generally, as a technique for controlling the drive of a permanent magnet type motor (hereinafter, also referred to as a "motor") such as a stepping motor or a brushless DC motor that employs a permanent magnet as a rotor, speed feedback control for controlling the rotational speed of the rotor to be constant is known (see, for example, Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Generally, a motor generates cogging torque due to its structure. The cogging torque is determined in magnitude according to the rotational position of the rotor and becomes a disturbance torque on the rotating rotor. In a hybrid type stepping motor or the like, the cogging torque may be actively utilized for the stop control of the rotor or the like by designing the motor so that the cogging torque becomes large intentionally.
[0005] However, when the cogging torque is increased, there is a risk that the fluctuation of the rotational speed of the rotor will increase. Generally, in speed feedback control, when the rotational speed of the rotor deviates from the target rotational speed, the control amount is calculated so that the deviation becomes smaller to control the rotation of the rotor. However, there is a problem that the faster the rotational speed of the rotor becomes, the less time there is for the processing of the speed feedback control, and the fluctuation of the rotational speed caused by the cogging torque becomes significant.
[0006] The present invention is for solving the above-described problems, and an object thereof is to suppress fluctuations in the rotational speed of a motor due to cogging torque.
Means for Solving the Problems
[0007] A motor drive control device according to a typical embodiment of the present invention includes a control circuit that outputs a drive control signal for driving a motor, and a drive circuit that drives the motor based on the drive control signal output from the control circuit. The control circuit includes a drive current value acquisition unit that detects a drive current of a coil of the motor, a rotation angle acquisition unit that acquires a rotation angle of a rotor of the motor, a rotation speed acquisition unit that acquires an actual rotation speed that is the rotation speed of the rotor, a target rotation speed acquisition unit that acquires a target rotation speed that is a target value of the rotation speed of the rotor, a target current value calculation unit that calculates a target current value that is a target value of the drive current of the coil so that the actual rotation speed approaches the target rotation speed, and a drive control signal generation unit that generates the drive control signal. The target current value calculation unit includes a storage unit that stores torque correction information indicating a torque correction value corresponding to the rotation angle, a torque correction value calculation that generates the torque correction value corresponding to the rotation angle acquired by the rotation angle acquisition unit based on the torque correction information, and a target current value correction unit that corrects the target current value based on the torque correction value and outputs the corrected target current value. The drive control signal generation unit is characterized by generating the drive control signal so that the drive current detected by the drive current value acquisition unit approaches the corrected target current value.
Effects of the Invention
[0008] According to one aspect of the present invention, fluctuations in the rotational speed of a motor due to cogging torque are suppressed.
Brief Description of the Drawings
[0009]
Figure 1
Figure 2
Figure 3A
Figure 3B
Figure 4
Figure 5
Figure 6
Figure 7
Mode for Carrying Out the Invention
[0010] Hereinafter, specific examples of embodiments of the present invention will be described with reference to the drawings. In the following description, the same reference numerals are given to the common components in each embodiment, and the repeated description will be omitted.
[0011] ≪Embodiment 1≫ FIG. 1 is a diagram showing the configuration of a motor unit 100 including a motor drive control device 10 according to Embodiment 1.
[0012] As shown in FIG. 1, the motor unit 100 includes a motor 3, a rotation position detector 4 for detecting the rotation position of the motor 3, and a motor drive control device 10 for controlling the rotation of the motor 3. The motor unit 100 can be used, for example, as a drive source such as a slider that converts the rotational motion of the motor into a translational motion.
[0013] The motor 3 is a permanent magnet type motor. In the present embodiment, the motor 3 is, for example, a stepping motor having coils of two phases (phase A and phase B).
[0014] The motor drive control device 10 periodically supplies drive currents to the coils of phase A and phase B of the motor 3 to rotate the rotor (permanent magnet) of the motor 3. Specifically, 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 part of the whole, and the motor drive control device 10 may have other components in addition to those shown in FIG. 1.
[0015] The drive circuit 2 drives the motor 3 based on the drive control signal Sd output from the control circuit 1. The drive circuit 2 includes, for example, an inverter circuit (not shown) and a current detection circuit 5. The inverter circuit is disposed between a DC power supply and a ground potential, and drives the coil of the motor 3 as a load based on the input drive control signal Sd. For example, the inverter circuit has a switching leg including two drive transistors connected in series for each coil to be driven, and drives the coil as a load by causing the two drive transistors to alternately perform an on / off operation (switching operation) based on the input drive control signal Sd.
[0016] The drive control signal Sd is a signal for controlling the drive of the motor 3. Specifically, the drive control signal Sd is a signal for switching the energization pattern of each phase coil of the motor 3 determined by the on / off states of the respective switch elements constituting the inverter circuit as the drive circuit 2. For example, the drive control signal Sd is a PWM (Pulse Width Modulation) signal for driving each drive transistor constituting the inverter circuit as the drive circuit 2.
[0017] The current detection circuit 5 is a circuit for detecting the drive current of the coils of each phase of the motor 3. The current detection circuit 5 is, for example, a shunt resistor connected in series with an inverter circuit between a DC power supply and a ground potential. The current detection circuit 5 converts the current flowing through the coils of each phase of the motor 3 into a voltage by the shunt resistor, and outputs the voltage as a current detection signal Si.
[0018] The rotational position detector 4 is a device for detecting the rotational position of the rotor of the motor 3. The rotational position detector 4 is, for example, an encoder. The rotational position detector 4 outputs a rotational position detection signal Se corresponding to the rotational position of the rotor of the motor 3. Note that the rotational position detector 4 is not limited to an encoder, and may be a Hall element or the like.
[0019] The control circuit 1 is a circuit that generates a drive control signal Sd for driving the motor 3 and controls the drive of the motor 3. In the present embodiment, the control circuit 1 is, for example, a program processing device (e.g., a microcontroller) having a configuration in which a processor such as a CPU, various storage devices such as a RAM and a 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 a dedicated line.
[0020] Note that the motor drive control device 10 may have a configuration in which at least a part of the control circuit 1 and at least a part of the drive circuit 2 are packaged as one integrated circuit device (IC), or a configuration in which the control circuit 1 and the drive circuit 2 are each packaged as an individual integrated circuit device.
[0021] FIG. 2 is a diagram showing the functional block configuration of the control circuit 1 according to Embodiment 1.
[0022] The control circuit 1 controls the driving of the motor 3 by generating a drive control signal Sd for driving the motor 3 based on, for example, a drive command signal Sc that is input from the outside and indicates the target state of the operation of the motor 3. Specifically, the control circuit 1 obtains information such as the rotational speed and torque of the rotor of the motor 3 based on the current detection signal Si from the current detection circuit 5 and the rotational position detection signal Se from the rotational position detector 4, monitors the rotational state of the motor 3, and generates the drive control signal Sd so that the motor 3 reaches the operation state specified by the drive command signal Sc, and supplies it to the drive circuit 2. For example, the control circuit 1 performs speed feedback control so that the motor rotates at a constant rotational speed by vector control calculation.
[0023] Further, the control circuit 1 calculates the control amount of the motor 3 so as to suppress the variation in rotational speed due to cogging torque, and generates the drive control signal Sd based on the calculated control amount.
[0024] FIGS. 3A and 3B are diagrams for explaining the outline of the control for suppressing the influence of cogging torque by the control circuit 1 according to Embodiment 1.
[0025] FIG. 3A schematically shows a conventional motor control technique, and FIG. 3B schematically shows a motor control technique by the control circuit 1 according to the present embodiment.
[0026] As described above, when controlling the torque generated in the motor by conventional speed feedback control, as shown in FIG. 3A, the rotational speed of the rotor of the motor may vary due to cogging torque (disturbance torque) caused by the structure inherent to the motor. This is due to the fact that the processing of speed feedback control cannot catch up with the variation in cogging torque.
[0027] Therefore, the control circuit 1 according to Embodiment 1 suppresses the variation in the rotational speed of the motor caused by cogging torque by superimposing a torque correction value for canceling the cogging torque on the target value of the torque generated by speed feedback control.
[0028] Hereinafter, the specific configuration and operation of the control circuit 1 will be described in detail.
[0029] As shown in FIG. 2, the control circuit 1 includes, as functional blocks for generating a drive control signal Sd, for example, a drive command acquisition unit 11, a drive current value acquisition unit 12, a rotation angle acquisition unit 13, a rotation speed acquisition unit 14, a target current value calculation unit 15, and a drive control signal generation unit 16.
[0030] These functional blocks are realized, for example, in a program processing device as the control circuit 1, when a processor executes various arithmetic processes according to a program stored in a memory and controls peripheral circuits such as a counter and an A / D conversion circuit.
[0031] The drive command acquisition unit 11 receives a drive command signal Sc, and by analyzing the received drive command signal Sc, acquires a value specifying the target operating state of the motor 3 specified by the drive command signal Sc. For example, the drive command signal Sc is output from a host device provided outside the motor drive control device 10 for controlling the motor unit 100.
[0032] The drive command signal Sc includes a value indicating the target state of operation of the motor 3. In the first embodiment, the drive command signal Sc is, for example, a speed command signal specifying the rotational speed of the rotor of the motor 3. The drive command signal Sc includes the value of the target value (target rotational speed) ωref of the rotational speed of the rotor of the motor 3. Hereinafter, in the first embodiment, the drive command signal Sc is also referred to as the "speed command signal Sc".
[0033] The speed command signal Sc is, for example, a PWM signal having a duty ratio corresponding to the specified target rotational speed ωref. The drive command acquisition unit 11 analyzes, for example, the duty ratio of the PWM signal as the speed command signal Sc, and outputs the rotational speed corresponding to the analyzed duty ratio as the target rotational speed ωref.
[0034] The drive current value acquisition unit 12 is a functional unit that acquires the measured values of the drive current values of the coils of each phase of the motor 3. The drive current value acquisition unit 12 calculates, for example, the measured value of the current flowing through the A-phase coil (drive current value Ia) and the measured value of the current flowing through the B-phase coil (drive current value Ib) based on the current detection signal Si output from the current detection circuit 5.
[0035] The rotation angle acquisition unit 13 is a functional unit that acquires the measured value of the rotation angle of the rotor of the motor 3. The rotation angle acquisition unit 13 calculates, for example, the rotation angle (rotation position) θ of the rotor of the motor 3 based on the rotation position detection signal Se output from the rotation position detector 4.
[0036] The rotation speed acquisition unit 14 is a functional unit that acquires the measured value of the rotation speed of the rotor of the motor 3. The rotation speed acquisition unit 14 calculates, for example, the actual rotation speed ω, which is the rotation speed of the rotor of the motor 3, based on the rotation position detection signal Se output from the rotation position detector 4.
[0037] The target current value calculation unit 15 is a functional unit that calculates the target current value, which is the target value of the drive current of the coil of the motor 3. The target current value calculation unit 15 calculates the target current value so that the actual rotation speed ω approaches the target rotation speed ωref. Specifically, the target current value calculation unit 15 includes a speed control unit 17, a q-axis current target value calculation unit 18, a d-axis current target value calculation unit 19, a storage unit 20, a torque correction value generation unit 21, and a target current value correction unit 22.
[0038] The speed control unit 17 calculates a control amount based on the target rotation speed ωref output from the drive command acquisition unit 11. Specifically, the speed control unit 17 calculates a control amount corresponding to the difference (ωref - ω) between the target rotation speed ωref and the actual rotation speed ω. For example, the speed control unit 17 calculates the control amount of the motor 3 so that the error (ωref - ω) becomes zero by PI control calculation.
[0039] The d-axis current target value calculation unit 19 calculates the target current value Idt of the d-axis current in the two-phase (d, q) rotating coordinate system. For example, the d-axis current target value calculation unit 19 outputs the target current value Idt of the d-axis current as zero.
[0040] The q-axis current target value calculation unit 18 calculates the target current value Iqt of the q-axis current in the two-phase (d, q) rotating coordinate system as the target value of the torque generated in the rotor of the motor 3. Specifically, the q-axis current target value calculation unit 18 converts the control amount calculated by the speed control unit 17 into a current value and outputs it as the target current value Iqt of the q-axis current.
[0041] The storage unit 20 stores the torque correction information 201. The torque correction information 201 is data in which a torque correction value (hereinafter referred to as "torque correction value Tc") for canceling the cogging torque is set. In other words, the torque correction value Tc is a value for correcting the target current value Iqt of the q-axis current.
[0042] As described above, the cogging torque is mainly determined by the structure of the motor and depends on the rotation angle (rotation position) of the rotor. And the magnitude of the cogging torque changes sinusoidally according to the rotation position of the rotor.
[0043] Therefore, the control circuit 1 according to the first embodiment stores in advance in the storage unit 20 the torque correction information 201 for generating a torque correction value that changes according to the rotation angle of the rotor so as to cancel the cogging torque.
[0044] Here, the torque correction information 201 is, for example, a function or a table showing the relationship between the rotation angle θ of the rotor and the torque correction value Tc. As an example, it is assumed that the torque correction information 201 is a function in which the torque correction value Tc changes sinusoidally according to the rotation angle θ (for example, electrical angle) of the rotor.
[0045] Specifically, the frequency f, phase Φ, and amplitude A as parameters of a function (sine wave) indicating the relationship between the rotation angle θ (e.g., electrical angle) of the rotor and the torque correction value Tc are stored in advance in the storage unit 20 as torque correction information 201.
[0046] For example, before the shipment of the motor unit 100 or the like, when the motor 3 is driven by the control circuit 1 so that the rotation speed of the motor 3 becomes constant at a predetermined value, the characteristics (θ-ω characteristics) representing the relationship between the rotation position of the rotor and the rotation speed of the rotor are measured. Next, based on the measured θ-ω characteristics, the frequency f, phase Φ, and amplitude A as parameters of a function (sine wave) indicating the relationship between the rotation angle of the rotor and the torque correction value are determined respectively. Specifically, the frequency f, phase Φ, and amplitude A may be determined by the method shown below.
[0047] First, the frequency f of the function is determined by the structure of the motor. For example, in the case of a two-phase hybrid stepping motor (50 pole pairs), the frequency f of the function is 200 cycles / rotation. Next, the phase Φ is calculated based on the phase of the θ-ω characteristics. Generally, the force (torque) can be calculated by differentiating the rotation speed of the motor. Therefore, the phase of the cogging torque is calculated by adding +90° to the phase detected by quadrature demodulation of the measured θ-ω characteristics. Then, the value obtained by inverting (+180°) the phase of the cogging torque is set as the phase Φ of the function indicating the relationship between the rotation angle of the rotor and the torque correction value.
[0048] Finally, the amplitude A of the function is determined. For example, the amplitude A is calculated by expressing the variation of the rotation speed in a model formula and inversely calculating the model formula to convert it into the magnitude of the torque. Alternatively, the value of the amplitude A of the function (sine wave) representing the relationship between the rotation position and the torque is swept to calculate the torque correction value, and the value of the amplitude at which the variation amount of the rotation speed is minimized when the speed feedback control of the motor is performed using the calculated torque correction value is searched, and that value is set as the amplitude A of the function.
[0049] The parameters (frequency f, phase Φ, and amplitude A) of the function representing the relationship between the rotational angle θ of the rotor and the torque correction value Tc determined by the above method are stored in advance in the storage unit 20 as torque correction information 201.
[0050] The torque correction value generation unit 21 generates a torque correction value Tc based on the torque correction information 201. Specifically, the torque correction value generation unit 21 generates a torque correction value Tc corresponding to the rotational angle θ acquired by the rotational angle acquisition unit 13. For example, the torque correction value generation unit 21 sequentially generates and outputs a torque correction value Tc corresponding to the rotational angle θ acquired by the rotational angle acquisition unit 13 based on the function (f, Φ, A) representing the relationship between the rotational angle θ of the rotor and the torque correction value Tc as the torque correction information 201 stored in the storage unit 20.
[0051] The target current value correction unit 22 corrects the target current value Iqt of the q-axis current calculated by the q-axis current target value calculation unit 18 based on the torque correction value Tc, and outputs it as the corrected target current value Iqt_a of the q-axis current. Specifically, the target current value correction unit 22 generates and outputs a corrected target current value Iqt_a of the q-axis current by adding (or subtracting) the torque correction value Tc to the target current value Iqt.
[0052] The drive control signal generation unit 16 is a functional unit that generates a drive control signal Sd for controlling the drive of the motor 3. The drive control signal generation unit 16 includes, for example, a d-axis current error calculation unit 23, a d-axis control unit 24, a q-axis current error calculation unit 25, a q-axis control unit 26, coordinate conversion units 27, 28, and an output unit 29.
[0053] The coordinate conversion unit 28 calculates the current value Id of the d-axis and the current value Iq of the q-axis in the rotating coordinate system based on the drive current values Ia, Ib of each phase acquired by the drive current value acquisition unit 12 and the rotational angle θ of the rotor acquired by the rotational angle acquisition unit 13.
[0054] Specifically, the coordinate conversion unit 28 performs Park conversion on the drive current values Ia and Ib in the fixed coordinate system of two phases (A, B) acquired by the drive current value acquisition unit 12 using the rotation angle θ (sin θ and cos θ) acquired by the rotation angle acquisition unit 13, thereby calculating the current values Id and Iq in the rotating coordinate system (d, q) of two phases (d, q), respectively.
[0055] The d-axis current error calculation unit 23 calculates the error (Idt - Id) between the target current value Idt of the d-axis current calculated by the d-axis current target value calculation unit 19 and the d-axis current value Id calculated by the coordinate conversion unit 28.
[0056] The d-axis control unit 24 calculates the target voltage value Vdt of the d-axis in the rotating coordinate system (d, q) so that the error (Idt - Id) between the target current value Idt of the d-axis current and the d-axis current value Id calculated by the d-axis current error calculation unit 23 becomes small. For example, the d-axis control unit 24 calculates the control amount of the motor 3 so that the error (Idt - Id) becomes zero by PI control calculation, converts the control amount into voltage, and outputs it as the target voltage value Vdt of the d-axis.
[0057] The q-axis current error calculation unit 25 calculates the difference (Iqt_a - Iq) between the target current value Iqt_a of the corrected q-axis current calculated by the target current value correction unit 22 and the q-axis current value Iq calculated by the coordinate conversion unit 28.
[0058] The q-axis control unit 26 calculates the target voltage value Vqt of the q-axis in the rotating coordinate system (d, q) so that the difference (Iqt_a - Iq) between the target current value Iqt_a of the corrected q-axis current and the q-axis current value Iq calculated by the q-axis current error calculation unit 25 becomes small. For example, the q-axis control unit 26 calculates the control amount of the motor 3 so that the error (Iqt_a - Iq) becomes zero by PI control calculation, converts the control amount into voltage, and outputs it as the target voltage value Vqt of the q-axis.
[0059] The coordinate conversion unit 27 converts the target voltage value Vdt of the d-axis and the target voltage value Vqt of the q-axis in the two-phase (d, q) rotating coordinate system into the target voltage value Va of the A-phase and the target voltage value Vb of the B-phase in the two-phase (A, B) fixed coordinate system.
[0060] For example, based on the target voltage value Vqt of the q-axis calculated by the q-axis control unit 26, the target voltage value Vdt of the d-axis calculated by the d-axis control unit 24, and the rotation angle θ of the rotor acquired by the rotation angle acquisition unit 13, the coordinate conversion unit 27 calculates the target voltage value Va of the A-phase and the target voltage value Vb of the B-phase in the two-phase (A, B) fixed coordinate system, respectively.
[0061] Specifically, the coordinate conversion unit 27 calculates the target voltage values Va and Vb of the two-phase (d, q) fixed coordinate system (A, B) by performing an inverse Park transformation on the target voltage value Vdt of the d-axis and the target voltage value Vqt of the q-axis in the two-phase (d, q) rotating coordinate system using the rotation angle θ (sinθ and cosθ) acquired by the rotation angle acquisition unit 13.
[0062] Based on the target voltage values Va and Vb and the rotation angle θ, the output unit 29 generates a drive control signal Sd. Specifically, the output unit 29 performs space vector modulation (SVM) based on the target voltage values Va and Vb output from the coordinate conversion unit 27 and the rotation angle θ to generate a voltage signal (PWM signal) in the two-phase (A, B) fixed coordinate system, and outputs it as the drive control signal Sd.
[0063] Next, the flow of drive control of the motor 3 by the control circuit 1 according to Embodiment 1 will be described.
[0064] FIG. 4 is a flowchart showing the flow of drive control of the motor 3 by the control circuit 1 according to Embodiment 1.
[0065] First, for example, after the motor drive control device 10 is started, when a speed command signal Sc is input from the host device to the motor drive control device 10, the drive command acquisition unit 11 of the control circuit 1 analyzes the speed command signal Sc to obtain information on the target rotational speed ωref of the motor 3 specified by the speed command signal Sc (step S1).
[0066] Next, the control circuit 1 measures the rotational angle θ, rotational speed ω, and drive current values Ia, Ib of the motor 3, respectively (step S2). Specifically, as described above, the rotational angle acquisition unit 13 calculates the rotational angle θ0 of the rotor of the motor 3 based on the rotational position detection signal Se output from the encoder as the rotational position detector 4. Also, the rotational speed acquisition unit 14 calculates the rotational speed ω0 of the rotor of the motor 3 based on the rotational position detection signal Se. Further, the drive current value acquisition unit 12 calculates the drive current values Ia, Ib of the coils of the A phase and B phase based on the current detection signal Si output from the current detection circuit 5.
[0067] Next, the control circuit 1 calculates the drive current values (d-axis current value Id and q-axis current value Iq) in the two-phase (d, q) rotating coordinate system based on the rotational angle θ, rotational speed ω, and drive current values Ia, Ib acquired in step S2 (step S3). Specifically, as described above, the coordinate conversion unit 28 performs Park conversion on the drive current values Ia, Ib in the two-phase (A, B) fixed coordinate system using the rotational angle θ0 to calculate the d-axis current value Id and q-axis current value Iq in the two-phase (d, q) rotating coordinate system, respectively.
[0068] Also, the control circuit 1 calculates the target current values (Iqt, Idt) (step S4). Specifically, the d-axis current target value calculation unit 19 calculates the target current value Idt (=0) of the d-axis current by the method described above, and the q-axis current target value calculation unit 18 calculates the target current value Iqt of the q-axis current by the method described above.
[0069] Next, the control circuit 1 determines the torque correction value Tc (step S5). Specifically, the torque correction value generation unit 21 calculates the torque correction value Tc corresponding to the rotation angle θ based on the function as the torque correction information 201 stored in the storage unit 20 by the method described above.
[0070] Next, the control circuit 1 corrects the target current value by the torque correction value Tc (step S6). Specifically, the target current value correction unit 22 corrects the target current value Iqt of the q-axis current calculated by the q-axis current target value calculation unit 18 based on the torque correction value Tc by the method described above, and outputs it as the corrected target current value Iqt_a (= Iqt + Tc) of the q-axis current.
[0071] Next, the control circuit 1 generates a drive control signal Sd so that the drive current value approaches the target current value (step S7). Specifically, the drive control signal generation unit 16 controls the rotation of the motor 3 by generating the drive control signal Sd so that the d-axis current value Id matches the target current value Idt of the d-axis current and the q-axis current value Id matches the corrected target current value Iqt_a of the q-axis current by the method described above.
[0072] FIG. 5 is a diagram showing a simulation result of the waveform of the drive current when speed feedback control is performed by the control circuit 1 according to Embodiment 1.
[0073] In the upper diagram on the paper surface of FIG. 5, the horizontal axis represents the rotation angle (electrical angle), and the vertical axis represents the current. In the lower diagram on the paper surface of FIG. 5, the horizontal axis represents the rotation angle (electrical angle), and the vertical axis represents the torque generated in the rotor of the motor.
[0074] In FIG. 5, reference numeral 501 represents the corrected target current value Iqt_a of the q-axis current, reference numeral 502 represents the target current value Idt of the d-axis, reference numeral 503 represents the drive current of the A-phase coil of the motor 3, and reference numeral 504 represents the drive current of the B-phase coil of the motor 3. Reference numeral 601 represents the torque generated in the rotor of the motor.
[0075] As shown in FIG. 5, according to the control circuit 1, a sinusoidal torque correction value Tc is added to the target value (Iqt) of the q-axis current as the target value of torque in speed feedback control. Thereby, torque can be generated in the rotor of the motor so as to cancel the cogging torque, and thus it is possible to suppress fluctuations in the rotational speed of the motor caused by the cogging torque.
[0076] Also, as shown in FIG. 5, as torque correction information 201 for determining the torque correction value Tc, by using a function in which the torque correction value Tc changes sinusoidally according to the rotation angle θ, the calculation load for calculating the torque correction value Tc according to the rotation angle θ can be suppressed. Further, since the data amount of the torque correction information 201 can be suppressed, an increase in the memory capacity required for the microcontroller as the control circuit 1 can be suppressed.
[0077] <<Embodiment 2>>
[0078] FIG. 6 is a diagram showing a functional block configuration of a control circuit 1A according to Embodiment 2.
[0079] The control circuit 1A according to Embodiment 2 is different from the control circuit 1 according to Embodiment 1 in that it has a function of generating torque correction information 201, and is the same as the control circuit 1 according to Embodiment 1 in other respects.
[0080] As shown in FIG. 6, the control circuit 1A in the motor drive control device 10A according to Embodiment 2 further includes an operation mode setting unit 31 and a torque correction information generation unit 32. The operation mode setting unit 31 and the torque correction information generation unit 32 are realized, for example, in a program processing device as the control circuit 1A, when a processor executes various arithmetic processes according to a program stored in a memory and controls peripheral circuits such as a counter and an A / D conversion circuit.
[0081] The operation mode setting unit 31 is a functional unit that sets the operation mode of the control circuit 1A. In Embodiment 2, the control circuit 1A includes, as operation modes, a normal operation mode in which the rotation of the rotor is controlled to be in a predetermined operation state based on the drive command signal Sc (target rotation speed ωref), and an adjustment mode in which torque correction information 201 is generated.
[0082] The operation mode setting unit 31 sets the operation mode to the normal operation mode, for example, after the control circuit 1A is started. In the normal operation mode, the control circuit 1A drives the motor 3 by generating a drive control signal Sd so that the motor 3 assumes the operation state specified by the drive command signal Sc, in the same manner as the control circuit 1 according to Embodiment 1, based on the drive command signal Sc input from the outside.
[0083] When, for example, a command signal for instructing execution of the generation process of the torque correction information 201 is input to the control circuit 1A from an external device such as a host device while the operation mode is set to the normal operation mode, the operation mode setting unit 31 switches the operation mode from the normal operation mode to the adjustment mode. When the operation mode is set to the adjustment mode, the torque correction information generation unit 32 generates the torque correction information 201.
[0084] The torque correction information generation unit 32 is a functional unit for generating the torque correction information 201. When the operation mode is set to the adjustment mode by the operation mode setting unit 31, the torque correction information generation unit 32 generates the torque correction information 201 so that the variation in the rotation speed when the rotor of the motor 3 makes one revolution is reduced, and stores it in the storage unit 20.
[0085] Here, as described above, the torque correction information 201 is a sine-wave-shaped function, and the function includes the frequency f, the phase Φ, and the amplitude A as parameters.
[0086] Specifically, the torque correction information generation unit 32 measures the characteristic of the change in the rotation speed ω with respect to the rotation angle θ (θ-ω characteristic) when the rotor is rotated one revolution so that the rotation speed ω matches the target rotation speed ωref, determines the phase Φ based on the characteristic, and stores it in the storage unit 20 as a parameter of the function.
[0087] Furthermore, while changing the value of the amplitude A of the function, the torque correction information generation unit 32 measures the characteristics of the change in the rotational speed ω with respect to the rotational angle θ when the rotor makes one revolution so that the rotational speed ω matches the target rotational speed ωref, and stores the value of the amplitude A when the characteristics with the smallest change amount of the rotational speed ω are obtained among the measured characteristics in the storage unit 20 as one of the parameters of the function.
[0088] FIG. 7 is a flowchart showing an example of the flow of the generation process of the torque correction information 201 by the control circuit 1A according to the second embodiment.
[0089] For example, when a command signal instructing the execution of the generation of the torque correction information 201 is input to the control circuit 1A from a host device and the operation mode setting unit 31 switches the operation mode from the normal operation mode to the adjustment mode, the control circuit 1A starts the generation process of the torque correction information 201.
[0090] In the generation process of the torque correction information 201, first, the control circuit 1A performs speed feedback control so that the motor 3 rotates at a constant rotational speed (step S11). For example, in advance, information on the target rotational speed ωref of the motor 3 in the generation process of the torque correction information 201 is stored in the control circuit 1A, and the drive command acquisition unit 11 gives the target rotational speed ωref to the target current value calculation unit 15, thereby starting the speed feedback control.
[0091] For example, after the rotation of the rotor of the motor 3 stabilizes, the control circuit 1A measures the rotational angle θ and the rotational speed ω of the motor 3 (step S12). Specifically, the torque correction information generation unit 32 measures the rotational angle θ and the rotational speed ω of the rotor when the rotor of the motor 3 makes one revolution, and stores them in the storage unit 20 as θ-ω characteristics.
[0092] Next, the control circuit 1A determines a phase Φ, which is one of the parameters of the function representing the relationship between the rotation angle θ and the torque correction value Tc as the torque correction information 201 (step S13). For example, the torque correction information generation unit 32 performs quadrature detection on the θ-ω characteristic measured in step S12, and calculates, by the above-described method, the phase Φ of the function representing the relationship between the rotation angle θ and the torque correction value Tc, and stores it in the storage unit 20.
[0093] Next, the control circuit 1A selects an amplitude A, which is one of the parameters of the function representing the relationship between the rotation angle θ and the torque correction value Tc (step S14). For example, consider a case where the possible values of the amplitude A are set to be selectable as A = a1, a2,... an (a1 < a2 <... < an). In this case, the torque correction information generation unit 32 selects one of a1, a2,... an as the value of the amplitude A.
[0094] Next, the control circuit 1A temporarily sets a function representing the relationship between the rotation angle θ and the torque correction value Tc as the torque correction information 201 (step S15). Specifically, the torque correction information generation unit 32 sets, as the parameters of the function representing the relationship between the rotation angle θ and the torque correction value Tc, the phase Φ calculated in step S13, the amplitude A selected in step S14, and the frequency f stored in the storage unit 20 in advance, in the storage unit 20 as the temporary torque correction information 201.
[0095] Here, the frequency f of the above function depends on the structure of the motor 3 as described above. Therefore, the value of the frequency f of the function may be stored in the storage unit 20 in advance, or the torque correction information generation unit 32 may calculate the frequency f based on the θ-ω characteristic measured in step S12.
[0096] Next, the control circuit 1A performs speed feedback control using the temporary torque correction information 201 set in step S15, measures the rotation angle θ and the rotation speed ω of the rotor when the rotor of the motor 3 makes one revolution, and stores them in the storage unit 20 as the θ-ω characteristic (step S16).
[0097] Next, the control circuit 1A determines whether it has measured the θ-ω characteristics under all amplitude conditions (step S17). If it has not measured the θ-ω characteristics under all amplitude conditions (step S17: NO), the control circuit 1A returns to step S14 and selects another value as the amplitude A. For example, if the amplitude A set immediately before was "a1", the control circuit 1A sets the amplitude A to "a2". Thereafter, the control circuit 1A executes the processes of steps S15 to S17 again.
[0098] If it has measured the θ-ω characteristics under all amplitude conditions (step S17: YES), the control circuit 1A selects the amplitude condition with the smallest variation in the rotational speed ω among the θ-ω characteristics measured under all amplitude conditions (step S18). For example, if the variation in the rotational speed ω in the θ-ω characteristics when the amplitude A is set to a1 is the smallest, the torque correction information generation unit 32 determines "a1" as the amplitude A of the function representing the relationship between the rotation angle θ and the torque correction value Tc.
[0099] Next, the control circuit 1A writes the torque correction information 201 to the storage unit 20 (step S19). Specifically, the torque correction information generation unit 32 sets, as the torque correction information 201, a function using the phase Φ calculated in step S13, the amplitude A determined in step S18, and the frequency f stored in the storage unit 20 in advance as parameters in the storage unit 20.
[0100] Thereafter, the operation mode setting unit 31 switches the operation mode from the adjustment mode to the normal operation mode, thereby ending the generation process of the torque correction information 201.
[0101] As described above, when the operation mode of the control circuit 1A according to the second embodiment is set to the adjustment mode, the control circuit 1A autonomously generates the torque correction information 201 so that the variation in the rotational speed when the rotor makes one revolution is reduced. According to this, in order to generate the optimal torque correction information 201 in the manufacturing stage of the motor unit 100, it is not necessary for an operator to perform measurements, parameter adjustments, etc., so it is possible to suppress an increase in manufacturing costs.
[0102] Also, in the adjustment mode, while changing the value of the amplitude A, which is one of the parameters of the function in which the torque correction value changes in a sine wave shape according to the rotation angle, the control circuit 1A measures the characteristics of the change in the rotation speed with respect to the rotation angle when the rotor is rotated once so that the rotation speed matches the target rotation speed, and stores the value of the amplitude A when the characteristics have the smallest change in the rotation speed among the measured characteristics in the storage unit 20 as one of the parameters of the function.
[0103] According to this, since it is possible to easily search for the value of the amplitude at which the fluctuation of the rotation speed when the rotor is rotated once is minimized, it is possible to suppress an increase in the calculation load in the adjustment mode.
[0104] ≪Expansion of the Embodiment≫ As described above, the invention made by the present inventor has been specifically described based on the embodiments, but the present invention is not limited thereto, and it goes without saying that various modifications can be made without departing from the gist thereof.
[0105] For example, in the above embodiment, the case where the motor 3 (permanent magnet type motor) is a stepping motor is exemplified, but the present invention is not limited thereto, and the motor 3 may be, for example, a three-phase brushless DC motor having U-phase, V-phase, and W-phase coils. That is, the type of the motor is not limited.
[0106] Also, the method for detecting the rotation angle and rotation speed of the motor is not limited to the above-described method. For example, when the motor drive control device 10 has a configuration (sensorless method) without the rotation position detector 4, the control circuit 1 may calculate the rotation angle θ and rotation speed ω of the motor by known calculations related to the sensorless method.
[0107] In the above-described embodiment, the motor drive control devices 10 and 10A (control circuits 1 and 1A) have been exemplified as performing speed control to control the motor so that the rotational speed becomes constant. However, the present invention is not limited to this. For example, in addition to speed control, the motor drive control devices 10 and 10A (control circuits 1 and 1A) may perform position control to control the motor so that the rotational position (rotation angle) of the motor matches the target position. In this case, by forming a position feedback loop related to position control outside (before) the speed feedback loop related to speed control, the motor drive control devices 10 and 10A (control circuits 1 and 1A) may calculate the target value of the current so that the rotational speed of the motor matches the target rotational speed and the rotational angle of the motor matches the target position.
[0108] Also, the above-described flowchart is a specific example and is not limited to this flowchart. For example, other processes may be inserted between each step, or the processes may be parallelized.
Explanation of Reference Numerals
[0109] 1, 1A... control circuits, 2... drive circuit, 3... motor, 4... rotational position detector (encoder), 5... current detection circuit, 10, 10A... motor drive control devices, 11... drive command acquisition unit, 12... drive current value acquisition unit, 13... rotational angle acquisition unit, 14... rotational speed acquisition unit, 15... target current value calculation unit, 16... drive control signal generation unit, 17... speed control unit, 18... q-axis current target value calculation unit, 19... d-axis current target value calculation unit, 20... storage unit, 21... torque correction value generation unit, 22... target current value correction unit, 23... d-axis current error calculation unit, 24... d-axis control unit, 25... q-axis current error calculation unit, 26... q-axis control unit, 27, 28... coordinate conversion units, 29... output unit, 100... motor unit, Se... rotational position detection signal, Si... current detection signal, Sc... drive command signal (speed command signal), Sd... drive control signal (PWM signal), Ia, Ib... drive current values, Id... d-axis current value, Iq... q-axis current value, Iqt... q-axis target current value, Iqt_a... corrected q-axis current target current value, Idt... d-axis target current value, Tc... torque correction value, Vdt... d-axis target voltage value, Vqt... q-axis target voltage value, ω... rotational speed, ωref... target rotational speed, θ... rotational angle.
Claims
1. A control circuit that outputs a drive control signal for driving a motor, and a drive circuit that drives the motor based on the drive control signal output from the control circuit, wherein the control circuit has a drive current value acquisition unit that detects a drive current of a coil of the motor, a rotation angle acquisition unit that acquires a rotation angle of a rotor of the motor, a rotation speed acquisition unit that acquires an actual rotation speed that is a rotation speed of the rotor, a target rotation speed acquisition unit that acquires a target rotation speed that is a target value of the rotation speed of the rotor, a target current value calculation unit that calculates a target current value that is a target value of the drive current of the coil so that the actual rotation speed approaches the target rotation speed, and a drive control signal generation unit that generates the drive control signal, wherein the target current value calculation unit has a storage unit that stores torque correction information indicating a torque correction value corresponding to the rotation angle, a torque correction value calculation unit that generates the torque correction value corresponding to the rotation angle acquired by the rotation angle acquisition unit based on the torque correction information, and a target current value correction unit that corrects the target current value based on the torque correction value and outputs the corrected target current value, and the drive control signal generation unit generates the drive control signal so that the drive current detected by the drive current value acquisition unit approaches the corrected target current value Motor drive control device.
2. In the motor drive control device according to Claim 1, the torque correction information is a function in which the torque correction value changes in a sine wave shape according to the rotation angle Motor drive control device.
3. In the motor drive control device according to Claim 1, the target current value includes a current target value of a d-axis current and a current target value of a q-axis current in a two-phase rotating coordinate system, and the target current value correction unit corrects the current target value of the q-axis current based on the torque correction value Motor drive control device.
4. In the motor drive control device according to Claim 1, further has an operation mode setting unit that sets an operation mode, and a torque correction information generation unit that generates the torque correction information, wherein the operation mode includes a normal operation mode that controls the rotation of the rotor so as to be in a predetermined operation state based on the target rotation speed, and an adjustment mode that generates the torque correction information When the operation mode is set to the adjustment mode by the operation mode setting unit, the torque correction information generation unit generates torque correction information so that the variation in the rotation speed when the rotor makes one revolution is reduced, and stores it in the storage unit. Motor drive control device.
5. In the motor drive control device according to claim 4, The torque correction information is a sine-wave function, The function includes frequency, phase, and amplitude as parameters, The torque correction information generation unit measures the characteristics of the change in the rotation speed with respect to the rotation angle when the rotor makes one revolution so that the rotation speed matches the target rotation speed, determines the phase based on the characteristics, and stores it in the storage unit as one of the parameters. The torque correction information generation unit measures the characteristics of the change in the rotation speed with respect to the rotation angle when the rotor makes one revolution so that the rotation speed matches the target rotation speed while changing the amplitude value of the function, and stores the amplitude value when the characteristic with the smallest change amount of the rotation speed is obtained among the measured characteristics in the storage unit as one of the parameters. Motor drive control device.
6. A first step of acquiring a drive current value of the motor coil; A second step of acquiring the rotation angle of the rotor of the motor; A third step of acquiring the actual rotation speed which is the rotation speed of the rotor; A fourth step of acquiring the target rotation speed which is the target value of the rotation speed of the rotor; A fifth step of calculating a target current value which is the target value of the drive current of the coil so that the actual rotation speed approaches the target rotation speed; A sixth step of generating a torque correction value corresponding to the rotation angle acquired in the second step based on torque correction information indicating a torque correction value corresponding to the rotation angle; A seventh step of correcting the target current value calculated in the fifth step based on the torque correction value and outputting the corrected target current value; An eighth step of generating a drive control signal for driving the motor so that the drive current value approaches the corrected target current value, and including Motor drive control method.
Citation Information
Patent Citations
AC rotating electric machine control device
JP6928149B1