Three-phase BLDC motor driver/controller having diagnostic signal processing

Method and apparatus for providing a motor controller/driver integrated circuit package having diagnostic processing of signal(s) from a magnetic field sensor positioned in relation to a motor. The sensor signal may have a first voltage range corresponding to a valid high state and a second voltage range corresponding to a valid low state. A diagnostic module can process the received signal from the magnetic field sensor to determine whether the received signal has a voltage level within the first or second voltage ranges. An output module may generate an output signal having a state based on the whether the received signal has a voltage level within the first or second voltage ranges.

BACKGROUND

In motor control applications, magnetic field sensing elements, such as Hall sensors, are commonly used to sense the magnetic field of the motor and provide motor position feedback. Conventional motor controllers generate signals for energizing each phase of the motor. For example, pulse width modulation (PWM) can be used to control gate drivers that provide signals to the motor phases. Known motor controllers may have limited diagnostic processing capabilities.

SUMMARY

The present invention provides method and apparatus for a motor driver/controller having a diagnostic module to process one or more signals from one or more magnetic field sensors positioned in relation to a motor. The signal(s) may have a voltage range for a valid high signal and/or a voltage range for a valid low signal. The signals from the sensors can be processed to identify faults, various states, and the like.

In one aspect, a method comprises: receiving, at a motor controller/driver, a signal from a magnetic field sensor positioned in relation to a motor, wherein the signal has a first voltage range corresponding to a valid high state and a second voltage range corresponding to a valid low state; processing the received signal from the magnetic field sensor to determine whether the received signal has a voltage level within the first or second voltage ranges; and generating an output signal having a state based on the whether the received signal has a voltage level within the first or second voltage ranges.

In another aspect, a motor controller/driver integrated circuit package comprises: an input to receive a signal from a magnetic field sensor positioned in relation to a motor, wherein the signal has a first voltage range corresponding to a valid high state and a second voltage range corresponding to a valid low state; a diagnostic module configured to process the received signal from the magnetic field sensor to determine whether the received signal has a voltage level within the first or second voltage ranges; and an output module to generate an output signal having a state based on the whether the received signal has a voltage level within the first or second voltage ranges.

DETAILED DESCRIPTION

FIG.1shows an example motor controller100having a motor control circuit102coupled to an electric motor104for providing enhanced diagnostic processing in accordance with example embodiments of the invention. In embodiments, signals from one or more magnetic field sensing devices105are provided to a diagnostic module147for processing, as described more fully below. The magnetic field sensing devices105can include at least one magnetic field sensing element, such as a Hall element, positioned in relation to phases of the motor for generating diagnostic signals for the diagnostic module147.

The motor104is shown to include three windings104a,104b,104c, which can be depicted as a respective equivalent circuit having an inductor in series with a resistor and in series with a back EMF (BEMF) voltage source. For example, the winding A104ais shown to include an inductor130in series with a resistor131and in series with a back EMF voltage source VA136.

The motor control circuit102includes a speed demand generator107coupled to receive an external speed demand signal106from outside of the motor control circuit102. The external speed demand signal106can be in one of a variety of formats. In general, the external speed demand signal106is indicative of a speed of the motor104that is requested from outside of the motor control circuit102.

The speed demand generator107is configured to generate a speed demand signal107a. A pulse width modulation (PWM) generator108is coupled to receive the speed demand signal107aand configured to generate PWM signals having a duty cycle that is controlled by the speed demand signal107a. The PWM generator108is also coupled to receive modulation waveforms from a modulation signal generation module146. The PWM signals are generated with a modulation characteristic (i.e., a relative time-varying duty cycle) in accordance with the modulation waveforms.

The motor control circuit102also includes a gate driver circuit110coupled to receive the PWM signals and configured to generate PWM gate drive signals110a,110b,110c,110d,110e,110fto drive six transistors112,114,116,118,120,122arranged as three half-bridge circuits112/114,116/118,120/122. The six transistors112,114,116,118,120,122operate in saturation to provide three motor drive signals VoutA, VoutB, VoutC,124,126,128, respectively, at nodes102d,102c,102b, respectively. It is understood that any suitable configuration of switching elements can be used to provide the motor drive signals. The motor control circuit102can also include a signal processing module143and diagnostic module147receiving feedback from the magnetic field sensors105.

The signal processing module143is configured to generate a position reference signal indicative of a rotational reference position of the motor104. The modulation signal generation module146is coupled to receive the position reference signal and configured to change a phase of the modulation waveforms provided to the PWM generator108.

