Motor control device
10250170 ยท 2019-04-02
Assignee
Inventors
Cpc classification
H02P2205/07
ELECTRICITY
H02P5/46
ELECTRICITY
B29C2045/1792
PERFORMING OPERATIONS; TRANSPORTING
H02P6/04
ELECTRICITY
International classification
Abstract
A motor control device includes a master-shaft drive device to drive a master-shaft motor, and a slave-shaft drive device to drive a slave-shaft motor, the motor control device including a correction-amount calculation unit to use a detection result of a position of the master-shaft motor and a detection result of a position of the slave-shaft motor to calculate a correction amount for correcting a speed command that is to be used for controlling the master-shaft motor, a correction unit to use the correction amount to correct the speed command that is to be used for controlling the master-shaft motor, and a position control unit to execute position control on the slave-shaft motor by using the detection result of the position of the master-shaft motor as a position command.
Claims
1. A motor control device including a first drive device to drive a first motor, and a second drive device to drive a second motor, the motor control device comprising: a correction-amount calculator 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; a corrector to use the correction amount to correct the command that is to be used for controlling the first motor; and a position controller to execute position control on the second motor by using the detection result of the position of the first motor as a position command.
2. The motor control device according to claim 1, wherein the command is a speed command.
3. The motor control device according to claim 1, wherein the command is a torque current command.
4. The motor control device according to claim 1, wherein the second motor is one in number, and the correction-amount calculator calculates the correction amount such that a difference between the detection result of the position of the first motor and the detection result of the position of the second motor becomes zero.
5. The motor control device according to claim 1, wherein the second motor is plural in number, and the correction-amount calculator selects one of detection results of plural positions corresponding one-to-one to the plural second motors, the selected detection result corresponding to the second motor that is most lagging in rotation, the correction-amount calculator calculating the correction amount such that a difference between the detection result of the position of the first motor and the selected detection result becomes zero.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DESCRIPTION OF EMBODIMENTS
(11) 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.
(12) First Embodiment.
(13)
(14) In
(15) 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.
(16) The master-shaft control circuit 100a uses feedback information i.sub.masterFB on a current that flows through the master shaft described later, .sub.masterFB , .sub.slaveFB and the master-shaft speed command .sub.master* received from the higher-level controller 500 to calculate a voltage command V.sub.master* 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 i.sub.masterFB on the current that flows through the master shaft.
(17) 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.
(18) The slave-shaft control circuit 300 uses feedback information i.sub.slaveFB on a current that flows through the slave shaft described later, .sub.masterFB, and .sub.slaveFB to calculate a voltage command V.sub.slave* 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 i.sub.slaveFB on the current that flows through the slave shaft.
(19) 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.
(20)
(21) 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 .sub.masterFB and .sub.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.
(22) The speed conversion unit 15 converts .sub.masterFB to .sub.masterFB that is feedback information on the rotational speed of the master-shaft motor 2, and then the speed conversion unit 15 outputs .sub.masterFB to the subtractor 16. Specifically, the speed conversion unit 15 calculates .sub.masterFB by calculating the amount of change in .sub.masterFB per unit time. The subtractor 14 subtracts from .sub.master* received from the higher-level controller 500, and outputs the result of the subtraction to the subtractor 16, as a corrected speed command .sub.master**.
(23) The subtractor 16 calculates the difference between .sub.master** and .sub.masterFB, and outputs the calculated difference to the speed control unit 17. The speed control unit 17 determines a torque current command i.sub.master* that corresponds to the master-shaft motor 2 such that the difference between .sub.master** and .sub.masterFB becomes zero. Specifically, the speed control unit 17 determines the i.sub.master* by executing PI (Proportional Integral) control, for example.
(24) The subtractor 18 calculates the difference between i.sub.master* and i.sub.masterFB, and outputs the calculated difference to the current control unit 19. The current control unit 19 determines a voltage command V.sub.master* that corresponds to the master-shaft motor 2 such that the difference between i.sub.master* and i.sub.masterFB becomes zero, and then the current control unit 19 outputs the voltage command V.sub.master* to the master-shaft power circuit 101. Specifically, the current control unit 19 determines V.sub.master* by executing PI control, for example.
(25) As described above, the correction-amount calculation unit 11 uses .sub.masterFB that is the detection result of the position of the master-shaft motor 2, and .sub.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.
(26)
(27) The subtractor 31 calculates the difference between .sub.masterFB and .sub.slaveFB, and outputs the calculated difference to the position control unit 32. The position control unit 32 determines a voltage command .sub.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 .sub.slave* to the subtractor 34. In this manner, the slave-shaft control circuit 300 executes position control such that the difference between .sub.masterFB and .sub.slaveFB becomes zero. That is, the slave-shaft control circuit 300 uses .sub.masterFB as a position command.
(28) The speed conversion unit 33 converts .sub.slaveFB to .sub.slaveFB that is feedback information on the rotational speed of the slave-shaft motor 4, and then the speed conversion unit 33 outputs the .sub.slaveFB to the subtractor 34. Specifically, the speed conversion unit 33 calculates .sub.slaveFB by calculating the amount of change in .sub.slaveFB per unit time.
(29) The subtractor 34 outputs the difference between .sub.slave* and .sub.slaveFB to the speed control unit 35. The speed control unit 35 determines a torque current command i.sub.slave* that corresponds to the slave-shaft motor 4 such that the difference between .sub.slave* and .sub.slaveFB becomes zero. Specifically, the speed control unit 35 determines i.sub.slave* by executing PI control, for example.
(30) The subtractor 36 calculates the difference between i.sub.slave* and i.sub.slaveFB, and outputs the calculated difference to the current control unit 37. The current control unit 37 determines a voltage command V.sub.slave* that corresponds to the slave-shaft motor 4 such that the difference between i.sub.slave* and i.sub.slaveFB becomes zero, and then the current control unit 37 outputs V.sub.slave* to the slave-shaft power circuit 301. Specifically, the current control unit 37 determines V.sub.slave* by executing PI control, for example.
(31) 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 .sub.master*. The slave-shaft control circuit 300 uses .sub.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 4, 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.
(32) 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 be 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 .sub.masterFB and .sub.slaveFB to calculate the correction amount for the speed of the master-shaft motor 2 such that there is no difference between .sub.masterFB and .sub.slaveFB. The subtractor 14 then subtracts from .sub.master*. The speed control unit 17 uses .sub.master**, which is a value obtained by subtracting from .sub.master*, as a speed command to execute the speed control.
(33) As described above, the master-shaft control circuit 100a corrects the speed command such that there is no difference between .sub.masterFB and .sub.slaveFB. For example, when a phenomenon in which the rotation of the slave-shaft motor 4 lags behind the rotation of the master-shaft motor 2 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.
(34) 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.
(35)
(36) 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
(37) 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.
(38) 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.
(39) 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, a resistance, an operational amplifier, and the like.
(40) 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.
(41) 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
(42) 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.
(43) 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.
(44) 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 .sub.masterFB and .sub.slaveFB. The subtractor 14 then subtracts from the .sub.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.
(45) Second Embodiment.
(46)
(47) 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.
(48) The motor control device 10b in the present embodiment is identical to the motor control device 10a 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.
(49)
(50) 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 .sub.masterFB and .sub.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 i.sub.master* 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 i.sub.master** to the current control unit 19. The current control unit 19 uses i.sub.master** as a torque current command to calculate V.sub.master* such that the difference between the torque current command and i.sub.masterFB becomes zero, and then the current control unit 19 outputs V.sub.master* to the master-shaft power circuit 101 in the same manner as in the first embodiment.
(51) In the present embodiment, the difference between .sub.master** and .sub.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 .sub.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 .sub.masterFB and .sub.slaveFB becomes zero, as described above.
(52) As described above, the correction-amount calculation unit 20 uses .sub.masterFB that is the detection result of the position of the master-shaft motor 2, and .sub.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.
(53) 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.
(54) 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.
(55) Third Embodiment.
(56)
(57) 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.
(58) As illustrated in
(59) As illustrated in
(60) 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.
(61)
(62) 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 .sub.slaveFB(1) to .sub.slaveFB(n), and then outputs the selected feedback information as .sub.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 .sub.slaveFB(1) to .sub.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 .sub.slaveFB(1) indicates 1, .sub.slaveFB(2) indicates 359, and the .sub.slaveFB(3) indicates 0, the .sub.slaveFB(2) is converted to 1 by subtracting 360 from 359. In this case, the .sub.slaveFB(2) is selected as the .sub.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.
(63) The subtractor 12 calculates the difference between .sub.masterFB and .sub.slaveFB_slow, and outputs the calculated difference to the PID control unit 13 in the same manner as the subtractor 12 in the first embodiment. The PID control unit 13 operates in the same manner as in the first embodiment.
(64) 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.
(65) As described above, in the present embodiment, a 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.
(66) 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.
(67) 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 .sub.slaveFB(1) to the .sub.slaveFB(n) and then outputs the selected feedback information as .sub.slaveFB_slow to the subtractor 12.
(68) 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 the drive shafts.
(69) 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 .sub.master* such that the difference between the position command and .sub.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.
(70) 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.
REFERENCE SIGNS LIST
(71) 1a, 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.