Abstract:
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.

Description:
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. 1  depicts 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. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and other objects and advantages of the present invention may be best understood by reading the accompanying detailed description of the exemplary embodiments while referring to the accompanying figures wherein like elements are numbered alike in the several figures in which: 
         FIG. 1  depicts motor control system with motor speed feedback and bus voltage feedforward control; 
         FIG. 2  depicts motor control system with motor speed feedback and estimated bus voltage feedforward control in accordance with an exemplary embodiment; 
         FIG. 3  depicts an expanded view of a single switching interval for a pulse width modulation (PWM) control; and 
         FIG. 4  depicts simplified block diagram of a control algorithm including a feedforward control configuration in accordance with an exemplary embodiment. 
     
    
    
     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 to  FIG. 2 , a motor control system  10  with motor speed feedback and estimated bus voltage feedforward control is depicted in accordance with an exemplary embodiment. The system  10  includes, but is not limited to a motor  12 , driven by an inverter  14  from a power source, e.g. DC voltage bus  16 . 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 inverter  14  comprises 6 switching devices  18 . The switching devices  18  may 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 device  18  inverter  14  is depicted, other control configurations are possible depending upon the configuration of the motor  12  employed. 
     The system  10  also includes a controller  20 . The controller  20  is employed to develop the correct voltage needed to produce the desired torque, position, and/or speed of the motor  12 . 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 controller  20  may 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, controller  20  may 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 inverter  14  and controller  20  are described as separate, in some embodiments, it may desirable to have them integrated as a single component. Additional features of controller  20  are thoroughly discussed at a later point herein. 
     An optional motor velocity sensor  22  is connected to the motor  12  to detect the angular velocity of the motor. The velocity sensor  22  may sense the velocity based on optical detection or magnetic field variations, and the like. The velocity sensor  22  outputs a velocity signal  24  indicating the angular velocity of the motor  12 . Alternatively, a position sensor may be employed to determine the position of the motor  12 . The optional motor position sensor  26  is connected to the motor  12  to detect the angular position of the motor  12 . The position sensor  26  may sense the position based on optical detection or magnetic field variations, and the like. The position sensor  26  outputs a position signal  28  indicating the angular position of the motor  12 . 
     The optional position signal  26 , may be applied to a velocity determining function  50  or process to determine the velocity of the motor  12 . The function  50  may, 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 signal  24  may also be obtained as the derivative of the position signal  26  from the equation ω m =Δθ m /Δt where Δt is the sampling time and Δθ m  is 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 signal  26 . 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: 
     
       
         
           
             Delta 
             = 
             
               
                 
                   P 
                   0 
                 
                 - 
                 
                   P 
                   
                     - 
                     1 
                   
                 
               
               
                 
                   T 
                   0 
                 
                 - 
                 
                   T 
                   
                     - 
                     1 
                   
                 
               
             
           
         
       
     
     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 motor  12  without 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 to  FIG. 2 , the phase voltages signals  34  for each motor phase are sensed with voltage sensors  36  and a transmitted to the controller  20 . In an exemplary embodiment the phase voltage sensors  36  each 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 controller  20 . The voltage signal therefrom forming phase voltage sense signals  37  referenced to a common reference indicative of the phase voltage signals  34 . It will be appreciated that while a particular configuration for the phase voltage sensors  36  is described, numerous other configurations are possible. The system  10  may also include a current sensor  42  for sensing the total motor current and transmitting a current signal  44  to the controller  20 . 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 with  FIG. 2 , the optional position signal  28  and/or optional speed signal  24 , bus voltage signal  38 , and command signal  30  are applied to the controller  20 . The command signal  30  is indicative of the desired motor torque, position, speed and the like. The controller  20  determines gate drive commands develop the desired torque, position speed using the signals  30 ,  26 ,  28 ,  38 ,  44 , and other fixed motor parameter values. Gate drive command signals  32  of the controller  20  are applied to the inverter  14 , which is coupled with the power source or bus  16  to apply phase voltages  34  to the stator windings of the motor  12  in response to the gate drive command signals  32 . 
     Turning now to  FIG. 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 controller  20 . The controller  20  can inspect which phase PWM signal, e.g., the high side gate drive signal  32  is active (e.g., high) to turn on one of upper switching devices  18  i.e., Q 1 , Q 3 , and Q 5 . The motor phase voltage sense signal  37  corresponding to that particular phase is then captured. It will further be appreciated that at the instance the particular upper switching device  18  i.e., Q 1 , Q 3 , and Q 5  is active, the particular phase voltage signal  34 , and thereby the corresponding motor phase voltage sense signal  37 , is indicative to the voltage of the DC bus  16 . 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 motor  12 , the speed of the motor  12  cannot change significantly. It will also be appreciated that accuracy of the estimation of the bus voltage  16  based on the captured phase voltages  34  may further be enhanced by accounting for the voltage drop across the upper switching devices  18 , i.e., Q 1 , Q 3 , and Q 5 . In an exemplary embodiment, compensation accounting for such a voltage is based on the modeled parameters for the switching devices  18  and the current through them. 
       FIG. 4  depicts a simplifiied block diagram of a motor control algorithm  100  in accordance with an exemplary embodiment. The algorithm  100  receives as its input, a value indicative of the voltage of the power source  16 , based on the selected phase voltage sense signal  37  at a selected instance now denoted as  102 , a value indicative of a speed command denoted as  104 , e.g. command  30 , a value indicative of a measured motor current from current sensor  42 , denoted  106 , and a value indicative of a measured motor velocity denoted  108 , whether computed or from velocity sensor  22 . 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 function  120 , a voltage regulation function  130 , and a current regulation function  140 . The speed regulation function  120  comprises what would be termed an “outer” loop, the voltage regulation function  130  comprises what would be termed a feedforward path, while the current regulation function  140  would be termed an “inner” loop. When there are fluctuations in DC bus voltage and thereby the actual phase voltages  34 , 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 motor  12 . 
     Continuing with  FIG. 4 , the speed regulation function  120  receives as an input the speed command value  104  and motor velocity value  108 . The speed command value  104  is compared with the motor velocity value  108 , the result is scaled, compensated and processed to formulate a first current command, denoted  110 . In an exemplary embodiment the power source  16  voltage value  102  is combined with the first current command  110  to form a desired current command denoted as  112 . 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 function  140 , in an exemplary embodiment, the current regulation function  140  receives as an input the desired current command  112  and the motor current value  106 . The desired current command  112  is compared with the motor current value  106 . The resultant of the comparison is scaled, compensated, and processed to formulate a voltage command  114  to the motor  12 . 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 motor  12  would be directly based on such a voltage command  114 . 
     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 controller  20  among 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&#39;s derivatives. 
     The system and methodology described in the numerous embodiments hereinbefore provides a robust means to control a motor with feedforward bus supply voltage. In addition, the disclosed invention may be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. The present invention can also be embodied in the form of computer program code containing instructions embodied in tangible media  40 , such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or as data signal  42  transmitted whether a modulated carrier wave or not, over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits. 
     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. 
     While the invention has been described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims.