Servo motor control device

The servo motor control device addresses torque ripple by using learning control and correction units to calculate and apply position-based correction data, enhancing torque control accuracy.

JP7754936B2Active Publication Date: 2025-10-15FANUC LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023554113
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-10-19
Publication Date
2025-10-15
Estimated Expiration
2041-10-19

AI Technical Summary

Technical Problem

Existing servo motors experience torque ripple due to changes in torque constant, cogging torque, and motor eccentricity, necessitating a control device that can correct these issues with higher accuracy.

Method used

A servo motor control device that includes a learning control unit to operate the servo motor at constant speed or acceleration, calculating correction data based on the servo motor's position, and a correction unit to apply this data to the motor command, using phase data and correction patterns to address torque ripple.

Benefits of technology

The device accurately corrects torque ripple by applying correction data to the servo motor command, improving the accuracy of torque control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007754936000001
    Figure 0007754936000001
  • Figure 0007754936000002
    Figure 0007754936000002
  • Figure 0007754936000003
    Figure 0007754936000003
Patent Text Reader

Abstract

Provided is a servomotor control device that can correct the torque ripple of a servomotor with higher accuracy. The servomotor control device for controlling the servomotor is provided with: a learning control unit that, on the basis of a first command for learning control acquired from a host control device, performs learning control by an operation of the servomotor at a constant speed or an operation at a constant acceleration, and calculates correction data that correspond to the position of the servomotor or a driven body driven by the servomotor; and, a correction unit for acquiring a second command for driving the servomotor from the host control device, and applying the correction data to a command based on the second command.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a servo motor control device. [Background technology]

[0002] Conventionally, a learning control method for controlling a servo motor is known, which minimizes control deviation by utilizing the repetitiveness of the operation. Known learning controls include a time-synchronized method in which a time period for the repetitive operation is defined and a correction amount is calculated for each time sampling period of the learning control, and an angle-synchronized method in which a movement amount for one period of the repetitive operation is defined and a correction amount is calculated for reference positions obtained by dividing the movement amount for one period into multiple portions. For example, Patent Document 1 discloses a servo motor control device that performs angle-synchronized learning control for a driven body that periodically reciprocates. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2011-269405 Summary of the Invention [Problem to be solved by the invention]

[0004] In such servo motors, torque ripple, which is torque fluctuation during steady state due to changes in torque constant, cogging torque, motor eccentricity, etc., may occur. Therefore, there is a demand for a servo motor control device that can correct torque ripple of servo motors with higher accuracy. [Means for solving the problem]

[0005] A servo motor control device according to one embodiment of the present disclosure is a servo motor control device that controls a servo motor, and includes a learning control unit that performs learning control by operating the servo motor at a constant speed or at a constant acceleration based on a first command for learning control obtained from a higher-level control device, and calculates correction data according to the position of the servo motor or a driven body driven by the servo motor, and a correction unit that obtains a second command for driving the servo motor from the higher-level control device and applies the correction data to a command based on the second command. [Effects of the Invention]

[0006] According to the present invention, the torque ripple of the servo motor can be corrected with higher accuracy. [Brief explanation of the drawings]

[0007] [Figure 1] 1 is a block diagram showing a configuration of a servo motor control device according to an embodiment of the present invention; [Figure 2] FIG. 2 is a diagram illustrating control of the servo motor control device according to the present embodiment. [Figure 3A] The torque constant is shown below. [Figure 3B] FIG. 10 is a diagram illustrating a correction coefficient. [Figure 4] FIG. 10 is a block diagram showing a partial configuration of a servo motor control device in the case of correction pattern A. [Figure 5] FIG. 10 is a diagram showing the relationship between the position, command acceleration, and torque command of the servo motor in the case of correction pattern A. [Figure 6] FIG. 10 is a diagram showing the relationship between the position, phase data, and torque command of the servo motor in the case of correction pattern A. [Figure 7] FIG. 10 is a diagram showing the correspondence between phase data and torque commands. [Figure 8] FIG. 10 is a diagram showing correction data calculated based on phase data and a torque command. [Figure 9]FIG. 10 is a diagram showing the correspondence between phase data and the position of a servo motor. [Figure 10] FIG. 10 is a diagram showing the correspondence between the position of the servo motor and correction data. [Figure 11A] FIG. 10 is a diagram showing correction data in a range of use. [Figure 11B] FIG. 10 is a diagram showing correction coefficients in a range of use. [Figure 12] 10 is a flowchart showing the processing of the servo motor control device in the case of correction pattern A. [Figure 13A] FIG. 10 is a diagram illustrating disturbance torque. [Figure 13B] FIG. 10 is a diagram showing a correction amount of a torque command. [Figure 14] FIG. 10 is a block diagram showing a partial configuration of a servo motor control device in the case of a correction pattern B. [Figure 15] 10 is a diagram showing the relationship between the position of the servo motor or the position of the driven body, the command velocity, and the torque command in the case of correction pattern B. FIG. [Figure 16] 10 is a diagram showing the relationship between the position of the servo motor or the position of the driven body, phase data, and torque command in the case of correction pattern B. FIG. [Figure 17] FIG. 10 is a diagram showing the correspondence between phase data and torque commands. [Figure 18] FIG. 10 is a diagram showing a correction amount calculated based on phase data and a torque command. [Figure 19] 10 is a diagram showing the correspondence relationship between the position of a servo motor or the position of a driven body and the correction amount. FIG. [Figure 20] 10A and 10B are diagrams illustrating correction amounts when the position of the servo motor or the driven body moves in the positive direction. [Figure 21] 10A and 10B are diagrams illustrating correction amounts when the position of the servo motor or the driven body moves in the negative direction. [Figure 22] 10 is a flowchart showing the processing of the servo motor control device 1 in the case of correction pattern B. [Figure 23A] The torque constant is shown below. [Figure 23B]FIG. 10 is a diagram illustrating a correction coefficient. [Figure 23C] FIG. 10 is a diagram illustrating disturbance torque. [Figure 23D] FIG. 10 is a diagram showing a correction amount of a torque command. [Figure 24] FIG. 10 is a block diagram showing a partial configuration of a servo motor control device in the case of a correction pattern C1. [Figure 25A] FIG. 10 is a diagram showing learning data in a range of use. [Figure 25B] FIG. 10 is a diagram showing learning data in a range of use. [Figure 26] 10 is a flowchart showing the processing of the servo motor control device in the case of the correction pattern C1. [Figure 27A] The torque constant is shown below. [Figure 27B] FIG. 10 is a diagram illustrating a correction coefficient. [Figure 27C] FIG. 10 is a diagram showing friction torque (constant disturbance torque). [Figure 27D] FIG. 10 is a diagram showing a correction amount of a torque command. [Figure 28] FIG. 10 is a diagram showing learning data in a range of use. [Figure 29] 10 is a flowchart showing the processing of the servo motor control device in the case of correction pattern C2. DETAILED DESCRIPTION OF THE INVENTION

