Engine control unit

DE112022007372T5Pending Publication Date: 2025-03-27FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
DE112022007372
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-08-25
Publication Date
2025-03-27

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A technology is provided which, during the orientation control of an induction motor, enables the determination of a correct acceleration / deceleration to stop a rotating shaft at a specific target position in a shorter time. The present invention discloses a motor control unit that controls an induction motor to drive a rotating shaft and performs orientation control to stop the rotating shaft at a target position, wherein the motor control unit comprises a speed comparison unit that calculates the difference between the actual speed of the rotating shaft and a speed command; a speed setpoint calculation unit that, if the absolute value of the difference is less than a predetermined limit, modifies the speed command so that the absolute value of the difference is greater than or equal to the limit;an acceleration command calculation unit which, during orientation control, calculates an acceleration command based on an acceleration / deceleration calculated from the actual velocity of the rotating shaft if the velocity command has been changed; and a trajectory calculation unit which, based on the acceleration command, calculates the velocity command and / or a positioning command until the target position is reached.
Need to check novelty before this filing date? Find Prior Art

Description

Technical area

[0001] The present disclosure relates to an engine control unit. Background of the invention

[0002] Typically, motor controllers control the rotational value, speed, torque, and the like of a servo motor that drives a rotary axis of an industrial machine, such as a machine tool. One known control method using a motor controller is orientation control, in which a spindle of a rotating industrial machine is stopped at a specific position for the purpose of tool changing or the like (see, for example, Patent Document 1).

[0003] Specifically, orientation control that determines the maximum acceleration / deceleration when the maximum applicable electric current is applied to the servomotor at any given time, with which the spindle rotates, to accelerate and decelerate the servomotor, and stops the spindle at a specific position by issuing an acceleration command based on the determined maximum acceleration / deceleration, is called optimal orientation control. With optimal orientation control, the spindle can be stopped at a specific position in the shortest possible time. Citation listPatent documents:

[0004] Patent Document 1: Unexamined Japanese Patent Application, Publication No. 2021-27684 Disclosure of the invention Problems to be solved by the invention:

[0005] In optimal orientation control, an orientation speed different from the current speed is set to determine the maximum acceleration / deceleration, and speed control is performed to switch from the current speed to the orientation speed. However, the asynchronous motor used as a servo motor has the characteristic that it takes time for the magnetic flux to increase sufficiently during acceleration and deceleration. Therefore, if the difference between the orientation speed and the current speed is small, the time to determine the acceleration / deceleration is insufficient.For this reason, a small acceleration / deceleration in a state where the magnetic flux does not increase sufficiently, meaning sufficient torque is not achieved, is mistakenly detected as the maximum acceleration / deceleration, and the correct maximum acceleration / deceleration cannot be determined. Therefore, orientation control is performed based on an acceleration command based on an acceleration / deceleration smaller than the maximum acceleration / deceleration. This creates a problem that the orientation time becomes long.

[0006] An object of the present disclosure is to provide a technique capable of determining the correct acceleration / deceleration and stopping a rotary axis at a specific target position in a shorter time in the orientation control of an induction motor. Means to solve the problems:

[0007] The present disclosure relates to a motor control device that controls an induction motor for driving a rotary axis and performs orientation control for stopping the rotating rotary axis at a target position, the motor control device comprising: a speed comparator that calculates a difference between an actual speed of the rotary axis and a speed command; a speed command calculation unit that, in the case where an absolute value of the difference is smaller than a predetermined limit value, changes the speed command so that the absolute value of the difference is equal to or greater than the limit value; an acceleration command calculation unit that calculates an acceleration command for a time of the orientation control based on an acceleration / deceleration calculated from the actual speed of the rotary axis when the speed command is changed;and a trajectory calculation unit that calculates at least one of the positioning command and the speed command based on the acceleration command until the target position is reached.; Effects of the invention:

