CA1172689A - Digital programmed controller for multi-mode brushless electric motor - Google Patents

Digital programmed controller for multi-mode brushless electric motor

Info

Publication number
CA1172689A
CA1172689A CA000374481A CA374481A CA1172689A CA 1172689 A CA1172689 A CA 1172689A CA 000374481 A CA000374481 A CA 000374481A CA 374481 A CA374481 A CA 374481A CA 1172689 A CA1172689 A CA 1172689A
Authority
CA
Canada
Prior art keywords
current
signal
signals
terminal
windings
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA000374481A
Other languages
French (fr)
Inventor
Lawrence W. Langley
H. Keith Kidd
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kollmorgen Technologies Corp
Original Assignee
Kollmorgen Technologies Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kollmorgen Technologies Corp filed Critical Kollmorgen Technologies Corp
Priority to CA000440030A priority Critical patent/CA1182516A/en
Priority to CA000440029A priority patent/CA1182515A/en
Application granted granted Critical
Publication of CA1172689A publication Critical patent/CA1172689A/en
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/0077Characterised by the use of a particular software algorithm
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/08Arrangements for controlling the speed or torque of a single motor
    • H02P6/085Arrangements for controlling the speed or torque of a single motor in a bridge configuration

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)

Abstract

ABSTRACT
The specification describes a multi-mode electromechanical energy conversion system which includes a brushless electric machine having field and wound members movable relative to each other. The wound members have a plurality of energizeable windings. The system further includes sensing means associated with the machine for measuring at least one parameter indicative of machine operation and switching means connected to the windings for selectively energizing the same. A stored program controller is connected to the sensing means and the switching means for producing command signals for controlling the switching means in response to signals produced by the sensing means so as to enable the system to operate in at least two different active modes.

Description

i ~72G~

BACKGROUND OF THE INVENTION
This invention relates generally to the control of electromechanical energy conversion and, more particularly, to brushless DC motors wherein commutation, speed, and/or position are controlled digitally.
Conventional DC motors employ sets of windings which are commutated during relative motion between the moving and stationary parts of the motor. This is true in both rotary and linear motors. Commutation may be accomplished either mechanically, by a commutator and brush assembly, or electronically, by means of solid state switching elements.
Commutation of the windings depends on the relative positions of the moving and stationary parts of the motor.
In a brushless DC motor, comprising a rotor which rotates-within a stator, the position of the rotor relative to the stator may be sensed optically or electromagnetically, for example, by means of Hall effect sensors secured to the stator and positioned about a magnetiæed disc mounted on the rotor shaft.

' ~' crJ~

Switching current in the motor wlndinys may be acccm~
plished by a bridge circuit. One such bridge circuit operated in conjunc-tion with ~all sensors is shown in MaIkiel U.S. Patent No. 3,783,359 issued January 1, 1974. The use of Hall sensors is also shown in Persson U.S. Patent No. 4,086,519 issued April 25, 1978. The bridge circuits normally use protective diodes with the transistors.
To avoid excessive power dissipation within the transis-tors, pulse width mcdulation of the current has been employed so that the -transistors are either "ON" or "OFF". Pulse width mcdulation of a transis-toriæed bridge switching circuit is disclosed in the aforementioned Malkiel patent.
Conventionally, the motor control circuit has been re-garded as an entity separate from the motor itself, with separate control circuits being reauired to acco~plish speciic motor functions. In addition, separate motors have traditionally been employed to accomplish different functions. Thus, there are torque motors, servo motors, stepper motors, etc., each with its separate control circuilry. These practices, while conventional, æ e nonetheless expensive, inefficient and wastefull.

:
SUMM~R~ OF THE INVENTION
~` The aforementioned disadvanta~es are overc e and other advantages are provided by the electromechanical energy conversion system of the present invention. In accordance with the present invention there is provided a multi-mode energy conversion system employing a brushless~
electrical machine having field and wound members movable relative to each other, the wound member haviïlg a plurality of energiæeable windings. The system further comprises sensors for sensing one or more parameters mab/ ? b . .

~ ~2~8~

indicative of motor operation, such as velocity or position. Switching circuitry is connected to the windings for selectively energizing same.
In addition, the system comprises a stored program controller, such as a microcomputer or microprocessor, which is co~nected to the sensors and the switching circuitry and produces cGmmand signals for controlling the switching circuitry in response to the signals produced by the sensors so as to enable the system to operate in at least t~o dIfferent mcdes.
In addition, the system can respond to external commands and/or provide informatlon to an external agency, such as a higher level control system.
The most preferred embodiment of the present invention employs a minlmum of hardware to provide maximum versatility in function.
The versatility is preferably provided by means of a stored program which permits the same or substantially the same hardware to operate in a number of different modes. Thus, the same or substantially the same hard-ware may be used for yelocity tracking, position tracking, p~er transfer maximization and/or efficiency maximization. Moreover, the system may switch fram one mcde of operation to another as a function of signals provided from an external source or as a func-tion of signals generated internally, While the most preferred emkcdiment makes use of a stored program, the principles of the invention may also be practiced by means of hard wired circuitry or a ccmbination of stored program and hard wired circuitry. For ease of understanding, the present invention will first be explained in terms of a series of modes of operation employing hard wired circuitry. Thereafter, the most preferred embodiment, including a stored program, is set forth.

mab/ ~

J 172fi3~

One mode of operation is velocity tracking. A desired velocity and a measured velocity are compared and the result used to control winding current within predetermined limits. The winding current is measured and compared against upper and lower thresholds. The controller energizes windings when the measured value of the current reaches the lcwer threshold, and deenergizes windings when the measured value of the current reaches the upper threshold.
Another mode of operation extracts the maximum power available from a source, such as a solar electric generator, wherein the output impedance of the source varies with temperature. The controller varies the duty cycle and, therefore, the average value of the current applied to the motor. As a result, the speed and power output of the motor vary, along with the apparent input impedance of the motor, so as to match the power input to the motor to the maximum that can be provided by the source. Specifically, the controller compares successive values of the measured velocity to sense an increment or decrement therein, the resulting increment or decrement being utilized to vary the duration of the pulses and, thereby, to adjust the apparent motor impedance and thus the motor output pcwer.
A further mode of operation maximizes the efficiency of electromechanical power conversion. It has been found that maxlmum .
mab/ ~

6 ~ 9 power is converted into useful work when the ratio of motor torque to current is at or near a maximum, this corresponding to the maximum value of the back electromotive force (EMF).
Accordingly, the controller energizes windings only when back EMF is at or near a maximum.
A still further mode of operation is position tracking.
A desired position and a measured position are compared and the result used to control windlng current to reduce the position error. Again, winding current is compared with upper and lower threshholds and windings energized when the current reaches the lower threshhold and deenergized when the current reaches the upper threshhold.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will now be explained in - connection with the accompanying drawings wherein: -Figure 1 is a functional block diagram of an electromechanical eneIgy conversion system in accordarce with the cr/~

1~72 invention;
Figure 2 is a schema-tic diagram of a ~lall sensor of Figure l;
Figure 3 is a schematic diagram of a swi-tch of the bridge circui-t of Fiqure l;
Figure 4 is a schematic diagram of a current sensing circuit of Figure l;
Figure 5 is a graph of Hall sensor voltages produced by the Hall sensors of Figure l;
Figure 6 is a functional block diagram of a sector unit of Figure l;
Figure 7 is a schematic diagram of a controller of Figure l;
Figure 8 is a functional block diagram of a position measuring unit of Figure l;
Figure 9 is a functionaI block diagram of a velocity/
position command unit of Figure l;
Figure 10 is a block diagram of a velocity measuring unit of Figure l;
: 20 Figure 11, adjacent Figure 6, is a block diagram , of a current modulator of Figure 1 for a velocity tracking mode ~ ~ of motor operation;
: ~ Figure 12, adjacent Figure 7, is a block diagram of a current modulator of Figure 1 for a power transfer . maximizing mode of motor operations;
. Figure 13 is a block diagram of a current modulator of Figure 1 for an efficiency maximizing mode of motor operation; and .
.~ - 6 -: csm/~;~

1 ~726~9 Figure 14 is a functional block diagram of an electro-mechanical energy conversion system in accordance with the present inven-tion implemented by means of a programmed digital microccmputer.

DETAlT~n DESCRIPTION
. . ~
Referring now to Figure l, there is shown an electro-mechanical conversion system 50 comprising a DC motor 52 which is coupled ; to a source of power 54 by a bridge circuit 56. By way of example, motor 52 is a rotary DC brushless motor having a four pole, permanent magnet rotor 58 and a stator having three phase, wye-connected windings 60. Bridge circuit 56 comprises six switches 62, arranged in pairs, one pair for each of the three windings 60. Between each pair of switches and each winding is a current sensor 64.
Three Hall sensors 66j further identified by the legends Hl, H2 and H3, measure the relative position of the rotor and the stator~
me Hall sensors are secured to the stator and are positioned about a magnetized disc 68 which is mechanically coupled (dashed line 70) to rotor 58.
Referring to Figure 2, each Hall sensor 66 comprises a Hall effect device 72 upon which is impressed a DC bias voltage. me output of device 72 is coupled ~o the input of amplifier 78 which is biased by resistors 80 and 82. m e magnetic field B of disc 68 passes through device 72 causing the output voltage thereof to vary sinusoidally.
The Hall device output is linearly amplified by amplifier 78.

nab/ ~

I ~2~

Referring to Flgure 3, each switch comprises a transistor 86 having a diode connected across the collector-emitter junction to provide a path for winding currents when transistor 86 is turned off.
Resistor 90 and capacitor 92 filter transient currents. Base driver circuit 94 turns transistor 86 on and off and is optically coupled to control terminal 96 by a photodicde 98. Power for base d~iver circuit 94 is provided by a conventional supply (not shown).
Referring to Figure 4, current sensor 64 comprises a current sensing resistor 100, having a low value, which provides a voltage drop, proportional to the winding current, which is amplified by amplifier 102. The polarity of the output of amplifier 102 reverses when the current flowing through resistor 100 reverses.
The three Hall sensors 66 are mechanically spaced apart 60 degrees along the periphery of the disc 68, which corresponds to a spacing of 120 electrical degrees in the graph of Figure 5. The 60 degree mechanical spacing is equivalent to the 120 degree electrical spacing because of the four ma~netlc poles of disc 68. The waveforms in Figure 5 repeat every 360 electrical degrees, which corresponds to 180 mechanical degrees of rotation. For an eight pole rotor the Hall wave-orms would repeat every 90 degrees of mechanical rotation.
Co~mutation of the currents in wind mgs 60 occurs once every 60 electrical degrees, which corresponds to a change of winding current with every 30 degrees of mechanical rotation of rotor 58. Disc 68 is or~ented relative to the rotor 58 so as to provide ccmmutation signals whenever a Hall voltage crosses zero, which occurs every 60 electrical degrees, thus defining 60 degree electrical sectors. In the mab/ r~ ~

6 ~ ~

case of a four pole ~otor, then, the entire commutation process is repeated twice during each revolution of rotor 58. As will be seen sub-sequently, the end oL a sector is readily detected by comparing the Hall output yoltage with a reference signal o zero volts. By using a non-zero reference other rotor posltions can be determined. The sinusoidal traces Hl-H3 in Figure 5 are sufficiently linear m the vicinity of the horizontal axis so that the position of rotor 58 may be regarded as being proportional to the magnitude of the Hall voltage in that region.
Also, as will be seen subsequently, it is possible to switch from one trace to another to obtain successive quasi-linear voltages mdicative of rotor position.
~eferring back to Figure 1, system 50 includes comparators 106 which compare the Hall voltages with a reference signal obtained from terminal Al of a controller 108 (descriEed subsequently with reference to Figure 7.) The outputs of comparators 106 are coupled by switch 110 to register 112 which stores the values of the c~ll~arator output voltages.
Each comFarator output voltage is either high (logic 1) or low (logic 0).
A logic 1 exists when the Hall voltage is greater than the reference, while a logic 0 exists when the Hall voltage is less than the reference.
Thus, the three comparator output signals stored in the register 112 constitute a three-bit digital signal in gray code which, as shcwn in Figure 5, uniauely identify one of the six co~lmutation sectors. Sector unit 114 (described with reference to Pigure 61 converts the number in register 112 from gray code to a standard logic format. A sector identi-fication signal appears at terminal E of sector unit 114, while a sector change signal appears at terminal F.

_ 9 _ ~ !7 2 ~ 8 9 The operation of bridge cixcuit 56 is controlled by sig-nals from a read-only memoxy (R3M) 116. ROM 116 is addxessed by the sector identification signal at terminal E, a torque command signal on line 118 and cuxrent command signals from terminal I of current mcdulator 120 (described later). R~M 116 has sufficient storage for each permis-sible ccmbinatio~ of signals for the SLX control terminals 96 of the six switches 62.
To facilitate the description of bridge circuit 56, it is convenient to further identify the switches with the legends A-F, and to further identify windings 60 with the legions A-C. Thus, by way of example, if switches 62A and 62E are conducting, then current flGws from windin~ 60B into winding 60A. If rotor 58 is to be torcued in the opposite direction, then switches 62B and 62D would be conducting and curxent wculd flcw frcm winding 60A through winding 60B. Pulse widtn modulation is effected by controlling the time periods during which the various switches are in conduction.
Controller 108 pro~ides a reference signal at terminal Al for comparators 106 and a sector select signal at terminal Bl for switch 110 to either select a specific comparator or to sequentially sample each of the comparators. The reference signal at terminal Al and the select signal at terminal Bl of controller 108 may be provided by circuitry within the controller 108 or, alternatively, may simply be coupled through the controller lQ8 via the terminals A2 and B2 from a position measuring unit 122 (described hereinafter with reference to Figures 7 and 8~.
Position measuring unit 122 is utilized for accurately tracking the position of rotor 68 when system 50 operates in a position following mode. The position measuring function is accomplished by mab/ ~

~ l~2689 setting a value for the reference signal at terminal Al corresponding to a value of Hall voltage which is to be reached at a future ti~!e and prov;~ding a signal at terminals Bl-B2 for selecting the appropriate com-parator output signal. When the logic level of the signal at terminal D changes this indicates that rotor 68 has attained the position corres-ponding to the value of the reference signal at ternunal A1.
A velocity measuring unit 124 is also provided for measuring the velocity of rotor 58 when system 50 operates in a velocity tracking mode. Velocity measuring unit 124 measures velocity either by counting sector change signals at terminal F over a predesignated interval of time or by counting clock pulses between sector change signals at termlnal F and obtaining the reciprocal of the count. The first method of velocity measurement is preferred for high speed rotation and the second for lcw speed rotation.
~ velocity/position ccmmand unit 126 selects either the position measurement fram terminal G of position measuring unit 122 or the velocity measurement at terminal M of velocity measuring unit 124 and couples it to terminal L of current modulator 120 (,described herein-after with reference to Figure 9),. Command unit 126 also directs controller 108 by a signal at terminal R to apply either the reference and select signals at terminals A2 and B2 or the corresponding signals at terminals Al and Bl to com,parators 106 and switch 110. In addition, co~mand unit 126 designates a specific value of position or velocity at terminal K which is applied to current modulator 12Q and serves as the commanded position or velocity which is to ~e tracked by system 5Q.
As shown later in connection with Figure 11, modulator 12Q compares the mab/ ~

l 1~2~8~

commanded and measured quantities at termlnals K and L and develops a current ccmmand signal at terminal I based thereon.
The current ccmmand signal at termunal I of modulator 120 serves as a partial address for ROM 116 and provides for pulse width modulation of the currents in w mdings 60. Pulse width modulation is acccmplished by setting adjustable upper and lower bounds for a desired average value of the currents in the windings 60. A current command signal at terminal I is initiated whenever the measured current at terminal J falls below the lcwer bound, and i$ terminated whenever the measured current at terminal J rises above the upper bound.
Switch 128 is operated by R0M 116 to select the appro-priate current sensor 64 for providing the current measurement at terminal J, depending on which windings are energized. Thus, as ROM 116 ccm-mutates the winding currents, it also ccmm~ta~es the signals from current sensors 64. With reference to the preceding ex3mple wherein current flowed through windings 60A and 60B, but no current flowed through winding 60C, switch 128 insures that terminal J is coupled either to current sensor 64A or current sensor 64B, but not to current sensor 64C.
Referring now to E'igure 6, sector unit 114 comprises ROM
130, delays 132 and 134, and ccmparators 136 and 138. Sector unit 114 converts the gray code signal in register 112 to the sector identification signal at terminal E and to sector change signals at terminal F. As is shcwn in Figure 6, there ar.e two sector change signals, one indicating a sector change acccmpanied by clockwise rotation of rotor 58 and the other indicating a sector change accompanied by counterclockwise rotation. In response to an address from register 112, ~M 130 provides three digi~al words, the first being a numerical identification of the -`12 -mab/ ~

~ ~7~9 present sector, the second being a numerical identification of the next sector in the event that the rotor 58 is rotating in the clockwise direction, and the third being a numerical identification of the next sector in the event that the rotor 58 is rotating in the counter-clockwise direction.
Section unit 114, as well as other units in Figure 1, are controlled by timing and clwk signals from a system timer located in ccmmand unit 126. Successive co~parisons are made between the present sector and each of the next sectors by ccmparators 136 and 138 in response to clock signals which are provided by the system timer. ~elays 132 and 134 delay the application of the corresponding sector signals to ccmparators 136 and 138 so that the outputs from the comparators represent comparisons of the present sector with the previously predicted values of the n~t sector. The clock pulses occur many times during each sector and many comparisons are made during each sector. If no equality is found by either comparator a logic zero is produced at both cutput termunals, indicating that no sector change has occured. If a sector change has occurred with clockwise rotation, then the present value of the sector will be equal to the previously predicted value of the next sector 2Q for clockwise rotat;on, and ccmparator 138 will produce a logic 1.
Similarly, if a sector change has occurred with counterclockwise rotation, the value of the present sector will be equal to the previously predicted value of the next sector ~or counterclockwise rotation, and comparator 136 will produce a logic 1.
Referring ncw to Figure 7, controller 108 includes ter-minals A1, Bl, A2, B2 and R which were previously descriked with reference to Figure 1. Controller 108 camprises switch 140, D/A converter 142, .~

~ ~ 6 ~ 9 source 144 (such as a digital encGder providing a reference signal of zero value), and counter 146 (which counts modulo 3). The mcdulo 3 oounting corresponds to the three Hall sensors 66 of Figure 1. As shown, switch 140 couples a reference signal from terminal A2 to terminal Al, the reference being utilized by comparators 106 for comparison with the sinusoidal waveforms produced by Hall sensors 66 upon rotation of disc 68. Also, as shown, switch 140 couples a Hall select signal from terminal B2 to terminal Bl for operating switch 110 of Figure 1 to select a comparator 106 and its corresponding Hall sensor 66. me signals at terminals A2 and B2 are provided by position measuring unit 122.
In the alternate position of switch 140 the reference signal for terminal Al is provided by source 144 and the selector signal at terminal B1 is provided by counter 146. In response to clock signals fram the system timer counter 146 provides a sequence of three addresses for switch 110 causing it to sequentially sample the output signals fr~m comparators 106. Switch 140 is operated by the signal at terminal R provided by ccmmand unit 126.
Referring now to Figure 8, positioning measuring unit 122 camprises counter 180, source 182 of a digital word representing the numeral 1, summer 184, register 186, switch 188, ROM 190 and ROM 192.
ROM 192 provides the reference signal at terminal A2 and the selector signal at terminal B2 in response to an address from ROM 190 indicating the position of the rotor in electrical degrees. AS seen in graph 194 located adjacent RQM 192, the .reference signal at telminal A2 is a stepwise signal that tracks the sinusoidal waveform provided by Hall mab/ ~

.'~. 172~g sensors 66 upon rotation of rotor 58. The values of the reference signal precede the occurrences of the corresponding values of the Hall voltage.
In other words, the system waits until the rotor 58 has experienced an incremental rotation which brings the Hall voltage up (or dcwn) to the value of the reference signal~ When that cccurs a ccmparator 106 changes state, signifying that rotor 58 has attained a specific, known position.
Referring to the graph of Fi~u~e 5, it ~i~l~ be noted that only the lineæ regions of the Hall voltages are utilized. Accor-dingly, in the graph 194 in Figure 8, the stepwise changes in the reference signals are shown only during the linear portions of the trace representing the Hall voltage. In accordance with Figure 5, a different Hall trace is selected at the midpoint of each sector so as to utilize only linear portions. That selection is accomplished by switch 110 of Figure 1 in response to the signals at terminals Bl and B2. Since RQM
192 provides both the value of the reference at terminals A2 as well as the selector signal at terminal B2, the selection of the Hall trace is coordinated for all values of the reference signal.
Counter 180 provides a count which is coupled by switch 188 to ROM 192 and constitutes a partial address. The remainder of the address is provided by the speed signal at terminal M. The count from counter 180 on line 198 represents, apart from a scale factor, the position of the rotor 58 appearing on line 196. Thus, if ea~h count on line 198 represen~s 5 degrees, then a total of 72 counts represents 360 degrees. Similarly, if each count on line 198 represents 20 degrees, then mab/C~

i 1 7 ~

a count of 18 on line 198 represents 360 degrees. When RDM 190 producesthe digital word representing 360 degrees, it also provides a reset signal which is coupled to the reset terminal of counter 180 by line 200 for resetting counter 180 to zero. The scale factor utilized by ROM 190 is determined by the speed signal at terminal M. ~OM 190 contains differ-ent sets of the words which can appear on line 196, one set corresponding to each of several different selected speeds at terminal M. By using different scale factors, the magnitude of the stepwise increments of the reference signal at terminal A2 is increased at high speed and there are fewer steps per sector at high speed. Given this scallng, the rate at which ccnparators 106 are sampled can remain substantially unchanged despite large variations in the speed of rotation.
Since counter 180 is reset every 360 electrical degrees, a second counter 202 is provided for counting in synchronism with counter 180, but without periodic resetting. In this manner, the count of counter 202 represents the present position of the rotor or of a load mechanically coupled to the rotor by a gear train.
Counter 180 must be able to count up or dcwn depending on the direction of rotation of rotor 58. To sense the proper direction of counting, a v~lue of 1 from source 182 is subtracted from the count on line 198 by summer 184, the difference being stored in register 186.
Switch 188 is thus provided with a choice of two input signals, the count on line 198 and a number equal to one less than the count on line 198 from the register 186. Switch 188 is toggled between the t~ input .

mab/ ~

~ 172fi~3 signals by a switch control line which is activated by a flip-flop 204 which in turn is toggled by clock pulses from the system timer. The switch control signal on line 206 i5 coupled by a register 208 to the up/down control terminal of counters 180 and 202.
The Hall comparator output signal at termunal D of switch 110 in Figure 1 is coupled to register 208 by switch 216 for strobing the register to accept the switch control signal on line 206.
The presence of the ccmparator output signal on line 210 indicates that a successful conparison has been made between the Hall voltage and either the reference si.gnal corresponding to the count on line 198, or the reference signal corresponding to the decremented count from the register .
186. The toggling between the count on line 198 and the decremented count is also shown in the graph 194 wherein the value of the reference oscillates back and forth as shcwn by the dotted trace 212. Thus, the switch control signal present on line 206 when a Hall camparator output signal is present on line 210 represents the direction of rotation of the rotor 58. Upon strobing the signal on line 206 into register 208, counters 180 and 202 are made to count up, or count down, in accordance with t~e direction of rotation of the rotor 58. To insure that counters 180 and 202 do not advance until after the switch control signal on line 206 has been strobed into register 208 and the direction of counting fixed, a delay 214 is interposed between line 210 and counters 180 and 202.
With reference to the quasi-linear regions in the graph of Figure 5, it is noted that alternate ones of the regions alternate in their respective slopes. mus, a positive error signal obtained with ,~ ', mab/ Cb one slope corresponds to a negative error signal obtained with the next slope. To compensate for the foregoing shlft in polarity, switch 216 and inverter 218 are provided in Figure 8 between termlnal D and the line 210. Switch 216 selects either the signal at terminal D or its complement. Switch 216 is operated by ROM 192 in synchronism with the selection of Hall sensors 66 so that the Hall comparator output signal on line 210 is al~ays of the correct polarity for strobing register 208 and for advancing the count of counters 180 and 202. me ccmparator signal on line 210 also strohes register 220 for reading the position count of counter 202 before it advances to the next count.
Acquisition circuitry is also provided to initially acqulre the position of rotor 58 so that position tracking can ccmmence.
The acquisition circuitry includes ~OM 222, summer 224, successive approxImation register 226 and inverter 228. The count of counter 180 is first brought into the proper sector by means of ROM 222, which is coupled by summer 224 to the preset terminal of counter 180. The sector signal on terminal E, seen also in Figure 1, addresses RDM 222 to provide the count designating the beginning of that sector. Accordingly, counter 180 begins to count at the beg~Lnning of the sector. That count is then modified by summer 224 which adds a signal fram register 226 to the signal fram ROM 2220 Successive approximation register 226 provides digital words representing a set of numerical ~alues which oscillate in magnitude and decrease toward a stable value. Register 226 is controlled by a feedback signal on line 210 which indicates to register 226 that the value of its output digital word is to be incremented or decremented.
The logic state (1 or 0) of the signal on line 210 depends on whether the ~/ ~b ~ ~2689 value of the reference signal is yreater than or less than the value of the Hall voltage. Register 226, therefore, responds to the logic level on line 210 to continuously advance the presumed position of the rotor 58 until the logic level on 210 shifts at which point the register 226 decrements the presumed position of the rotor 58. At the end of the sequence of the successive approximations, the preset value of counter 180, as well as that of counter 202, accurately reflects the position of ro~or 58.
Referring now to Figure 9, velocity/position ccmmand unit 126 has terminals M, G, L, K and R which were previously seen in Figure 1.
Command unit 126 ccmprises switches 250 and 252, su~mer 254, register 256, ROM 258, clock 260, and counter 262. With switches 250 and 252 in the positions shcwn, the measured velocity at terminal M is coupled directly to terminal L and the cc~manded velocity signal appears at termi-nal K. m e ccmmanded velocity signal is provided by ~OM 258 based on a desired position to which the rotor 58 of Figure 1 is to be rotated.
ROM 258 is, therefore, utilized in a composite mode of operation wherein the rotor is brought to a designated position in a two-step operation.
The first step involves operating the motor at a high speed, or with a designated velocity profile, to bring the rotor to approximately ~he desired position. ~hereafter, the system operates in a position following mode. During the first step, velocity signals appear at both terminals L and K, the commanded velocity appearing at terminal K and the measured velocity appearing at term mal L. During the second step, the ccmmanded position appears at termlnal K and the measured position appears at terminal L. Switch 250 acccmplishes the transfer in operation between m3b/~ ' i 1~26~39 the first and second steps. Switch 252 is utilized to replace the two-step operation with a velocity follawing mode of operation. In the velocity following mode, a measured velocity appears at terminal L while a commanded velocity appears at terminal K.
With respect to the two-step operation, the velocity profile is provided by R0M 258 ir. response to a succession of address signals coupled thereto fram counter 262 which counts clock pulse signals from clock 260 under ccmmand of a timing signal at terminal T. The aforementioned system timer, here identified by the legend 264, provides the timing signal at terminal T for operating clock 260 as well as the timing signals and clock pulse signals for the other units of the system 50 shcwn in Figure 1. Accordingly, as the counter 262 advances, RCM 258 provides a succession of output words setting the velocities at which the rotor is to rotate at specific instants of time, a simple form of velocity profile being shown in a graph 266 located adjacent R~M 258.
Counter 262 provides only a partial address to RM~ 258, the remainder of the address being provided by register 256. Register 256 stores the difference between the desired final position and the present position of the rotor 58. In accordance with the portion of the address provided by register 256, the velocity profile of R~M 258 is altered for relatively short distances of rotor travel where it would be impractical to bring the motor up to maximum speed. Accordingly, the partial address from register 256 selects an appropriate one of a set of velocity profiles for use for relatively small differences in position.
Command unit 126 further comprises CQmparatOr 268, reference 270 (ccmprising a source of a digital word representing a posi-~b~C~

~ 1 7 2 ~ 3 tion error llmit), position encoder 272 (for designating a desired end position for the rotor), and velocity encoder 274 (for designating a desired velocity at which the motor is to operate). In lieu of encoders 272 and 274, it is to be understood that digital words provided by an external system, such as an inertial navigator of an aircraft, may be entered into the system at this point for designating a desired position and/or a desired velocity. Encoders 272 and 274 strobe system tim2r 264 to begin timing the various system operations.
Summer 254 produces a position error signal by subtracting the measured position signal at terminal G frQm the desired position designated by encoder 272. This difference signal, in addition to being applied to register 256, is also coupled to ccmparator 268 which comp æ es the difference in position with a reference corresponding to a position error limit~ If the difference in position is less than the reference (the position error being less than the position error limit), then CQmparator 268 activates switch 250 and the measured position at terminal G is coupled to terminal L and the designated final positlon of the rotor 58 is coupled to term m al K. The transition ~etween the first and second steps in the two-step operation for bringing the rotor 58 to a designated position has thus been accamplished~
Switch 252 can be actuated by velocity encoder 274 so that only the velocity, as cammanded by encoder 274, appears at the terminal K. Thus, command unit 126 permits the system to operate either in a velocity following mode or in the two-step sequence ccmprising a velocity tracking mode follcwed by a position tracking m~de. The ~o-~ 21 -mab/ ~l ~