[0008] <Configuration of servo motor control device> An example of an embodiment of the present invention will be described below. 1 is a block diagram showing the configuration of a servo motor control device 1 according to this embodiment. The servo control device 1 has a learning control unit 17 that uses an angle synchronization method, and controls a servo motor 4 that periodically reciprocates a driven body.

[0009] As shown in FIG. 1, the servo motor control device 1 includes a command acquisition unit 10, a command generation unit 11, an adder 12, a position and speed control unit 13, an adder 14, a torque current control unit 15, a phase data generation unit 16, a learning control unit 17, a memory unit 18, and a correction unit 19.

[0010] The command acquisition unit 10 acquires a first command for learning control and a second command for driving the servo motor from the upper control device 2. The command acquisition unit 10 outputs the acquired first command or second command to the command generation unit 11. Here, the first command is, for example, a command 21 for repeating a reciprocating motion, and the second command is, for example, a non-repeated command 22.

[0011] The command generation unit 11 generates torque, position, and speed commands for driving the servo motor 4 based on the first command or the second command output from the command acquisition unit 10. The command generation unit 11 outputs the generated commands to the adder 12 or the phase data generation unit 16.

[0012] The adder 12 calculates the deviation between the command from the command generating unit 11 and the detected value from the detector 5 , and outputs the deviation to the position and speed control unit 13 . The position and speed control unit 13 generates a torque command based on the deviation from the adder 12 and outputs it to the adder 14 .

[0013] The adder 14 adds the torque command from the position and speed control unit 13 and the correction data from the correction unit 19 and outputs the result to the torque current control unit 15 .

[0014] The torque current control unit 15 generates a current command based on the torque command and correction data and outputs it to the amplifier 3. The servo motor 4 drives the driven body (motor driving unit) based on the current command amplified by the amplifier 3. The detector 5 detects the position and speed of the servo motor 4 or the position and speed of the driven body driven by the servo motor 4, and outputs (feeds back) it to the adder 12.

[0015] Here, the servo motor 4 is, for example, a galvanometer motor in a galvanometer scanner, and is a three-phase motor or a single-phase motor. Note that in this embodiment, the servo motor 4 is described assuming that it is a galvanometer motor, but is not limited to this, and the servo motor 4 may be a motor used for other purposes.

[0016] The phase data generating unit 16 generates phase data for each servo control period based on the rotation speed or reciprocating period of the first command having repeatability and the servo control period of the servo motor control device 1.

[0017] Here, if the period of the repeatable first command is T0 and the elapsed time is t, the phase θ is expressed as a function θ(t) of the time t as shown in the following equation. θ(t)=360×(t / T0)

[0018] Furthermore, if the servo control period in the servo motor control device 1 is Ts, then time Ts elapses for each servo control period. Therefore, the phase θ(t) at the time when one servo control period has elapsed is calculated by substituting t=Ts, as follows: θ(Ts)=360×(Ts / T0) This becomes:

[0019] Then, the phase θ after n servo control periods (n=1, 2, 3, etc.) has elapsed is expressed as a function θ(n) of the period n, as follows: θ(n)=360×(n·Ts / T0) This becomes:

[0020] Based on the phase data generated by the phase data generating unit 16 and the first command, the learning control unit 17 performs learning control by operating the servo motor 4 at a constant speed (for example, unidirectional rotation or reciprocating motion) or operating at a constant acceleration (for example, reciprocating motion), and calculates correction data according to the position of the servo motor 4 or the position of the driven body driven by the servo motor 4. The learning control unit 17 performs angle-synchronized learning control. Furthermore, the learning control unit 17 calculates, as the correction data, a correction amount and / or a correction coefficient according to the position of the servo motor 4 or the position of the driven body driven by the servo motor 4.