[0008] According to the present disclosure, it is possible to provide a technology capable of determining correct acceleration / deceleration in orientation control of the induction motor and stopping the rotary axis at a specific target position in a shorter time. Short description of the drawings Fig. 1 is a block diagram showing a configuration of a control device according to an embodiment of the present disclosure; Fig. 2 provides diagrams showing a primary-side d-axis current, a secondary-side d-axis linkage magnetic flux, a primary-side q-axis current, and a torque T of the induction motor; Fig. 3 is a diagram showing the changes in speed from time t0 to time t3 and from time t3 to time t1 in Fig. 2 shows; Fig. Figure 4 is a diagram showing the magnitudes of the maximum acceleration / deceleration values ​​obtained from time t0 to time t3 and from time t0 to time t1 in Fig. 2 were identified; Fig. 5 is a flowchart showing a method of speed control processing in orientation control according to an embodiment of the present disclosure; Fig. 6 is a flowchart showing a procedure of acceleration calculation; Fig. 7 is a flowchart showing a flow of position control processing in orientation control according to an embodiment of the present disclosure; Fig. 8 is a diagram for describing the calculation of the positioning command (a trajectory) according to an embodiment of the present disclosure; Fig. 9 is a diagram for describing position control according to an embodiment of the present disclosure; Fig. 10 is a flowchart showing a procedure for calculating a positioning command (a path); Fig. 11 is a diagram showing a conventional orientation control, and is a diagram showing a speed change when stopping at a target position by deceleration after acceleration; Fig. 12 is a diagram showing orientation control according to an embodiment of the present disclosure, and is a diagram showing a speed change when stopping at a target position by deceleration after acceleration; Fig. 13 is a diagram showing a conventional orientation control unit, and is a diagram showing a speed change when stopping at a target position only by deceleration; Fig. 14 is a diagram showing the orientation control unit according to an embodiment of the present disclosure, and is a diagram showing a speed change when stopping at a target position only by deceleration; and Fig. 15 is a block diagram showing a configuration of a control device according to a modification of an embodiment of the present disclosure. Preferred embodiment of the invention

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

[0010] Fig. Figure 1 is a block diagram showing a structure of a control device 1 according to an embodiment of the present disclosure. The control device 1 according to the present embodiment is a control device for a motor 3 that drives a rotation axis of a machine tool or an industrial machine, such as a robot. As shown in Fig. 1, the control unit 1 comprises 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 element 17, a speed control unit 18 and a current control unit 19.

[0011] The controller 1 executes orientation control to stop the rotating axis at a specific target position through the respective functional units described above. In particular, to ensure sufficient acceleration / deceleration detection time, when the current speed (initial speed) and the orientation speed are close to each other and the difference between them is small during orientation control, the controller 1 can determine the correct acceleration / deceleration by changing the orientation speed and stop the spindle or the like of the machine tool at a specific target position in a shorter time.

[0012] The control unit 1 is configured using a computer including a memory such as ROM (Read Only Memory) and RAM (Random Access Memory), a CPU (Control Processing Unit), a communication control unit, and the like, which are connected to each other via a bus, for example. The functions and operations of the functional units are achieved through the cooperation of the CPU and memory incorporated in the computer and the control programs stored in the memory.

[0013] Control unit 1 is connected to a CNC (Computer Numerical Controller) controller (not shown). Signals such as a speed command, a positioning command, and an orientation command are input from the CNC to control unit 1.

[0014] Furthermore, as in Fig. 1, for driving and controlling the motor 3, a current sensor 4, which detects a current value applied to the motor 3 in response to a voltage command applied to the motor 3, is electrically connected to the control unit 1. Furthermore, a position and speed sensor 5 for detecting the position and speed of the motor 3 is electrically connected to the control unit 1.

[0015] The motor 3 drives a rotational axis of an industrial machine, such as a machine tool or a robot. The motor 3 of the present embodiment is a servo motor configured as an induction motor. In the induction motor, an induced current is generated in a rotor by means of a rotating magnetic field generated by a stator, and a torque corresponding to the slip is generated.

[0016] The current sensor 4 detects a 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.

[0017] The position and speed sensor 5 is provided in 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 and 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. An encoder, for example, is used as the specific position and speed sensor 5.

[0018] The acceleration command calculation unit 11 calculates an acceleration command at the time of orientation control based on an acceleration / deceleration calculated from an actual speed of the rotation axis when the speed command is changed by the speed command calculation unit 16 described later. That is, in order to ensure sufficient acceleration / deceleration detection time when the current speed (initial speed) and the orientation speed are close to each other during orientation control, the acceleration command calculation unit 11 calculates the acceleration / deceleration from the actual speed when the orientation speed has been changed, and calculates the acceleration command based on the calculated acceleration / deceleration.The actual speed of the rotary axis is determined from the position and speed detection value transmitted by the position and speed sensor 5.

