[0001] The present invention relates to a rotor position encoder for an electrical machine,
and in particular for a switched reluctance electrical machine.
[0002] A switched reluctance machine comprises a stator including stator poles, and a rotor.
Electronically switched windings are provided on the poles on the stator and, in the
case of a switched reluctance motor, are energized in sequence to cause the rotor
to rotate. Alternatively the system can be configured as a switched reluctance generator
in which case the rotor is rotated physically to generate a current in the windings.
The general theory of design and operation of switched reluctance motors is well known
and discussed, for example, in
The Characteristics, Design and Applications of Switched Reluctance Motors and Drives by Stephenson and Blake, presented at the PCIM '93 Conference and Exhibition at Nürnburg,
Germany, June 21-24, 1993.
[0003] In summary, when a rotor pole is exactly aligned with a stator pole, the machine
is said to be in the aligned position. When current is flowing in the corresponding
stator pole winding, there is no torque because the rotor is in a position of maximum
inductance and hence minimum magnetic reluctance. If the rotor is rotated out of alignment
(in either direction) then a restoring torque urges the rotor back into alignment
when current is flowing in the stator pole winding. The stator and rotor are each
provided with one or more pairs of poles in opposed relation. Each opposing pair of
poles on the stator includes a common winding corresponding to one phase. Various
configurations are commonly adopted in switched reluctance machines, for example a
three-phase arrangement in which the stator has six poles (three opposed pairs) and
the rotor has four poles (two opposed pairs).
[0004] The timing of the switching of the currents in the windings is controlled in relation
to the relative angular positions of the stator and rotor poles. For example as a
rotor pole rotates towards a phase winding, the phase winding may be energized as
the rotor pole passes the minimum inductance position and de-energized as the rotor
reaches its maximum inductance position.
[0005] At low speeds, the torque can be controlled by adjusting the peak level of the winding
current. At high speeds, the peak level for the winding current is set at a high safety
level which is not normally reached. The torque is adjusted by varying the angle within
a phase period where the phase current is switched on (for positive volts on the winding)
and off (for negative volts on the winding). In either case, a free-wheel angle may
also be included (zero volts on the winding). At intermediate speeds, a combination
of the two techniques is used so that the torque is controlled by both the switch
on/off angle and a peak current (chopping) level. It will be appreciated that it is
necessary to be able to determine the angular position of the rotor in order to energise
the windings at the correct moments. For example, the position of the rotor relative
to the stator can be determined using an encoder comprising a slotted disc mounted
on the rotor shaft in conjunction with a suitable sensor arrangement. The assembly
is commonly known as a rotor position transducer (RPT). In one known system, three
optical sensors are provided which are switched by the rotation of the disc. It has
been shown that the combined RPT signals can be used to determine the rotor position
to one sixth of a phase period.
[0006] In an improved arrangement, which is described in detail in EP-A-0630097 of Switched
Reluctance Drives Limited, an RPT using a single sensor is provided in conjunction
with a coded disc. Such a coded disc is shown in Fig. 1. The perimeter of the disc
is toothed so as effectively to comprise of marks (corresponding to the teeth 1a)
and spaces (corresponding to the gaps 1b between the teeth) which are read by a sensor
2. As the disc rotates in a given direction, a signal comprising a plurality of pulses
having rising and trailing edges corresponding to the tooth edges will be produced.
The teeth 1a are spaced such that the rising edges are evenly spaced, thus providing
good timing markers for speed measurement. The "coding" of the disc is arrived at
by providing teeth 1a of varying widths around the periphery of the disc. In the embodiment
shown, the trailing edges are spaced either ¼ (narrow tooth) or ¾ (wide tooth) of
the distance between the rising edges, to represent either a logic zero or a logic
one respectively, thus developing a code. Accordingly the coded signal produced by
the sensor can be compared with an internally stored code in a controller to establish
the absolute position of the rotor relative to the stator.
[0007] While this system allows the benefit of using only one sensor, the position of the
rotor can only be determined to a resolution level dependent upon the spacing of the
rising edges on the coded disc. The spacing of the rising edges is linked to the number
of bits in the code and the number of times the code repeats in a revolution of the
rotor. The periodicity of the code is equal to the phase period of the machine, i.e.
the period of the cyclical change in inductance of the phase as the rotor rotates.
Numerically, the phase period is given by 360°/number of rotor poles. Within that
phase period, the number of (evenly spaced) rising edges defines the number of bits
in the code.
[0008] The number of bits in the code sets the resolution to which the rotor position may
be determined. It is desired, however, to provide a higher level of resolution. In
addition, it is desired to streamline the encoding logic.
[0009] According to the invention there is provided a rotor position encoder for an electrical
machine including a rotor and a stator, the encoder comprising a member defining a
set of features, mountable to rotate with the rotor, and a sensor arranged to be influenced
by the features to produce a cyclical sensor output signal at a first resolution indicative
of the position of the rotor, characterised in that a device is arranged to receive
the first sensor output signal and to produce a device output signal at a plurality
of points in each cycle of the sensor output signal at a second higher resolution
indicative of the incremental position of the rotor within a cycle of the sensor output
signal.
[0010] Each feature may define a mark/space ratio of one of two or more predetermined values
to influence the sensor, and the transition between a space and a. mark may define
a sensor edge, the counter being enabled at each sensor edge. These rising sensor
edges may be evenly spaced.
[0011] A first shift register may be arranged to receive a value representative of the first
output signal. A second shift register may be arranged to receive an internally generated
value for comparison with the value representative of the first output signal in the
first shift register, to establish whether a valid signal has been received.
[0012] The encoder may include means for combining a value representative of the first output
signal and a value representative of the second output signal to provide a combined
value representative of the rotor position, for example means for generating a first
binary number representative of the first output signal and a second binary number
representative of the second output signal and combining the first and second binary
numbers to provide a binary number representative of the rotor position. The logic
for processing the information may thus be simplified.
[0013] The encoder may be for a multi-phase electrical machine in which the value representative
of the first output signal is selected dependent upon the machine phase, and the value
representative of the second output signal is common to all machine phases.
[0014] According to the invention there is further provided a method of encoding the position
of a rotor in an electrical machine including a rotor and a stator wherein a set of
features rotate with the rotor and influence a sensor, the method comprising the sensor
producing a cyclical sensor output signal at a first resolution indicative of the
rotor position, and characterised by enabling a counter by the sensor output signal
and producing a counter output signal indicative of the incremental rotor position
within a cycle of the sensor output signal.
[0015] The first output signal may be demodulated to a binary number, and the binary number
may be inserted in a shift register. The binary number in the first shift register
may be compared with an internally generated binary number in a second shift register
to establish the validity of the binary number in the first shift register.
[0016] A value representative of the first output signal may be combined with the value
representative of the second output signal to provide a combined value representative
of the rotor position. A first binary number may be generated representative of the
first output signal and a second binary number may be generated representative of
the second output signal and the first and second binary numbers may be combined to
produce a value representative of the rotor position. In a multi-phase electrical
machine a first binary number may be generated for each of the phases and combined
with a second binary number common to all of the phases. The combined value may be
compared with a predetermined value in an angle firing controller and a phase winding
in the electrical machine may be energized or de-energized when a match is made.
[0017] According to the invention there is further provided a method of controlling an electrical
machine including a stator having stator windings and a rotor, in which a sensor senses
a characteristic of features rotating with the rotor as each feature passes the sensor,
the characteristic of the features differing for respective features in a coded sequence
and the sensor producing an output signal corresponding to the coded sequence and
representative of the rotor position in which the output signal is converted by converting
means to a coded block representative of the rotor position and a plurality of successive
code blocks are combined in a predetermined manner to produce a control signal for
controlling energization of the stator windings. The electrical machine may be a multi-phase
machine and the code blocks may be combined in a predetermined manner dependent on
the phase to which the control signal is to be applied. A simplified manner of control
at low speeds is thus provided.
[0018] 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:
Fig. 1 shows a coded disc of a known type;
Fig. 2 shows schematically a typical three-phase switched reluctance machine;
Fig. 3 shows an RPT output signal for a coded disc and energisation regions for forward
and reverse directions;
Fig. 4a shows demodulation of the RPT output signal;
Fig. 4b shows demodulation of the RPT high output signal;
Fig. 4c shows demodulation of the RPT low output signal;
Fig. 5 is a logic diagram for the code compare system;
Fig. 6 illustrates facet count control;
Fig. 7 illustrates the RPT output signal, corresponding angle ramps and current and
inductance waveforms;
Fig. 8 is a block diagram showing RPT signal decoding;
Fig. 9 illustrates the RPT output signal and corresponding positive and negative torque
regions;
Fig. 10 illustrates the RPT output signal and corresponding reverse motoring and generating
current waveforms;
Fig. 11 shows the mapped binary codes for operation in each quadrant of operation
of a machine, according to the present invention;
Fig. 12a shows the low bit tables for the binary codes of Fig. 11;
Fig. 12b shows a simplified low bit table; and
Fig. 13 shows the various waveforms generated for head control operation.
Description of the Drawings
[0019] The present invention relates to a rotor position encoder scheme for a switched reluctance
machine having, in the exemplary embodiment, six stator poles 101 and four rotor poles
102 as shown in Fig. 2. The arrangement is thus a three-phase machine. A coded disc
such as that shown in Fig. 1 is mounted coaxially with the rotor and a single sensor
is provided for sensing the marks and spaces defined by the coded disc teeth. The
sensor may be a Hall-effect sensor or an optical sensor or any other type of sensor
such as a capacitance or inductance sensor.
[0020] It will be seen from Fig. 1 that the teeth 1a are arranged in a repeating pattern
of six teeth which may be represented, treating the wide teeth as giving rise to a
signal "1", i.e. a long mark: space ratio, and the narrow teeth as giving rise to
a signal "0", i.e. a short mark: space ratio, as the binary code:
110010.
[0021] The tooth pattern progresses clockwise so as to give rise to the above binary code
when the disc rotates anti-clockwise past a sensor 2.
[0022] The RPT signal from the coded disc can, for example, be fed into an ASIC (application
specific integrated circuit) in which the control system is implemented. A signal
"1" is given for a long mark:space ratio between two rising edges and a signal "0"
is given for a short mark:space ratio. Each value is placed into a shift register
in turn so that a history of the received code can be developed. The RPT disc is aligned
with the rotor to control the phase switching accurately. Where it is desired to read
the signal corresponding to reversed rotation of the disc, the signal is merely inverted,
as a result of which the ASIC can read the disc in the same manner and receive the
same pattern for both directions of rotation by virtue of a simple operation.
[0023] The output of the single sensor is in the form of a pulse width modulated signal
as shown in Fig. 3 for forward (anti-clockwise) and reverse (clockwise) motor directions.
[0024] The rising edges of the signal are assigned a number from 0 to 5. The regions between
successive rising edges can similarly be numbered 0 to 5, where region 0 is defined
as being the region between rising edges 0 and 1, and so forth. Within each region,
the mark:space ratio defines a 1 or a 0 for the binary code, as described above.
[0025] If it is required to operate the machine in the conventional chopping mode where
each phase is energised over 50% of its phase period, then adjacent sets of regions
define the appropriate excitation angles, as shown in Fig. 3.
[0026] As mentioned above, the last six bits of the binary code are stored in a shift register
and it will be seen from Table 1 below that the contents of the shift register give
a unique six-bit number designating the current region. For example, if the binary
code currently corresponds to the region numbered 0 according to the scheme discussed
above, then the last six bits of code will be 110010. A unique hexadecimal or decimal
number can thus be assigned to each region dependent on the value of the received
code. The positive torque phase energization periods for each of phases A, B and C
in the forward and reverse motor configurations are also shown ("1" designating phase
energized and "0" designating phase de-energized).

