Reduced part count feedforward motor control

A system for controlling a motor comprising: a voltage source; a motor in operable communication with an inverter, the motor responsive to a command signal from the inverter, the inverter is in operable communication with the voltage source and a controller. The inverter includes a plurality of switching devices configured to receive a command from a controller and generate a voltage command to the motor. The system also includes a voltage sensor for detecting a voltage of the voltage command to the motor at a selected instance; and a controller in operable communication with the inverter and the voltage sensor. The controller configured to provide a command to the inverter responsive to the voltage of the voltage command to the motor at a selected instance.

FIELD OF THE INVENTION

This invention relates generally to a motor controller. More specifically, to applications providing feedforward supply voltage for a sensorless or sensored motor controllers to maintain improved speed regulation.

BACKGROUND OF THE INVENTION

Speed regulation in motor controllers is often achieved by determining or measuring the speed of the motor and utilizing the speed in one ore more controller loops. For example, in some systems speed may be measured using a speed measuring sensor such as a tachometer. Speed sensors, or detectors of various types are well known in the art. In recent years the application of speed detection to motor control functions has stimulated demands on the sophistication of these sensors. In other systems, motor speed may be computed by evaluating the time rate of change of a position of the motor. In some systems motor speed may be estimated employing computational methodologies based on motor parameters and the like without employing a speed sensor.

One technique to estimate speed is known as sensorless commutation whereby a DSP (digital signal processor) or ASIC (application specific integrated circuit) integrates motor back-EMF of a non driven phase in a classic two-phase-on brushless DC (BLDC) system to derive an error signal. Unfortunately, such a system can only update (re-compute) a speed value during the neutral transition of each commutation state, at best. In PWM (pulse width modulated) systems, this signal is averaged over many commutation intervals which makes speed updates even less frequent.

Variation in motor speed is often undesirable and may be unacceptable is some systems. Speed regulation for a motor is achieved where speed is known or estimated with sufficient accuracy.FIG. 1depicts an existing motor control system with motor speed feedback and direct current DC bus voltage feedforward. With this configuration for a controller, a speed variation must be resolved and then fed back to the a controller for the appropriate control corrections. Such corrections take time and as a result a speed deviation is experienced. It will also be appreciated that in such a system, where a (DC) bus supply compensation is employed, a disturbance resulting in a deviation of the voltage supplied to the motor is detected and feed to the controller for compensation to avoid a speed variations. As a result the motor speed is maintained as the DC bus voltage varies. It should be noted that some systems use multiple sensors, e.g., a sensor every n degrees, to acquire more frequent updates. However, feedforward bus sensing requires additional sensors to measure the DC bus voltage as well as sensors inputs to a controller for processing. Reduction of sensors and sensor inputs is always advantageous to save cost and limited space of a given implementation Therefore, a system and methodology for controlling motor speed more directly responsive to DC bus voltage is needed without DC bus voltage sensing.

SUMMARY OF THE INVENTION

Disclosed herein in an exemplary embodiment is a system for controlling a motor comprising: a voltage source; a motor in operable communication with an inverter, the motor responsive to a command signal from the inverter, the inverter is in operable communication with the voltage source and a controller. The inverter includes a plurality of switching devices configured to receive a command from a controller and generate a voltage command to the motor. The system also includes a voltage sensor for detecting a voltage of the voltage command to the motor at a selected instance; and a controller in operable communication with the inverter and the voltage sensor. The controller configured to provide a command to the inverter responsive to the voltage of the voltage command to the motor at a selected instance.

Also disclosed herein in another exemplary embodiment is a method for controlling a motor comprising: receiving a voltage signal indicative of a voltage command to a motor at a selected instance; receiving a speed command indicative of a desired speed for the motor; and generating a voltage command to control a speed of the motor based on the voltage signal and the command. Generating a voltage command includes a feedforward voltage regulation function responsive to the voltage signal.