The motor control circuit102can be coupled to receive a motor voltage VMOT, or simply VM, at a node102a, which is supplied to the motor through the transistors112,116,120during times when the upper transistors112,116,120are turned on. It will be understood that there can be a small voltage drop (for example, 0.1 volts) through the transistors112,116,120when they are turned on and supplying current to the motor104.

FIG.2is a block diagram of an example motor controller200having diagnostic signal processing in accordance with example embodiments of the invention.FIG.2Ashows an example implementation of the motor controller ofFIG.2. A motor driver module202generates signals to energize each of the phases of a three-phase motor204, as described above. One or more magnetic field sensors206, which can be similar to the sensors105ofFIG.1, are positioned in relation to respective phases A, B, C of the motor. The magnetic field sensor(s)206generate signals for a diagnostic module208, which may be similar to the diagnostic module147ofFIG.1. The diagnostic module208can receive and process signals from the sensor105to detect faults in the system, as described more fully below.

In embodiments, the motor controller200provides a voltage to the energize the sensors206. A current sensor210can be coupled to the voltage supply for the sensors to detect current levels that may indicate a fault or other undesired condition. The current sensor210can provide current level information and/or fault alerts to the diagnostic module208for processing. In embodiments, a voltage module212receives a supply voltage VS, such as from a battery or other energy source, and generates one or more voltage signals for various subsystems that can be monitored by the current sensor210.

In some embodiments, each of the voltages/current levels to the sensors206are monitored individually by the current sensor module210. In embodiments, the current sensor module210and the diagnostic module208can determine the presence, or lack thereof, of any one of the sensors206for the motor, as well as any open or short conditions of the sensors. For example, a short circuit would cause current levels above a first threshold and an open circuit would cause current levels below a second threshold.

In embodiments, diagnostic storage214can provide storage for diagnostic data, as described more fully below. Diagnostic storage214can include memory, registers, buffers, flags, and the like. An interface216can enable communication to remote devices, computers, networks, and the like. Any suitable interface216can be used.

It is understood that any practical number of sensors206can be used to monitor operation of the motor204. In some embodiments, magnetic field sensing elements, such as Hall elements, are integrated with the motor. It is further understood that a given sensor206can include any practical number of magnetic field sensing elements in any given configuration and/or orientation to meet the needs of a particular application.

It will be appreciated that any suitable sensor type can be coupled to motor controller embodiments to meet the needs of a particular embodiment. Example sensors include latches having multi-state outputs. Some sensors can be provided as Hall-effect latches with selectable switchpoints.

FIG.3shows an example sensor300that can provide the sensor206ofFIG.2. The magnetic field sensor300is shown for an example three-wire magnetic switch or latch. As shown, there are three pins for the sensor300, including a supply voltage (VCC), a ground (Gnd), and the output of the sensor300(Out). In a typical magnetic switch or latch, there are two pins that are used for power (VCC and Gnd), and the third pin (Out) provides the output of the sensor300. The output (Out) generally has two possible values: (a) high or (b) low, to respectively identify two possible magnetic states of the switch or latch, as either: (a) the magnetic field is above operate point specification for the switch/latch or (b) the magnetic field is below the release point of the specification for the switch/latch, respectively. Conventional three-pin configurations use an open-drain configuration for the output, which gives the user the advantages of setting the high voltage level, known as VPULL. In order to limit the current when the output is on, a resistor (RPULL, external to the sensor300) can be connected between Out and VPULL. The user can also add a capacitor at the output to filter noise, however the external capacitor can limit the output switching speed.

In compliance with certain safety requirements, such as the ASIL (Automotive Safety Integrity Level) requirements, a failure of the sensor is required to be communicated to the user or otherwise output by the sensor300. However, the open-drain output of conventional three-wire configurations switch between high and low, and do not have a third state that is able to convey the presence of a failure at the output of the sensor. For example, if the output pin is shorted to ground, a conventional open-drain configuration is not able to detect this as a fault, because ground is a normal output state for the sensor. It is desirable to identify such a fault and convey this at the output of a sensor.