[0019] Furthermore, it is preferable that the acceleration command calculation unit 11 calculates the acceleration / deceleration at the time of speed control until the actual speed is switched from the current speed (initial speed) to the orientation speed changed in the above-described case, when the maximum current applicable at that time is applied to the motor 3 to accelerate and decelerate the motor 3 in a predetermined cycle. This makes it possible to calculate the acceleration command based on the correct maximum acceleration / deceleration.

[0020] In particular, the acceleration command calculation unit 11 preferably sets a maximum acceleration / deceleration value with the largest magnitude among the calculated accelerations / decelerations as the absolute value of the acceleration command. However, not only for optimal orientation control, but also in applications with broader orientation control, the acceleration command may be calculated based on an average value or an instantaneous value, rather than being limited to the maximum value of the calculated acceleration / deceleration.

[0021] The acceleration command calculation unit 11 calculates the acceleration / deceleration for each orientation control. Orientation control is performed, for example, when a tool of a machine tool is replaced. Since the inertia of the spindle changes due to tool replacement, it is important to determine the acceleration / deceleration.

[0022] The trajectory calculation unit 12 calculates a positioning command based on the acceleration command from the orientation controller until a specific target stop position is reached. The acceleration command is acquired by the aforementioned acceleration command calculation unit 11.

[0023] Preferably, the trajectory calculation unit 12 calculates a positioning command to perform acceleration / deceleration at the maximum acceleration / deceleration to minimize the time to reach the target stop position. Specifically, it is advantageous to calculate the positioning command to accelerate at the maximum acceleration and then decelerate at the maximum deceleration to stop at the target position.

[0024] The integrator 13 detects the current position by integrating the current speed of the rotary axis. The detected current position is transmitted to the position control unit 14. The current speed is determined from the position and speed detection value transmitted by the position and speed sensor 5.

[0025] The position control unit 14 calculates the speed command based on the position deviation between the current position and the positioning command of the integrator 13. The calculated speed command is forwarded to the switching element 17.

[0026] The speed comparison unit 15 calculates the difference between the current speed of the rotary axis and the speed command. The resulting difference is forwarded to the speed command calculation unit 16. The current speed is determined from the position and speed detection value transmitted by the position and speed sensor 5. The speed command is input via the CNC.

[0027] If the absolute value of the difference is less than a predetermined limit, the speed command calculation unit 16 changes the speed command so that the absolute value of the difference becomes equal to or greater than the limit. The changed speed command is transmitted to the switching element 17.

[0028] The limit value is preferably set for each motor 3. Specifically, the limit value is preferably set based on a magnetic flux rise time corresponding to the resistance and inductance of the induction motor. It can be calculated and set based on the current speed.

[0029] In particular, if the absolute value of the difference between the actual speed v st and the speed command v1 is less than the limit value v th where the actual speed (current speed) v stis, the speed command is v1 and the limit value is v th is, then the speed command calculation unit 16 preferably changes the speed command v1 to the speed command v 21 , which is represented by the following expression (1), or in the speed command v 22 , which is represented by the following expression (2). Expression 1: V21=Vst−Vth V22=Vst+Vth

[0030] The switching element 17 switches between the speed command from the position control unit 14 and the speed command from the speed calculation unit 16. That is, in the orientation control of the present embodiment, the switching element 17 switches between the speed control (sequence 1) and the position control unit (sequence 2).

[0031] The speed control unit 18 calculates an electric current command based on the speed command from the switching element 17. The calculated and detected electric current command value is transmitted to the current control unit 19.

[0032] The current control unit 19 calculates a voltage command to be applied to the motor 3 based on the electric current command and applies an electric current corresponding to the calculated voltage command to the motor 3. The current control unit 19 detects the electric current value detected by the current sensor 4 and performs electric current feedback control so that the difference between the detected electric current value and the target value becomes 0.

[0033] The characteristics of the asynchronous motor forming motor 3 are described below with reference to the Fig. 2 to 4 described in detail.

