The present invention relates to a motor control device that controls a plurality of motors.
Mechanical devices, such as an injection molding machine, often include two or more drive shafts, and use motors that correspond one-to-one to the two or more drive shafts to drive a single mechanically-controlled device. In such a mechanical device that includes the two or more drive shafts, that is, the multiple drive shafts, one of the multiple drive shafts serves as a master shaft while the other shafts serve as slave shafts. Since all the drive shafts drive the same controlled device, the master shaft and the slave shafts are required to synchronize their speeds and positions.
A technique for achieving the synchronized speed operation between the master shaft and the slave shafts includes a method of providing art identical command value to the master shaft and the slave shafts. Unfortunately, even when the identical command value is provided to the master shaft and the slave shafts, a difference in the rotational speed or the position between the master shaft and the slave shafts may occur due to, for example, the variation in characteristics between the motors corresponding to the respective drive shafts, or a disturbance torque. If such a difference in the rotational, speed or the position between the drive shafts occurs, the synchronous control cannot be achieved. Patent Literature 1 discloses an example of the technique for achieving the synchronous control in spite of the difference as described above.
Patent Literature 1 discloses a synchronous control device that, detects a workpiece conveyance speed that is a rotational speed of a master shaft, and a rotational speed of a seam electrode that is a rotational speed of a slave shaft. On the basis of the difference between the workpiece conveyance speed and the rotational speed of the seam electrode, the rotational speed of the seam electrode is brought into synchronization with the workpiece conveyance speed. The synchronous control device of Patent Literature 1, which uses the difference between the actually detected speeds to execute the synchronous control, achieves the synchronization even, in the presence of the variation in the motor characteristics between the master shaft and the slave shaft, or the disturbance torque.
Patent Literature 1: Japanese Patent Application Laid-open No. H10-255780
In the synchronous control device described in Patent Literature 1, the slave-shaft-side control system executes the synchronous control by using the aforementioned speed difference. For this reason, the synchronous control device described in Patent Literature 1 can achieve the synchronous control as long as the motors corresponding to the respective drive shafts operate within an allowable torque range. At least one of the motor corresponding to the master shaft and the motor corresponding to the slave shaft is often required to perform a high-torque operation so that a torque saturation with the torque exceeding an upper-limit value of the allowable torque occurs. During the high-torque operation, the slave shaft can still follow the operation of the master shaft, thus maintaining the synchronization between the master shaft and the slave shaft provided that the torque saturation occurs in the motor corresponding to the master shaft while the torque saturation does not occur in the motor corresponding to the slave shaft. During the high-torque operation, however, the slave shaft fails to follow the operation of the master shaft provided that the torque saturation does not occur in the motor corresponding to the master shaft while the torque saturation occurs in the motor corresponding to the slave shaft. As a result, the synchronization between the master shaft and the slave shaft is not maintained.
The present invention has been achieved to solve the above problems, and an object of the present invention is to provide a motor control device that can maintain the synchronization between drive shafts even during the high-torque operation.
In order to solve the above problems and achieve the object, a motor control device according to the present invention includes a first drive device to drive a first motor, and a second drive device to drive a second motor. The motor control device according to the present invention includes a correction-amount calculation unit to use a detection result of a position of the first motor and a detection result of a position of the second motor to calculate a correction amount for correcting a command that is to be used for controlling the first, motor, and a correction unit to correct the command that is to be used for controlling the first motor by using the correction amount. Further, the motor control device according to the present invention includes a position control unit to execute position control on the second motor by using the detection result of the position of the first motor as a position command.
The motor control device according to the present invention has an effect where synchronization between drive shafts can be maintained even during a high-torque operation.
A motor control device according to embodiments of the present invention will be described in detail below based on the drawings. The present invention is not limited to the embodiments.
In
The motor control device 10a includes a master-shaft drive device 1a that drives the master-shaft motor 2, and a slave-shaft drive device 3 that drives the slave-shaft motor 4. The master-shaft drive device 1a is a first drive device that drives the first motor. The slave-shaft drive device 3 is a second drive device that drives the second motor. The master-shaft drive device 1a includes the master-shaft control circuit 100a, a master-shaft power circuit 101, a power supply 102, and a current detector 103.
The master-shaft control circuit 100a uses feedback information imasterFB on a current, that, flows through the master shaft described later, θmasterFB , θslaveFB and the master-shaft speed command ωmaster* received from the higher-level controller 500 to calculate a voltage command Vmaster* for the voltage to be output to the master-shaft motor 2. The master-shaft power circuit. 101 converts DC power supplied from the power supply 102, to AC power, and outputs the AC power to the master-shaft motor 2. The current detector 103 detects a current that flows through the master-shaft motor 2, and outputs information indicating the detection result to the master-shaft control circuit 100a, as feedback information imasterFB on the current that flows through the master shaft.
The slave-shaft drive device 3 includes the slave-shaft control circuit 300, a slave-shaft power circuit 301, a power supply 302, and a current detector 303.
The slave-shaft control circuit 300 uses feedback information islaveFB on a current that flows through the slave shaft described later, θmasterFB, and θslaveFB to calculate a voltage command Vslave* for the voltage to be output to the slave-shaft motor 4. The slave-shaft power circuit 301 converts DC power supplied from the power supply 302, to AC power, and outputs the AC power to the slave-shaft motor 4. The current detector 303 detects a current that flows through the slave-shaft motor 4, and outputs information indicating the detection result to the slave-shaft control circuit 300, as feedback information islaveFB on the current that flows through the slave shaft.
Generally, each of the master-shaft power circuit 101 and the slave-shaft power circuit 301 is configured by an inverter that includes switching elements for performing power conversion through PWM (Pulse Width Modulation) control. However, the specific configuration of the master-shaft power circuit 101 and the slave-shaft power circuit 301 is not limited thereto. For example, the master-shaft motor 2, and the slave-shaft motor 4 are three-phase motors. The master-shaft power circuit 101, and the slave-shaft power circuit. 301 output three phases of AC power to their corresponding motors. The number of phases of the master-shaft motor 2 and the slave-shaft motor 4 is not limited to this example.
More specifically, the correction-amount calculation unit 11 includes a subtractor 12, and a PID (Proportional Integral Differential) control unit 13. The subtractor 12 calculates the difference Δθ between θmasterFB and θslaveFB, and outputs the calculated difference Δθ to the PID control unit 13. The PID control unit 13 calculates the voltage-command correction amount Δω by executing PID control such that the Δθ becomes zero.
The speed conversion unit 15 converts θmasterFB to ωmasterFB that is feedback information on the rotational speed of the master-shaft motor 2, and then the speed conversion unit 15 outputs ωmasterFB to the subtractor 16. Specifically, the speed conversion unit 15 calculates ωmasterFB by calculating the amount of change in θmasterFB per unit time. The subtractor 14 subtracts Δω from ωmaster* received from the higher-level controller 500, and outputs the result of the subtraction to the subtractor 16, as a corrected speed command ωmaster**.
The subtractor 16 calculates the difference between ωmaster** and ωmasterFB, and outputs the calculated difference to the speed control unit 17. The speed control unit 17 determines; a torque current command imaster* that corresponds to the master-shaft motor 2 such that the difference between ωmaster** and ωmasterFB becomes zero. Specifically, the speed control unit 17 determines the imaster* by executing PI (Proportional Integral) control, for example.
The subtractor 18 calculates the difference between imaster* and imasterFB, and outputs the calculated difference to the current control unit 19. The current control unit 19 determines a voltage command Vmaster* that corresponds; to the master-shaft motor 2 such that the difference between imaster* and imasterFB becomes zero, and then the current control unit 13 outputs the voltage command Vmaster* to the master-shaft power circuit 101. Specifically, the current control unit 19 determines Vmaster* by executing PI control, for example.
As described above, the correction-amount calculation unit 11 uses θmasterFB that is the detection result of the master-shaft motor 2, and θslaveFB that is the detection result of the position of the slave-shaft motor 4, to calculate the correction amount for correcting the speed command which is an example of a command that is to be used for controlling the master-shaft motor 2. The subtractor 14 is a correction unit that uses the correction amount to correct the command that is to be used for controlling the master-shaft motor 2.
The subtractor 31 calculates the difference Δθ between θmasterFB and θslaveFB, and outputs the calculated difference Δθ to the position control unit 32. The position control unit 32 determines a voltage command ωslave* that corresponds to the slave-shaft motor 4 such that the Δθ becomes zero, and then the position control, unit 32 outputs the voltage command ωslave* to the subtractor 34. In this manner, the slave-shaft control circuit 300 executes position control such that, the difference between θmasterFB and θslaveFB becomes zero. That is, the slave-shaft control circuit 300 uses θmasterFB as a position command.
The speed conversion unit 33 converts θslaveFB to that is feedback information on the rotational speed of the slave-shaft motor 4, and then the speed conversion unit 33 outputs the ωslaveFB to the subtractor 34. Specifically, the speed conversion unit 33 calculates ωslaveFB by calculating the amount of change in θslaveFB per unit time.
The subtractor 34 outputs the difference between ωslave* and ωslaveFB to the speed control unit 35. The speed control unit 35 determines a torque current command islave* that corresponds to the slave-shaft motor 4 such that the difference between ωslave* and ωslaveFB becomes zero. Specifically, the speed control unit 35 determines islave* by executing PI control, for example.
The subtractor 36 calculates the difference between islave* and islaveFB, and outputs the calculated difference to the current control unit 37. The current control unit 37 determines a voltage command Vslave* that corresponds to the slave-shaft motor 4 such that the difference between islave* and islaveFB becomes zero, and then the current control unit 37 outputs Vslave* to the slave-shaft power circuit 301. Specifically, the current control unit 37 determines Vslave* by executing PI control, for example.
Next, an operation and effects of the correction-amount calculation unit 11 in the present embodiment are described. The motor control device 10a in the present embodiment controls the rotational speed of the master-shaft motor 2 and the rotational speed of the slave-shaft motor 4 so as to be synchronized with each other on the basis of the speed command ωmaster*. The slave-shaft control circuit 300 uses θmasterFB as a position command in order to synchronize the rotational speed of the slave-shaft motor 4 with the rotational speed of the master-shaft motor 2. The motor control device 10a executes the control as described above, that is, the control that uses the position feedback information on the master shaft as a speed command for the slave shaft. As a result, the motor control device 10a can achieve synchronous control between the master-shaft motor 2 and the slave-shaft motor 4 provided that torque saturation does not occur in the master-shaft motor 2 and the slave-shaft motor 4. Even when the torque saturation occurs in at least one of the master-shaft motor 2 and the slave-shaft motor that is, even in a state of high-torque operation, the motor control device 10a can still achieve the synchronous control between the master-shaft motor 2 and the slave-shaft motor 4 provided that, the torque saturation occurs in the master-shaft motor 2 while the torque saturation does not occur in the slave-shaft motor 4.
Meanwhile, in the state of high-torque operation in which the torque saturation does not occur in the master-shaft motor 2 while the torque saturation occurs in the slave-shaft motor 4, the motor control device 10a may not Co able to maintain synchronous control solely by using the position feedback information on the master shaft as a speed command for the slave shaft. Therefore, in the present embodiment, the correction-amount calculation unit 11 uses both θmasterFB and θslaveFB to calculate the correction amount Δω for the speed of the master-shaft, motor 2 such that there is no difference between θmasterFB and θslaveFB. The subtract or 14 then subtracts A co from ωmaster*. The speed control unit 17 uses ωmaster**, which is a value obtained by subtracting Δω from ωmaster*, as a speed command to execute the speed control.
As described above, the master-shaft control circuit 100a corrects the speed command such that there is no difference between θmasterFB and θslaveFB. For example, when a phenomenon in which the rotation of the master-shaft motor 2 lags behind the rotation of the slave-shaft motor 4 occurs, the master-shaft control, circuit 100a automatically decreases the speed-command value, and therefore can eliminate the difference between the shafts. Due to this correction, the motor control device 10a can eliminate the difference between the shafts, and still maintain, the synchronous control between the shafts even under the condition that the torque saturation does not occur in the master-shaft motor 2 while the torque saturation occurs in the slave-shaft, motor 4.
Specifically, when an upper-limit value of an allowable torque for the slave-shaft motor 4 is smaller than an upper-limit, value of an allowable torque for the master-shaft motor 2, for example, there is the possibility of the occurrence of the aforementioned state, that is, there is the possibility that the torque saturation does not occur in the master-shaft motor 2 while the torque saturation occurs in the slave-shaft motor 4.
In the case where the correction-amount calculation unit 11 is not provided, when the torque saturation: does not occurred in the master-shaft, motor 2 while the torque saturation has occurred in the slave-shaft motor 4, the slave-shaft motor 4 fail to follow the master-shaft motor 2 as illustrated in
Even when no torque saturation occurs but disturbance that causes an increase in the rotational speed of the master-shaft motor 2 occurs, the value of a speed command for the master shaft is still increased, and the operation of the slave shaft that, follows the master shaft also becomes faster automatically in accordance with the configuration and the operation of the motor control device 10a in the present embodiment. The synchronization between the master shaft and the slave shaft can thus be maintained.
In the present embodiment, the correction-amount calculation unit 11 calculates the correction amount by executing the PID control. Alternatively, the correction-amount calculation unit 11 may calculate the correction amount by executing the PI control or the PD (Proportional Differential) control. Further, the speed control unit 17, the current control, unit 19, the position control unit 32, the speed control unit 35, and the current control unit 37 may individually execute the PD control or the PID control.
A hardware configuration of the master-shaft control circuit 100a, and the slave-shaft control circuit 300 is described below. The respective units that constitute the master-shaft, control circuit 100a and the slave-shaft control circuit 300 are implemented by a processing circuit. The processing circuit may be an analog circuit, a circuit that is configured as dedicated hardware, or a control circuit that includes a processor. When the processing circuit is the analog circuit, the respective units of the circuit are configured by, for example, as resistance, an operational amplifier, and the like.
The processing circuit may also be configured as an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or dedicated hardware that combines the ASIC and the FPGA.
In the case where the processing circuit is implemented by the control circuit that includes the processor, this control circuit is, for example, a control circuit 200 that is configured as illustrated in
In the case where the processing circuit is the control circuit 200 that includes the processor 201, the individual constituent units of the master-shaft control circuit 100a and the slave-shaft control circuit 300 are implemented by the processor 201 reading and executing a program that is stored in the memory 202 and describes the process of each constituent unit. The memory 202 is used also as a temporary memory for the processor 201 to perform each process.
It is to be understood that two or more of the circuits, which are the analog circuit, the processing circuit that is dedicated hardware, and the control circuit 200 may be combined together. For example, a part of the master-shaft control circuit 100a and the slave-shaft control circuit 300 is implemented by an analog circuit, while the other part of these control circuits 100a and 300 is implemented by the control circuit 200.
As described above, in the present embodiment, the correction-amount calculation unit 11 calculates the correction amount Δω for the speed of the master-shaft motor 2 such that there is no difference between θmasterFB and θslaveFB. The subtract or 14 then subtracts Δω from the ωmaster* to correct the speed command. Therefore, even, during the high-torque operation, the motor control device 10a can still maintain the synchronization between the drive shafts.
In the first embodiment, the example has been described in which the speed command is corrected. In the present embodiment, an example is described in which a torque current command is corrected. In the case of correcting the torque current command, the same effects as those in the first embodiment can also be obtained.
The motor control device 10b in the present embodiment is identical to the master-shaft drive device 1a in the first embodiment, except that the motor control device 10b includes a master-shaft drive device 1b instead of the master-shaft drive device 1a in the first embodiment. The master-shaft drive device 1b is identical to the master-shaft drive device 1a in the first embodiment, except that the master-shaft drive device 1b includes a master-shaft control circuit 100b instead of the master-shaft control circuit 100a.
The PID control unit 21 calculates a correction amount Δi for a current that flows through the master-shaft motor 2 such that the difference Δθ between θmasterFB and θslaveFB, which is output from the subtractor 12, becomes zero. The PID control unit 21 then outputs the correction amount Δi to the subtractor 22. The subtractor 22 subtracts the Δi from imaster* that is a torque current command output from the speed control unit 17, and then the subtractor 22 outputs the result of the subtraction as imaster** to the current control unit 19. The current control unit 19 uses imaster** as a torque current command to calculate Vmaster* such that the difference between the torque current command and imaster* becomes zero, and then the current control unit 19 outputs Vmaster* to the master-shaft power circuit 101 in the same manner as in the first embodiment.
In the present embodiment, the difference between ωmaster** and ωmasterFB that is output from the speed conversion unit 15 is input, to the speed control unit 17. Therefore, the speed control unit 17 uses ωmaster* which has been output from the higher-level controller 500, as a speed command to execute the speed control. Meanwhile, the current control unit 19 executes the current control by using the torque current command which has been corrected by using the correction amount calculated such that the difference between θmasterFB and θslaveFB becomes zero, as described above.
As described above, the correction-amount calculation unit 20 uses θmasterFB that is the detection result of the master-shaft motor 2, and θslaveFB that is the detection result of the position of the slave-shaft motor 4, to calculate the correction amount for correcting the current command which is an example of the command that is to be used for controlling the master-shaft motor 2. The subtractor 22 is a correction unit that uses the correction amount, to correct the current command that is to be used for controlling the master-shaft motor 2.
As described above, the master-shaft control circuit 100b in the present, embodiment corrects the torque current command instead of correcting the speed command, and therefore can achieve the same effects as those in the first embodiment.
A hardware configuration of the correction-amount calculation unit 20 and the subtractor 22 in the present embodiment is implemented by a processing circuit similarly to the respective constituent units described in the first embodiment. As described in the first embodiment, the processing circuit may be any of an analog circuit, a processing circuit that is dedicated hardware, and the control circuit 200, or a combination of two or more of these circuits.
Although the first and second embodiments have been described in the case where the drive shafts are the two drive shafts, the present invention is applicable to a case where the drive shafts are three or more drive shafts.
As illustrated in
As illustrated in
The master-shaft drive device 1c is identical to the master-shaft drive device 1a in the first embodiment, except that the master-shaft drive device 1c includes a master-shaft control circuit 100c instead of the master-shaft control circuit 100a.
The correction-amount calculation unit 23 includes the subtractor 12, the PID control unit 13, and a most-lagging-slave determiner 24. The most-lagging-slave determiner 24 selects feedback information indicating the most-lagging-rotation from among the n-pieces of feedback information from θslaveFB(1) to θslaveFB(n), and then outputs the selected feedback information as θslaveFB_slow to the subtractor 12. The feedback information indicating the most-lagging-rotation means the feedback information indicating the smallest rotational-angle. It is noted that when the angles indicated by θslaveFB(1) to θslaveFB(n) vary within the range from an angle below 360° through 360°to an angle above 360°, the most-lagging-slave determiner 24 subtracts 360° from a value smaller than 360° to thereby calculate the smallest rotational angle as a negative value of the angle. For example, where n=3, and θslaveFB(1) indicates 1°, θslaveFB(2) indicates 360°, and the θslaveFB(3) indicates 0°, the θslaveFB(2) is converted to −1° by subtracting 360° from 359°. In this case, the θslaveFB(2) is selected as the θslaveFB_slow. As described above, the correction-amount calculation unit 23 calculates the correction amount such that the difference between the detection result of the position of the master-shaft motor 2 and the detection result of the position of the slave-shaft motor 4 becomes zero.
The subtractor 12 calculates the difference Δθ between θmasterFB and θslaveFB_slow, and outputs the calculated difference Δθ to the PIB control unit 13 in the same manner as the subtractor 12 in the first embodiment. The PIB control unit 13 operates in the same manner: as in the first embodiment.
A hardware configuration of the correction-amount calculation unit 23 in the present, embodiment is implemented by a processing circuit similarly to the correction-amount calculation unit 11 described in the first embodiment.
As described above, in the present embodiment, at speed command is corrected such that the difference between the position of the master-shaft motor 2 and the position of the most-lagging slave-shaft motor 4 becomes zero. Therefore, in a case where any of the plural slave-shaft motors 4 fails to follow the master-shaft motor 2, the motor control device 10c decreases the speed command for the master-shaft motor 2, and can thereby maintain the synchronization between the master-shaft motor 2 and all the slave-shaft motors 4.
In a case where the disturbance which increases the rotational speed of the master-shaft, motor 2 occurs, all the slave-shaft motors 4 need to follow the master-shaft motor 2. Unfortunately, a part of the slave-shaft motors 4 may not be able to follow the master-shaft motor 2 due to the torque saturation. According to the configuration and the operation of the motor control device 10c in the present embodiment, the value of the speed command for the master shaft, is changed in synchronization with the slave-shaft motor 4 in which the torque saturation has occurred, without setting individual commands for the respective slave-shaft motors 4. Therefore, the motor control device 10c can maintain the synchronization between the master-shaft motor 2 and all the slave-shaft motors 4.
The above description is made as to the example in which when there are the plurality of the slave-shaft motors 4, a speed command is corrected in the same manner as in the first embodiment. Alternatively, a torque current command may be corrected in the same manner as in the second embodiment. To correct the torque current command, the master-shaft control circuit may include the most-lagging-slave determiner in the correction-amount calculation unit 20 in the second embodiment, such that the most-lagging-slave determiner selects the feedback information indicating the most-lagging-rotation from among the n-pieces of feedback information from the θslaveFB(1) to the θslaveFB(n) and then outputs the selected feedback information as θslaveFB_slow to the subtractor 12.
When the motor control, device 10c controls the two or more slave-shaft motors 4, as described above, the motor control device 10c in the present, embodiment, uses the feedback information on the most-lagging slave-shaft motor 4 to correct the speed command in the same manner as in the first, embodiment. Even when the motor control device 10c controls the two or more slave-shaft motors 4, therefore, the motor control device 10c can still maintain the synchronization between tine drive shafts.
In the first to third embodiments, the speed control has been described as being executed on the master-shaft motor while the position control has been described as being executed on the slave-shaft motor. Alternatively, the higher-level controller 500 may be designed to output a position, command to the master-shaft drive device, and a position, control unit may be added at the stage preceding the speed control unit in the master-shaft control circuit of the master-shaft drive device. This added position control unit may calculate a speed command ωmaster* such that the difference between the position command and θmasterFB becomes zero, and accordingly can correct the speed command or correct the torque current command in the same manner as in the first to third embodiments. That is, the command that is to be used for controlling the master-shaft motor 2 may be the position command.
The configurations described in the above embodiments are only examples of the content of the present invention. The configurations can be combined with other well-known techniques, and a part of each configuration can be omitted or modified without departing from the scope of the present invention.
1
a, 1b, 1c master-shaft drive device, 2 master-shaft motor, 3, 3-1 to 3-n slave-shaft drive device, 4 slave-shaft motor, 5, 6 PG, 10a, 10b, 10c motor control device, 11, 20, 23 correction-amount calculation unit, 12, 14, 16, 18, 22, 31, 34, 36 subtractor, 13, 21 PID control unit, 15, 33 speed conversion unit, 17, 35 speed control unit, 19, 37 current control unit, 24 most-lagging-slave determiner, 32 position control unit, 100a, 100b, 100c master-shaft control circuit, 101 master-shaft power circuit, 102, 302 power supply, 103, 303 current detector, 300 slave-shaft control circuit, 500 higher-level controller.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2016/074642 | 8/24/2016 | WO | 00 |