The illustrated sensor300has a ratiometric output configuration (for example, within the output control block334) that outputs a first percentage (or ratio) of the supply voltage (VCC) to indicate a logic high, and a second percentage (or ratio) of the supply voltage (VCC) to indicate a logic low, thereby allowing VCC or Gnd to be output to indicate a fault. According to the ratiometric output, a logic high state is indicated by outputting a first percentage of the supply voltage (e.g., 70-90%) and a logic low state is indicated by outputting a second percentage of the supply voltage (e.g., 10-30%). This allows the failure state to be conveyed by outputting the supply voltage (VCC) or ground (Gnd). The ratiometric configuration can be a closed-loop feedback arrangement or at least two switchable elements that provide multiple selectable parallel paths. The closed-loop configuration conveys or otherwise informs a safe state by, for example, turning an output pass element (e.g., a NMOS transistor) off to thereby pull the sensor output to VCC or VPULL or on to thereby pull the sensor output to Gnd in order to convey failures. In normal operation, conduction of the pass element can be controlled to regulate the output voltage at the Out pin to provide the output at the first or second percentages. The selectable parallel paths configuration informs a safe state by turning off the two switchable elements, in which case the output control circuit acts as a conventional open-drain configuration and, in normal operation, the parallel paths are selectively controlled to achieve the output at the first or second percentages.

The magnetic field sensor300includes a magnetic field sensing element310that generates a magnetic field signal responsive to a magnetic field proximate to the magnetic field sensing element310. The term “magnetic field sensor”300is used to describe a circuit that includes one or more magnetic field sensing elements, generally in combination with other circuits.

The magnetic field signal generated by the magnetic field sensing element310is input to a dynamic offset cancellation circuit312, which is output to an amplifier314. The amplifier314can be a Hall amplifier, for example. The amplifier314is coupled to receive the magnetic field signal from the magnetic field sensing element310and generate an amplified signal for coupling a demodulation block316, a low-pass filter325, and a sinc filter322. Dynamic offset cancellation circuit312may take various forms including chopping circuitry and may function in conjunction with demodulation block316to remove offset that can be associated with the magnetic field sensing element310and/or the amplifier314under the control of signals from clock logic336. For example, offset cancellation circuit312can include switches configurable to drive the magnetic field sensing element (e.g., Hall plate) in two or more different directions such that selected drive and signal contact pairs are interchanged during each phase of the chopping clock signal and offset voltages of the different driving arrangements tend to cancel. The low-pass filter circuit325can be designed to remove undesirable spectral components in the resulting signal to generate a filtered signal for coupling to the sinc filter322. The filter322functions to average two or more samples of the magnetic field signal in order to remove any of the filtered Hall Plate offset and front-end amplifier offset, which are at the chopping frequency.

A Schmitt trigger324is configured to compare the output of the sinc filter322to a reference voltage, or threshold to produce logic high and low values.

The output of the Schmitt trigger324is coupled to a system diagnostics controller, or processor332that is configured to generate (through output control334) an output signal of the sensor300at output pin Out. As described herein, a conventional three-wire open-drain output configuration that provides a single path for a voltage signal has one of two values (high or low), as shown below in Table 1. The ratiometric configuration (closed-loop feedback configuration or multiple selectable parallel path configuration) allows for the logic high level and the logic low level to be represented as, respectively, X % and Y % of the supply voltage, and the safe state can thus be conveyed as either the supply voltage itself or Gnd as is also shown in Table 1. It will be appreciated that “X” and “Y” are variables indicative of a percentage of the supply voltage and can be any number between 0 and 100.

The system diagnostics332receives the output of the Schmitt trigger circuit324and can be configured to perform various diagnostics to detect faults. Accordingly, the output of the system diagnostics332, and thus the input signal to the output control block334, can include the output of the Schmitt trigger that can be a logic high or a logic low and can also include a fault signal to indicate a fault.

As used herein the term “supply voltage” (of which the ratiometric output one of two percentages X % or Y %) refers generally to pull up voltage VPULL. Although a user generally has the flexibility to set the pull up voltage VPULL to the same voltage as the supply voltage level VCC or to a different voltage level, in the feedback configuration embodiments described herein, the VPULL voltage must be set to the supply voltage level VCC in order to achieve output levels ratiometric with VPULL.

In accordance with the ratiometric configuration, rather than providing either a high or low output, two different percentages (or two different ranges of percentages) of VCC or VPULL can be used to represent the logic high and logic low values, so that VCC, VPULL, or GND can be output to indicate a fault. The output of the Schmitt trigger circuit324controls the switch element(s) of the output control circuit334to provide the X %, Y %, and GND. The output signal is provided as X % or Y %, and in some embodiments is driven to something other than X % or Y % (e.g., VCC or GND) to indicate a fault.

