Biggest patent portfolios by company

by company

  • INTERNATIONAL BUSINESS MACHINES CORPORATION 13,899
  • CANON KABUSHIKI KAISHA 9,693
  • NEC CORPORATION 6,843
  • SAMSUNG ELECTRONICS CO., LTD. 6,726
  • KABUSHIKI KAISHA TOSHIBA 6,682
  • SONY CORPORATION 6,195
  • HITACHI, LTD. 5,935
  • FUJITSU LIMITED 5,841
  • MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD. 5,735
  • MITSUBISHI DENKI KABUSHIKI KAISHA 5,253

Biggest patent portfolios by inventor

by inventor

  • Silverbrook Kia 1,860
  • Yamazaki Shunpei 1,585
  • Satake Toshihiko 905
  • Yamamoto Hiroshi 766
  • WATANABE HIROSHI 753
  • Weder Donald E. 657
  • Forbes Leonard 618
  • Tanaka Hiroshi 585
  • Suzuki Takashi 575
  • Takahashi Hiroshi 570

Patent appraised by patentsbase

$ 0

GLOBAL PATENTRANK

# 56.000
TITLE:

Method and apparatus for calibrating and initializing an electronically commutated motor

USA PATENT RANK
Patent ID
Issue Date
#3.566.999
US-6826499-B2
30.11.2004




























ABSTRACT

Disclosed herein is a method and system for initializing a rotating device such as an electronically commutated electric machine. The system comprises: an electric machine; a position sensor subsystem operatively connected to the electric machine configured to measure a position and transmit a position signal to a controller. The controller executes a method initializing position for the electric machine, the method comprising: establishing a sensor subsystem datum indicative of a measurement reference point for a sensor subsystem; obtaining a calibration value corresponding to a distance to a selected magnetic reference position for the electric machine, relative to the sensor subsystem datum; and measuring a position and calculating a position delta relative to an initial reference. The method also includes: estimating an offset from the sensor subsystem datum to an initial reference; determining an absolute position estimate of the electric machine relative to the magnetic reference position. The absolute position estimate is responsive to the calibration value, the position delta, and the offset from the sensor subsystem datum to the initial reference.

INFORMATION

Inventor(s) COLLIER-HALLMAN STEVEN J (US); COLOSKY MARK P (US); MCCANN ROY (US); TALLANT II JAMES CHARLES (US); WEILHAMMER PHILLIP (US); COLLIER-HALLMAN STEVEN J.; COLOSKY MARK P.; MCCANN ROY; TALLANT, II JAMES CHARLES; WEILHAMMER PHILLIP; Collier-Hallman Steven J.; Colosky Mark P.; McCann Roy; Tallant, II James Charles; Weilhammer Phillip;
Applicant(s) DELPHI TECH INC (US); DELPHI TECHNOLOGIES, INC.;
Assignee DELPHI TECHNOLOGIES, INC.;
Assignee history
assigneesGM GLOBAL TECHNOLOGY OPERATIONS, INC. (P.O. BOX 300, MAIL CODE 482-C23-B21, DETROIT, MI, 48265-3000);assignorsDELPHI TECHNOLOGIES, INC.;correspondence-addressPATRICE UCHNO LELAND (P.O. BOX 300, MAIL CODE 482-C23-B21, DETROIT, MI 48265-3000);
assigneesUNITED STATES DEPARTMENT OF THE TREASURY (1500 PENNSYLVANIA AVENUE, NW, ROOM 2312, WASHINGTON, DC, 20220);assignorsGM GLOBAL TECHNOLOGY OPERATIONS, INC.;correspondence-addressPATRICE UCHNO LELAND (P.O. BOX 300, MAIL CODE 482-C23-B21, DETROIT, MI 48265-3000);
assigneesUAW RETIREE MEDICAL BENEFITS TRUST (P.O. BOX 14309, Detroit, MI, 48214);assignorsGM GLOBAL TECHNOLOGY OPERATIONS, INC.;correspondence-addressPATRICE UCHNO LELAND (P.O. BOX 300, MAIL CODE 482-C23-B21, DETROIT, MI 48265-3000);
assigneesGM GLOBAL TECHNOLOGY OPERATIONS, INC. (300 RENAISSANCE CENTER, DETROIT, MI, 48265-3000);assignorsDELPHI TECHNOLOGIES, INC.;correspondence-addressVICTOR M. TANNENBAUM (ABELMAN, FRAYNE & SCHWAB, 666 THIRD AVENUE, 10TH FLOOR, NEW YORK, NEW YORK 10017-5621);
assigneesDELPHI TECHNOLOGIES, INC. (5825 DELPHI DRIVE, TROY, MI, 48098);assignorsWEILHAMMER, PHILLIP;COLLIER-HALLMAN, STEVEN J.;COLOSKY, MARK P.;MCCANN, ROY;TALLANT II, JAMES CHARLES;correspondence-addressCANTOR COLBURN LLP (KEITH J. MURPHY, ESQ., 55 GRIFFIN ROAD SOUTH, BLOOMFIELD, CT 06002);
Agent Smith
Application No. US-23235602-A
Filing Date 30.08.2002
Primary Class H02P 1/18
Primary Examiner Barlow John;
Assistent Examiner Lau Tung S;
Search results 787

DETAILED DESCRIPTION OF THE INVENTION

DETAILED DESCRIPTION OF AN EXEMPLARY EMBODIMENT

Disclosed herein is a method and system utilizing a combination of algorithms and calibration procedures to minimize or remove the inherent difficulties with the mechanical build and alignment process for a position sensor. Specifically, an initialization procedure and algorithm to align a position sensor with a rotor of an electric machine and accurately ascertain the position thereof are disclosed.

It is noted that although the disclosed embodiments are described by way of reference to motor and motor control, it will be appreciated that such references are illustrative only and the disclosed embodiments may be applied to any rotating device including, but not limited to, electric machines wherein the position of the rotor is to be measured or determined. Moreover, while references and descriptions herein may apply to many forms of electric machines including, but not limited to, motors, or more specifically sinusoidally excited brushless motors, hereafter, for brevity and simplicity, reference will be made to motors only without limitation.

An exemplary architecture for the sinusoidal motor control is shown in FIG. . The major components include, but are not limited to, a controller , which may include a switching device or inverter assembly hereinafter inverter , a rotating device, in this instance and hereafter, a three-phase brushless motor , position sensor subsystem comprising a sensor magnet , and a sensor board assembly . The controller is utilized to compute the motor position and to deliver the required output power to each of the motor's three phases.

Controller is disposed in communication with the various systems and sensors of the motor control system. Controller receives signals from each of the system sensors, quantifies the received information, and provides an output command signal(s) in response thereto, in this instance, for example, to the motor .

In order to perform the prescribed functions and desired processing, as well as the computations therefore (e.g., the calibration and initialization algorithm(s), and the like), controller may include, but not be limited to, a processor(s), computer(s), memory, storage, register(s), timing, interrupt(s), communication interface(s), and input/output signal interfaces, and the like, as well as combinations comprising at least one of the foregoing. For example, controller may include input signal filtering to enable accurate sampling and conversion or acquisitions of such signals from communications interfaces. Additional features of controller and certain processes therein are thoroughly discussed at a later point herein.

As exemplified in a disclosed embodiment, and as depicted in FIGS. 3 and 9, one such process may be determining from various system measurements, parameters, and states the appropriate compensation for initializing the position measurement for the motor (e.g., a calculated offset between the measured position and the actual position of the rotor of the motor ). Controller receives various input signals including, but not limited to, those identified above, to facilitate such processing and may provide one or more output signals in response.

In an embodiment, the controller obtains as input signals or receives signals to facilitate computing the following, among others: Two position signals and hereinafter also denoted Q1 and Q2 respectively are representative of a relative position of the motor . Three low-resolution signals , , and hereinafter denoted Ha, Hb, and Hc respectively representative of the position of the motor ; and, a variety of implementation specific parameters, signals and values for initialization of the prescribed processes and to identify various states of the processes herein. For example, a back EMF calibration value, K_Bemf_Cal, which is defined as the numerical representation of the angle of offset that will align a selected magnetic reference point or zero point of the motor with sensor subsystem datum e.g., a zero point or reference point. Referring also to FIG. 12, a graphical depiction of the signal definitions is provided. In an exemplary embodiment, for counterclockwise rotation, the positive going zero crossing of the back EMF voltage of the Vab line voltage is selected as the zero point or reference for the magnetics of the motor . Similarly, a second reference point or datum is selected, in this instance for the sensor assembly. In an exemplary embodiment, this datum or reference point is selected as the zero midpoint as depicted in FIG. . The zero midpoint is selected based on the sensor subsystem . It is noteworthy to appreciate that FIGS. 11 and 12 depict idealized signal transitions without any real world errors. The actual signals will exhibit variation in their switching location. Therefore, the zero midpoint is actually a calculated point that is based on the computed best fit line for all high resolution states (in both directions) and the selected counterclockwise slot set. Therefore, for example, the K_Bemf_Cal is a measure of the distance in electrical degrees (or counts related thereto), between the positive going zero crossing of the back EMF voltage of the Vab line voltage and the zero midpoint. The K_Bemf_Cal is a characteristic of each motor assembly, namely the rotor, stator, and sensor assembly. Upon connection of the sensor subsystem to the rotor shaft of the motor , the relationship between the sensor subsystem and the magnetics is fixed and determinable. Therefore, the back EMF calibration value may be readily measured and determined employing existing testing techniques.

