Electric machine control system with rotor position encoder

Abstract: A rotor position encoder for an electric motor comprises a disc member (18) mounted to rotate with the rotor shaft. The encoder has a set of radially extending features formed with angularly evenly spaced leading edges and unevenly spaced trailing edges. The leading edges induce a signal in a sensor (16) that corresponds to the relative timing of power switches for each motor phase. The trailing edges define a cyclical code by which motor controlling circuitry is able to determine the phase of rotation of the rotor and thus establish the correct power switch actuation sequence. An electric motor control system and methods of starting electric motors are also disclosed.

Description: This invention relates to a control system and method for electric machines, using an encoder from which the position of the rotor relative to the stator is derivable. The invention is particularly, though not exclusively, applicable to switched reluctance (SR) machines. The switched reluctance drive is a variable-speed drive system comprising a switched reluctance motor supplied from a power-electronic converter under the control of low-power control electronics. The motor has salient poles on both the stator and the rotor, typically with an excitation coil around each stator pole. These stator coils are grouped to form one or more phase windings. The electrical currents in the windings are typically switched on and off by power-electronic switches. The timing of the switching of the currents in the windings is controlled in relation to the relative angular position of the stator and rotor poles. This relative position may be detected by a rotor position transducer which consists of a rotating member and stationary sensors which supply signals to the control electronics. In single and two-phase systems only a single sensor is required, but motors with more than two phases generally use more than one sensor according to the prior art. Figure 1 shows a schematic diagram of a typical 3-phase SR motor, which has six stator poles and four rotor poles. The poles carrying coils A and A' have opposite magnetic polarisation. Phases B and C are formed similarly. A rotor position transducer (RPT) is used to ensure that the currents of the phase windings are switched on and off at the appropriate angles of rotation. Figure 2a illustrates a typical system consisting of a rotating slotted disc and three optical sensors which are switched by the rotation of the disc. Figure 2b shows the idealised variation of the inductances of the phase windings as functions of angle of rotation . Positive torque is defined as that which acts in the direction to move the rotor in the direction of positively increasing . Such torque is produced by any phase when the winding of that phase carries current and the angle of rotation is such that the inductance is increasing with increasing . Negative torque is produced when a phase carries current during that part of its inductance cycle where the inductance is decreasing with increasing  (or increasing with decreasing ). It will be apparent therefore that for normal positive torque operation in the direction of increasing  (the forward direction) each phase is energised in turn when its inductance is increasing. Figure 2b also shows the three output signals of the sensors according to prior art. In general the RPT consists of three sensors, which may for example, be optical, magnetic or inductive, which cooperate with a rotating member, for example a disc with cut out slits, to produce signals such as those shown in Figure 2b as RPT A , RPT B and RPT C . Thus the signal RPT A changes from zero to a positive value at the centre of the minimum inductance region of phase A and returns to zero at the maximum inductance position of phase A. The signals RPT B and RPT C behave in the same manner for phases B and C respectively. It will be clear that whether the rotor is starting from rest in either the forward or backward direction or running in either direction, the RPT signals enable the control electronics to excite the appropriate phase winding over the appropriate angle of rotation to produce torque in the desired direction. The torque developed by the motor may be controlled at low speeds by adjusting the magnitude of the current in the phase windings over the fixed angle defined by the respective positive or negative RPT signals depending on the desired direction of torque. At high speed the torque is normally controlled by adjusting the angle over which a phase winding is switched onto the power supply and the angle with respect to the inductance cycle at which the switching on takes place, i.e. by timing the switching on and off of the phase energisation with reference to the RPT signals. It will be clear from Figure 2b that the combined RPT signals can be used to determine the rotor position to one sixth of a phase period thus giving a 15 degree resolution. For more refined control of switching angles, each of these six regions can be interpolated, for example, by using a high frequency pulse train which is phase locked to the low frequency RPT signals as described in GB 1597790 (Stephenson). US 4990843 (Moren) describes a method by which the three detectors of Figure 2a may be replaced by a single detector. The rotating disc incorporates six or twelve slots, giving a sensor signal which has respectively a rising or falling edge every 30 degrees of rotation, or a falling edge every 30 degrees of rotation, which may be used to switch the phase winding currents of the motor. However, the method suffers from the serious disadvantage that correct tracking of the relationship between edges and phases may be lost due to electrical noise, for example, in the sensor signal. EP-A-0378351 discloses a relative position transducer for determining the angular position of a first member relative to a second member. A read head oscillates and is thereby able to read sequences of encoded data on a track mounted to rotate with the first member. This allows the read head to provide a decodable signal when the first member is stationary. The prior art provides a control system for an electrical machine having a rotor defining rotor poles arranged to rotate relative to a stator, the system comprising a controller including signal storage means, switch means for the or each phase of the machine, which switch means are actuatable by the controller according to the position of the rotor relative to the stator, an encoder having a set of features arranged to rotate with the rotor, and a single sensor arranged in a position which is fixed relative to the stator to be influenced by the features as they rotate with the rotor to produce an output, the features defining the output of the sensor in the form of a digital code which is supplied to the storage means, the code being decodable by the controller to indicate the positions of the rotor poles relative to the stator. It is one object of the present invention to provide improved means by which a simplified detector arrangement can be used for motors with one, two or more phases with consequent benefits of simplification of the system and economy in cost. The present invention is characterised in that the features have sensor output influencing first parts which are in evenly spaced angular positions, and sensor output influencing second parts which are in unevenly spaced angular positions, the said angular positions of the second parts relative to the first parts being decodable by the controller as a sequence such that the position of the rotor relative to the stator is determinable from the sequence. By 'phase inductance cycle' is meant the inductance of the machine as seen from the terminals of the or each phase winding. The phase inductance is a function of rotor position and varies cyclically within the rotor cycle between given inductance values, for example inductance maxima or minima. The period of the sequence may coincide with the period of the phase inductance cycle. However, the period of the sequence could equally well be a sub-multiple of the period of the phase inductance cycle or it could be periodic with one revolution of the rotor. In any of these cases, the state of the sequence is decodable to determine the rotor position within the phase inductance cycle. The evenly spaced first parts may coincide with the power switching actuation positions, or otherwise indicate the positions of the rotor poles as they rotate, from which indications of switching timing can be derived, and the second parts create the code by their respective positions relative to adjacent first parts. The code can be used to check the rotor position as well as to determine it. For example, if an electrical noise spike corrupted the sensor output the counting from the first parts of the code would be in error. The reestablishment of a correct code can then be used to establish the position of the rotor relative to the stator and to correct positional information counted from the passing first parts. Preferably, the first and second parts of the features of the encoder are associated, such that the second parts are interjacent the first parts. However, this is not essential. Using two sensors the encoder may have a first encoder portion bearing the first parts and a separate portion bearing the second parts which define the sequence independently of the positions of the first parts. The encoder is conveniently a discate member mountable on a rotor shaft. The features may influence the sensor magnetically, by means of the Hall effect, through light transmissive/non-transmissive parts or light reflective/absorbing parts, by capacitive or inductive effects or by other known means. One advantage of the invention is that only one detector is required to determine reliably the position of the rotor relative to the stator. When the second parts are positioned relative to the first parts only one sensor is required to determine both the switching timing for the electric machine switching means and the position of the rotor relative to the stator. From one sensor it is also possible to tell when an error is induced in the rotor position sensor output and to reestablish the correct positional information thereafter from the subsequent output from the sensor. The sensor may be arranged to provide a signal transition, e.g. a rising or falling edge, to denote the passage of the first or second part of the feature. Preferably, transitions in one sense indicate the first parts and the interjacent transitions in the opposite sense indicate the second parts. Alternatively, successive transitions in the same sense could be used to indicate the passage of first and second parts of the features alternately. The control means may also include clock means for determining the interval between transitions, and decoding means arranged to decode the intervals between transitions in the sequence. For example, the decoding means may be operable to distinguish between binary states on the basis of the interval between transitions, the interval being determined relative to the rate of rotation of the rotor. Preferably, the means include shift register means for receiving the sequence serially as the rotor rotates. The shift register is readable by the control means to determine the state of the sequence. The invention also extends to a method of controlling an electric machine which includes an encoder defining a position code for a rotor of the electric machine relative to its stator and a single sensor, the encoder comprising: a set of features arranged to rotate with the rotor for influencing the output of the sensor, the features having sensor output influencing first parts which are in evenly spaced angular positions, and sensor output influencing second parts which are in unevenly spaced angular positions, the said angular positions of the second parts relative to the first parts being decodable as a sequence such that the position of the rotor relative to the stator is determinable from the sequence; the method comprising sensing the movement of the features past the sensor; decoding the sequence from the second parts of the features; determining the position of the rotor relative to the stator according to the state of the sequence; and timing the switching of the machine according to the first parts of the said features passing the sensor. Preferably, the passage of the first parts is used as a running count to maintain a contemporary account of the position of the rotor relative to the stator and the code sequence is used to derive or to reestablish the rotor position information in the event that it is lost or corrupted. These and other features of the invention are defined in the accompanying claims. The present invention can be put into practice in various ways some of which will now be described by way of example with reference to the accompanying drawings in which: Figure 3 is a timing diagram for the rotor position sensor output in accordance with the invention; Figure 4 is a timing diagram for starting a motor - controlled according to the invention; according to the invention; Figure 5 is a timing diagram of a modification of the starting procedure; Figure 6 is a circuit diagram of a motor control circuit for a switched reluctance motor; and Figure 7 illustrates an encoder according to the invention. Referring to Figures 6 and 7, a control system for a switched reluctance motor comprises a rectifying and smoothing circuit 10 which receives an a.c. mains input. The smoothed rectified d.c. output from the circuit 10 is applied to a power convertor 12 which provides a three phase switched supply for a 6 stator pole/4 rotor pole, 3 phase switched reluctance motor 14 as shown in Figure 1. The power convertor comprises a set of phase power switches such as electronic power transistor switches which gate the supply of d.c. current to the 3 motor phases. A rotor position sensor 16 is arranged at the periphery of a shaft encoder 18 mounted to rotate with the rotor shaft 19 (see Figure 7). The sensor 16 may be a Hall effect sensor or an optical sensor. The encoder is formed with a sequence of features of marks and spaces 20,22. In the case of a Hall effect sensor these may be constituted by a sequence of lands and recesses which are respectively closer to and more distant from the sensing face of the sensor 16 or a sequence of coded magnetised regions in the path of the sensor. In the case of an optical sensor there is also a light source and the marks and spaces may be respectively constituted by light absorbing and light reflecting parts or light passing slots and light blocking castellations. Of course, other forms of sensor, such as a capacitance sensor, could be used to equal effect. The signals from the sensor are transmitted to a microprocessor-based controller 24. Based on the information received from the sensor, the feedback from the power switches in the form of phase current sensing signals and the drive commands from the user, the controller 24 issues signals to the power switches. It will be appreciated by the skilled person that other forms of controller are contemplated, such as a hard-wired logic controller. The single detector method overcomes the problem of loss of tracking in the prior art. The falling edges (i.e. the trailing edges producing a low output from the sensor) in this system are used to give more information on actual position and direction of rotation. For example they may be placed at either ¼ or ¾ of the distance between adjacent rising edges thus producing either a short or a long pulse respectively as the rotor rotates. These short and long pulses may be spaced around the disc in a repeating pattern consisting of six pulses corresponding to one phase period. The phase period repeats every 90° of the encoder. The pattern chosen may be 'LLSSLS' where L = long pulse and S = short pulse. To give binary numbers for the decoding logic, a long pulse may be decoded as a 'l' and a short pulse decoded as a 'O'. This gives an output code sequence of '110010' which continually repeats as the disc is rotated past the sensor. The sequence of circumferential marks and spaces in the encoder of Figure 7 is a reproduction of the sequence 110010 according to this convention. Although a 6-bit code is used, 3-bits is adequate to create a code to identify the rotor position with sufficient resolution within the phase period. The additional redundancy in the 6-bit sequence allows more reliable error checking. When the rotor is rotating, the code may be read in with the last six bits being stored. The code may be updated when each rising edge is received. The state of the received code then gives the position of the rotor to within one sixth of a phase period, as for the original three-detector system. Figure 3 shows the example sensor code in relation to the maximum and minimum inductance positions for the three phases. It will be clear that the code could be positioned with any 15 degree orientation in relation to the phase inductances. While the code sequence is arranged to repeat on the encoder every phase inductance cycle in this embodiment, i.e. once per rotor pole, the position information could be derived from a longer code spanning up to the complete circumference of the encoder disc. However, the shorter sequence coinciding with the phase inductance cycle provides all the information for position and timing necessary while keeping the sequence period as short as possible without ambiguity. The position of the rotor as derived from the code sequence may be compared with the position determined by counting, from a known initial position, the rising edges of the sensor signals as in the basic system. The code repeats itself and is fed serially into a shift register within the controller. Therefore, the constant monitoring of the code allows the controller to determine the rotor position according to the state of the sequence in the shift register. If a full correct code is received then it may be assumed that this gives the correct position. If this position also matches the counted position, correct operation is confirmed. If it does not match the counted position, it may be assumed that an error has occurred and the counted position may be updated to coincide with the position defined by the code sequence, thus detecting and correcting the error. The drive should then continue to work normally by counting the rising edges. If, however, no correct code is available from the sensor input (e.g. if the code has been corrupted by electrical noise), the drive may continue to operate by counting the rising edges or may be switched off and allowed to coast until a correct code sequence is received. If the direction of rotation is to be reversed, the sensor output may be inverted to keep the evenly spaced edges as rising edges. The received code will then be the same as in the forward direction, but in a different angular position relative to the stator poles. The starting of the drive (discussed later) and the reading of the code will be the same as for the original direction of rotation, but the conversion from the code input to the three detector equivalent outputs, i.e. the sequencing of the three phases, will be different. To decode the output of the sensor one looks at the mark/space ratio of the incoming signal at every rising edge and determines if the last pulse was long or short. If the pulse was long then it may be decoded as a one and if it was short to decode it as a zero. The decoded bit may then be input to the shift register of six bits length so keeping a record of the recent history of the sensor output, the state of the sequence being a reflection of the rotor position. A simple way to decide if the pulse is long or short is to count the time for which the signal is high and the time for which it is low and then to compare them. If the time were counted by a fixed rate clock, then the clock rate would have to be high to achieve a good resolution at the top speed. This would require a large number of bits to enable the system to operate at the lower speeds. For this reason a clock rate may be used which is frequency-locked to the (angularly evenly spaced) rising edges of the RPT input. It was noted above that operation of the single-detector system required knowledge of the initial position of the rotor at starting. A known initial position may be achieved as follows. If any one phase is excited for a time, the rotor will usually be pulled into approximate alignment with the maximum inductance position of that phase. Alternatively, if two phases are simultaneously excited for a time, the rotor may be pulled approximately to the position between the two maximum inductance positions at which the positive and negative torques of the two phases balance each other. It is possible that the initial rotor position will occasionally correspond to an undesired zero-torque position and the rotor will therefore fail to be pulled into the desired alignment. Failure to pull in to the desired initial position will probably result in failure to start correctly. This condition may be detected and the motor stopped and restarted. If such a false start cannot be tolerated, it may be avoided by following an initialisation sequence, for example by energising first one phase alone and then the two phases together. The desired position may correspond to one of the transition edges of the RPT signal, i.e. at the boundary of a 15 degree region. In practice, the rotor may come to rest at either side of this transition. However, the correct phase switching sequence on starting can be assured by noting whether the signal is high or low, i.e. in which of the 15-degree regions the rotor is positioned. The system described allows full starting torque in either direction of rotation. The system can be simplified for drives which require only modest starting torque and in which the ratio of friction to inertia is not high. This development will now be described. Figure 4 illustrates the sensor output and phase energisation for the simplified system. The detector signal transitions may occur in this example at the maximum and minimum inductance of phase A and this signal may therefore be used to control directly the energisation of phase A. The initial rotor position is assumed in Figure 4 to have been established with both phases A and C energised. Phase C may then be switched off causing the motor to accelerate in the forward direction due to the torque produced by phase A. Phase A is switched off at its position of maximum inductance and the motor then coasts with zero developed torque until phase A is again switched on at the next rising edge of the transducer signal. Thus, one phase is switched directly according to the rising and falling edges of the sensor output. Once the rotor is underway it runs up as a single-phase machine until the motion of the rotor is sufficient for the motor control to establish itself. There will be a lower limit on the rate of the rotation of the rotor below which the polyphase control is not possible. Once this speed is exceeded and a correct code sequence or sequences have been received, the position of the rotor relative to the stator can be determined and polyphase control according to the invention effected. It is clear that, to ensure starting, the energy imparted to the rotor over the relatively short initial energisation of phase A must be sufficient to carry the rotor against the friction and load torque through more than 45 degrees to the next energisation of phase A. Phase A may then be energised for a full 45 degrees. The motor accelerates in this manner, with only phase A being energised, until a sufficient speed is achieved for reliable timing of energisation of phases B and C from the transducer signal. It will be clear that the motor may be started in the reverse direction of rotation if the initial rotor position is established with phases A and B energised and if the transducer signal is inverted. The coded rotating member has been positioned so that in the example phase A is initially excited. Repositioning of the member would allow either phase B or C to be the initially excited phase. The severity of the restriction on starting torque may be reduced by modifying the system as follows. The transducer coded disc is modified to give a signal as illustrated in Figure 5, i.e. with a mark:space ratio of 1:2, with the rising edges corresponding to the maximum inductance of phase A and the falling edge to the maximum of phase B. The rotor may be initially positioned with phases A and C energised as before. Starting is initiated by turning off phase C, leaving A energised. At the sensor edge, phase A is turned off. Up to this point the arrangement is unchanged, with the same amount of energy being imparted to the rotor as in the unmodified system. However, as phase A is turned off, phase B is turned on. The rotor continues to rotate to the aligned position of phase B, when B is turned off, and it will then coast to the next RPT signal edge. This arrangement gives a higher initial pulse of energy to the rotor before coasting, and after the aligned position of B is reached, the drive will run up using phase B only. Note that only 30 degrees of the B phase region is used for such operation. The specific example described above is a 6/4-pole, 3-phase motor drive. In this case the code sequence repeats itself four times in the rotor cycle to coincide with the number of rotor poles. For a different number of rotor poles a corresponding number of repetitions of the code sequence can be used so that the position of the rotor from a known start-up position can be determined. Of course, a single sequence for the rotor cycle can be used. However, the delay before a complete cycle has been read may be too long. It will be clear that the invention may be used for motors with other pole combinations and with phase numbers other than three. It will also be clear that the invention may be used for generators as well as motors. The RPT detector may use optical, Hall-effect, inductive or other means. This method can be used to start a single phase machine bearing the rotor position encoder. The location of the rotor can be defined by using any of a number of known methods such that the rotor position will be the same each time. For example see EP-A-0601818 in which a host pole carries a permanent magnet that holds the rotor in a start position while it is at rest. The rotor position encoder is then used to monitor the position of the rotor within the cycle on start-up. The single phase is energised and the rising (i.e. leading) edges evenly spaced on the encoder are counted until the maximum inductance position is reached. At this point the phase is de-energised. The motor then freewheels from this known position until the correct phase energisation position is indicated by counting the rising edges again. Depending on the length of the code, the code sequence will be recognised eventually. The position calculated by counting the rising edges from the position of maximum inductance can then be confirmed from the recognised sequence or corrected. Similarly, the method can be used to start a two phase machine. Both motor phases are energised to bring the rotor into a known position. One phase is then de-energised to cause the rotor to move in a defined direction. The sensor/controller arrangement then counts the rising edges until it is calculated that the rotor has reached a position at which the remaining energised phase can be turned off and the de-energised phase turned on again. When the encoder code sequence is eventually recognised the rotor position can be confirmed or corrected as counted from the known start-up position. As an alternative the two-phase start sequence may comprise energising one motor phase to rotate the rotor to a known position (eg. of maximum inductance), de-energising the energised one phase and then energising the other phase. The rising edges from the encoder are counted from energisation of the other phase to determine when to switch it off and turn on the one phase again. Again, the code sequence will eventually be decoded so that the counted rotor position can be confirmed or corrected. A further method of starting a polyphase electric machine comprises first starting as a stepper motor without rotor position feedback instead of establishing first a known initial rotor position, i.e. using open-loop stepping to start the motor and cause it to run at low speed. This may be accomplished by feeding timing pulses in sequence to the phases from a fixed or variable-frequency oscillator. Thereafter control of switching can be transferred from open-loop stepping to sensor-based control. The sensor output is then used to check the angular position of the rotor through the code sequence.