Table 2 below illustrates the output relative to the fault condition for the various output states and output levels used to indicate a fault. The output state corresponds to the Schmitt output (e.g., the output of Schmitt trigger324) and the output level corresponds to the output of the output control circuit334at the sensor output pin (e.g., Out shown inFIG.3and/or VOUT). As shown in Table 2, when there is no fault, the output state (e.g., Schmitt trigger324) switches between VOUT(LOW)and VOUT(HIGH)and the corresponding output level (e.g., of the output control circuit334) is, respectively, 20% or 80% of VPULL (or VPU). This allows various other faults to be conveyed at the output of the sensor. A short-circuit fault of VCC-VOUT is not capable of conveying this output state during normal switching at the Schmitt trigger output, however it can be conveyed as VCC output level. A short-circuit fault VOUT-GND likewise is not capable of conveying this output state during normal switching at the Schmitt trigger output, however it can be conveyed as GND at the output level. A short-circuit fault of VCC-GND is also not capable of conveying this output state during normal switching at the Schmitt trigger output, however it can be conveyed as VCC at the output level. An open-circuit fault at VCC is not capable of conveying this output state during normal switching at the Schmitt trigger output, however it can be conveyed as VPU at the output level. An open-circuit fault at VOUT corresponds to normal switching between VOUT(LOW)and VOUT(HIGH)and the corresponding output level conveyed to the sensor is VPU. An open-circuit fault at GND does not have a corresponding output state at the Schmitt trigger output, however the output level is VPU as shown in Table 2. An internal fault results in an output state of VOUT(FAULT), which can correspond to VPU for the output level of the output control circuit. Accordingly, the various fault conditions can be conveyed at the sensor output, while allowing normal switching when no fault is detected.

FIG.4Ais a block diagram showing an example three-pin configuration for sensor300ofFIG.3. The example three-pin configuration includes the supply voltage (VCC), the output (VOUT), and ground (GND). The output VOUT is regulated by an output control circuit to output a first percentage (X %) in response to a logic high value and to a second percentage (Y %) in response to a logic low value.FIG.4Bis a graphical diagram showing an example ratiometric output of the sensor. As shown, in graph420, during normal operation the output switches between VOUT(HIGH)(X % of the supply voltage) and VOUT(LOW)(Y % of the supply voltage). The output can be provided at a different level such as VOUT(FAULT)or GND when a fault occurs. It will be appreciated that the voltage level of VCC410and the pull up voltage VPULL412may or may not be the same, although VPULL and VCC must be the same in the feedback configuration embodiments described below.

FIG.5is a graphical diagram showing example VOUT(HIGH), VOUT(LOW), and VOUT(FAULT)values, in which X % and Y % can be expressed as a range, for example 70-90% for high and 10-30% for low. As such, any output that does not fall within the high range or the low range can be considered a fault. As shown, the range for VOUT(HIGH)is 70-90% of the supply voltage and the range for VOUT(LOW)is 10-30% of the supply voltage. Thus, an output that is 70-90% of VPULL indicates a logic high value, and an output that is 10-30% of VPULL indicates a logic low value. It is possible to convey a fault by outputting any voltage that does not fall within one of the ranges for a logic high or for a logic low. In some embodiments, a specific fault can be indicated by driving the output to either VCCor GND. It should be apparent that the ranges of 10-30% for the low value and 70-90% for the high value are only example numbers, and any value could be used having any range, so long as the ranges are not overlapping in order to thereby permit a logic high condition to be distinguished from a logic low condition. For example, the low value could be 15-40% and the high value could be 60-95%, so long as one range is provided for the low value and another range is provided for the high value, and they do not overlap with each other.

FIG.6is a block diagram showing an example ratiometric configuration of a sensor output circuit in greater detail including a pass element and an operational amplifier in a closed-loop feedback configuration.FIG.6shows an example sensor output circuit610which, for example, can reside within the output control block334shown inFIG.3. Also shown inFIG.6are components external to the sensor including pull-up resistor RPULL and filter capacitor COUT. The circuit610has a closed-loop configuration and includes a resistor divider comprising resistors RF1and RF2that sense the output voltage on the OUT pin. The output is fed back into one input of the operational amplifier620to provide a feedback signal FB. The feedback signal FB is compared to a reference voltage (fed into the other input of the operational amplifier620) that is taken from VCC, in which two possible references can be selected.