It will be appreciated that the zero mid point or references selected as disclosed above, are arbitrary and should be understood to be just illustrative of many other conceivable selections for references. The reference points disclosed have been selected primarily based on factors that facilitate a particular implementation are by no means limited. As with any measurement system, selection of a reference point is generally made to facilitate later implementation, processing, or computation. It should be evident that numerous other measurement systems and references are feasible.

A back EMF calibration value, K_Bemf_Cal is depicted in the waveforms shown in FIG. . Controller generates as output signals the command voltages to the motor . The ideal command motor voltages Vab, Vbc, and Vca are depicted in FIG. . The ideal motor phase voltages are typically defined as:

 abref sin(θ)

bcref sin(θ−120°)

caref sin(θ−240°)

where Vref identifies the commanded amplitude, and θ identifies the position of the motor in its rotation in electrical degrees.

Referring also now to FIG. 6, it should be noted that the relationship between the electrical rotational cycles and the mechanical rotational cycles are different by a factor of the number of poles divided by 2. For example, in a six pole motor design as discussed with the exemplary embodiment, the electrical frequency and the mechanical frequency differ by a factor of three. It should also be noted that since the electrical cycle repeats three times per mechanical cycle, signals that are generated as a function of the electrical position (e.g., the reference transition) actually represent three slightly different points on the mechanical cycle. Moreover, it is noteworthy to appreciate that for the motor in an exemplary embodiment, the electrical cycles are substantially identical to one another. However, for the sensor subsystem , the three electrical cycles are similar but may not be exactly identical. Such variation in the sensor subsystem is accounted for on the initialization and calibration method and apparatus disclosed herein.

In an exemplary embodiment, motor initialization executed by controller generates a computed motor offset to facilitate the accurate initialization of the measured position. The initialization is accomplished by executing a series of evaluations and measurements. Resultant from each evaluation, additional information is “learned” which is utilized to refine the subsequent tests. In an exemplary embodiment, at least one of three levels of evaluation or initialization are processed, and thereby, a computed offset indicative of the position of the rotor shaft of the motor is obtained.

The primary function of the motor is to convert electrical power into mechanical power. To generate the sinusoidal motor currents the inverter may include switching devices (e.g., MOSFETS, Triacs, SCRs, transistors, and the like including combinations comprising at least one of the foregoing) which, must be turned on and off at specific rotor angular positions. Therefore, the position of the rotor of the motor should be determined whether by measurement or estimation. A position sensor subsystem may be utilized to identify the rotary position of the rotor of the motor . Popular methods utilized to sense rotary position are based on potentiometers, synchros, or resolvers, optical detection, and magnetic field variation. Some include the advantage of non-contact sensing and separate sensing and target components. Synchros, and resolvers are also non-contacting, but usually require more sophisticated signal interfaces for processing and are often very costly. Optical encoders detect the passage of various weighted targets correlated to a position. Optical encoders however, are often temperature limited and may be susceptible to interference and contamination. Magnetic sensors (for instance, magnetoresistors, or MR's, Hall effect, and the like), on the other hand, tolerate temperature extremes and are less susceptible to contamination but typically cannot achieve the higher resolution and accuracy of the previously mentioned sensors. Therefore, magnetic sensors enjoy wide use in motor control applications, including, but not limited to, the automotive industry. In an exemplary embodiment a position initialization calculation process is disclosed for a magnetic position sensor subsystem comprising a magnetic device, the sensor magnet and a sensing element, which is part of the sensor board assembly .

In an embodiment, the sensor magnet is used to generate a motor rotor position dependent magnetic field, which can be detected by sensing elements of the sensor board assembly . The sensor magnet includes, but is not limited to, a set of low-resolution poles , and a set of high-resolution poles . The sensor board assembly includes devices configured to sense the magnetic positional information and convert the information into electrical signals. In an exemplary embodiment, the sensing elements include Hall effect sensor(s) arranged and configured to detect the changes in magnetic field from passage of sensor magnet as the motor rotates. The electrical signals representative of the rotational position of the shaft of the motor are addressed at a later point herein. In an exemplary embodiment, position sensor orientation calibration values may be established at the end of the motor build and sensor assembly process. These calibrations result in information pertinent to ascertaining the orientation of the position sensor subsystem relative to the rotor of the motor and stator of the motor. During the assembly of motor control system, the calibration values are ascertained by measurement and may be utilized by the controller for subsequent processing. The calibration values are also saved in a non-volatile memory to facilitate the processes disclosed herein. Details of the characteristics of particular calibrations and their values are provided hereafter. At each controller initialization cycle, the controller utilizes the motor position calibration values to properly align the sensor subsystem datum e.g., the zero mid point to the selected reference point (the positive going zero crossing of the back emf of Vab) of the magnetics of the motor. Thereby facilitating generation of forcing voltage functions Vab, Vbc, and Vca of the motor . In an exemplary embodiment, the alignment is accomplished with a three-level, position dependent initialization process.

The motor control system described in the exemplary embodiments utilizes a sinusoidally controlled brushless motor . A primary characteristic of a sinusoidal motor is that its generated voltage (or EMF), is also sinusoidal relative to the motor angular position and the forcing voltage functions Vab, Vbc, and Vca . As mentioned earlier, in order to achieve a desirable reduction in the overall torque ripple in the motor , the forcing line-to-line voltage (Vab for instance) is timed to phase match the motor's corresponding phase EMF. This, in turn, requires that the controller (or inverter ) be capable of delivering a pseudo or nearly sinusoidal waveform relative to the rotor position of the motor . Therefore, the controller depends on rotor position information of sufficient resolution to enable developing the requisite sinusoidal waveform. The disclosed embodiment facilitates developing, processing and application of the position sensor information to facilitate a system motor control function.

To facilitate explanation of the disclosed embodiments herein several different measurement coordinates or units and terms are utilized. These will be briefly reviewed for clarification as to the intended interpretation:

Degrees Electrical (°elect) is a measure of the electrical angle of the motor. In the disclosed embodiments for example, a six-pole motor has been utilized. Therefore, the six-pole motor has three electrical cycles for each mechanical rotation of the motor.

Degrees Mechanical (°mech) is a measure of the mechanical angle of the motor. For example, measure of the actual physical rotational angle of the rotor of the motor .

Low-resolution Counts (countsLR) is a measure of low-resolution states. The low-resolution states are generated by a combination of the low-resolution position signals (Ha, Hb, and Hc).

High-Resolution Counts (countsHR) is a measure of high-resolution states. The high-resolution states are generated by a combination of the high-resolution position signals (Q1 and Q2).

Phase Advance Counts (countsPA) is a measure of phase advance control units (¼ countsHR). The phase advance counts are required as part of the motor control algorithm. These units are the highest resolution measurement of the motor position and are used for all of the offset calibration values.

Back EMF, Bemf—Voltage generated by the motor during rotation.

EMF—Electro-motive force, voltage generated by a motor.

Forcing Voltage—Voltage applied by a controller on a motor.

Electrical cycle—A completed period for an electrical signal.

Mechanical cycle—A completed period (or rotation) for the mechanical parts.

Hall Sensor—A sensing element used to convert magnetic field signals into electrical signals.

High-Resolution Hall Sensors—A pair of hall sensors placed such that the electrical output is in quadrature. The quadrature signal can be used to develop a relative position signals by the control electronics.

Hysteresis—An condition where the output is dependent upon the previous output state as well as the input parameter.

Level Initialization—Initialization of the motor sensor subsystem by using only the state information from the low-resolution sensors.

Level Initialization—Initialization of the motor sensor subsystem by using the low-resolution transition point to estimate motor position.

Level Initialization—Initialization of the motor sensor subsystem by using a reference low-resolution transition and the high-resolution state information to determine the motor position.

Low-resolution (LR) Transition—Any state change of the low-resolution sensor signals.

Low-resolution Hall Sensors—The Hall sensors, which are comprised of three digital signals and generate 6 states per electrical cycle.

Low-resolution State (LR_State)—A unique combination of the low-resolution hall sensor signals. The low-resolution states are nominally 60° elect in width.

LUT (Look Up Table)—Typically a table placed in memory that can be referenced via an index pointer to “look up” a value.

Phase Advance—A method of changing the relationship between the forcing function and the motor's EMF. This is typically used to improve motor performance by compensating for the inherent signal delays due to motor inductance and resistance.

Quadrature—A pair of signals offset by 90°.

Reference Edge—The low-resolution transition that is indirectly used to reference the motor's EMF to the sensor subsystem.

Slot Set—A group of consecutive high-resolution sensor states, for example four selected consecutive high-resolution sensor states).

Zero Crossing—The point where the signal crosses from either a positive value to a negative value or from a negative value to a positive value.

Zero Edge—The high-resolution edge defined to be the point where the compensated motor counter should transition from 191 counts to 0 counts.

RevE—Electrical revolution.

RevM—Mechanical revolution.

Moreover, the following sign conventions have been defined to facilitate consistency and understanding of the disclosed embodiments. When looking down the motor shaft from the mechanical output end, the motor is defined as rotating in a positive direction when spinning counterclockwise.

In an exemplary embodiment, a position sensor subsystem , is configured to provide position information to a motor control system for adequate motor control. The position sensing processing requirements may be divided into two major operational categories. First, accuracy of the position sensing, in this case, with respect to the back EMF of the motor . Second, resolution of the position sensing, whether of the sensing elements, or of any subsequent processing thereafter. Additionally, it is noteworthy to appreciate, that such requirements should preferably also be considered as a function of time (or initial positional displacement). Moreover, the requirements for the position sensor subsystem may be dynamic and therefore, change based on the initialization processes of the motor control system. In an exemplary embodiment, the position sensor subsystem and subsequent processing disclosed herein cooperate to provide immediate information on the electrical position to within a selected accuracy whether the motor is moving or not.

It will be appreciated that an absolute encoder or position sensor may be well suited to meet the stated objectives, however, at a relatively high cost compared to other sensing technologies. Therefore, it will be appreciated that it is beneficial to provide a position sensing capability with desired accuracy, nearly instantaneously, at lower cost. Referring once again to FIG. and FIG. 8, for an exemplary embodiment, a combined system is employed to satisfy both cost and accuracy constraints. That is, within an electrical cycle, sensing elements include low-resolution (absolute) sensors generate low-resolution position signals denoted Ha, Hb, and Hc, respectively as well as a high-resolution (relative) sensor , which generates high-resolution position signals denoted Q1 and Q2 respectively.

In an embodiment, an apparatus for generating the abovementioned signals and a method of combining the information from the two sensor types is disclosed. More specifically, position information obtained from a low-resolution sensor is utilized to initialize the relative position obtained from a high-resolution sensor . Essentially, low-resolution position signals Ha, Hb, and Hc are used to generate an initial estimate of the electrical position of the rotor of the motor . That is, the position of the motor within a particular one third of its mechanical rotation and relative to the excitation voltages. It should be appreciated that the low-resolution sensor signals will indicate the electrical position of the motor to within +/−30 (°elect).

FIG. 7 depicts the defined low-resolution position signals (Ha, Hb, and Hc) , , and respectively and high-resolution position signals Q1 and Q2 as a function of electrical angle. In an exemplary embodiment, low-resolution position signals (Ha, Hb, and Hc) , , and respectively are three dual state (binary) signals generated by three Hall effect sensors spaced 120 electrical degrees apart, detecting the passing of the low resolution poles of the sensor magnet , the high-resolution position signals are two dual state (binary) signals in quadrature generated by two Hall effect sensors detecting the passing of the high resolution poles of the sensor magnet . It is noteworthy to appreciate as depicted in the figure the physical and electrical relationship between the low-resolution position and the magnetics of the motor. More particularly that 1 complete cycle for the low-resolution position signals corresponds to a complete electrical cycle of 360 degrees.

FIG. 8 depicts a representation of a magnet and corresponding Hall sensor (e.g., , and ) placements that may be utilized in order to develop the ideal low-resolution position signals Ha, Hb, and Hc and high-resolution position signals, Q1 and Q2 respectively. It should be noted that the magnet representation as depicted, is shown for only one electrical cycle of the three per mechanical rotation. In other words, a magnet for a six pole machine (mechanical representation) would require three times the magnetic transitions for both the high-resolution sensor and the low-resolution sensor to achieve the expected results.

Signal Processes

Turning now to FIG. 9, a diagram of high level signal flow and processes executed by controller to achieve the desired position sensing capabilities is depicted. Controller performs the following functions which include, but are not limited to: a decode of the quadrature high-resolution position signals, Q1 and Q2 from the high-resolution position sensor and a count value at counter , identification and detection of a selected reference edge transition at transition detector , capture of selected signals and states at the moment of the transition preferably in a time coherent manner at sample and hold , and computation of an offset value denoted Motor_Offset as a function of the signals at motor offset algorithm . In the exemplary embodiment, hardware, logic, and the software are combined in a particular implementation to provide the appropriate initialization and functionality for the motor control system and particularly the sensor subsystem .

It should be appreciated that the exemplary embodiment may be described via particular processes and implementations thereof; however, such an implementation should be viewed as illustrative only, and not construed as limiting the scope of the disclosed invention. FIG. 9 is a block diagram that represents one of several possible functional partitions between hardware and the software. As depicted at transition detector , a selected detectable transition of a low-resolution sensor is utilized to compensate a motor position counter value hereinafter denoted HR_Count in order to provide the correct absolute position signal. The HR_Count is developed employing a typical binary count from the incremental changes of the high-resolution position signals, Q1 and Q2 respectively as depicted at the quadrature decode and position counter, hereinafter position counter . A capture of the state of various signals is performed at sample and hold process to facilitate the processes. Finally at initialization algorithm , the computation of the motor offset value , Motor_Offset in light of the captured signals is computed.

In an exemplary embodiment and accordance with a common sign convention, the position counter or more specifically the counter value HR_Count will increment when the motor rotor rotates in a counter clockwise direction (observed from the output shaft end), conversely it will decrement when the rotor rotates in a clockwise direction. Moreover, the position counter counts only when a measured transition in the high-resolution position signals, Q1 and Q2 occurs. Therefore, a counting range from 0 to 47 for the HR_Count proves sufficient to cover the range of possible inputs for 360°elect travel. To facilitate control functions and processes associated with those disclosed herein, the position counter value HR_Count is multiplied by a scaling factor of 4 to convert to phase advance counts (countsPA) (-). It may be noted that the multiplication may be a simple arithmetic scaling by 4 that may be accomplished either in the digital logic or the software or other equivalent means or methods. It should also be noted that the scaling factor of 4 is an arbitrarily defined constant for this system chosen merely for implementation purposes. Any constant value may be used. In an exemplary embodiment, to facilitate execution of the processes herein, the position counter , or more specifically the position counter value HR_Count is cleared to zero during the startup process. This assures that the count always starts at a zero point for each initialization. Once again, it should be noted that while in an exemplary embodiment the HR_Count is stated as cleared to zero on startup, it may very well be that the processing could be executed which includes subtracting the initial value of the HR_Count at startup for all subsequent values thereof. Such processing would yield the same values for the HR_Count as described above. It should be apparent, that there exist numerous variations for the count processing, and that any one selected is conceivable within the realm of the processes disclosed herein.

Once again, in an exemplary embodiment, the computed Motor_Offset is combined with a phase advance command denoted Phase_Advance_Cmd as depicted in FIG. . FIG. 10 depicts a phase angle signal flow and motor position computation. The Phase_Advance_Cmd combined with the Motor_Offset yields an angular offset that can represent any value from 0 to 360 degrees. This is a logical place to compensate the signal since the Motor_Offset value changes during the initialization phase of the motor sensor subsystem operation. It is noteworthy to appreciate under most conditions and implementations the Motor_Offset value will remain constant after Level initialization is complete. Therefore, in an exemplary embodiment, the angular offset value need not be computed any faster than the Phase_Advance_Cmd changes. This technique optimizes processing available by not executing calculation processes at a rate any faster than needed (e.g., no faster than the slowest process or as other processes require). This technique does not preclude other methods from being utilized if other factors necessitate.

FIG. 11 is a diagram depicting signal definitions and their relationships as a function of electrical angle for an exemplary embodiment. FIG. 24 depicts selected idealized signals and their interrelationships. The figures include various signals and definitions of relationships to facilitate description of an exemplary embodiment. It should be evident, that alternative definitions are possible without deviating from the scope of the disclosure herein. Moreover, several shorthand notations are employed to facilitate the discussion herein. Therefore, it is now appropriate to introduce these notations and the relationships between the various parameters. First, introduction of a shorthand related to the state of the low-resolution position signals Ha, Hb, and Hc. A Boolean combination of the three binary state signals yields eight possible states. Therefore, a variable indicative of these states is introduced, denoted LR_State, with decimal values 1-6. It is noteworthy to appreciate the there is no LR_State corresponding to all three low-resolution position signals , Ha, Hb, and Hc being low (e.g., inactive or a zero), nor is there a LR_State corresponding to all three low-resolution position signals , Ha, Hb, and Hc being high (e.g., active or a one), as these states are not possible with the defined configuration of the low-resolution position signals Ha, Hb, and Hc. This is evident with observation of the signal timing as depicted in FIG. . Continuing with FIG. 11, it will now be apparent that each LR_State covers a duration of 60°elect. More over, the transition LR_State to LR_State is defined as a reference transition or reference edge. That is, a transition of low-resolution position signal Ha when signals Hb is low and Hc is high respectively or vice versa. Numerically, employing the shorthand introduced above, it is any transition from LR_State to LR_State or visa versa.