[0021] The storage unit 18 stores the correction data calculated by the learning control unit 17. The correction unit 19 acquires a second command for driving the servo motor 4 from the upper control device 2, and applies the correction data stored in the memory unit 18 based on the second command. In detail, the correction unit 19 applies the correction data stored in the memory unit 18 to the torque command from the position and speed control unit 13.

[0022] 2 is a diagram showing the control of the servo motor control device 1 according to this embodiment. The servo motor control device 1 according to this embodiment uses correction pattern A, correction pattern B, and correction patterns C1 and C2 to correct torque ripple, as shown in FIG.

[0023] <Correction Pattern A> As shown in FIG. 2, in correction pattern A, the correction target is correction of changes in the torque constant, and the command during learning control (first command) includes a command to perform reciprocating motion of the driven body or servo motor 4 at a constant acceleration. The correction data calculated by learning control is a correction coefficient for correcting the torque constant. The target servo motor 4 is an ideal single-phase motor that does not take friction torque into consideration.

[0024] Figure 3A shows the torque constant k T 3A and 3B are diagrams showing the correction coefficient δ. As shown in FIG. 3A, when the servo motor 4 is a single-phase motor, the torque constant kT changes depending on the position of the servo motor 4. Therefore, as shown in FIG. 3B, the correction coefficient δ is calculated by T In order to correct the change in the value, it is desirable that the value corresponds to the position of the servo motor 4.

[0025] 4 is a block diagram showing a partial configuration of the servo motor control device 1 in the case of correction pattern A. As shown in FIG. 4, the correction unit 19 applies a correction coefficient δ to the torque command output from the position and speed control unit 13 to correct the torque constant k T The corrected torque command is then output to the torque current control unit 15.

[0026] Fig. 5 is a diagram showing the relationship between the position, command acceleration, and torque command of the servo motor 4 in the case of correction pattern A. Fig. 6 is a diagram showing the relationship between the position, phase data, and torque command of the servo motor 4 in the case of correction pattern A. The phase data in Fig. 6 is generated by the phase data generating unit 16 as described above.

[0027] As shown in Figures 5 and 6, torque ripple occurs in the torque command corresponding to the constant portion of the command acceleration due to changes in the torque constant. Note that the range of use for the position of the servo motor 4 in Figures 5 and 6 indicates the range in which the driven body actually operates.

[0028] Fig. 7 is a diagram showing the correspondence relationship between phase data and torque commands, and Fig. 8 is a diagram showing learning data calculated based on the phase data and torque commands. As shown in FIG. 7, the learning control unit 17 performs learning control based on the phase data and torque command for each servo control period (one period), and calculates learning data as shown in FIG.

[0029] Fig. 9 is a diagram showing the correspondence relationship between the phase data and the position of the servo motor 4. Fig. 10 is a diagram showing the correspondence relationship between the position of the servo motor 4 and the learning data.

[0030] 8 and 9, in which the horizontal axis represents the phase data, the learning control unit 17 calculates the correspondence between the position of the servo motor 4 and the learning data shown in Fig. 10. This allows the learning control unit 17 to calculate the learning data within the usage range of the servo motor 4.

[0031] FIG. 11A is a diagram showing learning data in the range of use of the driven body or servo motor 4, and FIG. 11B is a diagram showing correction coefficients in the range of use.

[0032] The learning control unit 17 can calculate the correction coefficients shown in Fig. 11B by normalizing the learning data T1(θ) shown in Fig. 11A with the minimum value Tb as a reference. T If is constant, the learning data T1(θ) becomes Tmin, which is a constant value.

[0033] Furthermore, the learning data T1(θ) obtained when the servo motor 4 is operated at a constant acceleration corresponding to the torque command Tmin can be considered to include a correction amount (=0) and a correction coefficient δ, as shown in the following equation. T1(θ)=(Tmin+0)δ(θ)

[0034] The learning control unit 17 may calculate both the correction coefficient when the servo motor 4 moves in the positive direction and the correction coefficient when the servo motor 4 moves in the negative direction, or may calculate only one of them.

[0035] FIG. 12 is a flowchart showing the processing of the servo motor control device 1 in the case of correction pattern A. In step S1, the command acquisition unit 10 acquires a first command for learning control from the upper control device 2. Here, the first command is a command having repeatability.

[0036] In step S2, the command generating unit 11 generates torque, position, and speed commands for driving the servo motor 4 based on the first command output from the command acquiring unit 10. The command generating unit 11 outputs the generated commands to the phase data generating unit 16.

[0037] In step S3, the phase data generating unit 16 generates phase data for each servo control period based on the reciprocating period of the first command having repeatability and the servo control period of the servo motor control device 1.

[0038] In step S4, the learning control unit 17 performs learning control by causing the servo motor 4 to reciprocate at a constant acceleration based on the generated phase data and the command generated from the first command, and calculates a correction coefficient according to the position of the servo motor 4. The learning control unit 17 stores the calculated correction coefficient in the memory unit 18.