[0034] First, slip frequency vector control is applied to motor 3, which consists of an induction motor. In slip frequency vector control, a sum of a slip frequency, which is a frequency of an electric current flowing through a rotor winding of an induction motor, and a motor rotation frequency are controlled as the output frequency of an inverter. At this time, the torque T of motor 3 is represented by the following expression (3). Expression 2: T=PnML2ϕ2di1q

[0035] In expression (3) P n the number of pole pairs, M is the mutual inductance, L2 is the secondary side inductance, φ 2d is the secondary d-axis linkage magnetic flux, and i 1q is the primary current in the q-axis.

[0036] The secondary d-axis linking magnetic flux φ 2dincreases with a time constant τ2, which is represented by the following expression (5) from the relational expression of the following expression (4). Expression 3: dϕ2ddt=R2ML2i1d−R2L2ϕ2d

[0037] In expression (4), R2 is a secondary resistance and i 1d is a primary-side electric current in the d-axis. Expression 4: τ2=L2R2

[0038] Fig. 2 is a diagram showing the primary current i 1d in the d-axis, the secondary d-axis linkage magnetic flux φ 2d , the primary current i 1q in the q-axis and the torque T of the motor 3 formed by an induction motor. Fig. Figure 2 is a graph showing the temporal change of each of these parameters at the time of the increase. As in Fig. 2, the primary current i 1din the d-axis a controllable electric current that contributes to the magnetic flux, which increases from time t0 and already reaches the maximum value i* at time t3 1d Similarly, the primary current i 1q in the q-axis a controllable electric current which contributes to the torque T as shown in the above expression (3) and which has increased from time t0 and at time t3 already has the maximum value i* 1q has reached.

[0039] On the other hand, the secondary d-axis linkage magnetic flux φ 2d from time t0 and has not yet reached the maximum value Mi* at time t3 1d is reached, and it can be seen that the time constant τ2 is long. In particular, the time constant of the current control of the primary current i 1d in the d-axis and the primary current i 1qin the q-axis is 1 ms or less, while the time constant τ2 of the secondary-side d-axis linkage magnetic flux φ 2d 1 ms to 500 ms. In addition, the time constant τ2 of the secondary d-axis linkage magnetic flux φ 2d a motor-specific value represented by the secondary-side inductance L2 and the secondary-side resistance R2 as shown by the expression (5) described above, and the rise time thereof cannot be controlled.

[0040] Therefore, as in Fig. 2, the torque T of the motor 3, represented as the product of the secondary d-axis linkage magnetic flux φ 2d and the primary current i 1q in the q-axis, as shown by the above expression (3), a long time constant and a slow rise, similar to the secondary-side d-axis linkage magnetic flux φ 2d. That is, the motor 3 designed as an induction motor requires time until the magnetic flux increases sufficiently at the time of acceleration and deceleration, and therefore has the characteristic that the increase in torque is also slow.

[0041] Fig. 3 is a diagram showing the changes in speed from time t0 to time t3 and from time t3 to time t1 in Fig. 2 shows. From time t0 to time t3 it can be seen that the gradient of the velocity, i.e. the deceleration from the initial velocity v st, is small because the magnetic flux and torque of the motor 3 are not sufficiently increased as described above. On the other hand, in the period from time t3 to time t1, since the state in which the magnetic flux and torque of the motor 3 sufficiently increase is included, it can be seen that the delay is larger than in the period from time t0 to time t3.

[0042] Fig. Figure 4 is a graph showing the magnitude of the acceleration / deceleration maximum value occurring from time t0 to time t3 and from time t0 to time t1 in Fig. 2 was determined. As can be seen from Fig. 4, the maximum acceleration / deceleration value determined in the time t0 to t1 is greater than the maximum acceleration / deceleration value determined in the time t0 to t3.

[0043] Therefore, to determine the correct acceleration / deceleration or maximum acceleration / deceleration, it is important to set the orientation speed to ensure a sufficient difference between the initial speed and the orientation speed, thus ensuring sufficient acceleration / deceleration detection time during orientation control. Therefore, in the present embodiment, when the current speed (initial speed) and the orientation speed are close to each other during speed control for switching from the current speed (initial speed) to the orientation speed, the orientation speed is changed so that the difference between the initial speed and the orientation speed is greater than the threshold value.This ensures sufficient acceleration / deceleration detection time and allows the correct acceleration / deceleration and maximum acceleration / deceleration to be determined.

[0044] Next, the method of orientation control processing according to the present embodiment will be described in detail with reference to the drawings.

