Motor control device

The motor control device addresses the issue of incorrect speed detection in induction motors by adjusting speed commands and calculating accurate acceleration and deceleration, enabling faster stopping at target positions.

JP7853428B2Active Publication Date: 2026-04-28FANUC LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FANUC LTD
Filing Date
2022-08-25
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

In optimal orientation control of induction motors, the detection time for acceleration and deceleration speeds is insufficient due to the magnetic flux rise time, leading to incorrect detection of maximum speeds and prolonged stopping times at specific positions.

Method used

A motor control device that includes a speed comparison unit to adjust the speed command difference to exceed a threshold, an acceleration command calculation unit to calculate accurate acceleration and deceleration based on actual shaft speed, and a trajectory calculation unit to determine the position command, ensuring sufficient detection time for correct acceleration and deceleration.

Benefits of technology

Enables accurate detection of correct acceleration and deceleration speeds, allowing the rotating shaft to be stopped at a specific target position in a shorter time by ensuring sufficient magnetic flux rise time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007853428000011
    Figure 0007853428000011
  • Figure 0007853428000012
    Figure 0007853428000012
  • Figure 0007853428000013
    Figure 0007853428000013
Patent Text Reader

Abstract

Provided is technology that, in orientation control of an induction motor, makes it possible to detect correct acceleration / deceleration and stop a rotation shaft at a specific target position in a shorter time. The present invention is a motor control device that controls an induction motor for driving a rotation shaft and that performs orientation control to stop the rotating rotation shaft at a target position, said motor control device comprising: a speed comparison unit that calculates the difference between the actual speed of the rotation shaft and a speed command; a speed command calculation unit that, when the absolute value of the difference is less than a predetermined threshold value, changes the speed command so that the absolute value of the difference becomes greater than or equal to the threshold value; an acceleration command calculation unit that calculates an acceleration command during the orientation control on the basis of acceleration / deceleration which is calculated from the actual speed of the rotation shaft when the speed command has been changed; and a trajectory calculation unit that, on the basis of the acceleration command, calculates the speed command and / or a position command until the target position is reached.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to a motor control device. [Background technology]

[0002] Conventionally, servo motors that drive the rotating shafts of industrial machinery such as machine tools have their rotation amount, speed, and torque controlled by a motor control device. As a control method by the motor control device, orientation control is known, which stops the spindle of a rotating industrial machine at a specific position for purposes such as tool changes (see, for example, Patent Document 1).