[0039] In step S5, the command acquisition unit 10 acquires a second command for actually driving the servo motor 4 from the upper control device 2. Here, the second command may or may not have repeatability.

[0040] In step S6, the command generation unit 11 generates torque, position, and speed commands for driving the servo motor 4 based on the second command output from the command acquisition unit 10. The command generation unit 11 outputs the generated command to the adder 12. The adder 12 then calculates the deviation between the command from the command generation unit 11 and the detection value from the detector 5, and outputs it to the position and speed control unit 13. The position and speed control unit 13 generates a torque command based on the deviation from the adder 12, and outputs it to the adder 14.

[0041] In step S7, the correction unit 19 refers to the actual position of the servo motor 4 output from the detector 5, and applies the correction coefficient stored in the storage unit 18 to the torque command generated from the second command. In this way, the servo motor control device 1 corrects the change in the torque constant of the servo motor 4.

[0042] <Correction pattern B> As shown in FIG. 2, in correction pattern B, the correction target is correction of phase-dependent disturbance torque, and the command (first command) during learning control includes a command for performing unidirectional rotation or reciprocating motion of the driven body at a constant speed. The correction data calculated by learning control is a correction amount for correcting the disturbance torque. The target servo motor 4 is the main shaft (corresponding to unidirectional rotation at a constant speed) or feed shaft (corresponding to reciprocating motion at a constant speed) of an actual three-phase motor.

[0043] Figure 13A shows the disturbance torque T L 13B is a diagram showing the torque command correction amount T C 13A, when the servo motor 4 is a three-phase synchronous motor, the disturbance torque T L includes cogging torque and friction torque, and changes depending on the position of the servo motor 4 or the position of the driven body. Therefore, as shown in FIG. 13B, the correction amount T C is the disturbance torque T L In order to correct the change in the value, it is desirable that the value corresponds to the position of the servo motor 4 or the position of the driven body.

[0044] 14 is a block diagram showing a partial configuration of the servo motor control device 1 in the case of the correction pattern B. As shown in FIG. 14, the correction unit 19 applies a correction amount T C By applying L The change in 1 / Js in FIG. 14 is corrected. The corrected torque command is then output to the torque current control unit 15. 2 indicates the transfer function of the servo motor 4.

[0045] FIG. 15 is a diagram showing the relationship between the position of the servo motor 4 or the position of the driven body, the command velocity, and the torque command in the case of correction pattern B. As shown in FIG. 15, in the torque command corresponding to the constant velocity portion without acceleration or deceleration, a disturbance torque that depends on the position of the servo motor 4 or the position of the driven body is generated. Therefore, a torque ripple caused by the generated disturbance torque occurs in the torque command. Note that in correction pattern B, the learning control unit 17 performs learning control using a reciprocating motion of the driven body at a constant velocity as shown in FIGS. 15 to 21. However, in correction pattern B, the learning control unit 17 may also perform learning control using a unidirectional rotational motion of the driven body at a constant velocity.

[0046] Fig. 16 is a diagram showing the relationship between the position of the servo motor 4 or the position of the driven body, the phase data, and the torque command in the case of correction pattern B. The phase data in Fig. 16 is generated by the phase data generating unit 16 as described above.

[0047] As shown in Fig. 16, the output value of the torque command differs when the servo motor 4 or the driven body moves in the positive direction and when it moves in the negative direction, so the phase data generator 16 generates phase data with one reciprocating motion as one period. Note that the range of use for the position of the servo motor 4 or the position of the driven body in Figs. 15 and 16 indicates the range in which the position of the servo motor 4 or the driven body actually moves.

[0048] Fig. 17 is a diagram showing the correspondence relationship between phase data and torque commands. Fig. 18 is a diagram showing the correction amount calculated based on the phase data and torque commands. As shown in Fig. 17, the learning control unit 17 performs learning control based on the phase data and torque commands for each servo control cycle (one cycle), and calculates the correction amount as shown in Fig. 18.

[0049] FIG. 19 is a diagram showing the correspondence relationship between the position of the servo motor 4 or the position of the driven body and the correction amount. The learning control unit 17 calculates the correspondence relationship between the position of the servo motor 4 or the position of the driven body and the correction amount shown in FIG. 19 from the correspondence relationship between the phase data and correction amount shown in FIG. 18. This allows the learning control unit 17 to calculate the correction amount within the usage range of the servo motor 4 or the driven body. As shown in FIG. 19, because the servo motor 4 or the driven body is moving back and forth, the correction amount value takes on a shape that looks like it is folded back at the 180-degree point.

[0050] Fig. 20 is a diagram showing the amount of correction when the servo motor 4 or the driven body moves in the positive direction, and Fig. 21 is a diagram showing the amount of correction when the servo motor 4 or the driven body moves in the negative direction. The learning control unit 17 extracts the amount of correction shown in Fig. 20 and Fig. 21 in the following three patterns.

[0051] In pattern 1, the learning control unit 17 extracts only the correction amount within the range of use when the servo motor 4 or the driven body moves in the positive direction. In this case, when the servo motor 4 or the driven body moves in the positive direction, the learning control unit 17 reverses the polarity of the correction amount and applies it to the actual operation command.