[0045] Fig. 5 is a flowchart showing a flow of speed control processing in the orientation control according to the present embodiment. The orientation control according to the present embodiment is executed by the controller 1 when, for example, a tool of a machine tool is replaced.

[0046] In the present embodiment, the speed control based on the speed command is referred to as sequence 1, and the positioning control based on the positioning command is referred to as sequence 2.

[0047] In step S1, a speed control (sequence 1) is carried out to cause the speed of the motor 3 to exceed the initial speed v st After that, the processing proceeds to step S2. Although the asynchronous motor has the characteristic of not outputting sufficient torque at high speed even if the magnetic flux is sufficiently increased, the asynchronous motor can output sufficient torque at low speed, but it takes a certain time to adjust the phase to reach the target position. Therefore, it is advantageous that the initial speed v stis set to a suitable average speed so that the torque can be achieved appropriately and the time for phase adjustment to reach the target position can be shortened.

[0048] In step S2, the positioning command (orientation command) is input to control unit 1. This positioning command (orientation command) is transmitted from the CNC described above. Processing then proceeds to step S3.

[0049] In step S3, a speed deviation, which is a difference between the speed command for the orientation v1 and the initial speed v st is detected. Processing then continues with step S4.

[0050] In step S4 it is determined whether the absolute value |v1-v st | the speed deviation is greater than a set value (limit value) v thIf this is determined to be YES, processing proceeds to step S6. If it is determined to be NO, processing proceeds to step S5, and the speed command v1 is changed to the speed command v2, and then processing proceeds to step S6. The orientation speed command v2 is set, for example, to a speed command obtained by subtracting a set value (limit value) v th from the initial velocity v st is obtained as shown in expression (1) above.

[0051] In step S6, an acceleration calculation (acceleration determination) is performed. After that, the processing continues with step S7. Details of the acceleration calculation (acceleration determination) are described with reference to Fig. 6 described. Fig. 6 is a flowchart showing a flow of acceleration calculation processing.

[0052] In step S61, the acceleration a is calculated. Specifically, the acceleration a is calculated using the following expression (6). After that, processing proceeds to step S62. Expression 5: a=vi−vi−nnΔt

[0053] In expression (6), Δt is a sampling period,v i is an actual speed at time t = iΔt, v i-n is an actual velocity at time t = (in)Δt, n is a natural number, and i is a variable.

[0054] In step S62, it is determined whether the absolute value |a| of the acceleration a calculated in step S61 is greater than the maximum acceleration a max If this is determined to be YES, processing proceeds to step S63. If this is determined to be NO, processing proceeds to step S64. The initial value of the maximum acceleration a max is set to 0.

[0055] In step S63, the maximum acceleration a max to the absolute value |a| of the acceleration a calculated in step S61. Processing then continues with step S64.

[0056] In step S64, “1” is added to the variable i to set i = i+1, and the current processing is terminated.

[0057] The acceleration calculation (acceleration determination) described above is an example where the maximum acceleration a max as the calculated (determined) acceleration. This acceleration calculation (determination) is performed repeatedly until the current speed matches the acceleration command speed, as described later in step S7.

[0058] In order to Fig. To return to step S5, it is determined in step S7 whether the current speed corresponds to the orientation command speed. If it is determined to be YES, processing proceeds to step S8. If it is determined to be NO, processing returns to step S6 to repeatedly execute the acceleration calculation (acceleration detection).

[0059] In step S8, the processing proceeds to the positioning control (sequence 2), and the positioning control (sequence 2) is executed. After that, the processing goes to step S9 in Fig. 7 above. The Fig. 7 is a flowchart showing a method of positioning control processing during orientation control according to the present embodiment.

[0060] In step S9, the absolute value of the acceleration command a* is set to the calculated (determined) acceleration. Processing then proceeds to step S10.

[0061] In step S10, a positioning command (path) for stopping at the target position is calculated based on the acceleration command a*. After that, the processing proceeds to step S11. Details of the calculation of the positioning command (path) are described with reference to Fig. 8 to 10 described.