Further disclosed herein in yet another exemplary embodiment is a storage medium encoded with a machine-readable computer program code, the code including instructions for causing a computer to implement a method for controlling a motor, the method comprising: receiving a voltage signal indicative of a voltage command to a motor at a selected instance; receiving a speed command indicative of a desired speed for the motor; and generating a voltage command to control a speed of the motor based on the voltage signal and the command. Generating the voltage command includes a feedforward voltage regulation function responsive to the voltage signal.

The detailed description explains the preferred embodiments of our invention, together with advantages and features, by way of example with reference to the drawings.

DETAILED DESCRIPTION OF THE INVENTION

Disclosed herein in an exemplary embodiment is an apparatus and methodology that enables a motor controller to achieve significantly higher speed and power regulation performance than traditional motor drives. The exemplary embodiments disclosed herein solve the above-mentioned problem of sensing DC bus voltage by actively sampling the motor phase voltages at selected instances and using this data a vary drive motor control parameters. As should be appreciated, a motor speed regulation loop may readily compensate for some DC bus voltage fluctuations, however, such techniques can only compensate for a speed variation resultant from a change in bus voltage when the speed has already changed due to the fluctuation. The methodology disclosed herein operates in cooperation with speed and current regulation loops of a motor control system to provide rapid response to bus voltage fluctuations without the need to wait for speed and torque to be compromised.

Referring now toFIG. 2, a motor control system10with motor speed feedback and estimated bus voltage feedforward control is depicted in accordance with an exemplary embodiment. The system10includes, but is not limited to a motor12, driven by an inverter14from a power source, e.g. DC voltage bus16. In an exemplary embodiment a three-phase brushless DC motor is employed. However, it should be appreciated that the invention as disclosed herein is readily applicable to other motor controls systems utilizing a variety of voltage supplies whether AC or DC. In an exemplary embodiment the inverter14comprises 6 switching devices18. The switching devices18may be transistors, junction transistors, Field Effect transistors (FETs), Insulated Gate Bipolar Transistors (IGBTs), Silicon Controlled Rectifiers (SCR), and Triacs solid state relays and the like, as well as combinations including at least one of the foregoing. Once again, while a six switching device18inverter14is depicted, other control configurations are possible depending upon the configuration of the motor12employed.

The system10also includes a controller20. The controller20is employed to develop the correct voltage needed to produce the desired torque, position, and/or speed of the motor12. In order to perform the prescribed functions and desired processing, as well as the computations therefore (e.g., the feedforward control algorithm(s), and the like), the controller20may include, but not be limited to, a processor(s), computer(s), memory, storage, register(s), timing, interrupt(s), communication interface(s), and input/output signal interfaces, and the like, as well as combinations comprising at least one of the foregoing. For example, controller20may include signal input signal filtering to enable accurate sampling and conversion or acquisitions of such signals from communications interfaces. It should also be appreciated that while in an exemplary embodiment the inverter14and controller20are described as separate, in some embodiments, it may desirable to have them integrated as a single component. Additional features of controller20are thoroughly discussed at a later point herein.

An optional motor velocity sensor22is connected to the motor12to detect the angular velocity of the motor. The velocity sensor22may sense the velocity based on optical detection or magnetic field variations, and the like. The velocity sensor22outputs a velocity signal24indicating the angular velocity of the motor12. Alternatively, a position sensor may be employed to determine the position of the motor12. The optional motor position sensor26is connected to the motor12to detect the angular position of the motor12. The position sensor26may sense the position based on optical detection or magnetic field variations, and the like. The position sensor26outputs a position signal28indicating the angular position of the motor12.

The optional position signal26, may be applied to a velocity determining function50or process to determine the velocity of the motor12. The function50may, for example, include a counter that counts position signal pulses (for a position encoder) for a predetermined duration. The count value is proportional to the speed of the motor. For example, if a counter counts the position signal pulses in time intervals of 5 milliseconds and the encoder has a resolution of 2.5 degree, the speed measurement will have a resolution of about 41.7 rpm. The speed signal24may also be obtained as the derivative of the position signal26from the equation ωm=Δθm/Δt where Δt is the sampling time and Δθmis the change in position during a sampling interval. This process is a method of extracting a digital, derived velocity value based on a per sample period of change of the position signal26. The process computes the velocity signal by determining a delta position computed by subtracting the position signal delayed by one sample from the current position signal value. That is, subtracting the last sampled or measured position from the current position. The position difference is then divided by the difference in time between the two samples. An equation illustrating the computation is as follows:

