US5444341A - Method and apparatus for torque ripple compensation - Google Patents

Method and apparatus for torque ripple compensation Download PDF

Info

Publication number
US5444341A
US5444341A US08/145,557 US14555793A US5444341A US 5444341 A US5444341 A US 5444341A US 14555793 A US14555793 A US 14555793A US 5444341 A US5444341 A US 5444341A
Authority
US
United States
Prior art keywords
torque
motor
current
response
value
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
US08/145,557
Inventor
II R. William Kneifel
Stephen T. Walsh
Thomas W. Minnich
Robert M. Crovella
A. Harold Morser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Industry Inc
Original Assignee
Milacron Inc
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 Milacron Inc filed Critical Milacron Inc
Priority to US08/145,557 priority Critical patent/US5444341A/en
Assigned to CINCINNATI MILACRON INC. reassignment CINCINNATI MILACRON INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KNEIFEL, R. WILLIAM II, MINNICH, THOMAS W., MORSER, A. HAROLD, WALSH, STEPHEN T., CROVELLA, ROBERT M.
Application granted granted Critical
Publication of US5444341A publication Critical patent/US5444341A/en
Assigned to VICKERS E.S.D., INC. reassignment VICKERS E.S.D., INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CINCINNATI MILACRON INC.
Assigned to SIEMENS ENERGY & AUTOMATION, INC. reassignment SIEMENS ENERGY & AUTOMATION, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VICKERS, INCORPORATED
Assigned to SIEMENS INDUSTRY, INC. reassignment SIEMENS INDUSTRY, INC. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: SIEMENS ENERGY AND AUTOMATION AND SIEMENS BUILDING TECHNOLOGIES, INC.
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/10Arrangements for controlling torque ripple, e.g. providing reduced torque ripple