[0062] The Fig. Fig. 8 is a diagram for explaining a positioning command (path) calculated according to the present embodiment. In particular, Fig. 8 is a diagram showing an orientation control according to the present embodiment. As shown in Fig. 8, when a positioning command (speed command) is input to the controller 1 at time t0, the acceleration a0 (in the example of the present embodiment, the maximum detected acceleration) is obtained by performing acceleration calculation (detection) processing between time t0 and time t1 from the current speed (initial speed) to the orientation speed v0.

[0063] At this time, the acceleration command is calculated so that the absolute value |a*| of the acceleration command becomes the calculated (determined) acceleration a0. Based on the calculated acceleration command and the position (phase angle) of the rotary axis at the positioning control unit start time t1 with respect to the target stop position of the rotary axis, a distance S1 for which the rotary axis is maximally accelerated from the start of the positioning control unit and then maximally decelerated until the rotary axis returns to the orientation speed v0, and a remaining distance S0 for which the rotary axis is maximally decelerated until the target stop position are determined. The reason why the acceleration command is executed to perform maximum acceleration and then maximum deceleration after the start of positioning control is to stop the rotary axis at the target position in the shortest time.However, depending on the position (phase angle) of the rotary axis at the positioning control start time t1 with respect to the target stop position of the rotary axis, there are cases where the acceleration command can only be a command to perform the maximum deceleration.

[0064] The Fig. 9 is a diagram for explaining the positioning control according to the present embodiment. Fig. 9 shows in particular a movement path S x in the direction of rotation when positioning the rotary axis. As in Fig. 9, the movement path S x the sum of the path S1 over which the rotary axis is maximally accelerated from the start of the positioning control and then maximally decelerated until the rotary axis returns to the orientation speed v0, and the remaining path S0 over which the rotary axis is maximally decelerated to the target stop position.

[0065] As from Fig. As can be seen from Figure 8, the distance S1 is represented by the following expression (7), where the time t4-t1 during which the rotation axis is maximally accelerated from the start of positioning control and then maximally decelerated until the rotation axis returns to the orientation speed v0 is defined as Δt. Since the time t2-t4 during which the rotation axis is maximally decelerated to the target stop position is represented by |v0| / a0, the distance S0 is represented by the following expression (8). Expression 6: S1=|v0|Δt+14a0Δt2 Expression 7: S0=v022a0

[0066] Therefore, the movement distance S x represented by the following expression (9) using the above expressions (7) and (8). Expression 8: Sx=|v0|Δt+14a0Δt2+v022a0

[0067] From the above expression (9), the time Δt during which the rotation axis is maximally accelerated from the start of positioning control and then maximally decelerated until the rotation axis returns to the orientation speed v0 is represented by the following expression (10). Expression 9: Δt=2a0(−|v0|+12v02+a0Sx)

[0068] Based on the above, the procedure for calculating the positioning command (path) is described. Fig. 10 is a flowchart showing the procedure of positioning command (path) calculation processing.

[0069] In step S101, the distance from the current position (positioning control start position at time t1 in Fig. 8) to the target stop position as S x defined. Processing then continues with step S102.

[0070] In step S102, it is determined whether the distance S xis equal to or greater than the remaining distance S0 by which the rotation axis is maximally decelerated to the target stop position. As described above, the distance S0 is represented by the above expression (8). If YES, processing proceeds to step S104. If NO, processing proceeds to step S103.

[0071] In step S103, 360 (degrees) becomes the distance S x from the current position (positioning control start position at time t1 in Fig. 8) is added to the target stop position. This is because, if the determination in step S102 is NO, that is, if the distance S xis smaller than the remaining distance S0 for which the rotation axis is maximally decelerated to the target stop position. Since it is not possible to stop the rotation axis with the maximum deceleration at the target position, it is necessary to add one revolution to the movement distance so that the distance S1 is secured by which the rotation axis is maximally accelerated from the start of the positioning control and then maximally decelerated until the rotation axis has returned to the orientation speed v0. After that, the processing returns to step S102 to check again whether the distance S x is equal to or greater than the distance S0, and the processing proceeds to step S104.

[0072] In step S104, the time Δt during which the rotation axis is accelerated to its maximum from the start of positioning control and then decelerated to its maximum until the rotation axis returns to the orientation speed v0 is calculated. Specifically, this is calculated according to expression (10) above. After that, processing proceeds to step S105.