The reference voltage is generated by a resistor divider (including resistors R1, R2, and R3) coupled to supply voltage VCC and selectively coupled to the operational amplifier620by a switch615. A first reference voltage REFH is selected by the switch615to set the high state, which can be X % of the supply voltage (VPULL), and a second reference voltage REFL is selected by the switch615to set the low state, which can be Y % of the supply voltage (VPULL) as shown in Table 1 above. The switch615can be controlled by the signal output by the Schmitt trigger (e.g., Schmitt trigger324inFIG.3). When the output of the Schmitt trigger (i.e., the input signal to the output control block334) is a logic high, the switch selects the high reference voltage REFH, and when the input signal is a logic low, the switch selects the low reference voltage REFL.

The comparison of the feedback signal (FB) to the high reference voltage REFH or the low reference voltage REFL is performed by the operational amplifier620. The resulting difference signal generated by the operational amplifier620controls conduction of the pass element630(e.g., NMOS transistor) to output the selected percentage of the supply voltage.

In embodiments, a switch645as may take the form of a field-effect-transistor (FET) can be coupled to the gate of pass element630to turn the pass element630off when a fault is detected (e.g., by diagnostics controller332). In particular, when a fault is detected, switch645can be turned on to thereby pull the gate of pass element630low, and turn off pass element630to allow the output circuit610to act as a conventional open-drain configuration to convey a safe state or fault by pulling the output to VPULL or VCC through RPULL. Whereas, when no fault is detected, switch645can be off and thereby not interfere with the ratiometric control of pass element630by operational amplifier620. It will be appreciated that by design of the signal level of fault signal640and device type of switch645, when a fault is detected, switch645may alternatively cause pass element630to turn on and thereby pull the sensor output to GND to thereby indicate the fault.

In order to stabilize the feedback system, compensation components as may include a compensation resistor (RC) and a compensation capacitor (CC) can be provided. These compensation components add a pole at the 0 Hz (integrator) and a zero at 1/(2π*RC*CC). The compensation resistor (RC) must be significantly greater than the sum of R2and R3(RC>>R2+R3). The compensation components have high open-loop gain at low frequencies to reduce the regulation error, and at high frequencies the open-loop gain drops until the zero comes in, leaving the output pole to continue the gain dropping until the 0 dB line is crossed. If the output pole is equal to or greater than zero, the phase margin is sufficient to have the systems table. If no external capacitor COUT is used, the pole at the NMOS gate limits the bandwidth before another internal pole comes in. As such, there is no requirement for an external capacitor (COUT) that is typically required with an open-loop configuration. By stabilizing internally, the external capacitor COUT is not needed. The configuration also allows for a conventional open drain output to be realized by turning off the pass element630, thereby allowing both types of outputs on a single die.

FIG.7shows an example sensor data processor700that can process sensor signals, such as the signal defined byFIG.5, from one or more sensors and generate an output signal. As described above inFIG.5, VOUT(HIGH), VOUT(LOW), and VOUT(FAULT)values, in which X % and Y % can be expressed as a range, for example 70-90% for high and 10-30% for low, with respect to a supply voltage. As such, any output that does not fall within the high range or the low range can be considered a fault. In the example sensor data processor700, which can form a part of the diagnostic module208ofFIG.2, for example, includes a hi window module702and a lo window module704. The hi window module702receives a sensor signal and determines whether the sensor signal is within the defined range for a high signal, e.g., 70-90% of a supply voltage. The low window module704receives the sensor signal and determines whether the sensor signal is within the defined range for a low signal, e.g., 10-30% of a supply voltage. If the sensor signal is within the high signal range or the low signal range, the sensor data processor700determines that the sensor signal has valid data. If the sensor signal is determined to be outside the valid high or low ranges, then the sensor data module700can output a signal having a state indicative of a fault.

FIG.7Ashows an example circuit implementation of a sensor data processing module. An input signal SS from a sensor can be provided to a series of comparators802a,b,c,d. The first comparator compares the sensor signal SS to a reference voltage level REF_HU corresponding to the upper level of a valid range for a high signal from the sensor, e.g., VOUT(HIGH)(max) inFIG.5. If the sensor signal SS is less than the reference voltage level REF_HU, then the comparator802aoutputs a logic ‘0’ and a ‘1’ otherwise. The second comparator802bcompares the sensor signal SS to a reference voltage level REF_HL corresponding to a lower level of the valid range for a high signal, e.g., VOUT(HIGH)(min) inFIG.5. If the sensor signal SS is greater than the reference voltage level REF_HL then the second comparator802boutputs a ‘1’ and a ‘0’ otherwise. Thus, if the sensor signal SS is a valid high signal, the first comparator802aoutputs a ‘0’ and the second comparator802boutputs a ‘1’.

