Stepping motor control device and stepping motor control method
The motor control device stabilizes drive current phase transitions in stepping motors by using a current control unit and rotational position correction to manage open-loop and closed-loop control, reducing vibrations and synchronization loss.
Patent Information
- Application Number
- JP2021188922
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-11-19
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2041-11-19
AI Technical Summary
When switching between feedback control and open-loop control in stepping motors, fluctuations in the phase of the drive current can cause vibrations and loss of synchronization.
A motor control device with a current control unit that switches between open-loop and closed-loop control based on rotor speed, and a rotational position correction unit that adjusts the phase difference between control modes to stabilize the magnetic poles of the rotor.
Suppresses fluctuations in the drive current phase and prevents vibrations and loss of synchronization by correcting the rotational position difference during mode transitions.
Smart Images

Figure 0007814727000001 
Figure 0007814727000002 
Figure 0007814727000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a motor control device and a motor control method. [Background technology]
[0002] In order to achieve stable operation when rotating at high speeds, stepping motors are sometimes controlled by closed-loop control. However, when stepping motors are controlled by closed-loop control, they can experience a vibration called hunting when stopping rotation. Therefore, one method of controlling the drive of a stepping motor is to switch from closed-loop control to open-loop control when stopping rotation.
[0003] It should be noted that, among motor drive control technologies, there is known one that reduces the difference in motor rotation speed when switching between open-loop control and feedback control (see Patent Document 1). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2018-191461 Summary of the Invention [Problem to be solved by the invention]
[0005] However, when the drive control method of a stepping motor is switched from closed-loop control to open-loop control, the phase of the drive current may fluctuate. This fluctuation in the phase of the drive current may cause vibrations in the stepping motor. Therefore, when switching between feedback control and open-loop control in a stepping motor, it is necessary to suppress the fluctuation in the phase of the drive current.
[0006] The present invention addresses the above-mentioned problem as an example, and aims to provide a motor control device that can suppress fluctuations in the phase of the drive current when attempting to switch between feedback control and open-loop control. [Means for solving the problem]
[0007] In order to achieve the above object, the motor control device of the present invention includes a current control unit that controls current by either open-loop control, which controls the current supplied to the motor based on a current command value, or closed-loop control, which controls the current supplied to the motor based on the current command value and the rotational position of the rotor of the motor, and a rotational position correction unit that corrects a second phase difference, which is the difference between the rotational position in the closed-loop control and the rotational position in the open-loop control when the current control unit switches from the closed-loop control to the open-loop control, based on a first phase difference, which is the difference between the rotational position of the rotor when the current control unit controls the current by the closed-loop control and a target rotational position of the rotor.
[0008] According to the motor control device of the present invention, when switching between feedback control and open loop control, fluctuations in the phase of the drive current can be suppressed. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a functional block diagram illustrating a schematic configuration of a motor control device according to an embodiment of the present invention. [Figure 2] FIG. 2 is a diagram schematically illustrating a circuit configuration of a stepping motor. [Figure 3] 3 is a schematic diagram showing the relationship between the magnetic poles of a normal rotor and the magnetic poles of a coil in the stepping motor shown in FIG. 2. FIG. [Figure 4] 3 is a schematic diagram showing the relationship between the magnetic poles of the rotor and the magnetic poles of the coils when a fluctuation occurs in the phase of the drive current in the stepping motor shown in FIG. 2. FIG. [Figure 5]10 is a schematic diagram showing the relationship between a command value for the rotational position of the rotor and the actual rotational position when switching from closed-loop control to open-loop control by the motor control device of the reference example. FIG. [Figure 6] 2 is a schematic diagram showing the relationship between a command value for the rotational position of the rotor and the actual rotational position when the motor control device shown in FIG. 1 switches from closed-loop control to open-loop control. FIG. [Figure 7] 2 is a flowchart showing an example of a motor control method executed by the motor control device shown in FIG. DETAILED DESCRIPTION OF THE INVENTION
[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A motor control device and a motor control method according to embodiments of the present invention will be described below with reference to the drawings.
[0011] FIG. 1 is a functional block diagram showing a schematic configuration of a motor control device 1 according to an embodiment of the present invention.
[0012] 1, a motor control device 1 according to this embodiment includes a control unit 10 and a storage unit 30. The control unit 10 includes a current control unit 12 and a rotational position correction unit 13. The configuration and operation of the motor control device 1 will be described in detail below.
[0013] The motor control device 1 is a device that controls the operation of the stepping motor 2 by controlling the A-phase and B-phase currents supplied to the stepping motor 2.
[0014] FIG. 2 is a diagram schematically showing the circuit configuration of the stepping motor 2. As shown in FIG.
[0015] As shown in FIG. 2, the stepping motor 2 includes, for example, two coils 22a and 22b, a rotor 21, and a plurality of stator yokes (not shown).
[0016] Coils 22a and 22b are coils that excite the stator yokes. Coils 22a and 22b are each connected to control unit 10. Coil 22a is an A-phase coil. Coil 22b is a B-phase coil. Coil currents of different phases (A / B-phase currents) flow through coils 22a and 22b.
[0017] The rotor 21 includes a multi-pole magnetized permanent magnet with S-pole 21s and N-pole 21n alternately arranged along the circumferential direction. In FIG. 2, the rotor 21 is shown simply as having one S-pole 21s and one N-pole 21n. The stator yoke is disposed around the rotor 21 and close to the outer periphery of the rotor 21. The rotor 21 rotates by periodically switching the phases of A- and B-phase currents flowing through the coils 22a and 22b, respectively.
[0018] 1, the rotational position acquisition unit 11 is connected to the stepping motor 2 and the motor control device 1. The rotational position acquisition unit 11 acquires the rotational position of the rotor 21 (see FIG. 2) of the stepping motor 2. Specifically, the rotational position acquisition unit 11 is, for example, an encoder.
[0019] The encoder is attached to the output shaft of the stepping motor 2. The encoder may be, for example, an incremental rotary encoder that outputs two-phase pulse signals, A-phase and B-phase, to a rotational speed calculation unit 14 and a rotational speed calculation unit 15 of the motor control device 1 (described later) in response to the rotation of the output shaft of the stepping motor 2. The output phases of the encoder are not limited to two phases, and may be, for example, one phase or three phases. The encoder is not limited to an incremental rotary encoder. The encoder may be, for example, an absolute rotary encoder that identifies the rotation angle of the output shaft of the stepping motor 2 over multiple rotations and outputs the determined rotation angle to the rotational position calculation unit 14 and the rotational speed calculation unit 15.
[0020] 1, current control unit 12, rotational position correction unit 13, rotational position calculation unit 14, and rotational speed calculation unit 15 are realized by a computer, which is an example of a program processing device, including control unit 10, which is an example of a processor such as a CPU, and storage unit 30, which is realized by various storage devices such as RAM and ROM. The computer is an example of a program processing device, in which control unit 10, storage unit 30, and peripheral circuits such as a counter (timer), A / D conversion circuit, D / A conversion circuit, clock generation circuit, and input / output I / F circuit (not shown) are connected to each other via a bus or dedicated line. By causing control unit 10 to execute a computer program for executing a motor control method stored in storage unit 30, control unit 10 functions as current control unit 12, rotational position correction unit 13, rotational speed calculation unit 14, and rotational speed calculation unit 15.
[0021] The rotational position calculation unit 14 calculates the rotational position of the rotor 21 of the stepping motor 2 based on the A-phase and B-phase pulse signals output by the encoder. The rotational position calculation unit 14 outputs the calculated rotational position to the closed-loop control circuit 122. The rotational speed calculation unit 15 calculates the rotational speed of the rotor 21 of the stepping motor 2 based on the A-phase and B-phase pulse signals output by the encoder. The rotational speed calculation unit 15 outputs the calculated rotational speed to the closed-loop control circuit 122 and the control switching unit 123.
[0022] The current control unit 12 controls the current using either open-loop control, which controls the current supplied to the stepping motor 2 based on a current command value, or closed-loop control, which controls the current supplied to the stepping motor 2 based on a current command value and a rotational position. The current control unit 12 has a current detection unit 120, an open-loop control circuit 121, a closed-loop control circuit 122, a control switching unit 123, and a motor drive control circuit 124 as functional units that control the current supplied to the stepping motor 2.
[0023] The current detection unit 120 detects the A / B phase current output from the motor drive control circuit 124 and outputs it to the closed-loop control circuit 122 and the rotational position correction unit 13. Specifically, the current detection unit 120 receives the sensing result of the coil current output from a current sensor (not shown). The coil current is the current flowing through the coil of each phase of the stepping motor 2. The current sensor senses the coil current. The current sensor outputs the sensing result of the coil current to the current detection unit 120. The current sensor is, for example, a shunt resistor. The current detection unit 120 measures the A / B phase current based on the input sensing result. The current detection unit 120 outputs the measurement value of the A / B phase current to the closed-loop control circuit 122 and the rotational position correction unit 13. The current detection unit 120 is configured to include, for example, an A / D conversion circuit.
[0024] The open-loop control circuit 121 generates a current command value for the stepping motor 2 in response to a drive command for the stepping motor 2 input from an external device such as a higher-level device that uses the stepping motor 2. The drive command indicates, for example, a command position in the operation of the stepping motor 2. The current command value generated by the open-loop control circuit 121 is output to the motor drive control circuit 124. Note that, although the drive command is described as being input from an external device in this embodiment, it may also be configured to be generated within the control unit 10.
[0025] The closed-loop control circuit 122 generates a current command value through feedback control. Specifically, the closed-loop control circuit 122 generates the current command value based on the drive command, the rotational position of the rotor 21 calculated by the rotational position calculation unit 14, the rotational speed calculated by the rotational speed calculation unit 15, and the A / B phase current supplied to the stepping motor 2 acquired from the current detection unit 120. The closed-loop control circuit 122 calculates a difference between a command position indicated by the drive command and the rotational position of the rotor 21. The closed-loop control circuit 122 determines a target speed of the rotor 21 based on the calculated position difference. The closed-loop control circuit 122 calculates a difference between the target speed and the rotational speed of the rotor 21. The closed-loop control circuit 122 determines a target current value based on the calculated speed difference. The closed-loop control circuit 122 calculates a difference between the target current value and the A / B phase current. The closed-loop control circuit 122 generates a current command value based on the calculated current difference. The current command value generated by the closed-loop control circuit 122 is output to the motor drive control circuit 124.
[0026] The control switching unit 123 switches the control of the current of the stepping motor 2 between the open-loop control circuit 121 and the closed-loop control circuit 122, depending on the rotational speed of the rotor 21 calculated by the rotational speed calculation unit 15. The control switching unit 123 switches between the open-loop control circuit 121 and the closed-loop control circuit 122 based on whether the rotational speed of the rotor 21 has reached a predetermined condition, for example, a threshold value. By operating the control switching unit 123 in this manner, the motor control device 1 can prevent hunting from occurring when the rotor 21 of the stepping motor 2 is stopped.
[0027] The motor drive control circuit 124 converts the current command value generated by the open-loop control circuit 121 or the closed-loop control circuit 122 into a current signal in a two-phase (A-phase and B-phase) fixed coordinate system and outputs it.
[0028] Fig. 3 is a schematic diagram showing the relationship between the magnetic poles of the rotor 21 and the magnetic poles of the coils 22 and 23 in a normal state in the stepping motor 2. Fig. 4 is a schematic diagram showing the relationship between the magnetic poles of the rotor 21 and the magnetic poles of the coils 22a and 22b in the stepping motor 2 when a fluctuation occurs in the phase of the drive current. Fig. 4 shows an example in which the magnetic pole of the coil 22a adjacent to the S pole 21s of the rotor 21 is an S pole. The difference between the rotational position in closed-loop control, in which correction is performed by the rotational position correction unit 13, and the rotational position in open-loop control will be described using Figs. 3 and 4.
[0029] 3, in a typical stepping motor 2, the current control unit 12 of the motor control device 1 controls the current so that the phase of the current flowing through the A-phase coil 22a and the B-phase coil 22b is gradually switched. By controlling the current flowing through the A-phase coil 22a and the B-phase coil 22b in this manner, the rotor 21 of the stepping motor 2 rotates smoothly. The control of the current flowing through the A-phase coil 22a and the B-phase coil 22b in this manner is performed using either open-loop control or closed-loop control.
[0030] FIG. 5 is a schematic diagram showing the relationship between a command value for the rotor's rotational position and the actual rotational position when switching from closed-loop control to open-loop control by the motor control device of the reference example. In FIG. 5, waveform C1 shown by a solid line indicates the phase of the drive current that is closed-loop controlled by the motor control device of the reference example. Also, waveform O1 shown by a dashed line in FIG. 5 indicates the phase of the drive current that is open-loop controlled by the motor control device of the reference example. In the motor control device of the reference example, the phase of the open-loop controlled drive current is not feedback-controlled according to the rotational position of rotor 21. Therefore, in FIG. 5, the phase of the open-loop controlled drive current shown by waveform O1 is shifted by, for example, π (180°) from the phase of the closed-loop controlled drive current shown by waveform C1.
[0031] As described above, when there is a difference in phase between the drive current under open-loop control and the drive current under closed-loop control, the magnetic poles of the coils 22a and 22b in the stepping motor 2 suddenly change from those controlled by closed-loop control to those controlled by open-loop control. If the magnetic poles of the coils 22a and 22b suddenly change, and the magnetic poles of the rotor 21 and the coils 22a and 22b become the same polarity as shown in FIG. 4, for example, the magnetic poles of the rotor 21 (south pole 21s and north pole 21n) suddenly repel each other from the magnetic poles of the coils 22a and 22b. In such a case, vibrations may occur in the rotor 21 in the stepping motor 2. Furthermore, in such a case, the magnetic poles of the rotor 21 (south pole 21s and north pole 21n) may not be able to follow the change in the magnetic poles of the coils 22a and 22b, causing loss of synchronization.
[0032] In order to suppress the above-described fluctuations in the phase of the driving current in the stepping motor 2, the rotational position corrector 13 identifies a difference (first phase difference) between the actual rotational position of the rotor 21 under open-loop control and a target rotational position of the rotor 21. Based on the acquired first phase difference, the rotational position corrector 13 corrects a difference (second phase difference) between the rotational position under closed-loop control and the rotational position under open-loop control when the current controller 12 switches from closed-loop control to open-loop control. The first phase difference identified by the rotational position corrector 13 is stored in a phase difference memory 31 included in the memory 30.
[0033] Fig. 6 is a schematic diagram showing the relationship between the command value for the rotational position of rotor 21 and the actual rotational position when motor control device 1 switches from closed-loop control to open-loop control. In Fig. 6, waveform C2 shown by a solid line indicates the phase of the drive current controlled by closed-loop control in motor control device 1. Also in Fig. 6, waveform O2 shown by a dashed line indicates the phase of the drive current in open-loop control before correction by rotational position correction unit 13 in motor control device 1. The phase of waveform O2 is shifted by, for example, π (180°) from the phase of the drive current in closed-loop control shown by waveform C2, similar to waveform O1 shown in Fig. 5.
[0034] When the current control unit 12 switches from closed-loop control to closed-loop control, the rotational position correction unit 13 identifies the difference between the phase of the current in closed-loop control shown by waveform C2 in Figure 6 and the phase of the current in open-loop control shown by waveform O2 in Figure 6 as the second phase difference.
[0035] The rotational position corrector 13 corrects the identified second phase difference based on the previously acquired first phase difference. In Fig. 6, the phase difference between the phase of the drive current under open-loop control after correction, which is indicated by waveform O3, and the phase of the drive current under closed-loop control, which is indicated by waveform C2, is eliminated.
[0036] The first phase difference and the second phase difference can be determined, for example, from the phase (electrical angle) of the drive current of the stepping motor 2. Specifically, the first phase difference can be determined, for example, from the phase difference between the phase of the drive current based on a current command value generated by the open-loop control circuit 121 based on a drive command from an external device such as a higher-level device, and the phase of the drive current based on a current command value generated by the closed-loop control circuit 122. The first phase difference may be determined by converting the rotational position of the rotor 21 into the phase of the drive current of the stepping motor 2. The first phase difference and the second phase difference may also be determined, for example, based on the rotational position (mechanical angle) of the rotor 21 acquired from an encoder attached to the stepping motor 2.
[0037] 7 is a flowchart showing an example of a motor control method executed by the motor control device. Referring to FIG. 7, an example of a motor control method executed by the motor control device 1 described above will be described.
[0038] In response to a drive command from an external device such as a higher-level device, the motor control device 1 starts generating a drive current for the stepping motor 2 (step S101).
[0039] The motor control device 1 controls the drive current of the stepping motor 2 by the open-loop control circuit 121 in response to a drive command from an external device such as a higher-level device (step S102).
[0040] In the motor control device 1, the control switching unit 123 determines whether a condition for switching from open-loop control to closed-loop control is met (step S103). The condition for switching from open-loop control to closed-loop control is, for example, whether the rotational speed of the rotor 21 acquired from the rotational position acquisition unit 11 has reached a speed that exceeds a predetermined condition. If the rotational speed of the rotor 21 has not reached the predetermined condition (S103: NO), the control switching unit 123 repeats the process of S103.
[0041] When the rotational speed of the rotor 21 reaches a predetermined condition (S102: YES), the control switching unit 123 switches the circuit that controls the drive current of the stepping motor 2 from the open-loop control circuit 121 to the closed-loop control circuit 122, and executes the control process of the drive current (step S104).
[0042] The rotational position correction unit 13 identifies the difference (first phase difference) between the rotational position of the rotor 21 under open-loop control when switching from open-loop control to closed-loop control and the rotational position of the rotor 21 under closed-loop control (step S105).
[0043] In the motor control device 1, the control switching unit 123 determines whether a condition for switching from closed-loop control to open-loop control has been met (step S106). The condition for switching from closed-loop control to open-loop control is, for example, whether the rotational speed of the rotor 21 acquired from the rotational position acquisition unit 11 has reached a speed below a predetermined condition. If the rotational speed of the rotor 21 has not reached the predetermined condition (S106: NO), the control switching unit 123 repeats the process of S106.
[0044] When the rotational speed of the rotor 21 reaches a speed below a predetermined condition (S106: YES), the control switching unit 123 switches the circuit that controls the drive current of the stepping motor 2 from the closed-loop control circuit 122 to the open-loop control circuit 121, and executes the control process of the drive current (step S107).
[0045] The rotational position correction unit 13 corrects the difference (second phase difference) between the rotational position of the rotor 21 in closed-loop control when switching from closed-loop control to open-loop control and the rotational position of the rotor 21 in open-loop control based on the first phase difference (step S108).
[0046] The motor control device 1 determines whether there is an operation end command, such as the end of a drive command, from an external device such as a higher-level device (step S109), and ends the process if there is an operation end command (S109: YES).On the other hand, if there is no operation end command (S109: NO), the motor control device 1 repeats the process of correcting the second phase difference based on the first phase difference shown in S108.
[0047] The motor control device 1 configured as described above includes a current control unit 12 that controls current using either open-loop control or closed-loop control. The motor control device 1 also includes a rotational position correction unit 13 that corrects the difference between the rotational position under closed-loop control and the rotational position under open-loop control when the current control unit switches from closed-loop control to open-loop control. By including the rotational position correction unit 13, the motor control device 1 can suppress changes in the magnetic poles of the coils 22 and 23 controlled by closed-loop control and those controlled by open-loop control, even when there is a difference in phase between the drive current under open-loop control and the drive current under closed-loop control. Therefore, the motor control device 1 can suppress vibrations from the rotor 21 of the stepping motor 2. The motor control device 1 can also suppress loss of synchronization, which occurs when the magnetic poles of the rotor 21 of the stepping motor 2 cannot follow the changes in the magnetic poles of the coils 22 and 23.
[0048] Therefore, according to the motor control device 1 having the rotational position correction unit 13, it is possible to suppress fluctuations in the phase of the drive current when switching between feedback control and open loop control.
[0049] In addition, those skilled in the art can appropriately modify the present invention in accordance with conventionally known knowledge. As long as such modifications still comprise the structure of the present invention, they are of course included in the scope of the present invention. [Explanation of symbols]
[0050] 1...motor control device, 2...stepping motor, 10...control unit, 11...rotational position acquisition unit, 12...current control unit, 13...rotational position correction unit, 14...rotational position calculation unit, 15...rotational speed calculation unit, 21...rotor, 21s...south pole, 21n...north pole, 22a, 22b...coil, 30...storage unit, 31...phase difference storage unit, 121...open loop control circuit, 122...closed loop control circuit, 123...control switching unit, 124...motor drive control circuit
Claims
1. a current control unit that controls a current by either open-loop control that controls a current supplied to the motor based on a current command value, or closed-loop control that controls a current supplied to the motor based on the current command value and a rotational position of a rotor of the motor; a rotational position correction unit that corrects a second phase difference, which is a difference between the rotational position in the closed-loop control and the rotational position in the open-loop control when the current control unit switches from the closed-loop control to the open-loop control, based on a first phase difference, which is a difference between the rotational position of the rotor in a state in which the current control unit controls the current by the open-loop control and a target rotational position of the rotor; A stepping motor control device comprising:
2. a phase difference storage unit that stores the first phase difference; 2. The stepping motor control device according to claim 1.
3. obtaining a rotational position of a rotor of the motor; controlling a current by either open-loop control that controls a current supplied to the motor based on a current command value or closed-loop control that controls a current supplied to the motor based on the current command value and a rotational position; correcting a second phase difference, which is a difference between a rotational position in the closed-loop control and a rotational position in the open-loop control when switching from the closed-loop control to the open-loop control, based on a first phase difference, which is a difference between a rotational position of the rotor in a state in which current is controlled by the open-loop control and a target rotational position of the rotor; The computer executes the stepper motor control method.
Citation Information
Patent Citations
Inverter control circuit for synchronous motor, and synchronous motor controller equipped with the same
JP2010158115A
Control device, optical instrument, control method, and program
JP2018191461A
Sensorless vector control device and sensorless vector control method
JP2019208329A
Motor driving device, motor driving method, and program
JP2020036515A
Electric motor driving device, and compressor driving device
WO2008026270A1