Stepper motor control device
Through the micro-stepping drive control device, combined with closed-loop and open-loop control modes, control data is generated for acceleration and deceleration operation, which solves the problems of low torque utilization efficiency and poor robustness to external interference in the existing technology, and realizes high-speed and precise positioning of tiny chip components.
Patent Information
- Application Number
- CN202180026947.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-30
- Filing Date
- 2021-03-02
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2041-03-02
AI Technical Summary
When it comes to high-speed and accurate movement and positioning of tiny chip components, existing technologies suffer from low torque utilization efficiency, heavy reliance on high-precision rotor position detectors, and poor robustness to external interference, making it difficult to achieve movement and positioning in the shortest possible time.
A micro-stepping drive control device is used, combining closed-loop and open-loop control modes. The control data is generated through the detection value of the rotor position detector to perform acceleration and deceleration operations. The maximum torque is utilized and the influence of external interference is suppressed to achieve stable positioning of the rotor position.
It achieves high-speed movement and positioning with efficient use of torque, reduces dependence on high-precision rotor position detectors, improves system robustness and positioning accuracy, and reduces system cost and space occupancy.
Smart Images

Figure CN115398793B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a device for controlling a stepping motor. Background Art
[0002] The stepper motor is configured to rotate a certain angle each time the excitation phase is switched. A stepper motor is an electric motor that can accurately control the rotation angle and speed, and is particularly used as a drive source for devices that require accurate movement and positioning. As driving methods for stepper motors, full-step drive and micro-step drive are known. Full-step drive is a driving method that switches the excitation phase in response to an input pulse and rotates the rotor at a prescribed basic step angle through the internal structure of the stepper motor. Micro-step drive does not completely switch the excitation phase, but rather finely divides the distribution of the winding current, thereby achieving a driving method that causes the rotor to rotate at a small angle (micro-step) smaller than the basic step angle.
[0003] An example of the use of a stepper motor is an inspection device for chip components and a belt transmission device. In these devices, a stepper motor is used as a driving source for a conveyor belt that holds a plurality of chip components at a certain interval. For example, chip components of about 0.4mm×0.2mm in size are carried on the conveyor belt at a spacing of about several mm. In such applications, the stepper motor repeatedly operates at a tiny angle of several degrees in a very short time of a few milliseconds. In this case, how to move and position the tiny chip components at high speed and accurately is directly related to the capabilities of the device. Therefore, the target position is reached in the shortest time by maximizing the acceleration and deceleration of the torque of the stepper motor, and the positioning is required to minimize the vibration after the target position is reached.
[0004] Patent Document 1 below discloses a control device for microstepping a stepping motor. This control device employs a control method that allows the stepping motor to rotate at maximum torque without losing alignment, even if it cannot follow instructions. This control method suppresses the expansion of speed deviations and enables stable positioning operation with minimal vibration. However, the control method in Patent Document 1 is not intended to repeatedly perform positioning operations by moving a small angle of a few degrees within a short period of time, measured in milliseconds, or to suppress vibration after reaching the target position.
[0005] Patent Document 2 below discloses a stepping motor drive device that uses full-step drive to achieve movement and positioning with four pulses for one electrical angle cycle (four steps). Specifically, the timing of switching the excitation of each phase, or the time interval, is determined based on a mathematical model of the stepping motor, enabling drive to reach the target position quickly and without generating vibration.
[0006] Patent Document 3 below discloses a drive method that limits the movement amount of a full-step drive to half the electrical angle period, or two pulses (two steps). Furthermore, the current is increased during operation and reduced during standstill, combining the so-called current ramp-up and current ramp-down functions. This approach aims to shorten movement time.
[0007] Patent Document 4, listed below, utilizes closed-loop control of a microstepping drive to utilize the motor's maximum torque during acceleration and deceleration, thereby achieving the shortest possible movement and positioning. Specifically, closed-loop control employs feedback from the detection value of a rotor sensor that detects rotor position, enabling acceleration and deceleration at maximum torque. Acceleration and deceleration times are adjusted to achieve zero speed at the target stop position. Then, at the end of the deceleration period and when the speed reaches zero, a position command for the target position is provided to maintain the rotor position.
[0008] Prior art literature
[0009] Patent Literature
[0010] Patent Document 1: Japanese Patent No. 4195897
[0011] Patent Document 2: Japanese Patent Application Laid-Open No. 2012-175730
[0012] Patent Document 3: Japanese Patent Application Laid-Open No. 2018-196206
[0013] Patent Document 4: Japanese Patent No. 4250051 Summary of the Invention
[0014] Technical problem to be solved by the invention
[0015] The method of Patent Document 2, as shown in FIG4 of the document, requires the identification of multiple parameters in stages while performing measurements. To identify multiple parameters simultaneously, it is necessary to compare numerical simulations with actual responses while exploratoryly determining parameters that match the actual responses. Then, through the process of identifying multiple parameters, numerical calculations are used to simulate the motor's response. However, it is impossible to completely model the physical phenomenon. Therefore, the simulation model and the actual response are not completely consistent, and it is ultimately impossible to determine the optimal excitation switching timing from the simulation model.
[0016] Therefore, it is ultimately necessary to repeatedly adjust multiple excitation switching timings, that is, multiple time intervals, and search for a combination of time intervals that minimizes vibration. Furthermore, since there is no guarantee that the result will be optimal, various initial values must be tried. The amount of work required is roughly the same as adjusting the time intervals while measuring the motor's response without using a simulation model.
[0017] In addition, the full-step drive adopted in Patent Document 2 has a poor utilization efficiency of the motor torque and is not suitable for applications that require the shortest possible time for movement and positioning. In order to move in the shortest possible time, acceleration and deceleration at the maximum torque that the motor can generate are required. However, the torque generated during rotation during full-step drive will produce fluctuations represented by the sine function of the rotor rotation angle, and therefore, operation at maximum torque cannot be maintained. In addition, full-step drive also has the problem of complex motion models and difficult adjustment.
[0018] Therefore, the method of Patent Document 2 cannot achieve the fastest movement and positioning, and also has the problem of being difficult to adjust and requiring a lot of time and effort.
[0019] In Patent Document 3, as shown in FIG9 of the same document, the torque fluctuates during the acceleration and deceleration periods, utilizing only a little more than half of the available torque (the scale on the horizontal axis of the figure is incorrect; the displacement width of the waveform corresponding to torque F is equivalent to two steps of a motor with a basic step angle of 1.8 degrees, so it is 3.6 degrees instead of 1.8 degrees). Furthermore, as in Patent Document 2, it is essentially a full-step drive, making it impossible to achieve movement and positioning in the shortest possible time. Furthermore, since it is a full-step drive, there is also the problem of limited freedom of movement. Furthermore, in the method of Patent Document 3, the generation of acceleration and deceleration torques is carried out under a constant current state without current switching, and the magnitude and direction of the generated torque vary according to the change in the displacement angle of the motor. However, this method cannot adjust acceleration and deceleration separately, but is based on an isosceles triangle drive with equal slopes for acceleration and deceleration. Furthermore, when there is a friction load, etc., deceleration occurs prematurely, so there is a possibility that the target position cannot be reached and adjustment cannot be made.
[0020] Patent Document 3, regarding the prior art mentioned therein, states that it is difficult to adjust the pulse input timing. However, the method of Patent Document 3 also requires timing adjustment. The movement amount of the method of Patent Document 3 is two pulses of the basic step angle, which is less than the four pulses of Patent Document 2. Therefore, it can be considered that the timing adjustment is simplified. However, Patent Document 3 does not describe a specific method for suppressing vibration at the target position. To suppress vibration, at least the current switching timing of the second pulse must be adjusted.
[0021] The methods of Patent Documents 2 and 3 for adjusting the pulse interval may be applicable to adjusting the amount of multiple pulses used in full-step driving, but are very difficult to apply to micro-step driving that drives a stepping motor with countless pulses, and it is difficult to generate an appropriate current waveform.
[0022] The method of Patent Document 4 can achieve the fastest movement and positioning with very simple adjustments, but has two major problems as described below.
[0023] First, detecting the rotor position requires a very high-precision detector. For example, in applications such as inspection equipment for chip components with a chip size of less than 1 mm, very high positioning accuracy is required for stepper motors. The stopping accuracy of commercially available hybrid stepper motors assembled with high precision is less than ±1 minute (= 1 / 21600 revolutions). The motor positioning accuracy required for chip component inspection equipment is also of the same level. Correspondingly, the rotor position detector used in stepper motor control also requires resolution and accuracy of the same or higher level. If the accuracy of the rotor position detector is poor, the torque during closed-loop operation will fluctuate, resulting in response deviations, which will cause vibration at the stop position. However, rotor position detectors with high resolution and accuracy are relatively expensive and tend to become larger. In addition, in order to maintain high-precision detection, special attention must be paid to the assembly of the rotor position detector, which leads to increased system costs. In addition, a larger position detector takes up a larger space. This leads to an increase in load inertia, which also causes an increase in positioning time.
[0024] Second, there is the problem of stability against external interference. The method of precisely adjusting the acceleration and deceleration times at the maximum torque and accurately returning the speed at the target position to zero does not have a means to suppress changes caused by external interference. In other words, even if the position of the rotating rotor lags behind or advances due to external interference factors, the torque remains constant. For example, the friction and viscous load of the mechanism also change during the use of the device. In addition, strictly speaking, the motor torque will undergo slight changes due to the ambient temperature. Slight load changes and torque changes become the cause of misadjustment and the cause of vibration when stopped.
[0025] Therefore, although the method of Patent Document 4 can achieve the fastest movement and positioning, it has the following problems: it requires a high-precision rotor position detector and is a system that is fragile to external disturbances.
[0026] One embodiment of the present invention provides a control device for a stepping motor that does not require a high-precision rotor position detector, is relatively simple to adjust, and can effectively utilize generated torque to move the rotor.
[0027] Furthermore, an embodiment of the present invention provides a control device for a stepping motor that has good robustness against external disturbances, is easy to adjust, and can effectively utilize generated torque to move a rotor.
[0028] Technical means for solving technical problems
[0029] One embodiment of the present invention provides a stepping motor control device that utilizes microstepping drive to control a stepping motor equipped with a rotor position detector. The control device has multiple operating modes, including an adjustment mode and a usage mode. In the adjustment mode, the control device generates control data for closed-loop control of the winding current of the stepping motor based on the detection value of the rotor position detector, and accelerates or decelerates the stepping motor according to the control data. In the usage mode, the control device utilizes open-loop control of the winding current of the stepping motor based on the control data generated in the adjustment mode to reproduce the winding current in the adjustment mode and accelerate or decelerate the stepping motor.
[0030] According to this structure, the control device controls the stepping motor with micro-stepping drive, thereby enabling acceleration and deceleration operations that substantially always use maximum torque (maximum torque or torque close to maximum torque). This makes it possible to realize a control device with high torque utilization efficiency.
[0031] The control device can operate the stepper motor using microstepping drive in both adjustment mode and usage mode. In adjustment mode, the stepper motor's winding current is controlled through closed-loop control using the detection value of the rotor position detector. Control data for acceleration and deceleration based on the microstepping drive is generated, and acceleration and deceleration are performed according to this control data. In usage mode, acceleration and deceleration are performed using open-loop microstepping drive based on the control data generated in adjustment mode. This allows the winding current used in adjustment mode to be reproduced, enabling acceleration and deceleration that are virtually identical to those in adjustment mode.
[0032] In the adjustment mode, by adjusting the parameters during operation, appropriate acceleration and deceleration can be achieved. If the control data generated when the appropriate acceleration and deceleration are achieved is saved and used in the use mode, appropriate acceleration and deceleration can be achieved.
[0033] In the use mode, open-loop control is used, so there is no need to use the detection value of the rotor position detector, and the stepping motor can be controlled without affecting the detection accuracy of the rotor position detector. In the closed-loop control performed in the adjustment mode, the detection value of the rotor position detector is used, so torque fluctuations may occur due to its detection accuracy, which may cause deviations in the response of the stepping motor. As a result, for example, vibration may occur at the stop position. However, the control data generated when such an action is performed can be discarded and not used in the use mode. That is, in the adjustment mode, if the control data when the appropriate response of the stepping motor is obtained is saved and used in the use mode, the appropriate response can be reproduced in the use mode. Therefore, the rotor position detector only needs to have detection accuracy and stability (detection reproducibility) that can achieve at least one appropriate response in multiple trial runs in the adjustment mode.
[0034] In Patent Document 4, a closed-loop control region is used during actual operation, requiring a very high-precision detector for rotor position detection. This presents the first problem described above. This embodiment provides a solution to the first problem in Patent Document 4.
[0035] In the closed-loop control in the adjustment mode, the control data is generated so that the phase θi of the winding current of the stepping motor becomes the phase θi = θfb±K+F(ωfb) obtained by adding a specified value ±K (wherein K is a constant having a positive sign in one of the acceleration operation and the deceleration operation and a negative sign in the other of the acceleration operation and the deceleration operation) to the detection value θfb of the rotor position detector and a function F(ωfb) of the rotor speed ωfb.
[0036] By adding a predetermined value ±K to the detected rotor position value θfb, the winding current phase is offset by the predetermined value K from the rotor phase, generating torque corresponding to this phase offset. Furthermore, by using the winding current phase after adding the function F(ωfb) of the rotor speed ωfb, speed-compensated control data can be generated. This generates speed-compensated control data that generates torque corresponding to the predetermined value ±K, facilitating an appropriate response in adjustment mode and reproducing this appropriate response in operation mode.
[0037] In the equation representing the phase θi of the motor winding current (θi = θfb ± K + F(ωfb)), the sign of the second term is positive when torque is applied to the rotor in one direction (e.g., forward rotation), and negative when torque is applied to the rotor in the other direction (e.g., reverse rotation). Specifically, when the rotor is rotated in the forward direction, control data is generated during acceleration so that the winding current phase θi = θfb + K + F(ωfb), and during deceleration so that the winding current phase θi = θfb - K + F(ωfb). Conversely, when the rotor is rotated in the reverse direction, control data is generated during acceleration so that the winding current phase θi = θfb - K + F(ωfb), and during deceleration so that the winding current phase θi = θfb + K + F(ωfb). Thus, by reversing the sign of the specified value ±K, the direction of the generated torque is reversed.
[0038] In addition, if the rotor speed is low, the function F(ωfb) for speed compensation can be omitted, and θi=θfb±K can be set.
[0039] In one embodiment of the present invention, the absolute value of the predetermined value ±K corresponds to a value smaller than 90 degrees in electrical angle.
[0040] By setting the absolute value of the specified value ±K to a value equivalent to 90 degrees in electrical angle, acceleration and deceleration at maximum torque can be performed. However, in adjustment mode, if the absolute value of the specified value ±K is set to a value equivalent to 90 degrees in electrical angle, then in use mode, even if the position of the rotating rotor lags behind or advances due to external interference, such changes cannot be suppressed. Therefore, the lag or advance of the rotor position may expand and cause imbalance. As an example of an external interference cause, there are changes in the friction and viscous load of the mechanism, which change during the use of the device. In addition, the torque of the stepping motor changes slightly due to the ambient temperature, so this may also become a cause of external interference.
[0041] The specified values ±K correspond to the so-called motor load angle. If the absolute value of the specified values ±K is set to a value equivalent to less than 90 degrees in electrical angle, strictly speaking, maximum torque cannot be generated. However, if the rotor position lags or advances during rotation, the motor load angle changes accordingly, causing torque fluctuations. This torque fluctuation acts to suppress the lag or advance of the rotor position. Therefore, a means for suppressing fluctuations caused by external disturbances can be provided, thereby improving robustness against external disturbances. This provides a solution to the second problem described in Patent Document 4.
[0042] In one embodiment of the present invention, the absolute value of the predetermined value ±K corresponds to a value of 60 degrees or more (preferably 70 degrees or more, more preferably 80 degrees or more) in electrical angle.
[0043] According to this configuration, acceleration operation and deceleration operation can be performed with a torque close to the maximum torque, and a control system that is robust against external disturbances can be realized.
[0044] In one embodiment of the present invention, in the adjustment mode, the rotor is moved toward a target position using the acceleration operation and the deceleration operation, and the duration of the acceleration period of the acceleration operation and the deceleration period of the deceleration operation are adjusted so that the rotor speed at the target position is zero. Then, based on the control data in the state in which this adjustment is completed, the acceleration operation and the deceleration operation in the use mode are executed.
[0045] According to this configuration, the movement of the rotor to the target position can be optimized by adjusting the time widths of the acceleration and deceleration periods. Adjustment of the time widths of the acceleration and deceleration periods can be performed relatively easily because the number of parameters to be adjusted is small.
[0046] If a constant deceleration torque is generated during deceleration operation, and the rotor speed decreases at a constant deceleration rate accordingly, then if the duration of the acceleration period is fixed, the duration of the deceleration period is also uniquely fixed accordingly. Therefore, the only parameter to be adjusted is the duration of the acceleration period, making adjustment easier. Of course, the durations of the acceleration and deceleration periods can also be adjusted independently.
[0047] In one embodiment of the present invention, the control device further includes an automatic adjustment unit, which, in the adjustment mode, utilizes the acceleration operation and the deceleration operation to move the rotor toward the target position, and automatically adjusts the time amplitude of the acceleration period of the acceleration operation and the deceleration period of the deceleration operation so that the rotor speed at the target position is zero.
[0048] According to this structure, the time width of the acceleration period and the deceleration period can be automatically adjusted to optimize the adjustment. As described above, the number of parameters to be adjusted is small, so the algorithm for automatic adjustment is not complicated, so the automation of adjustment is relatively easy.
[0049] In one embodiment of the present invention, the control data generated in the adjustment mode includes control data for position-holding control, which controls the winding current of the stepping motor so that the target position becomes an excitation stabilization point after the deceleration operation. In the adjustment mode, the control device performs position-holding operation to maintain the rotor position at the target position according to the control data. Furthermore, in the use mode, after the deceleration operation, the control device reproduces the winding current of the stepping motor based on the control data for the position-holding control in the adjustment mode, thereby performing position-holding operation to maintain the rotor position at the target position.
[0050] This configuration allows position-holding operation at the target position. By appropriately adjusting the duration of the acceleration and deceleration periods, the rotor reaches the target position and reaches zero speed at the end of the deceleration period. By switching to position-holding operation at this timing, the rotor can be held at the target position without vibration, achieving the fastest possible positioning.
[0051] In one embodiment of the present invention, the control data represents at least one of a rotor position, a position command, a current command, and a voltage command.
[0052] Specifically, the control data representing the rotor position may be, for example, data representing the detection value of a rotor position detector obtained in the adjustment mode (rotor position data). Specifically, the control data representing the position command may be, for example, data commanding the excitation position (position command data). Specifically, the control data representing the current command may be data representing the command value of the winding current of the stepping motor. Specifically, the control data representing the voltage command may be data representing the command value of the voltage applied to the winding of the stepping motor. By using one or more of the above data, the winding current in the adjustment mode can be reproduced in the use mode.
[0053] In one embodiment of the present invention, the open-loop control in the use mode includes winding current control of the stepping motor performed without using a detection value of the rotor position detector.
[0054] With this configuration, the rotor position detector's detection value is not used during open-loop control in the use mode. Therefore, acceleration and deceleration in the use mode are not affected by the rotor position detector's detection accuracy. Consequently, a high-precision rotor position detector is not required, enabling stable operation.
[0055] The above and further other objects, features and effects of the present invention will become more apparent from the following description of the embodiments with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] Figure 1A and 1B The ideal motion for moving to the target position in the shortest time and performing positioning is shown.
[0057] Figure 2 This is a diagram for explaining torque fluctuations in full-step driving.
[0058] Figure 3A This figure explains an example of the fastest movement and positioning operation using full-step drive.
[0059] Figure 3B It is a diagram showing an example of operation when adjustment is improper.
[0060] Figure 4A 、 Figure 4B and Figure 4C An operating mode for the fastest movement and positioning operation based on acceleration and deceleration using maximum torque is shown.
[0061] Figure 5 This is a block diagram for explaining a configuration example of a control device for a stepping motor according to an embodiment of the present invention.
[0062] Figure 6 This is a control block diagram for explaining an example of the processing content performed by the calculation unit included in the control device.
[0063] Figure 7 It is a diagram for explaining the control area of the computing unit.
[0064] Figure 8 The angle-torque characteristics in closed-loop control and open-loop control are shown.
[0065] Figures 9A to 9D This is a diagram for explaining an example of operation in the adjustment mode.
[0066] Figures 10A to 10D This is a diagram for explaining an example of operation in the adjustment mode.
[0067] Figures 11A to 11D This is a diagram for explaining an example of operation in the adjustment mode.
[0068] Figure 12 This is a diagram for explaining an example of automatic adjustment processing.
[0069] Figure 13 This is a flowchart for explaining an example of the automatic adjustment operation performed in the automatic adjustment mode of the control device.
[0070] Figure 14A 、 Figure 14B and Figure 14CAn example of positioning action in the use mode is shown. DETAILED DESCRIPTION
[0071] Figure 1A and 1B The ideal motion for moving to the target position in the shortest time and performing positioning is shown. Figure 1A Indicates the ideal time variation of the motor speed (rotor rotation speed). Figure 1B Indicates the ideal time variation of motor torque. When a movement command to the target position is input, the motor accelerates at maximum acceleration by generating maximum torque in the direction of movement (maximum acceleration torque). Subsequently, the direction of the torque is reversed to generate maximum torque in the direction opposite to the movement (maximum deceleration torque), resulting in maximum deceleration. The acceleration and deceleration periods are adjusted so that the motor position (rotor position) reaches the target position and the speed is zero at the end of the deceleration period. When the deceleration period ends, the target position is excited to maintain the rotor at the target position.
[0072] If the maximum acceleration torque is always generated during the acceleration period, and the maximum deceleration torque is always generated during the deceleration period, the fastest movement and positioning can be achieved by properly determining the acceleration period and deceleration period. If the torque is constant, it becomes a constant acceleration motion, so the time change of the rotor speed becomes Figure 1A The triangle shown. Therefore, if the time width of the acceleration period is determined, the time width of the deceleration period is automatically determined. Therefore, finding the time width of the acceleration period, that is, the appropriate value of the switching timing from the maximum acceleration torque to the maximum deceleration torque, becomes the actual adjustment purpose. Due to the influence of the friction load, the acceleration during the acceleration period is smaller than the deceleration during the deceleration period. Therefore, the acceleration period is usually longer than the deceleration period, and the time variation of the rotor speed does not form an isosceles triangle. However, even under the influence of the friction load, the rotor speed will change during the acceleration period and the deceleration period due to constant acceleration and constant deceleration, respectively. Therefore, the actual adjustment purpose is also to find the time width of the acceleration period, that is, the appropriate value of the switching timing from the maximum acceleration torque to the maximum deceleration torque.
[0073] As described below, in full-step driving, the torque fluctuates between the acceleration period and the deceleration period. Therefore, it is impossible to maintain the maximum acceleration torque during the acceleration period and the maximum deceleration torque during the deceleration period.
[0074] For example, a hybrid stepping motor includes: a rotor having a plurality of small teeth (rotor teeth) arranged at equal intervals on the circumference at a certain small tooth pitch; and a stator arranged opposite the rotor. More specifically, the rotor has two rotor segments that are offset by half the small tooth pitch around the rotating axis, and these two rotor segments are fixed to the rotating axis. One rotor segment is magnetized to the south pole, and the other rotor segment is magnetized to the north pole. On the circumference of each rotor segment, a plurality of (for example, 100) small teeth are arranged at equal intervals at a constant small tooth pitch. The stator has a plurality of main poles, each of which has a plurality of small teeth (stator teeth) arranged at the same small tooth pitch as the rotor.
[0075] A two-phase stepper motor has an A phase, a B phase offset by 90 degrees from A, a / A phase offset by 180 degrees from A, and a / B phase offset by 180 degrees from B. The stator has multiple main poles, each of which is supplied with windings carrying currents for the A, B, / A, and / B phases. Each main pole is equipped with stator teeth that face the rotor. When the stator teeth on the A-phase main motor face the rotor teeth, the stator teeth on the B-phase main motor are offset by one-quarter of a pitch (90 degrees electrical angle) relative to the rotor teeth. The stator teeth on the / A phase main motor are offset by two-quarters of a pitch (180 degrees electrical angle) relative to the rotor teeth. The stator teeth on the / B phase main motor are offset by three-quarters of a pitch (270 degrees electrical angle) relative to the rotor teeth.
[0076] Full-step drive based on a two-phase excitation method switches between the following four states. The first state is when phase A is excited to the north pole, phase B is excited to the north pole, phase / A is excited to the south pole, and phase / B is excited to the south pole (AB phase excitation). The second state is when phase A is excited to the south pole, phase B is excited to the north pole, phase / A is excited to the north pole, and phase / B is excited to the south pole (B / A phase excitation). The third state is when phase A is excited to the south pole, phase B is excited to the south pole, phase / A is excited to the north pole, and phase / B is excited to the north pole ( / A / B phase excitation). The fourth state is when phase A is excited to the north pole, phase B is excited to the south pole, phase / A is excited to the south pole, and phase / B is excited to the north pole ( / BA phase excitation).
[0077] In the first state of AB phase excitation, the main poles of phases A and B are north poles, and the main poles of phases / A and / B are south poles. Therefore, the state where the rotor teeth of the south-pole rotor segment are located midway between the stator teeth of phases A and B (midway in electrical angle), and the rotor teeth of the north-pole rotor segment are located midway between the stator teeth of phases / A and / B (midway in electrical angle), represents the excitation stability point. Switching from this state to the second state of B / A phase excitation, the main poles of phases B and / A become north poles, and the main poles of phases / B and A become south poles. As a result, the stator teeth of phases B and / A attract the rotor teeth of the south-pole rotor segment, while the stator teeth of phases / B and A attract the rotor teeth of the north-pole rotor segment, generating torque accordingly. The torque is maximum when the excitation stabilization point is offset from the rotor teeth by a quarter pitch (90 degrees electrical angle) relative to the stator teeth of the B-phase and / A-phase, and this is when the maximum torque is generated. As the rotor rotates, the torque decreases as the rotor teeth approach the excitation stabilization point, that is, as the offset of the electrical angle decreases. When the rotor rotates a quarter pitch (90 degrees electrical angle), the teeth of the S-pole rotor segment reach the middle position (middle position electrical angle) between the stator teeth of the B-phase and / A-phase, and one step of movement (rotation) is completed. Similarly, by switching the excitation phase to AB phase, B / A phase, / A / B phase, and / BA phase in sequence, the rotor can be moved one step at a time and its position can be maintained.
[0078] A quarter pitch (one-quarter of the pitch of the small teeth) corresponds to the basic step angle of the stepping motor. In full-step drive, the rotor can be rotated at intervals of the basic step angle and the rotor position can be maintained. The stepping motor driver for full-step drive switches the excitation phase to AB phase, B / A phase, / A / B phase, and / BA phase in sequence for each input pulse, thereby rotating the stepping motor rotor in the forward direction (CW: clockwise). By reversing the excitation phase sequence, the rotor can be rotated in the reverse direction (CCW: counterclockwise).
[0079] In other words, by selecting the excitation phase corresponding to the rotor position in the forward rotation phase sequence (in the order of AB phase, B / A phase, / A / B phase, and / BA phase), an acceleration torque that accelerates the rotor in the forward direction can be generated. Furthermore, by selecting the excitation phase corresponding to the rotor position in the reverse rotation phase sequence (in the order of / BA phase, / A / B phase, B / A phase, and AB phase), an acceleration torque that accelerates the rotor in the reverse rotation direction can be generated.
[0080] Figure 2 This is a diagram for explaining torque fluctuations in full-step driving. Figure 2The figure shows the relationship between the rotor position (electrical angle) and the generated torque under various excitation conditions, namely the θ-T characteristic. An electrical angle of 0 degrees corresponds to a state where the S-pole rotor tooth is located midway between the A-phase and B-phase stator teeth (midway in electrical angle). It can be seen that no torque is generated during AB phase excitation, while maximum acceleration torque (maximum torque in the forward direction) is generated during B / A phase excitation. No torque is generated during / A / B phase excitation, while maximum deceleration torque (maximum torque in the reverse direction) is generated during / BA phase excitation. Focusing on the θ-T characteristic for B / A phase excitation, it can be seen that maximum acceleration torque is generated when the rotor position is at an electrical angle of 0 degrees. However, as the rotor position changes and increases from an electrical angle of 0 degrees, the torque also decreases, and the torque direction reverses at an electrical angle of 90 degrees.
[0081] Figure 3A This is a diagram for explaining an example of the fastest movement and positioning based on full step drive. Figure 3B It is a diagram showing an example of operation when adjustment is improper. Figure 3A and Figure 3B In FIG, curve L1 shows the time variation of the command value of the motor position (command position), curve L2 shows the time variation of the motor position (actual position), curve L3 shows the time variation of the deviation between the command position and the actual position, and curve L4 shows the time variation of the motor speed. Figure 3B In FIG, the position deviation (curve L3) is omitted from the illustration.
[0082] Patent Document 2 discloses a technique for performing movement and positioning by four steps (ie, by a small tooth pitch) using full-step drive. Figure 3A and Figure 3B , shows an example in which four-step movement and positioning as in Patent Document 2 are performed by position control performed using a command position as input.
[0083] In the initial state before movement, the rotor position is maintained using AB phase excitation, and this state is defined as an electrical angle of 0 degrees. The command position in the first step is an electrical angle of 90 degrees, the command position in the second step is an electrical angle of 180 degrees, the command position in the third step is an electrical angle of 270 degrees, and the command position in the fourth step is an electrical angle of 360 degrees (= 0 degrees). Therefore, in the case of a two-phase excitation method, B / A phase excitation is executed in the first step, / A / B phase excitation is executed in the second step, / BA phase excitation is executed in the third step, and AB phase excitation is executed in the fourth step.
[0084] Then, by appropriately adjusting the time widths T1, T2, and T3 of steps 1, 2, and 3, respectively, Figure 3A As shown, the target position (electrical angle 360 degrees) can be reached with zero speed at the end of the 3rd step ( / BA phase excitation), and the target position can be maintained through the 4th step (AB phase excitation).
[0085] If the adjustment is not good, Figure 3B As shown in the figure, the rotor has not reached the target position at the end of step 3, but is excited at the target position in step 4 (AB phase excitation), causing the rotor to accelerate and generate rotor position vibration. This results in positioning failure.
[0086] During the period from Steps 1 to 4, the command position (curve L1) does not change, so the position error (curve L3) fluctuates as the rotor position (curve L2) changes. There is a correlation between the position error and the generated torque.
[0087] exist Figure 2 The curve L5 of FIG shows the result of the torque generated according to the rotor position based on the position deviation investigation in steps 1 to 4. However, the curve L5 corresponds to the ideal case where the target position is reached at the end of step 3 and the speed is zero (see FIG. Figure 3A ).
[0088] At the beginning of the first step (B / A phase excitation) (near electrical angle 0), a large position deviation pe0 is generated, generating maximum acceleration torque. Subsequently, as the rotor rotates, the position deviation decreases, and the torque also decreases, reaching approximately zero at the end of the first step (near electrical angle 90 degrees). At the beginning of the second step ( / A / B phase excitation) (near electrical angle 90 degrees), a large position deviation pe1 is generated again, generating a large acceleration torque. The torque then decreases as the rotor rotates, transitioning to a deceleration torque when it exceeds electrical angle 180 degrees. As the absolute value of the position deviation increases, the deceleration torque increases. At the end of the second step (near electrical angle 225 degrees), a large negative position deviation pe1' is generated, generating a relatively large deceleration torque. At the beginning of the third step ( / BA phase excitation) (near electrical angle 225 degrees), a positive position deviation pe2 is generated, transitioning to an acceleration torque again. The torque then decreases as the rotor rotates, transitioning to a deceleration torque at around electrical angle 270 degrees. The deceleration torque increases toward the end of step 3 (near 360 degrees electrical angle), generating a large negative position deviation pe2', indicating that the rotor's rotation is being decelerated (braked). Then, in step 4 (AB phase excitation), the generated torque reaches zero, and the position is maintained.
[0089] Therefore, in the movement of one pitch based on full-step drive, the generated torque fluctuates greatly as the rotor rotates. Therefore, it is impossible to always use the maximum torque or a torque close to the maximum torque, and therefore it is impossible to efficiently use the generated torque of the stepping motor. Figure 2 As shown by the curve L5, multiple times ( Figure 2In the example of curve L5, the acceleration torque and the deceleration torque are switched three times, that is, the torque direction is reversed. As a result, it is far from the ideal positioning action shown in Figure 1, and the torque cannot be used efficiently.
[0090] The same applies to full-step drive based on single-phase excitation. If a 1-2 phase excitation method is used, the step angle becomes half of the basic step angle, which is called half-step drive. However, the torque changes due to changes in the rotor position in the same way as in full-step drive.
[0091] Figure 4A 、 Figure 4B and Figure 4C An operating mode for the fastest movement and positioning operation based on acceleration and deceleration using maximum torque is shown. Figure 4A The time variation of the deviation (position deviation) of the actual position of the rotor from the command position is shown. Figure 4B The time variation of the actual position of the rotor (curve L11) and the time variation of the command position (curve L12) are shown. Figure 4C The time variation of the rotor speed is shown.
[0092] The period of movement of one pitch is divided into an acceleration period and a deceleration period. The maximum acceleration torque is continuously generated during the acceleration period, and the maximum deceleration torque is continuously generated during the deceleration period, so that the rotor can move to the target position as quickly as possible. Figure 4A As shown, it is possible to control the position deviation to +90 degrees electrical angle during acceleration and -90 degrees electrical angle during deceleration. This control cannot be performed with full-step drive, but it can be achieved with microstepping drive. Patent Document 3 states that maximum torque cannot be generated with microstepping when two-phase excitation is performed (paragraph 0004 of the document), but this is incorrect.
[0093] In contrast to full-stepping drive, which uses a constant winding current, microstepping uses intermediate current levels at the current switching points. By using multiple intermediate levels to vary the current value and switch the excitation phase, the step angle can be fine-tuned without changing the mechanical structure of the stepping motor. By increasing the number of intermediate levels, the step angle decreases, effectively enabling the use of a continuously variable drive current. This means that position control can be performed by providing a continuously variable command position.
[0094] The triangular speed change that always produces the maximum torque (refer to Figure 4C The change in rotor position corresponding to the constant acceleration motion during acceleration and deceleration is as follows Figure 4BAs shown in curve L11, a continuously changing command position is provided during the acceleration period to achieve a position deviation of +90 degrees in electrical angle, and a continuously changing command position is provided during the deceleration period to achieve a position deviation of -90 degrees in electrical angle, and microstepping is performed. This allows acceleration at maximum torque throughout the entire acceleration range, and deceleration at maximum torque throughout the entire deceleration range.
[0095] Then, the switching timing between the acceleration period (maximum acceleration torque period) and the deceleration period (maximum deceleration torque period) is appropriately adjusted so that the target position is reached and the speed is zero at the end of the deceleration period. This allows for the fastest movement to the target position and the fastest positioning without vibration at the target position.
[0096] Because maximum torque can be utilized throughout the entire movement period, positioning can be performed in a shorter time than positioning based on ideally adjusted full-step drive. Furthermore, while full-step drive requires adjustment of the time widths T1, T2, and T3 of the first, second, and third steps, positioning based on microstepping drive simply requires adjustment of the switching timing between the acceleration and deceleration periods, in other words, the duration of the acceleration period, making adjustment significantly easier.
[0097] Figures 4A to 4C In FIG, the acceleration period and the deceleration period are depicted as having substantially the same time width. However, in reality, due to the influence of the friction load, the time width of the acceleration period becomes longer than that of the deceleration period.
[0098] Figure 5 This is a block diagram illustrating a configuration example of a control device for a stepping motor according to one embodiment of the present invention. The control device 1 for a stepping motor controls a stepping motor 2 by micro-stepping drive. The stepping motor 2 may be, for example, a two-phase hybrid stepping motor. The basic step angle may be, for example, 0.9 degrees. As described above, the basic step angle is equivalent to one-quarter of the rotor tooth pitch. That is, when the rotor tooth pitch is 3.6 degrees, the basic step angle is 0.9 degrees. The stepping motor 2 is provided with a rotor position detector 3 (position sensor). The rotor position detector 3 is fixed to the rotor shaft of the stepping motor 2 and detects the rotor position θfb.
[0099] The control device 1 includes a computing unit 11, a memory 12, and a current control unit 13. Typically, the computing unit 11 is a microprocessor. The computing unit 11 is connected to the memory 12. The memory 12 can be composed of one or more storage media. The memory 12 preferably includes a writable storage medium that retains data even when the power is off. The computing unit 11 can perform calculations while exchanging data with the memory 12 and can also control the current control unit 13.
[0100] Memory 12 can store multiple rotor position commands θcom (position command data that instructs the rotor position) at intervals of a specified control cycle (e.g., 62.5 μs, corresponding to 16 kHz). The multiple rotor position commands θcom at intervals of the control cycle form a profile of rotor position commands that change in a time series (position command profile). Memory 12 may have the capacity to store multiple position command profiles. A permutation variable θcom(n) representing the rotor position command for each control cycle following the time series may be stored in memory 12, or the position command profile may be defined by this permutation function θcom(n).
[0101] As described later, the control device 1 can operate in multiple operating modes, including an adjustment mode and a usage mode. The memory 12 can store a position command configuration file used in the adjustment mode (hereinafter referred to as the "adjustment mode configuration file") and a position command configuration file used in the usage mode (hereinafter referred to as the "usage mode configuration file").
[0102] The memory 12 also stores a control program executed by the calculation unit 11. The calculation unit 11 controls the stepping motor 2 by executing this control program. Specifically, the calculation unit 11 reads the rotor position command θcom from the memory 12 according to the predetermined control cycle, compares it with the rotor position θfb, and generates motor winding current commands Iacom and Ibcom based on the comparison results. The commands are then supplied to the current control unit 13. The current control unit 13 supplies current to the windings of each phase of the stepping motor 2 based on the motor winding current commands Iacom and Ibcom. The current control unit 13 includes, for example, a two-phase inverter circuit, which amplifies the A-phase motor winding current command Iacom and the B-phase motor winding current command Ibcom and applies the current to the A-phase and B-phase windings of the stepping motor 2.
[0103] The control device 1 has an interface 14 for connecting an external device. The interface 14 can be connected to the setting device 4. Not only the control device 1 but also the setting device 4 can be considered to constitute a control device for the stepping motor 2.
[0104] The setter 4 can be a personal computer. The setter 4 includes, for example, an input device 5, a processing device 6, and a display device 7. The processing device 6 includes a processor 8 and a storage device 9. The storage device 9 can include a memory element, and can also include an auxiliary storage device such as an SDD (solid state drive) or an HDD (hard disk drive). The processor 8 executes the program stored in the storage device 9, and thereby realizes various functions. In particular, in the present embodiment, the processor 8 realizes the function of generating an instruction to switch the action mode of the control device 1, the function of instructing the control device 1 to drive the stepping motor 2, the function of obtaining data related to the action of the stepping motor 2 from the control device 1, the function of writing a position instruction profile into the memory 12 of the control device 1, the function of changing the position instruction profile in the memory 12 of the control device 1, and the like.
[0105] When setting or adjusting the control operation of the stepping motor 2, the setter 4 can be connected as needed. The setter 4 can set or change the data in the memory 12 (particularly the position command configuration file) or provide the operation command for operating the stepping motor 2 to the calculation unit 11. The setter 4 can also obtain data from the calculation unit 11 and display the operating status of the stepping motor 2 on the display device 7. Specifically, the setter 4 can be configured to obtain the rotor position signal detected by the rotor position detector 3 and the rotor speed signal obtained by differentiating the rotor position information through the interface 14.
[0106] Figure 6 This is a control block diagram for explaining an example of the processing content performed by the operation unit 11. The operation unit 11 executes the control program stored in the memory 12 to achieve Figure 6 The functions of the multiple functional blocks shown in FIG. The multiple functional blocks include a first differentiator 21, a second differentiator 22, a speed compensator 23, a fixed value generator 24, a first speed difference compensator 25, a second speed difference compensator 26, a first determiner 27, a second determiner 28, a coordinate converter 29, a first subtractor 30, a second subtractor 31, a first adder 32, a second adder 33, a third adder 34, a first switching element 35, a second switching element 36, and the like. However, not all of the above are required.
[0107] The first subtractor 30 calculates the position deviation δθ between the rotor position command θcom and the rotor position θfb (actual position). The first differentiator 21 differentiates the rotor position command θcom to generate the speed command ωcom. This first differentiator 21 may be omitted. The second differentiator 22 differentiates the rotor position θfb (actual position) to generate the rotor speed ωfb (rotor rotational speed). The speed compensator 23 multiplies the rotor speed ωfb by the proportional constant Kv used for speed compensation. The fixed value generator 24 generates a fixed value +K (K>0) when the position deviation δθ is positive and a fixed value -K when the position deviation δθ is negative.
[0108] The fixed value K may use different values in adjustment mode and in use mode. For example, the fixed value K used in adjustment mode is preferably a value corresponding to an electrical angle of less than 90 degrees. Furthermore, the fixed value K used in adjustment mode is preferably a value corresponding to an electrical angle of 60 degrees or more (more preferably 70 degrees or more, and even more preferably 80 degrees or more). In use mode, the fixed value K may be set to a value corresponding to an electrical angle of 90 degrees.
[0109] Second subtractor 31 subtracts rotor speed ωfb (actual speed) from speed command ωcom and outputs speed deviation δω. Second differentiator 31 may be omitted. First adder 32 adds the fixed value +K or -K generated by fixed value generator 24 to the output Kv·ωfb of speed compensator 23.
[0110] The first speed difference compensator 25 and the second speed difference compensator 26 multiply the speed deviation δω output from the subtractor 31 by proportionality constants Kdi and Kdo for speed difference compensation, respectively. The first speed difference compensator 25 and the second speed difference compensator 26 may be omitted.
[0111] First determiner 27 compares position deviation δθ with the output of first adder 32, K+Kv·ωfb or -K+Kv·ωfb. If -K+Kv·ωfb < δθ < K+Kv·ωfb, first determiner 27 connects first switch 35 to terminal a to select the output of second adder 33. If this condition is not met, first determiner 27 connects first switch 35 to terminal b to select the output of third adder 34. If the signs (positive or negative) of position deviation δθ and speed deviation δω do not match, second determiner 28 turns on second switch 36 to enable the function of second speed difference compensator 26. If they match, second determiner 28 turns off second switch 36 to disable the function of second speed difference compensator 26.
[0112] The second adder 33 adds the rotor position command value θcom to the output Kdi·δω of the first speed difference compensator 25, and supplies the result of the addition to the terminal a of the first switching element 35. This second adder 33 may be omitted. The third adder 34 adds the output Kdo·δω of the second speed difference compensator 26, the output K+Kv·ωfb or -K+Kv·ωfb of the first adder 32, and the rotor position θfb, which are added via the second switching element 36, and supplies the result of the addition to the terminal b of the first switching element 35. The second switching element 36 may be omitted.
[0113] The coordinate converter 29 outputs current commands Iacom=Ki·sinθi and Ibcom=Ki·cosθi based on a current command phase θi described later provided via the first switching element 35 , where Ki is a constant.
[0114] With this configuration, the calculation unit 11 calculates the current command phase θi based on either the rotor position command θcom or the rotor position θfb (actual position), and generates the A-phase current command Iacom and the B-phase current command Ibcom based on this current command phase θi. When the current command phase θi calculated based on the rotor position command θcom is used, the rotor position θfb is not used, resulting in a control system similar to a conventional open-loop stepping motor control system.
[0115] Figure 7 This diagram illustrates the control areas of the calculation unit 11. The calculation unit 11 includes multiple control areas A to E, which are divided based on the position deviation δθ and the speed deviation δω. Specifically, two thresholds, -K+Kv·ωfb and +K+Kv·ωf, are determined for the position deviation δθ, resulting in three control areas: D and C; E; and A and B. Furthermore, the selection of either control area C or D, or either control area A or B, is determined based on whether the sign of the speed deviation δω matches that of the position deviation δθ.
[0116] Control region E is an open-loop region in which the commanded current phase θi is calculated based on the rotor position command θcom. Control regions A through D are closed-loop regions in which the commanded current phase θi is calculated based on the rotor position command θfb. The position deviation δθ determines whether the current command phase θi should be calculated based on the rotor position command θcom or the rotor position θfb, i.e., whether open-loop control or closed-loop control should be applied.
[0117] Specifically, the first determiner 27 connects the switching element 35 to the terminal a side when the position deviation δθ satisfies the relationship of the following equation (1). As a result, the addition result of the adder 33 is output from the switching element 35 as the current command phase θi as shown in the following equation (2).
[0118] -K+Kv·ωfb<δθ<+K+Kv·ωfb···(1)
[0119] θi=θcom+Kdi·δω···(2)
[0120] Therefore, when the position deviation δθ is within the range shown in equation (1), the current command phase θi is calculated based on the rotor position command θcom, and open loop control is performed (see Figure 7 Area E).
[0121] The current command phase θi can be set to θi = θcom. Adding the term Kdi·δω based on the speed deviation δω, as in equation (2), effectively suppresses vibration during rotation. If such vibration suppression is not required, Kdi = 0, disabling the vibration suppression term Kdi·δω. In this case, the first speed difference compensator 25 and the second adder 33 can be omitted.
[0122] When the range of the position deviation δθ exceeds the range of formula (1), that is, δθ>+K+Kv·ωfb or δθ<-K+Kv·ωfb, the first determiner 27 connects the switch element 35 to the terminal b side. In this case, the second determiner 28 turns off the switch element 36 only when the signs (positive or negative) of the position deviation δθ and the speed deviation δω are consistent. Therefore, the four current command phases θi corresponding to the following conditions a to d are finally calculated (see Figure 7 Regions A to D in the figure), which are output from the switching element 35 according to the conditions a to d.
[0123] Condition a (region A): δθ>+K+Kv·ωfb, δθ>0, δω>0
[0124] θi=θfb+K+Kv·ωfb···(3)
[0125] Condition b (area B): δθ>+K+Kv·ωfb, δθ>0, δω<0
[0126] θi=θfb+K+Kv·ωfb+Kdo·δω···(4)
[0127] Condition c (area C): δθ<-K+Kv·ωfb, δθ<0, δω<0
[0128] θi=θfb-K+Kv·ωfb···(5)
[0129] Condition d (area D): δθ<-K+Kv·ωfb, δθ<0, δω>0
[0130] θi=θfb-K+Kv·ωfb+Kdo·δω···(6)
[0131] The current command phase θi calculated by equations (2) and (3) to (6) is input to the coordinate converter 29 and converted into current commands Iacom and Ibcom for each phase.
[0132] The stepping motor 2 is not limited to a two-phase structure, and may be a three-phase or five-phase structure, for example. In this case, the coordinate converter 29 converts the current command phase θi into current commands corresponding to the number of phases of the stepping motor 2 .
[0133] According to the current command phase θi according to equation (2), when the fixed value K is equivalent to an electrical angle of 90 degrees, the stepping motor 2 is accelerated so that the maximum torque follows the command speed. If the fixed value K is close to an electrical angle of 90 degrees, a torque close to the maximum torque can be generated. In this case, the speed compensation term Kv·ωfb is included in the discriminant equation (1). This allows switching to the maximum torque generation point, which compensates for the current delay caused by the winding inductance and the calculation delay.
[0134] On the other hand, closed-loop control can be achieved by using the current command phase θi determined based on the rotor position θfb (actual position), that is, the current command phase θi calculated using equations (3) to (6). For example, if the stepping motor 2 over-rotates in the forward direction, the speed deviation δω becomes negative and the position deviation δθ becomes positive. Therefore, the current command phase θi is determined based on equation (4). In this case, the third term Kdo·δω in equation (4) becomes a negative value, so the advance angle relative to the rotor position θfb decreases, resulting in a reduction in torque.
[0135] Thus, by setting the excitation phase to reduce generated torque and suppress speed deviation, excessive rotor rotation and oscillation (overshoot and undershoot) caused by increased speed deviation can be prevented, allowing for stable and rapid rotor positioning. Even with the current command phase θi determined by equation (6), stable and rapid rotor positioning is possible.
[0136] If the term Kdo·δω in equation (4) is greater than the fixed value K, a torque in the opposite direction is generated. Therefore, the value of the coefficient Kdo is adjusted to obtain an appropriate speed deviation suppression effect.
[0137] If the speed deviation suppression term Kdo·δω is not required, the coefficient Kdo can be set to 0. In this case, the second speed difference compensator 26 and the second switching element 36 are not required. If the vibration suppression term Kdi·δω is also not required, the first differentiator 21 and the subtractor 31 can also be omitted.
[0138] Furthermore, based on the current command phase θi determined by equations (3) and (5), an advance angle value is set such that the motor generates maximum torque when the fixed value K is equivalent to an electrical angle of 90 degrees. If the fixed value K is close to an electrical angle of 90 degrees, an advance angle value is set such that a torque close to the maximum torque is generated.
[0139] In the above configuration, an advance angle value that generates a large torque corresponding to the fixed value K is used based on the polarity determination result of the position deviation δθ and the speed deviation δω when the rotor speed ωfb does not reach the speed command ωcom. Furthermore, in the above configuration, based on the polarity determination result when the rotor speed ωfb exceeds the speed command ωcom, a value obtained by multiplying the speed deviation δω by a coefficient is added to the advance angle value that generates the large torque. Since the polarity of the speed deviation δω is opposite to that of δθ, the advance angle value is reduced by this addition.
[0140] As the advance angle correction value (Kv·ωfb in the above example), not only a proportional function (linear function) of the rotor speed ωfb can be used, but also a quadratic function, a cubic function, etc. can be used. Here, if these are expressed as the function F(ωfb), the above equations (2) to (6) can be rewritten as the following equations (7) to (11).
[0141] Area E: -K+F(ωfb)<δθ<+K+F(ωfb)
[0142] θi=θcom+Kdi·δω···(7)
[0143] Area A: δθ>+K+F(ωfb), δθ>0, δω>0
[0144] θi=θfb+K+F(ωfb)···(8)
[0145] Area B: δθ>+K+F(ωfb), δθ>0, δω<0
[0146] θi=θfb+K+F(ωfb)+Kdo·δω···(9)
[0147] Area C: δθ<-K+F(ωfb), δθ<0, δω<0
[0148] θi=θfb-K+F(ωfb)···(10)
[0149] Area D: δθ<-K+F(ωfb), δθ<0, δω>0
[0150] θi=θfb-K+F(ωfb)+Kdo·δω···(11)
[0151] Figure 8The angle-torque characteristics (θ-T characteristics) of the stepping motor 2 are shown when performing normal open-loop control and when controlling the stepping motor 2 according to the above equations (1) to (6). Here, the following example is used for explanation: K = 90 degrees, the proportional constant Kv used for speed compensation is set to zero, and speed compensation is not performed.
[0152] Under normal open-loop control, the stepping motor 2 generates maximum torque at a position offset by 90 electrical degrees from the excitation stable point. If the position exceeds the unstable point of 180 electrical degrees, the direction of the torque changes and the step is lost.
[0153] When equations (1) to (6) are applied, the electrical angle range of -90 degrees to +90 degrees (-0.9 degrees to +0.9 degrees) also corresponds to region E (-K ≤ δθ ≤ K). Therefore, open-loop control is performed, and the torque varies according to the rotor's electrical angle. On the other hand, within the range where the electrical angle is less than -90 degrees and the range where the electrical angle exceeds +90 degrees, that is, within the ranges of δθ < -K and +K < δθ, closed-loop control (feedback control) is performed, in which the current command phase θi is determined based on the rotor position θfb. Therefore, maximum torque is generated regardless of the rotor's electrical angle, that is, regardless of the position deviation δθ.
[0154] Therefore, if the command position is set so that the absolute value of the position deviation δθ exceeds K, regardless of the rotor position, control within the closed-loop range is achieved. In other words, closed-loop control can be achieved by exciting the motor at a position that is offset by an electrical angle of +K or -K relative to the rotor position to generate maximum torque. This allows the excitation position of stepping motor 2 to be varied substantially continuously to generate maximum torque, regardless of rotor position. This also applies when speed compensation is performed by setting the proportional constant Kv to a value other than zero.
[0155] If the fixed value K is set to be less than 90 degrees electrical angle, the maximum torque cannot be generated by closed loop control. However, by setting it to a value close to 90 degrees electrical angle, a torque close to the maximum torque can be generated regardless of the rotor position.
[0156] In this embodiment, the control device 1 includes multiple operating modes, including an adjustment mode and a usage mode. The adjustment mode is used to find and set a position command profile for the fastest movement and positioning. The usage mode is used to operate the stepping motor 2 based on the position command profile (usage mode profile) set in the adjustment mode and stored in the memory 12.
[0157] In adjustment mode, the stepping motor 2 is controlled according to equations (7) to (11). More specifically, using closed-loop control in regions A to D, the motor is accelerated using approximately maximum torque and decelerated using approximately maximum torque to achieve the fastest possible movement to the target position. At the target position, open-loop control using region E is used to maintain the position, thereby finding a position command profile that achieves the fastest positioning.
[0158] However, in this embodiment, the vibration suppression term Kdi·δω in equation (7) is unnecessary, so Kdi = 0. Therefore, in region E, θi = θcom.
[0159] Furthermore, in equations (9) and (11), the speed deviation suppression term Kdo·δω performs the following control: suppressing the torque deviation and suppressing the expansion of the speed deviation δω. However, in the present embodiment, which aims to always maintain approximately the maximum torque during acceleration and deceleration, the speed deviation suppression term is not required, and therefore, Kdo is set to 0 and not used.
[0160] Therefore, the above equations (7) to (11) are transformed into the following equations (7a) to (11a) and applied. Equations (8) and (9) become the same type of equations (8a) and (9a), and equations (10) and (11) become the same type of equations (10a) and (11a). Then, control becomes independent of the speed deviation δω.
[0161] Area E: -K+F(ωfb)<δθ<+K+F(ωfb)
[0162] θi=θcom···(7a)
[0163] Area A, B: δθ>+K+F(ωfb)
[0164] θi=θfb+K+F(ωfb)···(8a)(9a)
[0165] Area C, D: δθ<-K+F(ωfb)
[0166] θi=θfb-K+F(ωfb)···(10a)(11a)
[0167] In the adjustment mode, the fixed value K is set to a value less than 90 degrees in electrical angle. The fixed value K used in the adjustment mode is preferably greater than 60 degrees in electrical angle, more preferably greater than 70 degrees in electrical angle, for example, about 80 degrees in electrical angle or greater.
[0168] In the closed-loop regions A to D, the fixed value K corresponds to the motor load angle, and the torque generated by the stepping motor 2 is expressed by the following equation (12). Here, Kt is the torque constant, and I is the winding current. When K = 80 degrees, 98.5% of the torque generated when K = 90 degrees is generated, thus achieving approximately maximum torque. When K = 70 degrees, 94.0% of the torque is generated, and when K = 60 degrees, 86.6% of the torque is generated, thus achieving approximately maximum torque. Therefore, for convenience, the torque T in equation (12) will sometimes be referred to as the maximum torque.
[0169] T=Kt·I·sin(K)···(12)
[0170] Figures 9A to 9D : is a diagram for explaining an example of an operation in the adjustment mode, showing an example of a position instruction profile (adjustment mode profile) that is set to realize an ideal operation. Figures 10A to 10D This is a diagram for explaining an example of the operation in the adjustment mode, which corresponds to the operation when the rotor position exceeds the target position before the end of the deceleration period. Figures 11A to 11D 1 is a diagram for explaining an example of operation in the adjustment mode, which corresponds to the operation when the deceleration period ends before the rotor position reaches the target position. Figure 9A 、 10A 11A shows a position instruction profile (adjustment mode profile), Figure 9B 、 10B 11B shows the time variation of the generated torque, Figure 9C 、 10C , 11C shows the time variation of the rotor speed, Figure 9D 、 10D 11D shows the time variation of the rotor position.
[0171] A position command configuration file (adjustment mode configuration file) for adjustment mode is pre-written from the setting device 4 to the memory 12. In adjustment mode, the calculation unit 11 reads the rotor position command included in the adjustment mode configuration file from the storage unit 12 and generates the motor winding current commands Iacom and Ibcom according to the rotor position command.
[0172] The rotor position commands that make up the adjustment mode profile constitute the instructions for executing steps 1, 2, and 3 described below.
[0173] The first step is an acceleration operation (acceleration operation), and the command for the first step is an acceleration command. The acceleration command can be, for example, a rotor position command θcom that is +3.6 degrees (corresponding to an electrical angle of 360 degrees) relative to the rotor's initial position (position before movement). In this case, the position deviation δθ becomes larger than the sum of the fixed value +K and the speed correction term F(ωfb) (for example, F(ωfb) = Kv·ωfb), thus entering the closed loop regions A and B. As a result, the current command phase θi becomes θi = θfb + K + F(ωfb) according to equations (8a) and (9a), so that the stepping motor 2 generates torque in the forward direction (CW), accelerating the rotor.
[0174] The acceleration command is determined so that the maximum torque of equation (12) is always generated during the first step, that is, the acceleration period. More specifically, the acceleration command is preferably a rotor position command that corresponds to a position at least 3 / 4 of the amount of movement to the target position (at least 270 degrees in electrical angle) for the initial position command of the rotor. For example, if the rotor position reaches approximately half of the target position, or approximately +1.8 degrees (equivalent to 180 degrees in electrical angle) 1 millisecond after the start of operation, then 1 millisecond / 62.5 μs = 16. Therefore, the 0th to 15th rotor position commands θcom(0) to θcom(15) = +3.6 degrees (equivalent to 360 degrees in electrical angle) can be used as the acceleration command.
[0175] The second step is a deceleration action (deceleration operation), and the instruction for the second step is a deceleration instruction. The second step starts with the end of the first step, that is, the end of the acceleration period. Specifically, the second step starts when the rotor position reaches about half of the target position, that is, around +1.8 degrees (equivalent to 180 degrees in electrical angle). More specifically, the deceleration instruction can be, for example, a rotor position instruction θcom that instructs a position of 0 degrees. For example, if the deceleration instruction is generated 1 millisecond after the start of operation, the 16th rotor position instruction θcom (16) = 0 degrees (equivalent to 0 degrees in electrical angle). The position deviation δθ becomes smaller than the sum of the fixed value -K and the speed correction term F(ωfb) (for example, F(ωfb) = Kv·ωfb), and thus enters the closed loop area C, D. Therefore, the current instruction phase θi becomes θi = θfb-K + F(ωfb) according to equations (10a) and (11a), so that the stepping motor 2 generates torque in the reverse direction (CCW) and the rotor is decelerated. The deceleration command is determined so that the maximum torque of equation (12) can always be generated during the second step, that is, the deceleration period. More specifically, the deceleration command is preferably a position command for a rotor position command at the moment of moving halfway to the target position that is equivalent to a position that is lagging behind (equivalent to an electrical angle of less than 90 degrees) by more than 1 / 4 of the amount of movement to the target position (equivalent to an electrical angle of less than 90 degrees). For example, if the target position is reached 1 millisecond after the start of the deceleration command, 1 millisecond / 62.5 μseconds = 16. Therefore, the 16th to 31st rotor position commands θcom (16) to θcom (31) = 0 degrees (equivalent to an electrical angle of 0 degrees) can be set as deceleration commands.
[0176] By continuously decelerating at maximum torque during the acceleration period (the first step) followed by the acceleration period (the first step), the rotor speed reaches zero at the end of the deceleration period (the second step), which has a duration T12 substantially equal to the duration T11 of the acceleration period. Strictly speaking, due to the influence of frictional load, the duration T11 of the acceleration period is longer than the duration T12 of the deceleration period.
[0177] Step 3 is the position-holding operation (position-holding operation) that holds the rotor at the target position. The command for step 3 is the position-holding command. Step 3 begins with the completion of step 2, that is, the end of the deceleration period. At the end of the deceleration period, the rotor speed reaches zero, and step 3 begins in this state. More specifically, the position-holding command (stop command) can be a rotor position command θcom that commands the target position, i.e., a position of 3.6 degrees (equivalent to 360 degrees in electrical angle). At this time, -K+F(ωfb)<δθ<+K+F(ωfb), resulting in an open-loop region (region E), and the current command phase θi=θcom.
[0178] If the time width T11 during acceleration and the time width T12 during deceleration are appropriate, that is, if the time width T11 during acceleration is actually appropriate and the timing of switching from the acceleration command to the deceleration command is appropriate, the response of the stepping motor 2 becomes Figure 9C and Figure 9D The rotor speed becomes zero when it reaches the target position of +3.6 degrees, and the rotor is excited directly at the +3.6 degree position. Therefore, the rotor stops at the target position without generating any substantial vibration.
[0179] When the time width T11 of the acceleration period is too long and the timing of switching from the acceleration command to the deceleration command is delayed, the response of the stepping motor 2 becomes Figure 10C and Figure 10D The state shown. That is, even after exceeding the target position of +3.6 degrees, the rotor speed remains positive, and after exceeding the target position, the rotor speed becomes zero. If a position hold command (stop command) is input at this moment to maintain the position at +3.6 degrees, the rotor returns to the target position from the position after exceeding it. Thereafter, vibrations are generated centered on the target position, and positioning is completed while waiting for convergence.
[0180] When the time width T11 of the acceleration period is too short and the timing of switching from the acceleration command to the deceleration command is too early, the response of the stepping motor 2 becomes Figure 11C and Figure 11D The state shown is as follows. Specifically, the rotor speed reaches zero at +3.6 degrees before the target position. If a position hold command (stop command) is input at this moment to maintain the position at +3.6 degrees, the rotor accelerates again from the previous position toward the target position. Afterwards, vibrations are generated centered on the target position, and positioning is completed after convergence.
[0181] The adjustment mode can be started by connecting the setting device 4 to the interface 14 and inputting a mode instruction from the setting device 4 to the control device 1. Adjustment in the adjustment mode can be performed manually or automatically.
[0182] Manual adjustments are as follows.
[0183] The operator operates the input device 5 of the setting device 4 and adjusts the mode configuration file (see Figure 9A 、 10A , 11A) are written into the memory 12, and based on this, the control device 1 is instructed to perform a positioning trial operation based on the adjustment mode. Specifically, the adjustment mode configuration file is an array variable θcom(n) that presents the rotor position command following the time series.
[0184] The control device 1 executes the positioning test operation including the above-mentioned first, second, and third steps according to the adjustment pattern configuration file written in the memory 12 .
[0185] During the positioning test operation, the rotor position θfb detected by the rotor position detector 3 is input to the setting device 4 via the interface 14. In addition, the rotor speed ωfb obtained by differentiating the rotor position θfb by the calculation unit 11 is also input to the setting device 4 via the interface 14. The setting device 4 displays the input rotor position θfb and rotor speed ωfb on the screen of the display device 7 (for example, in the form of a graph) (see Figure 9C 、 10C , 11C; 9D, 10D, 11D).
[0186] When the positioning trial operation is executed, the calculation unit 11 calculates the current command phase θi in each control cycle, performs coordinate transformation on the current command phase θi, and generates the motor winding current commands Iacom and Ibcom (see Figure 6 The plurality of current command phases θi generated in each calculation cycle in a time series are stored in the memory 12 as a time-series arrangement variable θi(n). Instead of being stored in the memory 12, the arrangement variable θi(n) of the current command phase θi may be stored in the memory 12 or input to the setter 4 via the interface 14 and stored in the storage device 9 within the setter 4.
[0187] The operator checks the time variation of the rotor position θfb and the rotor speed ωfb displayed on the display device 7 of the setting device 4 (i.e., the response of the stepping motor 2), and determines whether the time width T11 of the acceleration period and the time width T12 of the deceleration period are appropriate. More specifically, if the time width T11 of the acceleration period is too long, that is, if the timing of switching from acceleration to deceleration is delayed (see Figures 10A to 10D ), the adjustment mode configuration file in the memory 12 is changed to shorten the time width T11 during acceleration and advance the switching timing from acceleration to deceleration. On the contrary, if the time width T11 during acceleration is too short, that is, if the timing of switching from acceleration to deceleration is advanced (refer to Figures 11A to 11D ), the adjustment mode configuration file in the memory 12 is changed to extend the time width T11 during acceleration and delay the switching timing from acceleration to deceleration. Of course, the time width T12 during deceleration is also changed according to the change of the time width T11 during acceleration.
[0188] When changing the adjustment mode configuration file in memory 12, the data in memory 12 can be directly edited via interface 14. Furthermore, an adjustment mode configuration file stored in the storage device 9 of the setting device 4 can be edited and the edited adjustment mode configuration file can be written to memory 12 via interface 14. Of course, multiple different adjustment mode configuration files can be prepared and the adjustment mode configuration file used in the adjustment mode can be switched. In this case, the multiple adjustment mode configuration files can be pre-stored in memory 12 or in the storage device 9 of the setting device 4.
[0189] Therefore, if the time widths T11 and T12 during acceleration and deceleration (more specifically, the timing of switching from acceleration to deceleration) are appropriately adjusted, and the target position is reached at zero speed (see Figures 9A to 9D ), the adjustment is completed. Hereinafter, the current command phase θi obtained in such a properly adjusted state is referred to as “current command phase θi * "To distinguish. The current command phase θi obtained in the properly adjusted state * The permutation variable θi * (n) Arrangement variable θcom(θ)=θi as the rotor position command representing the position command profile for the usage mode (usage mode profile) * (n) to use.
[0190] When the array variable θi(n) of the current command phase θi generated in the adjustment mode is stored in the memory 12, the array variable θi at the end of the adjustment mode is * (n) is handled as the array variable θcom(n) of the rotor position command (using the mode configuration file). When the array variable θi(n) of the current command phase θi generated in the adjustment mode is not stored in the memory 12 but in the storage device 9 of the setting device 4, the operator will obtain the current command phase θi after the appropriate adjustment. * The permutation variable θi * (n) is used as a usage pattern configuration file (arrangement variable θcom(n) of the rotor position command for the usage pattern) and is written to the memory 12 via the interface 14 .
[0191] After that, the operator operates the input device 5 to set the operation mode of the control device 1 to the use mode, and the adjustment is completed. The setting device 4 can then be removed from the interface 14.
[0192] The current command phase θi after proper adjustment * The permutation variable θi * (n) The usage mode profile represented by Figure 4BThe profile is shown by curve L12.
[0193] A program for automatically executing the above-mentioned adjustment may be loaded into the setting device 4 . Figure 12 An example of the operation of such an automatic adjustment program is shown in FIG.
[0194] When the operator operates the input device 5 to instruct automatic adjustment, the processor 8 sets the operating mode of the control device 1 to the adjustment mode (step S1). The processor 8 further reads the adjustment mode configuration file from the storage device 9 and writes it to the memory 12 of the control device 1 via the interface 14 (step S2). If the adjustment mode configuration file is already stored in the memory 12 of the control device 1, this process can be omitted.
[0195] Next, the processor 8 instructs the control device 1 to perform a positioning test operation (step S3). In response, the calculation unit 11 reads the adjustment mode configuration file from the memory 12 and executes the positioning test operation. The calculation unit 11 sends the data of the rotor position θfb, rotor speed ωfb, and current command phase θi generated in each control cycle during the positioning test operation to the setter 4 via the interface 14. The processor 8 receives these data and stores them in the storage device 9 in a time series manner (step S4). As described above, the time series data of the current command phase θi can be stored in the memory 12 within the control device 1. In this case, the data of the current command phase θi does not need to be sent to the setter 4.
[0196] Processor 8 determines whether the positioning operation has been performed appropriately (step S5). For example, processor 8 may determine whether the absolute value of rotor speed ωfb is below a reference value when rotor position θfb reaches the target position. Furthermore, processor 8 may determine whether rotor position θfb, when rotor speed ωfb reaches zero, is within a reference range. More specifically, processor 8 determines whether rotor position θfb, when rotor speed ωfb reaches zero, is within a reference range of ±0.05 degrees (3.55 degrees ≤ θfb ≤ 3.65 degrees) centered on the target position (e.g., 3.6 degrees).
[0197] If it is determined that the positioning operation is not being performed properly (step S5: No), processor 8 modifies the adjustment mode configuration file (step S6). Modifying the adjustment mode configuration file is similar to the manual adjustment described above. Specifically, the adjustment mode configuration file is modified to increase or decrease the acceleration operation time width T11 and the deceleration operation time width T12. Processor 8 then executes the operations from step S3 onward using the modified adjustment mode configuration file. This process is repeated until the positioning operation is performed properly.
[0198] If it is determined that the positioning operation is performed appropriately during the positioning test operation (step S5: Yes), the processor 8 sets the current command phase θi generated during the positioning test operation to * The permutation variable θi * (n) is used as a usage mode configuration file (arranged variable θcom(n) of the rotor position command for the usage mode) and is written to the memory 12 via the interface 14 (step S7). If the arrangement variable θi(n) of the current command phase θi in the adjustment mode is already stored in the memory 12 of the control device 1, this processing can be omitted.
[0199] This allows the setting device 4 to function as an automatic adjustment unit, automatically generating an appropriately adjusted usage pattern profile and storing it in the memory 12. Subsequently, by setting the control device 1 to the usage mode, normal operation using the usage pattern profile can be performed.
[0200] This automatic adjustment function, or automatic adjustment unit, can be provided in the control device 1. Specifically, the control device 1 can include an adjustment mode that performs automatic adjustment. In other words, the program executed by the control device 1 can be designed to perform adjustments in the automatic adjustment mode. The setting device 4 can instruct the execution of adjustments in the automatic adjustment mode. Furthermore, a command input device for instructing the automatic adjustment in the automatic adjustment mode can be provided in the control device 1.
[0201] Figure 13 This is a flowchart illustrating an example of automatic adjustment performed in the automatic adjustment mode of the control device 1. An adjustment mode configuration file is pre-stored in the memory 12. When automatic adjustment in the automatic adjustment mode is instructed (step S11: Yes), the calculation unit 11 reads the automatic adjustment mode configuration file from the memory 12 and performs a positioning test operation in accordance with the adjustment mode configuration file (step S12). During this positioning test operation, the calculation unit 11 obtains the rotor position θfb from the rotor position detector 3, calculates the rotor speed ωfb, and further calculates the current command phase θi, and controls the stepping motor 2 based on these calculations.
[0202] The calculation unit 11 stores the data of the rotor position θfb, rotor speed ωfb, and current command phase θi for each control cycle in the memory 12 in a time series manner (step S13). In parallel with this operation, the calculation unit 11 can transmit the data of the rotor position θfb, rotor speed ωfb, and current command phase θi for each control cycle to the setting device 4 via the interface 14.
[0203] When the positioning trial operation is completed, the calculation unit 11 determines whether the positioning operation is performed properly (step S14). Figure 12 The determination is the same as in step S5.
[0204] If it is determined that the positioning operation is not performed properly (step S14: No), the calculation unit 11 changes the adjustment mode configuration file in the memory 12 (step S15). Figure 12 The same is true for step S6. Thereafter, the calculation unit 11 uses the changed adjustment mode configuration file to execute the operation from step S12. This process is repeated until an appropriate positioning operation can be performed.
[0205] If it is determined that the positioning operation is performed properly during the positioning trial operation (step S14: Yes), the calculation unit 11 sets the current command phase θi generated during the positioning trial operation and written into the memory 12 in step S13 to * The permutation variable θi * (n) as the usage pattern configuration file (arrangement variable θcom(n) of the rotor position command for the usage pattern) (step S16).
[0206] This allows the calculation unit 11 to function as an automatic adjustment unit, automatically generating an appropriately adjusted usage pattern profile and storing it in the memory 12. In the usage mode, the calculation unit 11 can use the usage pattern profile stored in the memory 12 to appropriately operate the stepping motor 2.
[0207] Figure 14A 、 Figure 14B and Figure 14C An example of positioning action in the use mode is shown. Figure 14A The curve L21 shows the temporal change of the rotor position command θcom (ie, the usage pattern profile), and the curve L22 shows the temporal change of the rotor position (actual position). Figure 14B The curve L23 shows the temporal change of the position deviation δθ. Figure 14C Curve L24 shows the temporal variation of the rotor speed ωfb.
[0208] During the acceleration period, the rotor position command θcom (curve L21) commands a position that is advanced relative to the rotor position θfb (curve L22) by an amount corresponding to a fixed value K (e.g., 80 degrees). This generates a corresponding position deviation δθ (curve L23), thereby producing approximately maximum acceleration torque. During the deceleration period following the acceleration period, the rotor position command θcom (curve L21) commands a position that is delayed relative to the rotor position θfb (curve L22) by an amount corresponding to a fixed value K (e.g., 80 degrees). This generates a corresponding negative position deviation δθ (curve L23), thereby producing approximately maximum deceleration torque. Consequently, the rotor speed ωfb (curve L24) transforms into a triangular shape and reaches zero at the end of the deceleration period. At this point, the rotor position θfb is at the target position (360 electrical degrees). As described above, due to the influence of frictional load, the duration of the acceleration period is longer than that of the deceleration period.
[0209] After the deceleration period, the position command θcom becomes the target position (360 degrees electrical angle), and the rotor is held at the target position by exciting the target position. Since the target position is excited at the timing when the speed reaches zero at the target position, the rotor stops and is positioned at the target position without generating substantial vibration.
[0210] In the use mode, the calculation unit 11 reads the permutation variable θcom(n) of the rotor position command θcom (the use mode configuration file) stored in the memory 12 and executes the control based on the above equations (7a) to (11a) according to the permutation variable θcom(n). In the use mode, it is preferable to set the fixed value K used for distinguishing between regions A to E to an electrical angle of 90 degrees.
[0211] The use mode profile, that is, the rotor position command θcom is the current command phase θi in a state appropriately adjusted in the adjustment mode as described above. * , therefore, the absolute value of the position deviation δθ becomes a fixed value K (e.g., 80 degrees electrical angle) during the adjustment mode. Therefore, the entire period is controlled within the switch region E, and in essence, control is performed using only equation (7a). At this time, θi = θcom = θi * , current phase θi in adjustment mode * The current in the adjustment phase is reproduced in accordance with the current phase θi in the usage mode.
[0212] In adjustment mode, setting the fixed value K to a value smaller than 90 degrees (e.g., 80 degrees) ensures that the position deviation δθ does not exceed 90 degrees (the fixed value K used for region determination in use mode). This ensures reliable operation in open-loop region E.
[0213] If the fixed value K is set to 90 electrical degrees in adjustment mode, and the rotor's response is slightly delayed during operation, the position deviation δθ may exceed 90 electrical degrees, potentially entering the closed-loop region. In the closed-loop region, the current command phase θi is determined using the rotor position θfb detected by the rotor position detector 3, which is affected by the detection accuracy of the rotor position detector 3. To avoid such closed-loop control, open-loop control is required even in regions A to D. When K = 90 degrees, open-loop control is performed at a motor load angle of 90 degrees. Therefore, even a slight rotor delay can reduce torque. This can further increase the delay and cause a loss of synchronism.
[0214] By setting the fixed value K in the adjustment mode to be less than the electrical angle of 90 degrees, open-loop control can be performed in the use mode in a state where the load angle is smaller than the electrical angle of 90 degrees. That is, control in the open-loop area E can be maintained. In such open-loop control, the torque changes according to the lag and advance of the rotor. For example, when the absolute value of the fixed value K is an electrical angle of 80 degrees (i.e., a load angle of 80 degrees), if the rotor lags 10 degrees in the electrical angle, the load angle becomes 90 degrees, and the torque increases by 1.5%. In addition, if the rotor advances 10 degrees in the electrical angle, the load angle becomes 70 degrees, and the torque decreases by 4.6%. Therefore, the increase or decrease of the torque acts in the direction of reducing the lag and advance of the rotor. As a result, the robustness to external interference can be improved.
[0215] As described above, according to this embodiment, the control device 1 controls the stepping motor 2 using microstepping drive, thereby enabling acceleration and deceleration operations that substantially always utilize maximum torque (maximum torque or torque close to maximum torque). This enables the realization of a control device 1 with high torque utilization efficiency. The control device 1 can operate the stepping motor 2 using microstepping drive in both adjustment mode and use mode.
[0216] In adjustment mode, winding current control of stepping motor 2 is performed through closed-loop control using the detection value of rotor position detector 3. At this time, a current command phase θi is generated as control data for acceleration and deceleration operations using microstepping drive, and acceleration and deceleration operations are performed according to this current command phase θi. Furthermore, this current command phase θi is stored in memory 12 and / or storage device 9 of setter 4.
[0217] In adjustment mode, the rotor is moved toward the target position using acceleration and deceleration. The time widths T11 and T12 of the acceleration period during acceleration and the deceleration period during deceleration are adjusted so that the rotor speed at the target position reaches zero. This optimizes the movement of the rotor to the target position. The only parameters to be adjusted are the time widths T11 and T12 of the acceleration and deceleration periods, making adjustment relatively easy. As described above, this adjustment can be performed manually or automatically. The current command phase θi after this adjustment is completed is * Data (arrangement variables θi * (n)) is used as data of the rotor position command θcom, which is control data applied in the usage mode (array variable θcom(n): usage mode profile).
[0218] In addition, the current command phase θi generated in the adjustment mode includes a command for position holding control, which controls the winding current of the stepping motor 2 so that the target position becomes the excitation stable point after the deceleration operation. Therefore, by using the current command phase θi obtained in the state where the adjustment is completed * Data (arrangement variables θi * (n)) to form a usage pattern profile, so that the usage pattern profile also includes the rotor position command θcom for position holding control (arrangement variable θcom(n)).
[0219] In the use mode, open-loop control based on the rotor position command θcom in the use mode profile is used to reproduce the winding current control of the stepping motor 2 in the adjustment mode, thereby achieving optimal acceleration, deceleration, and position-holding operation. Therefore, the rotor can be moved to the target position by accelerating and decelerating at nearly maximum torque, and the rotor can be positioned without generating substantial vibration at the target position. This enables the fastest possible movement and positioning operations. Furthermore, the rotor position detection value is not used in open-loop control, and therefore is not affected by the detection accuracy of the rotor position detector 3. Therefore, as described above, a highly accurate rotor position detector 3 is not required.
[0220] Furthermore, as described above, in this embodiment, closed-loop control in adjustment mode is performed so that the phase θi of the winding current of stepping motor 2 is controlled to be the phase θi = θfb ± K + F(ωfb), which is the function F(ωfb) of the rotor speed ωfb and the addition of the specified value ±K to the detected value θfb of rotor position detector 3. In this case, the absolute value of the specified value ±K is set to a value equivalent to 60 degrees or more (preferably 70 degrees or more, and more preferably 80 degrees or more) in electrical angle. This allows acceleration and deceleration at approximately maximum torque, facilitates adjustment, and realizes a control system robust to external disturbances.
[0221] Although one embodiment of the present invention has been described above, the present invention can also be implemented in other forms.
[0222] For example, in the above embodiment, position control is performed to control the rotor position using a position command as input. However, other control methods may be used, such as speed control to control the rotor speed using a speed command as input, acceleration control to control the rotor acceleration using an acceleration command as input, torque control to control the generated torque (winding current) using a torque command (current command) as input, and voltage control to control the voltage applied to the winding using a voltage command as input. Furthermore, any two or more of these control methods may be combined.
[0223] In adjustment mode, data representing position commands (the command phase θi in the above-mentioned embodiment), speed commands (equivalent to the differential value of the command phase θi), acceleration commands (equivalent to the second-order differential value of the command phase θi), torque commands (equivalent to the motor winding current commands Iacom and Ibcom), and voltage commands (commands for the voltage applied to the windings) are stored, depending on the control method. This stored data is then used to create a usage pattern profile.
[0224] In addition, the above embodiment directly uses the current command phase θi collected in the state of being properly adjusted in the adjustment mode. * To form a usage mode profile, you can also adjust the current command phase θi as needed. * Appropriate corrections are implemented to form usage pattern profiles.
[0225] Furthermore, in adjustment mode, rotor position θfb data can be collected and used as control data to form a usage mode profile after appropriate adjustment. In this case, during acceleration, a fixed value +K is added to the control data to determine the rotor position command θcom. Furthermore, during deceleration, a fixed value -K is added to the control data to determine the rotor position command θcom. This rotor position command θcom is then used to execute microstepping drive using open-loop control.
[0226] The embodiments of the present invention have been described in detail, but these are merely specific examples used to clarify the technical content of the present invention. The present invention should not be construed as being limited to these specific examples, and the scope of the present invention is defined only by the appended claims.
[0227] This application claims priority based on Japanese Patent Application No. 2020-60887 filed on March 30, 2020, and incorporates all the contents of that application into this application.
[0228] Description of labels
[0229] 1 Control device
[0230] 2 stepper motors
[0231] 3 Rotor position detector
[0232] 4 Setting tool
[0233] 11. Operation unit
[0234] 12 Memory
[0235] 13 Current control unit
[0236] 14 interfaces.
Claims
1. A control device for a stepping motor, A stepping motor equipped with a rotor position detector is controlled by micro-stepping drive, wherein the control device of the stepping motor is characterized in that: The device has a plurality of operation modes including an adjustment mode and a usage mode, and includes a memory for storing an adjustment mode configuration file, which is a configuration file applied in the adjustment mode, and a usage mode configuration file, which is a configuration file applied in the usage mode. In the adjustment mode, control data is generated based on the detection value of the rotor position detector, and closed-loop control of the winding current of the stepping motor is performed according to the control data to accelerate and decelerate the stepping motor. A plurality of the control data generated in each control cycle in a time series is stored in the memory as the adjustment mode profile, and the adjustment mode profile is changed until the stepping motor responds appropriately. In the usage mode, the control data that enables the stepper motor to respond appropriately, which is stored in the memory, is used as the usage mode profile to perform open-loop control of the winding current of the stepper motor to reproduce the winding current in the adjustment mode and accelerate and decelerate the stepper motor.
2. The stepping motor control device according to claim 1, wherein In the closed-loop control in the adjustment mode, the control data is generated so that the phase θi of the winding current of the stepping motor becomes the phase θi = θfb±K+F(ωfb) obtained by adding the specified value ±K and the function F(ωfb) of the rotor speed ωfb to the detection value θfb of the rotor position detector, wherein K is a constant having a positive sign in one of the acceleration operation and the deceleration operation and a negative sign in the other of the acceleration operation and the deceleration operation.
3. The stepping motor control device according to claim 2, wherein: The absolute value of the predetermined value ±K corresponds to a value smaller than 90 degrees in electrical angle.
4. The stepping motor control device according to claim 3, wherein: The absolute value of the predetermined value ±K corresponds to a value of 60 degrees or more in electrical angle.
5. The control device for a stepping motor according to any one of claims 1 to 4, wherein: In the adjustment mode, the rotor is moved toward the target position using the acceleration operation and the deceleration operation, the time width of the acceleration period of the acceleration operation and the deceleration period of the deceleration operation are adjusted so that the rotor speed at the target position becomes zero, and the acceleration operation and the deceleration operation in the use mode are performed based on the control data in the state where the adjustment is completed.
6. The stepping motor control device according to claim 5, wherein: It also includes an automatic adjustment unit, which, in the adjustment mode, uses the acceleration operation and the deceleration operation to move the rotor toward the target position, and automatically adjusts the time width of the acceleration period of the acceleration operation and the deceleration period of the deceleration operation so that the rotor speed at the target position becomes zero.
7. The stepping motor control device according to claim 5, wherein: The control data generated in the adjustment mode includes control data for position holding control, which controls the winding current of the stepping motor so that the target position becomes an excitation stabilization point after the deceleration operation, and in the adjustment mode, a position holding operation is performed to maintain the position of the rotor at the target position according to the control data. In the use mode, after the deceleration operation, the winding current of the stepping motor is reproduced based on the control data for the position holding control in the adjustment mode, thereby performing the position holding operation for holding the position of the rotor at the target position.
8. The stepping motor control device according to claim 6, wherein: The control data generated in the adjustment mode includes control data for position holding control, which controls the winding current of the stepping motor so that the target position becomes an excitation stabilization point after the deceleration operation, and in the adjustment mode, a position holding operation is performed to maintain the position of the rotor at the target position according to the control data. In the use mode, after the deceleration operation, the winding current of the stepping motor is reproduced based on the control data for the position holding control in the adjustment mode, thereby performing the position holding operation for holding the position of the rotor at the target position.
9. The control device for a stepping motor according to any one of claims 1 to 4, wherein: The control data represents at least one of a rotor position, a position command, a current command, and a voltage command.
10. The control device for a stepping motor according to any one of claims 1 to 4, wherein: The open-loop control in the use mode includes winding current control of the stepping motor performed without using a detection value of the rotor position detector.
Citation Information
Patent Citations
Driving method for stepping motor, driving system, and current pattern update device
JP2012175730A
Stepping motor driving device and stepping motor driving method
JP2018196206A
Pronunciation display device, pronunciation display method and program
JP2020060887A
Moving device and spectrophotometer using the same
JP2000060184A
Control Device for Stepping Motor
US20080272730A1