The third comparator802ccompares the sensor signal SS to a reference voltage level REF LU corresponding to the upper level of a valid range for a low signal from the sensor, e.g., VOUT(LOW)(max) inFIG.5. If the sensor signal SS is less than the reference voltage level REF LU, then the third comparator802coutputs a logic ‘0’ and a ‘1’ otherwise.

The fourth comparator802dcompares the sensor signal SS to a reference voltage level REF LL corresponding to a lower level of the valid range for a low signal, e.g., VOUT(LOW)(min) inFIG.5. If the sensor signal SS is less than the reference voltage level REF_HL then the second comparator802boutputs a ‘0’ and a ‘1’ otherwise. Thus, if the sensor signal SS is a valid LO, the third comparator802coutputs a ‘0’ and the fourth comparator802doutputs a ‘0’.

In the illustrated embodiment, the outputs of the comparators802a-dare inputs for an AND gate804with outputs of the first and fourth comparators802a,dinverted. The comparator802a-doutputs are also inputs to a NOR gate806. If there is a valid high sensor signal SS, e.g., within a valid range, the outputs from the comparators802a,802b,802c,802dare (0, 1, 1, 0) and if there is a valid low sensor signal SS, the outputs from the comparators802a,802b,802c,802dare (0, 0, 0, 0). The AND gate804outputs a ‘1’ when the comparator802a,802b,802c,802doutputs are (0, 1, 1, 0), which corresponds to a valid high sensor signal SS and the NOR gate806output is a ‘1’ when the sensor signal SS is a valid low signal. In an example embodiment, the outputs of the AND gate804and the NOR gate806are inputs to an OR gate808. If a valid high or low sensor signal is received, either the AND gate804or the NOR gate806outputs a ‘1’ so that the output signal of the OR gate808is active. If an invalid sensor signal SS is received, e.g., not a valid high or valid low signal, the output signal is not a ‘1.’

In other embodiments, additional logic can identify certain states corresponding to various sensor signals. For example, a safe state, which may correspond to comparator802a,802b,802c,802doutputs (1, 1, 1, 0), can be detected. It is understood a wide variety of circuit implementations are possible to detect valid and/or invalid sensor signals to meet the needs of a particular application.

While illustrative embodiments of the invention are shown and described in conjunction with a magnetic field sensing element comprising a Hall element, it is understood that any suitable type of magnetic field sensing element can be used.

As is known, some of the above-described magnetic field sensing elements tend to have an axis of maximum sensitivity parallel to a substrate that supports the magnetic field sensing element, and others of the above-described magnetic field sensing elements tend to have an axis of maximum sensitivity perpendicular to a substrate that supports the magnetic field sensing element. In particular, planar Hall elements tend to have axes of sensitivity perpendicular to a substrate, while metal based or metallic magnetoresistance elements (e.g., GMR, TMR, AMR) and vertical Hall elements tend to have axes of sensitivity parallel to a substrate.

As used herein, the term “magnetic field sensor” is used to describe a circuit that uses a magnetic field sensing element, generally in combination with other circuits. Magnetic field sensors are used in a variety of applications, including, but not limited to, an angle sensor that senses an angle of a direction of a magnetic field, a current sensor that senses a magnetic field generated by a current carried by a current-carrying conductor, a magnetic switch that senses the proximity of a ferromagnetic object, a rotation detector that senses passing ferromagnetic articles, for example, magnetic domains of a ring magnet or a ferromagnetic target (e.g., gear teeth) where the magnetic field sensor is used in combination with a back-biased or other magnet, and a magnetic field sensor that senses a magnetic field density of a magnetic field.

FIG.8shows an exemplary computer800that can perform at least part of the processing described herein. The computer800includes a processor802, a volatile memory804, a non-volatile memory806(e.g., hard disk), an output device807and a graphical user interface (GUI)808(e.g., a mouse, a keyboard, a display, for example). The non-volatile memory806stores computer instructions812, an operating system816and data818. In one example, the computer instructions812are executed by the processor802out of volatile memory804. In one embodiment, an article820comprises non-transitory computer-readable instructions.