This invention relates to the control of a switched reluctance machine, and more particularly to a low cost commutation control method therefor.
Background of the Invention
Phase advance control of commutation in a switched reluctance machine is a well known expedient in the motor control art. In a particularly advantageous application of phase advance control, the commutation is advanced with increasing motor speed so that the build up of current in the phase windings tracks the peak inductance of the machine's magnetic circuit, thereby optimizing operating efficiency over a wide speed range. However, achieving precise control of the commutation phase angle using conventional control methods typically requires high resolution position encoders and/or substantial processing capability, both of which add significant cost to the system.
Summary of the Present Invention
The present invention is directed to an improved commutation control method that precisely controls commutation in a switched reluctance machine with a relatively low resolution position encoder and low cost micro-processor based controller. In spite of the limited resolution of the position encoder, the control method of this invention carries out the phase advance control with a resolution limited only by the resolution of the microprocessor clock. At the same time, the simplicity of the control method enables the use of an inexpensive controller having only modest processing capabilities. In a mechanization of the present invention, a single low-cost micro-processor based controller was used to control the speed and commutation of two four-phase switched reluctance machines with quadrature position encoders having a resolution of only 15 mechanical degrees.
In brief, the control method of this invention involves the formation of a motor position signal having logic level transitions, or edges, that define base commutation signals for commutating the motor phase windings in sequence with no phase advance. In the illustrated embodiment, this requirement is satisfied in a four-phase switched reluctance machine with a quadrature encoder having a resolution of 15 mechanical degrees. When no phase advance is desired, the controller turns the phase windings on and off in time with the respective base commutation signals. When phase advance is desired, the controller turns each of the windings on and off relative to the base commutation signal for the preceding phase winding. More specifically, the turn-on and turn-off points for phase advance control are timed to occur a delay time after the edges of the base commutation signal for the preceding phase. The delay time is determined by measuring the time between two successive edges of the motor position signal, and reducing such measure by a constant value corresponding to a selected linear profile of phase advance vs. motor speed. Key to the method is the recognition that this one simple subtraction can be used to produce a linear profile of phase advance vs. motor speed, and that the slope of the profile can be changed as desired simply by changing the constant value. For example, the constant value may be programmable to provide different phase advance profiles depending on the motor operating conditions.
Advantageously, the above-described control method is utilized in the context of a motor control strategy in which the motor is operated with no phase advance at low speeds, at a fixed maximum phase advance at very high speeds, and at a speed dependent variable phase advance at intermediate motor speeds. Additionally, the control method enables the use of a very simple default control to ensure that the various phase windings are energized with no phase advance if the normal phase advance control fails to properly energize the windings.
Brief Description of the Drawings
FIG. 1 is a block diagram of a micro-processor based control system for one four-phase switched reluctance machine.
FIGS. 2A, 2B, 2C, 2D, 2E, 2F and 2G comprise a multi-graph timing diagram for the control system and machine of FIG. 1.
FIG. 3 is a graph depicting an exemplary profile of commutation phase advance vs. motor speed for the control system of FIG. 1.
FIGS. 4A, 4B and 4C comprise an expanded timing diagram illustrating the phase advance commutation control method of this invention.
FIGS. 5 and 6 are flow diagrams depicting the operation of the microprocessor based controller of FIG. 1 in carrying out the control method of this invention.
Detailed Description of the Drawings
Referring to the drawings, and particularly to FIG. 1, the reference numerals 10 and 12 respectively designate a four-phase switched reluctance machine, and a micro-processor based controller for controlling the operation of the machine. The controller 12 includes a micro-processor 14, decode logic circuitry 16, and a motor driver circuit 18. The phase windings A-D are inter-connected as shown so that both terminals of each winding are coupled to the driver circuit 18.
The micro-processor 14 receives a velocity command input Vcmd on line 20, and a pair of motor position signals (A, B) on lines 22 and 24. The position signals are generated by a motor position encoder 26 responsive to the rotation of the motor output shaft, not shown. In the illustrated embodiment, the encoder 26 is a quadrature encoder, and has a resolution of 15 mechanical degrees, meaning that the A and B signals are 90 degrees out of phase, and collectively, have logic level transitions which occur every 15 mechanical degrees of motor rotation. Representative signal traces of the signals A and B are depicted in Graphs B and C of FIG. 2, described below.
The micro-processor 14 has two principle functions: regulating the motor speed at the commanded value Vcmd, and scheduling the commutation control signals for the motor phase windings A-D. The motor speed is regulated through the use of a conventional current control loop, in which the micro-processor 14 generates a current command Iref for motor driver circuit 18 based on a determined speed error. The driver circuit 18; in turn, compares the current command Iref with a measure of the actual winding current, and modulates or chops the voltage applied to the respective windings at a duty cycle based on a determined current error. The scheduling of commutation is carried out, as explained in detail below, by generating a pair of commutation control signal PHA and PHB which are based on the motor position signals A and B, but variably phase shifted depending on the motor speed. The signals PHA and PHB are applied to the decode logic circuit 16, which develops individual commutation control signals for each of the phase windings, such signals being applied to the motor driver circuit 18. Thus, the motor driver circuit 18 is operative to enable and disable the energization of each of the phase windings based on the commutation signals PHA-PHD, and to modulate the application of voltage to the windings within the respective energization periods to regulate the winding current at the reference value Iref.
FIGS. 2A-G depict a series of graphs on a common time base, assuming a constant motor speed. Alternatively, the horizontal axes of the various graphs can be viewed as representing motor position. FIG. 2A depicts the magnetic coupling for each phase of the motor 10, whereas FIGS. 2B and 2C respectively depict the motor position signals A and B developed by quadrature encoder 26. It will be seen that the A and B signals are 90 degrees out of phase, and collectively, have logic level transitions (zero-to-one or one-to-zero) which occur every 15 mechanical degrees of motor rotation.
When no phase advance is desired (typically at very low motor speeds), the commutation intervals for the A and C phase windings are respectively given by the high and low periods of the quadrature A signal (FIG. 2B); and the commutation intervals for the B and D phase windings are respectively given by the high and low periods of the quadrature B signal (FIG. 2C). In each case, the logic level transitions, or signal edges, are in registry with the positive slope of the magnetic coupling for a respective phase of the machine 10. Thus, under conditions where it is desired to operate the machine 10 with no phase advance, the windings A-D can be commutated in registry with the edges of the quadrature signals A and B. In this case, the PHA and PHB signals developed by the controller 10 respectively coincide with the quadrature signals A and B, as seen in the solid traces of FIGS. 2D and 2E, and the decode logic 16 inverts the PHA and PHB signals to form the PHC and PHD signals, as seen in the solid traces of FIGS. 2F and 2G. For example, the phase winding A is turned on at time t1 and turned off at time t2, the edges of PHA at times t1 and t2 being in registry with the positive slope of the magnetic coupling for phase A.
When maximum phase advance is desired (typically at very high motor speeds), the commutation intervals for the A and C phase windings are respectively given by the high and low periods of the quadrature B signal (FIG. 2C); and the commutation intervals for the B and D phase windings are respectively given by the high and low periods of the quadrature A signal (FIG. 2B). In other words, each winding is commutated in accordance with the commutation signal for the preceding phase. For example, winding A is commutated in accordance with the PHD signal, winding B is commutated in accordance with the PHA signal, and so on. The fully advanced commutation intervals for the windings A-D are shown by the broken traces in FIGS. 2D-2G, respectively. This results in a phase advance of 15 degrees.
When it is desired to advance the phase winding energization less than 15 degrees (typically at intermediate motor speeds), the commutation intervals are controlled to occur intermediate the broken and solid traces depicted in FIGS. 2D-G. In this case, the turn-on and turn-off points are determined relative to the turn-on and turn-off points of the base commutation signal for the preceding phase, delayed by a computed interval t.sub.delay, as explained more fully below in reference to FIGS. 4A-4C.
The above-described control strategy is graphically depicted in FIG. 3, where the scheduled phase advance is given as a function of motor speed. Below a first defined motor speed, designated RPM1, the motor 10 is operated in a Low Speed Mode with no phase advance. Above a second defined motor speed, designated RPM2, the motor 10 is operated in a High Speed Mode with maximum phase advance of 15 degrees. At motor speeds intermediate RPM1 and RPM2, the motor 10 is operated in a Phase Advance Control Mode in which the phase advance is varied in linear relationship with motor speed between 0 and 15 degrees, as shown by the solid trace 30. In certain cases, such as in braking, it may be desired to adopt a different phase advance profile, such as shown by the broken trace 32; in this case, the maximum phase advance is reached at a motor speed of RPM2'.
According to this invention, the turn-on and turn-off points for the Phase Advance Control Mode are determined by computing a delay time from the commutation signal for the preceding phase. This approach is depicted in more detail in FIGS. 4A and 4B, which depict the commutation signals PHA and PHB, respectively, and FIG. 4C, which depicts a variably phase-advanced commutation signal (PHB') for phase B. As indicated above, phase B is commutated in accordance with commutation signal PHB for no phase advance, and in accordance with commutation signal PHA for maximum (15 degrees) phase advance. The variably advanced phase B commutation signal PHB' of FIG. 4C has the same period as the base commutation signal PHB of FIG. 4B, and is phase-advanced by a variable amount less than 15 degrees. As indicated above in respect to FIGS. 2A-G, the turn-on and turn-off of the variable phase-advance commutation signal PHB' are determined relative to the turn-on and turn-off points of the base commutation signal for the preceding phase (PHA), delayed by a computed delay interval t.sub.delay. Thus, the turn-on and turn-off points for PHB' are defined as t.sub.onA +t.sub.delay and t.sub.offA +t.sub.delay, where t.sub.onA and t.sub.offA are the turn-on and turn-off points of base commutation signal PHA. In each case, the delay time t.sub.delay is determined by measuring the time interval between successive edges of the quadrature signal, such as the intervals designated t.sub.pd in FIGS. 4A-4C, and subtracting a constant, but programmable, value K. In other words, the delay interval t.sub.delay is given by t.sub.pd -K. If K is maintained fixed, and the motor speed varies, the amount of phase advance will vary in linear relation to the motor speed, producing a phase advance vs. motor speed profile substantially as depicted in the Phase Advance Control Mode portion of FIG. 3.
As an example of the control method, suppose that the phase advance control profile of FIG. 3 is designed with RPM1=400 RPM and RPM2=6400, and a maximum phase advance of 15 degrees as shown. The constant K is set equal to the time required for the motor to rotate through 15 degrees (i.e., the time between successive edges of the motor position signal) when running at a speed of RPM2. As a practical matter, RPM1 is so small relative to RPM2 in most applications that the effect of RPM1 can be neglected. The delay time t.sub.delay, in turn, is computed according to the measured time between successive edges of the motor position signal, less the constant K. At a speed of RPM2, the measured time will be equal to the constant, resulting in a delay time t.sub.delay of zero, and each phase winding will be energized in time with the base commutation signal for the preceding phase, resulting in a phase advance of 15 degrees. As the motor speed decreases, the measured time between successive edges of the position signal will increase, resulting in a delay time t.sub.delay of linearly increasing value, thus linearly decreasing the phase advance with decreasing motor speed. At a motor speed of 3200 RPM, for example,--the mid-point speed of the Phase Advance Control Mode--the measured time will be twice as large as at the speed of RPM2, neglecting the effect of RPM1, and therefore twice the value of the constant K. In this case, the delay time t.sub.delay is one-half of the measured time, resulting in commutation of the phase windings with a phase advance of 7.5 degrees. In a micro-processor based controller, of course, time intervals are determined by counting the pulses of a fixed frequency clock within the micro-processor. Accordingly, it is more accurate to speak in terms of the number of clock pulses counted between two events, as opposed to the corresponding time interval. Thus, the constant K, for example, is determined based on the clock frequency, and represents a certain number of counts. In any event, it will be seen that the simple expedient of subtracting a constant time K from the measured interval t.sub.pd results in a linear control of the commutation phase advance.
FIGS. 5-6 depict flow diagrams representative of computer program instructions for carrying out the control method of this invention with the micro-processor based controller 12 of FIG. 1. The flow diagram of FIG. 5 represents a main or background loop, while the flow diagram of FIG. 6 represents an interrupt service routine (ISR) executed at each motor position signal transition.
Referring to FIG. 5, the block 40 designates a series of initialization instructions for setting various terms and parameters to initial values, and for properly configuring the microprocessor input and output ports. At a periodic rate determined by the decision block 42, the blocks 44-50 are executed to read the motor velocity command Vcmd, to determine a reference current Iref for motor 10, to determine the appropriate control mode, and to perform diagnostic routines for failure detection. As indicated above, the reference current Iref may be based on the error, or difference, between the velocity command Vcmd and the actual velocity, which in turn, may be determined by measuring the time between successive pulses of the motor position signal. The commutation control mode is determined, as explained in reference to FIG. 3, in accordance with the measured motor speed, relative to the selected speed parameters RPM1 and RPM2.
As indicated above, the ISR flow diagram of FIG. 6 is executed at each logic level transition of the motor position signals on lines 22 and 24. To this end, each of the lines 22 and 24 is connected to an interrupt port of the micro-processor 14. In responding to each interrupt, the micro-processor 14 first determines which sensor edge produced the interrupt and measures the time t.sub.pd since the last interrupt, as indicated by the block 52. For example, a rising edge on the quadrature-A signal (line 22) is detected as the leading edge of the PHA commutation signal, and a rising edge on the quadrature-B signal (line 24) is detected as the leading edge of the PHB commutation signal. Block 54 serves to issue a turn-on command to any phase that should be on, based on the determined sensor edge. For example, if it is determined at block 52 that the leading edge of the quadrature-A signal caused the interrupt, block 54 causes the micro-processor 14 to command a turn-on of phases A and D, even though such phases may already be conducting; this provides a default commutation control to ensure that the windings A-D are commutated, albeit with no phase advance, in the event that the phase advance control fails to turn-on or enable the appropriate phase.
Blocks 56-64 determine the commutation control mode based on the speed of the motor 10, and schedule the turn-on or turn-off points for the respective phase windings. If the motor speed is less than or equal to RPM1, the Low Speed Mode is in effect, and the block 58 is executed to commutate the respective phase windings in accordance with their base commutation signals for no phase advance. For example, if the ISR is servicing an interrupt caused by a leading (rising) edge of the quadrature-A signal, block 58 causes micro-processor 14 to command turn-on of phase A, and a turn-off of phase C. This coincides with the solid traces in FIGS. 2D-2G. If the motor speed is greater than or equal to RPM2, the block 60 is executed to commutate the next phase winding of the energization sequence to provide maximum (15 degrees) phase advance. For example, if the ISR is servicing an interrupt caused by a leading (rising) edge of the quadrature-A signal, block 60 causes micro-processor 14 to command turn-on of phase B, and a turn-off of phase D. This coincides with the broken traces in FIGS. 2D-2G. If the motor speed is between RPM1 and RPM2, the Phase Advance Control Mode is in effect, and the blocks 62 and 64 are executed to schedule the commutation of the next phase winding of the energization sequence. This involves calculating or retrieving from memory a constant value K, calculating a delay time t.sub.delay according to the difference (t.sub.pd -K), and configuring the appropriate micro-processor output port (PHA or PHB) to change logic level after a time corresponding to t.sub.delay. For example, if the ISR is servicing an interrupt caused by a leading (rising) edge of the quadrature-A signal, blocks 62-64 cause micro-processor 14 to schedule a zero-to-one transition of PHB commutation signal after the delay time t.sub.delay has elapsed. This sets up the variable phase delay for phases B and D as discussed above. Regardless of mode, the block 68 is then executed to update the motor position for the background loop of FIG. 1, completing the ISR.
In summary, this invention provides a simple but precise commutation control method which can be efficiently carried out by a low-cost micro-processor based controller. While this invention has been described in reference to the illustrated embodiment, it is expected that various modifications in addition to those suggested above will occur to those skilled in the art. For example, the control method may be equally applied to motors having a different number of phase windings or different hardware and driver circuitry. In this regard, it will be understood that the scope of this invention is not limited to the illustrated embodiment, and that control methods incorporating these and other modifications may fall within the scope of this invention, which is defined by the appended claims.