[0073] In step S105, an acceleration command for accelerating the rotation axis with the maximum acceleration is calculated when time t is between time t1 and time t1 + Δt / 2. If time t is greater than time t1 + Δt / 2, the acceleration command for decelerating the rotation axis with the maximum deceleration is also calculated. Consequently, it is possible to perform the maximum acceleration in the first half of time Δt, during which the rotation axis is maximally accelerated from the start of positioning control and then maximally decelerated until the rotation axis returns to the orientation speed v0, and then perform the maximum deceleration in the second half of the time. After that, the present process is terminated.

[0074] Returning to Fig. 7, in step S11, the rotation axis is caused by the position control to reach the target position and stop there. The orientation control processing according to the present embodiment is thus terminated.

[0075] Next, a specific example of the orientation control according to the present embodiment will be described with reference to FIG. Fig. 11 to 14 in comparison with conventional orientation control.

[0076] The Fig. Figure 11 is a diagram showing a conventional orientation control, and is a diagram showing a speed change when stopping at a target position by maximum deceleration after maximum acceleration. Fig. Fig. 12 is a diagram showing the orientation control unit according to the present embodiment, and is a diagram showing a change in speed when stopping at a target position by maximum deceleration after maximum acceleration. Fig. Figure 13 is a diagram showing a conventional orientation control, and is a diagram showing a speed change when stopping at the target position only by the maximum deceleration. Fig. Fig. 14 is a diagram showing the orientation control unit according to the present embodiment, and is a diagram showing a speed change when stopping at the target position only by maximum deceleration. In each of the Fig. 11 to 14, the speed control (sequence 1) is executed from time t0 to time t1, and the positioning control (sequence 2) is executed from time t1 to time t2.

[0077] As in the Fig. 11 and Fig. 13, in the conventional orientation control unit, when the difference between the orientation speed v1 and the current speed (initial speed v st ) is small, since the acceleration / deceleration detection time t1-t0 is short, the small acceleration / deceleration a1 in a state where the magnetic flux of the motor 3 does not increase sufficiently, thus sufficient torque is not achieved, is mistakenly detected as the maximum acceleration / deceleration, and the correct maximum acceleration / deceleration cannot be determined. Therefore, it can be seen that positioning control is executed according to the acceleration command based on the acceleration / deceleration a1, which is smaller than the maximum acceleration / deceleration, and thus the time t2 in which the target stop position is reached is delayed.

[0078] On the other hand, as in Fig. 12 and Fig. 14, in the orientation control of the present embodiment, when the difference between the orientation speed v1 and the current speed (initial speed v st ) less than a predetermined limit v th is, then the orientation speed v2, which is a difference to the current speed (initial speed v st ) which is equal to or greater than the predetermined limit v thThis ensures that the acceleration / deceleration detection time t1-t0 is longer than in the prior art, and the correct maximum acceleration / deceleration a2 is determined in a state where the magnetic flux of the motor 3 increases sufficiently to achieve sufficient torque. Therefore, it can be seen that positioning control is executed according to the acceleration command based on the correct maximum acceleration / deceleration a2, and the time t2 to reach the target stop position is shorter.

[0079] According to the present embodiment, the following advantageous effects are achieved.

[0080] The present embodiment provides a speed comparison unit 15 that calculates the difference between the actual speed of the rotation axis and the speed command, and a speed command calculation unit 16 that changes the speed command so that the absolute value of the difference is equal to or greater than a threshold value when the absolute value of the difference is smaller than the predetermined threshold value. Further, a speed control command calculation unit 11 that calculates an acceleration command at the time of orientation control based on the acceleration / deceleration calculated from the actual speed of the rotation axis when the speed command was changed, and a trajectory calculation unit 12 that calculates a positioning command until the target position is reached based on the acceleration command are provided.

[0081] With such a configuration, in a case where the current speed (initial speed) and the orientation speed are close to each other and the difference between them is small during orientation control, it is possible to determine the correct acceleration / deceleration by changing the orientation speed to ensure sufficient acceleration / deceleration detection time. Therefore, it is possible to stop the spindle or the like of a machine tool at a specific target position in a shorter time.

[0082] Furthermore, the present embodiment is configured to calculate the acceleration / deceleration when the applicable maximum electric current is applied to the motor 3 to accelerate and decelerate the motor 3, to set a maximum acceleration / deceleration value having the maximum magnitude among the calculated accelerations / decelerations as the absolute value of the acceleration command, and to calculate the positioning command for performing the acceleration / deceleration at the maximum acceleration / deceleration so as to minimize the time until a target position is reached.

