WO2023067682A1 - Servomotor control device - Google Patents

Servomotor control device Download PDF

Info

Publication number
WO2023067682A1
WO2023067682A1 PCT/JP2021/038564 JP2021038564W WO2023067682A1 WO 2023067682 A1 WO2023067682 A1 WO 2023067682A1 JP 2021038564 W JP2021038564 W JP 2021038564W WO 2023067682 A1 WO2023067682 A1 WO 2023067682A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
servomotor
correction
torque
control device
Prior art date
Application number
PCT/JP2021/038564
Other languages
French (fr)
Japanese (ja)
Inventor
高志 岡本
Original Assignee
ファナック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to PCT/JP2021/038564 priority Critical patent/WO2023067682A1/en
Publication of WO2023067682A1 publication Critical patent/WO2023067682A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D13/00Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover
    • G05D13/62Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover characterised by the use of electric means, e.g. use of a tachometric dynamo, use of a transducer converting an electric value into a displacement
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/04Arrangements or methods for the control of AC motors characterised by a control method other than vector control specially adapted for damping motor oscillations, e.g. for reducing hunting

Definitions

  • the present invention relates to a servo motor control device.
  • Patent Literature 1 discloses a servo motor control device that performs angle-synchronous learning control on a driven body that periodically reciprocates.
  • torque ripple which is steady-state torque fluctuations such as changes in torque constant, cogging torque, and motor eccentricity, may occur. Therefore, there is a demand for a servomotor control device that can correct the torque ripple of the servomotor with higher accuracy.
  • a servo motor control device is a servo motor control device that controls a servo motor, and controls the servo motor based on a first instruction for learning control acquired from a higher-level control device.
  • a learning control unit that performs learning control by operating at a constant speed or operating at a constant acceleration, and calculates correction data according to the position of the servomotor or a driven body driven by the servomotor;
  • a correction unit that acquires a second command for driving the motor from the host controller and applies the correction data to the command based on the second command.
  • the torque ripple of the servomotor can be corrected with higher accuracy.
  • FIG. 1 is a block diagram showing the configuration of a servo motor control device according to an embodiment
  • FIG. It is a figure which shows about control of the servomotor control apparatus which concerns on this embodiment. It shows the torque constant. It is a figure which shows about a correction coefficient.
  • FIG. 11 is a block diagram showing a configuration of part of a servo motor control device in the case of correction pattern A
  • 8 is a diagram showing the relationship between the position of the servomotor, the commanded acceleration, and the torque command in the case of correction pattern A.
  • FIG. 8 is a diagram showing the relationship between the position of the servomotor, phase data, and torque command in the case of correction pattern A
  • FIG. FIG. 4 is a diagram showing a correspondence relationship between phase data and torque commands;
  • FIG. 5 is a diagram showing correction data calculated based on phase data and a torque command
  • FIG. 3 is a diagram showing a correspondence relationship between phase data and servo motor positions; It is a figure which shows the position of a servomotor, correction
  • 7 is a flowchart showing processing of the servo motor control device in the case of correction pattern A; It is a figure which shows disturbance torque. It is a figure which shows about the correction amount of a torque command.
  • FIG. 3 is a diagram showing a correspondence relationship between phase data and servo motor positions
  • It is a figure which shows the position of a servomotor, correction
  • It is a figure which shows the correction coefficient in a use range.
  • FIG. 10 is a diagram showing the correction amount when the position of the servomotor or the driven body moves in the positive direction;
  • FIG. 5 is a diagram showing a correction amount when the position of a servomotor or a driven body moves in the negative direction;
  • 7 is a flowchart showing processing of the servo motor control device 1 in the case of correction pattern B; It shows the torque constant. It is a figure which shows about a correction coefficient. It is a figure which shows disturbance torque. It is a figure which shows about the correction amount of a torque command.
  • FIG. 11 is a block diagram showing a partial configuration of a servo motor control device in the case of correction pattern C1; It is a figure which shows the learning data in a use range.
  • FIG. 10 is a flow chart showing processing of the servo motor control device in the case of correction pattern C1. It shows the torque constant. It is a figure which shows about a correction coefficient. It is a figure which shows about friction torque (constant disturbance torque). It is a figure which shows about the correction amount of a torque command. It is a figure which shows the learning data in a use range.
  • FIG. 10 is a flowchart showing processing of the servo motor control device in the case of correction pattern C2; FIG.
  • FIG. 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 section 17 that uses an angle synchronization method, and controls a servo motor 4 that periodically reciprocates a driven body.
  • the servo motor control device 1 includes a command acquisition unit 10, a command generation unit 11, an adder 12, a position/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 storage unit 18 , and a correction unit 19 are provided.
  • the command acquisition unit 10 acquires from the host controller 2 a first command for learning control and a second command for driving the servomotor.
  • the command acquisition unit 10 outputs the acquired first command or second command to the command generation unit 11 .
  • the first command is, for example, a command 21 that repeats reciprocating motion
  • the second command is, for example, a non-repetitive command 22 .
  • the command generation unit 11 generates torque, position and speed commands for driving the servomotor 4 based on the first command or the second command output from the command acquisition unit 10 .
  • the command generator 11 outputs the generated commands to the adder 12 or the phase data generator 16 .
  • the adder 12 calculates the deviation between the command from the command generator 11 and the detected value from the detector 5 and outputs the deviation to the position/speed controller 13 .
  • the position/speed control unit 13 generates a torque command based on the deviation from the adder 12 and outputs it to the adder 14 .
  • the adder 14 adds the torque command from the position/speed control unit 13 and the correction data from the correction unit 19 and outputs the result to the torque current control unit 15 .
  • 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 servomotor 4 drives a driven body (motor driving section) based on the current command amplified by the amplifier 3 .
  • the detector 5 detects the position and speed of the servomotor 4 or the position and speed of the driven body driven by the servomotor 4 and outputs (feedback) to the adder 12 .
  • the servomotor 4 is, for example, a galvanomotor in a galvanoscanner, and is a three-phase motor or a single-phase motor.
  • the servo motor 4 is described assuming a galvano motor, but the present invention is not limited to this, and the servo motor 4 may be a motor used for other purposes.
  • the phase data generation unit 16 generates phase data for each servo control cycle based on the rotational speed or reciprocation cycle of the first command having repeatability and the servo control cycle of the servo motor control device 1 .
  • the learning control unit 17 Based on the phase data generated by the phase data generating unit 16 and the first command, the learning control unit 17 operates the servomotor 4 at a constant speed (for example, unidirectional rotation or reciprocating operation) or constant acceleration. Learning control is performed by the operation (for example, reciprocating operation) in , and correction data corresponding to the position of the servomotor 4 or the position of the driven body driven by the servomotor 4 is calculated.
  • the learning control unit 17 performs learning control of the angle synchronization method.
  • the learning control unit 17 also calculates, as correction data, a correction amount and/or a correction coefficient according to the position of the servomotor 4 or the position of the driven body driven by the servomotor 4 .
  • the storage unit 18 stores correction data calculated by the learning control unit 17 .
  • the correction unit 19 acquires a second command for driving the servomotor 4 from the host controller 2 and applies the correction data stored in the storage unit 18 based on the second command. Specifically, the correction unit 19 applies the correction data stored in the storage unit 18 to the torque command from the position/speed control unit 13 .
  • FIG. 2 is a diagram showing the control of the servomotor control device 1 according to this embodiment.
  • the servo motor control device 1 according to the present embodiment uses a correction pattern A, a correction pattern B, and correction patterns C1 and C2 as shown in FIG. 2 in order to correct the torque ripple.
  • the correction target is correction of changes in the torque constant
  • the instruction (first instruction) during learning control is to reciprocate the driven body or the servomotor 4 at a constant acceleration.
  • the correction data calculated by learning control is a correction coefficient for correcting the torque constant.
  • the target servomotor 4 is an ideal single-phase motor that does not consider friction torque.
  • FIG. 3A shows the torque constant kT
  • FIG. 3B shows the correction coefficient ⁇ .
  • the torque constant kT varies according to the position of the servomotor 4 . Therefore, as shown in FIG. 3B, it is desirable that the correction coefficient .delta .
  • FIG. 4 is a block diagram showing a partial configuration of the servo motor control device 1 in the case of the correction pattern A.
  • the correction unit 19 corrects changes in the torque constant kT by applying a correction coefficient ⁇ to the torque command output from the position/speed control unit 13 . Then, the corrected torque command is output to the torque current control section 15 .
  • FIG. 5 is a diagram showing the relationship between the position of the servomotor 4, the commanded acceleration, and the torque command in the case of the correction pattern A.
  • FIG. 6 is a diagram showing the relationship between the position of the servomotor 4, the phase data, and the torque command in the case of the correction pattern A.
  • the phase data in FIG. 6 are generated by the phase data generator 16 as described above.
  • FIG. 7 is a diagram showing the correspondence relationship between phase data and torque commands.
  • FIG. 8 is a diagram showing learning data calculated based on the phase data and the torque command.
  • the learning control unit 17 performs learning control based on the phase data and the torque command in each servo control cycle (one cycle), and calculates learning data as shown in FIG.
  • FIG. 9 is a diagram showing the correspondence relationship between the phase data and the position of the servomotor 4.
  • FIG. 10 is a diagram showing the correspondence between the position of the servo motor 4 and the learning data.
  • the learning control unit 17 calculates the correspondence relationship between the position of the servomotor 4 and the learning data shown in FIG. 10 from the correspondence relationships in FIGS. Thereby, the learning control section 17 can calculate the learning data in the use range of the servo motor 4 .
  • FIG. 11A is a diagram showing learning data in the use range of the driven body or the servomotor 4
  • FIG. 11B is a diagram showing correction coefficients in the use range.
  • the learning control unit 17 can calculate the correction coefficients shown in FIG. 11B by normalizing the learning data T 1 ( ⁇ ) shown in FIG. 11A based on the minimum value Tb.
  • the learning data T 1 ( ⁇ ) becomes Tmin, which is a constant value.
  • T 1 ( ⁇ ) (Tmin+0) ⁇ ( ⁇ )
  • the learning control unit 17 may calculate both the correction coefficient when the servomotor 4 moves in the positive direction and the correction coefficient when the servomotor 4 moves in the negative direction. You may
  • FIG. 12 is a flow chart showing the processing of the servo motor control device 1 in the case of the correction pattern A.
  • the command acquisition unit 10 acquires a first command for learning control from the host controller 2 .
  • the first command is a repetitive command.
  • step S2 the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the first command output from the command acquisition unit 10.
  • the command generator 11 outputs the generated commands to the phase data generator 16 .
  • step S3 the phase data generator 16 generates phase data for each servo control cycle based on the reciprocating cycle of the first command having repeatability and the servo control cycle of the servo motor control device 1.
  • step S4 the learning control unit 17 performs learning control by reciprocating the servo motor 4 at a constant acceleration based on the command generated from the generated phase data and the first command. A correction coefficient corresponding to the position is calculated. The learning control unit 17 stores the calculated correction coefficient in the storage unit 18 .
  • step S5 the command acquisition unit 10 acquires a second command for actually driving the servomotor 4 from the host controller 2.
  • the second command may or may not have repeatability.
  • step S6 the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the second command output from the command acquisition unit 10.
  • Command generator 11 outputs the generated command to adder 12 .
  • the adder 12 calculates the deviation between the command from the command generator 11 and the detection value from the detector 5 and outputs it to the position/speed controller 13 .
  • the position/speed control unit 13 generates a torque command based on the deviation from the adder 12 and outputs it to the adder 14 .
  • step S7 the correction unit 19 refers to the actual position of the servomotor 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. Thereby, the servo motor control device 1 corrects changes in the torque constant of the servo motor 4 .
  • the correction target is the correction of the phase-dependent disturbance torque
  • the instruction (first instruction) during the learning control is the unidirectional rotation 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 servomotor 4 is the main shaft of an actual three-phase motor (corresponding to unidirectional rotary motion at constant speed) or feed shaft (corresponding to reciprocating motion at constant speed).
  • FIG. 13A is a diagram showing the disturbance torque TL
  • FIG. 13B is a diagram showing the torque command correction amount TC .
  • the disturbance torque TL includes cogging torque and friction torque, and varies according to the position of the servomotor 4 or the position of the driven body. Therefore, as shown in FIG. 13B, the correction amount TC is preferably a value corresponding to the position of the servomotor 4 or the position of the driven body in order to correct the change in the disturbance torque TL .
  • FIG. 14 is a block diagram showing a partial configuration of the servo motor control device 1 in the case of the correction pattern B.
  • the correction unit 19 corrects changes in the disturbance torque TL by applying the correction amount TC to the torque command output from the position/speed control unit 13 . Then, the corrected torque command is output to the torque current control section 15 .
  • 1/Js 2 in FIG. 14 indicates the transfer function of the servomotor 4 .
  • FIG. 15 is a diagram showing the relationship between the position of the servomotor 4 or the position of the driven body, command speed, and torque command in the case of correction pattern B.
  • FIG. 15 a torque command corresponding to a constant speed portion in which no acceleration or deceleration is performed generates disturbance torque depending on the position of the servomotor 4 or the position of the driven body. Therefore, a torque ripple is generated in the torque command due to the generated disturbance torque.
  • the learning control unit 17 executes learning control using the reciprocating motion of the driven body at a constant speed as shown in FIGS.
  • learning control may be performed using a unidirectional rotational motion of the driven body at a constant speed.
  • FIG. 16 is a diagram showing the relationship between the position of the servomotor 4 or the position of the driven body, the phase data and the torque command in the case of the correction pattern B.
  • FIG. The phase data in FIG. 16 are generated by the phase data generator 16 as described above.
  • the output value of the torque command differs when the servomotor 4 or the driven body moves in the positive direction and when it moves in the negative direction. Phase data is generated with a reciprocating motion as one cycle. 15 and 16, the use range of the position of the servomotor 4 or the position of the driven body indicates the range in which the position of the servomotor 4 or the driven body actually operates.
  • FIG. 17 is a diagram showing the correspondence relationship between phase data and torque commands.
  • FIG. 18 is a diagram showing correction amounts calculated based on phase data and torque commands.
  • the learning control unit 17 performs learning control based on the phase data and the torque command in each servo control cycle (one cycle), and calculates the correction amount as shown in FIG.
  • FIG. 19 is a diagram showing the relationship between the position of the servomotor 4 or the position of the driven body and the correction amount.
  • the learning control unit 17 calculates the position of the servomotor 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 the correction amount shown in FIG. Thereby, the learning control section 17 can calculate the correction amount in the use range of the servo motor 4 or the driven body. As shown in FIG. 19, since the servomotor 4 or the driven body is reciprocating, the value of the correction amount has a shape that is folded around the 180-degree point.
  • FIG. 20 shows the amount of correction when the servomotor 4 or the driven body moves in the positive direction
  • FIG. 21 shows the amount of correction when the servomotor 4 or the driven body moves in the negative direction. It is a diagram.
  • the learning control unit 17 extracts the correction amounts shown in FIGS. 20 and 21 with the following three patterns.
  • the learning control unit 17 extracts only the correction amount of the use range when the servomotor 4 or the driven body moves in the positive direction. In this case, when the servomotor 4 or the driven body moves in the positive direction, the learning control unit 17 inverts the polarity of the correction amount and applies it to the actual operation command.
  • the learning control unit 17 calculates the average value of the correction amount of the use range when the servo motor 4 or the driven body moves in the positive direction and the correction amount x (-1) when the servo motor 4 or the driven body moves in the negative direction. is extracted as a correction amount when the servomotor 4 or the driven body moves in the positive direction.
  • the learning control unit 17 extracts both the correction amount of the use range when the servo motor 4 or the driven body moves in the positive direction and the correction amount of the use range when it moves in the negative direction. . In this case, the learning control unit 17 applies two correction amounts to the actual operation command.
  • FIG. 22 is a flow chart showing the processing of the servo motor control device 1 in the case of the correction pattern B.
  • the command acquisition unit 10 acquires a first command for learning control from the host controller 2 .
  • the first command is a repetitive command.
  • step S12 the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the first command output from the command acquisition unit 10.
  • the command generator 11 outputs the generated commands to the phase data generator 16 .
  • step S ⁇ b>13 the phase data generation unit 16 calculates the phase data for each servo control cycle based on the reciprocating cycle of the first command having repeatability or the rotation speed of the rotary operation and the servo control cycle of the servo motor control device 1 . Generate data.
  • step S14 the learning control unit 17 performs learning control by rotating or reciprocating the servomotor 4 at a constant speed based on the command generated from the generated phase data and the first command.
  • a correction amount corresponding to the position of the motor 4 or the position of the driven body driven by the servomotor 4 is calculated.
  • the learning control unit 17 stores the calculated correction amount in the storage unit 18 .
  • step S15 the command acquisition unit 10 acquires a second command for actually driving the servomotor 4 from the host controller 2.
  • the second command may or may not have repeatability.
  • step S16 the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the second command output from the command acquisition unit 10.
  • Command generator 11 outputs the generated command to adder 12 .
  • the adder 12 calculates the deviation between the command from the command generator 11 and the detection value from the detector 5 and outputs it to the position/speed controller 13 .
  • the position/speed control unit 13 generates a torque command based on the deviation from the adder 12 and outputs it to the adder 14 .
  • the correction unit 19 refers to the position of the servomotor 4 output from the detector 5 or the actual position of the driven body, and the correction amount stored in the storage unit 18 is generated from the second command. Applies to torque commands. Thereby, the servo motor control device 1 corrects changes in disturbance torque of the servo motor 4 or the driven body driven by the servo motor 4 .
  • correction targets are changes in torque constant and correction of phase-dependent disturbance torque.
  • a command (first command) during learning control includes a command for reciprocating the driven body (two patterns) at a constant acceleration.
  • the correction data calculated by the learning control are a correction coefficient for correcting the torque constant and a correction amount for correcting the disturbance torque.
  • the subject servomotor 4 is a more strictly real single-phase motor.
  • FIG. 23A shows the torque constant kT
  • FIG. 23B shows the correction coefficient ⁇ .
  • the torque constant k T changes according to the position of the servomotor 4 . Therefore, as shown in FIG. 23B, it is desirable that the correction coefficient .delta .
  • FIG. 23C is a diagram showing the disturbance torque TL
  • FIG. 23D is a diagram showing the torque command correction amount TC .
  • the disturbance torque TL includes cogging torque and friction torque, and varies according to the position of the servomotor 4 or the position of the driven body. Therefore, as shown in FIG. 23D, the correction amount TC is preferably a value corresponding to the position of the servomotor 4 or the position of the driven body in order to correct the change in the disturbance torque TL .
  • FIG. 24 is a block diagram showing a partial configuration of the servo motor control device 1 in the case of the correction pattern C1.
  • the correction unit 19 applies the correction amount TC and the correction coefficient ⁇ to the torque command output from the position/speed control unit 13 to change the disturbance torque TL and the torque constant kT . Compensate for changes. Then, the corrected torque command is output to the torque current control section 15 .
  • the correction pattern C1 is a pattern obtained by combining the correction pattern A and the correction pattern B.
  • FIG. The learning control unit 17 calculates the correction amount TC and the correction coefficient ⁇ by performing the same processes as those for the correction pattern B and the correction pattern A described above, as well as the processes described below.
  • FIG. 25A is a diagram showing learning data T 1 ( ⁇ ) in the usage range.
  • the learning data T 1 ( ⁇ ) is calculated by performing a reciprocating motion at a constant acceleration corresponding to the torque command T 1a and performing learning control.
  • FIG. 25B is a diagram showing learning data T 2 ( ⁇ ) in the usage range.
  • the learning data T 2 ( ⁇ ) is calculated by performing learning control by reciprocating at a constant acceleration corresponding to the torque command T 2a different from the torque command T 1a .
  • the learning data T 1 ( ⁇ ) includes the correction amount T C ( ⁇ ) and the correction coefficient ⁇ ( ⁇ ) as follows.
  • T 1 ( ⁇ ) (T 1a + TC ( ⁇ )) ⁇ ( ⁇ ) (1)
  • T C ( ⁇ ) the correction amount
  • ⁇ ( ⁇ ) the correction coefficient
  • the servo control device 1 performs reciprocating motion with constant acceleration in two patterns of T 1 ( ⁇ ) and T 2 ( ⁇ ).
  • the learning data T 2 ( ⁇ ) includes the correction amount T C ( ⁇ ) and the correction coefficient ⁇ ( ⁇ ) as follows.
  • T 2 ( ⁇ ) (T 2a + TC ( ⁇ )) ⁇ ( ⁇ ) (2)
  • T C ( ⁇ ) and the correction factor ⁇ ( ⁇ ) can be separated from equations (1) and (2) and are shown below.
  • ⁇ ( ⁇ ) (T 2 ( ⁇ ) ⁇ T 1 ( ⁇ ))/(T 2a ⁇ T 1a )
  • T C ( ⁇ ) (T 2a T 1 ( ⁇ ) ⁇ T 1a T 2 ( ⁇ ))/(T 2 ( ⁇ ) ⁇ T 1 ( ⁇ ))
  • FIG. 26 is a flow chart showing the processing of the servo motor control device 1 in the case of the correction pattern C1.
  • the command acquisition unit 10 acquires a first command for learning control from the host controller 2 .
  • the first command is a repetitive command.
  • the first command includes torque command T 1a or torque command T 2a in order to obtain learning data T 1 ( ⁇ ) and T 2 ( ⁇ ) described above.
  • step S22 the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the first command output from the command acquisition unit 10.
  • the command generator 11 outputs the generated commands to the phase data generator 16 .
  • step S23 the phase data generator 16 generates phase data for each servo control cycle based on the reciprocating cycle of the first command having repeatability and the servo control cycle of the servo motor control device 1.
  • step S24 the learning control unit 17 performs learning control by reciprocating the driven body at a constant speed by the servo motor 4 based on the command generated from the generated phase data and the first command, Learning data corresponding to the position of the servomotor 4 or the position of the driven body driven by the servomotor 4 is calculated.
  • the learning control unit 17 stores the calculated learning data in the storage unit 18 .
  • step S25 the learning control unit 17 determines whether or not learning control has been executed twice. If the learning control has been performed twice (YES), the process proceeds to step S26. On the other hand, if learning control has not been executed twice (NO), the process proceeds to step S21.
  • step S26 the learning control unit 17 uses the above-described formulas ( 1 ) and ( 2 ) to obtain the correction amount Calculate T C ( ⁇ ) and correction coefficient ⁇ ( ⁇ ).
  • the learning control unit 17 stores the calculated correction amount T C ( ⁇ ) and correction coefficient ⁇ ( ⁇ ) in the storage unit 18 .
  • step S27 the command acquisition unit 10 acquires a second command for actually driving the servomotor 4 from the host controller 2.
  • the second command may or may not have repeatability.
  • step S28 the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the second command output from the command acquisition unit 10.
  • Command generator 11 outputs the generated command to adder 12 .
  • the adder 12 calculates the deviation between the command from the command generator 11 and the detection value from the detector 5 and outputs it to the position/speed controller 13 .
  • the position/speed control unit 13 generates a torque command based on the deviation from the adder 12 and outputs it to the adder 14 .
  • 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 the correction amount T C ( ⁇ ) and the correction coefficient ⁇ ( ⁇ ) to the torque command of the command generated from the second command. Thereby, the servo motor control device 1 corrects changes in the torque constant and changes in the disturbance torque.
  • correction targets are changes in the torque constant and correction of the friction torque.
  • a command (first command) during learning control includes a command for reciprocating the driven body at a constant speed.
  • the correction data calculated by the learning control are a correction coefficient for correcting the torque constant and a correction amount for correcting the friction torque (constant disturbance torque).
  • the target servomotor 4 is an actual single-phase motor.
  • FIG. 27A shows the torque constant kT
  • FIG. 27B shows the correction coefficient ⁇ .
  • the torque constant kT changes according to the position of the servomotor 4.
  • FIG. 27B it is desirable that the correction coefficient .delta .
  • FIG. 27C is a diagram showing the friction torque (constant disturbance torque) TL
  • FIG. 27D is a diagram showing the torque command correction amount TC .
  • the friction torque (constant disturbance torque) TL is constant regardless of the position of the servomotor 4 or the driven body. Therefore, as shown in FIG. 27D, it is desirable that the correction amount T C be a constant value in order to correct the friction torque (constant disturbance torque) T L .
  • the correction pattern C2 is a combination of the correction pattern A and the correction pattern B, like the correction pattern C1.
  • the learning control unit 17 calculates the correction amount TC and the correction coefficient ⁇ by performing the same processes as those for the correction pattern B and the correction pattern A described above, as well as the processes described below.
  • FIG. 28 is a diagram showing learning data T 1 ( ⁇ ) in the usage range.
  • the learning data T 1 ( ⁇ ) is calculated by reciprocating the driven body at a constant speed and performing learning control.
  • the learning data T 1 ( ⁇ ) can be considered to include the correction amount T C and the correction coefficient ⁇ ( ⁇ ), as in Equation (3) below.
  • T 1 ( ⁇ ) (0+ TC ) ⁇ ( ⁇ ) (3)
  • the learning control unit 17 can calculate the correction amount T C and the correction coefficient ⁇ ( ⁇ ) as follows by using Equation (3).
  • FIG. 29 is a flow chart showing the processing of the servo motor control device 1 in the case of the correction pattern C2.
  • the command acquisition unit 10 acquires a first command for learning control from the host controller 2 .
  • the first command is a repetitive command.
  • step S32 the command generation unit 11 generates torque, position and speed commands for driving the servomotor 4 based on the first command output from the command acquisition unit 10.
  • the command generator 11 outputs the generated commands to the phase data generator 16 .
  • step S33 the phase data generator 16 generates phase data for each servo control cycle based on the reciprocating cycle of the first command having repeatability and the servo control cycle of the servo motor control device 1.
  • step S34 the learning control unit 17 performs learning control by reciprocating the driving body driven by the servomotor 4 at a constant speed based on the command generated from the generated phase data and the first command. Then, a correction amount corresponding to the position of the servomotor 4 or the driven body driven by the servomotor 4 is calculated. The learning control unit 17 stores the calculated correction amount in the storage unit 18 .
  • step S35 the command acquisition unit 10 acquires a second command for actually driving the servomotor 4 from the host controller 2.
  • the second command may or may not have repeatability.
  • step S36 the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the second command output from the command acquisition unit 10.
  • Command generator 11 outputs the generated command to adder 12 .
  • the adder 12 calculates the deviation between the command from the command generator 11 and the detection value from the detector 5 and outputs it to the position/speed controller 13 .
  • the position/speed control unit 13 generates a torque command based on the deviation from the adder 12 and outputs it to the adder 14 .
  • step S37 the correction unit 19 refers to the actual position of the driven body output from the detector 5, and converts the correction amount TC and the correction coefficient ⁇ ( ⁇ ) stored in the storage unit 18 from the second command. Applies to the torque command of the generated command. Thereby, the servo motor control device 1 corrects the change in the torque constant and the constant disturbance torque.
  • the servo motor control device 1 operates the servo motor 4 at a constant speed based on the first instruction for learning control acquired from the host control device 2.
  • a learning control unit 17 that performs learning control by operating at a constant acceleration and calculates correction data according to the position of the servomotor 4 or the position of the driven body driven by the servomotor 4, and drives the servomotor 4.
  • a correction unit 19 that acquires a second command for performing from the host controller 2 and applies correction data to the command based on the second command.
  • the servo motor control device 1 calculates correction data using learning control, and applies the calculated correction data to the second command, thereby correcting the second command. Therefore, the servomotor control device 1 can correct the torque ripple according to the position of the servomotor 4 or the position of the driven body driven by the servomotor 4 with higher accuracy.
  • the servo motor control device 1 generates phase data for each servo control cycle based on the rotational speed or the reciprocating cycle of the first command having repeatability and the servo control cycle of the servo motor control device 1.
  • a data generation unit 16 is further provided, and the learning control unit 17 performs learning control by operating the servomotor 4 at a constant speed or at a constant acceleration based on the generated phase data and the first command. , the correction data corresponding to the position of the servomotor 4 or the position of the driven body driven by the servomotor 4 is calculated.
  • the servo motor control device 1 calculates correction data using the generated phase data. 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.
  • the learning control unit 17 also calculates, as correction data, a correction amount and/or a correction coefficient according to the position of the servomotor 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 accurately correct changes in disturbance torque, friction torque, and torque constant according to the position of the driven body.
  • the servomotor control device 1 further includes a command acquisition unit 10 that acquires the first command and the second command from the host control device 2 .
  • the servo motor control device 1 can correct the torque ripple according to the position of the driven body with higher accuracy using the command acquired from the host control device 2 .
  • the servomotor control device 1 further includes a command generator 11 that generates a command for driving the servomotor 4 based on the first command and the second command acquired by the command acquirer 10 .
  • the servomotor control device 1 can use the command for driving the servomotor 4 to correct the torque ripple according to the position of the servomotor 4 or the position of the driven body with higher accuracy.
  • the learning control unit 17 performs learning control by reciprocating motion of the servomotor 4 at a constant acceleration based on the phase data and the first command, calculates a correction coefficient according to the position of the servomotor 4,
  • the correction unit 19 corrects changes in the torque constant of the servomotor 4 by applying the correction coefficient to the torque command based on the second command.
  • the servomotor control device 1 can correct changes in the torque constant of the servomotor 4 with high accuracy.
  • the learning control unit 17 performs learning control by rotating or reciprocating the servomotor 4 at a constant speed based on the phase data and the first command, and determines the position of the servomotor 4 or the driving by the servomotor 4.
  • the correction unit 19 applies the correction amount to the torque command based on the second command, so that the servo motor 4 or the object driven by the servo motor 4 is calculated. Correct the disturbance torque of the driving body.
  • the servo motor control device 1 can accurately correct changes in disturbance torque including cogging torque and friction torque.
  • the learning control unit 17 performs learning control by reciprocating motion of the servomotor 4 at a constant acceleration based on the phase data and the first command, and determines the position of the servomotor 4 or the object driven by the servomotor 4 .
  • a correction amount and a correction coefficient corresponding to the position of the driving body are calculated, and the correction unit 19 applies the correction amount to the torque command based on the second command, thereby changing the torque constant of the servomotor 4 and Alternatively, changes in disturbance torque of the driven body driven by the servomotor 4 are corrected.
  • the servo motor control device 1 can correct changes in the torque constant and changes in the disturbance torque with high accuracy.
  • the learning control unit 17 performs learning control by reciprocating the servomotor 4 at a constant speed based on the phase data and the first command, and determines the position of the servomotor 4 or the object driven by the servomotor 4 .
  • a correction amount and a correction coefficient corresponding to the position of the driving body are calculated, and the correction unit 19 applies the correction amount to the torque command based on the second command, thereby changing the torque constant of the servomotor 4 and Alternatively, the constant disturbance torque of the driven body driven by the servomotor 4 is corrected.
  • the servo motor control device 1 can correct changes in the torque constant and changes in the constant disturbance torque with high accuracy.
  • the servo motor control device 1 can be realized by hardware, software, or a combination thereof. Also, the control method performed by the robot 1 described above can be realized by hardware, software, or a combination thereof.
  • “implemented by software” means implemented by a computer reading and executing a program.
  • 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 discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R/ W, semiconductor memory (eg, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)).

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.

Description

サーボモータ制御装置Servo motor controller
 本発明は、サーボモータ制御装置に関する。 The present invention relates to a servo motor control device.
 従来、サーボモータ制御するために、動作の繰り返し性を利用して、制御偏差を最小にする学習制御が知られている。学習制御は、繰り返し動作の時間周期を規定して、学習制御の時間サンプリング周期ごとに補正量を演算する時間同期方式と、繰り返し動作の1周期の移動量を規定して、規定された1周期の移動量を複数に分割した基準位置における補正量を演算する角度同期方式とが知られている。例えば、特許文献1は、周期的に往復動作する被駆動体について、角度同期方式の学習制御を行うサーボモータ制御装置を開示している。 Conventionally, in order to control servo motors, learning control is known that minimizes control deviation by using the repeatability of motion. The learning control includes a time synchronization method that defines the time period of the repetitive operation and calculates the correction amount for each time sampling period of the learning control, There is known an angle synchronization method that calculates a correction amount at a reference position obtained by dividing the movement amount of . For example, Patent Literature 1 discloses a servo motor control device that performs angle-synchronous learning control on a driven body that periodically reciprocates.
特開2011-269405号公報JP 2011-269405 A
 このようなサーボモータにおいて、トルク定数の変化、コギングトルク、モータの偏心等のような定常時のトルク変動であるトルクリップルが発生する場合がある。よって、サーボモータのトルクリップルをより高い精度で補正することができるサーボモータ制御装置が求められている。 In such a servomotor, torque ripple, which is steady-state torque fluctuations such as changes in torque constant, cogging torque, and motor eccentricity, may occur. Therefore, there is a demand for a servomotor control device that can correct the torque ripple of the servomotor with higher accuracy.
 本開示の一態様に係るサーボモータ制御装置は、サーボモータの制御を行うサーボモータ制御装置であって、上位制御装置から取得した学習制御のための第1の指令に基づいて、前記サーボモータの一定の速度での動作又は一定の加速度での動作により学習制御を行い、前記サーボモータ又は前記サーボモータにより駆動される被駆動体の位置に応じた補正データを算出する学習制御部と、前記サーボモータを駆動するための第2の指令を前記上位制御装置から取得し、前記補正データを前記第2の指令に基づく指令に適用する補正部と、を備える。 A servo motor control device according to an aspect of the present disclosure is a servo motor control device that controls a servo motor, and controls the servo motor based on a first instruction for learning control acquired from a higher-level control device. a learning control unit that performs learning control by operating at a constant speed or operating at a constant acceleration, and calculates correction data according to the position of the servomotor or a driven body driven by the servomotor; a correction unit that acquires a second command for driving the motor from the host controller and applies the correction data to the command based on the second command.
 本発明によれば、サーボモータのトルクリップルをより高い精度で補正することができる。 According to the present invention, the torque ripple of the servomotor can be corrected with higher accuracy.
本実施形態に係るサーボモータ制御装置の構成を示すブロック図である。1 is a block diagram showing the configuration of a servo motor control device according to an embodiment; FIG. 本実施形態に係るサーボモータ制御装置の制御について示す図である。It is a figure which shows about control of the servomotor control apparatus which concerns on this embodiment. トルク定数について示すである。It shows the torque constant. 補正係数について示す図である。It is a figure which shows about a correction coefficient. 補正パターンAの場合におけるサーボモータ制御装置の一部の構成を示すブロック図である。FIG. 11 is a block diagram showing a configuration of part of a servo motor control device in the case of correction pattern A; 補正パターンAの場合におけるサーボモータの位置、指令加速度及びトルク指令の関係を示す図である。8 is a diagram showing the relationship between the position of the servomotor, the commanded acceleration, and the torque command in the case of correction pattern A. FIG. 補正パターンAの場合におけるサーボモータの位置、位相データ及びトルク指令の関係を示す図である。8 is a diagram showing the relationship between the position of the servomotor, phase data, and torque command in the case of correction pattern A; FIG. 位相データとトルク指令との対応関係を示す図である。FIG. 4 is a diagram showing a correspondence relationship between phase data and torque commands; 位相データ及びトルク指令に基づいて算出された補正データを示す図である。FIG. 5 is a diagram showing correction data calculated based on phase data and a torque command; 位相データとサーボモータの位置との対応関係を示す図である。FIG. 3 is a diagram showing a correspondence relationship between phase data and servo motor positions; サーボモータの位置と補正データと対応関係を示す図である。It is a figure which shows the position of a servomotor, correction|amendment data, and correspondence. 使用範囲における補正データを示す図である。It is a figure which shows the correction|amendment data in a use range. 使用範囲における補正係数を示す図である。It is a figure which shows the correction coefficient in a use range. 補正パターンAの場合におけるサーボモータ制御装置の処理を示すフローチャートである。7 is a flowchart showing processing of the servo motor control device in the case of correction pattern A; 外乱トルクについて示す図である。It is a figure which shows disturbance torque. トルク指令の補正量について示す図である。It is a figure which shows about the correction amount of a torque command. 補正パターンBの場合におけるサーボモータ制御装置の一部の構成を示すブロック図である。FIG. 11 is a block diagram showing a partial configuration of a servo motor control device in the case of correction pattern B; 補正パターンBの場合におけるサーボモータの位置又は被駆動体の位置、指令速度及びトルク指令の関係を示す図である。8 is a diagram showing the relationship between the position of the servomotor or the position of the driven body, the commanded speed, and the torque command in the case of correction pattern B; FIG. 補正パターンBの場合におけるサーボモータの位置又は被駆動体の位置、位相データ及びトルク指令の関係を示す図である。8 is a diagram showing the relationship between the position of the servomotor or the position of the driven body, phase data, and torque command in the case of correction pattern B; FIG. 位相データとトルク指令との対応関係を示す図である。FIG. 4 is a diagram showing a correspondence relationship between phase data and torque commands; 位相データ及びトルク指令に基づいて算出された補正量を示す図である。FIG. 4 is a diagram showing a correction amount calculated based on phase data and a torque command; サーボモータの位置又は被駆動体の位置と補正量と対応関係を示す図である。It is a figure which shows the position of a servomotor or the position of a to-be-driven body, correction amount, and correspondence. サーボモータの位置又は被駆動体が正方向に移動した場合の補正量を示す図である。FIG. 10 is a diagram showing the correction amount when the position of the servomotor or the driven body moves in the positive direction; サーボモータの位置又は被駆動体が負方向に移動した場合の補正量を示す図である。FIG. 5 is a diagram showing a correction amount when the position of a servomotor or a driven body moves in the negative direction; 補正パターンBの場合におけるサーボモータ制御装置1の処理を示すフローチャートである。7 is a flowchart showing processing of the servo motor control device 1 in the case of correction pattern B; トルク定数について示すである。It shows the torque constant. 補正係数について示す図である。It is a figure which shows about a correction coefficient. 外乱トルクについて示す図である。It is a figure which shows disturbance torque. トルク指令の補正量について示す図である。It is a figure which shows about the correction amount of a torque command. 補正パターンC1の場合におけるサーボモータ制御装置の一部の構成を示すブロック図である。FIG. 11 is a block diagram showing a partial configuration of a servo motor control device in the case of correction pattern C1; 使用範囲における学習データを示す図である。It is a figure which shows the learning data in a use range. 使用範囲における学習データを示す図である。It is a figure which shows the learning data in a use range. 補正パターンC1の場合におけるサーボモータ制御装置の処理を示すフローチャートである。10 is a flow chart showing processing of the servo motor control device in the case of correction pattern C1. トルク定数について示すである。It shows the torque constant. 補正係数について示す図である。It is a figure which shows about a correction coefficient. 摩擦トルク(一定外乱トルク)について示す図である。It is a figure which shows about friction torque (constant disturbance torque). トルク指令の補正量について示す図である。It is a figure which shows about the correction amount of a torque command. 使用範囲における学習データを示す図である。It is a figure which shows the learning data in a use range. 補正パターンC2の場合におけるサーボモータ制御装置の処理を示すフローチャートである。FIG. 10 is a flowchart showing processing of the servo motor control device in the case of correction pattern C2; FIG.
<サーボモータ制御装置の構成>
 以下、本発明の実施形態の一例について説明する。
 図1は、本実施形態に係るサーボモータ制御装置1の構成を示すブロック図である。サーボ制御装置1は、角度同期方式を用いる学習制御部17を有し、被駆動体を周期的に往復動作させるサーボモータ4を制御する。
<Structure of Servo Motor Controller>
An example of an embodiment of the present invention will be described below.
FIG. 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 section 17 that uses an angle synchronization method, and controls a servo motor 4 that periodically reciprocates a driven body.
 図1に示すように、サーボモータ制御装置1は、指令取得部10と、指令生成部11と、加算器12と、位置速度制御部13と、加算器14と、トルク電流制御部15と、位相データ生成部16と、学習制御部17と、記憶部18と、補正部19と、を備える。 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/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 storage unit 18 , and a correction unit 19 are provided.
 指令取得部10は、上位制御装置2から、学習制御のための第1の指令、及びサーボモータを駆動するための第2の指令を取得する。指令取得部10は、取得した第1の指令又は第2の指令を指令生成部11へ出力する。ここで、第1の指令は、例えば、往復動作を繰り返す指令21であり、第2の指令は、例えば、繰り返し性のない指令22である。 The command acquisition unit 10 acquires from the host controller 2 a first command for learning control and a second command for driving the servomotor. 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 that repeats reciprocating motion, and the second command is, for example, a non-repetitive command 22 .
 指令生成部11は、指令取得部10から出力された第1の指令又は第2の指令に基づいて、サーボモータ4を駆動するためのトルク、位置及び速度の指令を生成する。指令生成部11は、生成した指令を加算器12又は位相データ生成部16へ出力する。 The command generation unit 11 generates torque, position and speed commands for driving the servomotor 4 based on the first command or the second command output from the command acquisition unit 10 . The command generator 11 outputs the generated commands to the adder 12 or the phase data generator 16 .
 加算器12は、指令生成部11からの指令と、検出器5からの検出値との偏差を算出し、位置速度制御部13へ出力する。
 位置速度制御部13は、加算器12からの偏差に基づいてトルク指令を生成し、加算器14へ出力する。
The adder 12 calculates the deviation between the command from the command generator 11 and the detected value from the detector 5 and outputs the deviation to the position/speed controller 13 .
The position/speed control unit 13 generates a torque command based on the deviation from the adder 12 and outputs it to the adder 14 .
 加算器14は、位置速度制御部13からのトルク指令と、補正部19からの補正データとを加算し、トルク電流制御部15へ出力する。 The adder 14 adds the torque command from the position/speed control unit 13 and the correction data from the correction unit 19 and outputs the result to the torque current control unit 15 .
 トルク電流制御部15は、トルク指令及び補正データに基づいて、電流指令を生成し、アンプ3へ出力する。サーボモータ4は、アンプ3によって増幅された電流指令に基づいて、被駆動体(モータ駆動部)を駆動する。検出器5は、サーボモータ4の位置及び速度又はサーボモータ4により駆動される被駆動体の位置及び速度を検出し、加算器12へ出力(フィードバック)する。 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 servomotor 4 drives a driven body (motor driving section) based on the current command amplified by the amplifier 3 . The detector 5 detects the position and speed of the servomotor 4 or the position and speed of the driven body driven by the servomotor 4 and outputs (feedback) to the adder 12 .
 ここで、サーボモータ4は、例えば、ガルバノスキャナにおけるガルバノモータであり、三相モータ又は単相モータである。なお、本実施形態では、サーボモータ4は、ガルバノモータを想定して説明されるが、これに限定されず、サーボモータ4は、他の用途に用いられるモータであってもよい。 Here, the servomotor 4 is, for example, a galvanomotor in a galvanoscanner, and is a three-phase motor or a single-phase motor. In this embodiment, the servo motor 4 is described assuming a galvano motor, but the present invention is not limited to this, and the servo motor 4 may be a motor used for other purposes.
 位相データ生成部16は、繰り返し性を有する第1の指令の回転速度又は往復周期と、サーボモータ制御装置1のサーボ制御周期とに基づいて、サーボ制御周期ごとの位相データを生成する。 The phase data generation unit 16 generates phase data for each servo control cycle based on the rotational speed or reciprocation cycle of the first command having repeatability and the servo control cycle of the servo motor control device 1 .
 ここで、繰り返し性を有する第1の指令の周期をT0、経過した時間をtとすると、位相θは、時間tの関数θ(t)として以下の式のように表される。
θ(t)=360×(t/T0)
Here, assuming that the cycle of the first command having repeatability is T0 and the elapsed time is t, the phase θ is expressed as a function θ(t) of time t by the following formula.
θ(t)=360×(t/T0)
 また、サーボモータ制御装置1におけるサーボ制御周期をTsとすると、サーボ制御周期の1周期ごとに時間Tsが経過することになるから、サーボ制御周期の1周期の経過時における位相θ(t)は、t=Tsを代入して、
 θ(Ts)=360×(Ts/T0)
となる。
Assuming that the servo control period in the servo motor control device 1 is Ts, time Ts elapses for each servo control period. , t=Ts, and
θ(Ts)=360×(Ts/T0)
becomes.
 そして、サーボ制御周期のn周期(n=1,2,3・・・)が経過したときの位相θは、周期nの関数θ(n)として、
 θ(n)=360×(n・Ts/T0)
となる。
Then, the phase θ when n cycles (n=1, 2, 3, . . . ) of the servo control cycle have passed is given by
θ(n)=360×(nTs/T0)
becomes.
 学習制御部17は、位相データ生成部16により生成された位相データ及び第1の指令に基づいて、サーボモータ4の一定の速度での動作(例えば、一方向回転又は往復動作)又は一定の加速度での動作(例えば、往復動作)により学習制御を行い、サーボモータ4の位置又はサーボモータ4により駆動される被駆動体の位置に応じた補正データを算出する。学習制御部17は、角度同期方式の学習制御を行う。また、学習制御部17は、補正データとして、サーボモータ4の位置又はサーボモータ4により駆動される被駆動体の位置に応じた補正量及び/又は補正係数を算出する。 Based on the phase data generated by the phase data generating unit 16 and the first command, the learning control unit 17 operates the servomotor 4 at a constant speed (for example, unidirectional rotation or reciprocating operation) or constant acceleration. Learning control is performed by the operation (for example, reciprocating operation) in , and correction data corresponding to the position of the servomotor 4 or the position of the driven body driven by the servomotor 4 is calculated. The learning control unit 17 performs learning control of the angle synchronization method. The learning control unit 17 also calculates, as correction data, a correction amount and/or a correction coefficient according to the position of the servomotor 4 or the position of the driven body driven by the servomotor 4 .
 記憶部18は、学習制御部17によって算出された補正データを記憶する。
 補正部19は、サーボモータ4を駆動するための第2の指令を上位制御装置2から取得し、記憶部18に記憶された補正データを第2の指令に基づくに適用する。詳細には、補正部19は、記憶部18に記憶された補正データを、位置速度制御部13からのトルク指令に適用する。
The storage unit 18 stores correction data calculated by the learning control unit 17 .
The correction unit 19 acquires a second command for driving the servomotor 4 from the host controller 2 and applies the correction data stored in the storage unit 18 based on the second command. Specifically, the correction unit 19 applies the correction data stored in the storage unit 18 to the torque command from the position/speed control unit 13 .
 図2は、本実施形態に係るサーボモータ制御装置1の制御について示す図である。本実施形態に係るサーボモータ制御装置1は、トルクリップルを補正するために、図2に示すように、補正パターンA、補正パターンB、補正パターンC1及びC2を用いる。 FIG. 2 is a diagram showing the control of the servomotor control device 1 according to this embodiment. The servo motor control device 1 according to the present embodiment uses a correction pattern A, a correction pattern B, and correction patterns C1 and C2 as shown in FIG. 2 in order to correct the torque ripple.
<補正パターンA>
 図2に示すように、補正パターンAでは、補正対象は、トルク定数の変化の補正であり、学習制御時の指令(第1の指令)は、一定加速度で被駆動体又はサーボモータ4の往復動作を行うための指令を含む。学習制御によって算出される補正データは、トルク定数を補正するための補正係数である。対象となるサーボモータ4は、摩擦トルクを考慮しない理想的な単相モータである。
<Correction pattern A>
As shown in FIG. 2, in the correction pattern A, the correction target is correction of changes in the torque constant, and the instruction (first instruction) during learning control is to reciprocate the driven body or the servomotor 4 at a constant acceleration. Contains commands to perform actions. The correction data calculated by learning control is a correction coefficient for correcting the torque constant. The target servomotor 4 is an ideal single-phase motor that does not consider friction torque.
 図3Aは、トルク定数kについて示すであり、図3Bは、補正係数δについて示す図である。図3Aに示すように、サーボモータ4が単相モータである場合、トルク定数kは、サーボモータ4の位置に応じて変化する。そこで、図3Bに示すように、補正係数δは、トルク定数kの変化を補正するために、サーボモータ4の位置に応じた値であることが望ましい。 FIG. 3A shows the torque constant kT , and FIG. 3B shows the correction coefficient δ. As shown in FIG. 3A, when the servomotor 4 is a single-phase motor, the torque constant kT varies according to the position of the servomotor 4 . Therefore, as shown in FIG. 3B, it is desirable that the correction coefficient .delta .
 図4は、補正パターンAの場合におけるサーボモータ制御装置1の一部の構成を示すブロック図である。図4に示すように、補正部19は、位置速度制御部13から出力されたトルク指令に補正係数δを適用することによって、トルク定数kの変化を補正する。そして、補正されたトルク指令は、トルク電流制御部15へ出力される。 FIG. 4 is a block diagram showing a partial configuration of the servo motor control device 1 in the case of the correction pattern A. As shown in FIG. As shown in FIG. 4, the correction unit 19 corrects changes in the torque constant kT by applying a correction coefficient δ to the torque command output from the position/speed control unit 13 . Then, the corrected torque command is output to the torque current control section 15 .
 図5は、補正パターンAの場合におけるサーボモータ4の位置、指令加速度及びトルク指令の関係を示す図である。図6は、補正パターンAの場合におけるサーボモータ4の位置、位相データ及びトルク指令の関係を示す図である。図6の位相データは、上述したように位相データ生成部16によって生成される。 FIG. 5 is a diagram showing the relationship between the position of the servomotor 4, the commanded acceleration, and the torque command in the case of the correction pattern A. FIG. 6 is a diagram showing the relationship between the position of the servomotor 4, the phase data, and the torque command in the case of the correction pattern A. In FIG. The phase data in FIG. 6 are generated by the phase data generator 16 as described above.
 図5及び図6に示すように、指令加速度の一定部分に対応するトルク指令において、トルク定数の変化に起因するトルクリップルが生じる。なお、図5及び図6のサーボモータ4の位置における使用範囲は、被駆動体が実際に動作する範囲を示す。  As shown in Figures 5 and 6, a torque ripple due to a change in the torque constant occurs in the torque command corresponding to a constant portion of the commanded acceleration. 5 and 6 indicate the range in which the driven body actually operates.
 図7は、位相データとトルク指令との対応関係を示す図である。図8は、位相データ及びトルク指令に基づいて算出された学習データを示す図である。
 図7に示すように、学習制御部17は、サーボ制御周期ごと(1周期)における位相データ及びトルク指令に基づいて学習制御を行い、図8に示すような学習データを算出する。
FIG. 7 is a diagram showing the correspondence relationship between phase data and torque commands. FIG. 8 is a diagram showing learning data calculated based on the phase data and the torque command.
As shown in FIG. 7, the learning control unit 17 performs learning control based on the phase data and the torque command in each servo control cycle (one cycle), and calculates learning data as shown in FIG.
 図9は、位相データとサーボモータ4の位置との対応関係を示す図である。図10は、サーボモータ4の位置と学習データと対応関係を示す図である。 FIG. 9 is a diagram showing the correspondence relationship between the phase data and the position of the servomotor 4. FIG. FIG. 10 is a diagram showing the correspondence between the position of the servo motor 4 and the learning data.
 学習制御部17は、位相データを横軸とした図8及び図9の対応関係から、図10に示すサーボモータ4の位置と学習データと対応関係を算出する。これにより、学習制御部17は、サーボモータ4の使用範囲における学習データを算出することができる。 The learning control unit 17 calculates the correspondence relationship between the position of the servomotor 4 and the learning data shown in FIG. 10 from the correspondence relationships in FIGS. Thereby, the learning control section 17 can calculate the learning data in the use range of the servo motor 4 .
 図11Aは、被駆動体又はサーボモータ4の使用範囲における学習データを示す図であり、図11Bは、使用範囲における補正係数を示す図である。 FIG. 11A is a diagram showing learning data in the use range of the driven body or the servomotor 4, and FIG. 11B is a diagram showing correction coefficients in the use range.
 学習制御部17は、図11Aに示す学習データT(θ)を、最小値Tbを基準として規格化することによって、図11Bに示す補正係数を算出することができる。なお、図11Aにおいて、トルク定数kが一定であれば、学習データT(θ)は、Tminとなり、一定の値となる。 The learning control unit 17 can calculate the correction coefficients shown in FIG. 11B by normalizing the learning data T 1 (θ) shown in FIG. 11A based on the minimum value Tb. In FIG. 11A, if the torque constant k T is constant, the learning data T 1 (θ) becomes Tmin, which is a constant value.
 また、トルク指令Tminに相当する一定の加速度でサーボモータ4を動作した場合に得られる学習データT(θ)は、以下の式のように、補正量(=0)と補正係数δとが含まれていると考えることができる。
(θ)=(Tmin+0)δ(θ)
Further, the learning data T 1 (θ) obtained when the servomotor 4 is operated at a constant acceleration corresponding to the torque command Tmin has a correction amount (=0) and a correction coefficient δ as shown in the following equation. can be considered included.
T 1 (θ)=(Tmin+0)δ(θ)
 なお、学習制御部17は、サーボモータ4が正方向に移動する場合の補正係数及びサーボモータ4が負方向に移動する場合の補正係数の両方を算出してもよく、いずれか一方のみを算出してもよい。 The learning control unit 17 may calculate both the correction coefficient when the servomotor 4 moves in the positive direction and the correction coefficient when the servomotor 4 moves in the negative direction. You may
 図12は、補正パターンAの場合におけるサーボモータ制御装置1の処理を示すフローチャートである。
 ステップS1において、指令取得部10は、上位制御装置2から、学習制御のための第1の指令を取得する。ここで、第1の指令は、繰り返し性を有する指令である。
FIG. 12 is a flow chart showing the processing of the servo motor control device 1 in the case of the correction pattern A. As shown in FIG.
In step S<b>1 , the command acquisition unit 10 acquires a first command for learning control from the host controller 2 . Here, the first command is a repetitive command.
 ステップS2において、指令生成部11は、指令取得部10から出力された第1の指令に基づいて、サーボモータ4を駆動するためのトルク、位置及び速度の指令を生成する。指令生成部11は、生成した指令を位相データ生成部16へ出力する。 In step S2, the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the first command output from the command acquisition unit 10. The command generator 11 outputs the generated commands to the phase data generator 16 .
 ステップS3において、位相データ生成部16は、繰り返し性を有する第1の指令の往復周期と、サーボモータ制御装置1のサーボ制御周期とに基づいて、サーボ制御周期ごとの位相データを生成する。 In step S3, the phase data generator 16 generates phase data for each servo control cycle based on the reciprocating cycle of the first command having repeatability and the servo control cycle of the servo motor control device 1.
 ステップS4において、学習制御部17は、生成された位相データ及び第1の指令から生成された指令に基づいて、サーボモータ4の一定の加速度での往復動作により学習制御を行い、サーボモータ4の位置に応じた補正係数を算出する。学習制御部17は、算出した補正係数を記憶部18に記憶する。 In step S4, the learning control unit 17 performs learning control by reciprocating the servo motor 4 at a constant acceleration based on the command generated from the generated phase data and the first command. A correction coefficient corresponding to the position is calculated. The learning control unit 17 stores the calculated correction coefficient in the storage unit 18 .
 ステップS5において、指令取得部10は、上位制御装置2から、サーボモータ4を実際に駆動するための第2の指令を取得する。ここで、第2の指令は、繰り返し性を有さなくてもよく、繰り返し性を有してもよい。 In step S5, the command acquisition unit 10 acquires a second command for actually driving the servomotor 4 from the host controller 2. Here, the second command may or may not have repeatability.
 ステップS6において、指令生成部11は、指令取得部10から出力された第2の指令に基づいて、サーボモータ4を駆動するためのトルク、位置及び速度の指令を生成する。指令生成部11は、生成した指令を加算器12へ出力する。その後、加算器12は、指令生成部11からの指令と、検出器5からの検出値との偏差を算出し、位置速度制御部13へ出力する。位置速度制御部13は、加算器12からの偏差に基づいてトルク指令を生成し、加算器14へ出力する。 In step S6, the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the second command output from the command acquisition unit 10. Command generator 11 outputs the generated command to adder 12 . After that, the adder 12 calculates the deviation between the command from the command generator 11 and the detection value from the detector 5 and outputs it to the position/speed controller 13 . The position/speed control unit 13 generates a torque command based on the deviation from the adder 12 and outputs it to the adder 14 .
 ステップS7において、補正部19は、検出器5から出力されたサーボモータ4の実位置を参照し、記憶部18に記憶された補正係数を第2の指令から生成されたトルク指令に適用する。これにより、サーボモータ制御装置1は、サーボモータ4のトルク定数の変化を補正する。 In step S7, the correction unit 19 refers to the actual position of the servomotor 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. Thereby, the servo motor control device 1 corrects changes in the torque constant of the servo motor 4 .
<補正パターンB>
 図2に示すように、補正パターンBでは、補正対象は、位相依存の外乱トルクの補正であり、学習制御時の指令(第1の指令)は、一定速度での被駆動体の一方向回転動作又は往復動作を行うための指令を含む。学習制御によって算出される補正データは、外乱トルクを補正するための補正量である。対象となるサーボモータ4は、実際の三相モータの主軸(一定速度での一方向回転動作に対応)又は送り軸(一定速度での往復動作に対応)である。
<Correction pattern B>
As shown in FIG. 2, in the correction pattern B, the correction target is the correction of the phase-dependent disturbance torque, and the instruction (first instruction) during the learning control is the unidirectional rotation of the driven body at a constant speed. Contains commands to move or reciprocate. The correction data calculated by learning control is a correction amount for correcting the disturbance torque. The target servomotor 4 is the main shaft of an actual three-phase motor (corresponding to unidirectional rotary motion at constant speed) or feed shaft (corresponding to reciprocating motion at constant speed).
 図13Aは、外乱トルクTについて示す図であり、図13Bは、トルク指令の補正量Tについて示す図である。図13Aに示すように、サーボモータ4が三相同期モータである場合、外乱トルクTは、コギングトルク及び摩擦トルクを含み、サーボモータ4の位置又は被駆動体の位置に応じて変化する。そこで、図13Bに示すように、補正量Tは、外乱トルクTの変化を補正するために、サーボモータ4の位置又は被駆動体の位置に応じた値であることが望ましい。 FIG. 13A is a diagram showing the disturbance torque TL , and FIG. 13B is a diagram showing the torque command correction amount TC . As shown in FIG. 13A, when the servomotor 4 is a three-phase synchronous motor, the disturbance torque TL includes cogging torque and friction torque, and varies according to the position of the servomotor 4 or the position of the driven body. Therefore, as shown in FIG. 13B, the correction amount TC is preferably a value corresponding to the position of the servomotor 4 or the position of the driven body in order to correct the change in the disturbance torque TL .
 図14は、補正パターンBの場合におけるサーボモータ制御装置1の一部の構成を示すブロック図である。図14に示すように、補正部19は、位置速度制御部13から出力されたトルク指令に補正量Tを適用することによって、外乱トルクTの変化を補正する。そして、補正されたトルク指令は、トルク電流制御部15へ出力される。なお、図14における1/Jsは、サーボモータ4の伝達関数を示す。 FIG. 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. As shown in FIG. 14, the correction unit 19 corrects changes in the disturbance torque TL by applying the correction amount TC to the torque command output from the position/speed control unit 13 . Then, the corrected torque command is output to the torque current control section 15 . 1/Js 2 in FIG. 14 indicates the transfer function of the servomotor 4 .
 図15は、補正パターンBの場合におけるサーボモータ4の位置又は被駆動体の位置、指令速度及びトルク指令の関係を示す図である。図15に示すように、加減速を行わない一定速度の部分に対応するトルク指令では、サーボモータ4の位置又は被駆動体の位置に依存する外乱トルクが生じる。よって、生じた外乱トルクに起因するトルクリップルが、トルク指令に生じる。なお、補正パターンBにおいて、学習制御部17は、図15から図21に示すように、被駆動体の一定速度での往復動作を用いて学習制御を実行するが、学習制御部17は、補正パターンBにおいて、被駆動体の一定速度での一方向回転動作を用いて学習制御を実行してもよい。 FIG. 15 is a diagram showing the relationship between the position of the servomotor 4 or the position of the driven body, command speed, and torque command in the case of correction pattern B. FIG. As shown in FIG. 15, a torque command corresponding to a constant speed portion in which no acceleration or deceleration is performed generates disturbance torque depending on the position of the servomotor 4 or the position of the driven body. Therefore, a torque ripple is generated in the torque command due to the generated disturbance torque. In the correction pattern B, the learning control unit 17 executes learning control using the reciprocating motion of the driven body at a constant speed as shown in FIGS. In pattern B, learning control may be performed using a unidirectional rotational motion of the driven body at a constant speed.
 図16は、補正パターンBの場合におけるサーボモータ4の位置又は被駆動体の位置、位相データ及びトルク指令の関係を示す図である。図16の位相データは、上述したように位相データ生成部16によって生成される。 FIG. 16 is a diagram showing the relationship between the position of the servomotor 4 or the position of the driven body, the phase data and the torque command in the case of the correction pattern B. FIG. The phase data in FIG. 16 are generated by the phase data generator 16 as described above.
 図16に示すように、サーボモータ4又は被駆動体が、正方向に移動する場合と、負方向に移動する場合とでトルク指令の出力値が異なるため、位相データ生成部16は、一つの往復動作を1周期として位相データを生成する。なお、図15及び図16のサーボモータ4の位置又は被駆動体の位置における使用範囲は、サーボモータ4の位置又は被駆動体が実際に動作する範囲を示す。 As shown in FIG. 16, the output value of the torque command differs when the servomotor 4 or the driven body moves in the positive direction and when it moves in the negative direction. Phase data is generated with a reciprocating motion as one cycle. 15 and 16, the use range of the position of the servomotor 4 or the position of the driven body indicates the range in which the position of the servomotor 4 or the driven body actually operates.
 図17は、位相データとトルク指令との対応関係を示す図である。図18は、位相データ及びトルク指令に基づいて算出された補正量を示す図である。図17に示すように、学習制御部17は、サーボ制御周期ごと(1周期)における位相データ及びトルク指令に基づいて学習制御を行い、図18に示すような補正量を算出する。 FIG. 17 is a diagram showing the correspondence relationship between phase data and torque commands. FIG. 18 is a diagram showing correction amounts calculated based on phase data and torque commands. As shown in FIG. 17, the learning control unit 17 performs learning control based on the phase data and the torque command in each servo control cycle (one cycle), and calculates the correction amount as shown in FIG.
 図19は、サーボモータ4の位置又は被駆動体の位置と補正量と対応関係を示す図である。学習制御部17は、図18に示す位相データ及び補正量の対応関係から、図19に示すサーボモータ4の位置又は被駆動体の位置と補正量と対応関係を算出する。これにより、学習制御部17は、サーボモータ4又は被駆動体の使用範囲における補正量を算出することができる。図19に示すように、サーボモータ4又は被駆動体が往復動作をしているため、補正量の値は、180度地点を境界として折り返したような形状となる。 FIG. 19 is a diagram showing the relationship between the position of the servomotor 4 or the position of the driven body and the correction amount. The learning control unit 17 calculates the position of the servomotor 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 the correction amount shown in FIG. Thereby, the learning control section 17 can calculate the correction amount in the use range of the servo motor 4 or the driven body. As shown in FIG. 19, since the servomotor 4 or the driven body is reciprocating, the value of the correction amount has a shape that is folded around the 180-degree point.
 図20は、サーボモータ4又は被駆動体が正方向に移動した場合の補正量を示す図であり、図21は、サーボモータ4又は被駆動体が負方向に移動した場合の補正量を示す図である。学習制御部17は、図20及び図21に示す補正量を以下の3つのパターンで抽出する。 FIG. 20 shows the amount of correction when the servomotor 4 or the driven body moves in the positive direction, and FIG. 21 shows the amount of correction when the servomotor 4 or the driven body moves in the negative direction. It is a diagram. The learning control unit 17 extracts the correction amounts shown in FIGS. 20 and 21 with the following three patterns.
 パターン1では、学習制御部17は、サーボモータ4又は被駆動体が正方向に移動した場合の使用範囲の補正量のみを抽出する。この場合、学習制御部17は、サーボモータ4又は被駆動体が正方向に移動した場合、補正量の極性を反転させて、実動作指令に適用する。 In pattern 1, the learning control unit 17 extracts only the correction amount of the use range when the servomotor 4 or the driven body moves in the positive direction. In this case, when the servomotor 4 or the driven body moves in the positive direction, the learning control unit 17 inverts the polarity of the correction amount and applies it to the actual operation command.
 パターン2では、学習制御部17は、サーボモータ4又は被駆動体が正方向に移動した場合の使用範囲の補正量と、負方向に移動した場合の補正量×(-1)との平均値を、サーボモータ4又は被駆動体が正方向に移動した場合の補正量として抽出する。 In pattern 2, the learning control unit 17 calculates the average value of the correction amount of the use range when the servo motor 4 or the driven body moves in the positive direction and the correction amount x (-1) when the servo motor 4 or the driven body moves in the negative direction. is extracted as a correction amount when the servomotor 4 or the driven body moves in the positive direction.
 パターン3では、学習制御部17は、サーボモータ4又は被駆動体が正方向に移動した場合の使用範囲の補正量と、負方向に移動した場合の使用範囲の補正量との両方を抽出する。この場合、学習制御部17は、2つの補正量を実動作指令に適用する。 In pattern 3, the learning control unit 17 extracts both the correction amount of the use range when the servo motor 4 or the driven body moves in the positive direction and the correction amount of the use range when it moves in the negative direction. . In this case, the learning control unit 17 applies two correction amounts to the actual operation command.
 図22は、補正パターンBの場合におけるサーボモータ制御装置1の処理を示すフローチャートである。
 ステップS11において、指令取得部10は、上位制御装置2から、学習制御のための第1の指令を取得する。ここで、第1の指令は、繰り返し性を有する指令である。
FIG. 22 is a flow chart showing the processing of the servo motor control device 1 in the case of the correction pattern B. FIG.
In step S<b>11 , the command acquisition unit 10 acquires a first command for learning control from the host controller 2 . Here, the first command is a repetitive command.
 ステップS12において、指令生成部11は、指令取得部10から出力された第1の指令に基づいて、サーボモータ4を駆動するためのトルク、位置及び速度の指令を生成する。指令生成部11は、生成した指令を位相データ生成部16へ出力する。 In step S12, the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the first command output from the command acquisition unit 10. The command generator 11 outputs the generated commands to the phase data generator 16 .
 ステップS13において、位相データ生成部16は、繰り返し性を有する第1の指令の往復周期又は回転動作の回転速度と、サーボモータ制御装置1のサーボ制御周期とに基づいて、サーボ制御周期ごとの位相データを生成する。 In step S<b>13 , the phase data generation unit 16 calculates the phase data for each servo control cycle based on the reciprocating cycle of the first command having repeatability or the rotation speed of the rotary operation and the servo control cycle of the servo motor control device 1 . Generate data.
 ステップS14において、学習制御部17は、生成された位相データ及び第1の指令から生成された指令に基づいて、サーボモータ4の一定の速度での回転動作又は往復動作により学習制御を行い、サーボモータ4の位置又はサーボモータ4により駆動される被駆動体の位置に応じた補正量を算出する。学習制御部17は、算出した補正量を記憶部18に記憶する。 In step S14, the learning control unit 17 performs learning control by rotating or reciprocating the servomotor 4 at a constant speed based on the command generated from the generated phase data and the first command. A correction amount corresponding to the position of the motor 4 or the position of the driven body driven by the servomotor 4 is calculated. The learning control unit 17 stores the calculated correction amount in the storage unit 18 .
 ステップS15において、指令取得部10は、上位制御装置2から、サーボモータ4を実際に駆動するための第2の指令を取得する。ここで、第2の指令は、繰り返し性を有さなくてもよく、繰り返し性を有してもよい。 In step S15, the command acquisition unit 10 acquires a second command for actually driving the servomotor 4 from the host controller 2. Here, the second command may or may not have repeatability.
 ステップS16において、指令生成部11は、指令取得部10から出力された第2の指令に基づいて、サーボモータ4を駆動するためのトルク、位置及び速度の指令を生成する。指令生成部11は、生成した指令を加算器12へ出力する。その後、加算器12は、指令生成部11からの指令と、検出器5からの検出値との偏差を算出し、位置速度制御部13へ出力する。位置速度制御部13は、加算器12からの偏差に基づいてトルク指令を生成し、加算器14へ出力する。 In step S16, the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the second command output from the command acquisition unit 10. Command generator 11 outputs the generated command to adder 12 . After that, the adder 12 calculates the deviation between the command from the command generator 11 and the detection value from the detector 5 and outputs it to the position/speed controller 13 . The position/speed control unit 13 generates a torque command based on the deviation from the adder 12 and outputs it to the adder 14 .
 ステップS17において、補正部19は、検出器5から出力されたサーボモータ4の位置又は被駆動体の実位置を参照し、記憶部18に記憶された補正量を第2の指令から生成されたトルク指令に適用する。これにより、サーボモータ制御装置1は、サーボモータ4又はサーボモータ4により駆動される被駆動体の外乱トルクの変化を補正する。 In step S17, the correction unit 19 refers to the position of the servomotor 4 output from the detector 5 or the actual position of the driven body, and the correction amount stored in the storage unit 18 is generated from the second command. Applies to torque commands. Thereby, the servo motor control device 1 corrects changes in disturbance torque of the servo motor 4 or the driven body driven by the servo motor 4 .
<補正パターンC1>
 図2に示すように、補正パターンC1では、補正対象は、トルク定数の変化及び位相依存の外乱トルクの補正である。学習制御時の指令(第1の指令)は、一定加速度で被駆動体の往復動作(2つのパターン)を行うための指令を含む。学習制御によって算出される補正データは、トルク定数を補正するための補正係数及び外乱トルクを補正するための補正量である。対象となるサーボモータ4は、より厳密な実際の単相モータである。
<Correction pattern C1>
As shown in FIG. 2, in the correction pattern C1, correction targets are changes in torque constant and correction of phase-dependent disturbance torque. A command (first command) during learning control includes a command for reciprocating the driven body (two patterns) at a constant acceleration. The correction data calculated by the learning control are a correction coefficient for correcting the torque constant and a correction amount for correcting the disturbance torque. The subject servomotor 4 is a more strictly real single-phase motor.
 図23Aは、トルク定数kについて示すであり、図23Bは、補正係数δについて示す図である。図23Aに示すように、サーボモータ4が単相モータである場合、トルク定数kは、サーボモータ4の位置に応じて変化する。そこで、図23Bに示すように、補正係数δは、トルク定数kの変化を補正するために、サーボモータ4の位置に応じた値であることが望ましい。 FIG. 23A shows the torque constant kT , and FIG. 23B shows the correction coefficient δ. As shown in FIG. 23A, when the servomotor 4 is a single-phase motor, the torque constant k T changes according to the position of the servomotor 4 . Therefore, as shown in FIG. 23B, it is desirable that the correction coefficient .delta .
 図23Cは、外乱トルクTについて示す図であり、図23Dは、トルク指令の補正量Tについて示す図である。図23Cに示すように、サーボモータ4が単相モータである場合、外乱トルクTは、コギングトルク及び摩擦トルクを含み、サーボモータ4の位置又は被駆動体の位置に応じて変化する。そこで、図23Dに示すように、補正量Tは、外乱トルクTの変化を補正するために、サーボモータ4の位置又は被駆動体の位置に応じた値であることが望ましい。 FIG. 23C is a diagram showing the disturbance torque TL , and FIG. 23D is a diagram showing the torque command correction amount TC . As shown in FIG. 23C, when the servomotor 4 is a single-phase motor, the disturbance torque TL includes cogging torque and friction torque, and varies according to the position of the servomotor 4 or the position of the driven body. Therefore, as shown in FIG. 23D, the correction amount TC is preferably a value corresponding to the position of the servomotor 4 or the position of the driven body in order to correct the change in the disturbance torque TL .
 図24は、補正パターンC1の場合におけるサーボモータ制御装置1の一部の構成を示すブロック図である。図24に示すように、補正部19は、位置速度制御部13から出力されたトルク指令に補正量T及び補正係数δを適用することによって、外乱トルクTの変化及びトルク定数kの変化を補正する。そして、補正されたトルク指令は、トルク電流制御部15へ出力される。 FIG. 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 the correction amount TC and the correction coefficient δ to the torque command output from the position/speed control unit 13 to change the disturbance torque TL and the torque constant kT . Compensate for changes. Then, the corrected torque command is output to the torque current control section 15 .
 このように、補正パターンC1は、補正パターンAと補正パターンBとを組み合わせたパターンである。学習制御部17は、上述した補正パターンB及び補正パターンAと同様の処理を実行すると共に、以下に示すような処理を実行することによって、補正量T及び補正係数δを算出する。 Thus, the correction pattern C1 is a pattern obtained by combining the correction pattern A and the correction pattern B. FIG. The learning control unit 17 calculates the correction amount TC and the correction coefficient δ by performing the same processes as those for the correction pattern B and the correction pattern A described above, as well as the processes described below.
 図25Aは、使用範囲における学習データT(θ)を示す図である。学習データT(θ)は、トルク指令T1a相当の一定加速度で往復動作を行い、学習制御を行うことによって算出される。 FIG. 25A is a diagram showing learning data T 1 (θ) in the usage range. The learning data T 1 (θ) is calculated by performing a reciprocating motion at a constant acceleration corresponding to the torque command T 1a and performing learning control.
 図25Bは、使用範囲における学習データT(θ)を示す図である。学習データT(θ)は、トルク指令T1aとは異なるトルク指令T2a相当の一定加速度で往復動作を行い、学習制御を行うことによって算出される。 FIG. 25B is a diagram showing learning data T 2 (θ) in the usage range. The learning data T 2 (θ) is calculated by performing learning control by reciprocating at a constant acceleration corresponding to the torque command T 2a different from the torque command T 1a .
 学習データT(θ)は、以下のように補正量T(θ)と補正係数δ(θ)とを含む。
 T(θ)=(T1a+T(θ))δ(θ)・・・(1)
 ここで、補正量T(θ)と補正係数δ(θ)とを分離する必要があるが、1つの一定加速度での往復動作では、補正量T(θ)と補正係数δ(θ)とを分離することができない。そこで、サーボ制御装置1は、T(θ)及びT(θ)の2つパターンの一定加速度での往復動作を実施する。
The learning data T 1 (θ) includes the correction amount T C (θ) and the correction coefficient δ(θ) as follows.
T 1 (θ)=(T 1a + TC (θ)) δ(θ) (1)
Here , it is necessary to separate the correction amount T C (θ) and the correction coefficient δ(θ). and cannot be separated. Therefore, the servo control device 1 performs reciprocating motion with constant acceleration in two patterns of T 1 (θ) and T 2 (θ).
 学習データT(θ)は、以下のように補正量T(θ)と補正係数δ(θ)とを含む。
 T(θ)=(T2a+T(θ))δ(θ)・・・(2)
The learning data T 2 (θ) includes the correction amount T C (θ) and the correction coefficient δ(θ) as follows.
T 2 (θ)=(T 2a + TC (θ)) δ(θ) (2)
 式(1)及び(2)から補正量T(θ)と補正係数δ(θ)とを分離することができ、以下のように示される。
 δ(θ)=(T(θ)-T(θ))/(T2a-T1a
 T(θ)=(T2a(θ)-T1a(θ))/(T(θ)-T(θ))
The correction amount T C (θ) and the correction factor δ(θ) can be separated from equations (1) and (2) and are shown below.
δ(θ)=(T 2 (θ)−T 1 (θ))/(T 2a −T 1a )
T C (θ)=(T 2a T 1 (θ)−T 1a T 2 (θ))/(T 2 (θ)−T 1 (θ))
 図26は、補正パターンC1の場合におけるサーボモータ制御装置1の処理を示すフローチャートである。
 ステップS21において、指令取得部10は、上位制御装置2から、学習制御のための第1の指令を取得する。ここで、第1の指令は、繰り返し性を有する指令である。また、第1の指令は、上述した学習データT(θ)及びT(θ)を得るために、トルク指令T1a又はトルク指令T2aを含む。
FIG. 26 is a flow chart showing the processing of the servo motor control device 1 in the case of the correction pattern C1.
In step S<b>21 , the command acquisition unit 10 acquires a first command for learning control from the host controller 2 . Here, the first command is a repetitive command. Also, the first command includes torque command T 1a or torque command T 2a in order to obtain learning data T 1 (θ) and T 2 (θ) described above.
 ステップS22において、指令生成部11は、指令取得部10から出力された第1の指令に基づいて、サーボモータ4を駆動するためのトルク、位置及び速度の指令を生成する。指令生成部11は、生成した指令を位相データ生成部16へ出力する。 In step S22, the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the first command output from the command acquisition unit 10. The command generator 11 outputs the generated commands to the phase data generator 16 .
 ステップS23において、位相データ生成部16は、繰り返し性を有する第1の指令の往復周期と、サーボモータ制御装置1のサーボ制御周期とに基づいて、サーボ制御周期ごとの位相データを生成する。 In step S23, the phase data generator 16 generates phase data for each servo control cycle based on the reciprocating cycle of the first command having repeatability and the servo control cycle of the servo motor control device 1.
 ステップS24において、学習制御部17は、生成された位相データ及び第1の指令から生成された指令に基づいて、サーボモータ4による被駆動体の一定の速度での往復動作により学習制御を行い、サーボモータ4の位置又はサーボモータ4により駆動される被駆動体の位置に応じた学習データを算出する。学習制御部17は、算出した学習データを記憶部18に記憶する。 In step S24, the learning control unit 17 performs learning control by reciprocating the driven body at a constant speed by the servo motor 4 based on the command generated from the generated phase data and the first command, Learning data corresponding to the position of the servomotor 4 or the position of the driven body driven by the servomotor 4 is calculated. The learning control unit 17 stores the calculated learning data in the storage unit 18 .
 ステップS25において、学習制御部17は、学習制御を2回実行したか否かを判定する。学習制御を2回実行した場合(YES)、処理は、ステップS26へ移る。一方、学習制御を2回実行していない場合(NO)、処理は、ステップS21へ移る。 In step S25, the learning control unit 17 determines whether or not learning control has been executed twice. If the learning control has been performed twice (YES), the process proceeds to step S26. On the other hand, if learning control has not been executed twice (NO), the process proceeds to step S21.
 ステップS26において、学習制御部17は、上述した式(1)及び(2)を用いて、記憶部18に記憶された2つの学習データT(θ)及びT(θ)から、補正量T(θ)及び補正係数δ(θ)を算出する。学習制御部17は、算出した補正量T(θ)及び補正係数δ(θ)を記憶部18に記憶する。 In step S26, the learning control unit 17 uses the above-described formulas ( 1 ) and ( 2 ) to obtain the correction amount Calculate T C (θ) and correction coefficient δ(θ). The learning control unit 17 stores the calculated correction amount T C (θ) and correction coefficient δ(θ) in the storage unit 18 .
 ステップS27において、指令取得部10は、上位制御装置2から、サーボモータ4を実際に駆動するための第2の指令を取得する。ここで、第2の指令は、繰り返し性を有さなくてもよく、繰り返し性を有してもよい。 In step S27, the command acquisition unit 10 acquires a second command for actually driving the servomotor 4 from the host controller 2. Here, the second command may or may not have repeatability.
 ステップS28において、指令生成部11は、指令取得部10から出力された第2の指令に基づいて、サーボモータ4を駆動するためのトルク、位置及び速度の指令を生成する。指令生成部11は、生成した指令を加算器12へ出力する。その後、加算器12は、指令生成部11からの指令と、検出器5からの検出値との偏差を算出し、位置速度制御部13へ出力する。位置速度制御部13は、加算器12からの偏差に基づいてトルク指令を生成し、加算器14へ出力する。 In step S28, the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the second command output from the command acquisition unit 10. Command generator 11 outputs the generated command to adder 12 . After that, the adder 12 calculates the deviation between the command from the command generator 11 and the detection value from the detector 5 and outputs it to the position/speed controller 13 . The position/speed control unit 13 generates a torque command based on the deviation from the adder 12 and outputs it to the adder 14 .
 ステップS29において、補正部19は、検出器5から出力されたサーボモータ4又は被駆動体の実位置を参照し、記憶部18に記憶された補正量T(θ)及び補正係数δ(θ)を第2の指令から生成された指令のトルク指令に適用する。これにより、サーボモータ制御装置1は、トルク定数の変化及び外乱トルクの変化を補正する。 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 the correction amount T C (θ) and the correction coefficient δ(θ ) to the torque command of the command generated from the second command. Thereby, the servo motor control device 1 corrects changes in the torque constant and changes in the disturbance torque.
<補正パターンC2>
 図2に示すように、補正パターンC2では、補正対象は、トルク定数の変化及び摩擦トルクの補正である。学習制御時の指令(第1の指令)は、一定速度で被駆動体の往復動作を行うための指令を含む。学習制御によって算出される補正データは、トルク定数を補正するための補正係数及び摩擦トルク(一定外乱トルク)を補正するための補正量である。対象となるサーボモータ4は、実際の単相モータである。
<Correction pattern C2>
As shown in FIG. 2, in the correction pattern C2, correction targets are changes in the torque constant and correction of the friction torque. A command (first command) during learning control includes a command for reciprocating the driven body at a constant speed. The correction data calculated by the learning control are a correction coefficient for correcting the torque constant and a correction amount for correcting the friction torque (constant disturbance torque). The target servomotor 4 is an actual single-phase motor.
 図27Aは、トルク定数kについて示すであり、図27Bは、補正係数δについて示す図である。図27Aに示すように、サーボモータ4が単相モータである場合、トルク定数kは、サーボモータ4の位置に応じて変化する。そこで、図27Bに示すように、補正係数δは、トルク定数kの変化を補正するために、サーボモータ4の位置に応じた値であることが望ましい。 FIG. 27A shows the torque constant kT , and FIG. 27B shows the correction coefficient δ. As shown in FIG. 27A, when the servomotor 4 is a single-phase motor, the torque constant kT changes according to the position of the servomotor 4. As shown in FIG. Therefore, as shown in FIG. 27B, it is desirable that the correction coefficient .delta .
 図27Cは、摩擦トルク(一定外乱トルク)Tについて示す図であり、図27Dは、トルク指令の補正量Tについて示す図である。図27Cに示すように、摩擦トルク(一定外乱トルク)Tは、サーボモータ4又は被駆動体の位置にかかわらず、一定である。そのため、図27Dに示すように、補正量Tは、摩擦トルク(一定外乱トルク)Tを補正するために、一定の値であることが望ましい。 FIG. 27C is a diagram showing the friction torque (constant disturbance torque) TL , and FIG. 27D is a diagram showing the torque command correction amount TC . As shown in FIG. 27C, the friction torque (constant disturbance torque) TL is constant regardless of the position of the servomotor 4 or the driven body. Therefore, as shown in FIG. 27D, it is desirable that the correction amount T C be a constant value in order to correct the friction torque (constant disturbance torque) T L .
 このように、補正パターンC2は、補正パターンC1と同様に、補正パターンAと補正パターンBとを組み合わせたパターンである。学習制御部17は、上述した補正パターンB及び補正パターンAと同様の処理を実行すると共に、以下に示すような処理を実行することによって、補正量T及び補正係数δを算出する。 Thus, the correction pattern C2 is a combination of the correction pattern A and the correction pattern B, like the correction pattern C1. The learning control unit 17 calculates the correction amount TC and the correction coefficient δ by performing the same processes as those for the correction pattern B and the correction pattern A described above, as well as the processes described below.
 図28は、使用範囲における学習データT(θ)を示す図である。
 図28に示すように、学習データT(θ)は、一定速度で被駆動体の往復動作を行い、学習制御を行うことによって算出される。学習データT(θ)は、以下の式(3)のように、補正量T及び補正係数δ(θ)を含むと考えることができる。
 T(θ)=(0+T)δ(θ)・・・(3)
FIG. 28 is a diagram showing learning data T 1 (θ) in the usage range.
As shown in FIG. 28, the learning data T 1 (θ) is calculated by reciprocating the driven body at a constant speed and performing learning control. The learning data T 1 (θ) can be considered to include the correction amount T C and the correction coefficient δ(θ), as in Equation (3) below.
T 1 (θ)=(0+ TC ) δ(θ) (3)
 学習制御部17は、式(3)を用いることによって、以下のように補正量T及び補正係数δ(θ)を算出することができる。
 T=Tmin
 δ(θ)=T(θ)/Tmin
The learning control unit 17 can calculate the correction amount T C and the correction coefficient δ(θ) as follows by using Equation (3).
TC = Tmin
δ(θ)=T 1 (θ)/Tmin
 図29は、補正パターンC2の場合におけるサーボモータ制御装置1の処理を示すフローチャートである。
 ステップS31において、指令取得部10は、上位制御装置2から、学習制御のための第1の指令を取得する。ここで、第1の指令は、繰り返し性を有する指令である。
FIG. 29 is a flow chart showing the processing of the servo motor control device 1 in the case of the correction pattern C2.
In step S<b>31 , the command acquisition unit 10 acquires a first command for learning control from the host controller 2 . Here, the first command is a repetitive command.
 ステップS32において、指令生成部11は、指令取得部10から出力された第1の指令に基づいて、サーボモータ4を駆動するためのトルク、位置及び速度の指令を生成する。指令生成部11は、生成した指令を位相データ生成部16へ出力する。 In step S32, the command generation unit 11 generates torque, position and speed commands for driving the servomotor 4 based on the first command output from the command acquisition unit 10. The command generator 11 outputs the generated commands to the phase data generator 16 .
 ステップS33において、位相データ生成部16は、繰り返し性を有する第1の指令の往復周期と、サーボモータ制御装置1のサーボ制御周期とに基づいて、サーボ制御周期ごとの位相データを生成する。 In step S33, the phase data generator 16 generates phase data for each servo control cycle based on the reciprocating cycle of the first command having repeatability and the servo control cycle of the servo motor control device 1.
 ステップS34において、学習制御部17は、生成された位相データ及び第1の指令から生成された指令に基づいて、サーボモータ4により駆動される駆動体の一定の速度での往復動作により学習制御を行い、サーボモータ4又はサーボモータ4により駆動される被駆動体の位置に応じた補正量を算出する。学習制御部17は、算出した補正量を記憶部18に記憶する。 In step S34, the learning control unit 17 performs learning control by reciprocating the driving body driven by the servomotor 4 at a constant speed based on the command generated from the generated phase data and the first command. Then, a correction amount corresponding to the position of the servomotor 4 or the driven body driven by the servomotor 4 is calculated. The learning control unit 17 stores the calculated correction amount in the storage unit 18 .
 ステップS35において、指令取得部10は、上位制御装置2から、サーボモータ4を実際に駆動するための第2の指令を取得する。ここで、第2の指令は、繰り返し性を有さなくてもよく、繰り返し性を有してもよい。 In step S35, the command acquisition unit 10 acquires a second command for actually driving the servomotor 4 from the host controller 2. Here, the second command may or may not have repeatability.
 ステップS36において、指令生成部11は、指令取得部10から出力された第2の指令に基づいて、サーボモータ4を駆動するためのトルク、位置及び速度の指令を生成する。指令生成部11は、生成した指令を加算器12へ出力する。その後、加算器12は、指令生成部11からの指令と、検出器5からの検出値との偏差を算出し、位置速度制御部13へ出力する。位置速度制御部13は、加算器12からの偏差に基づいてトルク指令を生成し、加算器14へ出力する。 In step S36, the command generation unit 11 generates torque, position, and speed commands for driving the servomotor 4 based on the second command output from the command acquisition unit 10. Command generator 11 outputs the generated command to adder 12 . After that, the adder 12 calculates the deviation between the command from the command generator 11 and the detection value from the detector 5 and outputs it to the position/speed controller 13 . The position/speed control unit 13 generates a torque command based on the deviation from the adder 12 and outputs it to the adder 14 .
 ステップS37において、補正部19は、検出器5から出力された被駆動体の実位置を参照し、記憶部18に記憶された補正量T及び補正係数δ(θ)を第2の指令から生成された指令のトルク指令に適用する。これにより、サーボモータ制御装置1は、トルク定数の変化及び一定外乱トルクを補正する。 In step S37, the correction unit 19 refers to the actual position of the driven body output from the detector 5, and converts the correction amount TC and the correction coefficient δ(θ) stored in the storage unit 18 from the second command. Applies to the torque command of the generated command. Thereby, the servo motor control device 1 corrects the change in the torque constant and the constant disturbance torque.
 以上説明したように、本実施形態によれば、サーボモータ制御装置1は、上位制御装置2から取得した学習制御のための第1の指令に基づいて、サーボモータ4の一定の速度での動作又は一定の加速度での動作により学習制御を行い、サーボモータ4の位置又はサーボモータ4により駆動される被駆動体の位置に応じた補正データを算出する学習制御部17と、サーボモータ4を駆動するための第2の指令を上位制御装置2から取得し、補正データを第2の指令に基づく指令に適用する補正部19と、を備える。 As described above, according to the present embodiment, the servo motor control device 1 operates the servo motor 4 at a constant speed based on the first instruction for learning control acquired from the host control device 2. Alternatively, a learning control unit 17 that performs learning control by operating at a constant acceleration and calculates correction data according to the position of the servomotor 4 or the position of the driven body driven by the servomotor 4, and drives the servomotor 4. and a correction unit 19 that acquires a second command for performing from the host controller 2 and applies correction data to the command based on the second command.
 これにより、サーボモータ制御装置1は、学習制御を用いて補正データを算出し、算出した補正データを第2の指令に適用することによって、第2の指令を補正する。よって、サーボモータ制御装置1は、サーボモータ4の位置又はサーボモータ4により駆動される被駆動体の位置に応じたトルクリップルをより高い精度で補正することができる。 As a result, the servo motor control device 1 calculates correction data using learning control, and applies the calculated correction data to the second command, thereby correcting the second command. Therefore, the servomotor control device 1 can correct the torque ripple according to the position of the servomotor 4 or the position of the driven body driven by the servomotor 4 with higher accuracy.
 また、サーボモータ制御装置1は、繰り返し性を有する第1の指令の回転速度又は往復周期と、サーボモータ制御装置1のサーボ制御周期とに基づいて、サーボ制御周期ごとの位相データを生成する位相データ生成部16を更に備え、学習制御部17は、生成された位相データ及び第1の指令に基づいて、サーボモータ4の一定の速度での動作又は一定の加速度での動作により学習制御を行い、サーボモータ4の位置又はサーボモータ4により駆動される被駆動体の位置に応じた補正データを算出する。 Further, the servo motor control device 1 generates phase data for each servo control cycle based on the rotational speed or the reciprocating cycle of the first command having repeatability and the servo control cycle of the servo motor control device 1. A data generation unit 16 is further provided, and the learning control unit 17 performs learning control by operating the servomotor 4 at a constant speed or at a constant acceleration based on the generated phase data and the first command. , the correction data corresponding to the position of the servomotor 4 or the position of the driven body driven by the servomotor 4 is calculated.
 これにより、サーボモータ制御装置1は、生成した位相データを用いて補正データを算出する。よって、サーボモータ制御装置1は、位相データを用いた補正データによって、被駆動体の位置に応じたトルクリップルをより高い精度で補正することができる。 As a result, the servo motor control device 1 calculates correction data using the generated phase data. 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.
 また、学習制御部17は、補正データとして、サーボモータ4又は被駆動体の位置に応じた補正量及び/又は補正係数を算出する。これにより、サーボモータ制御装置1は、補正量及び/又は補正係数を用いて、被駆動体の位置に応じた外乱トルク、摩擦トルク及びトルク定数の変化を高い精度で補正することができる。 The learning control unit 17 also calculates, as correction data, a correction amount and/or a correction coefficient according to the position of the servomotor 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 accurately correct changes in disturbance torque, friction torque, and torque constant according to the position of the driven body.
 また、サーボモータ制御装置1は、上位制御装置2から第1の指令及び第2の指令を取得する指令取得部10を更に備える。これにより、サーボモータ制御装置1は、上位制御装置2から取得した指令を用いて被駆動体の位置に応じたトルクリップルをより高い精度で補正することができる。 In addition, the servomotor control device 1 further includes a command acquisition unit 10 that acquires the first command and the second command from the host control device 2 . As a result, the servo motor control device 1 can correct the torque ripple according to the position of the driven body with higher accuracy using the command acquired from the host control device 2 .
 また、サーボモータ制御装置1は、指令取得部10によって取得された第1の指令及び第2の指令に基づいて、サーボモータ4を駆動するための指令を生成する指令生成部11を更に備える。これにより、サーボモータ制御装置1は、サーボモータ4を駆動するための指令を用いて、サーボモータ4の位置又は被駆動体の位置に応じたトルクリップルをより高い精度で補正することができる。 The servomotor control device 1 further includes a command generator 11 that generates a command for driving the servomotor 4 based on the first command and the second command acquired by the command acquirer 10 . As a result, the servomotor control device 1 can use the command for driving the servomotor 4 to correct the torque ripple according to the position of the servomotor 4 or the position of the driven body with higher accuracy.
 また、学習制御部17は、位相データ及び第1の指令に基づいて、サーボモータ4の一定の加速度での往復動作により学習制御を行い、サーボモータ4の位置に応じた補正係数を算出し、補正部19は、補正係数を第2の指令に基づくトルク指令に適用することによって、サーボモータ4のトルク定数の変化を補正する。これにより、サーボモータ制御装置1は、サーボモータ4のトルク定数の変化を高い精度で補正することができる。 Further, the learning control unit 17 performs learning control by reciprocating motion of the servomotor 4 at a constant acceleration based on the phase data and the first command, calculates a correction coefficient according to the position of the servomotor 4, The correction unit 19 corrects changes in the torque constant of the servomotor 4 by applying the correction coefficient to the torque command based on the second command. As a result, the servomotor control device 1 can correct changes in the torque constant of the servomotor 4 with high accuracy.
 また、学習制御部17は、位相データ及び第1の指令に基づいて、サーボモータ4の一定の速度での回転動作又は往復動作により学習制御を行い、サーボモータ4の位置又はサーボモータ4により駆動される被駆動体の位置に応じた補正量を算出し、補正部19は、補正量を第2の指令に基づくトルク指令に適用することによって、サーボモータ4又はサーボモータ4により駆動される被駆動体の外乱トルクを補正する。これにより、サーボモータ制御装置1は、コギングトルク及び摩擦トルクを含む外乱トルクの変化を高い精度で補正することができる。 Further, the learning control unit 17 performs learning control by rotating or reciprocating the servomotor 4 at a constant speed based on the phase data and the first command, and determines the position of the servomotor 4 or the driving by the servomotor 4. The correction unit 19 applies the correction amount to the torque command based on the second command, so that the servo motor 4 or the object driven by the servo motor 4 is calculated. Correct the disturbance torque of the driving body. As a result, the servo motor control device 1 can accurately correct changes in disturbance torque including cogging torque and friction torque.
 また、学習制御部17は、位相データ及び第1の指令に基づいて、サーボモータ4の一定の加速度での往復動作により学習制御を行い、サーボモータ4の位置又はサーボモータ4により駆動される被駆動体の位置に応じた補正量及び補正係数を算出し、補正部19は、補正量を第2の指令に基づくトルク指令に適用することによって、サーボモータ4のトルク定数の変化及びサーボモータ4又はサーボモータ4により駆動される被駆動体の外乱トルクの変化を補正する。これにより、サーボモータ制御装置1は、トルク定数の変化及び外乱トルクの変化を高い精度で補正することができる。 Further, the learning control unit 17 performs learning control by reciprocating motion of the servomotor 4 at a constant acceleration based on the phase data and the first command, and determines the position of the servomotor 4 or the object driven by the servomotor 4 . A correction amount and a correction coefficient corresponding to the position of the driving body are calculated, and the correction unit 19 applies the correction amount to the torque command based on the second command, thereby changing the torque constant of the servomotor 4 and Alternatively, changes in disturbance torque of the driven body driven by the servomotor 4 are corrected. As a result, the servo motor control device 1 can correct changes in the torque constant and changes in the disturbance torque with high accuracy.
 また、学習制御部17は、位相データ及び第1の指令に基づいて、サーボモータ4の一定の速度での往復動作により学習制御を行い、サーボモータ4の位置又はサーボモータ4により駆動される被駆動体の位置に応じた補正量及び補正係数を算出し、補正部19は、補正量を第2の指令に基づくトルク指令に適用することによって、サーボモータ4のトルク定数の変化及びサーボモータ4又はサーボモータ4により駆動される被駆動体の一定外乱トルクを補正する。これにより、サーボモータ制御装置1は、トルク定数の変化及び一定外乱トルクの変化を高い精度で補正することができる。 The learning control unit 17 performs learning control by reciprocating the servomotor 4 at a constant speed based on the phase data and the first command, and determines the position of the servomotor 4 or the object driven by the servomotor 4 . A correction amount and a correction coefficient corresponding to the position of the driving body are calculated, and the correction unit 19 applies the correction amount to the torque command based on the second command, thereby changing the torque constant of the servomotor 4 and Alternatively, the constant disturbance torque of the driven body driven by the servomotor 4 is corrected. As a result, the servo motor control device 1 can correct changes in the torque constant and changes in the constant disturbance torque with high accuracy.
 以上、本発明の実施形態について説明したが、上記のサーボモータ制御装置1は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記のロボット1により行なわれる制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。 Although the embodiments of the present invention have been described above, the servo motor control device 1 can be realized by hardware, software, or a combination thereof. Also, the control method performed by the robot 1 described above can be realized by hardware, software, or a combination thereof. Here, "implemented by software" means implemented by a computer reading and executing a program.
 プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。 Programs can be stored and supplied to computers 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 discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R/ W, semiconductor memory (eg, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)).
 また、上述した各実施形態は、本発明の好適な実施形態ではあるが、上記各実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。 In addition, although each of the above-described embodiments is a preferred embodiment of the present invention, the scope of the present invention is not limited to only the above-described embodiments, and various modifications can be made without departing from the scope of the present invention. It is possible to implement it in the form applied.
 1 サーボモータ制御装置
 2 上位制御装置
 3 アンプ
 4 サーボモータ
 5 検出器
 10 指令取得部
 11 指令生成部
 12 加算器
 13 位置速度制御部
 14 加算器
 15 トルク電流制御部
 16 位相データ生成部
 17 学習制御部
 18 記憶部
 19 補正部