Claims: A control system for an electrical machine (14) having a rotor defining rotor poles arranged to rotate relative to a stator, the system comprising a controller (24) including signal storage means, switch means (12) for the or each phase of the machine, which switch means are actuatable by the controller according to the position of the rotor relative to the stator, an encoder (18) having a set of features (20;22) arranged to rotate with the rotor, and a single sensor (16) arranged in a position which is fixed relative to the stator to be influenced by the features as they rotate with the rotor to produce an output, the features defining the output of the sensor in the form of a digital code which is supplied to the storage means, the code being decodable by the controller to indicate the positions of the rotor poles relative to the stator, characterised in that the features have sensor output influencing first parts which are in evenly spaced angular positions, and sensor output influencing second parts which are in unevenly spaced angular positions, the said angular positions of the second parts relative to the first parts being decodable by the controller as a sequence such that the position of the rotor relative to the stator is determinable from the sequence. A system as claimed in claim 1 in which the evenly spaced first parts coincide with the power switching actuation positions of the rotor poles, or otherwise indicate the positions of the rotor poles relative to the stator poles from which parts the power switching timing is derivable. A system as claimed in claim 1 or 2 in which the first parts are interjacent the second parts. A system as claimed in claim 1, 2 or 3 in which the first and second parts are arranged on a unitary structure (18). A system as claimed in claim 4 in which the first parts form one of the leading and trailing edges of the features (20) and the second parts form the other of the leading and trailing edges. A system as claimed in any of claims 1 to 5 in which the first and second parts may be angularly extending regions of varying light transmissivity, light reflectivity, magnetism, capacitance or inductance. A system as claimed in any of claims 1 to 6 in which the period of the sequence coincides with the period of the phase inductance cycle, a sub-multiple of the phase inductance cycle or the rotor cycle. A system as claimed in any of claims 1 to 7 in which the controller also includes clock means for determining the interval between features passing the sensor, and decoding means arranged to decode the intervals in the sequence. A system as claimed in any of claims 1 to 8 in which the storage means include shift register means for receiving the sequence serially as the rotor rotates, the shift register means being readable by the controller to determine the state of the sequence. A system as claimed in any of claims 1 to 9 in which the controller is arranged to move the rotor to an initial predetermined start position of the rotor relative to the stator. A method of controlling an electrical machine which includes an encoder (18) defining a position code for a rotor of the electric machine relative to its stator and a single sensor (16), the encoder comprising: a set of features (20;22) arranged to rotate with the rotor for influencing the output of the sensor, the features having sensor output influencing first parts which are in evenly spaced angular positions, and sensor output influencing second parts which are in unevenly spaced angular positions, the said angular positions of the second parts relative to the first parts being decodable as a sequence such that the position of the rotor relative to the stator is determinable from the sequence; the method comprising sensing the movement of the features past the sensor; decoding the sequence from the second parts of the features; determining the position of the rotor relative to the stator according to the state of the sequence; and timing the switching of the machine according to the first parts of the said features passing the sensor. A method as claimed in claim 11 in which the passage of the first parts of the encoder is used as a running count to maintain a contemporaneous account of the position of the rotor relative to the stator and the code sequence is used to derive or to re-establish the rotor position information in the event that the information is lost or corrupted.

Inventors: BROWN GEOFFREY THOMAS, RANDALL STEVEN PAUL, SUDGEN DAVID MARK, VAIL WILLIAM, BROWN, GEOFFREY THOMAS, RANDALL, STEVEN PAUL, SUDGEN, DAVID MARK, VAIL, WILLIAM
Applicants: SWITCHED RELUCTANCE DRIVES LTD
Application year: 1994
Main classification: H02K29
IPC codes: G01P3, G01D5, H02P6, H02P1, H02K29