~ L~2~8~

step sequence is initiated by position encoder 272 which produces a signal at terminal R for operating switch 140 in controller 108 (Fig~re 7). Position encoder 272 causes the reference signals and the Hall selection signals appearing at terminals A2 and s2 of position measuring unit 122 (Figure 8) to appear at termlnals Al and B1 of controller 108 for operation of camparators 106 as previously described.
Referring now to Figure 10, velocity measuring unit 124 comprises two channels, the upper channel being utilized for high speed, and the lower channel for low speed. me diréction of rotation is provided by OR gate 276 and J-K flip-flop 278 which are coupled to the two sector change signals at terminal F. me direction of the rotation, appearing on line 280, and the speed of rotation, appearing on line 282, provide a ccmplete description of the velocity. OR gate 276 provides on line 284 either the clockwise change signal or the counterclockwise change signal from terminal F, the signal on line 284 thereby signifying a change in sector irrespective of direction of rotation. J-K flip-flop 278 provides on line 280 a logic 1 or a logic 0 depending on which of the sector change lines at term m al F is at a logic 1 state. Accordingly, the logic state of the signal on line 280 signifies the direction of rotation.
The upper channel of Figure 10 comprises gate 286, timer 288, inverter 290, counter 292, register 294, source 296 of a reference signal, cc~parator 2g8 and an indicator 300 of speed. The lower channel ccmprises flip-flop 302, clock 304, gate 3Q6, inverter 308, counter 310, register 312, ROM 314 and an indicator 316 of speed. The upper and lower channels are coupled by switch 318 to shift register 320, -the output of which is coupled by a subtractor 322 to an indicator 324 of acceleration.

~ 17~i89 For measuring high speed rotation, counter 292 counts the sector change signals on line 284, a seouence of sector change signals being passed by gate 286 to counter 292 m response to a timing signal from timer 288. Operation of timer 288 is initiated ~y a timing signal at terminal T from system timer 264 (Figure 9). The number of sector change signals counted by counter 292 during the predetermined interval of time is proportional to the speed of rotation and is therefore, apart from a scale factor, equal to the speed of rot;tion. Register 294 is strobed by timer 288 via inverter 290 to read the contents of counter 292 at the conclusIon of the counting interval. The resultmg count stored in register 294 is applied to indicator 300 for presenting an indication of speed.
For measuring low speed rotation, counter 310 counts pulses from clock 304 during the interval of time which elapses between consecutive sector change signals on line 284. The clcck pulses from clock 304 æe passed by gate 306 to counter 310, gate 306 being activated by the toggling of flip~flap 302 by successive ones of the sector change signals on line 284. At the conclusion of the counting interval, the trailing edge of the pulse from flip~lop 302 is passed by inverter 308 to strobe register 312 which stores the contents of counter 310 for addressing RDM 314. The count in register 312 is proportional to the in-terval between successive sector change si~nals Since the speed of rotation is inversely proportional to the mterval between successive sector change signals, RCM 314 provides output words whi~ch are numerically ~aual to the reciprocal of the address signal appli~ed to RQM 314. The output from R~M 314 is applied to indicator 316 ~or presenting an indication o~ speed.

mab/ ~b '~ L'72~g9 To provide an indication of acceleration, successive values of speed are stored in shift register 320. The successive values are then applied to subtractor 322 which determines the difference between the tw~ speed measurements. The difference signal from sub-tractor 322 is then applied to indicator 324 for presenting an indica-tion of acceleration.
To provide an indication of speed on line 282 as well as an indication of acceleration, for both high speed and low speed, switch 318 selects either the output of register 294 or the output of R~M 314.
Switch 318 is driven by comparator 298 which compares the speed signal at the output of register 294 with a reference signal provided by source 296. When the output from register 294 i~s greater than the reference, comparator 298 places switch 318 in the high speed position and couples the output from register 294 to line 282. ~hen the ^~utput fr~m register 294 drops belcw the reference, cQmparator 298 places swi~ch 318 in the low speed position and couples the output from ~DM 314 to line 282.
Referring now to Figure 11, current mcdulator 120 ccm-prises ROM 350, D/A converters 352 and 354, amplifier 356, comparators 358 and 360, and flip-flop 362. R0M 350 receives an address on line 364 which designates the desired amplitude and sense of the current for the windings 60 (F~igure 1). The value of the current commanded via the address on line 364 is related to the average value of the current.
The actual current, as measured by the current sensors 64 (Figure 1) and coupled to modulator 120 via terminal J, is portrayed in graph 366 located adjacent terminal J Ln Figure 11.

mab/ ~

~ ~ ~26l~

To energize the windings by switches 62 of bridge cir-cuit 56 (Figure 1), RQM 350 provides a one-bit signal on line 118 designating the sense of the current corresponding to a clcckwise or counter clockwise motor torque. In addition, ROM 350 provides two digital words in response to the address on line 364. one being an upper current limit, which is applied to D/A converter 352, and the other being a lawer current limit, which is a~plied to D/A converter 354. me analog voltages produced by converters 352 and 354 are applied as reference signals to ccmparators 358 and 360 respectively.
The measured current at terminal J is amplified by amplifier 356 and applied to ca~parators 358 and 360. If the amplitude of the ~easured current exceeds the upper bound, cGmparator 358 products a logic 1 si~nal which sets flip-flop 362. If the value of the ~easured current is less than the lswer bound, cGmparatar 360 produces a logic 1 signal which resets fliprflop 362. The sutput of flip-flop 362 is connected by terminal I to bridge control RCM 116 (~igure 1) and is either a lGgic 1 or a logic 0. One of these lGgic states causes RQM 116 to initiate a current cGnmand, whi~le the other causes R~M 116 to terminate a current cGmmand. Thus, for an exemplary current having a positive sense, when the current reaches the upper bound, a current command is term mated, and when the current reaches the lower ~ound, a current cammand is initiated. me signal at termunal I i~s also shcwn ~y the dashe~ t~ace in graph 366. In view o the inductance and i~1tering effect o~ windings 60, sharp current pulses do not appear but, rather, mab/ab 6 ~ 9 relatively small amplitude undulations composed of exponentially increasing and decreasing ccmponents are produced, the current undulating about the average value.
As previously noted, the signals at terminals K and L
may be either position or velocity signals, the signal at term mal K
being the desired value and the signal at terminal L the measured value.
The current command signal on line 364 results from an integration of the difference bet~een the signals at texminals K and L. The digital word representing the difference between the signals at terminals K and L is simply a one bit word in this illustrative embodiment of the invention, it being understood that multiple bit words may also be utilized.
The one bit word describing the difference between the signals at terminals K and L is produced by ccmparator 368. The integration operation begins with summer 370, register 372 and a source 374 of a digital word having a value of unity. The output of register 372 is coupled to one input of su~mer 370. The output of source 374 is coupled to the other input of s~~mmer 370. ~he output of comparator 368 seryes as a sign bit for ordering the summer 370 to add, or subtract, the si~nal from source 374 to the contents of register 372. Upon successive strobing the register 372, the value of the contents of register 372 rises or falls in accordance with the sign bit from ccm-pæ ator 368. The strobing o~ register 372 is acco~plished by the two sector change signals at terminal F which are coupled by QR gate 376 to register 372 to provide strobLng at the beginning o~ each sector irrespective of the direction of rotation.

~ 26 .
:~, mab/ C~

.
2 ~ 8 ~

Modulator 120 further comprises sources 378 and 380 of reference signals, comparators 382 and 384, O~ gate 386, a source 388 of a digital word having a value of unity, summer 390, register 392 and source 394, which may be an encoder, which provides a digital word which presets register 392 to a specific value.
m e output of register 372 is ccmpared with an upper reference from source 378 and with a lcwer reference frQm source 380 by means of ccmparators 382 and 384, respectively. If the register output is greater than the upper reference or less than the lcwer reference, then comparator 382 or conparator 384, respectively, passes a logic 1 signal via OR gate 386 to strobe register 392. The lcgic level of ccmparator 384 also serves as a sign bit for operating summer 390 in the same fashion as was descrlbed previously for summer 370. With each strcbing of register 392, the content thereof is incremented or decre~ ted by 1 from source 388 in accordance with the lcgic level of the sign bit from ccmparator 384. Thus, for small changes in the valuè of the contents of register 372, there is no strobing of register 392. However, if register 372 experiences a relatively large change, then successive strobings of register 392 cccur with a consequent incrementing or decrementing of the value of the nu~ber stored therein.
The value of the contents of register 392 appears on line 364 as the address of RQM 350. In thls manner current mcdulator 120 provides a filtering operati~n via an integration of the loop error si~nal ~the difference between the signals at the terminals K and L) to acccmpllsh ~ 27 -mab/Cl b ~ 1 7 ~

closed loop feedback control.
In operation, when the desired velocit~ (or position) exceeds the measured velocity (or position) over an interval of time extending through a plurality of sectars, the reference signals for comparators 358 and 360 are raised by ROM 350 to increase the average value of the current in the motor windings. Similarly, when the value of the signal at terminal K drops below that of the signal at terminal L, RQM 350 lowers the value of the reference signals to com-parators 358 and 360, with a resultant diminution in the average value of the winding current.
Referring now to Figure 12, there is shown an alternative form of current modulator 400 which may be utilized in place of modulator 120 when a position or velocity following mode of operation is not desired. Modulator 400 can be used when it is desired to maximize the power obtained frcm a motor utilizing a power souroe of limited capaci~y, such as a solar cell. In certain operationst such as the pumping of water, the actual speed of the motor driving the pump (not shown) need not be maintained at a predetermined value since water can be pumped at varymg rates. The product of the motor torque and the -motor speed, however, is determinative of the motor power output and t~e amcunt of water which can be pumped. AcccrdLngly, current ~cdulator 400 varies the apparent impedence presented by the motor to the source, as well as the speed o~ rotation, to provide maximum power transfer ~rom the source to the motor.
Mkdulator 400 comprises frequency divider 402 (for dividing dcwn the frequency of the clock pulses), counter 404 (for ma~/ ~

i 1 7~ 9 counting the cloek pulses), ecmparator 406, ~lip-flop 408, counter 410, and a source 412 of a digital word, shift register 414, and eomparator 416. Flip-flop 408 is suecessively set and reset by eo~nter 404 and comparator 406 to provide a pulse train at terminal I wherein eaeh pulse is at a logie level of 1 and the space between pulses is at a logie level of 0. The duration of each pulse at terminal I is equal to the duration of a current pulse ecmmanded by R~M 116 (~igure 1). A
variati~n in the duration of the pulses a~ terminal I results in a eorresponding variation in the duty cycle of the eurrent pulses applied by bridge eircuit 56 (~i~ure 11. When the duty cyele is low, relatively little eurrent flcws, on the average, fram source 54. With a higher duty eyele, more current flcws. Thus, the ratio of the voltage of source 54 to the average current provided thereby ean be made to vary with a resultant shift in the magnitude o the apparent inçedence of the motor. Also, there is a corresponding change in the pewer applied to the motor, namely, the product of the voltage of source 54 times the average current.
To test whether the motor is receiving maximum pcwer, modulator 400 monitors the measured veloeity at terminal L. The signals at termlnals K, F and J are not utilized by modulator 400.
Modulator 400 provides a slcw variation in the duty of the signal at termonal I, the variation being slcw as compared to the dynamic response time of the motor 52 and its load. A variation in the duty eycle may result in either an inerease or a decrease in the speed of rotation. Assuming that the load, such as the aforementioned water pump, produces a relatively eonstant torque against the rotor over a useful range of motor speeds, the motor speed may be taken as a measure of the p~wer output of the motor. Accordingly, by observing the motor ~1 mab/

i -:L7~89 speed resulting from a slow variation in the duty cycle, modulator 400 can adjust the duty cycle to provide for the maxLmum pcwer transfer to the motor.
The outputs from counter 410 and reference 412 c~nprise a digital word having a value against which cc~nparator 406 compares the contents of counter 404. Counter 404 counts modulus N2 and resets itself, at which time it applies a pulse to the set input of flip-flop 408. Later, when the count reaches the number provided by counter 410 and reference 412, the comparator 406 resets ~lip-flop 408. If the count of counter 410 and the digital word from reference 412 remain constant, then each pulse of the waveform at terminal I is of constant duration.
A slcw variation in the duration of the pulses at termlnal I is Produced by divider 402 and counter 410. Ass~ming that the value of Nl of divider 402 is eight times the value of N2, then one clock pulse is applied by divider 402 to counter 411 for every eight o~tput pulses from counter 404 and counter 410 slowly advances its count. The most signifieant bits of the digital word froTn counter 41Q and reference 412 are of constant value and are provided by reference 412. The least significant bits are prcvided by counter 410. There is, therefore, a slcw variation of and a relatively srnall change in the number provided by counter 410 and reference 412.
Shift re~ister 414 stores successive values of measured velocity at termunal L, one sample o the measured velocity eing taken by register 414 with each strobing thereof By a clock pulse from divider 402. Two successive values of the measured velocity are mab/ ~

S ~ 9 extracted from register 414 and ccmpared in comparator 416. The output signal of the camparator is coupled to the up/down control of counter 410 by a circuit comprising flip-flop 42n, AND gate 422 and RQM 424.
RDM 424, in response to a change in the speed of rotor 58, and in response to the direction of the counting by counter 410, provides the logic for ccmmanding a change . the direction of counting by counter 410.
The operation of ROM 424 in conjunction with the other circuit elements is set forth below. Lines 426 and 428 provide the address to RDM 424, line 426 providing a partial address ~hich signals the direction of counting by counter 410. Line 428 provides the remaining portion of the address which signals whether the speed of rotation is rising or falling. If the speed is rising, a later velocity sample V2 is larger than ~n earlier sample Vl. If speed is falling, an earlier velocity sample Vl is larger than a later sample V2. Comparator 416 cGmpares the two velocity samples and provides a logic 1 signal on line 428 for rising speed, and a logic 0 signal for falling speed. With respect to line 426, a logic 1 indicates that counter 410 is counting UP! while a logic 0 indicates that counter 410 is counting down. '~hus, the address to R~M 424 describes both the state of counting and the state of changing speed.
~QM 424 enables AND gate 422 to pass a clock pulse from divider 402 to strobe flip-flop 420. The strobing toggles flip-flop 420 to change the direction of counting by counter 410. For example, if rotor speed is falling while counter 410 is counting up, RQM 424 directs a strobiny of flip-flop 420 to alter the direction of counting mab/~

i lL726.~9 so that count~r 410 counts down. On the other hand, if rotor speed is falling, while counter 410 is counting dcwn, then the R~M 424 commands a strobing of flip-flop 420 to force counter 410 to count up. If rotor speed is rising R~M 424 retains the state of flip-flop 420 by applying a logic 0 signal to AND gate 422. The count of counter 410 is retained at or approximately at the value which results in a duty cycle in the pulse train at terminal I which maximizes the pcwer transfer frcm the source 54 to the motor 52 of Figure 1.
Referring now to Figure 13, there is shcwn a further current modulator 450 which may be utilized with current modulator 120 and bridge circuit 56 of Figure 1, in slightly modified form, when it is desired to operate a motor at maximum efficiency. Before proceeding with a description of Figure 13, it is noted that the stator windings of a motor may be connected in a star configuration, the wye configura-tion of Figure 1 being one example of a star configuration. Alternatively, windings may not be connected to each other in which event a pair of leads is brought out. for each windiny for independent excitation thereof.
An example of a motor with independently excited windings is the two phase motor wherein the windings are excited with currents that are 90 degrees out of phase so as to produce a rotatlng magnetic field.
In the case of a motor with independently excited stator windings, it has been found that greater efficiency in the conversion of electrical energy to mechanical energy is obtained by limiting the flow of current in a winding to those intervals of time when the ratio of torque to current is at or near a maximum. The ratio of torque to current varies in accordance with the positions of the rotor poles relative to the stator windings. This ratio varies in a sinusoidal mab/ ~

~ ~ ~2fi~

manner with rotation of the rotor, as do the Hall sensor output voltages.
TKus, the Hall voltages can be u-tilized to identify the interval of time when the torque to current ratio is at or near maximum to control energization of the windings so as to maximize the efficiency of motor operation. Current modulator 450 of Figure 13 terminates current flow during those periods when the toraue ~o current ratio is relatively low and thereby maximizes motor operating efficien~y.
To illustrate the connection of current modulator 450 with a motor, the three windings 60 of Figure 1 have been retained, but have been independently connected to a bridge circuit by bringing out a pair of leads for each winding as shown in modified motor 52A in Fiaure 13. Given these additional leads, bridge circuit 56 of Figure 1 has been mcdified to form bridge circuit 56A of Figure 13 wherein addi-tional branches with switches 62 are provided. A set of four switches 62 is ncw employed for each winding 60. Power supply 54 is coupled to each of the switches 62 following the connections Figure 1. Rf~1 116 of Fig~e 1 is modified to form ROM 116A of Figure 13 by providing additional storage and output lines for control of the additional switches in bridge circult 56A.
In current modulator 120 of Figure 11, a single output terminal I had been provided for ccmmanding the current to bridge circuit 56 of Figure 1 since a single current flows through the windings of the motor 52. However, in the case of motor 52A of Figure 13 wherein several currents may flow at one time, current modulator 120 of Figure 11 is modified in accordance with current modulator 120A
of Figure 13 to provide additional output control lines. In Figure 13, mab/ ~

2 ti ~ ~ .

only a portion of current mcdulator 120A is shcwn, the remainder being indentical to that of current modulator 120 of Figure 11. l~hus, in lieu of the single flip-flop 362 of Figure 11, three flip-flops 362 are provided in mcdulator 120A of Figure 13. I'he number of D/A converters and the number of comparators and amplifiers have been similarly increased. Thus, there are three sets of the comparators 358 and 360, three sets of the converters 352 and 354, and three of the amplifiers 356. Switch 128 of Figure 1 has been deleted in the em~odIment of Figure 13 s.ince the signals frcm all three current sensors 64 are now required simultaneously for operation of the three sets of comparators 358 and 360 for ccmparing the amplitudes of the respective winding currents with the upper and lower current bounds provided by the three sets of the converters 352 and 354. In addition, RDM 350 of Figure 11 has been modified to form R3M 350A of Figure 13 by tL'æ inclusion of additional storage and output lines for acccmmodating the additional sets of converters 352 and 354. me current command signal on line 364 which addresses ROM 350A of Figure 13 is the same current ccmmand signal on line 364 which addresses RaM 350 in Figure li.
~ me additional current modulator circuit 450 of Figure ; 20 13 is coupled between the output termlnals of current mcdulator 120A
and the input terminals of bridge circuit 56A. By comparison with the circuitry of Figures 1 and 11, wherein the signal at terminal I
from the single flip-flop 362 is coupled directly as an address line to ~OM 116, the circuit of Figure 13 provides that the outputs fron flip-flops ~362 in modulator 120A are coupled by AND gates 452 in modulator 450 and via respective terminals Il, I2 and I3 as address lines to RDM 116A. The other address lines to ~3M 116A are the torque and sector ~ 34 -mab/a~\

i :~72fi,~3 signals as described in Figure 1. Thus, the arrangement of connections in Figure 13 follows that of Figure 1 with the exception th~at three current ccmmand lines are provided in Figure 13 in lieu of the single current ccmmand line in Figure 1 and each current ccmmand line passes via an AND gate 452 in the additional modulator circuit 450. AND gates 452, as will now be described, inhibit the passage of the current ccmmand signals from flip-flops 362 during those intervals of time when the ratio of torque to current is too low to maximize the efficiency of the mo-tor 52A.
C~rrent modulation circuit 450 further comprises detec-tors 455, 456 and 457, counters 459, 460 and 461, flip-flops 463, 464 and 465, a set of three comparators 467, a set of three comparators 468, ROM 470, register 472, counter 474, and flip-flop 476. Detectors 455-457 decode the sector signal at terminal E of Figure 1 and detect the first, third and fifth sectors corresponding to zero, 120 and 240 electrical degrees.
In response to an appropriate signal at terminal E, detectors 455-457 strobe corresponding counters 459-461 to count clock pulses, the count in each counter representing the time elapsed in each sector. The counts in counters 459-461 are applied to the sets of comparators 467-468 for comp æison with a pair of digital words from E~M 470, the words designating the st æ t and the stop times during which current can be efficiently applied to the motor windings during the sectors defined by the respective E~all voltages. Ccmparators 467-468 are coupled respectively to the set and reset ternu~lals of flip-flops 463-465 which produce output pulses designating the intervals during mab/~k~

i ~ ~ 2 fi ~ ~

which current is applied to the correspondin~ motor windings. The outputs from flip-flops 463-465 activate respecti~e ones of AND gates 452 for passing the current c~nmand signals to R~M 116A.
Graphs 478 in Figure 13 shcw the sinusoidal variation in the ratio of torque to current as a function of time or, equivalently, as a function of rotor rotation. As previously noted, both the Hall voltages and the ratio of torque to current vary in a sinusoidal fashion.
Accordingly, each of the traces in graphs 478 is also labeled with the corresponding Hall voltage. The digital signals at termunals Il-I3 which connand the application of current to the respective motor windings are also shown in graphs 478, the signals being identified by the legends Il-I3. Graphs 478 shcw that the signals Il-I3 start after a zero crossing of the corresponding sinusoidal trace and terminate before the next zero crossing. The start and the stop signals applied by R~M 470 to comparators 467-468 correspond to the leading and the trailing edges of the current ccmmand signals Il-I3 as shown in graphs 478.
The start and stop times for the current co~mand signals depend on the speed of rotation of the rotor. For example, if the duration of a current comm~nd signal were to equal 20 degrees of the sinusoidal trace of the ratio of torque to current, the actual duration of the current ccmmand signal must be greater than 20 degrees at slow speeds, and less than 20 degrees at fast speeds. Accordingly, ~M 470 stores words designating the start and the stop times for different speeds of rotation.
A signal provided by register 472 addresses R~M 470 for mab/l~b i 1 ~ 2 6 ~ 9 selecting the start and stop words corresponding to the various speeds of rotation. The address signal provided by register 472 is obtained by means of flip-flop 476 and counter 454 which measure the duration of a sector. Fllp-flop 476 is toggled by either of the sector change signals which are coupled to flip-flop 476 from ten~inal F via OR gate 480. Counter 474 is stro~ed by flip-flop 467 to begin counting clock pulses, the count ter~inating upon the next toggling of flip-flop 476.
Plso, when counter 474 stops counting, flip-flop 476 strobes register 472 to read the count of counter 474. The output frcm register 472 is applied as the address to ROM 470 and is, therefore, the duration of the sector, which is proportional to the reciprocal of the rotor speed.
Thus, R~M 470 selects the appropriate start and stop words in accordance with the speed of rotation of the rotor.
Referring now to Figure 14 there ls shown a motor 52, with three phase windings 60 connected to bridge circuit 56, comprising power transistors and base drivers. Each leg of the motor winding contains a current sensing resistor 100 which develops a voltage pro-portional to winding current. The voltages proportional to winding current are amplified in floating current sensors 102 and one voltage is selected by bilateral switch 128. The motor is equipped with posi-tion sensors comprising three Hall devices 72 and proportional amplifiers 78. Output signals from these amplifiers are as shown in Figure 5.
The multiplexed current signal from bilateral switch 128 is amplified by amplifier 356 and, to~ether with the position signals from amplifiers 78, are ccmpared with analog voltage levels frcm D/A converters 142 and 352 Ln ccmparators 358 and 106. m e result of these ccmparisons is a set of five digital signals which are connected to microcomputer 500, "

mab/ o~

2 ~ 8 9 which may, for example be an R6500/1 manufactured by Rockwell Interna-tional. 'mese signals indicate the status of the motor to the micro-computer.
Outputs from the microcomputer control bridge circuit 56 and D/A converters 142 and 352. Port C of the microcomputer connects the microcomputer to an asynchronous ccmmunications device which may be a Rockwell 6522. Through this device the microcomputer can re oe ive external cammands and send status information to the source of the commands. It will be appreciated that in the absence of a stored program this system will not operate. It will also be appreciated that the mcdes of operation of the syst~m are limited only by capability of the microcomputer to detect the status of the motor and to switch pawer into the win~ings in response to external ccmmands or internally generated ccmmands. Thus, the most preferred embod~ent of the invention dis-closed in Figure 14 is capable of all of the illustrative modes of operation previously described, as well as m~ny others.
To illustrate how the system disclosed in ~igure 14 functions in one mode of operat;on, three subsidiary functions will first be described. These are ccm~lutation, pulse width modulation and speed measurement. Finally, a program cGmbining these types of functions in a ~ximum power transfer mode will be described.
Referring to Figure 5, the three Hall voltages Hl, H2 and H3 define six 60 degree sectors by their zero crossings. A unique identification for each sector is created in the system of Figure 14 at the output signals of comparators 106 when D/A converter 142 has its mab/ Ck~

I :~728,~

output set at the zero crossing level. To co~mutate the motor, the microcomputer sets a value on port B equal to the zero crossiny and examlnes the state of inputs at port A. The three inputs to port A
from comparators 106 are a Gray code representation of one of six sector numbers. Using this number as an entry to a table of six values, the proper state for bridge 56 is selected and appears at port D. When the Gray code indicating the sector number changes, another value in the table is selected and the state of the bridge 56 is altered. Thus, the motor is commutated as a function of the relative rotor/stator position as indicated by the Hall devices.
Control of winding current may be accomplished by a pulse width mcdulatian technique which uses the multiplexed current developed by bilateral switch 128. Selectioh of the appropriate current ~ensor 102 is performed by outputs from port A of the microccmputer which are derived in the same manner as those controlling the state of bridge 56, i.e., from a look-up table addressed by the sector number. Thus, the analog current signal which represents actual winding current through the bridge appears at the output of amplifi~r 356. This signal is ccmpared with the analog level of D/A converter 352 in comparators 358.
Ihese two comparators drive interrupt lines of the microcomputer, one of which is sensitive to an "OFF~' state turning "ON", the other to an "ON" state lurning "OFF". The desired upper current level is selec-ted b~ the microccmputer and delivered to D/A converter 352 through port B. At the same time bridge 56 is energized through port D. Current in the motor then increases. ~hen a signal frGm comparator 358 indicates that the upper limit has been reached, the micxoccmputer deenergizes the bridge and replaces the value in D/A converter 352 with the desired mab/~b :l 172~9 lower current level. Current in the motor now decreases ~mtil a signal from comparators 358 indicates that the lower limit has been reached.
The cGmputer replaces the value in D/A converter 352 with the desired upper current level and again energizes bridge 56. m us, an average level for the motor current is fixed. m is level may be adjusted by the microcomputer at any time in response to internal or external commands by varying the upper and lower current limits.
The signals from Hall devices 72 may also be used to measure the rotational speed of the motor. For example, the frequency of Hall voltage zero crossings may be counted for predetermined intervals of time. Alternatively, clock pulses may be counted between successive Hall voltage zero crossings. The former method is most useful at high speeds and the latter at low speeds. Both methods utilize the internal clock of the microcomputer.
Having shown how the essential functions cc~mutation, pulse width modulation and speed measurement can be performed, the mode of power transfer maximization will ncw be illustrated in conjunction with the program listing included at the end of the specification.
References to the listing are by line nu~ber and major program function.
Statements 0103 through 0121 perform the ccmmutation function and are designated subroutine "RVN". ~he RUN subrout me is invoked when a sector change is sensed by the subroutine "LOPFND" which camprises statements 0337 through 0340. The pulse width modulation subroutine ccmprises statements 043~ through 0451 and is designated "PWM". This subroutine operates with a constant frequency and a variable duty cycle because the operatLng point is easily adjusted directly by setting the pulse mab/ ~

2 ~ 9 width m~dulation duty cycle. me speed measurement subroutine camprises statem~nts 0124 through 0145 and is designated "SETIMR". This subroutine counts the fixed duration pulse width mcdulation cycles to measure the duration of a sector and stores the result for use in determining whether motor speed is increasing or decreasing. The remainder of the program is a maximum power transfer seeking algorithm which determines fram successive sector durations whether motor speed is increasing or decreasing. m e duty cycle is adjusted in that direction which results in a motor speed increase. This is generally knawn as a "hill-climhing"
routine.
Fram the foregoing description it will be appreciated by those skilled in the art that a great many energy conversion modes of operation are possible with the simple hardware disclosed wh ~ used in conjunction with a stored program. These ~nd other modes of operation may be cambined with computing or cammunications functions so as to achieve highly flexible electromechanical energy conversion at low cost.
As used herein, the expression electromechanical energy conversion embraces both electric power generation and utilization.
The present Lnven~ion is not limited to the various modes of operation and energy conversion functions disclosed herein, but is limited only by the appended claims.

mab/ ;

1, ~ .

llLItlE ~ LOC tOPE LIN~
~ 0~
t~ 3 ~0~
~0; t~ a ;THI~; Ph0~i~iM uCIl~ThIt~; RN f~L~3~ITH!1 Tl;~T
~t~ 0`~ iO~lIMI~ES ~UITCIR SFEED ~'t YnF;'T~ F~l PliTY
C1~06 t~10a ;N'CLE 50 h5 1~ tlLqIt~FIIN OPTIM'u~1 L~
t~37 ~a~ ; IMr~DhNCE THi~ hL~ ITHM IIILL ~
I8 t~0t1 ;OUT THE MPPT F'OINT ~Y Yf~l~YlNu il~ F~ D'Jrf ~ 9 ~a ; CYCLC P~ND TH-tN I~IE~URI~IG 19DTOP~ ~ T~
~-~8lt~ ~0a ~ ;DETEFJ1INE ~IHETH;~R THE t~T~ 5F~ED Ih'CP~
F~ DE~ ~.
! t~
~ 0~
~ Qts~ ;
1~15 ~
~i3i~ t~ SECTDP *=*+l ~7 e~01 ~IP~FL~
~i~ ~ OtYTIML ~ l ~tg 00~ ONTIMH ~*~ , f O l~0i-14 OFTIML ~I=*fl , 0~ Or~IMH ~ sl , .
._ ~~ CDU~rL *=*~i.
. ~ ~ 1,~'1,.: ~-*~
4 1~3B8 . hCNTL ~=*Ti ~Ct_~ ~, t~ , * ~ l ~3~ 03R HTIML *=~+l ~7 t~ HT-Prl ~=~ ' 1 BC P;~ IL *=*
' P~l~tm. *=*~
p~ ~8 ~AT~L ~*+
3~ 0e~F
~iB l~ T ~l ~3 s11 TEt~CHT. ~
B0~ 0~ +1 ~
I~ 0~14 FSIGN
i~ 015 ~IYl~FLD 1-*+~
I~1~ 0016 I:lFF~G ~
I. ~ B~l7 hsItlOrF ~'*+l ¦ ' ~3 0elS h-~ L*=*Tl ¦ .~a4~ lg ~OFT11H ~+l ~42 001fi CTCNTL ~=~+l 0a4:~ b~il3 !;TCh'Tr. *='~T~
~ +1 liB45 ~01D ~HTHsGH *=~+l . 0~46 0~1E ~UHTR ~T
47 0aiF ~sIN~P~ Tl 0B4g 0E~0 JEt~
bl349 0B21 ~s~lTi~.UT~C~rc:3 0~'~3 ~1 INFllT ~~1 ~erll ~a2i .~T ~.
Es05~ ba~ ~Pc 0:b5' 0a~ T~l~arF ~:~;F
E135$ 0-~ CI~TRCL-i~:F
l 0~ ~02; T1~0~1L -.c~5 I Eil35~ E1E1~ Tl~:'O~ =~3 I . ................................... ..

i - 42 -j~ , . ... .. ' . ;

...... F~G ~ 2 LI~ ~ L~C CQ~' LINE 1 ~ 'i' 2 ~ 8 ~
0~5f E1~. ~'T~ L ~7 i ` E~ .Y ~g6 :
TO I i~1L =~
~;j3r3 El~?1 T~TI,' ~061 O~l . FhMOFF =$~F

~ 0 Q~ Gf~J~
E~ .~0 78 INITS SFI i~ISRBLE IhlEP~UPTS
~6 ~1 D~ CW
~7 ~2 ~ 3F LDX ~F
~06~ 0~E14 ~R r~s ;SET ST~W~ F~lNTE~ hT TOF' O; t~
0~6~ ~5 ~ FF Lbf~ ~TRNOFF
)f~d E1~137 g5 ~3 STf~ OTFUT ;TUF~N OFF DRI'Y'E TO t~lt~ING~ -~li'l a~0~ 85 80 STP INF'UT ;SET UP INFUT PORT FC~ l?P5 ~J3~ tr~8aB R0 :LF L~Y ~ RY ;5ET llP lliDEX TO 1~1 ThELE
~73 ~D E Ql~ QF L~F~;t L[)X 'Y'R~ Y ;L~[) Yh~lP~LE Fi~0?'l F~iO~FJi;1 TRtr;Lc t eQ74 ~Qlli S~6 QQ SiX 5ECT4.~Y iSTOPE 'YRRIRgLE Ih P~Fu~ ZEP.O Phu:
E075 El&12 88 i~C'T' ;DEOPE~lEt1T OOU;YTEf~
1~76 ~1~13 10 F8 EF'L LI~RM i IF Y=~ F~a~
~t~7 l~lS ~ lEt Ll~q s~
i~i;8 ~;17 P5 3F ,Th ~TF;OL ;SET IJP ;XIlNTP~ruL ~ r' FQ~ TIJ~ 'TEP~F:l,.~T~
a~7~1 0~ l8 t~LC
~;~,i3i~ d31f~ h~ E13 - - ~ E0i.~ SK FO'~ IhPUT P~-~T ~i:lEiIt~
~e ~5 ~ ~ -~` ~l~iP
~Z2 0gIE 2R ROL fl 00B' ~F ~9 P~QL h E!0~ ~0 2~9 P~OL R
~;5 0æL 2fl R~L ~ iROThTE R~ THRQU~H l;RP~PY . TII~;
~ ~ ~ T~; jR~ ,O V P~
~ 1~7 6æ3 E~ LE)q .~TE:L~ .
0~gg ~6 C'3 ~ C~ ~6 ~c~7 a~ ga ~ ~CC
O~g6 B~ 4C F~ ~ JMP STPMT~
0~ ~ ~ . '~hlP~S ~T~ rE~
~0~2 0g~F RR T~
~v~ e;~0 E~ 2 0F LDR ~RTE,X ;rETCH ~I'Y'E S'RE F~ THI5 SECTDR
~g$ 0S~3 85 ~ C*~ .
0~ 08~ 34 0F LDR OF5TRT~ X ;FFrCH TUr~l OFF STP.TE ;0DR THIS SECT~R
QQ~ 0~ STR llINQFF
~7 ~R R3 ~1 LD~ 01 ~-00g8 0g C ~5 ~5 C;TR TM~ONL ;SET UP TIM~ F0r; Il~ EC~Rrc I~ITEP~F~U?T
~0g~ 08 E. ~ ab L~ $~C
~10~ QZ4~ 8 '-TR TMRO."H
Q1~1 0842 ~ . 0LI ;ENh~LE INTE~PT5 0~0;~ 3 4C El 0~ JMP LOPFIIP ;JUlqP TO 5ECTOF~ SEH~
~l1hl~ U~6 13S ~37 RUN LPPI ~)TMRL ;P~ LbWEP~ c~lr ~ RESET ¦ .
'~4 el~4;~ ;QYEF:rLOII E3IT
~1105 064g ?g SEI ; C~I5,?lEL Ill ~ L~Rl~TS
QlQ~ 3 85 116 STh CQUNTL ;STORE L~E~ E-.'Tc GF &;:;UNTER
01ei~ el5;6 R5 66 LPFl RNtlRH ;PFO UPF'ER ~ rEP~ Rl-W~) STGi:E J
~C~ ~5 0~ ~T.~ ir.-~
O1~!~ 064F fW ~iO LtYr' ~ECTOR iSEOTOR ItlTO IN~EY
01i~ 26 ~F LC~fl SThT~:~Y ;FETCH D~l~f' STf/TE FOR N_l~ Sr6TO.~ !
~ -~ &5 lF 5Tfl ~ R~ iSTG2E hc~l C'RI1IE STRTE
4 3 ...... PhGE 00 LIN~ COCE LINE ~ 17 2 fi ~ 9 0i;.~ ~5G B9 34 0F LDR OrSThT.Y ;F_T8H D~.I.'E SThTE FOR CIF~CI~TIt~G
i31i3 0S~ ;ClipJ~ENT ktlD PIJM OrF
1.1ll4 k~;9 ~ 17 ln liiINOFF iSTOP~E 111 P~1 0115 0S~3 R5 1? Lr~R 01~5~1 ;STO~E 01~71 YRLUE FO~: CRLCULPITI~
~116 ~D ;5E0TOR TMt15ITION TIME
0117 ~SD 85 13 5TR SIGN
131.18 0S5F Fa 87 EE~ OFPHfL; ;IF nN~N = 0~ T~ DR1~Y'E 15 O~ ht~
Qll9 836i R5 iF LPI~ t3R''Y iFET8H NEW Ci;~ JE STflTE THIS I5 ~ P.TE
Cl~ 0S63 5 83 STR 0UTPUT i5ET t~Ell ~i~TE 0~ GMIE PQF;T.
01~1 ~65 4C 6C 0'' JIAIP 5ETIMR
~1~ k~i~S f~5 17 OFP;iP~; L~h WItlO~F ;LOPi:) Or'F SlflTE F~ DRII~E
~t~3 0S~R ~5 83 STR OUTPUT
. ~1~4 08~ ~15 il SETIMR LDR TE11~T i FET~I RI~P ST0gE ~INT 4F P;~
. ~ 01~5- 1386E . ;C~.'CLE5 Fl~l PF:EYIOU5 SECTOg t'1S~6 ~;E 851a STR I~NT
~3~7 ~iS70 fl~ LDh ~
t3~2. B872 ~5 il 3TR TEMCHT ; ~ ET C11U~T OF F~iP; t~-.'CLE5 F ~ IlE.YT 5ECT91?
0129 0.. '.74 RS 06 LM COUNTL
a~3 0S76 ~i ~i STh Tllr;41~L i5ET LOl~ER Ti~lER L~TI~
1~131 Q~7g P~ Ll~ TH
~8~ 85 ~jA,; ~TR TMF~IH i5ET TIMER Ur~ER LhTC!i RIID INITIhLIZE
0~33 0~371 ~B CLI i ENh~:LE TNTERRL~RT~
~:4 Q87D R5 i3 LM SIGN
0135 fi87F F0 10 EEQ SIIAN~ ;IF SI~Il = B, ER~ RI~D 5UEiTh:lCr COU;iT
0136 Q~'i iFRCM OFTIM
~!ii37 ~1 RS 02 U~iq ONTIML ;SIGN ~ 1~ 50 ~u~Tr~CT ~-~INT F~
0~g 0~3 . ; al~TItl 013~ 0~338 SEC - iSET ~F~
0i40 0~E5 0~ ~C C00NTL ;TH15 GI'~'ES ME IJHRr ~
~i41 ~ iP~UN OFF THE TIMEF: hHB~ THE Ei-~ BF
~4~' ~ ;T~E SECTOR ~.~S FriiCI~ -0143 61~ ~ OE STPi NDWT~L ;STORE FESU.T
B144 0g~:S i~ 03 LM GNTIMH
~14~ Q~i-'l E5 07 SE:C COl4JTH ilJPPER c;'~'TE Sll~TF~llON
~146 Q~:3C ~5 0F . STR t~GHTI~ iOF~ F:~.UI T
~S7 ~ E 4C 9E 1~;3 JMP 5I~i iJUllP flF:Dl;H~ SIG.~ I
~148 Bu~l R~ SIGN0 L~ ~T0TIi~lL ;SIJ3T~f;CT CD~NT FR5i; TIPE FOR
01~g ~3 ;TOThL PhlM GYCLE TIME - - - ;
01~ ~3 38 SEC
01~ ~;.r.~.; E5 ~ i~;C. ~UNTL ;SUeT~ T Lv~ gYTc rS~5~' 0~ 0E TR liOl~T;lL ;iTu~E RE~LT
0i5~ g R9 ~ Ll)h ~TOTII~H -015~ ~ 07 SE~ COUNTH iS~Ii'-;TP~i,T UPPER E'~lE
01S5 0r~C ~ I~F STfi NOlJTl~lH iSTOPE UPFER PYTE OF FE~ilLT
0i56 08~E 1~15 14 SIGIIl L~ FSI~N iLO~D IlJ~`I0fiTOR FOR FI~ST Pl~q. Q~57 ~ ;I~LF CYCLE OF PRE~IOUS SECTOP~
~t15~ 0~R~ F0 ~ gEQ FEIGN~ i IF THI5 YhLU~ IS ~, i';MNCH fiNb 015g 0~! ;fibb PRE'P'IOU. SECTOR~'C. OFTII~ TO NOl~'TIM
~6~ 0~iæ R5 iâ LDR PQFTML ;R~ P,RE'~'IQll5 SECTOP'~; t~Iïï TO
~U61 ~14 iTliE t:QUNT RT THE ~:EaIiuiINu 0F T~lE ~EOT0fi ~1~2 0.1~14 i~ CLO
~lb~ 1 5 ~ S I~r~TL
0L64 O~R7 ~5 iR STR STCNTL
0;65 Or:Rg ~5 ~ L~R PvFTMH
011~6 t~h~. 65 i~ R~ STCtlTH
. ~

!
.

...... fHGE ~F-1c17 2 ~
LINE # LOC COPc LI~E
Bl6j7 i;,hp ~5 ~ STh Tv;lTH iSTOr.E F~.ULT IN STOtlT
. U~iiF ~q5 BC L~;R l~wT~IL ;R~.~ 5TCNT TO No~T~r~ -~lv4 ~ L--~
bl70 b~2 ~ lR h~C STCNTL
0~7~ b~4 ~ b~. CTh NO~TML iSrOP~ RESULT IN I~ITII~I
Bl~ O~ f~ h hul~T~ H
bl-~ ~,~ 65 lE ~C STCNTH
. ~174 b~ER ~5 ~vF STR h'OllT~ ;UEPE~ ~TE STO~ED
B~75 bSBC h~ 2F L~R $EI-~FF ;~ TO THIS TOTRL THE TI~IE t-lEEl!EP
Bl~-6 ~EE ; TO SEP~YICF i9 P~l TUfil~O~F
Bl7 ~EE 1~ CLC
0'1~7~ Q~E;F é;5 ~E ~C 1~ TML . , Bl~ B~Cl ~5 0E ~;TP. NOIITP1L
1 ~180 I;SC3 ~0 1~ - ~ F~'TI ; IF CfiP~ ' C~ YB;i . -1 B~ E6 F IN.. Nvn~lT~
01~ 0~;C7 4S~ D~ ~ Jl~'~P RER~Y
bl~ 0S~ iR FSICNv LDP. STCNTL
t 0v~Ci 18 . l~C
r1lr~ CD ~5 ~c R~ ,iO;~TI''lL ;RDD Pri''.'ID;IS .cCT~r; ~F TIt;E T~i I 01C~ ~CF - ;N~ITIM TO P~JUST FOF: BE~INNII~
I ~ 0V~F ~; 0E TR I~P5TP1L ;STOPC P~FC,UET
I bL~ ~Dl P.5 i~ LDfi ~rlTH
¦ 0i~ ~SD3 65 0F PDC NOII~TMH
b~30 ~5 c~i 0F STh ~ iR[.~JUSTcD YPLUE OF HDilT~
~L41 03D7 fi~ IGH Il; F~I~
I~L~ Q8D9 B~i i4 5TPt FSI~tl 0~43 I~I)B fl5 ~4 L[1fl 0FTIML iFETCH RIID ST0RE 6rTII~ IN F~FTi;
131~q~ 08DD ~5 lr~t STR P0FTML - -~45 ~- hS 05 LDh liFTIl~H
ai~ El 85 ~9 STR FClFTilH ;F~TCH Rll~ iTOF:rc U~ER 'flE
~197 02B R5 ~6 U~R tX~UNTL iFET~I hN~ STI~ ICJHT IN STwNT
4~ 08c5 B5 ~ 5Th ST0NTL
0i9~ 00E7 R5 0~ LC!R C~lTH
-~bB 00E~ 85 16 STR STCNTH ;FcTCH P,N~ ST~E UFPER eY~E
~E11 0gEE~ E P,D~lUST LIXI NO~TPIL ;SU~TF:r;CT THE Tl:lT~ TIMiE F~: r~i Fw~
~,~a2 ~ yc:u TO SEE iF i;5w4llT ChOUL~ gE
~3 l~gEI) i INCP~iENTED
. ~ o~
1~05 ~3E E~9 97 CRC ~TOTIML
~bo ~gFb ~5 ~b Sii~ Ir-M~L iST~lF~E r'~l;LT IN TEPiP~RRn~
5~2 P.3 SF Wh NO~),i,'. il~ EiT SU~i~CTIOll - HIli;l 6'T'TE
1~ F4 Fg ~ S~C TOTIM~I
~ F~ 90 aE E~ SR'7~lT iIF NOIITIM i TCTIlq. IIIC~E~HT N~ T
1~ 0gF8 iPI~ ST;;r. ~IFrEF.ENCE fi:; HO~7~Itq 0~11 00~FI3 . i IF HOi~JTI~Z C TOTIt1J eRhh!CH DH
0~i;i 3gFg g5 0F STR h.l~lTMH ;~'s'E NEI~ L~PtF~ '~'fTE C~F r-~0~Iri 0~ 0gF~ 5 20 L~R TEtlP1 ~14 0gFC g5 0c STh HOWTML iL~ER e'T'TE
0'~15 I~E E6 10 INC NOIJ4NT iINrP.EMENT IN5. OF Phri 4~'CL~ F0R Lh'-T SErTDR
.~L5 ~ C`~ ~ E,'~E ~'~'IT j IF ~U;'U~T ~ s~
1! ~7 0~ Ll~h !i 0~ 0~i04 ~ STh u'FLR~ i-,ET OFFLRu = 1 IF N0i~iN~
'~, ~1~ 0~16 195 1~ ~R'.'IT L~;h OrFLhu ;TE~T T0 ~. TEF.I7II-'E IF T~IE t7DT4'R IS
~3 l~a~ jRUt~llNl,~ Y ~LCIJ
F~ ~i eE~ G~TTT
. !l . . . . .

'I - 45 -, . .

i ...... ~ G~ 9 ! LItlt ,. LOC CODE LINE
ll ~ QYGH h~ 01 LQR ~
I ~ 0r~ 0~ ~TR D,RFLG ;5ET ~IF~LG
1 ~4 0~0E ~C 72 G~ Jl~iP rNPllM
l dæ5 091i R5 G~ GETIT i i~R N~iTL ;SINCE THE ilOT~P IS NOT GO'iNb SLOWER
, ~6 ~gl3 ; SLOWER THRil TitE MINIlqUM '~ED, ~D l;dWCltT TO ~T
~7 ~ < 18 CLC
I ~8 0gl4 65 i0 ~C NOWUtT
Q~1~ 85 ~ STR NCJtTL
i ~ C 02 ECO ~CLR iOhRr~'1' OL~i~. ~H I
I ~1 051FI F-G lig INC Ni;NTH i lN~ ~tT h~ T HIGH
I ~ 51C PS 0E CP.RCL;; LDR HO~
I ~ 031E lo . CLC
0~4 C5tF ~ 0R i~C hiTIML
~5 ~ g5 QR . STP HT~
0~6 ~ 5 OF LDR HO~T~W - .
0~7 ~ 5 ~ ~C hiTI~I ;hDi~ N~Iil TO ~ITIM :
~S Q~.~ 85 08 5TR HTIM~
~9 0Y2Y R5 ~R L~R ~TI;~
~$1 0~ 47 EIC ~T~TI;~;L
~ . h i~rl I ~4~ ~r~3~ R5 0B L~R ~Ii;~i l ~-''44 0Y-~ i'4 0~ CeC ~T0TI,~; - -` 0245 0334 4011 ~CC ShYIT2 I ~J~ TR ~
. I 13247 83~ R5 2l3 L~!R T~ . -. I i327g 0~3R ~ 0R ~ NT~
l 024g8g~ 18 CLC
l ~ '.13P ih5 do U~l NCNTL
l ~ 5L ~ F 6g b~ tl I
~t~ ~41 C~5 ~ 5T;q ;j~TL
~53 0443 ~a ~ e~ S;q'Y'IT2 R54 0~45 E6 Cg IHC ~fTH ;THE PUI~F'OSE OF THIS 5ECTII)N 11R5 T~ ~b ~
~5 0~4~ 0W~tT ~ tT f~HD TIMES ~ ,4i~T~T TI~E Yi~UES 5 ~i;.'5C'i ~;4~ 06 1E Sh'~'IT2 DEC ~'4;NT~ ;DE0F~EllEH. 5ECT0l;: C4UI;T ~EGIC.TER t 0349 Fl~ ~ EEQ
~ ô ~g~ 7C D~ P ~FRLO?
~125g ~4 Q5 0E1 F~E;' LM PNCtfTH
~2G0 0g5B C~ 0r ~'~ IICllTH iC0l~PIqPE NCNT hiTH P.~ CNT
~61 ~52 q~ ~F E:CC Gc_FE~ ;~0I;l-: -LOi~9~ EP~Ci~
t~c^2 0~4 ~B 06 . PliE I~P~ i~OINa F~-.T~ SP~P.. '~Clt ~63 0Cl~h N5 0C LPR F~lCNTI.
~2Ç4 ~æ~ cs 0s ClAlpNct~TL
0.~c5 h~p ~0 07 E:OC DESFEI~ I
~66 ~5C ~ ~ II~FEP LDh' ~IF;FLC ;TEST IQ ~E IF P~E'~'IC'~l~; C~.~ IN F;~
~267 Bg5E ;UF OP GQIIIt I~OINC IN PIGifr GI.~ECTIOIL ;
02c~ 0g5E GB i2 ?~N- INFWP; iINCREfl~E Pl~l ON TI~'~F -0~trg 0 ~c'~1 41, ~ 0~ J11? ~EPW11 ; PECP~iE Pll~ QN TIl~lE
~'0 ~9c~ F~5 t01 G_~:PcD LD~/ ~1F~FLC T
t0.~7!1 0~c'5 F0 ~7 e~ STFLG1 ; IF DIPFLC ~ WN; Tl-:hT F~FlE.'iC;U:~ CHhHIiE ~riS
0~:~2b967 . ;~0v.1~. Tli N _T rL~u Elli~ IllCr~_rc~E ON TII~::
~i;7~P~ 0~1 L~
~1~7;Q516~ ~5 Q1~Th ~i.'lrLG ; ~ET ~iF~_CTlQN FL~ u = Qt~. ~EC~ Q4~ TI.
9c~ ;C ~ P ~rllM . , .
~.~ 760~cr_ 1~ 01 STFLG:L L~ 1 - 46- .
., .

, ...... F'Pil.~E 00~0 ~ 3 LINE ~ L~ CODE LINE
B'~7 0~70 ~ STR GI~FL~ ;ET l~lF~ECTrON FLh~ = lr It1C~ iE 0~1 TlltE
0'~ 0972 fl5 ~ r'~iM Lbh O;l~lt1L ;T~T TO ~EE IF PWM IS MhX hLFl~flDY j dJ73 ~4 C~
0~o~ 0~76 b0 d~ 611E IlOTP;iiX i IF IIOT~ ~P~hNCH
~o~ 7O h5 ~ 3 Lbh ~lTIMH
~I~G~ ~?7h 1~ $~2 ~3 1~7C F0 3E~EEC 6FP~FR i IF PWM r~Y hLRE~C`Y, PP~I Tl~ SE~T~ HSIt~
0~ro~ 0~47E R5 0~ HOTMhX LI~R ONTIML
5 ~ ;V.l 18 CLC
~c~ ;i 6SI ~flbC B:~;5 ; IN.. ~iqSE PWII bUT~ C';CLE 6Y ~I)IH~ S
i3~7 ~3 iTO 0t1TIh hNb SlJrTPhCTI~ 5 FF;CJ~; CFTl~
~oi~ 13~g3 ~5 ~ STFI ONTIML
1~6~ 0~ b0 ~ B~ 11hE.~D
j ~q67 E6 03 . INC ONTI~
L-1~i ~ fl5 04 ~ D Ll)h OrTIt~ --SEC
B~q3 0~ 3 05 ~ ~5 ;SUETRhl.T 5 FR~l'; OFTIM
13r ~4 ~dS%E ~:5 0~ STh OFTII~tL
~'~y~ q~ 2 e~ s~ s 0~o 0~2 CO B5 GEC u~II~
L~-'77 ~S~4 iC ~ ~ S~'~Jr.' Jl'~ EF?~rP~
~ig1~;~7 ~15 64 bEP1~1 LGh OFIilqL
Y~q.~
~ 9S~ ~ ~ E;NE NTtl~Y i~ TCJ ~E IF Pl~; ~5 PIT ~;Ih f.'l~ ~fCLE flLPJ~Y
0~104YD P15 05 LGH CIFTII~I
0~6~gF C9 ~2 C~ #~B2 ~ 09R1 F~ 16 EECJ eFREFF;
~ ~ h5 04 NT~ FTIML;C`ECREI~E F~ C~LE E~ F~bING 5 T~
63E15 6.3R5 ;OFTIM ~q~ib S~;E.T~CTI~G 5 FF~C!M O~TIi1 ~ 4P~ 1~ ~C
~7 ~h~
030B ~ BS ~ STh 6FTIltL` ;STtlF~E F:E~ULT
~30~ 6!3Afl ga 132 BCC SRDI)i IF ~l~F~ ; NQT GEt~9;hTE~ ~;r~nHI~
~3il~ QghC E~i Q5 iNC OrTIl'J~ i ItI~EMENT IF ~ rET
~ SRE R5 0~ .1 Lfih l:qiTI;4L ;DE~E Oi'iTil1 ,, -03~2 Qgg~ SEI:
Q31 ? 6~;t31 E9 Q5 ~ ; X~15 03i4 0~3 05 ~12 ~ STA DNrIML.
B315 0~ti~5 t'~ ~ ECS r~ t~FF ;IF CRR.'T Nl-i, C!E~Fi~, Er:~
0~ o7 C~i 03 C;E6 ~41TIF;I; ;i~i:iFiFiY t;LEhr-.. t). DEi~ ~TI~'~
6317 ~ 24 ~EFR LDfl 1~ 4 ~J~
631i 0~ 5 iE rTh COUNTP~
/131~ ~BD P~ ~6 LDfl OF;LRG
~ iqBF D0 Qg t-iNE Gi-SET ; IF GFFL~iG I~ ~it-T~ 6~u1C~t
6~1 6q.. C1 fi5 C~i LOR NCNTH
0~ QgC3 85 el~ 5Th PNI;~1TH ;TF~hNSFEF~ Ihr.:EE~i 6~ CS ~5 Cr~t L[~h Ni~TL
03~4 ~C~ g5 01 STh PNCNTL
~r~ g ~ IF~ET L~lq ~ t~
~'~o 0~C5 ~;5 0~ . rTr~ li0ilTH i~ESET ~:,qF~iht-;LE~; i li~ Q;ICO ~ g iTFi NCNTL
f~i~g ~L;F ~ STFI NTiP.H
~:,q 6~tiL 85 01~ ~Tfi NTIi~L
~0 ~3 ha 1s L~R 0FFLhG
~331 ~5 F0 0i eEQ ~F~L0F l ¦

- 47 ~

...... FHlic ~ 7 1 1 7 2 6 8 ~

LINE ~ LOO ~G5E LINE
- !
~32 U9~1 ~Rq FF LDfl ~rF
~5 0~) STR Pl;Gl'TH
~334 ~C!P Pl~ B0 BFPlOP LDP~ #$~
~335 B~D~ ~ 15 ST~ O'JI~FLO ;P~ET O'.~rLOII FLPlG
~336 O~CiF ~5 iD STfl OFFLRG
1333~ ~ri h4 0~ LOPF7~ LDY CT~
0~3S 0~E3 B~ 2E ~F LD~ LOPRDL Y ; FETCH RD5F~S FOR SECTOR
~33~ B4E~ ~5 iC ST~I PNTL~i ;STCF' 1115EX IN F~M F~ iN~IP_rT ~I?P
~34~ ~EB 6C lC ~ JMF~ ~PHTLOW) -~41 ~
~34~ Bi~'d0 ~ i5 LOOFB LDF~ O'iPFLO ;TE~T O~ERrLOII eIT TO ~E IF ~-IT,~R IS
~343 0~ ;liOT TU~IN~ O~ TlIP~IING '~EP~ LU~
03~ 6h~ F~ 83 BEQ ~1~ iIF RESET, GO CN
934~ 0fl04 4~ 6S 0R JhP SE~ET ;Jl~P TO ScdTdR ~ JRF RWTINE
e346 ~R07 ~24 giii ON9 BIT INPUT ;Tc~T POP~T
03~7 0R0~ 10 4D ~PL DECC~EC
b3~ OR0B 4C e~ 0i~ JlqP LOdPd u3~ ~0E ~5 15 L~ R O'Y'R~LO
~i9 0~b Fa 03 BE~ Otll ~351 ~Rl~ 4C 6~ ~R J~P ~;CDc'T
0352 OR15 ?4 ~0 Ol~ ~IT INFUT -03~ 0R1~ 50 3F B'~'C L~CS-:C
~54 0~g 4C 0c ~ J11P LQOF~ -63~ 0~1C ~515 LOOP~ L~ OYRFLO
~6 ~hE Fb.03 - BEQ ~e 9~57 ~ 0 4C 6~ 0R Jr~ St0DET . - . t 63SS ~3 i~ 2Q t~ L5fi ~Mr~K - I
~35~ ~æ5 ~4 g0 EIT INFUr -' ~ ?` F~ ~ ~~ ~ECSE~
q:;61 0hi!3 4C iC 0h JMF LDDF_ 0~2 0R2C R5 15 L~?3 LDh OYRFLD
C~,3 0fr2E F6 0~ . EEQ O,~
O~ 4C ~ ~ JMP SECPET
~S 0P33 24 ~ Otl3 eIT ItlPUT
0366 0h35 3~ c~'EC
13~ 0R37 ~C 2C ~q ~1MP LQOP3 0~ ~ P~ ~ L00P4 L~fi O'.JRFLO
~6S Oh~ F~ ~ EEQ QNY
l ~ E ~C ~ a~ 3b~F C.EI~PET
b3~ Oh41 ~ ~ Oi~- EIT l~PUT
C3~2 0R43 70 1:~ EYS ~ECSEC
~373 0R4~ 4C 3R ~ Jll? LOOP4 0374 ~h4~ RS 15 LOQF'5 LDh O'~/F:FLO
03;`5 0R4R . F0 Q~ eEQ QN5 ~-~76 0h4C 4C ~ 0h Jt1P SE~L'ET
037? 0h4F h~3 20 ON5 LDR ~M~t~ t 03~ 0h5i ~4 6Q1 EIT INPUT
037~ 0h53 DO 83 ~tE DEC--EC
0~ ~ 4C ~ ah Jl1P LQilP5 !1 03~ 0h5~ h5 13~ DEC~EC Lr!h 5ECTOfi ;FOUTItlE TQ Il.CF:~ENr SECTQR ~liNT
~¦ 0~ 0~h F0 05 E:E~ SEC0 ; IF SECIOfi = ~. Efi~r~
jl 03O3 0k5C C6 0~ DEC SECTOR
; 0~:1 ~-~E ~C 46 0E JI~U F:Ut- ;Jl~tlF~ E:.~iCI~ T~ ~T~T QF ~I;; ROUTIt~E
l 0~5 ~1~,61 h~ 05 SEC0 LDR "~15 ~ ;33~ Ulib~ Th ~-ECTOR iSc/ SECTOR TO a ;i - '18 -. I

...... R:iGE ~ 2 l . .~ 1~f~9 Llll_ ~ LOC C0~E LI;IE
~7 ~hc5 ~C ~ ~ C~ JMP RUN
Q `; 4 QhDS 12SEC~ET 0LC
0~.~ 6h~ ~ EO LDR ~EQ !
03~C 8h6g 25 ~QfN~ INPUT ;MhSK I;~PUT PO~T
~91 0h6~ JL R jROTi~TE LEFT 4 TIrES
Q39~ 0h~E 2h F~L h 0~3 ~f~6F 2'1 R~L ~9 ~39~ 0~ OL ~9 ~?3g5 ~-~ Rh ThX ;ht:~. INTl: ,X F.~EGI~F
63'Y~ i! ED ~0 aF LGh SCT~LE.X
~h7~ P
Sn~ g~ gCC ~'hLf~
039g ~h79 4C F3 0F JliP STPIITR
~6~ ~h7~ CS ~ .YRLP5 CMP SECTO~ ;r~rF~h~E Th'lS Tb SECT0F: TO SE IF CUI~ T
~Ql ah7E ;5ECT0R IS CbF~ECT
0.q7E Fb lSEEQ SEC~IT , IF THE 5hP~ . E~'Cti ~-~ I#CP~E DRI
0403 0h;r.C 85 ~Th SECTOk 04~t~ 0h52 hh ThU~ C. INTO X ~EE
B405 0h~ æ~ h SThT~X
0$Qc-. bh~6 ~ iFSTh I~IIIDRY ;SET NEIJ Dr:I~ i 0t07 ~hS;: B~ 3~ 0Z LPH uF-ThT,X
; i3fhicr; SS 17 STh WINbFF
9 ~
041a 0h~F 851~ STPi Or'FLhC ;~ET OFFL~ = 1 ~1~ 0h~ 0 LM ~0~
~S i5 ~ O'.JF~FLC ;P~ET ~ r'LOW FLf~G -~!141~ ~5 4C El ~ JI~P LOPFN~ i~O EhCK TO LOOP ~NSII~S
~4 0fL~g ~ Ebr~IT Li~h CNTIML ;P~OUTINE Tb INCF~ E K~IYE
6415 ~.iLqi9 ~q ~
0U~ ~C ~ ~ ~ Y
0417 0PS~ h~ b3 LE~P bNTIl'~t 04iC bh~ C9 02 C~ g$~
04~ 6M2 FO 1~ ETFLO
04~b ~R4 fl5 ~ t~X ~ NTIiL
04~ 0~ i CLI, c4æ a~7 ~ 05 ~C ~5 ~42~ O~q9 RS 0~ ~TP. bNTII~L
~42~ ~ g8 ~ - ECC SLlCK
~4~5 0PP~ E~ 03 IHC O;lTIIll;
Q~icR ~1~F h5 ~4 'SLIaJ~ LPR 0FTIr~
~i~;i7 0~1 :~g S~C r . I
~7~ 5 .
b4~9 Bh~4 S5 ~ STR QFTI11L
04~ ~ig~ 66 ~! EGS S~:TFLO .
04~1 ~n~ ~; ~ t`EC ~
04~ 0R6R 'p~! ~B ~ETFLD LQh ~0a ~3~ 0h~C ~;5 15 STh D'~P~FL~
e~34 0~gE hg 01 L~h ~
0~5 0hC0 S5 1~ sTfi G;FI hG
B4.,~ BhCc. 4C Ei ~9 JMP L0FFND
0437 0RC5 i ThIS I-- R TI11EF~ INTEF;F~U?I PD'.~T~NE
~43~ 0hC~ iT0 M0DULhTE F~IM FD~ Tll_ ~RiYE
0439 0RC5 4~ PI~IM PHh ;Sh'~'E hQ~li!ULRT0R
07~B 0RC6 h5 ~ LDR ONSGh' ;TEST FLR~i TB DETER~ ; Ir CN DR OFF
0'41 BhCS F0 1~ 6EQ ut3rHhS ;IF FLh~ 0. ERh1iC~i , . `.
i 9- - ;

i!
,.

Ll~ L~ LIIIE ~ ~ ~ 2 I u~4 aR~ LDh ~
~1~3 ~hGi~ 51~ -.Th G~GN iP~ESET FLRG -~
G$~ ~1hiE h5 17 L~R I~IhOFF i ~a ~5 ~3 51h OUTPUT ; TURN OFF ~RI'!E TO ~ ~. LET CUR~R~';T IQ~446 ~ h5 G4 Lr'R OFTIML .
~447 ~hD4 ~5 85 ST~ TI~ONL
~4S G~ P~ ~5 LDR O.CTIMH
. ~443 0flD8 ~ ~ STR TIIROHH ;P~ET Tl~1ER
GPbPi ~S3 PLfl ~451 0PD~ 4~ RTI ;rETlJP~N F~G~ RrRUPT
~52 ~RD~ Ol ONFH~ L~R ~01 ~l~3 8PDE B5 ~ STh G~
0454 0P,E0 R5 iF LDR ~IIIID~Y' ~45~ ~E2 æ; 83 STh ~T ;TU~I ON DRIl.!L TQ HIt~II~
~45~ 0hE4 E6 11 INC TE110NT ; INOPFMENT I~ T OF ~ C'sCLES -045~ 0PE6 D0 a4 PtlE HTOFLO iIF TtM~.~T = 0, B~ql~l -~53 8~ES ~ 0i L~ ~$0i 045~ 0~ ~5 i5 STfl O'Y~FLO ; SET FLh~ TO 1 TO Ih~I~riTc THhT Phn co 0hEC ; I~ ~F.EhTER TH~J Y~
G46l ~C -R5 02 NTOFLO LDh ~NTIIqL
. ~4r,~ 0hEE r;5 ~i STR Tt~F;ONL
04~3 0i:F0 R5 03 LDfl ONTIllH
0464 0hF~ ; STh T~RONH
041i5 ~RF4 t'~ PLR
0466 0RZS 40 P~TI
0467 0~F~ *=$0F00 .. B4~ 0FB0 ~ YrlF:2L E . BY~ $BB, ~01 ` ~ $00.~ ~12. $~, ~0.
846B 0F~ 81 04t~;3 0F~ ~E
114t~ 13 ~
0~6~ 0Fb4 1~!

0468 Br06 ~0 4~ ~Fa7 ~a 0F~ L~0 ~ F~ ~a . EYT . ~ , T0~J ~FF. ~a, i ~469 0F0~ 0~3 ¦ 04Dg 0F0~ ~
¦ 046~ 0FBC ~ - . .
I ~D!~ 0F0~
~ t~i gF~iE
~6g BF0F
04~g ~Fi~
I 8¢69 0F11 00 i ~6g 0Fi2 ~ ~ -I 0470 0Fi3 00 ~ 0~ ~0i~ ~d0 $bl. ~FF~ ~:5b, $0~ ~i0 0470 0Fl4 61 ¦ 0~"~b 0Fl~i 00 0¢7~ 8Fi~ 01 ~70 0Fl7 FF
0470 0Flg 50 ~4~ ? a0 Fl~ 5~
~4~ ~1F~E b~ . ~YT $'~ , ~4,~F;
0~7i aFlc 0~

~1 - 50 -;
!

' ...... PhG- 0~1B ~ l. 7 ~ 6 LIhE ~ Ld CODE LINE
71 ~.r1~
~ ¦ ~471 0F1E ~4 i~ ~47i 0FlF FF
047~ t1F2B tQ5 SCT~LE. 6YT $~,tt~ FF.S~:~,$0t1,~FF,~ ei2 l e$'~ 0F~i e~
! ~;17;' ~1F~2 ~F
! ~472 t~F2:~ B3 . ~ tlF~4 et1 i 0 ~7~ eF25 FF
i B472 ~F2~ B1 ~`~ eF~ ~
I ~I473 BFæ ~E STRTE . BYT $r~& ~~ F5, SF3,~iE,~_E
~3 t~F~
~47:~ 6F2~ F5 ~73 gF2E F3 ~34~ 0F~ EE~ -t147; 0FO E
I ~474 tlFr!F eB LBr`~L . r~T CLWPB~ ~LU~r'l~ ~LOBr~ ~LB;JP3. ao~-4~ a~
1~47$ ~F~F BE
l . t~4~4 ~t~ lC
i ~$74 ~ C ' .
¦ ~74 dF~ 3 ~4 ~F~3 ~
~475 ~F34 DF ûF~iTi9T . e~ F~ ~F~ ~r7, sFS. $EF, ~Fr 1~75 ~F~5 Fb l as~i 0F36 F7 1 ~75 SF~'7 ~B .
! 0Sr'5 0F~i EF
~475 0~ FE
~ ~476 0F.q *=~lFF~
e~77 ~FF3 7S ~ 'tTR SEI ;DI~ LE INTEPRUPT5 ~4~i ~FF4 f~ FF LD1~ ~:$FF
04r'g ~1FFI; &5 ~} STfl l)UTPUT
~ a eFF~ Eq L~PIII N0P
! t~4~ ~FF~ 4C F~ ~F J~'iC LOOPIN
I ~4g2 13.~Ft: F~ . E;ITIT ~STPI`lTF~ FM~T~ PWM
! ~ ~-FD eF , , , ¦ ~ FFE t:5 !1 04~ ~FFF 0P
~ 0'~
I
l EFR~