In an exemplary embodiment of the above equation evaluates a changing measured position over a fixed interval of time to perform the computation. It will be appreciated by those skilled in the art, that the computation may be performed with several variations. An alternative embodiment, evaluates a changing measured time interval for a fixed position change to perform the computation. Further, in yet another embodiment, both the interval of time and interval position could be measured and compared with neither of the parameters occurring at a fixed interval. In another exemplary embodiment a filter further processes the calculated velocity value. Where the filtering characteristics are selected and determined such that the filter yields a response sufficiently representative of the true velocity of the motor12without adding excessive delay. One skilled in the art will appreciate and understand that there can be numerous combinations, configurations, and topologies of filters that can satisfy such requirements. A preferred embodiment may employ a four-state moving average filter.

Returning toFIG. 2, the phase voltages signals34for each motor phase are sensed with voltage sensors36and a transmitted to the controller20. In an exemplary embodiment the phase voltage sensors36each comprise two series resistors in series with the common point tied to a particular motor phase, one end grounded, and the other end tied to an input of controller20. The voltage signal therefrom forming phase voltage sense signals37referenced to a common reference indicative of the phase voltage signals34. It will be appreciated that while a particular configuration for the phase voltage sensors36is described, numerous other configurations are possible. The system10may also include a current sensor42for sensing the total motor current and transmitting a current signal44to the controller20. It will be appreciated that numerous other circuit configurations and apparatusses for sensing the bus voltage, current and the like are possible. For example, resistor networks, potentiometers, sensing components, optical detectors, magnetic feedback devices e.g., transformers and the like, as well as combinations including at least one of the foregoing.

Continuing withFIG. 2, the optional position signal28and/or optional speed signal24, bus voltage signal38, and command signal30are applied to the controller20. The command signal30is indicative of the desired motor torque, position, speed and the like. The controller20determines gate drive commands develop the desired torque, position speed using the signals30,26,28,38,44, and other fixed motor parameter values. Gate drive command signals32of the controller20are applied to the inverter14, which is coupled with the power source or bus16to apply phase voltages34to the stator windings of the motor12in response to the gate drive command signals32.

Turning now toFIG. 3, an illustration depicting an expanded view of a single switching interval for a pulse width modulation (PWM) control is depicted. In a digital implementation of a PWM to control the gate drives, an incrementing and decrementing counter operates as a triangle wave at a selected frequency. When the counter/triangle wave exceeds a selected threshold, the PWM output is set high for the duration off time that the triangle wave exceeds the selected threshold. The duration relative to the total period of the triangle wave corresponds to a PWM duty cycle. As motor control demands dictate, the threshold is increased or decreased so the the PWM duty cycle is manipulated.

In an exemplary embodiment, such a PWM signal as depicted is used to initiate an interrupt in the controller20. The controller20can inspect which phase PWM signal, e.g., the high side gate drive signal32is active (e.g., high) to turn on one of upper switching devices18i.e., Q1, Q3, and Q5. The motor phase voltage sense signal37corresponding to that particular phase is then captured. It will further be appreciated that at the instance the particular upper switching device18i.e., Q1, Q3, and Q5is active, the particular phase voltage signal34, and thereby the corresponding motor phase voltage sense signal37, is indicative to the voltage of the DC bus16. Therefore, this voltage may then be employed for bus voltage estimation as part of a feedforward motor control processes to facilitate bus voltage feedforward control and enhancing speed control. A feedforward control methodology employing a directly sensed bus voltage is described in commonly owned U.S. patent application Ser. No. 10/465,453, the contents of which are incorporated by reference herein in their entirety.

