Motor control apparatus generating command limited by motor torque
09740197 · 2017-08-22
Assignee
Inventors
Cpc classification
G05B19/408
PHYSICS
G05B19/416
PHYSICS
G05B2219/43045
PHYSICS
International classification
G05B19/18
PHYSICS
Abstract
A motor control apparatus includes a detection unit detecting a motor rotational frequency, a storage unit storing an allowable torque at the motor rotational frequency detected by detection unit, a first torque offset generated in a direction opposite to a moving direction of a movable body, a second torque offset generated in one direction regardless of the moving direction of the movable body, a rotor inertia moment, a load inertia moment, and a conversion factor for converting a motor rotation angle in rotary motion of the motor to a moving distance in linear motion of the movable body, and an acceleration calculation unit calculating an acceleration command of the motor for each moving direction of the movable body and each acceleration operation and deceleration operation using the allowable torque, the first torque offset, the second torque offset, the rotor inertia moment, the load inertia moment, and the conversion factor.
Claims
1. A motor control apparatus controlling a motor connected to a movable body as a driving source to linearly move the movable body, the control apparatus comprising: a detection unit configured to detect a motor rotational frequency; a storage unit configured to store an allowable torque which is a maximum torque that the motor can output at the motor rotational frequency detected by the detection unit, a first torque offset which is a torque generated in a direction opposite to a moving direction of the movable body, a second torque offset which is a torque generated in one direction regardless of the moving direction of the movable body, a rotor inertia moment of the motor, a load inertia moment, and a conversion factor for converting a motor rotation angle in rotary motion of the motor to a moving distance in linear motion of the movable body; and an acceleration calculation unit configured to calculate an acceleration command of the motor for each moving direction of the movable body and each acceleration operation and deceleration operation of a rotor of the motor using the allowable torque, the first torque offset, the second torque offset, the rotor inertia moment, the load inertia moment, and the conversion factor.
2. The motor control apparatus according to claim 1 wherein, when the motor rotational frequency at a time t is given as N(t), the allowable torque is given as T.sub.ML(N(t)), the first torque offset is given as T.sub.1, the second torque offset is given as T.sub.2, the rotor inertia moment is given as J.sub.m, the load inertia moment is given as J.sub.L, and the conversion factor is given as R, the acceleration calculation unit calculates the acceleration command A.sub.1(t) of the movable body being acceleratedly moved in a first direction based on a following formula,
A.sub.1(t)={T.sub.ML(N(t))−T.sub.1−T.sub.2}÷(J.sub.m+J.sub.L)×R the acceleration command A.sub.1(t) of the movable body being deceleratedly moved in the first direction based on a following formula,
A.sub.1(t)={−T.sub.ML(N(t))−T.sub.1−T.sub.2}÷(J.sub.m+J.sub.L)×R the acceleration command A.sub.1(t) of the movable body being acceleratedly moved in a second direction opposite to the first direction based on a following formula,
A.sub.1(t)={T.sub.ML(N(t))−T.sub.1+T.sub.2}÷(J.sub.m+J.sub.L)×R and the acceleration command A.sub.1(t) of the movable body being deceleratedly moved in the second direction based on a following formula,
A.sub.1(t)={−T.sub.ML(N(t))−T.sub.1+T.sub.2}÷(J.sub.m+J.sub.L)×R
3. The motor control apparatus according to claim 1, wherein the first torque offset is a friction torque of the movable body linearly moved by the motor, and the second torque offset is a gravity holding torque which is a torque for holding gravity received by the movable body.
4. The motor control apparatus according to claim 1, wherein the first torque offset, the second torque offset, and the load inertia moment are set based on a torque waveform obtained when the movable body is linearly moved by the motor.
5. The motor control apparatus according to claim 1, wherein the allowable torque is respectively set for acceleration of the movable body and for deceleration of the movable body.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The present invention will be clearly understood with reference to the attached drawings.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
DETAILED DESCRIPTION
(19) The motor control apparatus which generates a command limited by a motor torque will be described below with reference to the drawings. However, it is noted that the present invention is not limited by the drawings and the embodiment described below.
(20)
(21) The motor control apparatus 1 according to the embodiment includes speed command unit 21 and servo control unit 22 as in conventional general motor control apparatus. For a concise description, the servo control unit 22 is described as including a switching element therein and including an inverter (not illustrated) which converts a direct current (DC) supplied from a DC link side to a three-phase alternating current power having a desired voltage and a desired frequency for driving the motor 2 by switching operation of the switching element based on a switching control signal and a switching control unit (not illustrated) which generates the switching control signal. The inverter and the switching control unit do not limit the present invention. For example, the switching control signal may be a PWM (pulse-width modulation) control signal, and the inverter may be configured as a PWM inverter in which the switching elements constitute a three-phase full-bridge inverter. Examples of the switching element include an IGBT (insulated gate bipolar transistor), a thyristor, a GTO (gate turn-off thyristor), a transistor, and so on.
(22) The motor control apparatus 1 according to the embodiment includes a detection unit 11 for detecting the motor rotational frequency, a storage unit 12 for storing various parameters and calculation formulae necessary for acceleration command calculation, and an acceleration calculation unit 13 for calculating the acceleration command of the motor 2.
(23) The detection unit 11 detects a rotational frequency of a rotor of the motor 2 (the motor rotational frequency) based on a signal from a rotary encoder installed near the rotor of the motor 2. The motor rotational frequency is expressed by a function N(t) including time t as an independent variable and has a value equal to or more than zero.
(24) The storage unit 12 stores an allowable torque T.sub.ML(N(t)) which is the maximum torque that the motor 2 can output when a motor rotational frequency N(t) is detected by the detection unit 11, a first torque offset T.sub.1 which is a torque generated in a direction opposite to the moving direction of the movable body 3, a second torque offset T.sub.2 which is a torque generated in one direction regardless of the moving direction of the movable body 3, a rotor inertia moment J.sub.m of the motor 2, a load inertia moment J.sub.L, and a conversion factor R for converting a motor rotation angle in rotary motion of the motor 2 to a moving distance in linear motion of the movable body. The allowable torque T.sub.ML(N(t)), the first torque offset T.sub.1, and the second torque offset T.sub.2 have positive values.
(25) In the parameters stored in the storage unit 12, the allowable torque is expressed as a function including the motor rotational frequency N(t) as an independent variable and specific to the motor 2 driven by the motor control apparatus 1 which is generally specified in advance in the specification of the motor 2 or the like. Similarly, the rotor inertia moment J.sub.m is also specific to the motor 2 driven by the motor control apparatus 1 and is generally specified in advance in the specification of the motor 2 or the like. According to the present embodiment, the allowable torque and the rotor inertia moment J.sub.m are stored in the storage unit 12 in advance.
(26) On the other hand, the first torque offset T.sub.1 stored in the storage unit 12 is a torque generated in a direction opposite to the moving direction of the movable body 3 and the friction torque of the movable body 3 linearly moved by the motor 2 according to the present embodiment. The second torque offset T.sub.2 stored in the storage unit 12 is the gravity holding torque for holding the gravity received by the movable body 3. The load inertia moment J.sub.L stored in the storage unit 12 is specified by a type of the movable body 3 linearly moved by the motor 2. The first torque offset T.sub.1, the second torque offset T.sub.2, and the load inertia moment J.sub.L are different depending on the types and operation states of the movable body 3 connected to the motor 2. Therefore, the motor 2 to which the movable body 3 is connected is actually driven by the motor control apparatus 1 to measure a torque waveform, and these parameters may be set based on the torque waveform and stored in the storage unit 12.
(27) The acceleration calculation unit 13 calculates an acceleration command of the motor 2 for each moving direction of the movable body 3 and each acceleration operation and the deceleration operation of the rotor of the motor 2 according to any of formulae 9 to 12 using the allowable torque T.sub.ML(N(t)), the first torque offset (friction torque) T.sub.1, the second torque offset (gravity holding torque) T.sub.2, the rotor inertia moment J.sub.m, the load inertia moment J.sub.L, and the conversion factor R. The allowable torque T.sub.ML(N(t)) has a positive value, and the allowable torque T.sub.ML(N(t)) used in the acceleration command calculation is used differently in the acceleration and in the deceleration of the movable body 3. In other words, when the movable body 3 is acceleratedly moved, a sign of an acceleration command A.sub.1(t) is set to match with a sign of the allowable torque T.sub.ML(N(t)), and when the movable body 3 is deceleratedly moved, the sign of the acceleration command A.sub.1(t) is set opposite to the sign of the allowable torque T.sub.ML(N(t)).
(28) The acceleration command A.sub.1(t) calculated by the acceleration calculation unit 13 is input to the speed command unit 21. The speed command unit 21 generates a speed command by integrating the acceleration command A.sub.1(t). The speed command unit 21 may generate a position command by further integrating the speed command if necessary.
(29) Next, the acceleration calculation processing by the acceleration calculation unit 13 is described in detail below.
(30) When the movable body 3 is acceleratedly moved in the first direction (i.e., the direction against the gravity), the sign of the acceleration command A.sub.1(t) matches with the sign of the allowable torque T.sub.ML(N(t)), and the directions of the first torque offset (friction torque) T.sub.1 and the second torque offset (gravity holding torque) T.sub.2 are opposite to the direction of the allowable torque T.sub.ML(N(t)), so that the acceleration calculation unit 13 calculates the acceleration command A.sub.1(t) of the movable body 3 during acceleration movement in the first direction based on the formula 9.
A.sub.1(t)={T.sub.ML(N(t))−T.sub.1−T.sub.2}÷(J.sub.m+J.sub.L)×R (9)
(31) When the movable body 3 is deceleratedly moved in the first direction (i.e., the direction against the gravity), the sign of the acceleration command A.sub.1(t) is opposite to the sign of the allowable torque T.sub.ML(N(t)), and the directions of the first torque offset (friction torque) T.sub.1 and the second torque offset (gravity holding torque) T.sub.2 are opposite to the direction of the allowable torque T.sub.ML(N(t)), so that the acceleration calculation unit 13 calculates the acceleration command A.sub.1(t) of the movable body 3 during deceleration movement in the first direction based on a formula 10.
A.sub.1(t)={−T.sub.ML(N(t))−T.sub.1−T.sub.2}÷(J.sub.m+J.sub.L)×R (10)
(32) When the movable body 3 is acceleratedly moved in the second direction (i.e., a direction to which the gravity acts) opposite to the first direction, the sign of the acceleration command A.sub.1(t) matches with the sign of the allowable torque T.sub.ML(N(t)), and the direction of the first torque offset (friction torque) T.sub.1 is opposite to the direction of the allowable torque T.sub.ML(N(t)), while the direction of the second torque offset (gravity holding torque) T.sub.2 is the same as the direction of the allowable torque T.sub.ML(N(t)), so that the acceleration calculation unit 13 calculates the acceleration command A.sub.1(t) of the movable body 3 during acceleration movement in the second direction opposite to the first direction based on a formula 11.
A.sub.1(t)={T.sub.ML(N(t))−T.sub.1+T.sub.2}÷(J.sub.m+J.sub.L)×R (11)
(33) When the movable body 3 is deceleratedly moved in the second direction (i.e., the direction to which the gravity acts) opposite to the first direction, the sign of the acceleration command A.sub.1(t) is opposite to the sign of the allowable torque T.sub.ML(N(t)), and the direction of the first torque offset (friction torque) T.sub.1 is opposite to the direction of the allowable torque T.sub.ML(N(t)), while the direction of the second torque offset (gravity holding torque) T.sub.2 is the same as the direction of the allowable torque T.sub.ML(N(t)), so that the acceleration calculation unit 13 calculates the acceleration command A.sub.1(t) of the movable body 3 during deceleration movement in the second direction opposite to the first direction based on the formula 12.
A.sub.1(t)={−T.sub.ML(N(t))−T.sub.1+T.sub.2}÷(J.sub.m+J.sub.L)×R (12)
(34) Next, simulated waveforms of the motor control apparatus according to the embodiment are described with reference to
(35) In addition, the load inertia moment J.sub.L is given as 0.00537 [kgm.sup.2], the first torque offset (friction torque) T.sub.1 is given as 2 [Nm], the second torque offset (gravity holding torque) T.sub.2 is given as 4 [Nm], and the rotation-to-linear conversion factor R is given as 0.00318 [m/rad] (=0.02/2π). The parameters are stored in the storage unit 12. Parameters other than the above-described parameters are the same as those in the simulation described with reference to
(36)
(37) According to the above-described embodiment, it is assumed that the movable body 3, which is a table, linearly moves in the vertical direction. Thus, the gravity constantly acts in one direction (i.e., the downward direction) on the movable body 3 linearly moved in the vertical direction, and the first torque offset T.sub.1 is regarded as the friction torque of the movable body linearly moved by the motor 2, and the second torque offset T.sub.2 is regarded as the gravity holding torque for holding the gravity received by the movable body 3. As a modification of the embodiment, the present invention can be applied to a case when the movable body 3 is linearly moved in a horizontal direction and a force constantly acts on the movable body 3 in one direction in the horizontal direction. In the modification, the second torque offset T.sub.2 may be set as a torque caused by a force toward one direction in the horizontal direction.
(38) The above-described acceleration calculation unit 13 and speed command unit 21 may be constructed as, for example, a software program format or a combination of various electronic circuits and software programs. For example, when these units are constructed in the software program format, an arithmetic operation apparatus in the motor control apparatus 1 operates according to the software program, and each function of the above-described units can be realized. In addition, the present invention can be applied to an existing motor control apparatus by additionally installing the software program regarding these units to the arithmetic operation apparatus in the motor control apparatus.