FIG. 11 also depicts an offset calibration referenced to the best-fit line through the output of high-resolution sensor the HR_Count relative to an arbitrary theoretical zero crossing for the forcing voltage Vab. The calibration offset value, K_Bemf_Cal is defined as always being only positive, therefore, an instance where a zero edge leads the Vab zero crossing will result in a large offset value. The zero edge, once again, is a defined parameter to facilitate description of the exemplary embodiment. Further discussion and definition is provided herein associated with FIG. . It is also of note to recognize that a theoretical offset value of 192 countsPA corresponds to a full 360°elect shift. It should further be noted that the calibrations/determinations for the low-resolution sensor transitions are an average of the clockwise and the counterclockwise values. The best-fit line is also a function of both the clockwise and the counterclockwise high-resolution signals. The phase voltage zero crossing is not expected to move based on the rotational direction of the motor. However, if the phase voltage zero crossing does shift based on motor rotational direction, then the average of the clockwise and the counterclockwise values may be used.

Additional naming conventions and definitions that are employed for the algorithms in an exemplary embodiment are depicted in FIG. . FIG. 12 shows the above mentioned reference transition. Also represented in the figure are several defined terms associated with the high-resolution position signals. The primary term introduced is that of a slot set. The slot set is the predefined group of four states of the high-resolution sensor traversing 30°elect, where the reference transition will occur. Similar to the LR_State described above, Boolean combination of the two binary state signals yields four possible states. Therefore, a variable indicative of these states is introduced, denoted HR_State, with decimal values 0-3, for the high-resolution position signals, Q1 and Q2 . More specifically in an exemplary embodiment: 0 for Q1 and Q2 low; 2 for Q1 low and Q2 high; 3 for Q1 and Q2 high; and 1 for Q1 high and Q2 low. The first high-resolution state in the counterclockwise slot set is termed a Zero Slot and the Zero State Midpoint is therefore, a theoretical location where the abovementioned best-fit line will pass through. It is this midpoint that is the basis for all the offset calculations and calibrations. The leading edge of the zero slot is called the Zero Edge. A slot offset calibration denoted K_Slot_Offset_CCW identifies the distance in counts from a HR_Base edge to the Zero edge. Where the HR_Base edge is defined as the transition of the HR_State from to when rotating in a counterclockwise direction. In an exemplary embodiment phase advance counts (countsPA) are used to facilitate the processing. However, it is noteworthy to recognize that the position counter value HR_Count , electrical degrees, or another measure may be utilized including combinations including at least one of the foregoing. Another term identified on the figure is the hysteresis offset calibration denoted K_Hyst_Offset_CW, which, is used to address direction of rotation, the effect of hysteresis and the placement of the arbitrary slot set for a given motor sensor based on the end of line calibration process. This calibration allows for maximum flexibility in selecting slot sets during the assembly process since one slot set may be selected for counterclockwise rotation and another selected for clockwise rotation. It is important to appreciate that thus far the definitions provided are for illustrative purposes. Other definitions and nomenclature may be utilized without deviating from the scope of this specification and the claims.

Position Initialization Algorithm

Motor Position Sensor Initialization Levels

The generalized algorithm disclosed to initialize the motor position includes three separate initialization levels or states. FIG. 13 depicts a state transition diagram identifying the states and the conditions for transitions between them. Each successive level is progressively utilized as more information becomes available, namely from the computations of previous levels. Each level of initialization utilizes calibration information for the physical construction of the sensor subsystem. It will be appreciated that different configurations of a sensor subsystem could result in various similar calibrations.

The first level initializes the position offset based solely on the back EMF calibration K_Bemf_Cal and the levels (or states) of the three low-resolution position signals Ha, Hb, and Hc. The second level calculates the position offset based on the back EMF calibration K_Bemf_Cal and any of the low-resolution position signal edges. The third level calculates the position offset offset based on K_Bemf_Cal, Captured HR_Count, the captured state of Q and Q, the K_Slot_Set_CCW, K_Hyst_Offset_CW The level initialization is triggered by the reference edge transition.

The highest level simplified conceptual flow chart for an exemplary embodiment is shown in FIG. . It should be appreciated that the figure depicts a conceptual flow chart, (in a sequential process flow form) and is illustrative only. Moreover, the figure depicts the processes within the initialization functionality only. Therefore it should be understood that the position initialization functions disclosed herein are configured to execute concurrently with other functions and may utilize and supply information, signals, values, and the like including combinations of the foregoing to other processes and functions not the subject of this disclosure.

Turning now to FIG. 14, a high level flow chart of the initialization algorithm is provided. The processes are initiated at application of power or reset of system functions as depicted at . The first level initialization is completed at . The Level initialization determines the offset based upon the state of the low-resolution position signals Ha, Hb, and Hc. Secondly, following the Level initialization , the initialization algorithm transitions to a Level initialization on the next transition of a LR_State. Processes , , , and cooperate to ascertain the LR_State and identify the transition to the next LR_State as depicted at decision block . Moreover, if the transition also turns out to be a reference edge (e.g., LR_State to LR_State or vice versa) as depicted in decision block , then the initialization algorithm transitions to process to initiate a Level initialization .

The Level initialization computes a motor offset estimate based on more accurate measurement data for the motor offset relative to a selected LR_State transition. Following Level initialization the current offset value Motor_Offset (FIG. 9) is corrected to the newly calculated offset value via a migration function denoted Walk Motor_Offset as depicted at . Once again Processes , , , and cooperate to ascertain the LR_State, identify the transition to the next LR_State, and identify the reference edge transition as depicted at decision block . Following the Level initialization, the adjustment of Motor_Offset , and upon detection of the next reference edge, the initialization algorithm transitions to process to initiate Level initialization . Process includes capturing the current high-resolution state HR_State, the value of the position counter HR_Count, and ascertains the direction of rotation for motor . In an exemplary embodiment, the direction of rotation is determined by evaluating the LR_State transitions to ascertain the current low-resolution state and the previous low-resolution state. With this information, the direction of rotation may be determined. It will be appreciated, that there exist numerous methodologies for determining the direction of rotation, and the exemplary embodiment is intended to be illustrative thereof.

The Level initialization computes a more accurate value for the motor offset based upon high-resolution state, the position counter, the low-resolution reference edge, the direction of rotation, and the motor calibrations. Once again, following the Level initialization , a Walk Motor_Offset function migrates the existing offset value Motor_Offset (FIG. 9) to the resultant new value computed during Level initialization . Upon completion of the Walk Motor_Offset the initialization is complete, as depicted by decision block and end process .

Table 1 is a data dictionary defining the measurements and parameters utilized in FIG. and utilized for execution of the initialization algorithm . The distances identified in the table are given in binary counts, but it should be apparent that other units are possible and that the engineering units selected for such measurements is somewhat arbitrary. It should be noted that not all entries in the data dictionary are employed in each level of initialization, for example, those marked with an asterisk (*) are employed only in Level initialization .

Level Initialization

Turning now to the functional detail of the Level initialization, the Level initialization technique utilized may also be referred to as a “Calibrated Low-resolution L Initialization”. It is noteworthy to appreciate that an exemplary embodiment as disclosed is but one of various methods of executing a Level initialization. With the disclosed method, an offset is calculated as the distance between the current numerical representation of the position sensor and an arbitrarily defined motor's back emf zero reference point. More particularly, an offset is calculated as the distance of two legs. First, the distance between the motor's back emf and the sensor's zero, and second, the distance between the sensor's zero and the high resolution motor position counter (initializes to a different value (location) with each initial operational cycle (e.g., on each ignition cycle). The offset between the current numerical representation of the position sensor and the arbitrarily defined motor's emf zero. The offset is determined based upon the state of the low-resolution position signals Ha, Hb, and Hc. The estimate is also based on the calibration values for the low-resolution sensor edges. Simply stated, the motor position is estimated to be substantially in the middle of a low-resolution state as defined by the low-resolution state's edge calibration

(e.g., K_LR_EDGE__−K_LR_EDGE__)/2+K_LR_EDGE__)

FIG. 15 depicts a flow diagram of an exemplary implementation of the Level initialization . The Level initialization process as may be executed by controller comprises a routine of measurements and computations to estimate a motor offset relative to the zero value of HR_Count. This offset is estimated based on the midpoint (or center) of the low-resolution state. To compute the low-resolution state midpoint and relevant measurements thereto, the Level initialization starts with sampling or capturing the current low-resolution state, LR_State as depicted at process and the current value of the motor position as depicted at process . With the LR_State and the current motor position, a position value associated with a first edge, (e.g., the right edge) of the low-resolution state may be ascertained as depicted at process . Thereafter, process depicts determining a position value associated with a second edge, (e.g., the left edge) of the low-resolution state. Process depicts the computation of the low resolution state midpoint denoted m as follows in equation (1):

 =(−)/2+  (1)

At process a first estimate of the motor offset is computed in accordance with the following equation:

New_Motor_Offset=K_Bemf_Cal−HR_Count  (2)

Finally, at process , a roll over/roll under function is employed to address numerical range considerations typically associated with numerical methodologies and digital computing.

With a new motor offset computed the Level initialization is complete and the initialization algorithm is ready to transition to Level initialization or Level initialization . As stated earlier, following the Level initialization , the initialization algorithm transitions to a Level initialization on the next transition of a LR_State as depicted at decision block (FIG. ). Moreover, if the transition also turns out to be a reference edge (e.g., LR_State to LR_State or vice versa) then the initialization algorithm transition directly to a Level initialization as depicted in decision block (FIG. ).

FIG. 16 is a diagram depicting a hypothetical example of a level counterclockwise (CCW) initialization. Using the algorithm given in the previous section and the following example values, the algorithm calculations are outlined below for a counterclockwise level initialization.

e=K_LR_EDGE__=1

e=K_LR_EDGE__=33

m=(e−e)/2+e=(33−1)/2+1=17

New_Motor_Offset=m−K_Bemf_Cal−HR_Count=17−16−0=1

Roll Over/Roll Under Correction ( to )

New_Motor_Offset=1

Level Initialization

The Level initialization technique utilized is also referred to as “Calibrated Low-resolution L Initialization”. Once, disclose herein is one of numerous methods of Level initialization . In an exemplary embodiment of Level initialization the motor position is estimated based upon the state transition of the low-resolution position signals , LR_State and a calibration value for the low-resolution state transition edge. That is, in an exemplary embodiment, the motor position is estimated from the transition point of the low-resolution state as defined by the low-resolution state's edge calibration.

FIG. 17 depicts a flow diagram of an exemplary implementation of the Level initialization . The Level initialization process as may be executed by controller comprises a routine of measurements and computations to estimate a motor offset relative to the edge of a low-resolution state. It is noteworthy to appreciate that any edge of a low-resolution state (other than the edge corresponding to LR_STATE to LR_STATE or vice versa) will result in a transition to Level initialization. To compute the Motor_Offset and relevant measurements thereto, the Level initialization starts with acquiring the current and last low-resolution state(s), LR_State as depicted at process . Process comprises obtaining a current value of the motor position counter HR_COUNT from the position counter .

The value of the edge denoted e corresponding to the transition from the previous low-resolution state LR_State and the current LR_State is determined at process . With a position value corresponding to the low-resolution state transition of interest, at process the computation of a second estimate/correction for the motor offset is computed in accordance with the following equation:

New_Motor_Offset=K_Bemf_Cal−HR_Count  (3)

Finally, at process , a roll over/roll under function is employed to address numerical range considerations typically associated with numerical methodologies and digital computing.

With a position value New_Motor_Offset corresponding to the new motor offset computed for either the clockwise or counterclockwise rotation, at process the value is corrected to account for mathematical processing and address signal value over/under flow, and thereby, limiting the range to between 0 and 191 counts (inclusive) yielding a final New_Motor_Offset value for the Level initialization. It is noteworthy to recognize that the function employed at process is typical of numerical methodologies employed for value overflow/roll over in signal processing and computing. It is noted here to clarify the application to the motor position offset algorithms disclosed.

FIG. 18 depicts an exemplary Level CCW initialization. Using the algorithm given in the previous section and the following example values, the algorithm calculations are outlined below for the counterclockwise Level initialization .

Since the LR_State transitioned from to the motor is rotating counterclockwise:

e=K_LR_EDGE__=33

New_Motor_Offset=e−K_Bemf_Cal−HR_Count=33−16−0=17

Roll Over/Roll Under Correction ( to )

New_Motor_Offset=17

FIG. 19 depicts an exemplary Level CW initialization. Using the algorithm given in the previous section and the following example values, the algorithm calculations are outlined below for a clockwise Level initialization .

Since the LR_State transitioned from to the motor is rotating counterclockwise:

e=K_LR_EDGE__=33

New_Motor_Offset=e−K_Bemf_Cal−HR_Count=33−16−184=−167

Roll Over/Roll Under Correction ( to )

New_Motor_Offset=−167+192=25

Returning to FIG. 14, with a new motor offset computed, the Level initialization is complete and the initialization algorithm is ready to adjust the current value of the motor offset Motor_Offset. To facilitate correction of the value Motor_Offset, in an exemplary embodiment, an offset compensation algorithm is introduced denoted Walk Motor_Offset process (FIG. ). The Walk Motor_Offset is a process whereby the existing value for motor offset Motor_Offset (e.g., from the Level initialization ) is migrated to achieve the newly determined value for the motor offset as a function (in this instance) of the Level initialization . The function shown in FIG. 20 provides a time based walk, which can be adjusted based on the calling frequency. It should be appreciated that such a function may be implemented in a variety of ways. The exemplary embodiment includes a time based walk algorithm in that it facilitates processing and implementation. Alternative embodiments may employ implementations such as magnitude based fixed increment, variable increment magnitude based, time and magnitude based, and the like including combinations including at least one of the foregoing.

The Walk Motor_Offset process continues for each cycle of controller through the initialization algorithm until the walk is complete (the target value has been achieved). Upon the next transition of the LR_State, once again in a manner similar to that disclosed earlier, processes , , and cooperate to ascertain the LR_State, identify the transition to the next LR_State, and identify the reference edge transition (e.g., LR_State to LR_State or vice versa) as depicted at decision block (FIG. ). Upon detection of a reference edge as depicted at decision block , the initialization algorithm transitions to process to initiate Level initialization . Process includes capturing the current high-resolution state HR_State, the value of the position counter HR_Count, and ascertains the direction of rotation for motor . In an exemplary embodiment, the direction of rotation is determined by evaluating the LR_State transitions to ascertain the current low-resolution state and the previous low-resolution state. With this information the direction of rotation may be determined. It will be appreciated, that there exist numerous methodologies for determining the direction of rotation, and the exemplary embodiment is intended to be illustrative thereof.

Level Initialization

The Level initialization technique utilized is also referred to as “Bi-directional, High-Resolution Edge Offset, Calibratable Slot set”. It should be noted that the disclosed exemplary embodiment is one of numerous methods of implementing and accomplishing a Level initialization and therefore should be considered illustrative and not limiting. In an exemplary embodiment of a Level initialization process, the motor position is calculated based upon the zero edge of the high-resolution sensor. The zero edge is identified by the reference state transition of the low-resolution position signals (e.g., LR_State to LR_State or vice versa). The calculation also employs direction of rotation in order to allow for increased motor position sensor tolerances and hysteresis induced variances in relative angular relationships of the sensor signals, e.g., the low resolution position signals Ha , Hb , and Hc respectively. It should be noted that Level initialization is relative to the high-resolution position only. The low-resolution sensor is simply used to find the right high-resolution edge. Therefore, it should be understood, that alternative embodiments may be conceived of, which may employ less than three low-resolution position sensors. Such an alternative embodiment may include a single signal for a reference edge and the high-resolution position signals, Q and Q.

FIG. 21 depicts an implementation flow chart of exemplary embodiment of a Level initialization . The Level initialization process as may be executed by controller comprises a routine of measurements and computations to estimate a motor offset relative to the zero edge of a high-resolution state HR_State. To compute the relevant measurements thereto, the Level initialization initiates with determination of the direction of rotation for the motor . Once, again, in an exemplary embodiment, the determination is made by acquiring the current low-resolution state(s), LR_State, and the last low-resolution state. The direction of rotation may readily be determined as the sequence and order of the low-resolution states is predetermined. In fact, because a reference edge transition triggered the transition to process (FIG. 14) and Level initialization , knowledge of the current low-resolution state LR_State is all that is needed. It should be noted that because a reference edge is defined as the transition between LR_State to LR_State or vice versa, and if the current low-resolution state LR_State is state and a reference edge transition has occurred for example, then the previous must have been LR_State and therefore the direction of rotation is clockwise. Similarly, if the current LR_State is and a reference edge transition has occurred, then the previous must have been LR_State and therefore the direction of rotation is counterclockwise. Upon determination of direction, the Level initialization divides for computation of the Motor_Offset with consideration of direction. Processes , , , and address the clockwise rotation of the motor . While processes , , , and address the counterclockwise rotation of the motor . At decision block the direction of rotation is employed to ascertain if the motor is rotating counterclockwise. If so, the processing branches to process if not, the process transitions to process .

Turning to the processing for the clockwise direction, at process the desired values for the motor calibrations are acquired to facilitate the process of computing the motor offset. A value for an offset corresponding to the states of the high-resolution signals Q and Q with respect to the zero slot edge is computed. Finally, a captured value of the position counter HR_Count is acquired to facilitate the process of computing the motor offset .

In an exemplary embodiment at process , based upon the state of the high-resolution signals Q and Q a local slot offset is ascertained. The local slot offset denoted locSlot_Offset corresponds to a calibrated distance for the difference between the base high-resolution sensor state HR_State or and the captured HR_State in which the reference edge occurs. The value for locSlot_Offset can be determined from Table 6.

In an exemplary embodiment at process , the local (implying internal to Level initialization) zero offset denoted hereinafter as LocZeroOffset is computed as follows:

LocZeroOffset=K_Hyst_Offset_CW−K_Slot_Set_CCW+locSlot_Offset

where the K_Hyst_Offset_CW corresponds to the offset calibration to account for the relative effect of hysteresis on the low resolution position sensors with respect to the high resolution position sensors, the calibration K_Slot_Set_CCW corresponds to the distance between the HR_Base edge and the zero edge, and the locSlot_Offset corresponds to a calibrated distance for the difference between the base high-resolution sensor state HR_State or and the captured HR_State in which the reference edge occurs.

At process , a roll over/roll under function is employed to address numerical range considerations typically associated with numerical methodologies and digital computing. Finally, the motor offset as part of the Level initialization may now be readily computed. Process depicts the computation of the motor offset as follows

New_Motor_Offset=(192−HR_Countcap)+LocZeroOffset−K_Bemf_Cal−K_Hyst_Offset_CW

Turning to the processing for the counterclockwise direction, at process the desired values for the motor calibrations are acquired to facilitate the process of computing the motor offset . Similar to process , at process a local slot offset denoted locSlot_Offset is ascertained. Once again, the value for locSlot_Offset can be determined from Table 6. In an exemplary embodiment at process , a local zero offset denoted hereinafter as LocZeroOffset is computed as follows:

LocZeroOffset=locSlot_Offset−K_Slot_Set_CCW

where the calibration K_Slot_Set_CCW corresponds to the distance between the HR Base edge and the zero edge, and the locSlot_Offset corresponds to a calibrated distance for the difference between the base high-resolution sensor state HR_State or and the captured HR_State in which the reference edge occurs.

At process , once again, a roll over/roll under function is employed to address numerical range considerations typically associated with numerical methodologies and digital computing. The motor offset as part of the Level initialization may now be readily computed. Process depicts the computation of the motor offset as follows

New_Motor_Offset=(192−HR_Count)+locZeroOffset−K_Slot_Set_CCW−K_Bemf_Cal

With a position value New_Motor_Offset corresponding to the new motor offset computed for either the clockwise or counterclockwise rotation, at process the value is corrected to account for mathematical processing and address signal value over/under flow, and thereby, limiting the range to between 0 and 191 counts yielding a final New_Motor_Offset value for the Level initialization. It is noteworthy to recognize that the function employed at process is typical of numerical methodologies employed for value overflow/roll over in signal processing and computing. It is noted here to clarify the application to the motor position offset algorithms disclosed.

FIG. 22 depicts an exemplary Level CCW initialization. Using the algorithm given in the previous section and the following example values, the algorithm calculations are outlined below for the counterclockwise Level example.

Since the LR_State=5 the transition was counterclockwise:

locSlotOffset=12

locZeroOffset=locSlotOffset−K_Slot_Set_CCW=12−8=4

Roll Over/Roll Under Correction ( to )

locZeroOffset=4

Roll Over/Roll Under Correction ( to )

New_Motor_Offset=20

FIG. 23 depicts an exemplary Level CW initialization. Using the algorithm given in the previous section and the following example values, the algorithm calculations are outlined below for the clockwise Level example.

Since the LR_State=1 the transition was clockwise:

locSlotOffset=4

Roll Over/Roll Under Correction ( to )

locZeroOffset=8

Roll Over/Roll Under Correction ( to )

New_Motor_Offset=20

Returning once again to FIG. 14, with a new motor offset computed the Level initialization is complete and the initialization algorithm is ready to transition to a second walk process once again denoted Walk Motor_Offset . Once again, to facilitate correction of the value Motor_Offset, in an exemplary embodiment, an offset compensation algorithm is introduced denoted Walk Motor_Offset process (FIG. ). The Walk Motor_Offset is similar to the process disclosed earlier whereby the existing value for motor offset Motor_Offset (e.g., from the Level initialization or the Level initialization ) is migrated to achieve the newly determined value for the motor offset as a function (in this instance) of the Level initialization . The function shown in FIG. 21 may be employed.

The Walk Motor_Offset process continues for each cycle of controller through the initialization algorithm until the walk is complete as depicted at decision block . The completion of the walk is ascertained when the Motor_Offset substantially attains or is within a selected threshold of the value of the New_Motor_Offset as computed by the Level initialization .

The disclosed invention may be embodied in the form of computer or controller implemented processes and apparatuses for practicing those processes. The present invention can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer or controller, the computer becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer or controller, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.

While the invention has been described with reference to an exemplary embodiment, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a schematic diagram of a motor control system;

FIG. 2 illustrates waveforms for ideally aligned sensors;

FIG. 3 is block diagram of a motor control system and data flow;

FIG. 4 depicts typical motor phase voltages;

FIG. 5 depicts a timing diagram with a calibration angle;

FIG. 6 depicts corresponding electrical and mechanical Cycles for a six-pole motor;

FIG. 7 depicts ideal sensor subsystem waveforms as a function of electrical angle;

FIG. 8 presents a graphical representation of an exemplary sense magnet;

FIG. 9 depicts high-level logic and software signal flow;

FIG. 10 depicts phase angle signal flow and position computation;

FIG. 11 depicts the signal relationships and definitions for the sensor system;

FIG. 12 depicts slot set definitions;

FIG. 13 depicts a state transition diagram for the initialization in an exemplary embodiment;

FIG. 14 depicts a top-level implementation flow chart for an exemplary embodiment;

FIG. 15 depicts a flow chart for a Level initialization implementation of an exemplary embodiment;

FIG. 16 depicts an illustrative Level CCW initialization example;

FIG. 17 depicts a flow chart for a Level initialization implementation of an exemplary embodiment;

FIG. 18 depicts an illustrative Level CCW initialization example;

FIG. 19 depicts an illustrative Level CW initialization example;

FIG. 20 depicts an exemplary motor position walk function;

FIG. 21 depicts a flow chart for a Level initialization implementation of an exemplary embodiment;

FIG. 22 depicts an illustrative Level CCW initialization example;

FIG. 23 depicts an illustrative Level CW initialization example; and

FIG. : depicts motor sensor system electrical signals.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional application No. 60/326,289, filed Oct. 1, 2001 the contents of which are incorporated by reference herein in their entirety.

CLAIMS

1. A method for calibrating and initializing position for a rotating device, the method comprising: establishing a sensor subsystem datum indicative of a measurement reference point for a sensor subsystem; obtaining a calibration value corresponding to a distance to a selected magnetic reference position for said rotating device, relative to said sensor subsystem datum; measuring a position and calculating a position delta relative to an initial reference; estimating an offset from said sensor subsystem datum to said initial reference; determining an absolute position estimate of said rotating device relative to said magnetic reference position; and wherein said absolute position estimate is responsive to said calibration value, said position delta, and said offset from said sensor subsystem datum to said initial reference.

2. The method of claim 1 wherein said establishing comprises selecting a reference position relative to which, any measurement in said sensor subsystem may be accomplished.

3. The method of claim 1 wherein said establishing comprises determining a selected point on a high-resolution position signal.

4. The method of claim 3 wherein said selected point corresponds with a high-resolution state of a plurality of high-resolution states responsive to said high-resolution position signal.

5. The method of claim 4 wherein said high-resolution position signal comprises a binary signal.

6. The method of claim 3 wherein said high-resolution position signal is one of a plurality of high resolution position signals comprising binary signals and wherein said plurality of high-resolution states is responsive to said plurality of high resolution position signals.

7. The method of claim 6 wherein said plurality of high-resolution position signals exhibit a deterministic phase shifted relation from which direction may be determined.

8. The method of claim 7 where wherein said plurality of high-resolution position signals are in quadrature.

9. The method of claim 4 wherein said establishing comprises determining a slot set comprising consecutive, unique, high-resolution states of said plurality of high-resolution states.

10. The method of claim 9 wherein said slot set comprises the largest set of consecutive, unique, high-resolution states.

11. The method of claim 9 wherein said slot set is selected such that a reference edge occurs within said slot set.

12. The method of claim 9 wherein said slot set includes a zero slot as a first slot of said slot set.

13. The method of claim 12 wherein said zero slot includes a zero edge and determining a position thereof corresponding to a leading edge of said zero slot.

14. The method of claim 6 wherein said plurality of high-resolution states is resultant from a high-resolution position signal, and another high-resolution position signal of said plurality of high resolution position signals combined to form a binary word indicative of said plurality of high-resolution states.

15. The method of claim 14 wherein said plurality of high resolution states comprises four states, and said binary word is a two bit binary word.

16. The method of claim 14 wherein said high-resolution position signal, and another high-resolution position signal, are in quadrature.

17. The method of claim 4 wherein said sensor subsystem datum comprises a selected state of said plurality of high-resolution states.

18. The method of claim 4 wherein said sensor subsystem datum comprises a selected transition to a selected state of said plurality of high-resolution states.

19. The method of claim 4 wherein said sensor subsystem datum corresponds to a best fit linear approximation of said high-resolution states for a revolution of said rotating device, configured to address bi-directional operation of said rotating device.

20. The method of claim 19 wherein said best fit linear approximation ideally intersects a zero midpoint.

21. The method of claim 19 wherein said zero midpoint corresponds to a midpoint of a zero slot and said zero slot is a first slot of a slot set.

22. The method of claim 21 wherein said zero slot includes a zero edge corresponding to a leading edge of said zero slot.

23. The method of claim 22 wherein said zero edge comprises a transition between a first high-resolution state and a second high-resolution state.

24. The method of claim 1 wherein said distance to a selected reference position is an angular displacement.

25. The method of claim 1 wherein said selected reference position is arbitrary.

26. The method of claim 1 wherein said selected reference position is a magnetic reference position corresponding to a positive going zero crossing of a back-emf for a selected line-to-line voltage in an electric machine.

27. The method of claim 26 wherein said selected line-to-line voltage is from phase A to phase B applied to said electric machine.

28. The method of claim 1 wherein said calibration value comprises a back-emf calibration a measured distance from said sensor subsystem reference to a positive going zero crossing of a back-emf for a selected line-to-line voltage of an electric machine.