Advantageously, it will be further appreciated that because the motor control loop and PWM control occurs a high rate, e.g., on the order of 10 KHz, and that in the period of the PWM control, e.g., on the order of 100 microseconds for 10 KHz, with the intertia typically exhibited my a motor12, the speed of the motor12cannot change significantly. It will also be appreciated that accuracy of the estimation of the bus voltage16based on the captured phase voltages34may further be enhanced by accounting for the voltage drop across the upper switching devices18, i.e., Q1, Q3, and Q5. In an exemplary embodiment, compensation accounting for such a voltage is based on the modeled parameters for the switching devices18and the current through them.

FIG. 4depicts a simplifiied block diagram of a motor control algorithm100in accordance with an exemplary embodiment. The algorithm100receives as its input, a value indicative of the voltage of the power source16, based on the selected phase voltage sense signal37at a selected instance now denoted as102, a value indicative of a speed command denoted as104, e.g. command30, a value indicative of a measured motor current from current sensor42, denoted106, and a value indicative of a measured motor velocity denoted108, whether computed or from velocity sensor22. In an exemplary embodiment a value indicative of the measured motor velocity is computed from the motor voltage. It will be appreciated that the velocity and motor voltage are substantially proportional. In an exemplary embodiment, the algorithm is configured with a speed regulation function120, a voltage regulation function130, and a current regulation function140. The speed regulation function120comprises what would be termed an “outer” loop, the voltage regulation function130comprises what would be termed a feedforward path, while the current regulation function140would be termed an “inner” loop. When there are fluctuations in DC bus voltage and thereby the actual phase voltages34, this additional regulator takes over to maintain constant rotor power, thereby maintaining speed more accurately. Advantageously, an added feature of an exemplary embodiment is that ripple current is significantly reduced during normal minor fluctuations, in that the current increase now becomes more gradual, avoiding the sudden increases previously associated with a determination of a low speed for the motor12.

Continuing withFIG. 4, the speed regulation function120receives as an input the speed command value104and motor velocity value108. The speed command value104is compared with the motor velocity value108, the result is scaled, compensated and processed to formulate a first current command, denoted110. In an exemplary embodiment the power source16voltage value102is combined with the first current command110to form a desired current command denoted as112. In one embodiment the combination is a simple summation, however the signals could also include additional scaling, compensation, processing, and the like, as well as combinations thereof. Moreover, other methodologies of feedforward application of the bus voltage are possible. Turning now to the current regulation function140, in an exemplary embodiment, the current regulation function140receives as an input the desired current command112and the motor current value106. The desired current command112is compared with the motor current value106. The resultant of the comparison is scaled, compensated, and processed to formulate a voltage command114to the motor12. It will be appreciated in a pulse width modulated system as depicted, the pulse width is based on this voltage command. With other types of motors and motor control systems different implementations are possible. In any instance, however, the commands to the motor12would be directly based on such a voltage command114.

It should be noted that the exemplary embodiments as disclosed herein provide for a sensorless or sensored motor controller to maintain improved regulation over existing designs. This is desirable in all applications, and may actually be critical in some application such as medical instrumentation and disk storage systems. Moreover, the invention is readily applicable to other motor controls including sensorless brushless DC or permanent magnet AC systems.

It will be appreciated, that the controller functionality described herein is for illustrative purposes. The processing performed throughout the system may be distributed in a variety of manners. For example, distributing the processing performed in the controller20among the other controllers, and/or processes employed may eliminate a need for such a component or process as described. Each of the elements of the systems described herein may have additional functionality as described in more detail herein as well as include functionality and processing ancillary to the disclosed embodiments. As used herein, signal connections may physically take any form capable of transferring a signal, including, but not limited to, electrical, optical, or radio. Moreover, conventional torque, position, and/or velocity control of a motor may utilize a feedback control system to regulate or track to a desired torque, position, and/or velocity. The control law may be a proportional, integrative or derivative gain on the tracking error or may be a more sophisticated higher-order dynamic. In either case, the feedback measurement may be estimated or an actual position/velocity and in some cases, it's derivatives.

It will be appreciated that the use of first and second or other similar nomenclature for denoting similar items is not intended to specify or imply any particular order unless otherwise stated.