Definitions

  • This invention relates generally to control of brushless DC motors.
  • this invention relates to reduction of torque ripple of brushless DC motors.
  • brushless DC motors exhibit torque variations during operation above zero velocity and which are most pronounced at relatively low speeds and when subject to high loads. Contributors to torque variations include effects related to motor current as well as effects associated with motor construction. It is recognized that DC brushless motors which are driven by stepwise motor current commutation, for example, six step commutation, demonstrate relatively greater torque variation than motors designed for and driven with sinusoidal current energization. However, stepwise commutated current energization is relatively simpler to achieve than synthesis of sinusoidal motor current. Consequently it is desirable to effect reduction of torque variation for stepwise commutated brushless DC motors.
  • U.S. Pat. No. 4,868,477 describes a control for energizing windings of a variable reluctance motor to reduce torque ripple in positioning servos.
  • the control of this reference includes storage for data defining the magnitude of current for each motor winding at each rotor position to produce a desired torque. The stored data is based on measured motor performance.
  • the current control method of this reference contemplates the simultaneous energization of winding phases to achieve a desired torque magnitude at a particular position and is not suitable for effecting velocity control.
  • a motor control periodically produces motor current commands defining a motor current magnitude and produces commutation pattern control signals defining the instant of motor current commutation from one to another of successively energized motor windings.
  • Each motor current command includes a current component derived from a torque command value and, for velocity control, includes a component derived from a velocity control algorithm.
  • An adjustment angle is used to correct the commutation pattern control signals to conform the instant of motor current commutation to the instant when the rotor and stator will have a relative position at which constant motor current torques of successively energized motor windings are equal.
  • the adjustment angle is calculated as a function of commanded motor current magnitude. The control effects compensation of current command values in two respects.
  • a torque command value included in the motor current command is modified by a compensation component accounting for torque fluctuations attributable to motor magnetization.
  • Compensation components are derived from measured motor torque in the absence of motor current at plural relative positions of the rotor and stator. Stored values of compensation components are recalled according to measured relative position of rotor and stator.
  • a second compensation of motor current command values is effected using compensation factor values correlated to ratios of actual torque to ideal torque produced by constant motor current.
  • the control includes data storage of compensation factor values associated with plural relative positions of motor rotor and stator. As the relative position of rotor and stator change, compensation factors are recalled and current commands are modified in response to the recalled compensation factor values. The measured relative position value used to recall the stored compensation factor data is modified by the adjustment angle.
  • FIGS. 1a though 1c illustrate ideal and actual torque characteristics at constant motor current.
  • FIG. 2 is a block diagram showing a brushless DC motor and control therefore.
  • FIG. 3 is a flow chart of a procedure effected by the control of FIG. 2 for producing motor current control signals.
  • FIG. 4 is a flow chart of a procedure effected by the control of FIG. 2 for producing values used in the procedure of FIG. 3.
  • FIGS. 1a-1c illustrate trapezoidal torque characteristic for motor windings energized with constant current, i.e. an unchanging current magnitude.
  • the control of this invention is applicable to stepwise motor current commutation whether applied to motors having trapezoidal or sinusoidal torque characteristics.
  • FIG. 1a illustrates full cycles of ideal torque produced by three phases of stator windings energized with constant current in response to passage of opposing poles of a rotor.
  • Motor construction and arrangement of the windings is designed to produce the staggered torque profiles illustrated.
  • Each torque profile includes two constant torque portions of opposite polarity, and each constant torque portion occupies one sixth of the torque profile. It will be understood that in a motor constructed with six rotor poles, a complete cycle of a torque profile is completed with each 120° of relative rotation of rotor and stator.
  • Torque characteristics of sinusoidal type motors exhibit substantially narrower regions of constant torque but do produce regions of relatively small torque variation within the corresponding one sixth portion of the torque profile.
  • the motor may be advantageously operated within the regions of constant torque of the torque profiles by controlling the selection of stator windings to be energized, and the direction of current through the windings. To achieve this type of operation, it is desired to effect commutation of current from one winding to another at the points 20 where transitions occur from constant torque. With constant motor current, the ideal characteristics of FIG. 1a would produce constant torque as phases are successively energized, that is, torque would remain constant through motor current commutation. In a motor having a sinusoidal torque characteristic, stepwise commutation of motor current at the same positional intervals will result in reduced torque regions between the narrower constant torque portions of the torque characteristic.
  • a second current related effect is illustrated by the torque profiles of FIG. 1c.
  • the curves 13 and 15 correspond to the curves 14 and 16 of FIG. 1b at one constant current magnitude and the curves 17 and 19 similarly correspond at another constant current magnitude.
  • the shape of torque characteristic profiles change with current magnitude.
  • the points 24 and 26, corresponding to point 22 of FIG. 1b occur at different relative positions of rotor and stator. That is, the commutation points are translated as a function of motor current magnitude.
  • the direction of translation depends on the direction of current flow producing the torque. This positional translation shall be referred to herein as torque profile shift.
  • control of this invention effects adjustment of the position of occurrence of commutation of current from one winding to another.
  • the magnitude of adjustment of commutation position is determined from a linear function joining the desired commutation points at different torque magnitudes.
  • the linear function is defined by torque measurement data characterizing actual motor performance.
  • Motor controller 30 includes a signal processing module 32 and a motor and transducer interface module 34.
  • Current switching devices located in power block module 36 control delivery of electrical current to motors 100 through 106 in response to control signals output by interface module 34.
  • Motor controller 30 is responsive to inputs received from a host system (not shown) to perform position and velocity control of motors 100 through 106.
  • Signal processing module 32 includes a host interface 37 for data communication with a host system.
  • Host interface 37 includes a memory 78 to which data are written for exchanges between processing module processors or between the processing module and the host system.
  • Host interface 37 also includes address and data bus interfaces which serve as signal buffers between digital signal processors of signal processing module 32 and the memory.
  • Two digital signal processors 38 and 42 execute programs recorded in respective program stores 40 and 44 to implement motor control algorithms, perform diagnostic routines and effect communication with the host system. Applicants have chosen the TMS 320C25 digital signal processors available from Texas Instruments Inc.
  • Servo bus interface 50 provides signal buffering for signals to be transferred from the digital signal processors 38 and 42 to motor interface module 34.
  • Local address and data bus interfaces 46 and 48 provide signal buffers for address and data signals transferred between program stores 40 and 44 and the respective digital signal processors 38 and 42.
  • Motor control routines of interest for the present invention include position detection routines 56, velocity loop processing routines 52, commutation control routines 54, torque command processing routines 58, and gain adjustment routines 60.
  • velocity loop processing routines are motor current calculation 62 and torque constant compensation 64.
  • torque command processing routines are torque command compensation routines 66 and torque command conversion routines 68 which produce a component of motor current.
  • Processor 1 program store 40 includes a data table of torque constant compensation factors 70.
  • Processor 2 program store 44 includes reluctance compensation data table 72.
  • Signal processing module 32 effects motor control by periodic execution of routines implementing motor control algorithms at a predetermined loop closure interval. With each execution of the routines, new values of motor current commands CMD I and commutation pattern control words SEXT I are produced (the subscripts I identify the motor for which the commands and control words are effective).
  • the commands and control words are employed by motor interface module 34 to control the delivery of electrical current to the motors 100 through 106 during the loop closure interval. In addition, the commands and control words are made available to the host system through host interface 37.
  • Interface module 34 includes motor drive interface 74 and position transducer interface 76.
  • Motor drive interface 74 includes digital to analogue conversion and processing circuitry 80 which is responsive to the motor current commands ICMD I , commutation pattern control words SEXT I , and measured motor current to produce control signals for the current switches of power block module 36. The switches are controlled by pulse width modulation to achieve the desired motor current magnitudes.
  • Motor drive interface 74 includes input/output interface circuitry 82 for exchange of signals with power block module 36.
  • a specific implementation for generating pulse width modulated switch control signals and for exchanging signals with power block module 36 is disclosed in U.S. Pat. No. 5,187,417.
  • interface module 34 includes signal interfaces for position transducers 110 through 116.
  • Position transducer interface 76 includes excitation signal interface 84 and transducer output signal receivers 86.
  • position transducers are resolvers.
  • Resolver excitation signals fixed frequency sinusoids, are produced by resolver excitation generator 88 and conditioned by excitation signal interface 84 for output to the position transducers.
  • Resolver output signals, SIN I and COS I are sampled at the loop closure interval and the sampled values converted from analogue to digital representations by analogue to digital converter 90.
  • the resolver interfaces of the preferred embodiment are of known design and further details thereof shall not be provided herein.
  • Digital processing module 32 effects velocity control to determine a motor current command value. It will be appreciated that velocity control may be effected as a subsisting control algorithm in a system effecting position control.
  • the motor current command value produced by the velocity control defines a desired motor torque.
  • the desired motor torque includes a component calculated to achieve a desired velocity and a component associated with torque that may be otherwise commanded.
  • the velocity dependent component is calculated in response to a velocity error VE, i.e., the difference between a velocity command VCMD defining a desired motor velocity and actual motor velocity.
  • actual instantaneous motor velocity is derived from the measured change of position occurring during the immediately preceding loop closure interval.
  • Velocity control is selectively effected according to either proportional plus integral or pseudo derivative feedback type control algorithms.
  • VACT actual velocity (scaled and compensated for velocity loop control)
  • KPDF is a gain factor equivalent to the velocity gain factor in proportional plus integral control and the other quantities have the same definitions as in the case of proportional plus integral control.
  • the signal processing module 32 effects the selected type of control using effective values of the gains KI, KP, and KPDF derived from user supplied values which may be transferred to the motor control 30 from the host system. Adjustment of the gain values is accomplished through adjustment parameters PADJ, PDFADJ,and KIADJ in accordance with the following:
  • KP(eff) PADJ*KP(nominal)
  • a further gain modification factor KRO is applied in accordance with the following:
  • KP (1+KRO)KP(nominal)
  • KRO is a user specified friction compensation multiplier which is input from numerical control 10.
  • a current command is produced in response to the selected type of control taking into consideration the axis moment of inertia, the motor torque constant and the current scaling associated with the pulse-width modulation control signals to be applied to the power block 36.
  • a current component produced in response to a direct torque command input is summed with the current command component derived from the velocity loop control algorithm.
  • Inclusion of a torque command component ITCMD in the algorithm permits entry of values from a host system thereby providing direct control to achieve a desired torque.
  • Torque commands other than null may be used, for example, at speeds where velocity error based control can not be relied on exclusively to produce satisfactory results, for example, where velocity errors are quite small.
  • Applicants have chosen to effect compensation for torque variations related to motor magnetization by including a compensation component in torque command TCMD.
  • I k-1 integrator evaluation of the k-1 update interval
  • C1 constant accounting for conversion of units including conversion of time to time per sample interval and the multiplier of KIADJ
  • JADJ moment of inertia adjust factor
  • KPADJ proportional gain adjust factor
  • ITCMD current component associated with direct torque command
  • VE k VE at the k update interval
  • Values of the axis moment of inertia JA, the torque constant KT, and the current scale factor AS may be supplied from the host system.
  • Processors 38 and 42 perform integer arithmetic calculations to execute the velocity control algorithms.
  • the expressions of the algorithms are given without scale factors used to accommodate integer arithmetic. It will be understood that the expressions define relationships among variables and that calculations according to these relationships may be performed using floating point arithmetic whereby scaling required for integer arithmetic would be eliminated.
  • Applicants have chosen to effect compensation for torque constant error as described with reference to FIG. 1b by applying a factor to the current command value produced by evaluation of the selected velocity loop control algorithm.
  • the compensated current command is computed according to relative rotor and stator position and an empirically determined compensation factor according to the following expression:
  • ITCMP is the value of a current command compensated for torque constant errors
  • TCF.sub. ⁇ CMP torque compensation factor at angular position ⁇ , where ⁇ has been compensated for motor current magnitude
  • a value for the torque compensation factor TCF.sub. ⁇ CMP is recalled from a table using position information indicating the relative position of rotor and stator.
  • Actual torque values used to compute compensation factor values are determined by measurements made at constant current at different relative positions of rotor and stator. Statistical methods are used to eliminate anomalies in the measured data. Since the control effects stepwise commutation from one stator phase to another, compensation factors are required only for the portion of the torque characteristic of any stator phase during which the phase will conduct current. Further, for current in one direction, applicants have found that satisfactory compensation maybe obtained by providing a set of factor values applicable for all rotor poles rather than providing unique sets of values wherein one set is associated with each rotor pole. The number of unique compensation factor values to be used is chosen according to the quality of desired performance improvement: the more compensation factors stored, the closer the conformance of compensated performance to ideal motor behavior. Compensation factors are provided for both directions of current flow through the motor windings and current flow direction data are used in conjunction with position data to select a compensation factor to be recalled.
  • a compensated value of measured position ⁇ CMP is calculated according to the following expression:
  • ⁇ OFF zero torque intercept of linear function, unique offset value for each direction of motor current flow
  • K.sub. ⁇ slope constant of linear function, unique constants for each direction of motor current flow
  • the compensated measured relative position of rotor and stator is used to recall torque compensation factor values and to calculate the instant within a loop closure interval when commutation should be effected.
  • the compensation factor values are used in the compensation of current command values in accordance with expression (3). Use of the compensated position to calculate the instant of commutation corrects for positional shift of desired commutation points as described with reference to FIG. 1c.
  • Cogging compensation is added to a torque command value received from the host system according to:
  • TCMD TVAL+TCMP.sub. ⁇
  • TCMP.sub. ⁇ torque compensation value at angular position ⁇
  • the compensated torque command value is converted to units of current according to the motor torque constant to produce the torque command component ITCMD of commanded current.
  • the torque compensation values are determined by torque measurement at different relative positions of rotor and stator in the absence of motor current. Statistical methods are used to determine values to be stored in compensation data table 72.
  • Programs executed by signal processor 38 are stored in local memory 40 and include: actual position calculation routines 56; velocity loop control routines 52; commutation control routines 54 and hardware monitoring routines 57.
  • Signal processor 42 operates in conjunction with programs stored in memory 44 including: torque command processing routines 58; gain adjustment routines 60; and, average velocity calculation routines 67.
  • the routines executed by processor 38 are subdivided into background processing and interrupt processing.
  • Background processing effects execution of hardware monitoring procedures and occurs continuously until occurrence of an interrupt signal associated with the loop closure interval.
  • Hardware monitoring routines 57 examine status flags indicating hardware failures which may be set during initialization or at any time a hardware failure is detected.
  • Interrupt processing effects velocity loop control including torque constant error compensation and motor current commutation control.
  • processor 38 Upon occurrence of an interrupt signal associated with the loop closure interval, execution of the procedure illustrated by the flow chart of FIG. 3 is initiated by processor 38.
  • the interrupt procedure begins with execution of the position measurement routines 56.
  • the resolver output signals SIN I and COS I for all resolvers in use are read from interface module 34. These output signals are stored by the interface module 34 in memory locations which are directly accessible by signal processing module 32.
  • the resolver output signals read by process step 234 are loaded into dedicated locations of memory 78.
  • transducer position signals ⁇ I for all axes are produced by calculation of the inverse tangent of the ratio of the resolver output signals.
  • the calculated axis positions are represented by measurement system units defining the resolution of the measured positions.
  • motor current magnitude values IMAG I are calculated as the sum of the first two terms of either equation (1) or (2) according to the type of velocity control to be effected.
  • the value of IMAG I represents the portion of the motor current command associated with the velocity control to be implemented.
  • the velocity error VE K and actual velocity value VACT used in the calculation of IMAG I are derived from the change of position during the loop closure interval.
  • step 242 the motor current commands ICMD I are calculated as the sum of the motor current magnitude values IMAG I and a current component derived from a compensated torque command.
  • the effect of step 242 is completion of calculation of current command values according equation (1) or (2) depending on the type of velocity control.
  • Execution of the interrupt procedure continues with execution of the commutation control routines 54 beginning at decision step 254. There it is determined whether any of the status flags have been set indicating that a loss of feedback has been detected by interface module 34. In the event a loss of feedback is detected the current command ICMD F associated with the failed position loop is set equal to a maximum value at process step 256. If no disconnection has been detected new commutation pattern control signals SEXT I are produced at process step 258. Process step 258 is skipped in connection with any motor for which a loss of feedback has been detected. This has the effect of ceasing commutation of stator coil current for the associated motor while maintaining the applied current at a maximum value to effect magnetic detenting of the motor. The loss of feedback is indicated to the host by an output from signal processing module 32 through host interface 37.
  • a set of commutation pattern control signals is associated with rotor relative position by means of a conversion table using a calculated anticipated relative position of rotor and stator.
  • the relative position of rotor and stator expected to be attained during the next loop closure interval is calculated as the sum of the compensated measured position ⁇ CMP and the product of the average relative velocity VAVG I and the loop closure interval time ⁇ t.
  • commutation of motor current among the windings of a three phase stator network is effected at six equal angular zones or sextants of the torque characteristic of a single stator phase. Each zone is related to a segment of one revolution of the rotor according to the number of rotor poles.
  • each zone corresponds to twenty degrees of relative rotation of rotor and stator.
  • Each zone is associated with a set of commutation pattern control signals from which the conductive state of the stator coils is determined as follows:
  • U, V, and W designate terminals of the stator coil winding network and conduction is defined in the direction of positive toward ground
  • the desired direction of torque and hence, the direction of conduction, is defined by the sign of the current command.
  • the interval of change of commutation patterns is a function of velocity. It is therefor necessary to determine the instant within the loop closure interval at which the relative position of rotor and stator is anticipated to traverse a zone boundary.
  • the anticipated time for the rotor relative position to reach the zone boundary is calculated by dividing the distance between the current relative position, as indicated by the compensated measured position ⁇ CMP, and the zone boundary by the measured velocity.
  • the calculated anticipated commutation time is divided by a predetermined loop closure sub-interval chosen to produce an acceptable error between actual and ideal relative position at the instant of commutation at the maximum anticipated velocity.
  • a commutation anticipation time TC is represented by the binary equivalent of the calculated number of loop closure sub-intervals and is included in each commutation pattern control word SEXT I .
  • Execution of the commutation routines 54 is completed at process step 260 where the current commands ICMD I , and commutation pattern control words SEXT I including commutation anticipation times TC I are written to dedicated storage locations for the interface module 34. Following completion of process step 260 interrupt procedure processing ends and processor 38 returns to execution of the background routines through the return of terminal 262.
  • Tasks performed by signal processor 42 include gain value adjustment, compensation of torque commands, calculation of average velocity and generation of the torque dependent current component used in the calculation of current commands ICMD I .
  • Gain adjustment is performed during background processing and includes execution of routines to adjust values of velocity loop gains KP I , KI I and KPDF I .
  • the other tasks are performed in response to occurrence of loop closure interrupt signals.
  • the interrupt signal used to initiate execution of the interrupt procedure of FIG. 3 by processor 38 also initiates the execution of the interrupt procedure of FIG. 4 by processor 42. It will be understood therefore, that the processing of interrupt procedures by the processors 38 and 42 occurs simultaneously.
  • a torque command TCMD I is calculated as the sum of a torque value TVAL supplied from the host system and a torque compensation TGMP.sub. ⁇ .
  • Torque compensation TCMP.sub. ⁇ has a value effective to correct for torque attributable to motor magnetization at rotor relative position ⁇ . Compensation values are stored in reluctance compensation data table 72 so as to be accessible using an address derived from actual position data ⁇ . Since this compensation is not related to motor current magnitude, the uncompensated positions ⁇ I are used to retrieve the compensation value.
  • Interrupt procedure processing continues with execution of the torque command conversion routines 68 at process step 272. These routines are used to convert the torque command TCMD I from engineering units to current command units using values of the appropriate torque constant KT.
  • the torque dependent current component ITCMD I value is stored in memory 78 for access by processor 38.
  • Processing of the interrupt procedure proceeds with execution of the average velocity calculation routines 67 at process step 274.
  • Motor average velocity is calculated for each motor under control as the average change of relative position of rotor and stator over a predetermined number of loop closure intervals as follows:
  • VAVG ( ⁇ k - ⁇ k-n )/p
  • k and k-n designate values for respectively the current and the p th previous loop closure intervals
  • Average velocities VAVG I are stored in memory 78 for access by processor 38 which uses the average velocity values in connection with execution of the commutation control routines 54. Upon completion of the calculation of average actual motor velocity, execution of the background programs is continued by return through terminal 276.

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)