29. The method of claim 1 wherein said measuring includes counting transitions through a plurality of high resolution states responsive to a high-resolution position signal wherein said counting yields a value corresponding to a position of said rotating device relative to said initial reference.

30. The method of claim 29 wherein said plurality of high-resolution states is responsive to a high-resolution position signal.

31. The method of claim 29 wherein said high-resolution position signal is one of a plurality of high-resolution position signals combined to form a binary word indicative of said plurality of high resolution states.

32. The method of claim 29 wherein said plurality of high-resolution states comprises four states, said plurality of high-resolution position signals comprises two high-resolution position signals, and said binary word is a two bit binary word.

33. The method of claim 29 wherein said counting includes setting a position counter responsive to said high-resolution position signal.

34. The method of claim 29 wherein said high-resolution position signal is one of a plurality of high-resolution position signals comprising high-resolution position signals in quadrature.

35. The method of claim 1 wherein said initial reference corresponds to an initial value of a position counter responsive to at least one high-resolution position signal at an arbitrary initial position of said rotating device.

36. The method of claim 35 wherein said initial value of a position counter is arbitrary.

37. The method of claim 1 wherein said initial reference is arbitrary.

38. The method of claim 1 wherein said estimating an offset includes ascertaining a position value corresponding to an estimated distance from said sensor subsystem datum to said initial reference.

39. The method of claim 38 wherein said position value is responsive to a selected location within a low-resolution state.

40. The method of claim 39 wherein said selected location is a midpoint of said low-resolution state.

41. The method of claim 40 wherein said midpoint comprises an average distance between a first transition to a first low-resolution state and a second transition to a second low-resolution state.

42. The method of claim 41 wherein said a first low-resolution state and said second low-resolution state are each one of a plurality of low-resolution states.

43. The method of claim 42 wherein said plurality of low-resolution states is generated in response to a binary combination of a plurality low-resolution position signals, said combination forming a binary word indicative of said plurality of low-resolution states.

44. The method of claim 43 wherein said low-resolution position signal is a binary signal.

45. The method of claim 43 wherein said low-resolution position signal is one of a plurality of low-resolution position signals transmitted from a plurality of low-resolution position sensors.

46. The method of claim 43 wherein said plurality low-resolution position signals comprises three low-resolution position signals, which are binary signals transmitted from three low-resolution position sensors configured to generate said three binary signals, each about 120 electrical degrees apart, respectively and said binary word comprises 3 bits.

47. The method of claim 43 wherein said a binary word and said plurality of low-resolution states is indicative of a position of said sensor subsystem.

48. The method of claim 47 wherein said binary word represents six low-resolution states corresponding to a selected range of absolute positions of said sensor subsystem.

49. The method of claim 48 wherein a reference edge corresponds to any transition between low-resolution state one of said plurality of low resolution states and low resolution state five of said plurality of low resolution states.

50. The method of claim 42 further including a first calibration value corresponding to said first transition indicative of a distance from said sensor subsystem datum to said first transition.

51. The method of claim 50 further including a second calibration value corresponding to said second transition indicative of a distance from said sensor subsystem datum to said second transition.

52. The method of claim 51 wherein said first calibration value and said second calibration value are each one of a plurality of calibration values.

53. The method of claim 52 wherein each calibration value of said plurality of calibration values is indicative of a distance from said sensor subsystem datum to a selected transition between two respective low resolution states of said plurality of low resolution states.

54. The method of claim 38 wherein said position value is responsive to a first transition between a first low-resolution state and a second low-resolution state.

55. The method of claim 54 wherein said a first low-resolution state and said second low-resolution state are each one of a plurality of low-resolution states.

56. The method of claim 55 wherein said plurality of low-resolution states is generated in response to a binary combination of a plurality low-resolution position signals, said combination forming a binary word indicative of said plurality of low-resolution states.

57. The method of claim 56 wherein said low-resolution position signal is a binary signal.

58. The method of claim 56 wherein said low-resolution position signal is one of a plurality of low-resolution position signals transmitted from a plurality of low-resolution position sensors.

59. The method of claim 56 wherein said plurality low-resolution position signals comprises three low-resolution position signals, which are binary signals transmitted from three low-resolution position sensors configured to generate said three binary signals, each about 120 electrical degrees apart, respectively and said binary word comprises 3 bits.

60. The method of claim 56 wherein said a binary word and said plurality of low-resolution states is indicative of a position of said sensor subsystem.

61. The method of claim 60 wherein said binary word represents six low-resolution states corresponding to a selected range of absolute positions of said sensor subsystem.

62. The method of claim 61 wherein a reference edge corresponds to any transition between low-resolution state one of said plurality of low resolution states and low resolution state five of said plurality of low resolution states.

63. The method of claim 55 further including a first calibration value corresponding to said first transition indicative of a distance from said sensor subsystem datum to said first transition.

64. The method of claim 63 wherein said first calibration value is one of a plurality of calibration values.

65. The method of claim 64 wherein each calibration value of said plurality of calibration values is indicative of a distance from said sensor subsystem datum to a selected transition between two respective low resolution states of said plurality of low resolution states.

66. The method of claim 38 wherein said position value corresponds to a selected high-resolution position responsive to a high-resolution position signal.

67. The method of claim 66 wherein said selected high resolution position corresponds with a selected position in a high-resolution state of a plurality of high-resolution states responsive to said high-resolution position signal.

68. The method of claim 67 wherein said high-resolution position signal comprises a binary signal.

69. The method of claim 66 wherein said high-resolution position signal is one of a plurality of high resolution position signals comprising binary signals and wherein said plurality of high-resolution states is responsive to said plurality of high resolution position signals.

70. The method of claim 69 wherein said plurality of high-resolution position signals exhibit a deterministic phase shifted relation from which direction may be determined.

71. The method of claim 70 where wherein said plurality of high-resolution position signals are in quadrature.

72. The method of claim 67 wherein said estimating comprises establishing a slot set comprising consecutive, unique, high-resolution states of said plurality of high-resolution states.

73. The method of claim 72 wherein said slot set comprises the largest set of consecutive, unique, high-resolution states.

74. The method of claim 72 wherein said slot set is selected such that a reference edge occurs within said slot set.

75. The method of claim 74 wherein said reference edge corresponds to any transition between a low-resolution state one and a low resolution state five.

76. The method of claim 72 wherein said slot set includes a zero slot as a first slot of said slot set.

77. The method of claim 76 wherein said zero slot includes a zero edge and determining a position thereof corresponding to a leading edge of said zero slot.

78. The method of claim 69 wherein said plurality of high-resolution states is resultant from said high-resolution position signal and another high-resolution position signal of said plurality of high resolution position signals combined to form a binary word indicative of said plurality of high-resolution states.

79. The method of claim 78 wherein said plurality of high resolution states comprises four states, and said binary word is a two bit binary word.

80. The method of claim 67 wherein said selected position corresponds to a best fit linear approximation through a zero slot, configured to address bi-directional operation of said rotating device.

81. The method of claim 80 wherein said selected position is ideally a zero midpoint.

82. The method of claim 81 wherein said zero midpoint corresponds to a midpoint of a zero slot of a selected slot set.

83. The method of claim 1 wherein said determining comprises a combination including said calibration value said delta position and said offset resultant from said estimating.

84. The method of claim 83 wherein said combination comprises a subtraction of said calibration value and said position delta from said offset.

85. The method of claim 83 wherein said calibration value corresponds to a back-emf calibration and a measured distance from said sensor subsystem reference to a positive going zero crossing of a back-emf for a selected line-to-line voltage of an electric machine.

86. The method of claim 83 wherein said delta position corresponds with a difference between a current value of a position counter and an initial value of said position counter.

87. The method of claim 86 wherein said delta position corresponds to a measured distance said electric machine has moved relative to said initial reference.

88. The method of claim 83 wherein said offset is the distance for said sensor subsystem datum to a midpoint of a low-resolution state.

89. The method of claim 88 wherein said midpoint of a low-resolution state is a calibration value.

90. The method of claim 88 wherein said midpoint is computed as an average mean between a plurality of low-resolution transitions.

91. The method of claim 90 wherein said plurality of low-resolution transitions correspond with a plurality of calibration values.

92. The method of claim 83 wherein said offset is the distance for said sensor subsystem reference to a selected transition between two low-resolution states.

93. The method of claim 92 wherein said selected transition is a calibration value.

94. The method of claim 92 wherein said selected transition is computed from selected low-resolution states of a plurality of low-resolution states.

95. The method of claim 94 wherein said plurality of low-resolution states correspond with a plurality of calibration values.

96. The method of claim 83 wherein said offset is a distance from said sensor subsystem datum to a best fit linear approximation of a plurality of high-resolution states over an entire revolution of said rotating device.

97. The method of claim 96 wherein said offset is a distance from said sensor subsystem datum to a midpoint of a selected high-resolution state denoted as a zero midpoint.

98. The method of claim 96 wherein said offset includes at least one of a zero offset and a hysteresis offset.

99. The method of claim 98 wherein said a zero offset comprises at least one of: a slot offset, a slot set calibration value, a hysteresis offset.

