Not applicable.
Not applicable.
The present invention relates to apparatus and methods for controlling operation of electric motors, and more particularly to determining motor inertia in cases where a load is restricted to a limited range of travel.
Some industrial electric motors are operated by a motor drive which responds to a velocity command by applying electricity to the motor in a manner that causes the motor to operate at the commanded velocity. In a typical motor drive, the velocity command is compared to a measurement of the actual velocity of the motor to produce a commanded torque indicating how the motor's operation needs to change in order to achieve the commanded velocity. For example, to accelerate the motor a positive commanded torque is produced, whereas a negative commanded torque is required to decelerate the motor.
The amount of torque that is required to produce a given change in velocity is a function of the inertia of the motor and the mechanical apparatus being driven. The inertia in a typical industrial installation is determined and programmed into the motor drive upon commissioning the motor. Thus it is desirable to provide a mechanism for accurately estimating motor system inertia.
The traditional process for estimating the motor system inertia involves operating the motor through a linear acceleration/deceleration profile during a commissioning process. Here, for instance, a high target or test velocity may be specified, the motor and load may be accelerated to the test velocity and then decelerated to a zero or nominal velocity value. If the velocity changes at a constant rate, the motor torque is constant during both acceleration and deceleration and it is relatively straight forward to calculate the inertia. This is the case with drive systems that have regenerative capabilities (i.e. where the electric current induced in the stator coils during deceleration is able to flow unrestricted back into the DC supply bus for the motor drive).
In systems where there is no limit on motor rotations and load movement, the acceleration/deceleration inertia estimating techniques work well as the motor can be accelerated up to the high test velocity without regard to motor rotation limitations or load movement limitations.
Unfortunately, in some cases a motor and/or load may be restricted so that a motor cannot be driven to a high test velocity. For instance, in some systems a rotating motor may drive a linearly moving machine component (e.g., a transfer line) where the machine component moves between first and second limit positions at different ends of a range of load movement. Here, for example, a motor may only rotate 200 times while moving the linear machine component between the first and second limit positions. In the present example the motor may not be able to reach a high test velocity and then decelerate to a zero velocity within 200 rotations.
Where a motor cannot reach a test velocity specified by a commissioning procedure, the typical acceleration/deceleration inertia estimating technique typically is not performed thereby avoiding load and motor damage. Instead, in at least some cases, a person commissioning the system would have to manually measure motor operating characteristics during normal motor operation, calculate an inertia estimate based on the manual measurements and then enter the inertia estimate into the system for use by the system controller.
It has been recognized that in applications where motor rotations and/or load movement is restricted such that a motor cannot reach a high test commissioning velocity specified for an inertia determining procedure and then be decelerated to a zero velocity within the restrictions, a good inertia estimate can nonetheless be generated by accelerating the motor to an intermediate position along the range of load travel and decelerating the motor to a zero velocity prior to the end of the range of load travel. Here, a first velocity is identified prior to acceleration and the velocity at the intermediate position is identified as a second velocity. After the load is in the intermediate position, the motor is decelerated. During acceleration and deceleration, motor torque is sampled and separate acceleration and deceleration average torque values are generated. The change in velocity during acceleration is divided by the acceleration time to derive a rate of acceleration up to the intermediate position. A similar derivation of the rate of deceleration involves dividing the change of velocity during deceleration by the deceleration time. The inertia of the motor system is the sum of the acceleration and deceleration average torque magnitudes divided by the sum of the magnitudes of the acceleration rate and the deceleration rate.
In at least some embodiments load position can be translated into motor rotations and the motor rotations can be counted to determine when the intermediate position has been reached. In at least some applications the intermediate position will be between ⅓rd and ⅔rds of the range of load travel and in some cases the intermediate position may be substantially ½ the range of load travel.
These and other objects, advantages and aspects of the invention will become apparent from the following description. In the description, reference is made to the accompanying drawings which form a part hereof, and in which there is shown a preferred embodiment of the invention. Such embodiment does not necessarily represent the full scope of the invention and reference is made therefore, to the claims herein for interpreting the scope of the invention.
Referring now to the drawings wherein like reference numerals correspond to similar elements throughout the several views and, more specifically, referring to
Exemplary drive 10 includes, among other components, a system controller 16, a velocity regulator 18, a motor controller 24, a PWM inverter 26, a rectifier 25, a rotation counter 17 and an inertia processor 28. Control panel 14 is connected to controller 16 which governs the operation of the other drive components. Controller 16 may have additional inputs and outputs through which commands and motor performance data are exchanged with external control devices. Controller 16 supplies control signals via line 15 to other components of the motor drive 10, as will be described. The functions of controller 16 and the other components of the motor drive are performed by one or more microprocessors which execute software programs that implement those functions.
In response to these commands, the system controller 16 produces a velocity command ωc that indicates a desired or command velocity for the motor 12. The velocity command ωc is applied to a velocity regulator 18 which also receives a position signal Mp from an encoder 20 attached to the motor 12. The encoder 20 provides either a digital word indicating absolute angular position of the shaft of the motor or a series of pulses indicating incremental motion and direction. By monitoring the change of that position signal Mp with time, the velocity regulator 18 is able to determine the actual motor velocity.
Velocity regulator 18 produces a commanded torque τc in response to the relationship between the commanded velocity and the actual velocity. The commanded torque is generated in a conventional manner and indicates how the motor 12 should be operated in order to achieve the commanded velocity. For example, if the motor is operating slower than the commanded velocity, a positive torque has to be generated in the motor in order to increase its velocity. Similarly, a negative commanded torque is generated when the motor is operating faster then desired.
Commanded torque τc produced is applied to an input of a conventional motor control 24 which responds by producing a set of control signals for a standard PWM inverter 26. The control signals operate the PWM inverter 26 which switches DC voltage from an AC-DC rectifier 25 to generate PWM waveforms that are applied to the stator coils of three-phase electric motor 12. The PWM waveforms are varied to control the motor velocity as is well understood by those skilled in motor control.
In addition to receiving the velocity command ωc and the encoder signal, the velocity regulator 18 also receives a value indicating the inertia Ĵ of the motor 12 and the mechanical system driven by the motor, hereinafter collectively referred to as the “motor system”. The inertia is used to set circuit gains in the velocity regulator 18. The value of the inertia is supplied by an inertia processor 28, the details of which are shown in
Referring still to
Referring now to
The inertia of the motor system is relatively constant and needs to be determined only upon initial commissioning of the motor 12 or whenever changes are made to the motor system which affect its inertia. On those occasions, the operator enters the appropriate command into the control panel 14 which causes the motor drive to commence an inertia determination procedure. That operator command causes the system controller 16 to issue a control signal which instructs the inertia module 28 to enter the determination mode. The inertia can be determined even when a constant load is applied to the motor.
The inertia determination procedure 40 is depicted by the flowchart in
At block 43 the inertia determining procedure commences. At block 42, controller 16 in
Once initial velocity VT1 is achieved for a short time, a control signal is sent to system controller 16 which responds at block 46 by issuing a new commanded velocity designating a high test velocity Vtest toward which the motor 12 is to accelerate. At block 48, timer 34 is reset and starts to measure the amount of time to accelerate to the test velocity. Thereafter, at block 49, counter 17 (see
At decision block 51 comparator 15 compares the actual motor rotation count Rcount to a count that represents an intermediate position of the load which, in the example above, is an intermediate position of the transfer line. The intermediate position can be any position from which it is know that the load will be able to reach a zero velocity prior to the end of its range of travel given the velocity that the load/motor should reach at the intermediate position. For instance, in some cases the intermediate position may correspond to a rotation count between ⅓rd and ⅔rds of the maximum rotation count (e.g., 66 and 132 rotations in the present example where the maximum rotation count is 200). In most cases it has been determined that a safe intermediate position is substantially ½ the maximum count. In
Referring still to
The inertia determination procedure continues to loop through blocks 51, 50 and 52 taking samples periodically until either the actual number of rotations is equal to ½ the maximum number of rotations or motor 12 reaches the test velocity Vtest at point 76 on velocity profile of
Continuing, processor 36 resets the timer 34 to measure the duration of the deceleration phase 72 at block 56 and issues a control signal which causes the system controller 16 to produce a zero velocity command (ωc=0) at block 57. A velocity regulator 18 responds to the zero velocity command by producing a negative commanded torque τc to stop the motor 12.
In some applications, the velocity command during deceleration is limited in response to various control parameters. For example, the AC-DC converter 25 may include a regulator which limits the voltage on the DC supply bus between the AC-DC converter and the PWM inverter 26. During deceleration, electric current that is induced in the motor's stator coils by the rotating magnetic field flows into the DC supply bus. If that current produces an over voltage condition the AC-DC converter 25 activates the torque limiter 23 to reduce the commanded torque during deceleration. Thus although the velocity regulator is producing a constant negative commanded torque, the torque command value at the input of the motor control 24 may vary due to system limiters. This dynamic limiting results in a non-linear deceleration and a varying motor torque. In the case of a motor where load movement and motor rotations are limited by the load range of travel, the velocity of the motor and load typically never reach a level at which regenerated power is excessive and therefore the constant commanded torque is never limited.
Referring again to
At block 64, processor 36 averages the accelerating torque and averages the decelerating torque samples. At block 66 processor 36 determines the rate of velocity change during acceleration and the rate of velocity change during deceleration. At block 68 processor 365 mathematically combines the average acceleration and deceleration torques and the rates of accelerating and decelerating velocity changes to generate the inertia estimate Ĵ. More specifically, the inertia estimate Ĵ is derived by processor 36 by solving the following equation:
where Ĵ is inertia in seconds, N is the number of torque samples acquired during the acceleration phase 70, τa(i) is the ith torque sample acquired during motor acceleration, M is the number of torque samples acquired during the deceleration phase 72, τd(k) is the kth torque sample acquired during motor deceleration, ΔVa is the net velocity change (VT2−VT1) during acceleration, ΔVd is the net velocity change during deceleration (VT3−VT4), ta is the acceleration time (T2−T1), and td is the deceleration time (T4−T3). The above equation employs the absolute values of the terms.
It should be appreciated that the average torque during acceleration is a positive value, whereas the average torque during deceleration is a negative value. Similarly the change in velocity ΔVa during the acceleration phase is positive, and the velocity change ΔVd during the deceleration phase is negative. Therefore, Equation 1 may be rewritten as:
in which the absolute values are not required and the plus signs have been replaced with minus signs (subtracting a negative value is equivalent to adding the absolute value of that negative value). Both methods can be generically referred to as summing the magnitudes of the respective values.
Therefore, the determination of the inertia Ĵ separately averages torque of the motor during the acceleration phase and the deceleration phase and then sums the magnitudes of those averages. The change in velocity during acceleration is divided by the acceleration time to derive the rate of acceleration. A similar derivation of the rate of deceleration involves dividing the change in velocity during the deceleration phase by the deceleration time. The inertia Ĵ of the motor system is the average torque magnitude sum divided by the sum of the magnitudes of the acceleration rate and the deceleration rate. Once the motor system inertia has been determined, the inertia value Ĵ is stored in output register 38 of the inertia module 28 and applied as an input to velocity regulator 18.
The foregoing description was primarily directed to a preferred embodiment of the invention. Although some attention was given to various alternatives within the scope of the invention, it is anticipated that one skilled in the art will likely realize additional alternatives that are now apparent from disclosure of embodiments of the invention. Accordingly, the scope of the invention should be determined from the following claims and not limited by the above disclosure.
To apprise the public of the scope of this invention, the following claims are made:
Number | Name | Date | Kind |
---|---|---|---|
5175483 | Fujii et al. | Dec 1992 | A |
6037736 | Tsuruta et al. | Mar 2000 | A |
6229722 | Ichikawa et al. | May 2001 | B1 |
6490514 | Kurishige et al. | Dec 2002 | B2 |
6611125 | Nagata et al. | Aug 2003 | B2 |
6920800 | Rehm et al. | Jul 2005 | B2 |
7057366 | Tsai et al. | Jun 2006 | B1 |
7102315 | Nakata et al. | Sep 2006 | B2 |
Number | Date | Country | |
---|---|---|---|
20080203960 A1 | Aug 2008 | US |