[0052] In pattern 2, the learning control unit 17 extracts the average value of the correction amount in the usage range when the servo motor 4 or the driven body moves in the positive direction and the correction amount when it moves in the negative direction x (-1) as the correction amount when the servo motor 4 or the driven body moves in the positive direction.

[0053] In pattern 3, the learning control unit 17 extracts both the amount of correction for the usage range when the servo motor 4 or the driven body moves in the positive direction and the amount of correction for the usage range when the servo motor 4 or the driven body moves in the negative direction. In this case, the learning control unit 17 applies the two amounts of correction to the actual operation command.

[0054] FIG. 22 is a flowchart showing the processing of the servo motor control device 1 in the case of correction pattern B. In step S11, the command acquisition unit 10 acquires a first command for learning control from the upper control device 2. Here, the first command is a command having repeatability.

[0055] In step S12, the command generating unit 11 generates torque, position, and speed commands for driving the servo motor 4 based on the first command output from the command acquiring unit 10. The command generating unit 11 outputs the generated commands to the phase data generating unit 16.

[0056] In step S13, the phase data generator 16 generates phase data for each servo control period based on the reciprocating period of the first command having repeatability or the rotation speed of the rotation operation and the servo control period of the servo motor control device 1.

[0057] In step S14, the learning control unit 17 performs learning control by rotating or reciprocating the servo motor 4 at a constant speed based on the generated phase data and the command generated from the first command, and calculates a correction amount according to the position of the servo motor 4 or the position of the driven body driven by the servo motor 4. The learning control unit 17 stores the calculated correction amount in the memory unit 18.

[0058] In step S15, the command acquisition unit 10 acquires a second command for actually driving the servo motor 4 from the upper control device 2. Here, the second command may or may not have repeatability.

[0059] In step S16, the command generation unit 11 generates torque, position, and speed commands for driving the servo motor 4 based on the second command output from the command acquisition unit 10. The command generation unit 11 outputs the generated command to the adder 12. The adder 12 then calculates the deviation between the command from the command generation unit 11 and the detection value from the detector 5, and outputs it to the position and speed control unit 13. The position and speed control unit 13 generates a torque command based on the deviation from the adder 12, and outputs it to the adder 14.

[0060] In step S17, the correction unit 19 refers to the position of the servo motor 4 or the actual position of the driven body output from the detector 5, and applies the correction amount stored in the storage unit 18 to the torque command generated from the second command. In this way, the servo motor control device 1 corrects changes in the disturbance torque of the servo motor 4 or the driven body driven by the servo motor 4.

[0061] <Correction pattern C1> As shown in FIG. 2, in correction pattern C1, the correction targets are changes in the torque constant and correction of phase-dependent disturbance torque. The command during learning control (first command) includes a command for performing reciprocating motion (two patterns) of the driven body at a constant acceleration. The correction data calculated by learning control are a correction coefficient for correcting the torque constant and a correction amount for correcting the disturbance torque. The target servo motor 4 is a more strict actual single-phase motor.

[0062] Figure 23A shows the torque constant k T 23A and 23B are diagrams showing the correction coefficient δ. As shown in FIG. 23A, when the servo motor 4 is a single-phase motor, the torque constant k T changes depending on the position of the servo motor 4. Therefore, as shown in FIG. 23B, the correction coefficient δ is calculated by T In order to correct the change in the value, it is desirable that the value corresponds to the position of the servo motor 4.

[0063] Figure 23C shows the disturbance torque T L 23D is a diagram showing the torque command correction amount T C As shown in FIG. 23C, when the servo motor 4 is a single-phase motor, the disturbance torque T L includes cogging torque and friction torque, and changes depending on the position of the servo motor 4 or the position of the driven body. C is the disturbance torque T L In order to correct the change in the value, it is desirable that the value corresponds to the position of the servo motor 4 or the position of the driven body.

[0064] 24 is a block diagram showing a partial configuration of the servo motor control device 1 in the case of the correction pattern C1. As shown in FIG. 24, the correction unit 19 applies a correction amount T C and by applying the correction factor δ, the disturbance torque T L Changes in torque constant k T The corrected torque command is then output to the torque current control unit 15.

[0065] In this way, the correction pattern C1 is a pattern that combines the correction pattern A and the correction pattern B. The learning control unit 17 executes the same processes as the correction pattern B and the correction pattern A described above, and also executes the following process to obtain the correction amount T C and calculate the correction coefficient δ.

[0066] 25A is a diagram showing the learning data T1(θ) in the range of use. The learning data T1(θ) is 1a It is calculated by performing a reciprocating motion at a fairly constant acceleration and performing learning control.

[0067] FIG. 25B is a diagram showing the learning data T2(θ) in the range of use. The learning data T2(θ) is 1a Torque command T 2a It is calculated by performing a reciprocating motion at a fairly constant acceleration and performing learning control.

[0068] The training data T1(θ) is calculated by the correction amount T C (θ) and a correction coefficient δ(θ). T1(θ)=(T 1a +T C (θ))δ(θ) (1) Here, the correction amount T C (θ) and the correction coefficient δ(θ) must be separated. However, in a reciprocating motion with a constant acceleration, the correction amount T CTherefore, the servo control device 1 performs reciprocating motions at constant acceleration in two patterns, T1(θ) and T2(θ).