,` i! . , . ' - 51 -! ¦

S~'M~L TRELE ~ c,~(,3 5YMPOL YhLUE
I RDJU5T 0OEP EREY 0~iE eFF;~'F~ 9~ EFRLOP 0~PO
ChRCLf~0~1C C~lTROL 00c:F C~UNTH Q007 ~UNTL 00Q~
C4UNTF:0l1E DhC Q0Q1 C~EC--~EC Qh5S C~,PNM 0~7 I C\E~Pa)Ij~63 DIP~FLG ~100i F5I~N B0i~ F5IGN0 0 GETIT B ~ INIT5 BE~a INPUT 0~ INPI~M B~2 It~PE~ 0~5C LPMM 0S0P LOOP~ BR0B LOOPl 0~E
LOOF~ 0RlC LOOP3 Qh_~C LOOP~ Bh3R LCOP5 0h4S
LOOPIN BFF~ LQ~hPL 0F2L L0PFN~ 0.YEl ~ B0c0 tlPPNT ~1 NU~TH ~ Nt~TL 000~ N~ ~hR4 ~;OrlPX 0~E NI~ICNT 0010 ~OhTIlH 0~0F NOWTML ~i~E
NTI~ ~B NTI~IL 000R tlTil~ 03h3 NTOF'LO l~hEC
Q'FLRG ~i6 O.~PltP~ 0~6~ CF~cT ~C~ OFCTRT 0F34 CiFTI11H0~5 OFT I~L 0~4 ON0 e~hQ~ Otli ehi5 , ~ ~ ~323 Ot~ 0~q33 ON4 bR41 0~15 ' ~3h4F
ONPHR5 Q3RDC OtlSlW ~0~ ~ITIMH 0E1b3 O~IML ~læ
I IUTPIIl' Bb~3 OYR-'LO ~15 PtlCtlTH QbQD PN~TL 0E1bC
PNTI~H 0QlD PNTLOI~I ~Q1C POFTMH ~19 PCIFTML ~)~1B
PWM ~5 P~MOFF Q~F ~IM~H aQS6 PctT~- 0b~7 R~D~' 0~D7 PUN ~o4~ ~3~ ~iRE ~RYIT ~.6 ~YIT~ ~47 SCTC~E 0F~Q SEl;;el ` Idh6i 5EC~T l~)h6~;
RIT fR9S SEOT0R 0Q~ SETFL3 ~ R SETI11~ ~iC
SI~N ~1~ SiG'~0 0~ 0~E . LICi~ 0~F
SM~DD 0989 SMSU~ ~94 STfl I E 0F~ STCNT~
STCNTL. 00:L~ STFLGl 0~f~E STPt~R b~-F~ TEMCtlT
Ta~ b:~0 111ROt~ ~ TP;r~l ~'5 TOTIMH
TOTIML 00~ TPt~FF 00FF ~MLP, 0~7C 'YRLRPS
Y~LE ~Fe~0 IIIN~' }~iF l~lINOFF ~17 .

~ r ` ,, ''" '.' il , ' , - 52 - ~ ' !

Claims (7)

THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. A multi-mode electromechanical energy conversion system comprising:
a brushless electric machine having field and wound members movable relative to each other, said wound member having a plurality of energizeable windings;
sensing means associated with said machine for measuring at least one parameter indicative of machine operation;
switching means connected to said windings for selectively energizing same; and a stored program controller connected to said sensing means and said switching means for producing command signals for controlling said switching means in response to signals produced by said sensing means so as to enable said system to operate in at least two different active modes.
2. A system according to claim 1 wherein one of said modes of operation comprises power transfer maximizing.
3. A system according to claim 1 wherein one of said modes of operation comprises power conversion efficiency maximizing.
4. A multi-mode electromechanical energy conversion system comprising:
a brushless electric machine having field and wound members movable relative to each other, said wound member having a plurality of energizeable windings;

sensing means associated with said machine for measuring at least one parameter indicative of machine operation;
switching means connected to said windings for selectively energizing same; and a stored program controller connected to said sensing means and said switching means for producing command signals for controlling said switching means in response to signals produced by said sensing means and in response to an external command so as to enable said system to operate in at least two different active modes.
5. A system according to claim 4 wherein one of said modes of operation comprises velocity tracking.
6. A system according to claim 4 wherein one of said modes of operation comprises position tracking.
7. A system according to claim 4 wherein said modes of operation comprise velocity and position tracking.
CA000374481A 1980-06-20 1981-04-02 Digital programmed controller for multi-mode brushless electric motor Expired CA1172689A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA000440030A CA1182516A (en) 1980-06-20 1983-10-28 Digital programmed controller for multi-mode brushless electric motor
CA000440029A CA1182515A (en) 1980-06-20 1983-10-28 Digital programmed controller for multi-mode brushless electric motor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16157980A 1980-06-20 1980-06-20
US161,579 1980-06-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CA000440029A Division CA1182515A (en) 1980-06-20 1983-10-28 Digital programmed controller for multi-mode brushless electric motor

Publications (1)

Publication Number Publication Date
CA1172689A true CA1172689A (en) 1984-08-14

Family

ID=22581783

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000374481A Expired CA1172689A (en) 1980-06-20 1981-04-02 Digital programmed controller for multi-mode brushless electric motor

Country Status (8)

Country Link
JP (1) JPS5731394A (en)
CA (1) CA1172689A (en)
CH (1) CH662018A5 (en)
DE (1) DE3124080A1 (en)
FR (1) FR2485292B1 (en)
GB (1) GB2079979B (en)
NL (1) NL193127C (en)
SE (1) SE465397B (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4494051A (en) * 1982-03-05 1985-01-15 The Garrett Corporation Multi-quadrant brushless DC motor drive
US4456865A (en) * 1982-04-22 1984-06-26 The Babcock & Wilcox Company High torque servo positioner using 3 phase variable frequency constant torque controller
ES521935A0 (en) * 1982-05-07 1984-05-01 Babcock & Wilcox Co DEVICE TO GENERATE THREE-PHASE WAVE FORMS OF WIDTH MODULATED IMPULSES TO CONTROL INDUCTION MOTORS.
CH656811A5 (en) * 1982-06-05 1986-07-31 Infors Ag SHAKER DEVICE AND METHOD FOR OPERATING SUCH A.
JPS60144151A (en) * 1983-12-29 1985-07-30 Matsushita Electric Ind Co Ltd Ac servo controller
US4544868A (en) * 1984-07-20 1985-10-01 General Motors Corporation Brushless DC motor controller
DE3919952A1 (en) * 1989-06-19 1990-12-20 Licentia Gmbh Control circuit for brushless DC motor - uses PWM of FETs for field excitation, rotor position sensors and voltage referencing speed regulator
US5592058A (en) * 1992-05-27 1997-01-07 General Electric Company Control system and methods for a multiparameter electronically commutated motor
ITMI20012063A1 (en) * 2001-10-05 2003-04-05 Orizio Paola Spa ELECTRONIC DEVICE FOR REGULATION AND CONTROL OF THE DIFFERED DISPENSING COMING FROM THE POWER SUPPLY UNIT OF TEXTILE MACHINES
WO2004073156A1 (en) * 2003-02-06 2004-08-26 Wavecrest Laboratories Llc Adaptive electric motors and generators providing improved performance and efficiency
DE102006041317A1 (en) * 2006-09-01 2008-03-20 Oase Gmbh Water pump for suspended waters containing water
DE102006041310A1 (en) * 2006-09-01 2008-03-20 Oase Gmbh Water pump and fountain with pump
US8672733B2 (en) 2007-02-06 2014-03-18 Nordyne Llc Ventilation airflow rate control

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3783359A (en) * 1971-12-23 1974-01-01 Bendix Corp Brushless d. c. motor using hall generators for commutation
GB1478958A (en) * 1973-07-25 1977-07-06 Simms Group Res Dev Ltd Dc motor systems
JPS5092405A (en) * 1973-12-21 1975-07-23
IT1034371B (en) * 1974-05-02 1979-09-10 Ibm CONTROL SYSTEM FOR A STEP ENGINE
IL52902A0 (en) * 1976-10-05 1977-11-30 Gen Electric Electronically commutated motor and method of making same
JPS5364711A (en) * 1976-11-19 1978-06-09 Sony Corp Brushless motor drive circuit
US4129813A (en) * 1977-07-26 1978-12-12 The Singer Company Method and apparatus for adaptive control of a stepper motor

Also Published As

Publication number Publication date
FR2485292B1 (en) 1986-04-04
DE3124080A1 (en) 1982-03-04
SE465397B (en) 1991-09-02
GB2079979A (en) 1982-01-27
SE8103804L (en) 1981-12-21
NL193127C (en) 1998-11-03
NL193127B (en) 1998-07-01
JPS5731394A (en) 1982-02-19
CH662018A5 (en) 1987-08-31
NL8102981A (en) 1982-01-18
FR2485292A1 (en) 1981-12-24
DE3124080C2 (en) 1990-02-22
GB2079979B (en) 1984-10-17

Similar Documents

Publication Publication Date Title
CA1172689A (en) Digital programmed controller for multi-mode brushless electric motor
US4686437A (en) Electromechanical energy conversion system
US4777419A (en) Control apparatus and method for operating a switched reluctance motor
US4415844A (en) Digital motor speed controller
US5838128A (en) Reconstruction of BEMF signals for synchronizing the driving of brushless- sensorless motors by means of predefined driving signals
US6686714B2 (en) Method and system for improved closed loop control of sensorless brushless DC motors
US4353016A (en) Linear motor control system for brushless DC motor
US4507590A (en) Brushless DC motor
US6081091A (en) Motor controller, integrated circuit, and method of controlling a motor
US4884016A (en) Closed loop torque angle control of synchronous motor
US4065708A (en) Method and apparatus for determining stepping motor parameters from induced voltages
US5844388A (en) Drive systems for a brushless motor employing predefined driving profiles stored in a nonvolatile memory
US4559485A (en) Control systems for AC induction motors
JPH0378490A (en) Pwm controlling type of spindle motor
JPH10229691A (en) Speed controller of motor
USRE38264E1 (en) Rotary drive for a data carrier
US5206571A (en) Stepper motor controllers
US4862045A (en) Method and apparatus for controlling the number of revolutions of a rotor
JPS5843200A (en) Exciting system for step motor
US4631457A (en) Method of leading a moving body driven by a direct current brushless motor to a starting position
JPH0739194A (en) Stepping motor driver
CA1182515A (en) Digital programmed controller for multi-mode brushless electric motor
JPH0564558B2 (en)
JP2750453B2 (en) Brushless motor circuit for automatic door
KR0154960B1 (en) Drum servo apparatus of vcr

Legal Events

Date Code Title Description
MKEX Expiry