Abstract

Torque ripple in brushless DC motors is reduced by compensation of signals controlling energization of motor stator windings. Motor current magnitude is compensated in response to compensation factor values correlated to the ratio of actual torque to ideal torque at constant current at various relative positions of a motor rotor and stator. A motor current command component associated with a commanded torque is compensated for cogging torque associated with motor magnetization. Measured relative position values are compensated to account for torque profile distortions associated with motor current magnitude.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to control of brushless DC motors. In particular this invention relates to reduction of torque ripple of brushless DC motors.
2. Description of Related Art
It is known that brushless DC motors exhibit torque variations during operation above zero velocity and which are most pronounced at relatively low speeds and when subject to high loads. Contributors to torque variations include effects related to motor current as well as effects associated with motor construction. It is recognized that DC brushless motors which are driven by stepwise motor current commutation, for example, six step commutation, demonstrate relatively greater torque variation than motors designed for and driven with sinusoidal current energization. However, stepwise commutated current energization is relatively simpler to achieve than synthesis of sinusoidal motor current. Consequently it is desirable to effect reduction of torque variation for stepwise commutated brushless DC motors.
Certain torque variations associated with motor current commutation are described in U.S. Pat. No. 4,782,272. In particular, this reference illustrates in FIG. 9 and the associated description the effects of deviation of current commutation from the point at which torques from successively energized windings are equal. This reference discloses a control for effecting commutation at a point beyond the point where the torque of successively energized windings are equal, resulting in a torque peak.
U.S. Pat. No. 4,868,477 describes a control for energizing windings of a variable reluctance motor to reduce torque ripple in positioning servos. The control of this reference includes storage for data defining the magnitude of current for each motor winding at each rotor position to produce a desired torque. The stored data is based on measured motor performance. The current control method of this reference contemplates the simultaneous energization of winding phases to achieve a desired torque magnitude at a particular position and is not suitable for effecting velocity control.
Motor control techniques for reducing torque variation associated with certain current related effects and effects produced in the absence of motor current in axial field permanent magnet motors are described in U.S. Pat. No. 5,223,775. These control techniques are directed particularly to modifying the shape and magnitude of applied sinusoidal motor current where each winding phase is controlled independently.
The known control techniques do not achieve satisfactory reduction of torque variation for brushless DC motors driven with stepwise commutated motor current while retaining comparatively simple current commutation.
SUMMARY OF THE INVENTION
It is an object of the present invention to control energization of windings of a brushless DC motor to reduce torque fluctuations.
It is a further object of the present invention to control a brushless DC motor to reduce torque fluctuations which are attributed to torque variations at constant motor current by compensation of motor current command values.
It is a still further object of the present invention to control a brushless DC motor to reduce torque fluctuations which are attributed to motor magnetization by compensation of motor current command values.
It is a still further object of the present invention to control stepwise commutation of motor current of a brushless DC motor to reduce torque fluctuations by effecting motor current commutation at the relative position of rotor and stator at which the constant motor current torques of successively energized motor windings are equal.
Further objects and advantages of the present invention shall become apparent from the following description and the accompanying drawings.
A motor control periodically produces motor current commands defining a motor current magnitude and produces commutation pattern control signals defining the instant of motor current commutation from one to another of successively energized motor windings. Each motor current command includes a current component derived from a torque command value and, for velocity control, includes a component derived from a velocity control algorithm. An adjustment angle is used to correct the commutation pattern control signals to conform the instant of motor current commutation to the instant when the rotor and stator will have a relative position at which constant motor current torques of successively energized motor windings are equal. The adjustment angle is calculated as a function of commanded motor current magnitude. The control effects compensation of current command values in two respects. First, a torque command value included in the motor current command is modified by a compensation component accounting for torque fluctuations attributable to motor magnetization. Compensation components are derived from measured motor torque in the absence of motor current at plural relative positions of the rotor and stator. Stored values of compensation components are recalled according to measured relative position of rotor and stator. A second compensation of motor current command values is effected using compensation factor values correlated to ratios of actual torque to ideal torque produced by constant motor current. The control includes data storage of compensation factor values associated with plural relative positions of motor rotor and stator. As the relative position of rotor and stator change, compensation factors are recalled and current commands are modified in response to the recalled compensation factor values. The measured relative position value used to recall the stored compensation factor data is modified by the adjustment angle.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGS. 1a though 1c illustrate ideal and actual torque characteristics at constant motor current.
FIG. 2 is a block diagram showing a brushless DC motor and control therefore.
FIG. 3 is a flow chart of a procedure effected by the control of FIG. 2 for producing motor current control signals.
FIG. 4 is a flow chart of a procedure effected by the control of FIG. 2 for producing values used in the procedure of FIG. 3.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
To illustrate the invention, a motor control developed by Cincinnati Milacron Inc., the assignee of the present invention, shall be described in detail. While this motor control represents a preferred embodiment of the invention, the description thereof is not intended to be in any way limiting in respect of the scope of the invention which is defined by the appended claims and all equivalents thereof. The motor control to be described effects correction for torque variation related to motor current as well as variations associated with motor magnetization.
To describe the effects of motor current related torque variations corrected by the motor control of the subject application, reference shall be made to FIGS. 1a-1c which illustrate trapezoidal torque characteristic for motor windings energized with constant current, i.e. an unchanging current magnitude. The control of this invention is applicable to stepwise motor current commutation whether applied to motors having trapezoidal or sinusoidal torque characteristics.
FIG. 1a illustrates full cycles of ideal torque produced by three phases of stator windings energized with constant current in response to passage of opposing poles of a rotor. Motor construction and arrangement of the windings is designed to produce the staggered torque profiles illustrated. Each torque profile includes two constant torque portions of opposite polarity, and each constant torque portion occupies one sixth of the torque profile. It will be understood that in a motor constructed with six rotor poles, a complete cycle of a torque profile is completed with each 120° of relative rotation of rotor and stator. Torque characteristics of sinusoidal type motors exhibit substantially narrower regions of constant torque but do produce regions of relatively small torque variation within the corresponding one sixth portion of the torque profile.
It will be appreciated from FIG. 1a that the motor may be advantageously operated within the regions of constant torque of the torque profiles by controlling the selection of stator windings to be energized, and the direction of current through the windings. To achieve this type of operation, it is desired to effect commutation of current from one winding to another at the points 20 where transitions occur from constant torque. With constant motor current, the ideal characteristics of FIG. 1a would produce constant torque as phases are successively energized, that is, torque would remain constant through motor current commutation. In a motor having a sinusoidal torque characteristic, stepwise commutation of motor current at the same positional intervals will result in reduced torque regions between the narrower constant torque portions of the torque characteristic.
In contrast to the ideal torque profiles of FIG. 1a, actual motor torque characteristics exhibit a continuous change of torque at the transitions to and from constant torque. In FIG. 1b curves 14 and 16 are portions of two torque profiles, corresponding to curves 10 and 12 of FIG. 1a, spatially overlaid. While commutation will desirably occur at a location where the torque for phases to be successively energized is equal, commutation of constant motor current can not produce constant torque because of the loss of torque in the vicinity of the transitions. This effect shall be referred to as torque constant error. A torque variation likewise occurs for sinusoidal motors in the transition regions between constant torque portions of the torque characteristic. To correct for torque constant error, the control of this invention effects compensation of motor current commands in accordance with the ratio of actual torque to ideal torque at constant current. The compensated current commands overcome the loss of torque at constant current in the transition regions.
A second current related effect is illustrated by the torque profiles of FIG. 1c. There, the curves 13 and 15 correspond to the curves 14 and 16 of FIG. 1b at one constant current magnitude and the curves 17 and 19 similarly correspond at another constant current magnitude. As shown, the shape of torque characteristic profiles change with current magnitude. As a consequence of these profile changes, the points 24 and 26, corresponding to point 22 of FIG. 1b, occur at different relative positions of rotor and stator. That is, the commutation points are translated as a function of motor current magnitude. The direction of translation depends on the direction of current flow producing the torque. This positional translation shall be referred to herein as torque profile shift. To correct for this effect, the control of this invention effects adjustment of the position of occurrence of commutation of current from one winding to another. The magnitude of adjustment of commutation position is determined from a linear function joining the desired commutation points at different torque magnitudes. The linear function is defined by torque measurement data characterizing actual motor performance.
In addition to effects on torque profiles attributable to current magnitude, torque fluctuations attributable to motor magnetization occur in the absence of motor current. The physical arrangement of rotor magnets and stator poles are such that magnetic reluctance varies with relative positions of the rotor and stator. Reluctance variations are manifested in positions of the rotor and stator from which positional change is resisted and to which positional alignment is aided by magnetic forces. The resultant torque variation, is known as "cogging". To correct for this effect, the control of this invention effects compensation of a motor current command component having values determined in response to commanded torque. Compensation values are determined from measurement of motor torque in the absence of motor current.
Motor Controller
A motor controller according to the present invention shall be described with reference to FIG. 2. Motor controller 30 includes a signal processing module 32 and a motor and transducer interface module 34. Current switching devices located in power block module 36 control delivery of electrical current to motors 100 through 106 in response to control signals output by interface module 34. Motor controller 30 is responsive to inputs received from a host system (not shown) to perform position and velocity control of motors 100 through 106.
SIGNAL PROCESSING MODULE
Signal processing module 32 includes a host interface 37 for data communication with a host system. Host interface 37 includes a memory 78 to which data are written for exchanges between processing module processors or between the processing module and the host system. Host interface 37 also includes address and data bus interfaces which serve as signal buffers between digital signal processors of signal processing module 32 and the memory. Two digital signal processors 38 and 42 execute programs recorded in respective program stores 40 and 44 to implement motor control algorithms, perform diagnostic routines and effect communication with the host system. Applicants have chosen the TMS 320C25 digital signal processors available from Texas Instruments Inc. Servo bus interface 50 provides signal buffering for signals to be transferred from the digital signal processors 38 and 42 to motor interface module 34. Local address and data bus interfaces 46 and 48 provide signal buffers for address and data signals transferred between program stores 40 and 44 and the respective digital signal processors 38 and 42.
Motor control routines of interest for the present invention include position detection routines 56, velocity loop processing routines 52, commutation control routines 54, torque command processing routines 58, and gain adjustment routines 60. Of particular interest in respect of velocity loop processing routines are motor current calculation 62 and torque constant compensation 64. Of particular interest in respect of torque command processing routines are torque command compensation routines 66 and torque command conversion routines 68 which produce a component of motor current. Processor 1 program store 40 includes a data table of torque constant compensation factors 70. Processor 2 program store 44 includes reluctance compensation data table 72.
Signal processing module 32 effects motor control by periodic execution of routines implementing motor control algorithms at a predetermined loop closure interval. With each execution of the routines, new values of motor current commands CMDI and commutation pattern control words SEXTI are produced (the subscripts I identify the motor for which the commands and control words are effective). The commands and control words are employed by motor interface module 34 to control the delivery of electrical current to the motors 100 through 106 during the loop closure interval. In addition, the commands and control words are made available to the host system through host interface 37.
MOTOR & TRANSDUCER INTERFACE MODULE
Interface module 34 includes motor drive interface 74 and position transducer interface 76. Motor drive interface 74 includes digital to analogue conversion and processing circuitry 80 which is responsive to the motor current commands ICMDI, commutation pattern control words SEXTI, and measured motor current to produce control signals for the current switches of power block module 36. The switches are controlled by pulse width modulation to achieve the desired motor current magnitudes. Motor drive interface 74 includes input/output interface circuitry 82 for exchange of signals with power block module 36. A specific implementation for generating pulse width modulated switch control signals and for exchanging signals with power block module 36 is disclosed in U.S. Pat. No. 5,187,417.
In addition to generation of switch control signals, interface module 34 includes signal interfaces for position transducers 110 through 116. Position transducer interface 76 includes excitation signal interface 84 and transducer output signal receivers 86. In the preferred embodiment, position transducers are resolvers. Resolver excitation signals, fixed frequency sinusoids, are produced by resolver excitation generator 88 and conditioned by excitation signal interface 84 for output to the position transducers. Resolver output signals, SINI and COSI, are sampled at the loop closure interval and the sampled values converted from analogue to digital representations by analogue to digital converter 90. The resolver interfaces of the preferred embodiment are of known design and further details thereof shall not be provided herein.
Velocity Loop Control Algorithms
Digital processing module 32 effects velocity control to determine a motor current command value. It will be appreciated that velocity control may be effected as a subsisting control algorithm in a system effecting position control. The motor current command value produced by the velocity control defines a desired motor torque. The desired motor torque includes a component calculated to achieve a desired velocity and a component associated with torque that may be otherwise commanded. The velocity dependent component is calculated in response to a velocity error VE, i.e., the difference between a velocity command VCMD defining a desired motor velocity and actual motor velocity. In the preferred embodiment, actual instantaneous motor velocity is derived from the measured change of position occurring during the immediately preceding loop closure interval. Velocity control is selectively effected according to either proportional plus integral or pseudo derivative feedback type control algorithms.
Proportional plus integral velocity control is characterized by a control transfer function having the form:
KP*[(s+KI)/s]*VE
Where:
s represents complex frequency
KP=proportional gain factor
KI=integral gain factor ##EQU1## Where: VCMD=velocity command
VACT=actual velocity (scaled and compensated for velocity loop control)
Pseudo derivative feedback velocity control is characterized by a transfer function having the form:
KPDF*[KI/s]*VE-(KPDF,VACT)
Where:
s represents complex frequency
KPDF is a gain factor equivalent to the velocity gain factor in proportional plus integral control and the other quantities have the same definitions as in the case of proportional plus integral control.
The signal processing module 32 effects the selected type of control using effective values of the gains KI, KP, and KPDF derived from user supplied values which may be transferred to the motor control 30 from the host system. Adjustment of the gain values is accomplished through adjustment parameters PADJ, PDFADJ,and KIADJ in accordance with the following:
KP(eff)=PADJ*KP(nominal)
KI(eff)=KIADJ*KI(nominal)
KPDF(eff)=PDFADJ*KPDF(nominal)
To provide increased velocity loop gain at and near zero velocity, a further gain modification factor KRO is applied in accordance with the following:
KP=(1+KRO)KP(nominal)
KI=(1+KRO)KI(nominal)
KPDF=(1+KRO)KPDF(nominal)
The change of gain during low speed operation is effected at a constant rate. The value of KRO is a user specified friction compensation multiplier which is input from numerical control 10.
A current command is produced in response to the selected type of control taking into consideration the axis moment of inertia, the motor torque constant and the current scaling associated with the pulse-width modulation control signals to be applied to the power block 36. In addition, a current component produced in response to a direct torque command input is summed with the current command component derived from the velocity loop control algorithm. Inclusion of a torque command component ITCMD in the algorithm permits entry of values from a host system thereby providing direct control to achieve a desired torque. Torque commands other than null may be used, for example, at speeds where velocity error based control can not be relied on exclusively to produce satisfactory results, for example, where velocity errors are quite small. Applicants have chosen to effect compensation for torque variations related to motor magnetization by including a compensation component in torque command TCMD.
The calculations performed to produce the current command implementing proportional plus integral control are:
ICMD=IKP*VE.sub.k +IKI*I.sub.k +ITCMD.sub.k                (1)
Where: ##EQU2## Where: Ik-1 =integrator evaluation of the k-1 update interval ##EQU3## Where: C1=constant accounting for conversion of units including conversion of time to time per sample interval and the multiplier of KIADJ
KIADJ=integral gain adjust factor ##EQU4## Where: AS=power block current scale factor
C2=constant accounting for conversion of units and the multiplier of KPADJ
JA=axis moment of inertia
JADJ=moment of inertia adjust factor
KPADJ=proportional gain adjust factor
KRO=low speed gain modification factor
KT=motor torque constant (torque/amp)
ITCMD=current component associated with direct torque command
VEk =VE at the k update interval
The calculations performed to produce the current command implementing pseudo derivative feedback control are:
ICMD=-IKPDF,VACT+PKI*I.sub.k +ITCMD.sub.k                  (2)
Where: ##EQU5## and all other components have the definitions stated above.
Values of the axis moment of inertia JA, the torque constant KT, and the current scale factor AS may be supplied from the host system. Processors 38 and 42 perform integer arithmetic calculations to execute the velocity control algorithms. For clarity, the expressions of the algorithms are given without scale factors used to accommodate integer arithmetic. It will be understood that the expressions define relationships among variables and that calculations according to these relationships may be performed using floating point arithmetic whereby scaling required for integer arithmetic would be eliminated.
Torque Compensation
Applicants have chosen to effect compensation for torque constant error as described with reference to FIG. 1b by applying a factor to the current command value produced by evaluation of the selected velocity loop control algorithm. The compensated current command is computed according to relative rotor and stator position and an empirically determined compensation factor according to the following expression:
ITCMP=ICMD+ICMD*TCF.sub.⊖CMP                       (3)
Where:
ITCMP is the value of a current command compensated for torque constant errors
TCF.sub.⊖CMP =torque compensation factor at angular position ⊖, where ⊖ has been compensated for motor current magnitude
A value for the torque compensation factor TCF.sub.⊖CMP is recalled from a table using position information indicating the relative position of rotor and stator.
Compensation of commanded current for a calculated ratio could be effected by multiplication of the uncompensated current value by the inverse of the ratio of actual torque to ideal torque. However, deviations from ideal torque to be compensated are relatively small so that the significant difference between values will reside in fractional portions of the values. Consequently, expression (3) has been chosen by applicants to implement the compensation calculation so that the significance of these small differences can be realized with reasonable data word lengths. Each stored factor value is computed by subtracting one from the inverse of the ratio of actual torque to ideal torque. Expression (3) is the equivalent of multiplying ICMD by the sum of one and the compensation factor value. Since the compensation factor value is computed by subtracting one from the inverse of the ratio, the effective addition of one according to expression (3) restores the one previously subtracted. The result of expression (3) considering the previous subtraction is multiplication of ICMD by the inverse of the ratio.
Actual torque values used to compute compensation factor values are determined by measurements made at constant current at different relative positions of rotor and stator. Statistical methods are used to eliminate anomalies in the measured data. Since the control effects stepwise commutation from one stator phase to another, compensation factors are required only for the portion of the torque characteristic of any stator phase during which the phase will conduct current. Further, for current in one direction, applicants have found that satisfactory compensation maybe obtained by providing a set of factor values applicable for all rotor poles rather than providing unique sets of values wherein one set is associated with each rotor pole. The number of unique compensation factor values to be used is chosen according to the quality of desired performance improvement: the more compensation factors stored, the closer the conformance of compensated performance to ideal motor behavior. Compensation factors are provided for both directions of current flow through the motor windings and current flow direction data are used in conjunction with position data to select a compensation factor to be recalled.
To correct for torque profile distortion attributable to motor current magnitude as described with reference to FIG. 1c, an adjustment is made to measured position to produce an adjusted position value. The position adjustment is calculated as a linear function joining positional shifts measured at different torque magnitudes. Separate constants of the linear slope and zero torque intercept are defined for each direction of current flow. A compensated value of measured position ⊖CMP is calculated according to the following expression:
⊖CMP=⊖+K.sub.⊖ *ICMD+⊖.sub.OFF(4)
Where:
⊖=measured angular position
OFF =zero torque intercept of linear function, unique offset value for each direction of motor current flow
K.sub.⊖ =slope constant of linear function, unique constants for each direction of motor current flow
The compensated measured relative position of rotor and stator is used to recall torque compensation factor values and to calculate the instant within a loop closure interval when commutation should be effected. The compensation factor values are used in the compensation of current command values in accordance with expression (3). Use of the compensated position to calculate the instant of commutation corrects for positional shift of desired commutation points as described with reference to FIG. 1c.
Applicants have chosen to effect compensation for torque variations attributable to motor magnetization, i.e. cogging compensation, by applying compensation to the component of current command associated with a torque command value ITCMD. Cogging compensation is added to a torque command value received from the host system according to:
TCMD=TVAL+TCMP.sub.⊖
Where:
TVAL=torque command value received from host
TCMP.sub.⊖ =torque compensation value at angular position ⊖ The compensated torque command value is converted to units of current according to the motor torque constant to produce the torque command component ITCMD of commanded current.
The torque compensation values are determined by torque measurement at different relative positions of rotor and stator in the absence of motor current. Statistical methods are used to determine values to be stored in compensation data table 72.
Velocity Loop Control & Torque Compensation Procedures
The following detailed description of procedures executed by motor control 30 to effect velocity control and torque compensation includes tasks performed by both processors 38 and 42. While applicant has chosen to allocate tasks between the processors 38 and 42 in the manner to be described, it will be appreciated that other allocations would serve equally as well, the primary consideration being that the processing time consumed must permit completion of all required tasks during the loop closure interval.
Programs executed by signal processor 38 are stored in local memory 40 and include: actual position calculation routines 56; velocity loop control routines 52; commutation control routines 54 and hardware monitoring routines 57. Signal processor 42 operates in conjunction with programs stored in memory 44 including: torque command processing routines 58; gain adjustment routines 60; and, average velocity calculation routines 67.
The routines executed by processor 38 are subdivided into background processing and interrupt processing. Background processing effects execution of hardware monitoring procedures and occurs continuously until occurrence of an interrupt signal associated with the loop closure interval. Hardware monitoring routines 57 examine status flags indicating hardware failures which may be set during initialization or at any time a hardware failure is detected. Interrupt processing effects velocity loop control including torque constant error compensation and motor current commutation control.
Upon occurrence of an interrupt signal associated with the loop closure interval, execution of the procedure illustrated by the flow chart of FIG. 3 is initiated by processor 38. The interrupt procedure begins with execution of the position measurement routines 56. At process step 234 the resolver output signals SINI and COSI for all resolvers in use are read from interface module 34. These output signals are stored by the interface module 34 in memory locations which are directly accessible by signal processing module 32. The resolver output signals read by process step 234 are loaded into dedicated locations of memory 78. At process step 236 transducer position signals ⊖I for all axes are produced by calculation of the inverse tangent of the ratio of the resolver output signals. The calculated axis positions are represented by measurement system units defining the resolution of the measured positions.
Execution of the interrupt procedure continues at process step 240 where motor current magnitude values IMAGI are calculated as the sum of the first two terms of either equation (1) or (2) according to the type of velocity control to be effected. The value of IMAGI represents the portion of the motor current command associated with the velocity control to be implemented. The velocity error VEK and actual velocity value VACT used in the calculation of IMAGI are derived from the change of position during the loop closure interval.
At process step 242 the motor current commands ICMDI are calculated as the sum of the motor current magnitude values IMAGI and a current component derived from a compensated torque command. The effect of step 242 is completion of calculation of current command values according equation (1) or (2) depending on the type of velocity control.
Execution of the interrupt procedure continues at process step 250 where compensated values of measured position ⊖CMPI are calculated in accordance with equation (4) using the values of motor current magnitudes ICMDI produced by process step 242. The compensated values of measured position are used in the generation of commutation pattern control signals and compensation of motor current commands. At process step 252 the current command value is compensated for torque constant error according to expression (3) using a compensation factor recalled from store 70. At process step 253 values of the motor current commands ICMDI, compensated current commands ITCMPI, actual velocity VACTI, actual position ⊖I, and sine and cosine outputs of the position transducers SINI and COSI are written to memory 78 for access by the host system.
Execution of the interrupt procedure continues with execution of the commutation control routines 54 beginning at decision step 254. There it is determined whether any of the status flags have been set indicating that a loss of feedback has been detected by interface module 34. In the event a loss of feedback is detected the current command ICMDF associated with the failed position loop is set equal to a maximum value at process step 256. If no disconnection has been detected new commutation pattern control signals SEXTI are produced at process step 258. Process step 258 is skipped in connection with any motor for which a loss of feedback has been detected. This has the effect of ceasing commutation of stator coil current for the associated motor while maintaining the applied current at a maximum value to effect magnetic detenting of the motor. The loss of feedback is indicated to the host by an output from signal processing module 32 through host interface 37.
A set of commutation pattern control signals is associated with rotor relative position by means of a conversion table using a calculated anticipated relative position of rotor and stator. The relative position of rotor and stator expected to be attained during the next loop closure interval is calculated as the sum of the compensated measured position ⊖CMP and the product of the average relative velocity VAVGI and the loop closure interval time δt. As noted with reference to FIG. 1a, commutation of motor current among the windings of a three phase stator network is effected at six equal angular zones or sextants of the torque characteristic of a single stator phase. Each zone is related to a segment of one revolution of the rotor according to the number of rotor poles. With a motor having a six pole rotor, each zone corresponds to twenty degrees of relative rotation of rotor and stator. Each zone is associated with a set of commutation pattern control signals from which the conductive state of the stator coils is determined as follows:
______________________________________                                    
             Sextant Data                                                 
                      U V W Conduction                                    