[0083] With such a configuration, since it is possible to execute the positioning control to the target stop position by the acceleration command based on the correct maximum acceleration / deceleration, it is possible to stop the spindle or the like of a machine tool at a certain target position in a shorter time.

[0084] Further, the present embodiment is configured to calculate a positioning command to accelerate with the maximum acceleration and then decelerate with the maximum deceleration to stop at the target position.

[0085] With such a configuration, since it is possible to execute positioning control for a target stop position after accelerating at the correct maximum acceleration according to the acceleration command based on the correct maximum acceleration / deceleration, it is possible to stop the spindle or the like of a machine tool at a certain target position in the shortest time.

[0086] Next, a modification of the above embodiment will be described with reference to Fig. 15 described.

[0087] The Fig.15 is a block diagram showing a configuration of a control device 2 according to a modification of the embodiment of the present disclosure. The present modification differs from the above-described embodiment in that, unlike the trajectory calculation unit 12 of the above-described embodiment, a trajectory calculation unit 22 calculates a speed command instead of a positioning command until a certain target stop position is reached. That is, the trajectory calculation unit 22 calculates the speed command until a certain target stop position is reached based on the acceleration command of the orientation controller. Therefore, in the present modification, unlike the above-described embodiment, the integrator 13 and the position control unit 14 are not provided.

[0088] According to the present modification, the same orientation control processing as in the above-described embodiment is performed, and the same advantageous effects as in the above-described embodiment are achieved.

[0089] Furthermore, the present disclosure is not limited to the embodiments described above, and modifications and improvements within a range in which the object of the present disclosure can be achieved are included in the present disclosure. Explanation of reference numbers 1, 2 Control unit (engine control unit) 3 Motor (asynchronous motor) 4 Current sensor 5 Position and speed sensor 11, 21 Acceleration command calculation unit 12, 22 Orbit calculation unit 13 Integrators 14 Position control unit 15, 25 Speed ​​comparison unit 16, 26 Speed ​​command calculation unit 17, 27 switching element 18, 28 Speed ​​control unit 19, 29 Power control unit QUOTES CONTAINED IN THE DESCRIPTION

[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature

[0000] JP 2021-27684

[0004]

Claims

[1] A motor control device that controls an induction motor to drive a rotary axis and performs orientation control to stop the rotary axis rotating to a target position, the motor control device comprising: a speed comparison unit that calculates a difference between an actual speed of the rotation axis and a speed command; a speed command calculation unit that, in a case where an absolute value of the difference is smaller than a predetermined limit value, changes the speed command so that the absolute value of the difference is equal to or larger than the limit value; an acceleration command calculation unit that calculates an acceleration command for the orientation control time based on an acceleration / deceleration calculated from the actual speed of the rotation axis when the speed command is changed; and a trajectory calculation unit that calculates at least one of a positioning command and a speed command based on the acceleration command to reach the target position. [2] The engine control device according to claim 1, wherein the actual speed is defined as v st is defined, the speed command is defined as v1 and the limit value is defined as v th is defined, and where in the case where an absolute value of a difference between the actual speed v st and the speed command v1 is less than the limit value v this, the speed command calculation unit converts the speed command v1 into a speed command v 21 , represented by the following expression (1), or into a speed command v 22 , represented by the following expression (2), changes, V21=Vst−Vth V22=Vst+Vth [3] The engine control device according to claim 1 or 2, wherein the acceleration command calculation unit calculates an acceleration / deceleration when an applicable maximum electric current is applied to the induction motor to accelerate and decelerate the induction motor, wherein a maximum acceleration / deceleration value having the largest value among the calculated accelerations / decelerations is set as an absolute value of the acceleration command, and wherein the trajectory calculation unit calculates a positioning command for performing acceleration / deceleration with the maximum acceleration / deceleration to minimize the time to reach the target position. [4] The engine control device according to claim 3, wherein the trajectory calculation unit calculates a positioning command for accelerating with a maximum acceleration and then decelerating with a maximum deceleration to stop at the target position.

Citation Information

Patent Citations

  • Control apparatus of servomotor

    JP2021027684A

  • 2021-27684