[0069] The training data T2(θ) is calculated by the correction amount T C (θ) and a correction coefficient δ(θ). T2(θ)=(T 2a +T C (θ))δ(θ) (2)

[0070] From equations (1) and (2), the correction amount T C (θ) and the correction factor δ(θ) can be separated and shown as follows: δ(θ)=(T2(θ)-T1(θ)) / (T 2a -T 1a ) T C (θ)=(T 2a T1(θ)-T 1a T2(θ)) / (T2(θ)-T1(θ))

[0071] FIG. 26 is a flowchart showing the processing of the servo motor control device 1 in the case of the correction pattern C1. In step S21, the command acquisition unit 10 acquires a first command for learning control from the upper control device 2. Here, the first command is a command having repeatability. The first command is a torque command T 1a or torque command T 2a Includes.

[0072] In step S22, the command generating unit 11 generates torque, position, and speed commands for driving the servo motor 4 based on the first command output from the command acquiring unit 10. The command generating unit 11 outputs the generated commands to the phase data generating unit 16.

[0073] In step S23, the phase data generating unit 16 generates phase data for each servo control period based on the reciprocating period of the first command having repeatability and the servo control period of the servo motor control device 1.

[0074] In step S24, the learning control unit 17 performs learning control by causing the servo motor 4 to reciprocate the driven body at a constant speed based on the generated phase data and the command generated from the first command, and calculates learning data corresponding to the position of the servo motor 4 or the position of the driven body driven by the servo motor 4. The learning control unit 17 stores the calculated learning data in the memory unit 18.

[0075] In step S25, the learning control unit 17 determines whether or not the learning control has been executed twice. If the learning control has been executed twice (YES), the process proceeds to step S26. On the other hand, if the learning control has not been executed twice (NO), the process proceeds to step S21.

[0076] In step S26, the learning control unit 17 calculates the correction amount T from the two pieces of learning data T1(θ) and T2(θ) stored in the storage unit 18 using the above-mentioned formulas (1) and (2). C (θ) and the correction coefficient δ(θ). The learning control unit 17 calculates the calculated correction amount T C (θ) and the correction coefficient δ(θ) are stored in the storage unit 18.

[0077] In step S27, the command acquisition unit 10 acquires a second command for actually driving the servo motor 4 from the upper control device 2. Here, the second command may or may not have repeatability.

[0078] In step S28, the command generation unit 11 generates torque, position, and speed commands for driving the servo motor 4 based on the second command output from the command acquisition unit 10. The command generation unit 11 outputs the generated command to the adder 12. The adder 12 then calculates the deviation between the command from the command generation unit 11 and the detection value from the detector 5, and outputs it to the position and speed control unit 13. The position and speed control unit 13 generates a torque command based on the deviation from the adder 12, and outputs it to the adder 14.

[0079] In step S29, the correction unit 19 refers to the actual position of the servo motor 4 or the driven body output from the detector 5, and calculates the correction amount T C (θ) and the correction coefficient δ(θ) are applied to the torque command of the command generated from the second command, thereby allowing the servo motor control device 1 to correct for changes in the torque constant and changes in the disturbance torque.

[0080] <Correction pattern C2> As shown in FIG. 2, in correction pattern C2, the correction targets are changes in the torque constant and correction of friction torque. The command (first command) during learning control includes a command for reciprocating the driven body at a constant speed. The correction data calculated by learning control is a correction coefficient for correcting the torque constant and a correction amount for correcting the friction torque (constant disturbance torque). The target servo motor 4 is an actual single-phase motor.

[0081] Figure 27A shows the torque constant k T 27A and 27B are diagrams showing the correction coefficient δ. As shown in FIG. 27A, when the servo motor 4 is a single-phase motor, the torque constant k T changes depending on the position of the servo motor 4. Therefore, as shown in FIG. 27B, the correction coefficient δ is calculated by T In order to correct the change in the value, it is desirable that the value corresponds to the position of the servo motor 4.

[0082] Figure 27C shows the friction torque (constant disturbance torque) T L27D is a diagram showing the torque command correction amount T C As shown in FIG. 27C, the friction torque (constant disturbance torque) T L is constant regardless of the position of the servo motor 4 or the driven body. Therefore, as shown in FIG. 27D, the correction amount T C is the friction torque (constant disturbance torque) T L It is desirable that it be a constant value in order to correct for

[0083] In this way, the correction pattern C2, like the correction pattern C1, is a pattern that combines the correction pattern A and the correction pattern B. The learning control unit 17 executes the same processes as the correction pattern B and the correction pattern A described above, and also executes the following process to obtain the correction amount T C and calculate the correction coefficient δ.

[0084] FIG. 28 is a diagram showing the learning data T1(θ) in the range of use. As shown in Fig. 28, the learning data T1(θ) is calculated by performing a reciprocating motion of the driven body at a constant speed and performing learning control. The learning data T1(θ) is calculated by the correction amount T C and a correction factor δ(θ). T1(θ)=(0+T C )δ(θ) (3)

[0085] The learning control unit 17 calculates the correction amount T by using the formula (3) as follows: C and the correction coefficient δ(θ) can be calculated. T C =Tmin δ(θ)=T1(θ) / Tmin

[0086] FIG. 29 is a flowchart showing the processing of the servo motor control device 1 in the case of the correction pattern C2. In step S31, the command acquisition unit 10 acquires a first command for learning control from the upper control device 2. Here, the first command is a command having repeatability.

[0087] In step S32, the command generating unit 11 generates torque, position, and speed commands for driving the servo motor 4 based on the first command output from the command acquiring unit 10. The command generating unit 11 outputs the generated commands to the phase data generating unit 16.

[0088] In step S33, the phase data generating unit 16 generates phase data for each servo control period based on the reciprocating period of the first command having repeatability and the servo control period of the servo motor control device 1.

[0089] In step S34, the learning control unit 17 performs learning control by causing the driving body driven by the servo motor 4 to reciprocate at a constant speed based on the generated phase data and the command generated from the first command, and calculates a correction amount according to the position of the servo motor 4 or the driven body driven by the servo motor 4. The learning control unit 17 stores the calculated correction amount in the memory unit 18.

[0090] In step S35, the command acquisition unit 10 acquires a second command for actually driving the servo motor 4 from the upper control device 2. Here, the second command may or may not have repeatability.

[0091] In step S36, the command generation unit 11 generates torque, position, and speed commands for driving the servo motor 4 based on the second command output from the command acquisition unit 10. The command generation unit 11 outputs the generated command to the adder 12. The adder 12 then calculates the deviation between the command from the command generation unit 11 and the detection value from the detector 5, and outputs it to the position and speed control unit 13. The position and speed control unit 13 generates a torque command based on the deviation from the adder 12, and outputs it to the adder 14.

[0092] In step S37, the correction unit 19 refers to the actual position of the driven body output from the detector 5 and calculates the correction amount T Cand the correction coefficient δ(θ) is applied to the torque command of the command generated from the second command, thereby allowing the servo motor control device 1 to correct for changes in the torque constant and the constant disturbance torque.

[0093] As described above, according to this embodiment, the servo motor control device 1 is equipped with a learning control unit 17 that performs learning control by operating the servo motor 4 at a constant speed or at a constant acceleration based on a first command for learning control obtained from the upper control device 2, and calculates correction data according to the position of the servo motor 4 or the position of the driven body driven by the servo motor 4, and a correction unit 19 that obtains a second command for driving the servo motor 4 from the upper control device 2 and applies the correction data to a command based on the second command.

[0094] As a result, the servo motor control device 1 calculates correction data using learning control and corrects the second command by applying the calculated correction data to the second command, thereby enabling the servo motor control device 1 to correct torque ripple according to the position of the servo motor 4 or the position of the driven body driven by the servo motor 4 with higher accuracy.

[0095] The servo motor control device 1 further includes a phase data generation unit 16 that generates phase data for each servo control period based on the rotation speed or reciprocating period of the repeatable first command and the servo control period of the servo motor control device 1, and a learning control unit 17 performs learning control by operating the servo motor 4 at a constant speed or constant acceleration based on the generated phase data and the first command, and calculates correction data according to the position of the servo motor 4 or the position of the driven body driven by the servo motor 4.

[0096] As a result, the servo motor control device 1 calculates the correction data using the generated phase data, and therefore the servo motor control device 1 can correct the torque ripple according to the position of the driven body with higher accuracy using the correction data using the phase data.

[0097] Furthermore, the learning control unit 17 calculates, as the correction data, a correction amount and / or a correction coefficient according to the position of the servo motor 4 or the driven body. As a result, the servo motor control device 1 can use the correction amount and / or the correction coefficient to highly accurately correct changes in the disturbance torque, friction torque, and torque constant according to the position of the driven body.

[0098] The servo motor control device 1 also includes a command acquisition unit 10 that acquires a first command and a second command from the higher-level control device 2. This allows the servo motor control device 1 to correct torque ripple according to the position of the driven body with higher accuracy using the commands acquired from the higher-level control device 2.

[0099] The servo motor control device 1 further includes a command generation unit 11 that generates a command to drive the servo motor 4 based on the first command and the second command acquired by the command acquisition unit 10. This allows the servo motor control device 1 to use the command to drive the servo motor 4 to more accurately correct torque ripple that depends on the position of the servo motor 4 or the position of the driven body.

[0100] Furthermore, based on the phase data and the first command, the learning control unit 17 performs learning control by causing the servo motor 4 to reciprocate at a constant acceleration, and calculates a correction coefficient according to the position of the servo motor 4. The correction unit 19 applies the correction coefficient to a torque command based on the second command, thereby correcting changes in the torque constant of the servo motor 4. This allows the servo motor control device 1 to correct changes in the torque constant of the servo motor 4 with high accuracy.

[0101] Furthermore, the learning control unit 17 performs learning control by rotating or reciprocating the servo motor 4 at a constant speed based on the phase data and the first command, and calculates a correction amount according to the position of the servo motor 4 or the position of the driven body driven by the servo motor 4, and the correction unit 19 applies the correction amount to a torque command based on the second command, thereby correcting the disturbance torque of the servo motor 4 or the driven body driven by the servo motor 4. This allows the servo motor control device 1 to correct changes in disturbance torque, including cogging torque and friction torque, with high accuracy.