Zone (radians)                                                            
           Sextant S3    S2   S1  CW      CCW                             
______________________________________                                    
0-π/3   1       0     0    1   W to V  V to W                          
π/3-2π/3                                                            
           2       0     1    0   U to V  V to U                          
2π/3-π                                                              
           3       0     1    1   U to W  W to U                          
π-4π/3                                                              
           4       1     0    0   V to W  W to V                          
4π/3-5π/3                                                           
           5       1     0    1   V to U  U to V                          
5π/3-0  6       1     1    0   W to U  U to W                          
______________________________________                                    
Where:
CW=clockwise torque
CCW=counter-clockwise torque
U, V, and W designate terminals of the stator coil winding network and conduction is defined in the direction of positive toward ground
The desired direction of torque and hence, the direction of conduction, is defined by the sign of the current command.
While the loop closure interval is fixed, the interval of change of commutation patterns is a function of velocity. It is therefor necessary to determine the instant within the loop closure interval at which the relative position of rotor and stator is anticipated to traverse a zone boundary. The anticipated time for the rotor relative position to reach the zone boundary is calculated by dividing the distance between the current relative position, as indicated by the compensated measured position ⊖CMP, and the zone boundary by the measured velocity. The calculated anticipated commutation time is divided by a predetermined loop closure sub-interval chosen to produce an acceptable error between actual and ideal relative position at the instant of commutation at the maximum anticipated velocity. A commutation anticipation time TC is represented by the binary equivalent of the calculated number of loop closure sub-intervals and is included in each commutation pattern control word SEXTI.
Execution of the commutation routines 54 is completed at process step 260 where the current commands ICMDI, and commutation pattern control words SEXTI including commutation anticipation times TCI are written to dedicated storage locations for the interface module 34. Following completion of process step 260 interrupt procedure processing ends and processor 38 returns to execution of the background routines through the return of terminal 262.
Tasks performed by signal processor 42 include gain value adjustment, compensation of torque commands, calculation of average velocity and generation of the torque dependent current component used in the calculation of current commands ICMDI. Gain adjustment is performed during background processing and includes execution of routines to adjust values of velocity loop gains KPI, KII and KPDFI. The other tasks are performed in response to occurrence of loop closure interrupt signals. The interrupt signal used to initiate execution of the interrupt procedure of FIG. 3 by processor 38 also initiates the execution of the interrupt procedure of FIG. 4 by processor 42. It will be understood therefore, that the processing of interrupt procedures by the processors 38 and 42 occurs simultaneously.
Upon occurrence of an interrupt signal, execution of torque command processing routines 58 is initiated at process step 270 of FIG. 4. There, a torque command TCMDI is calculated as the sum of a torque value TVAL supplied from the host system and a torque compensation TGMP.sub.⊖. Torque compensation TCMP.sub.⊖ has a value effective to correct for torque attributable to motor magnetization at rotor relative position ⊖. Compensation values are stored in reluctance compensation data table 72 so as to be accessible using an address derived from actual position data ⊖. Since this compensation is not related to motor current magnitude, the uncompensated positions ⊖I are used to retrieve the compensation value.
Interrupt procedure processing continues with execution of the torque command conversion routines 68 at process step 272. These routines are used to convert the torque command TCMDI from engineering units to current command units using values of the appropriate torque constant KT. The torque dependent current component ITCMDI value is stored in memory 78 for access by processor 38.
Processing of the interrupt procedure proceeds with execution of the average velocity calculation routines 67 at process step 274. Motor average velocity is calculated for each motor under control as the average change of relative position of rotor and stator over a predetermined number of loop closure intervals as follows:
VAVG=(⊖k -⊖k-n)/p
Where:
⊖=rotor relative position
p=the number of loop closure intervals used for averaging
and k and k-n designate values for respectively the current and the pth previous loop closure intervals
Average velocities VAVGI are stored in memory 78 for access by processor 38 which uses the average velocity values in connection with execution of the commutation control routines 54. Upon completion of the calculation of average actual motor velocity, execution of the background programs is continued by return through terminal 276.
While a preferred embodiment for achieving reduction of torque fluctuations in operation of brushless motors has been illustrated and described in considerable detail, there is no intention to limit the invention to such detail. On the contrary, it is intended that the scope of the invention be considered to include all modifications, alterations and equivalents falling within the spirit and scope of the appended claims.