1 servo motor controller 2 host controller 3 amplifier 4 servo motor 5 detector 10 command acquisition unit 11 command generation unit 12 adder 13 position/speed control unit 14 adder 15 torque current control unit 16 phase data generation unit 17 learning control unit 18 storage unit 19 correction unit

Claims (9)

  1.  サーボモータの制御を行うサーボモータ制御装置であって、
     上位制御装置から取得した学習制御のための第1の指令に基づいて、前記サーボモータの一定の速度での動作又は一定の加速度での動作により学習制御を行い、前記サーボモータ又は前記サーボモータにより駆動される被駆動体の位置に応じた補正データを算出する学習制御部と、
     前記サーボモータを駆動するための第2の指令を前記上位制御装置から取得し、前記補正データを前記第2の指令に基づく指令に適用する補正部と、
    を備えるサーボモータ制御装置。
    A servo motor control device for controlling a servo motor,
    Based on a first command for learning control acquired from a host controller, learning control is performed by operating the servomotor at a constant speed or operating at a constant acceleration, and the servomotor or the servomotor a learning control unit that calculates correction data according to the position of the driven body to be driven;
    a correction unit that acquires a second command for driving the servomotor from the host controller and applies the correction data to a command based on the second command;
    A servo motor controller comprising:
  2.  繰り返し性を有する前記第1の指令の回転速度又は往復周期と、前記サーボモータ制御装置のサーボ制御周期とに基づいて、前記サーボ制御周期ごとの位相データを生成する位相データ生成部を更に備え、
     前記学習制御部は、生成された前記位相データ及び前記第1の指令に基づいて、前記サーボモータの一定の速度での動作又は一定の加速度での動作により学習制御を行い、前記サーボモータ又は前記サーボモータにより駆動される被駆動体の位置に応じた補正データを算出する、請求項1に記載のサーボモータ制御装置。
    Further comprising a phase data generation unit that generates phase data for each servo control cycle based on the rotational speed or reciprocation cycle of the first command having repeatability and the servo control cycle of the servo motor control device,
    The learning control unit performs learning control by operating the servomotor at a constant speed or operating at a constant acceleration based on the generated phase data and the first command. 2. The servomotor control device according to claim 1, which calculates correction data according to the position of a driven body driven by the servomotor.
  3.  前記学習制御部は、前記補正データとして、前記サーボモータ又は前記被駆動体の位置に応じた補正量及び/又は補正係数を算出する、請求項1又は2に記載のサーボモータ制御装置。 The servo motor control device according to claim 1 or 2, wherein the learning control unit calculates, as the correction data, a correction amount and/or a correction coefficient according to the position of the servo motor or the driven body.
  4.  前記上位制御装置から前記第1の指令及び前記第2の指令を取得する指令取得部を更に備える、請求項1から3のいずれか一項に記載のサーボモータ制御装置。 4. The servo motor control device according to any one of claims 1 to 3, further comprising a command acquisition unit that acquires the first command and the second command from the host control device.
  5.  前記指令取得部によって取得された前記第1の指令及び前記第2の指令に基づいて、前記サーボモータを駆動するための指令を生成する指令生成部を更に備える、請求項4に記載のサーボモータ制御装置。 5. The servomotor according to claim 4, further comprising a command generation unit that generates a command for driving the servomotor based on the first command and the second command acquired by the command acquisition unit. Control device.
  6.  前記学習制御部は、前記位相データ及び前記第1の指令に基づいて、前記サーボモータの一定の加速度での往復動作により学習制御を行い、前記サーボモータの位置に応じた補正係数を算出し、
     前記補正部は、前記補正係数を前記第2の指令に基づくトルク指令に適用することによって、前記サーボモータのトルク定数の変化を補正する、
    請求項2に記載のサーボモータ制御装置。
    The learning control unit performs learning control by reciprocating motion of the servomotor at a constant acceleration based on the phase data and the first command, calculates a correction coefficient according to the position of the servomotor,
    The correction unit corrects changes in the torque constant of the servomotor by applying the correction coefficient to the torque command based on the second command.
    3. A servo motor control device according to claim 2.
  7.  前記学習制御部は、前記位相データ及び前記第1の指令に基づいて、前記サーボモータの一定の速度での回転動作又は往復動作により学習制御を行い、前記サーボモータ又は前記サーボモータにより駆動される被駆動体の位置に応じた補正量を算出し、
     前記補正部は、前記補正量を前記第2の指令に基づくトルク指令に適用することによって、前記サーボモータ又は前記サーボモータにより駆動される被駆動体の外乱トルクを補正する、
    請求項2に記載のサーボモータ制御装置。
    The learning control unit performs learning control based on the phase data and the first command by rotating or reciprocating the servomotor at a constant speed, and is driven by the servomotor or the servomotor. Calculate the correction amount according to the position of the driven body,
    The correction unit corrects disturbance torque of the servomotor or a driven body driven by the servomotor by applying the correction amount to the torque command based on the second command.
    3. A servo motor control device according to claim 2.
  8.  前記学習制御部は、前記位相データ及び前記第1の指令に基づいて、前記サーボモータの一定の加速度での往復動作により学習制御を行い、前記サーボモータ又は前記サーボモータにより駆動される被駆動体の位置に応じた補正量及び補正係数を算出し、
     前記補正部は、前記補正量を前記第2の指令に基づくトルク指令に適用することによって、前記サーボモータのトルク定数の変化及び前記サーボモータ又は前記サーボモータにより駆動される被駆動体の外乱トルクの変化を補正する、
    請求項2に記載のサーボモータ制御装置。
    The learning control unit performs learning control by reciprocating motion of the servomotor at a constant acceleration based on the phase data and the first command, and the servomotor or a driven body driven by the servomotor. Calculate the correction amount and correction coefficient according to the position of
    By applying the correction amount to the torque command based on the second command, the correction unit corrects changes in the torque constant of the servomotor and disturbance torque of the servomotor or a driven body driven by the servomotor. to compensate for changes in
    3. A servo motor control device according to claim 2.
  9.  前記学習制御部は、前記位相データ及び前記第1の指令に基づいて、前記サーボモータの一定の速度での往復動作により学習制御を行い、前記サーボモータ又は前記サーボモータにより駆動される被駆動体の位置に応じた補正量及び補正係数を算出し、
     前記補正部は、前記補正量を前記第2の指令に基づくトルク指令に適用することによって、前記サーボモータのトルク定数の変化及び前記サーボモータ又は前記サーボモータにより駆動される被駆動体の一定外乱トルクを補正する、
    請求項2に記載のサーボモータ制御装置。
    The learning control unit performs learning control by reciprocating the servomotor at a constant speed based on the phase data and the first command, and the servomotor or a driven body driven by the servomotor. Calculate the correction amount and correction coefficient according to the position of
    The correction unit applies the correction amount to the torque command based on the second command, thereby reducing the change in the torque constant of the servomotor and the constant disturbance of the servomotor or the driven body driven by the servomotor. to compensate for torque,
    3. A servo motor control device according to claim 2.
PCT/JP2021/038564 2021-10-19 2021-10-19 Servomotor control device WO2023067682A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/038564 WO2023067682A1 (en) 2021-10-19 2021-10-19 Servomotor control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/038564 WO2023067682A1 (en) 2021-10-19 2021-10-19 Servomotor control device

Publications (1)

Publication Number Publication Date
WO2023067682A1 true WO2023067682A1 (en) 2023-04-27

Family

ID=86058875

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/038564 WO2023067682A1 (en) 2021-10-19 2021-10-19 Servomotor control device

Country Status (1)

Country Link
WO (1) WO2023067682A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06343284A (en) * 1993-05-31 1994-12-13 Toyota Motor Corp Method and apparatus for repetitively controlling ac servomotor
JP2004227163A (en) * 2003-01-21 2004-08-12 Fanuc Ltd Servo control device
JP2008092659A (en) * 2006-10-02 2008-04-17 Yaskawa Electric Corp Motor controller and torque constant correcting method of the same
JP2016055308A (en) * 2014-09-08 2016-04-21 ファナック株式会社 Processing system containing galvano-scanner capable of scanning laser beam at high speed
WO2016121373A1 (en) * 2015-01-28 2016-08-04 パナソニックIpマネジメント株式会社 Motor control device, and method for correcting torque constant in such motor control device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06343284A (en) * 1993-05-31 1994-12-13 Toyota Motor Corp Method and apparatus for repetitively controlling ac servomotor
JP2004227163A (en) * 2003-01-21 2004-08-12 Fanuc Ltd Servo control device
JP2008092659A (en) * 2006-10-02 2008-04-17 Yaskawa Electric Corp Motor controller and torque constant correcting method of the same
JP2016055308A (en) * 2014-09-08 2016-04-21 ファナック株式会社 Processing system containing galvano-scanner capable of scanning laser beam at high speed
WO2016121373A1 (en) * 2015-01-28 2016-08-04 パナソニックIpマネジメント株式会社 Motor control device, and method for correcting torque constant in such motor control device

Similar Documents

Publication Publication Date Title
JP4980453B2 (en) Servo control system for high-precision machining
US6859007B2 (en) Servo motor drive control device
JP3830475B2 (en) Control device
JP3185857B2 (en) Motor control device
JP7072728B2 (en) Power converter control device and motor drive system
JP7055242B2 (en) Power converter control device, control method, and motor drive system
JP2010049599A (en) Machine tool
JP2005086841A (en) Motor control device
JP2011176907A5 (en)
Berger et al. Time optimal trajectory planning with feedforward and friction compensation
WO2023067682A1 (en) Servomotor control device
JP2830274B2 (en) Variable speed drive current control system
JP2016032326A (en) Motor controller, robot device, motor control method, program, and recording medium
JP2009038942A (en) Load inertia identification method and servo motor controller
JP7095436B2 (en) Control devices, control methods, information processing programs, and recording media
US7138784B2 (en) Position command and pulse timing command optimization for step motors, using a position sensor
Natal et al. Nonlinear dual mode adaptive control of PAR2: a 2-dof planar parallel manipulator, with real-time experiments
WO2022202850A1 (en) Servo control device
JP2019042842A (en) Learning control device and learning control method of driving machine
Broel-Plater et al. The Use of a Torque Meter to Improve the Motion Quality at Very Slow Velocity of a Servo Drive with a PMSM Motor
Yue et al. An observer-based robust adaptive controller for permanent magnet synchronous motor drive with initial rotor angle uncertainty
WO2022202852A1 (en) Servo control device
US20230333532A1 (en) Machine tool control device
JP2004102556A (en) Positioning controller
JP2023067328A (en) Position correction device and position correction metho

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21961335

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023554113

Country of ref document: JP