100. The method of claim 1 further including said determining an absolute position estimate further including an iterative walk function for transitioning said estimating from an existing value to a calculated value.

101. The method of claim 100 wherein said transitioning is adapted to avoid objectionable excursions between values of said estimating.

102. The method of claim 100 wherein said iterative walk has corrective steps that are based on at least one of time and position.

103. A system for calibrating and initializing an electronically commutated electric machine, the system comprising: an electric machine; a position sensor subsystem operatively connected to said electric machine configured to measure a position and transmit a position signal to a controller; an absolute position sensor operatively connected to said controller and transmitting a position signal indicative of an absolute position of said electric machine. a relative position sensor operatively connected to said controller and transmitting a position signal indicative of a position of said electric machine. wherein said controller executes a process implementing a method for calibrating and initializing position for said electric machine, the method comprising: establishing a sensor subsystem datum indicative of a measurement reference point for a sensor subsystem; obtaining a calibration value corresponding to a distance to a selected magnetic reference position for said rotating device, relative to said sensor subsystem datum; measuring a position and calculating a position delta relative to an initial reference; estimating an offset from said sensor subsystem datum to said initial reference; determining an absolute position estimate of said electric machine relative to said magnetic reference position; and wherein said absolute position estimate is responsive to said calibration value, said position delta, and said offset from said sensor subsystem datum to said initial reference.

104. The system of claim 103 wherein said establishing comprises determining a selected point on a high-resolution position signal.

105. The system of claim 104 wherein said selected point corresponds with a high-resolution state of a plurality of high-resolution states responsive to said high-resolution position signal.

106. The system of claim 104 wherein said high-resolution position signal is one of a plurality of high resolution position signals comprising binary signals generated in response to the passing of a sense magnet and wherein said plurality of high-resolution states is responsive to said plurality of high resolution position signals.

107. The system of claim 106 wherein said plurality of high-resolution position signals exhibit a deterministic phase shifted relation from which direction may be determined.

108. The system of claim 107 where wherein said plurality of high-resolution position signals are in quadrature.

109. The system of claim 106 wherein said plurality of high-resolution states is resultant from a high-resolution position signal and another high-resolution position signal of said plurality of high resolution position signals combined to form a binary word indicative of said plurality of high-resolution states.

110. The system of claim 109 wherein said plurality of high resolution states comprises four states, and said binary word is a two bit binary word.

111. The system of claim 105 wherein said sensor subsystem datum comprises a selected state of said plurality of high-resolution states.

112. The system of claim 105 wherein said sensor subsystem datum comprises a selected transition to a selected state of said plurality of high-resolution states.

113. The system of claim 105 wherein said sensor subsystem datum corresponds to a best fit linear approximation of said high-resolution states for a revolution of said rotating device, configured to address bi-directional operation of said rotating device.

114. The system of claim 103 wherein said distance to a selected reference position is an angular displacement.

115. The system of claim 103 wherein said selected reference position is arbitrary.

116. The system of claim 103 wherein said selected reference position is a magnetic reference position corresponding to a positive going zero crossing of a back-emf for a selected line-to-line voltage in an electric machine.

117. The system of claim 103 wherein said measuring includes counting transitions through a plurality of high resolution states responsive to a high-resolution position signal wherein said counting yields a value corresponding to a position of said rotating device relative to said initial reference.

118. The system of claim 117 wherein said plurality of high-resolution states comprises four states, said plurality of high-resolution position signals comprises two high-resolution position signals.

119. The system of claim 103 wherein said initial reference corresponds to an initial value of a position counter responsive to at least one high-resolution position signal at an arbitrary initial position of said rotating device.

120. The system of claim 103 wherein said estimating an offset includes ascertaining a position value corresponding to an estimated distance from said sensor subsystem datum to said initial reference.

121. The system of claim 120 wherein said position value is responsive to a selected location within a low-resolution state.

122. The system of claim 121 wherein said selected location is a midpoint of said low-resolution state.

123. The system of claim 122 wherein said midpoint comprises an average distance between a first transition to a first low-resolution state and a second transition to a second low-resolution state.

124. The system of claim 120 wherein said position value is responsive to a first transition between a first low-resolution state and a second low-resolution state.

125. The system of claim 124 wherein said a first low-resolution state and said second low-resolution state are each one of a plurality of low-resolution states.

126. The system of claim 125 wherein said plurality of low-resolution states is generated in response to a binary combination of a plurality low-resolution position signals, said combination forming a binary word indicative of said plurality of low-resolution states.

127. The system of claim 126 wherein said plurality low-resolution position signals comprises three low-resolution position signals, which are binary signals transmitted from three low-resolution position sensors configured to generate said three binary signals, each about 120 electrical degrees apart, respectively and said binary word comprises 3 bits.

128. The system of claim 125 further including a first calibration value corresponding to said first transition indicative of a distance from said sensor subsystem datum to said first transition.

129. The system of claim 128 wherein said first calibration value is one of a plurality of calibration values.

130. The system of claim 129 wherein each calibration value of said plurality of calibration values is indicative of a distance from said sensor subsystem datum to a selected transition between two respective low resolution states of said plurality of low resolution states.

131. The system of claim 120 wherein said position value corresponds to a selected high-resolution position responsive to a high-resolution position signal.

132. The system of claim 131 wherein said selected high resolution position corresponds with a selected position in a high-resolution state of a plurality of high-resolution states responsive to said high-resolution position signal.

133. The system of claim 132 wherein said estimating comprises establishing a slot set comprising consecutive, unique, high-resolution states of said plurality of high-resolution states.

134. The system of claim 133 wherein said slot set is selected such that a reference edge occurs within said slot set.

135. The system of claim 134 wherein said reference egde corresponds to any transition between a low-resolution state one and a low resolution state five.

136. The system of claim 132 wherein said selected position corresponds to a best fit linear approximation through a zero slot, configured to address bi-directional operation of said rotating device.

137. The system of claim 136 wherein said selected position is ideally a zero midpoint.

138. The system of claim 137 wherein said zero midpoint corresponds to a midpoint of a zero slot of a selected slot set.

139. The system of claim 103 wherein said determining comprises a combination including said calibration value said delta position and said offset resultant from said estimating.

140. The system of claim 139 wherein said combination comprises a subtraction of said calibration value and said position delta from said offset.

141. The system of claim 139 wherein said calibration value corresponds to a back-emf calibration and a measured distance from said sensor subsystem reference to a positive going zero crossing of a back-emf for a selected line-to-line voltage of an electric machine.

142. The system of claim 139 wherein said delta position corresponds with a difference between a current value of a position counter and an initial value of said position counter.

143. The system of claim 142 wherein said delta position corresponds to a measured distance said electric machine has moved relative to said initial reference.

144. The system of claim 139 wherein said offset is the distance for said sensor subsystem datum to a midpoint of a low-resolution state.

145. The system of claim 139 wherein said offset is the distance for said sensor subsystem reference to a selected transition between two low-resolution states.

146. The system of claim 139 wherein said offset is a distance from said sensor subsystem datum to a best fit linear approximation of a plurality of high-resolution states over an entire revolution of said rotating device.

147. The system of claim 146 wherein said offset is a distance from said sensor subsystem datum to a midpoint of a selected high-resolution state denoted as a zero midpoint.

148. The system of claim 146 wherein said offset includes at least one of a zero offset and a hysteresis offset.

149. The system of claim 148 wherein said a zero offset comprises at least one of: a slot offset, a slot set calibration value, a hysteresis offset.

150. The system of claim 103 further including said determining an absolute position estimate further including an iterative walk function for transitioning said estimating from an existing value to a calculated value.

151. The system of claim 150 wherein said iterative walk has corrective steps that are based on at least one of time and position.

152. A storage medium, said storage medium including instructions for causing a controller to implement a method for calibrating and initializing position for a rotating device: establishing a sensor subsystem datum indicative of a measurement reference point for a sensor subsystem; obtaining a calibration value corresponding to a distance to a selected magnetic reference position for said rotating device, relative to said sensor subsystem datum; measuring a position and calculating a position delta relative to an initial reference; estimating an offset from said sensor subsystem datum to said initial reference; determining an absolute position estimate of said rotating device relative to said magnetic reference position; and wherein said absolute position estimate is responsive to said calibration value, said position delta, and said offset from said sensor subsystem datum to said initial reference.

153. A computer data signal, said data signal comprising code configured to cause a controller to implement a method for determining a velocity of a rotating device, the method comprising: establishing a sensor subsystem datum indicative of a measurement reference point for a sensor subsystem; obtaining a calibration value corresponding to a distance to a selected magnetic reference position for said rotating device, relative to said sensor subsystem datum; measuring a position and calculating a position delta relative to an initial reference; estimating an offset from said sensor subsystem datum to said initial reference; determining an absolute position estimate of said rotating device relative to said magnetic reference position; and wherein said absolute position estimate is responsive to said calibration value, said position delta, and said offset from said sensor subsystem datum to said initial reference.

COPYRIGHT

User acknowledges that Fairview Research and its third party providers retain all right, title and interest in and to this xml under applicable copyright laws. User acquires no ownership rights to this xml including but not limited to its format. User hereby accepts the terms and conditions of the License Agreement.