Claims (20)

We claim:
1. A method for controlling a brushless DC motor in response to a current command value defining a desired torque according to a predetermined motor torque constant, the motor including a rotor moveable relative to a stator and stator windings electrically energizable to produce torque acting relatively on the rotor and stator, the method comprising the steps of:
a. producing position signals representing the position of the motor rotor relative to the motor stator;
b. producing in response to the position signals a torque compensation factor correlated to a ratio of actual torque to ideal torque produced by constant motor current at the relative position of rotor and stator represented by the position signals, said ideal torque being constant over a range of rotor position;
c. producing a compensated current command value in response to the current command value and the torque compensation factor, the compensated current command value defining a magnitude of motor current to produce the desired torque at the relative position of rotor and stator represented by the position signal; and
d. controlling a magnitude of current through the stator windings in response to the compensated current command value.
2. The method of claim 1 further comprising the step of executing a velocity control algorithm relating a desired velocity and measured velocity to produce a current magnitude value to which the current command is correlated, the current magnitude value derived from the magnitude of difference between actual motor velocity and desired motor velocity.
3. The method of claim 1 wherein the step of producing a compensated current command value further comprises the steps of:
a. producing a torque compensation value in response to the position signals, the torque compensation value representing the magnitude of torque produced in the absence of motor current at the position of the motor rotor relative to the motor stator represented by the position signals; and
b. modifying the current command value in response to the torque compensation value.
4. The method of claim 1 further comprising the steps of:
a. producing commutation pattern control signals in response to changes of position of the motor rotor relative to the motor stator as determined from the position signals, the commutation pattern control signals defining stepwise commutation of patterns of conduction of motor current through the stator windings to produce torque in a desired direction; and
b. controlling conduction of motor current through the stator windings in response to the commutation pattern control signals.
5. The method of claim 4 further comprising the step of producing a compensated position value in response to the current command value and the position signals, the compensated position value defining a position at which stator windings to be successively energized produce equal torque at the current magnitude defined by the current command value.
6. The method of claim 5 wherein the compensated position value is used to determine the torque compensation factor.
7. The method of claim 5 wherein the commutation pattern control signals are produced in response to the compensated position value.
8. A method for controlling a brushless DC motor in response to a current command defining a desired torque, the motor including a rotor moveable relative to a stator and stator windings electrically energizable to produce torque acting relatively on the rotor and stator, the method comprising the steps of:
a. producing position signals representing the position of the motor rotor relative to the motor stator;
b. producing a torque compensation value in response to the position signals, the torque compensation value representing the magnitude of torque produced in the absence of motor current at the relative position of rotor and stator represented by the position signals;
c. modifying the current command value in response to the torque compensation value; and
d. controlling a magnitude of energization of the stator windings in response to the current command value as modified.
9. The method of claim 8 further comprising the steps of:
a. producing commutation pattern control signals in response to changes of position of the motor rotor relative to the motor-stator as determined from the position signals, the commutation pattern control signals defining stepwise commutation of patterns of conduction of motor current through the stator windings to produce torque in a desired direction; and
b. controlling conduction of motor current through the stator windings in response to the commutation pattern control signals.
10. The method of claim 9 further comprising the step of producing a compensated position value in response to the current command value and the position signals, the compensated position value defining a position at which stator windings to be successively energized produce equal torque at the current magnitude defined by the current command value.
11. The method of claim 10 wherein the commutation pattern control signals are produced in response to the compensated position value.
12. The method of claim 9 further comprising the steps of:
a. producing in response to the position signals a torque compensation factor correlated to a ratio of actual torque to ideal torque produced by constant motor current at the position of the motor rotor relative to the motor stator represented by the position signal;
b. producing a compensated current command value in response to the current command value as modified and the torque compensation factor, the compensated current command value defining a magnitude of motor current to produce the desired torque at the position of the motor rotor relative to the motor stator represented by the position signal.
13. The method of claim 12 wherein the compensated position value is used to determine the torque compensation factor.
14. An apparatus for controlling a brushless DC motor in response to a current command defining a desired torque, the motor including a rotor moveable relative to a stator and stator windings electrically energizable to produce torque acting relatively of the rotor and stator, the apparatus comprising:
a. means for producing position signals representing the position of the motor rotor relative to the motor stator;
b. means for producing commutation pattern control signals in response to changes of relative position of the rotor and stator as determined from the position signals, the commutation pattern control signals defining stepwise commutation of patterns of conduction of motor current through the stator windings to produce torque in a desired direction;
c. means for compensating the current command in response to the position signals, the compensations effected being correlated to deviations of actual torque from desired torque at the position represented by the position signals, desired torque being constant over a range of rotor position in response to constant motor current; and
d. means responsive to the commutation pattern control signals and the current command as compensated to control energization of the stator windings.
15. The apparatus of claim 14 wherein the means for compensating the current command further comprises:
a. means for producing a torque compensation value in response to the position signals, the torque compensation value representing the magnitude of torque produced in the absence of motor current at the position of the motor rotor relative to the motor stator represented by the position signals; and
b. means for modifying the current command value in response to the torque compensation value.
16. The apparatus of claim 14 wherein the means for compensating the current command further comprises:
a. means for producing in response to the position signals a torque compensation factor correlated to a ratio of actual torque to ideal torque produced by constant motor current at the position of the motor rotor relative to the motor stator represented by the position signal; and
b. means for producing a compensated current command value in response to the current command value and the torque compensation factor, the compensated current command value defining a magnitude of motor current to produce the desired torque at the position of the motor rotor relative to the motor stator represented by the position signal.
17. The apparatus of claim 14 further comprising means for producing a compensated position value in response to the current command value and the position signals, the compensated position value defining a position at which stator windings to be successively energized produce equal torque at the current magnitude defined by the current command value.
18. The apparatus of claim 14 further comprising means for producing a current command value correlated to a current magnitude value produced in response to a velocity control algorithm relating a desired velocity and measured velocity, the current magnitude value derived from the magnitude of difference between actual motor velocity and desired motor velocity.
19. The apparatus of claim 17 wherein the means for producing commutation pattern control signals are responsive to the compensated position value and the commutation pattern control signals effect commutation at the position represented by the compensated position value.
20. The apparatus of claim 17 wherein the means for modifying the current command is responsive to the compensated position value and the current command is effective to conform torque produced to desired torque at the position represented by the compensated position value.
US08/145,557 1993-11-04 1993-11-04 Method and apparatus for torque ripple compensation Expired - Lifetime US5444341A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/145,557 US5444341A (en) 1993-11-04 1993-11-04 Method and apparatus for torque ripple compensation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/145,557 US5444341A (en) 1993-11-04 1993-11-04 Method and apparatus for torque ripple compensation