[0102] Furthermore, the learning control unit 17 performs learning control by causing the servo motor 4 to reciprocate at a constant acceleration based on the phase data and the first command, and calculates a correction amount and correction coefficient according to the position of the servo motor 4 or the position of the driven body driven by the servo motor 4, and the correction unit 19 applies the correction amount to a torque command based on the second command, thereby correcting changes in the torque constant of the servo motor 4 and changes in the disturbance torque of the servo motor 4 or the driven body driven by the servo motor 4. This allows the servo motor control device 1 to correct changes in the torque constant and changes in the disturbance torque with high accuracy.

[0103] Furthermore, the learning control unit 17 performs learning control by causing the servo motor 4 to reciprocate at a constant speed based on the phase data and the first command, and calculates a correction amount and correction coefficient according to the position of the servo motor 4 or the position of the driven body driven by the servo motor 4, and the correction unit 19 applies the correction amount to a torque command based on the second command, thereby correcting changes in the torque constant of the servo motor 4 and the constant disturbance torque of the servo motor 4 or the driven body driven by the servo motor 4. This allows the servo motor control device 1 to correct changes in the torque constant and the constant disturbance torque with high accuracy.

[0104] The above has described an embodiment of the present invention, but the servo motor control device 1 described above can be realized by hardware, software, or a combination of these. Furthermore, the control method performed by the robot 1 described above can also be realized by hardware, software, or a combination of these. Here, "realized by software" means that it is realized by a computer reading and executing a program.

[0105] The program can be stored and provided to a computer using various types of non-transitory computer readable media. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer readable media include magnetic recording media (e.g., hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)).

[0106] Furthermore, although the above-described embodiments are preferred embodiments of the present invention, the scope of the present invention is not limited to only the above-described embodiments, and the present invention can be implemented in various modified forms within the scope that does not deviate from the gist of the present invention. [Explanation of symbols]

[0107] 1. Servo motor control device 2 Upper control device 3 Amplifiers 4 servo motors 5. Detector 10 Command acquisition section 11 Command generation section 12 Adder 13 Position and speed control section 14 Adder 15 Torque current control section 16 Phase data generator 17 Learning control unit 18 Memory section 19 Correction section

Claims

1. A servo motor control device that controls a servo motor, a learning control unit that performs learning control by operating the servo motor at a constant speed or a constant acceleration based on a first command for learning control obtained from a higher-level control device, and calculates correction data according to the position of the servo motor or a driven body driven by the servo motor; a correction unit that acquires a second command for driving the servo motor from the upper control device and applies the correction data to a command based on the second command; a phase data generating unit that generates phase data for each servo control period based on the rotation speed or reciprocating period of the first command having repeatability and a servo control period of the servo motor control device, the servo motor is a single-phase or three-phase galvanometer motor in a galvanometer scanner; the learning control unit performs learning control by operating the servo motor at a constant speed or a constant acceleration based on the generated phase data and the first command, and calculates correction data according to the position of the servo motor or a driven body driven by the servo motor. Servo motor control device.

2. 2. The servo motor control device according to claim 1, wherein the learning control unit calculates, as the correction data, a correction amount and / or a correction coefficient according to a position of the servo motor or the driven body.

3. The servo motor control device according to claim 1 or 2, further comprising a command acquisition unit that acquires the first command and the second command from the host control device.

4. 4. The servo motor control device according to claim 3, further comprising a command generating unit that generates a command for driving the servo motor based on the first command and the second command acquired by the command acquiring unit.

5. the learning control unit performs learning control by causing the servo motor to reciprocate at a constant acceleration based on the phase data and the first command, and calculates a correction coefficient according to a position of the servo motor; the correction unit corrects a change in the torque constant of the servo motor by applying the correction coefficient to a torque command based on the second command. The servo motor control device according to claim 1 .

6. the learning control unit performs learning control by rotating or reciprocating the servo motor at a constant speed based on the phase data and the first command, and calculates a correction amount according to a position of the servo motor or a driven body driven by the servo motor; the correction unit corrects a disturbance torque of the servo motor or a driven body driven by the servo motor by applying the correction amount to a torque command based on the second command. The servo motor control device according to claim 1 .

7. the learning control unit performs learning control by causing the servo motor to reciprocate at a constant acceleration based on the phase data and the first command, and calculates a correction amount and a correction coefficient according to a position of the servo motor or a driven body driven by the servo motor; the correction unit corrects a change in the torque constant of the servo motor and a change in disturbance torque of the servo motor or a driven body driven by the servo motor by applying the correction amount to a torque command based on the second command. The servo motor control device according to claim 1 .

8. the learning control unit performs learning control by causing the servo motor to reciprocate at a constant speed based on the phase data and the first command, and calculates a correction amount and a correction coefficient according to a position of the servo motor or a driven body driven by the servo motor; the correction unit corrects a change in the torque constant of the servo motor and a constant disturbance torque of the servo motor or a driven body driven by the servo motor by applying the correction amount to a torque command based on the second command. The servo motor control device according to claim 1 .

Citation Information

Patent Citations

  • Method and apparatus for repetitively controlling ac servomotor

    JP1994343284A

  • Servo control device

    JP2004227163A

  • Motor controller and torque constant correcting method of the same

    JP2008092659A

  • JP2011-269405A

  • Processing system containing galvano-scanner capable of scanning laser beam at high speed

    JP2016055308A