[0027] The manner in which the sensor signal is decoded is described with reference to Figs.
4a, 4b and 4c. The sensor signal includes equally spaced rising edges, referred to
herein as RPT_R. The RPT signal 4 is input to an up/down counter 5 of known construction
which can be arranged to count up whilst the RPT signal 4 is high and then down whilst
the RPT signal is low or vice versa. Assuming that the up/down counter 5 counts up
whilst the RPT signal 4 is high, then where the signal high is longer than the signal
low the counter will not reach zero before the next rising edge is received (Fig.
4b). If the signal high period is shorter than the signal low period, the counter
will be at zero at the next rising edge (Fig. 4c).
[0028] The counter also includes an output terminal, TC, which represents the terminal count.
As known in the art, TC remains low while the counter is counting up until the maximum
count of the counter is reached, whereupon TC goes high. Conversely, if the counter
is counting down, TC stays low until the counter reaches zero, whereupon TC goes high.
It will be seen from Fig. 4b and 4c that TC will therefore only go high if the mark:space
ratio of the sensor signal between rising edges is less than 1. The inverse of the
TC therefore gives the appropriate binary digit for that part of the sensor signal.
The decoded signal is then input to a six bit shift register (described below) which
shifts one bit to the right at each rising edge of the sensor signal.
[0029] Referring now to Fig. 5, the word in the shift register 10 is compared with an internally
generated word to determine the rotor position.
[0030] The output of the sensor, processed as described above, is fed into the six bit shift
register 10. The shift register 10 shifts right one place on each RPT signal rising
edge RPT_R. The contents of the shift register at any one time form a unique word
known as a DECODE. There are six DECODES, each of which corresponds to one of the
six possible regions shown in Table 1 above, only one of which can be present at any
time.
[0031] An internally generated code is maintained on a second shift register 11. Once again
the internally generated code is shifted right one place on each RPT rising edge RPT_R,
under normal operation. The contents of shift register 11 at any one time also form
a unique word, known as a CODE. There are six CODES, each of which corresponds to
a valid DECODE in shift register 10. The bits of each CODE are compared with the appropriate
bits of the DECODE to determine if the CODE and DECODE are equal. This comparison
is carried out by comparators 12a to 12f, one for each bit of the respective shift
registers 10,11. The outputs of the comparators 12a to 12f input to a gate 13 which
in turn outputs a logic 1 if all six bits correspond. If the CODE and DECODE do not
match then the code shift register 11 can be reloaded with the latest DECODE using
the parallel load input, 18.
[0032] Fig. 5 also shows OR gates 14,15 and LOCK1 and LOCK2 signals 16,17. During normal
operations, LOCK1 and LOCK2 are low. Their use will be described below.
[0033] The loading of the CODE shift register 11 is shown in more detail in Table 2. In
the absence of a shift signal (initiated by the signal rising edge RPT_R) or a parallel
load signal (initiated by the reloading of the correct DECODE in the case of a mis-match)
the shift register continues to hold its existing state until a suitable command is
received. If a parallel load signal is received in the case of a mis-match, the appropriate
DECODE is reloaded. When a shift pulse is received on an RPT rising edge RPT_R, the
CODE shift register 11 shifts one place to the right. Where a shift signal and a parallel
load signal are both received, the parallel load signal overrides and the CODE shift
register 11 is reloaded with the correct DECODE.
TABLE 2
SHIFT |
PARALLEL LOAD |
SECTION OUTPUT |
0 |
0 |
Stay in the same condition. |
0 |
1 |
Re-load with the appropriate DECODE. |
1 |
0 |
Shift right one place. |
1 |
1 |
Re-load with the appropriate DECODE. |
[0034] It will be seen that the system described can interpret the movement of the coded
disc and produce signals which are linked to the phase period of the machine. Further,
the system described gives rise to a resolution equivalent to the period between two
rising edges on the coded disc signal. The system can be further improved, allowing
a yet higher degree of resolution, by introducing "facet control". In a simplified
system, interpolation of the position of a rotor for a given phase can be derived
from the count value of an up counter set to count between zero and a maximum value
within one phase period, the counter being reset at the beginning of each period.
The count may be viewed as an angle ramp which is read off to establish the position
of the rotor at an intermediate point. The rate of counting is set at the beginning
of each phase period such that, if the rotor continues to rotate at the constant velocity
detected at the beginning of the period, the counter will reach its maximum value
at the end of the period.
[0035] The idea of facet control is that the standard angle ramp, which was originally reset
at the end of a phase period, and allowed to free run in between, is subdivided into
facets. The problem of the free running angle ramp, in which the speed of the ramp
is dependent on the speed of the rotor at the start of the cycle, is that by the end
of the electrical cycle the speed of the rotor may have changed and the ramp may have
run too fast and overshot the desired end point, or may have run too slowly and undershot.
This introduces errors in the angle control system and could position the firing angles
in the wrong place.
[0036] As shown in Fig. 6, facet control overcomes this by, at the end of each sub-section
or "facet" of the ramp, resetting the counter and the ramp rate and starting again.
These individual shorter ramps are combined to produce one ramp. The single-head system
is ideal for this type of control because of the equally spaced rising edges of the
RPT signal. Each rising edge provides a counter reset giving 6 facets per phase period.
Fig. 6 shows a simplified view of 3 facets. As can be seen from Fig. 6, although within
individual facets the ramp rate may be too fast or too slow because of the variations
in the rotor speed, because the ramp is corrected at each facet a higher degree of
accuracy can be provided for the angle control system.
[0037] Referring now to Fig. 7, where aspects of control of the system are shown in more
detail:
(a) shows the RPT output signal and the corresponding binary codes;
(b) shows the signal broken up into six unique regions each equal to one bit of the
repeating RPT code;
(c) shows the angle ramps for each of phases A, B and C. As an example, one cycle
of phase A is broken up into six facets. For reasons discussed in more detail below,
the up counter is arranged to count to a maximum value N=192, each of the facets then
corresponding to a count of N/6 = 32. The angle count is shown in the figure expressed
in hexadecimal.
(d) Illustrates one possible scheme for applying current to the phase A windings.
In the example shown, the simple case in which current is applied in the second half
of the cycle is shown. The corresponding inductance profile is shown at (e). It will
be seen that current is applied when the system is at a point of minimum inductance
and switched off at the point of maximum inductance. A more sophisticated approach
to excitation of the phase will be described below.
(f) and (g) show the phase energization and angle ramp waveforms for forwards generating,
as opposed to the forwards motoring configuration shown in (c) to (e).
[0038] In this system the following information is available:
1. The position of the rotor can be derived at a first resolution by examining the
signal from the coded disc and establishing the position to within a region; and
2. The position can be derived from the angle count within a facet to provide a higher
resolution indicative of the incremental position of the rotor.
[0039] Fig. 8 is a block diagram showing a preferred method of combining the information
and transferring it to a suitable firing control system.
[0040] RPT information is derived from the coded disc at step 20 as discussed above. A rising
edge detector generates rising edge pulse RPT_R at step 21 and the tooth length detector
(for example the up/down counter discussed with reference to Figs. 4a,4b,4c) outputs
a high or low signal at 22. The corresponding binary bit is input to a shift register
at step 23, the shift register being shifted at each RPT_R. The unique DECODE is then
derived at step 24 as described above with reference to Table 2 and the comparison
between a DECODE and the internally generated CODE is made at step 25. At this point,
the control system decides (according to known techniques) what excitation strategy
will be adopted for exciting the phase windings. Fig. 8 shows two choices, where the
excitation is either in the form of blocks of current (as was discussed in connection
with Fig. 7) or in the "angle control" mode, as will now be discussed.
[0041] Referring firstly to Fig. 9, for each phase it is first defined what firing scheme
is desired; that is, the portion of the phase period over which positive torque exists
in the desired direction is defined. In Fig. 9, (a) shows the RPT code (forwards)
and (b) shows the corresponding region numbering. Each of the phases at (c),(d) and
(e) are split into six sectors, each sector equal in length to one region of the RPT
code. The position of sector zero is chosen to commence on the transition from a positive
torque producing region to a negative torque producing region. The sectors within
a phase period are labelled sequentially from 0 to 5. It will be seen that only in
specific circumstances will the RPT signal region numbering correspond to the phase
period sector numbering. The following discussion is principally concerned with the
forwards motoring conditions but it will be appreciated that forwards generating,
reverse motoring and reverse generating schemes are also operable in a similar manner
as shown in (f)-(h) of Fig. 9, and (a) to (h) of Fig. 10.
[0042] The sector number for each phase corresponding to a given region can be derived for
each of the four quadrants of operation (forwards motoring, forwards generating, reverse
motoring, reverse generating). The sector number (expressed in binary) is then mapped
to the appropriate region. For example for forwards motoring, region 0 has for phase
A, sector 0 (000), phase B, sector 4 (100) and phase C, sector 2 (010) mapped to it.
The mapping is shown in Fig. 11, with each of the sector numbers corresponding to
the region number expressed in binary.
[0043] As discussed above, it is desired to combine the sector number with the corresponding
facet count. As each facet count has a maximum value of 192/6 = 32, it can be expressed
as a five digit binary number i.e. as a five-bit binary number. In addition, the sector
numbers corresponding to a given region can be expressed as a three-bit binary number.
Accordingly these numbers are combined as an eight-bit binary number, the three-bit
binary sector numbers forming the top three most significant bits (MSB's) of the eight-bit
number. This is shown in more detail in Fig. 8. The correctly matched DECODE from
step 25 in Fig. 8 gives rise to a region number which is read off in a table such
as that shown in Fig. 11 to obtain the three-bit binary sector number for each phase
in the desired operating quadrant at step 26.
[0044] Referring once again to Fig. 8, the count number within the corresponding facet is
continuously generated at step 27 giving a five-bit number. The three-bit number for
each phase together with the five-bit number common to all of the phases are combined
for each phase to give rise to a unique word for each phase at steps 28a, 28b and
28c. It will be seen that the three-bit code for each phase will change at each RPT
signal rising edge RPT_R, whilst the five-bit count will increment at each count of
the up counter. Accordingly, at any stage, the eight-bit number will give an indication
of which sector the rotor is in, and how far through that sector the rotor has progressed,
thus giving a high resolution indication of the position of the rotor. The eight-bit
number is then compared with an eight-bit number (not shown) representing the desired
firing angle, and when a match is recorded, the corresponding phase is energised or
de-energised as appropriate.
[0045] It will be realised that the three-bit number identifying a required sector could
be obtained by simply storing all the information in, e.g., Fig. 11 and reading out
the appropriate number for a given quadrant, region and phase. However, this is wasteful
of storage and expensive in terms of the logic required. A preferred embodiment of
obtaining the three-bit number is now described with reference to Figs. 11, 12(a)
and 12(b). The three-bits of each number representing the sector number and forming
the three MSB's of the eight-bit number can be numbered bits 7, 6 and 5, as shown
in Fig. 12(a). The three-bit sector number can then be located by identifying when
each bit of it is low, in each region. For example, as shown in Fig. 12(a), for forwards
motoring, bit 7 is low in region 0, 1, 2 and 3, bit 6 is low in region 0, 1, 4 and
5 and bit 5 is low in region 0, 2 and 4. It can be seen from the full set of tables
derived in Fig. 12(a) for all four quadrants of operation that a pattern emerges.
For example for motoring operation, bit 7 for Phase B is unchanged when the direction
changes, whereas the patterns for Phases A and C are interchanged. The same holds
for bit 6. Bit 5 pattern is unchanged. By inspection, the same pattern holds for generating.
This allows all the required information to be held by storing only eight patterns.
This is shown in Fig. 12(b) and greatly reduces the storage and logic requirements.
In particular, given the region number and quadrant of operation the value of each
bit 5, 6 and 7 can be determined from the table at Fig. 12(b).
[0046] Fig. 8 also showed an alternative mode of operation for low speed in which head active
signals are generated at step 29. Once again the same facet information can be used
but operation is made simple by the fact that "blocks" of current are used over complete
regions (as shown, e.g. in Fig. 7 at (d)) and the ramp generation system is not required.
[0047] In head control, the system can be operated directly by CODE_0 to CODE_5 signals
as shown in Fig. 13. These signals are simply used to indicate when the rotor is in
any of regions 0 to 5. In the known "1½ phases on" activation scheme shown in Fig.
7 at (d) and Fig. 13 at (a) where three successive regions correspond to the active
signal, the CODE_O to CODE_5 signals can be simply combined together to produce one
signal for each phase. For example, during forwards motoring, the active signal for
phase A is high during regions 3, 4 and 5 and thus CODES_3, _4 and _5 are simply combined
together to provide the activation signal. To go in the reverse direction, phases
A and C are simply swapped.
[0048] Alternative activation schemes can be envisaged - for example if "first two third"
current operation is required (see (b) in Fig. 13) then CODES_3 and _4 are combined
and if "second two third" current operation is required (see (c) in Fig. 13) the CODE_4
and CODE_5 signals can be combined. This can be achieved by simple gating to suppress
the third sector or the first sector of the active signal respectively. Fig. 13 at
(d) shows middle third current operation.
[0049] To start the drive, the rotor is pulled into a predetermined position by exciting
a predetermined phase or phases. Once the rotor is in the correct position, the circuitry
of the RPT is set to a predetermined state to synchronise it with the physical position
of the rotor.
[0050] This setting of the circuitry is achieved by a two-position lock routine of a type
known to the skilled reader to guarantee that the rotor is in the expected position.
The system first of all locks in region 3 where, in forward motoring, phases A and
C are on together and phase B is off. The second half of the lock cycle locks into
region 4 where phase A is on and phases B and C are off. This is achieved by the use
of the LOCK1 and LOCK2 signals shown on Fig. 5. A secure locking, and a guaranteed
correct start position are thus provided. The system uses the fact that the shift
register on start either needs to be clocked twice if the RPT is high or once if the
RPT is low. To achieve this, the appropriate regions are set high artificially in
the compare with the decode and internally generated codes section, and the shift
register is parallel loaded. This then ripples through the system and the head phase
active signals are produced.
[0051] It will be appreciated that, although the above discussion has been directed at four-quadrant
operation (forwards motoring, forwards generating, reverse motoring and reverse generating)
it can also be used for dual-quadrant operation (e.g. forwards and reverse motoring
only). This is achieved by simply removing (or ignoring) the relevant definitions
of the generating waveforms and parts of the tables in Figs. 11 and 12, and similarly
removing the internal motoring or generating signal.
[0052] Further, the illustrative embodiment has related to a machine with three phases.
The invention can be equally applied to a machine with a different number of phases
simply by taking note of the different length of the phase inductance period and making
the appropriate adjustments.
[0053] While the invention has been described in connection with the illustrative embodiments
discussed above, those skilled in the art will recognise that many variations may
be made without departing from the present invention. For example, the present invention
is applicable to inverted machines in which the stator is in the centre of the machine
and the rotor is arranged to rotate around the outside of the stator. Accordingly,
the above description of several embodiments is made by way of example and not for
the purposes of limitation. The present invention is intended to be limited only by
the scope of the following claims.
1. A rotor position encoder for an electrical machine including a rotor and a stator,
the encoder comprising a member defining a set of features (1a, 1b), mountable to
rotate with the rotor, and a sensor (2) arranged to be influenced by the features
to produce a cyclical sensor output signal at a first resolution indicative of the
position of the rotor, characterised in that a device (27) is arranged to receive the first sensor output signal and to produce
a device output signal at a plurality of points in each cycle of the sensor output
signal at a second higher resolution indicative of the incremental position of the
rotor within a cycle of the sensor output signal.
2. An encoder as claimed in claim 1 in which the features define a mark/space ratio to
influence the sensor, each mark/space ratio having one of two predetermined values.
3. An encoder as claimed in claim 2 in which the transition between a space and a mark
defines a sensor edge, the device being enabled at each sensor edge.
4. An encoder as claimed in claim 3 in which the sensor edges are evenly spaced.
5. An encoder as claimed in any preceding claim in which the device includes a first
shift register (23) arranged to receive a value representative of the first output
signal.
6. An encoder as claimed in claim 5 comprising a second shift register (24) arranged
to receive an internally generated value for comparison with the value in the first
shift register.
7. An encoder as claimed in any preceding claim including means (28) for combining a
value representative of the sensor output signal and a value representative of the
device output signal to provide a combined value representative of the rotor position.
8. An encoder as claimed in claim 7 including means (26;27;29) for generating a first
binary number representative of the sensor output signal and a second binary number
representative of the device output signal and combining the first and second binary
numbers to provide a binary number representative of the rotor position.
9. An encoder as claimed in claim 7 or claim 8 for a multi-phase electrical machine in
which the value representative of the sensor output signal is selected dependent upon
the machine phase, and the value representative of the device output signal is common
to all machine phases.
10. A switched reluctance machine including an encoder as claimed in any preceding claim.
11. A method of encoding the position of a rotor in an electrical machine including a
rotor and a stator wherein a set of features (1a, 1b) rotate with the rotor and influence
a sensor (2), the method comprising the sensor producing a cyclical sensor output
signal at a first resolution indicative of the rotor position, and characterised by enabling a counter (27) by the sensor output signal and producing a counter output
signal indicative of the incremental rotor position within a cycle of the sensor output
signal.
12. A method as claimed in claim 11 in which the sensor output signal is demodulated to
a binary number, and the binary number is inserted in a first shift register (23).
13. A method as claimed in claim 12 in which the binary number in the first shift register
is compared with an internally generated binary number in a second shift register
(24) to establish the validity of the binary number in the first shift register.
14. A method as claimed in any of claims 11 to 13 in which a value representative of the
sensor output signal is combined with the value representative of the counter output
signal to provide a combined value representative of the rotor position.
15. A method as claimed in claim 14 in which a first binary number is generated representative
of the sensor output signal and a second binary number is generated representative
of the counter output signal and the first and second binary numbers are combined
to produce the value representative of the rotor position.
16. A method as claimed in claim 15 for a multi-phase electrical machine in which a first
binary number is generated for each of the phases and is combined with a second binary
number common to all of the phases.
17. A method as claimed in claim 15 or 16 in which the combined value is compared with
a predetermined value in an angle firing controller and a phase winding in the electrical
machine is energized or de-energized when a match is made.
18. A method as claimed in claim 11 for a multiphase electrical machine in which the sensor
output signal represents a position value indicative of the rotor position, and for
each phase a corresponding phase-specific value is defined for each of one or more
desired modes of operation of the machine, the energisation or de-energisation of
a phase winding for a mode of operation being dependent on the respective phase-specific
value for that mode.
19. A method as claimed in claim 18 in which the phase-specific value is represented by
an N-bit binary number derived by correlating phase and mode of operation with identification
of which bits in the N-bit binary number are in a predetermined state for each position
value wherein the N-bit binary number is constructed from the table given the phase,
mode and position value information.
20. A method of controlling an electrical machine including a stator having stator windings
and a rotor, in which a sensor senses a characteristic of features rotating with the
rotor as each feature passes the sensor, the characteristic of the features differing
for respective features in a coded sequence, and the sensor producing an output signal
corresponding to the coded sequence and representative of the rotor position in which
the output signal is converted by converting means to a code block representative
of the rotor position and a plurality of successive code blocks are combined in a
predetermined manner to produce a control signal for controlling energization of the
stator windings.
21. A method as claimed in claim 20 in which the electrical machine is a multi-phase machine
and the code blocks are combined in a predetermined manner dependent on the phase
to which the control signal is to be applied.
1. Rotorwinkelstellungsgeber für eine elektrische Maschine umfassend einen Rotor und
einen Stator, wobei der Geber einen einen Satz von Merkmalen (1a, 1b) definierenden
Teil, der zum Rotieren mit dem Rotor montierbar ist, und einen Sensor (2) aufweist,
der so angeordnet ist, dass er von den Merkmalen beeinflußt wird, um ein zyklisches
Sensorausgangssignal bei einer ersten Auflösung erzeugt, welches die Winkelstellung
des Rotors anzeigt, dadurch gekennzeichnet, dass eine Einrichtung (27) angeordnet ist, um das erste Sensorausgangssignal zu empfangen
und ein Vorrichtungs-Ausgangssignal bei einer Vielzahl von Punkten in jedem Zyklus
des Sensorausgangssignals bei einer zweiten höheren Auflösung zu erzeugen, welches
die inkrementelle Winkelposition des Rotors innerhalb eines Zyklus des Sensorausgangssignals
anzeigt.
2. Geber nach Anspruch 1, bei dem die Merkmale ein Markierungs/Raum-Verhältnis definieren,
um den Sensor zu beeinflussen, wobei jedes Markierungs/Raum-Verhältnis einen von zwei
vorgegebenen Werten hat.
3. Geber nach Anspruch 2, bei dem der Übergang zwischen einem Raum und einer Markierung
eine Sensorkante definiert, wobei die Vorrichtung an jeder Sensorkante aufgesteuert
wird.
4. Geber nach Anspruch 3, bei dem die Sensorkanten unter gleichen Abständen angeordnet
sind.
5. Geber nach einem der vorhergehenden Ansprüche, bei dem die Vorrichtung ein erstes
Schieberegister (23) aufweist, das so angeordnet ist, dass es einen Wert empfängt,
der für das erste Ausgangssignal repräsentativ ist.
6. Geber nach Anspruch 5, umfassend ein zweites Schieberegister (24), das angeordnet
ist, um einen intern erzeugten Wert zum Vergleich mit dem Wert in dem ersten Schieberegister
zu empfangen.
7. Geber nach einem der vorhergehenden Ansprüche umfassend eine Einrichtung 28, um einen
für das Sensorausgangssignal repräsentativen Wert und einen für das Vorrichtungs-Ausgangssignal
repräsentativen Wert zu kombinieren, um einen kombinierten, für die Rotorwinkelstellung
repräsentativen Wert bereitzustellen.
8. Geber nach Anspruch 7, umfassend eine Einrichtung (26; 27; 29) zum Erzeugen einer
ersten binären, für das Sensorausgangssignal repräsentativen Zahl und einer zweiten
binären, für das Vorrichtungs-Ausgangssignal repräsentativen Zahl und zum Kombinieren
der ersten und zweiten binären Zahlen, um eine binäre, für die Rotorwinkelstellung
repräsentative Zahl bereitzustellen.
9. Geber nach Anspruch 7 oder Anspruch 8 für eine vielphasige, elektrische Maschine,
bei dem der für das Sensor-Ausgangssiganl repräsentative Wert in Abhängigkeit von
der Maschinenphase ausgewählt wird, und bei dem der für das Vorrichtungs-Ausgangssignal
repräsentative Wert allen Maschinenphasen gemeinsam ist.
10. Geschaltete Reluktanzmaschine mit einem Geber nach einem der vorhergehenden Ansprüche.
11. Verfahren zum Kodieren der Winkelstellung eines Rotors in einer elektrischen Maschine
umfassend einen Rotor und einen Stator, worin ein Satz von Merkmalen (1a, 1b) sich
mit dem Rotor dreht und einen Sensor (2) beeinflußt, wobei das Verfahren unmfasst,
dass der Sensor ein zyklisches Sensor-Ausgangssignal bei einer ersten Auflösung erzeugt,
das die Rotorwinkelstellung anzeigt, und gekennzeichnet ist durch Aufsteuern eines Zählers (27) durch das Sensorausgangssignal und Erzeugen eines Zählerausgangssignales, welches die inkrementelle
Rotorwinkelstellung in einem Zyklus des Sensor-Ausgangssignals anzeigt.
12. Verfahren nach Anspruch 11, bei dem das Sensor-Ausgangssignal zu einer binären Zahl
demoduliert wird, und bei dem die binäre Zahl in ein erstes Schieberegister (23) eingefügt
wird.
13. Verfahren nach Anspruch 12, bei dem die binäre Zahl in dem ersten Schieberegister
mit einer intern erzeugten, binären Zahl in einem zweiten Schieberegister (24) Verglichen
wird, um die Gültigkeit der binären Zahl in dem ersten Schieberegister zu bestätigen.
14. Verfaren nach einem der Ansprüche 11-13, in dem ein für das Sensorausgangssignal repräsentativer
Wert mit einem für das Zählerausgangssignal repräsentativen Wert kombiniert wird,
um einen kombinierten, für die Rotorwinkelstellung repräsentativen Wert bereitzustellen.
15. Verfahren nach Anspruch 14, bei dem eine erste binäre Zahl als repräsentativ für das
Sensorausgangssignal und eine zweite binäre Zahl als repräsentativ für das Zählerausgangssignal
erzeugt wird, und bei dem die ersten und zweiten binären Zahlen kombiniert werden,
um den für die Rotorwinkelstellung repräsentativen Wert zu erzeugen.
16. Verfahren nach Anspruch 15 für eine vielphasige, elektrische Maschine, bei dem eine
erste binäre Zahl für jede der Phasen erzeugt und mit einer zweiten binären Zahl kombiniert
wird, die allen Phasen gemeinsam ist.
17. Verfahren nach Anspruch 15 oder 16, bei dem der kombinierte Wert mit einem vorgegebenen
Wert in einem Winkel-Zündcontroller verglichen wird, und bei dem eine Phasenwicklung
in der elektrischen Maschine mit Strom versorgt oder vom Strom abgeschaltet wird,
wenn eine Übereinstimmung zustande kommt.
18. Verfahren nach Anspruch 11 für eine vielphasige elektrische Maschine, in der ein Sensorausgangssignal
einen Winkelstellungswert repräsentiert, der die Rotorwinkelstellung anzeigt, und
bei dem für jede Phase ein entsprechender, phasenspezifischer Wert für jede einzelne
oder mehrere gewünschte Arbeitsweisen der Maschine definiert wird, wobei die Versorgung
mit Strom oder die Abschaltung vom Strom einer Phasenwicklung für eine Betriebsweise
von dem jeweiligen, phasenspezifischen Wert für diese Betriebsweise abhängt.
19. Verfahren nach Anspruch 18, bei dem der phasenspezifische Wert durch eine binäre N-Bit-Zahl
repräsentiert wird, die durch Korrelation der Phase und der Betriebsweise mit einer
Identifikation abgeleitet wird, welche Bits in der binären N-Bit-Zahl in einem vorgegebenen
Zustand für jeden Winkelstellungswert sind, wobei die binäre N-Bit-Zahl von der Tabelle
konstruiert wird, wenn die Information über die Phasen-, Betriebsweisen- und Drehstellungswerte
gegeben ist.
20. Verfahren zum Steuern einer elektrischen Maschine mit einem Stator mit Statorwicklungen
und einem Rotor, bei dem ein Sensor eine Charakteristik von Merkmalen abtastet, die
mit dem Rotor rotieren, wenn jedes Merkmal an dem Rotor vorbei tritt, wobei die Charakteristik
der Merkmale sich für jeweilige Merkmale in einer kodierten Sequenz unterscheiden,
und wobei der Sensor ein Ausgangssignal erzeugt, welches der kodierten Sequenz entspricht
und die Rotorwinkelstellung darstellt, in der das Ausgangssignal durch eine Umsetzugseinrichtung
in einen Codeblock umgesetzt wird, der für die Rotorwinkelstellung repräsentativ ist,
und wobei eine Vielzahl von aufeinanderfolgenden Codeblocks in einer vorgegebenen
Art und Weise kombiniert werden, um ein Steuersignal zur Steuerung der Stromversorgung
der Statorwicklungen zu erzeugen.
21. Verfahren nach Anspruch 20, bei dem die elektrische Maschine eine vielphasige Maschine
ist, und bei dem die Codeblocks in einer vorgegebenen Art und Weise kombiniert werden,
die von der Phase abhängend an das Steuersignal angelegt werden soll.
1. Encodeur de position du rotor pour une machine électrique comprenant un rotor et un
stator, l'encodeur comprenant un élément définissant un ensemble de particularités
(1a, 1b), qui peut être monté de façon à tourner avec le rotor, et un capteur (2)
disposé pour être influencé par les particularités pour produire un signal cyclique
de sortie de capteur, à une première résolution indicative de la position du rotor,
caractérisé en ce qu'un dispositif (27) est disposé pour recevoir le premier signal de sortie du capteur
et pour produire un signal de sortie de dispositif à une pluralité de points dans
chaque cycle du signal de sortie du capteur, à une deuxième résolution indicative
de la position incrémentielle du rotor dans un cycle du signal de sortie du capteur.
2. Encodeur selon la revendication 1, dans lequel les particularités définissent un rapport
marque - espace pour influer sur le capteur, chaque rapport marque - espace ayant
une valeur prédéterminée parmi deux.
3. Encodeur selon la revendication 2, dans lequel la transition entre une marque et un
espace définit un bord de capteur, le dispositif étant activé à chaque bord de capteur.
4. Encodeur selon la revendication 3, dans lequel les bords de capteur sont également
espacés.
5. Encodeur selon n'importe laquelle des revendications précédentes, dans lequel le dispositif
comprend un premier registre à décalage (23), organisé pour recevoir une valeur représentative
du premier signal de sortie.
6. Encodeur selon la revendication 5, comprenant un second registre à décalage (24),
disposé pour recevoir une valeur générée de façon interne, pour comparaison avec la
valeur dans le premier registre à décalage.
7. Encodeur selon une quelconque des revendications précédentes, comprenant des moyens
(28) pour combiner une valeur représentative du signal de sortie du capteur et une
valeur représentative du signal de sortie du dispositif, pour donner une valeur combinée
représentative de la position du rotor.
8. Encodeur selon la revendication 7, comprenant des moyens (26; 27; 29) pour générer
un premier nombre binaire représentatif du signal de sortie du capteur et un second
nombre binaire représentatif du signal de sortie du dispositif et pour combiner les
premier et second nombres binaires afin de donner un nombre binaire représentatif
de la position du rotor.
9. Encodeur selon la revendication 7 ou la revendication 8, pour une machine électrique
polyphasée dans lequel la valeur représentative du signal de sortie du capteur est
sélectionnée en fonction de la phase de la machine, et la valeur représentative du
signal de sortie du dispositif est commune à toutes les phases de la machine.
10. Machine à réluctance commutée comprenant un encodeur selon l'une quelconque des revendications
précédentes.
11. Procédé d'encodage de la position d'un rotor dans une machine électrique qui comprend
un rotor et un stator, dans laquelle un ensemble de particularités (1a, 1b) tourne
avec le rotor et influe sur un capteur (2), le procédé comprenant la production par
le capteur d'un signal de sortie de capteur cyclique à une première résolution indicative
de la position du rotor, et caractérisé par l'activation d'un compteur (27) par le signal de sortie du capteur et par la production
d'un signal de sortie du compteur indicatif de la position incrémentielle du rotor
dans un cycle du signal de sortie du capteur.
12. Procédé selon la revendication 11, dans lequel le signal de sortie du capteur est
démodulé en un nombre binaire, et le nombre binaire est inséré dans un premier registre
à décalage (23).
13. Procédé selon la revendication 12, dans lequel le nombre binaire dans le premier registre
à décalage est comparé avec un nombre binaire généré de façon interne dans un second
registre à décalage (24) pour établir la validité du nombre binaire dans le premier
registre à décalage.
14. Procédé selon l'une quelconque des revendications 11 à 13, dans lequel une valeur
représentative du signal de sortie du capteur est combinée avec la valeur représentative
du signal de sortie du compteur pour donner une valeur combinée représentative de
la position du rotor.
15. Procédé selon la revendication 14, dans lequel un premier nombre binaire est généré
représentatif du signal de sortie du capteur et un second nombre binaire est généré
représentatif du signal de sortie du compteur et les premier et second nombres binaires
sont combinés pour produire la valeur représentative de la position du rotor.
16. Procédé selon la revendication 15, pour une machine électrique polyphasée dans lequel
un premier nombre binaire est généré pour chacune des phases et est combiné avec un
second nombre binaire commun à toutes les phases.
17. Procédé selon la revendication 15 ou 16, dans lequel la valeur combinée est comparée
à une valeur prédéterminée dans un régleur d'angle de déclenchement, et un enroulement
de phase dans la machine électrique est excité ou désexcité quand une correspondance
est réalisée.
18. Procédé selon la revendication 11, pour une machine électrique polyphasée dans laquelle
le signal de sortie du capteur représente une valeur de position indicative de la
position du rotor, et pour chaque phase une valeur spécifique de phase correspondante
est définie pour chacun des un ou plusieurs modes de fonctionnement désirés de la
machine, l'excitation ou désexcitation d'un enroulement de phase pour un mode de fonctionnement
dépendant de la valeur respective spécifique de la phase pour ce mode.
19. Procédé selon la revendication 18, dans lequel la valeur spécifique de la phase est
représentée par un nombre binaire à N bits, dérivé par corrélation de la phase et
du mode de fonctionnement avec l'identification de quels bits dans le nombre binaire
à N bits sont dans un état prédéterminé pour chaque valeur de position, dans lequel
le nombre binaire à N bits est construit à partir de la table donnant les informations
de valeur de phase, mode et position.
20. Procédé pour la commande d'une machine électrique ayant un stator qui a des enroulements
statoriques et un rotor, dans lequel un capteur détecte une caractéristique de particularités
tournant avec le rotor lorsque chaque particularité passe devant le capteur, la caractéristique
des particularités différant pour les particularités respectives dans une séquence
codée, et le capteur produisant un signal de sortie correspondant à la séquence codée
et représentatif de la position du rotor, dans lequel le signal de sortie est converti
par un moyen de conversion en un bloc de code représentatif de la position du rotor
et une pluralité de blocs de code successifs sont combinés d'une façon prédéterminée
pour produire un signal de commande pour commander l'excitation des enroulements du
stator.
21. Procédé selon la revendication 20, dans lequel la machine électrique est une machine
polyphasée et les blocs de code sont combinés d'une manière prédéterminée dépendante
de la phase à laquelle le signal de commande doit être appliqué.