Publications (1)

Publication Number Publication Date
US5444341A true US5444341A (en) 1995-08-22

Family

ID=22513639

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/145,557 Expired - Lifetime US5444341A (en) 1993-11-04 1993-11-04 Method and apparatus for torque ripple compensation

Country Status (1)

Country Link
US (1) US5444341A (en)

Cited By (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642044A (en) * 1994-09-19 1997-06-24 Ford Motor Company Method and apparatus for exciting a three-phase variable reluctance position sensor
US5646492A (en) * 1994-10-05 1997-07-08 Mitsubishi Denki Kabushiki Kaisha Electric motor controller having independent responses to instructions and external disturbances
US5691615A (en) * 1992-07-17 1997-11-25 Fanuc Ltd. Adaptive PI control method
US5796248A (en) * 1994-09-19 1998-08-18 Ford Motor Company Method and apparatus for commutating a three-phase variable reluctance motor
US5844391A (en) * 1996-03-26 1998-12-01 Sumitomo Heavy Industries, Ltd. Device for controlling the clamping force of a motor-driven injection molding machine
US5844388A (en) * 1996-03-29 1998-12-01 Sgs-Thomson Microelectronics S.R.L. Drive systems for a brushless motor employing predefined driving profiles stored in a nonvolatile memory
US6046554A (en) * 1998-02-13 2000-04-04 General Electric Company Method and apparatus for calibrating a permanent-magnet motor using back EMF measurement
WO2000025415A1 (en) * 1998-10-22 2000-05-04 Kone Corporation Method and apparatus for reducing torque vibrations in a synchronous machine
US6201331B1 (en) * 1998-03-25 2001-03-13 Nissan Motor Co., Ltd. Motor/generator
US6326750B1 (en) * 1999-06-17 2001-12-04 Emerson Electric Co. Active reduction of torque irregularities in rotating machines
WO2002021676A1 (en) * 2000-09-06 2002-03-14 Trw Inc. Apparatus and method for controlling an electric motor
US6373211B1 (en) 1999-09-17 2002-04-16 Delphi Technologies, Inc. Extended speed range operation of permanent magnet brushless machines using optimal phase angle control in the voltage mode operation
US6400116B1 (en) 1998-06-09 2002-06-04 Nsk Ltd. Motor drive control apparatus
US6411052B1 (en) 1999-09-17 2002-06-25 Delphi Technologies, Inc. Method and apparatus to compensate for resistance variations in electric motors
US6441578B1 (en) 1999-09-16 2002-08-27 Delphi Technologies, Inc. Method and apparatus for torque linearization in an electric power steering system
US6498451B1 (en) 2000-09-06 2002-12-24 Delphi Technologies, Inc. Torque ripple free electric power steering
US20030062868A1 (en) * 2001-10-01 2003-04-03 Mir Sayeed A. Switching methodology for ground referenced voltage controlled electric machine
WO2003029651A2 (en) 2001-10-01 2003-04-10 Magnemotion, Inc. Synchronous machine design and manufacturing
US20030071594A1 (en) * 2001-08-17 2003-04-17 Kleinau Julie A. Feedback parameter estimation for electric machines
US20030076064A1 (en) * 2001-08-17 2003-04-24 Kleinau Julie A. Feedforward parameter estimation for electric machines
US20030076061A1 (en) * 2001-08-17 2003-04-24 Kleinau Julie A. Combined feedforward and feedback parameter estimation for electric machines
US6566829B1 (en) 2000-09-07 2003-05-20 Delphi Technologies, Inc. Method and apparatus for torque control of a machine
US6647329B2 (en) 2000-04-07 2003-11-11 Delphi Technologies, Inc. Damping of voltage-controlled brushless motors for electric power steering systems
US6661191B2 (en) 2002-01-30 2003-12-09 Visteon Global Technologies, Inc. Method and apparatus for compensating drive current for an electric motor vehicle steering system
US20030227271A1 (en) * 2002-06-07 2003-12-11 Yoichi Shindo Brushless motor control method
US6674789B1 (en) 1999-09-17 2004-01-06 Delphi Technologies, Inc. Reduction of EMI through switching frequency dithering
US6694287B2 (en) 2001-08-30 2004-02-17 Delphi Technologies, Inc. Phase angle diagnostics for sinusoidal controlled electric machine
US20040095089A1 (en) * 2002-11-19 2004-05-20 Collier-Hallman Steven James Transient compensation voltage estimation for feedforward sinusoidal brushless motor control
US20040119358A1 (en) * 2001-10-01 2004-06-24 Thornton Richard D. Suspending, guiding and propelling vehicles using magnetic forces
US20040162655A1 (en) * 2001-06-08 2004-08-19 Patankar Ravindra P. Velocity compensation control for electric steering systems
US20050017661A1 (en) * 2003-07-24 2005-01-27 Ajit Kane Torque ripple and noise reduction by avoiding mechanical resonance for a brushless dc machine
EP1110301B1 (en) * 1998-09-04 2005-02-02 Kone Corporation Method for controlling a current-regulated motor
US7042227B2 (en) 1999-09-16 2006-05-09 Delphi Technologies, Inc. Current determination in a permanent magnet electric machine
US7071649B2 (en) 2001-08-17 2006-07-04 Delphi Technologies, Inc. Active temperature estimation for electric machines
US20070132446A1 (en) * 2001-12-11 2007-06-14 Kleinau Julie A Feedforward parameter estimation for electric machines
US7458454B2 (en) 2004-05-07 2008-12-02 Magnemotion, Inc. Three-dimensional motion using single-pathway based actuators
US7543679B2 (en) 2006-07-28 2009-06-09 Delphi Technologies, Inc. Compensation of periodic sensor errors in electric power steering systems
US7549504B2 (en) 2006-07-28 2009-06-23 Delphi Technologies, Inc. Quadrant dependent active damping for electric power steering
US7692395B2 (en) 2007-11-16 2010-04-06 The Bergquist Torrington Company Extrapolation of back EMF signals in brushless DC motors
US7725227B2 (en) 2006-12-15 2010-05-25 Gm Global Technology Operations, Inc. Method, system, and apparatus for providing enhanced steering pull compensation
US20100164417A1 (en) * 2008-12-26 2010-07-01 Canon Kabushiki Kaisha Apparatus motor control method
US7940020B2 (en) 2007-11-16 2011-05-10 The Bergquist Torrington Company Brushless DC motor with reduced current ripple
CN102104361A (en) * 2009-12-22 2011-06-22 发那科株式会社 Motor control apparatus having a function to calculate amount of cogging torque compensation
US20120315842A1 (en) * 2011-06-08 2012-12-13 Honeywell International Inc. Wireless telemetry auto tuning for torque measurement system
US8520355B2 (en) 2010-07-27 2013-08-27 Regal Beloit America, Inc. Methods and systems for transient voltage protection
US8692432B2 (en) 2010-12-07 2014-04-08 Regal Beloit America, Inc. Permanent magnet rotors and methods of assembling the same
US9013074B2 (en) 2010-05-25 2015-04-21 Regal Beloit America, Inc. Resilient rotor assembly for interior permanent magnet motor
US9041336B2 (en) 2012-11-19 2015-05-26 Persimmon Technologies, Corp. Robot having repeatable disturbance compensation algorithm
US9346371B2 (en) 2009-01-23 2016-05-24 Magnemotion, Inc. Transport system powered by short block linear synchronous motors
US9748882B1 (en) * 2016-03-28 2017-08-29 Amazon Technologies, Inc. Integrated motor driver/controller with sensorless or sensored commutation
US9771000B2 (en) 2009-01-23 2017-09-26 Magnemotion, Inc. Short block linear synchronous motors and switching mechanisms
US9802507B2 (en) 2013-09-21 2017-10-31 Magnemotion, Inc. Linear motor transport for packaging and other uses
CN114928301A (en) * 2022-06-28 2022-08-19 武汉至驱动力科技有限责任公司 Method for suppressing output characteristic fluctuation of limited-angle torque motor based on feedforward correction

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3919609A (en) * 1972-07-14 1975-11-11 Siemens Ag Method and circuit for reducing the torque ripple of a rotating-field machine
US4137489A (en) * 1977-07-21 1979-01-30 General Electric Company Feedback control for reduction of cogging torque in controlled current AC motor drives
US4525657A (en) * 1983-03-09 1985-06-25 Matsushita Electric Industrial Co., Ltd. Torque ripple compensation circuit for a brushless D.C. motor
US4659976A (en) * 1985-04-24 1987-04-21 Dresser Industries, Inc. Method and apparatus for maximizing utilization of an electric motor under load
US4726738A (en) * 1985-01-16 1988-02-23 Hitachi, Ltd. Motor-driven compressor provided with torque control device
US4782272A (en) * 1985-06-28 1988-11-01 Kollmorgen Technologies Corporation Electrical drive systems
US4868477A (en) * 1987-06-23 1989-09-19 The Superior Electric Company Method and apparatus for controlling torque and torque ripple in a variable reluctance motor
US4943760A (en) * 1984-10-19 1990-07-24 Kollmorgen Corporation Control systems for variable reluctance electrical machines
US4980617A (en) * 1988-02-24 1990-12-25 Hitachi, Ltd. Speed control apparatus of movable equipment
US5032773A (en) * 1989-08-07 1991-07-16 Siemens Aktiengsellschaft Drive system with a drive motor
US5187417A (en) * 1990-08-06 1993-02-16 Cincinnati Milacron Inc. Motor control apparatus and method
US5223775A (en) * 1991-10-28 1993-06-29 Eml Research, Inc. Apparatus and related method to compensate for torque ripple in a permanent magnet electric motor
US5263113A (en) * 1990-10-02 1993-11-16 Kabushiki Kaisha Toshiba Method and apparatus for controlling the speed of a motor

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3919609A (en) * 1972-07-14 1975-11-11 Siemens Ag Method and circuit for reducing the torque ripple of a rotating-field machine
US4137489A (en) * 1977-07-21 1979-01-30 General Electric Company Feedback control for reduction of cogging torque in controlled current AC motor drives
US4525657A (en) * 1983-03-09 1985-06-25 Matsushita Electric Industrial Co., Ltd. Torque ripple compensation circuit for a brushless D.C. motor
US4943760A (en) * 1984-10-19 1990-07-24 Kollmorgen Corporation Control systems for variable reluctance electrical machines
US4726738A (en) * 1985-01-16 1988-02-23 Hitachi, Ltd. Motor-driven compressor provided with torque control device
US4659976A (en) * 1985-04-24 1987-04-21 Dresser Industries, Inc. Method and apparatus for maximizing utilization of an electric motor under load
US4782272A (en) * 1985-06-28 1988-11-01 Kollmorgen Technologies Corporation Electrical drive systems
US4868477A (en) * 1987-06-23 1989-09-19 The Superior Electric Company Method and apparatus for controlling torque and torque ripple in a variable reluctance motor
US4980617A (en) * 1988-02-24 1990-12-25 Hitachi, Ltd. Speed control apparatus of movable equipment
US5032773A (en) * 1989-08-07 1991-07-16 Siemens Aktiengsellschaft Drive system with a drive motor
US5187417A (en) * 1990-08-06 1993-02-16 Cincinnati Milacron Inc. Motor control apparatus and method
US5263113A (en) * 1990-10-02 1993-11-16 Kabushiki Kaisha Toshiba Method and apparatus for controlling the speed of a motor
US5223775A (en) * 1991-10-28 1993-06-29 Eml Research, Inc. Apparatus and related method to compensate for torque ripple in a permanent magnet electric motor

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Franklin, Powell, and Workman, "Digital Control of Dynamic Systems", pp. 572∝581, 1990 Addison-Wesley publication.
Franklin, Powell, and Workman, Digital Control of Dynamic Systems , pp. 572 581, 1990 Addison Wesley publication. *

Cited By (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5691615A (en) * 1992-07-17 1997-11-25 Fanuc Ltd. Adaptive PI control method
US5642044A (en) * 1994-09-19 1997-06-24 Ford Motor Company Method and apparatus for exciting a three-phase variable reluctance position sensor
US5796248A (en) * 1994-09-19 1998-08-18 Ford Motor Company Method and apparatus for commutating a three-phase variable reluctance motor
US5646492A (en) * 1994-10-05 1997-07-08 Mitsubishi Denki Kabushiki Kaisha Electric motor controller having independent responses to instructions and external disturbances
US5844391A (en) * 1996-03-26 1998-12-01 Sumitomo Heavy Industries, Ltd. Device for controlling the clamping force of a motor-driven injection molding machine
US5844388A (en) * 1996-03-29 1998-12-01 Sgs-Thomson Microelectronics S.R.L. Drive systems for a brushless motor employing predefined driving profiles stored in a nonvolatile memory
US6046554A (en) * 1998-02-13 2000-04-04 General Electric Company Method and apparatus for calibrating a permanent-magnet motor using back EMF measurement
US6201331B1 (en) * 1998-03-25 2001-03-13 Nissan Motor Co., Ltd. Motor/generator
US6400116B1 (en) 1998-06-09 2002-06-04 Nsk Ltd. Motor drive control apparatus
EP1110301B1 (en) * 1998-09-04 2005-02-02 Kone Corporation Method for controlling a current-regulated motor
WO2000025415A1 (en) * 1998-10-22 2000-05-04 Kone Corporation Method and apparatus for reducing torque vibrations in a synchronous machine
US6326750B1 (en) * 1999-06-17 2001-12-04 Emerson Electric Co. Active reduction of torque irregularities in rotating machines
US6441578B1 (en) 1999-09-16 2002-08-27 Delphi Technologies, Inc. Method and apparatus for torque linearization in an electric power steering system
US7042227B2 (en) 1999-09-16 2006-05-09 Delphi Technologies, Inc. Current determination in a permanent magnet electric machine
US6465975B1 (en) 1999-09-17 2002-10-15 Delphi Technologies, Inc. Method and system for controlling torque in permanent magnet brushless electric motors
US6373211B1 (en) 1999-09-17 2002-04-16 Delphi Technologies, Inc. Extended speed range operation of permanent magnet brushless machines using optimal phase angle control in the voltage mode operation
US6411052B1 (en) 1999-09-17 2002-06-25 Delphi Technologies, Inc. Method and apparatus to compensate for resistance variations in electric motors
US6498449B1 (en) 1999-09-17 2002-12-24 Delphi Technologies, Inc. Low ripple torque control of a permanent magnet motor without using current sensors
US6674789B1 (en) 1999-09-17 2004-01-06 Delphi Technologies, Inc. Reduction of EMI through switching frequency dithering
US6647329B2 (en) 2000-04-07 2003-11-11 Delphi Technologies, Inc. Damping of voltage-controlled brushless motors for electric power steering systems
US6498451B1 (en) 2000-09-06 2002-12-24 Delphi Technologies, Inc. Torque ripple free electric power steering
US6424107B1 (en) * 2000-09-06 2002-07-23 Trw Inc. Apparatus and method for controlling an electric motor
WO2002021676A1 (en) * 2000-09-06 2002-03-14 Trw Inc. Apparatus and method for controlling an electric motor
US6566829B1 (en) 2000-09-07 2003-05-20 Delphi Technologies, Inc. Method and apparatus for torque control of a machine
US7188701B2 (en) 2001-06-08 2007-03-13 Delphi Technologies, Inc. Velocity compensation control for electric steering systems
US20040162655A1 (en) * 2001-06-08 2004-08-19 Patankar Ravindra P. Velocity compensation control for electric steering systems
US7199549B2 (en) 2001-08-17 2007-04-03 Delphi Technologies, Inc Feedback parameter estimation for electric machines
US7071649B2 (en) 2001-08-17 2006-07-04 Delphi Technologies, Inc. Active temperature estimation for electric machines
US20030076061A1 (en) * 2001-08-17 2003-04-24 Kleinau Julie A. Combined feedforward and feedback parameter estimation for electric machines
US20030076064A1 (en) * 2001-08-17 2003-04-24 Kleinau Julie A. Feedforward parameter estimation for electric machines
US6900607B2 (en) 2001-08-17 2005-05-31 Delphi Technologies, Inc. Combined feedforward and feedback parameter estimation for electric machines
US20030071594A1 (en) * 2001-08-17 2003-04-17 Kleinau Julie A. Feedback parameter estimation for electric machines
US6694287B2 (en) 2001-08-30 2004-02-17 Delphi Technologies, Inc. Phase angle diagnostics for sinusoidal controlled electric machine
US6917136B2 (en) 2001-10-01 2005-07-12 Magnemotion, Inc. Synchronous machine design and manufacturing
US6983701B2 (en) 2001-10-01 2006-01-10 Magnemotion, Inc. Suspending, guiding and propelling vehicles using magnetic forces
US20030062868A1 (en) * 2001-10-01 2003-04-03 Mir Sayeed A. Switching methodology for ground referenced voltage controlled electric machine
WO2003029651A2 (en) 2001-10-01 2003-04-10 Magnemotion, Inc. Synchronous machine design and manufacturing
US20040119358A1 (en) * 2001-10-01 2004-06-24 Thornton Richard D. Suspending, guiding and propelling vehicles using magnetic forces
US7538469B2 (en) 2001-10-01 2009-05-26 Magnemotion, Inc. Synchronous machine design and manufacturing
US20050242675A1 (en) * 2001-10-01 2005-11-03 Magnemotion, Inc. Synchronous machine design and manufacturing
US7448327B2 (en) 2001-10-01 2008-11-11 Magnemotion, Inc. Suspending, guiding and propelling vehicles using magnetic forces
US20060130699A1 (en) * 2001-10-01 2006-06-22 Magnemotion, Inc. Suspending, guiding and propelling vehicles using magnetic forces
US20070132446A1 (en) * 2001-12-11 2007-06-14 Kleinau Julie A Feedforward parameter estimation for electric machines
US7576506B2 (en) 2001-12-11 2009-08-18 Delphi Technologies, Inc. Feedforward parameter estimation for electric machines
US6661191B2 (en) 2002-01-30 2003-12-09 Visteon Global Technologies, Inc. Method and apparatus for compensating drive current for an electric motor vehicle steering system
US20030227271A1 (en) * 2002-06-07 2003-12-11 Yoichi Shindo Brushless motor control method
US6838848B2 (en) * 2002-06-07 2005-01-04 Mitsuba Corporation Brushless motor control method
US7157878B2 (en) 2002-11-19 2007-01-02 Delphi Technologies, Inc. Transient compensation voltage estimation for feedforward sinusoidal brushless motor control
US20040095089A1 (en) * 2002-11-19 2004-05-20 Collier-Hallman Steven James Transient compensation voltage estimation for feedforward sinusoidal brushless motor control
US6859001B2 (en) 2003-07-24 2005-02-22 General Electric Company Torque ripple and noise reduction by avoiding mechanical resonance for a brushless DC machine
US20050017661A1 (en) * 2003-07-24 2005-01-27 Ajit Kane Torque ripple and noise reduction by avoiding mechanical resonance for a brushless dc machine
US7926644B2 (en) 2004-05-07 2011-04-19 Magnemotion, Inc. Three-dimensional motion using single-pathway based actuators
US7458454B2 (en) 2004-05-07 2008-12-02 Magnemotion, Inc. Three-dimensional motion using single-pathway based actuators
US7543679B2 (en) 2006-07-28 2009-06-09 Delphi Technologies, Inc. Compensation of periodic sensor errors in electric power steering systems
US7549504B2 (en) 2006-07-28 2009-06-23 Delphi Technologies, Inc. Quadrant dependent active damping for electric power steering
US8903606B2 (en) 2006-12-15 2014-12-02 Steering Solutiions IP Holding Corporation Method, system, and apparatus for providing enhanced steering pull compensation
US7725227B2 (en) 2006-12-15 2010-05-25 Gm Global Technology Operations, Inc. Method, system, and apparatus for providing enhanced steering pull compensation
US7692395B2 (en) 2007-11-16 2010-04-06 The Bergquist Torrington Company Extrapolation of back EMF signals in brushless DC motors
US7940020B2 (en) 2007-11-16 2011-05-10 The Bergquist Torrington Company Brushless DC motor with reduced current ripple
US20100164417A1 (en) * 2008-12-26 2010-07-01 Canon Kabushiki Kaisha Apparatus motor control method
US8217604B2 (en) * 2008-12-26 2012-07-10 Canon Kabushiki Kaisha Apparatus motor control method
US10112777B2 (en) 2009-01-23 2018-10-30 Magnemotion, Inc. Transport system powered by short block linear synchronous motors
US9771000B2 (en) 2009-01-23 2017-09-26 Magnemotion, Inc. Short block linear synchronous motors and switching mechanisms
US9346371B2 (en) 2009-01-23 2016-05-24 Magnemotion, Inc. Transport system powered by short block linear synchronous motors
US8058827B2 (en) * 2009-12-22 2011-11-15 Fanuc Ltd Motor control apparatus having a function to calculate amount of cogging torque compensation
CN102104361A (en) * 2009-12-22 2011-06-22 发那科株式会社 Motor control apparatus having a function to calculate amount of cogging torque compensation
US20110147028A1 (en) * 2009-12-22 2011-06-23 Fanuc Ltd Motor control apparatus having a function to calculate amount of cogging torque compensation
US9472997B2 (en) 2010-05-25 2016-10-18 Regal Beloit America, Inc. Resilient rotor assembly for interior permanent magnet motor
US9013074B2 (en) 2010-05-25 2015-04-21 Regal Beloit America, Inc. Resilient rotor assembly for interior permanent magnet motor
US8520355B2 (en) 2010-07-27 2013-08-27 Regal Beloit America, Inc. Methods and systems for transient voltage protection
US8901795B2 (en) 2010-12-07 2014-12-02 Regal Beloit America, Inc. Permanent magnet rotors and methods of assembling the same
US8692432B2 (en) 2010-12-07 2014-04-08 Regal Beloit America, Inc. Permanent magnet rotors and methods of assembling the same
US20120315842A1 (en) * 2011-06-08 2012-12-13 Honeywell International Inc. Wireless telemetry auto tuning for torque measurement system
US8626063B2 (en) * 2011-06-08 2014-01-07 Vishal Malhan Wireless telemetry auto tuning for torque measurement system
US9041336B2 (en) 2012-11-19 2015-05-26 Persimmon Technologies, Corp. Robot having repeatable disturbance compensation algorithm
US9802507B2 (en) 2013-09-21 2017-10-31 Magnemotion, Inc. Linear motor transport for packaging and other uses
US9748882B1 (en) * 2016-03-28 2017-08-29 Amazon Technologies, Inc. Integrated motor driver/controller with sensorless or sensored commutation
CN114928301A (en) * 2022-06-28 2022-08-19 武汉至驱动力科技有限责任公司 Method for suppressing output characteristic fluctuation of limited-angle torque motor based on feedforward correction

Similar Documents

Publication Publication Date Title
US5444341A (en) Method and apparatus for torque ripple compensation
EP0748038B1 (en) System and method for controlling brushless permanent magnet motors
US6498449B1 (en) Low ripple torque control of a permanent magnet motor without using current sensors
US5187417A (en) Motor control apparatus and method
EP1061640B2 (en) A method and apparatus for energizing stator windings of a rotating electromagnetic machine
US5502360A (en) Stator resistance detector for use in electric motor controllers
KR100795382B1 (en) Sensorless control system and method for a permanent magnet rotating machine
US4763057A (en) Control for improving induction transient response by excitation angle control
US5144216A (en) High speed flux feedback for tuning a universal field oriented controller capable of operating in direct and indirect field orientation modes
US5589746A (en) Brushless motor speed control arrangement having derived common mode supply signal component
US4629958A (en) Synchronous motor control system
EP0104909B1 (en) Servomotor control method and apparatus therefor
US4808895A (en) Acceleration control apparatus
US4628240A (en) Synchronous motor control system
JPS5996891A (en) Control system for ac motor
JP2004274855A (en) Method and device for detection and adjustment of rotor position
EP0150472B1 (en) Control system for improving induction motor transient response by excitation angle control
JPS6331493A (en) Controller for synchronous motor
JP2674024B2 (en) Servo controller
JPH05268789A (en) Current controller for motor
EP0470556B1 (en) Motor control apparatus and method
JPH03222686A (en) Torque detecting method for synchronous motor
JPH01308184A (en) Controlling method for speed of moving body
JPS6260489A (en) Controller for brushless motor
JPH08182377A (en) Circuit for automatic phase correction of synchronous motor

Legal Events

Date Code Title Description
AS Assignment

Owner name: CINCINNATI MILACRON INC., OHIO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KNEIFEL, R. WILLIAM II;WALSH, STEPHEN T.;MORSER, A. HAROLD;AND OTHERS;REEL/FRAME:006783/0246;SIGNING DATES FROM 19930929 TO 19931029

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: VICKERS E.S.D., INC., OHIO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CINCINNATI MILACRON INC.;REEL/FRAME:008261/0360

Effective date: 19960822

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: SIEMENS ENERGY & AUTOMATION, INC., GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VICKERS, INCORPORATED;REEL/FRAME:010804/0592

Effective date: 20000403

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: SIEMENS INDUSTRY, INC.,GEORGIA

Free format text: MERGER;ASSIGNOR:SIEMENS ENERGY AND AUTOMATION AND SIEMENS BUILDING TECHNOLOGIES, INC.;REEL/FRAME:024411/0223

Effective date: 20090923

Owner name: SIEMENS INDUSTRY, INC., GEORGIA

Free format text: MERGER;ASSIGNOR:SIEMENS ENERGY AND AUTOMATION AND SIEMENS BUILDING TECHNOLOGIES, INC.;REEL/FRAME:024411/0223

Effective date: 20090923