[0003] In particular, orientation control that detects the maximum acceleration / deceleration when the maximum currently available current is applied to a servo motor rotating the spindle, and then stops the spindle at a specific position using an acceleration command based on the detected maximum acceleration / deceleration, is called optimal orientation control. According to this optimal orientation control, the spindle can be stopped at a specific position in the shortest possible time. [Prior art documents] [Patent Documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2021-27684 [Overview of the Initiative] [Problems that the invention aims to solve]

[0005] By the way, in the optimal orientation control, an orientation speed different from the current speed is set to detect the maximum acceleration and deceleration speed, and speed control for switching from the current speed to the orientation speed is executed. However, in the induction motor used as the servo motor, there is a characteristic that it takes time for the magnetic flux to fully rise during acceleration and deceleration. Therefore, when the difference between the orientation speed and the current speed is small, the detection time of the acceleration and deceleration speed is not sufficient, so a small acceleration and deceleration speed in a state where the magnetic flux has not fully risen, that is, sufficient torque has not been obtained, is misrecognized as the maximum acceleration and deceleration speed, and the correct maximum acceleration and deceleration speed cannot be detected. Therefore, there is a problem that the orientation control based on the acceleration command based on the acceleration and deceleration speed smaller than the maximum acceleration and deceleration speed is executed, and the orientation time becomes long.

[0006] An object of the present disclosure is to provide a technique capable of detecting a correct acceleration and deceleration speed and stopping a rotating shaft at a specific target position in a shorter time in the orientation control of an induction motor.

Means for Solving the Problems

[0007] The present disclosure relates to a motor control device that controls an induction motor that drives a rotating shaft and executes orientation control to stop the rotating shaft that is rotating at a target position, and includes a speed comparison unit that calculates a difference between the actual speed of the rotating shaft and a speed command, and when the absolute value of the difference is smaller than a predetermined threshold value, a speed command calculation unit that changes the speed command so that the absolute value of the difference becomes equal to or greater than the threshold value, and an acceleration command calculation unit that calculates an acceleration command during the orientation control based on the acceleration and deceleration speed calculated from the actual speed of the rotating shaft when the speed command is changed, and a trajectory calculation unit that calculates at least one of a position command and a speed command until the target position is reached based on the acceleration command.

Effects of the Invention

[0008] According to this disclosure, in the orientation control of an induction motor, it is possible to provide a technology that can detect the correct acceleration and deceleration and stop the rotating shaft at a specific target position in a shorter time. [Brief explanation of the drawing]

[0009] [Figure 1] This figure shows the configuration of a control device according to one embodiment of the present disclosure. [Figure 2] This figure shows the primary d-axis current, secondary d-axis flux linkage, primary q-axis current, and torque T of an induction motor. [Figure 3] Figure 2 shows the change in velocity from time t0 to time t3 and from time t3 to time t1. [Figure 4] This figure shows the magnitude of the maximum acceleration / deceleration values ​​detected at times t0 to t3 and t0 to t1. [Figure 5] This flowchart shows the procedure for speed control processing in orientation control according to one embodiment of the present disclosure. [Figure 6] This is a flowchart showing the procedure for calculating acceleration. [Figure 7] This flowchart shows the procedure for positioning control processing in orientation control according to one embodiment of the present disclosure. [Figure 8] This is a diagram illustrating the position command (trajectory) calculation process according to one embodiment of the present disclosure. [Figure 9] This figure illustrates positioning control according to one embodiment of the present disclosure. [Figure 10] This is a flowchart showing the procedure for calculating position commands (trajectory). [Figure 11] This diagram illustrates conventional orientation control, showing the change in speed when accelerating and then decelerating to stop at the target position. [Figure 12] This figure shows orientation control according to one embodiment of the present disclosure, illustrating the change in speed when stopping at a target position by accelerating and then decelerating. [Figure 13]This diagram illustrates conventional orientation control, showing the change in speed when stopping at the target position using only deceleration. [Figure 14] This figure shows orientation control according to one embodiment of the present disclosure, and illustrates the change in speed when stopping at the target position by deceleration alone. [Figure 15] This is a block diagram showing the configuration of a control device according to a modified example of one embodiment of the present disclosure. [Modes for carrying out the invention]

[0010] Hereinafter, one embodiment of the present disclosure will be described in detail with reference to the drawings.

[0011] Figure 1 is a block diagram showing the configuration of a control device 1 according to one embodiment of the present disclosure. The control device 1 according to this embodiment is a control device for a motor 3 that drives the rotating shaft of an industrial machine such as a machine tool or a robot. As shown in Figure 1, the control device 1 includes an acceleration command calculation unit 11, a trajectory calculation unit 12, an integrator 13, a position control unit 14, a speed comparison unit 15, a speed command calculation unit 16, a switching unit 17, a speed control unit 18, and a current control unit 19.

[0012] The control device 1 performs orientation control to stop the rotating shaft at a specific target position using the functions described above. In particular, when the current speed (initial speed) and the orientation speed are close and the difference between them is small, the control device 1 changes the orientation speed to ensure sufficient time for acceleration / deceleration detection, thereby enabling the correct acceleration / deceleration to be detected and the spindle of the machine tool to be stopped at a specific target position in a shorter time.

[0013] The control device 1 is configured using a computer equipped with memory such as ROM (read-only memory) and RAM (random access memory), a CPU (control processing unit), and a communication control unit, which are connected to each other via a bus, for example. The functions and operations of each of the above-mentioned functional units are achieved through the cooperation of the CPU, memory, and control programs stored in the memory installed in the computer.

[0014] A CNC (Computer Numerical Controller), not shown in the diagram, is connected to control device 1. Signals such as speed commands, position commands, and orientation commands are input from this CNC to control device 1.

[0015] Furthermore, as shown in Figure 1, the control device 1 is electrically connected to a current sensor 4 that detects the current value applied to the motor 3 in accordance with the voltage command applied to the motor 3 in order to drive and control the motor 3. In addition, the control device 1 is electrically connected to a position / speed sensor 5 for detecting the position and speed of the motor 3.

[0016] Motor 3 drives the rotating shaft of industrial machinery such as machine tools and robots. Motor 3 in this embodiment is a servo motor composed of an induction motor. In an induction motor, a rotating magnetic field generated by the stator induces a current in the rotor, generating a rotational torque corresponding to the slip.

[0017] The current sensor 4 detects the current flowing through the motor 3 in response to a voltage command applied to the motor 3. The current value detected by the current sensor 4 is transmitted to the current control unit 19.

[0018] The position / speed sensor 5 is installed on the motor 3 and detects the position and speed of the motor 3. The position and speed values ​​of the motor 3 detected by the position / speed sensor 5 are transmitted to the acceleration command calculation unit 11, the integrator 13, the speed comparison unit 15, and the speed control unit 18, respectively. For example, an encoder can be used as the specific position / speed sensor 5.

[0019] The acceleration command calculation unit 11 calculates the acceleration command during orientation control based on the acceleration / deceleration calculated from the actual speed of the rotating shaft when the speed command is changed by the speed command calculation unit 16, which will be described later. That is, when the current speed (initial speed) and the orientation speed are close during orientation control, the acceleration command calculation unit 11 calculates the acceleration / deceleration from the actual speed when the orientation speed is changed in order to ensure sufficient acceleration / deceleration detection time, and calculates the acceleration command based on the calculated acceleration / deceleration. The actual speed of the rotating shaft is obtained from the position / speed detection values ​​transmitted from the position / speed sensor 5.

[0020] Furthermore, it is preferable that the acceleration command calculation unit 11 calculates the acceleration and deceleration when the maximum current that can be supplied to the motor 3 at that time is applied at predetermined intervals during speed control from the current speed (initial speed) until the actual speed switches to the orientation speed changed in the above case. This makes it possible to calculate acceleration commands based on the correct maximum acceleration and deceleration.

[0021] Specifically, the acceleration command calculation unit 11 preferably uses the value of the maximum acceleration / deceleration degree, which is the largest value among the calculated acceleration / deceleration, as the absolute value of the acceleration command. However, when applying this not only to optimal orientation control but also to a wider range of orientation control, the acceleration command may be calculated based on the average value or instantaneous value, rather than being limited to the maximum value of the calculated acceleration / deceleration degree.

[0022] The acceleration command calculation unit 11 calculates acceleration and deceleration for each orientation control. Orientation control is performed, for example, when changing tools in a machine tool. Since the spindle inertia changes when tools are changed, detecting acceleration and deceleration is important.

[0023] The trajectory calculation unit 12 calculates the position command until reaching a specific target stopping position, based on the acceleration command of the orientation control. The acceleration command is obtained from the acceleration command calculation unit 11 described above.

[0024] The trajectory calculation unit 12 preferably calculates a position command to accelerate and decelerate at the maximum acceleration / deceleration rate so that the time to reach the target stopping position is minimized. Specifically, it is preferable to calculate a position command to stop at the target position by accelerating at the maximum acceleration rate and then decelerating at the maximum deceleration rate.

[0025] The integrator 13 obtains the actual position by integrating the actual velocity of the rotation axis. The obtained actual position is transmitted to the position control unit 14. The actual velocity is obtained from the position and velocity detection values ​​transmitted from the position and velocity sensor 5.

[0026] The position control unit 14 calculates a speed command based on the position deviation between the actual position from the integrator 13 and the position command. The calculated speed command is transmitted to the switching unit 17.

[0027] The speed comparison unit 15 calculates the difference between the actual speed of the rotating shaft and the speed command. The difference obtained through the calculation is transmitted to the speed command calculation unit 16. The actual speed is obtained from the position and speed detection values ​​transmitted from the position and speed sensor 5. The speed command is input from the CNC.

[0028] The speed command calculation unit 16 modifies the speed command so that the absolute value of the difference is equal to or greater than the threshold if the absolute value of the difference is less than a predetermined threshold. The modified speed command is transmitted to the switching unit 17.

[0029] The above threshold is preferably set for each motor 3. Specifically, the threshold is preferably set based on the magnetic flux rise time corresponding to the resistance and inductance of the induction motor. It may also be calculated and set based on the current speed.

[0030] Specifically, the speed command calculation unit 16 calculates the actual speed (current speed) as v st , speed command v1, threshold v th When this is the case, the actual velocity v st The absolute value of the difference between and the speed command v1 is the threshold v th If it is smaller, the speed command v1 is expressed as the speed command v shown in the following formula (1)21 Alternatively, the speed command v represented by the following formula (2) 22 It is preferable to change it to this.

[0031]

number

[0032] The switching unit 17 switches between the speed command from the position control unit 14 and the speed command from the speed command calculation unit 16. In other words, the switching unit 17 performs the switching between speed control (sequence 1) and positioning control (sequence 2) in the orientation control of this embodiment.

[0033] The speed control unit 18 calculates a current command based on the speed command from the switching unit 17. The calculated and acquired current command is transmitted to the current control unit 19.

[0034] The current control unit 19 calculates a voltage command to be applied to the motor 3 based on the current command and applies a current to the motor 3 according to the calculated voltage command. The current control unit 19 also acquires the current value detected by the current sensor 4 and performs current feedback control so that the difference between the acquired current value and the command value becomes zero.

[0035] Next, the characteristics of the induction motor that makes up motor 3 will be explained in detail with reference to Figures 2 to 4.

[0036] First, slip frequency vector control is applied to motor 3, which is composed of an induction motor. Slip frequency vector control controls the motor by using the sum of the slip frequency, which is the frequency of the current flowing through the rotor winding of the induction motor, and the motor rotation frequency as the output frequency of the inverter. At this time, the torque T of motor 3 is expressed by the following equation (3).

[0037]

number

[0038] Also, the secondary-side d-axis linkage flux φ 2d rises with the time constant τ2 expressed by the following equation (5) from the relational expression of the following equation (4).

[0039]

Equation

[0040]

Equation

[0041] Here, FIG. 2 is a diagram showing the primary-side d-axis current i 1d , the secondary-side d-axis linkage flux φ 2d , the primary-side q-axis current i 1q and the torque T of the motor 3 composed of an induction motor. Specifically, FIG. 2 is a diagram showing the time change at the rising time of each of these parameters. As shown in FIG. 2, the primary-side d-axis current i 1d is a controllable current contributing to the magnetic flux, which rises from time t0 and already reaches the maximum value i * 1d at time t3. Similarly, the primary-side q-axis current i 1q is a controllable current contributing to the torque T as shown by the above equation (3), which rises from time t0 and already reaches the maximum value i * 1q at time t3.

[0042] On the other hand, the secondary-side d-axis linkage flux φ 2d rises from time t0 and has not yet reached its maximum value Mi * 1d at time t3, indicating that its time constant τ2 is long. Specifically, the primary-side d-axis current i 1dor primary side q-axis current i 1q The time constant for current control is less than 1 ms, whereas the secondary d-axis flux linkage φ 2d The time constant τ² is between 1 ms and 500 ms. In addition, the secondary d-axis flux linkage φ 2d As shown in equation (5) above, the time constant τ2 is a motor-specific value represented by the secondary inductance L2 and secondary resistance R2, and its rise time cannot be controlled.

[0043] Therefore, as shown in equation (3) above, the secondary d-axis flux linkage φ 2d and primary side q-axis current i 1q The torque T of motor 3, expressed as the product of the secondary d-axis flux linkage φ, is as shown in Figure 2. 2d Similarly, it has a long time constant and a slow rise time. In other words, motor 3, which is composed of an induction motor, takes time for the magnetic flux to rise sufficiently during acceleration and deceleration, and as a result it has the characteristic of having a slow torque rise time.

[0044] Figure 3 shows the change in velocity from time t0 to time t3 and from time t3 to time t1 in Figure 2. From time t0 to time t3, as described above, the magnetic flux and torque of motor 3 have not yet risen sufficiently, so the slope of the velocity, i.e., the initial velocity v st It can be seen that the deceleration from this point is small. In contrast, from time t3 to time t1, the magnetic flux and torque of motor 3 are in a state where they have risen sufficiently, so it can be seen that the deceleration is larger compared to time t0 to time t3.

[0045] Figure 4 shows the magnitude of the maximum acceleration / deceleration values ​​detected at times t0 to t3 and t0 to t1 in Figure 2. As is clear from Figure 4, the maximum acceleration / deceleration values ​​detected at times t0 to t1 are larger than the maximum acceleration / deceleration values ​​detected at times t0 to t3.

[0046] Therefore, in order to detect the correct acceleration / deceleration and maximum acceleration / deceleration, it is important to set the orientation speed so that there is a sufficient difference between the initial speed and the orientation speed in order to ensure sufficient acceleration / deceleration detection time during orientation control. For this reason, in this embodiment, when speed control is performed to switch from the current speed (initial speed) to the orientation speed, if the current speed (initial speed) and the orientation speed are close, the orientation speed is changed so that the difference between the initial speed and the orientation speed becomes greater than the above threshold. This ensures sufficient acceleration / deceleration detection time, making it possible to detect the correct acceleration / deceleration and maximum acceleration / deceleration.

[0047] Next, the procedure for the orientation control process according to this embodiment will be described in detail with reference to the drawings.

[0048] Figure 5 is a flowchart showing the procedure for speed control processing in orientation control according to this embodiment. Orientation control according to this embodiment is executed by the control device 1, for example, when changing the tool of a machine tool. In this embodiment, speed control based on a speed command is designated as sequence 1, and positioning control based on a position command is designated as sequence 2.

[0049] In step S1, speed control (sequence 1) is performed, and the speed of motor 3 is set to the initial speed v st The motor is brought to this point. Then, the process proceeds to step S2. Here, the induction motor has the characteristic that even if the magnetic flux has risen sufficiently, it cannot produce sufficient torque at high speeds, while at low speeds it can produce sufficient torque but it takes time to align the phase in order to reach the target position. Therefore, the initial velocity v st Therefore, it is preferable to set the speed to a moderate medium speed so that a suitable amount of torque can be obtained and the time required for phase alignment to reach the target position can be shortened.

[0050] In step S2, a positioning command (orientation command) is input to the control device 1. This positioning command (orientation command) is transmitted from the CNC mentioned above. Then, the process proceeds to step S3.

[0051] In step S3, the orientation speed command v1 and the initial velocity v st Obtain the velocity deviation, which is the difference between the two values. Then proceed to step S4.

[0052] In step S4, the absolute value of the velocity deviation is |v1-v st | However, the set value (threshold) v th Determine whether it is greater than or less. If this determination is YES, proceed to step S6. If this determination is NO, proceed to step S5, change orientation velocity command v1 to orientation velocity command v2, and then proceed to step S6. As orientation velocity command v2, for example, the initial velocity v as shown in equation (1) above. st From the set value (threshold) v th The speed command is set to the value after subtracting the specified amount.

[0053] In step S6, the acceleration calculation (acceleration detection) process is executed. Then, the process proceeds to step S7. For details of the acceleration calculation (acceleration detection) process, please refer to Figure 6. Figure 6 is a flowchart showing the procedure for the acceleration calculation process.

[0054] In step S61, the acceleration a is calculated. Specifically, the acceleration a is calculated using the following formula (6). Then, the process proceeds to step S62.

[0055]

number

[0056] In step S62, the absolute value |a| of the acceleration a calculated in step S61 is equal to the maximum acceleration a max Determine whether it is greater than or less than. If this determination is YES, proceed to step S63. If this determination is NO, proceed to step S64. Note that the maximum acceleration a max The initial value is set to 0.

[0057] In step S63, the maximum acceleration a max The value is updated to the absolute value |a| of acceleration a calculated in step S61. Then, the process proceeds to step S64.

[0058] In step S64, 1 is added to the variable i to make i = i + 1, and this process ends.

[0059] The acceleration calculation (acceleration detection) process described above is for maximum acceleration a max This is an example where the calculated (detected) acceleration is used. This acceleration calculation (acceleration detection) process will be repeatedly executed until the current velocity matches the orientation command velocity, as will be explained in step S7 later.

[0060] Returning to Figure 5, in step S7, it is determined whether the current speed matches the orientation command speed. If the determination is YES, the process proceeds to step S8. If the determination is NO, the process returns to step S6 and the acceleration calculation (acceleration detection) process is repeatedly executed.

[0061] In step S8, the process moves to positioning control (sequence 2) and executes positioning control (sequence 2). After that, the process proceeds to step S9 in Figure 7. Figure 7 is a flowchart showing the procedure for positioning control in orientation control according to this embodiment.

[0062] In step S9, acceleration command a * The absolute value of is set as the calculated (detected) acceleration. Then, proceed to step S10.

[0063] In step S10, acceleration command a *The system then calculates the position command (trajectory) to stop at the target position. After that, the process proceeds to step S11. Details of the position command (trajectory) calculation process are explained with reference to Figures 8 to 10.

[0064] Figure 8 is a diagram illustrating the position command (trajectory) calculation process according to this embodiment. Specifically, Figure 8 is a diagram illustrating the velocity change in orientation control according to this embodiment. As shown in Figure 8, when a position command (orientation command) is input to the control device 1 at time t0, the acceleration a0 (maximum detected acceleration in this embodiment) is detected by executing the acceleration calculation (detection) process between time t0 and time t1, from the current velocity (initial velocity) to the orientation velocity v0.

[0065] Also, at this time, the absolute value of the acceleration command |a * An acceleration command is calculated such that | becomes the calculated (detected) acceleration a0. Based on the calculated acceleration command and the position (phase angle) of the rotation axis at the start time t1 of positioning control relative to the target stopping position of the rotation axis, the distance S1 traveled from the start of positioning control to maximum acceleration followed by maximum deceleration to return to the orientation velocity v0, and the remaining distance S0 to maximum deceleration to the target stopping position are determined. The reason for setting the acceleration command to maximum acceleration followed by maximum deceleration after the start of positioning control is to stop the rotation axis at the target position in the shortest possible time. However, depending on the position (phase angle) of the rotation axis at the start time t1 of positioning control relative to the target stopping position of the rotation axis, an acceleration command that only causes maximum deceleration may suffice.

[0066] Figure 9 is a diagram illustrating the positioning control according to this embodiment. Specifically, Figure 9 shows the rotational movement distance S in the positioning control of the rotating axis. x This shows that, as shown in Figure 9, the distance traveled S x This is the sum of the distance S1 traveled from the start of positioning control until maximum deceleration returns to the orientation velocity v0 after maximum acceleration, and the remaining distance S0 traveled to the target stopping position while maximum deceleration is performed.

[0067] As can be seen from Figure 8, if Δt is the time t4-t1 from the start of positioning control until maximum acceleration and then maximum deceleration to return to the orientation velocity v0, then the distance S1 is expressed by equation (7) below. Also, the time t2-t4 for maximum deceleration to the remaining target stopping position is expressed by |v0| / a0, so the distance S0 is expressed by equation (8) below.

[0068]

number

[0069]

number

[0070] Therefore, using the above equations (7) and (8), the distance traveled S x This is expressed by the following equation (9).

[0071]

number

[0072] Then, from equation (9) above, the time Δt from the start of positioning control to maximum acceleration followed by maximum deceleration and returning to the orientation velocity v0 is expressed as shown in equation (10) below.

[0073]

number

[0074] Based on the above, the procedure for calculating the position command (trajectory) will now be explained. Figure 10 is a flowchart showing the procedure for calculating the position command (trajectory).

[0075] In step S101, the distance from the current position (the positioning control start position at time t1 in Figure 8) to the target stop position is S x Then proceed to step S102.

[0076] Step S102 is distance S x However, it is determined whether the remaining distance S0 required to achieve maximum deceleration to the target stopping position is greater than or equal to this distance. As mentioned above, the distance S0 is expressed by equation (8) above. If this determination is YES, proceed to step S104. If this determination is NO, proceed to step S103.

[0077] In step S103, the distance S is the distance from the current position (the positioning control start position at time t1 in Figure 8) to the target stop position. x Add 360 (deg) to it. This is because the determination in step S102 is NO, i.e., distance S x This is because the distance S0 required to decelerate to the target stopping position is smaller than the remaining distance S0, and it is not possible to stop at the target position with maximum deceleration. Therefore, an additional distance equivalent to one full rotation is added to ensure the distance S1 traveled from the start of positioning control to the point where maximum acceleration is followed by maximum deceleration to return to the orientation velocity v0. After that, the process returns to step S102 and the distance S x Check whether the distance is greater than or equal to S0, and proceed to step S104.

[0078] In step S104, the time Δt is calculated from the start of positioning control until the vehicle returns to the orientation velocity v0 after accelerating to maximum and then decelerating to maximum. Specifically, it is calculated according to equation (10) above. After that, the process proceeds to step S105.

[0079] In step S105, an acceleration command is calculated to accelerate the rotation axis with maximum acceleration when time t is between time t1 and time t1+Δt / 2. Furthermore, an acceleration command is calculated to decelerate the rotation axis with maximum deceleration when time t is after time t1+Δt / 2. This allows for maximum acceleration in the first half of the time Δt from the start of positioning control until maximum deceleration returns to the orientation velocity v0, and maximum deceleration in the second half. After this, the process terminates.

[0080] Returning to Figure 7, in step S11, the rotation axis is moved to the target position and stopped by position control. This completes the orientation control process according to this embodiment.

[0081] Next, a specific example of orientation control according to this embodiment will be described in comparison with conventional orientation control, with reference to Figures 11 to 14.

[0082] Figure 11 shows a conventional orientation control, illustrating the change in speed when stopping at the target position by accelerating to maximum and then decelerating to maximum. Figure 12 shows an orientation control according to this embodiment, illustrating the change in speed when stopping at the target position by accelerating to maximum and then decelerating to maximum. Figure 13 also shows a conventional orientation control, illustrating the change in speed when stopping at the target position is possible with maximum deceleration alone. Figure 14 shows an orientation control according to this embodiment, illustrating the change in speed when stopping at the target position is possible with maximum deceleration alone. In all of Figures 11 to 14, speed control (sequence 1) is performed from time t0 to time t1, and positioning control (sequence 2) is performed from time t1 to time t2.

[0083] As shown in Figures 11 and 13, in conventional orientation control, the orientation velocity v1 and the current velocity (initial velocity v st If the difference between this and the maximum acceleration / deceleration is small, the detection time t1-t0 for acceleration / deceleration is short, and the small acceleration / deceleration a1, which occurs when the magnetic flux of motor 3 has not risen sufficiently, i.e., sufficient torque has not been obtained, is mistakenly identified as the maximum acceleration / deceleration, and the correct maximum acceleration / deceleration is not detected. As a result, positioning control is performed using an acceleration command based on an acceleration / deceleration a1 that is smaller than the maximum acceleration / deceleration, and the time t2 at which the target stop position is reached is delayed.

[0084] In contrast, as shown in Figures 12 and 14, in the orientation control of this embodiment, the orientation speed v1 and the current speed (initial speed v st The difference from ) is a predetermined threshold v th If it is smaller than the current velocity (initial velocity v st The difference from ) is a predetermined threshold v thThe orientation speed v2 is changed as described above. This ensures that the acceleration / deceleration detection time t1-t0 is longer than before, and the correct maximum acceleration / deceleration a2 is detected when the magnetic flux of motor 3 has risen sufficiently and sufficient torque is obtained. As a result, positioning control is performed using acceleration commands based on the correct maximum acceleration / deceleration a2, and it can be seen that the time t2 when reaching the target stop position is shortened.

[0085] According to this embodiment, the following effects are achieved.

[0086] In this embodiment, a speed comparison unit 15 is provided to calculate the difference between the actual speed of the rotating shaft and the speed command, and a speed command calculation unit 16 is provided to change the speed command so that the absolute value of the difference is equal to or greater than a predetermined threshold if the absolute value of the difference is smaller than a predetermined threshold. In addition, an acceleration command calculation unit 11 is provided to calculate the acceleration command during orientation control based on the acceleration / deceleration calculated from the actual speed of the rotating shaft when the speed command is changed, and a trajectory calculation unit 12 is provided to calculate the position command until the target position is reached based on the acceleration command.

[0087] This allows for accurate acceleration / deceleration detection in orientation control when the current speed (initial speed) and the orientation speed are close and the difference between them is small, by changing the orientation speed to ensure sufficient time for acceleration / deceleration detection. As a result, the spindle of the machine tool can be stopped at a specific target position in a shorter time.

[0088] In this embodiment, the acceleration and deceleration are calculated by applying the maximum possible current to the motor 3, and the value of the maximum acceleration / deceleration degree, which is the largest of the calculated acceleration and deceleration values, is used as the absolute value of the acceleration command. A position command is then calculated to accelerate and decelerate at the maximum acceleration / deceleration rate so that the time to reach the target position is minimized.

[0089] This allows positioning control to the target stopping position to be performed using acceleration commands based on the correct maximum acceleration / deceleration, enabling the spindle of a machine tool to be stopped at a specific target position in a shorter amount of time.

[0090] In this embodiment, the system is configured to calculate a position command that involves accelerating at maximum acceleration and then decelerating at maximum deceleration to stop at the target position.

[0091] This allows for positioning control to be performed from the correct maximum acceleration based on an acceleration command derived from the correct maximum acceleration and deceleration, to the target stopping position, thus enabling the machine tool's spindle or other components to be stopped at a specific target position in the shortest possible time.

[0092] Next, a modified example of the above embodiment will be described with reference to Figure 15.

[0093] Figure 15 is a block diagram showing the configuration of a control device 2 according to a modified example of one embodiment of the present disclosure. In this modified example, the trajectory calculation unit 22 differs from the trajectory calculation unit 12 of the above embodiment in that it calculates a velocity command instead of a position command until reaching a specific target stop position. That is, the trajectory calculation unit 22 calculates a velocity command until reaching a specific target stop position based on the acceleration command of the orientation control. Therefore, unlike the above embodiment, this modified example does not include an integrator 13 or a position control unit 14.

[0094] According to this modified example, the same orientation control process as in the above embodiment is performed, and the same effects as in the above embodiment are achieved.

[0095] This disclosure is not limited to the embodiments described above, and any modifications or improvements that can achieve the objectives of this disclosure are included. [Explanation of Symbols]

[0096] 1,2 Control device (motor control device) 3. Motor (Induction Motor) 4 Current Sensor 5. Position and speed sensors 11,21 Acceleration command calculation section 12,22 Orbit calculation part 13 Integrator 14 Position Control Unit 15,25 Speed ​​comparison section 16,26 Speed ​​command calculation section 17,27 Switching section 18,28 Speed ​​control unit 19,29 Current control unit

Claims

1. A motor control device that controls an induction motor that drives a rotating shaft and performs orientation control to stop the rotating shaft at a target position, A speed comparison unit calculates the difference between the actual speed of the rotating shaft and the speed command, If the absolute value of the difference is less than a predetermined threshold, the speed command calculation unit modifies the speed command so that the absolute value of the difference is equal to or greater than the threshold. An acceleration command calculation unit calculates the acceleration command during orientation control based on the acceleration / deceleration calculated from the actual speed of the rotating shaft when the speed command is changed, A motor control device comprising: a trajectory calculation unit that calculates at least one of a position command and a velocity command to reach the target position based on the acceleration command.

2. The speed command calculation unit sets the actual speed as v st , the speed command as v 1 , and the threshold value as v th . When the absolute value of the difference between the actual speed v st and the speed command v 1 is smaller than the threshold value v th , the speed command v 1 is changed to the speed command v 21 represented by the following formula (1) or the speed command v 22 represented by the following formula (2). The motor control device according to claim 1. [Math 1]

3. The acceleration command calculation unit calculates the acceleration and deceleration when the maximum current that can be applied to the induction motor is applied, and takes the value of the maximum acceleration / deceleration degree, which has the greatest magnitude among the calculated acceleration and deceleration, as the absolute value of the acceleration command. The motor control device according to claim 1 or 2, wherein the trajectory calculation unit calculates a position command to accelerate or decelerate at the maximum acceleration / deceleration rate so as to minimize the time it takes to reach the target position.

4. The motor control device according to claim 3, wherein the trajectory calculation unit calculates a position command to accelerate at maximum acceleration and then decelerate at maximum deceleration to stop at the target position.

Citation Information

Patent Citations

  • Method and unit for controlling motor

    JP2011176906A

  • Motor drive controller and machine tool including the same

    JP2017123763A

  • Control apparatus of servomotor

    JP2021027684A

  • Motor control device

    JP2021069198A