HMR3100
SENSOR PRODUCTS
HMR3100
Digital Compass Solution
User’s Guide
HMR3100
SENSOR PRODUCTS
converters (ADC) onboard a microcontroller (µC) integrated circuit. The microcontroller integrated circuit periodically
samples the amplified sensor voltages, performs the offset corrections, and computes the heading. This
microcontroller also performs the external serial data interface and other housekeeping functions such as the
calibration routine.
The power supply for the HMR3100 circuit board is to be about a +3 to +5 volt range allowing the user to provide a
single lithium battery to logic level supply voltages. The power supply architecture is a single ground system for single
ended supply sources (+ and ground return).
Note the “North Arrow” printed on the HMR3100 circuit board top side. This is the mechanical reference for product
alignment purposes. When placed on the development kit’s RS-232 motherboard assembly, this arrow also points
toward the 9-volt batterypin block on the motherboard (away from the RJ-11 jack).
Pin Configuration
Pin Number
Pin Name
VCC
NC
Description
1
2
3
4
5
6
7
8
Power Supply Input
No Connection
RTS
NC
Ready To Send Input
No Connection
TXD
Transmit Data Output
Receive Data Input
Power and Signal Ground
No Connection
RXD
GND
NC
The HMR3100 board is 0.77” on each side with eight pins in groups of four spaced at 0.6” apart in wide-DIP format.
Seated height is approximately 0.275”. Pin 1 is the upper right pin in Figure 1
.
Figure 1
HMR3100 Dimensions
HMR3100
SENSOR PRODUCTS
USART Communication Protocol
HMR3100 module communicates through binary data and ASCII characters at four selectable baud rates of 2400,
4800, 9600, or 19200. The default data bit format is USART 9600.N.8.1. The baud rate selection is determined by
the position of jumpers J1 and J3. These jumpers are zero ohm SMT resistors (jumpers) and are normally high (logic
1) when removed, and grounded (logic 0) when in place. At 2400 baud, no jumpers are present for a 1,1 logic
presentation. At 4800 baud J3 is present for a 1,0 logic presentation. The factory default setting of 9600 baud is
created by a jumper present on J1 for a 0,1 logic presentation. With J1 and J3 jumpers present for a 0,0 logic
presentation, the compass module works at 19200 baud. See Figure 1 for jumper locations. Jumper J2 is for factory
testing, and J4 is for Y-axis inversion should the end-item mount of the HMR3100 module be upside down (pins up).
The HMR3100 sends data via the TXD line (Pin 5) in standard serial bus form at logic levels, but uses the RTS (Pin 3)
and RXD (Pin 6) to select the three active modes of operation. Normally RTS and RXD input lines are left high until
data or hard-iron calibration is needed from the HMR3100. The RXD line is left high unless a calibration is requested.
The RTS line will be either be pulsed low or held low to initiate an active mode. Otherwise a low-power sleep mode is
the default state. The RXD and RTS data inputs are passively pulled high via the microcontroller if left open.
Normal Mode
When the host processor (external to the HMR3100), sends a RTS low pulse to the RTS pin, the HMR3100 will send
status/heading data via the TXD pin. The host shall hold the RXD pin high during this mode. The RTS shall be held
high when not pulsed. The HMR3100 will return to sleep mode when RTS is left high after the three-byte
status/heading data packet is sent. Up to 20 heading queries per second can be accomplished given fast enough
baud rates. A caution is advised that average current draw is proportional to supply voltage and amount of queries
handled. At the 20 Hz rate, 1 to 5 milliamperes of current is consumed with lesser query rates taking advantage of the
less than one-microampere sleep mode current draw between queries. Figure 2 shows the normal mode timing
diagram.
Figure 2
Normal Mode Timing Diagram
HMR3100
SENSOR PRODUCTS
Continuous Mode
When the host processor (external to the HMR3100), holds the RTS input low, the HMR3100 will continuously send
heading data via the TXD pin. The host shall hold the RXD pin high during this mode. The HMR3100 shall output the
three-byte status/heading data packet at about a 2Hz rate. The HMR3100 will return to sleep mode when RTS is
returned high. Figure 3 shows the continuous mode timing diagram.
Figure 3
Continuous Mode Timing Diagram
Calibration Mode
When the host processor pulses low the RTS pin, and sends the RXD pin to a low logic level, the HMR3100 is in
hard-iron calibration mode. This calibration is only for nearby magnetized metals (hard-iron) that are fixed in position
with the HMR3100. At a moderate rate (5 seconds or more per rotation), rotate the HMR3100/host assembly two
complete circles (on a flat, non-magnetic surface if possible) to allow the HMR3100 to take measurements for
compass calibration. At the completion of the rotations, return the RXD to a high logic level. The HMR3100 will return
to sleep mode until another active mode has been initiated. Upon initiation of the calibration mode, the microcontroller
shall output an ASCII STA (53 54 41 hex) indicating a start of calibration and then an ASCII RDY (52 44 59 hex) at the
completion of the rotations and the RXD line returned high. Figure 4 shows the calibration mode timing diagram.
Figure 4
Calibration Mode Timing Diagram
HMR3100
SENSOR PRODUCTS
Data Description
The HMR3100’s onboard microcontroller sends a three byte status/heading data packet reply as the RTS line is
brought low. The data is normally formatted in binary with the first byte being either 80(hex) or 81(hex).
If that first byte LSbit is flagged high (81 hex), it means magnetic distortion maybe present and a hard-iron calibration
should be performed. Many end users may choose to ignore this indication in portable applications.
The remaining two bytes are the heading (in degrees) in MSB to LSB format. There is some data interpretation
needed to derive the heading. For example, the 80 02 85 (hex) Byte pattern correlates to 322.5 degrees.
This is done by taking the MSB hex value, converting it to decimal (base ten) representation (e.g. 02 decimal) and
multiplying it by 256. Then the LSB is decimalized (e.g. 85(hex) to 133(decimal)) and added to the 512(decimal) MSB.
The total (512+133=645) is then divided by two to arrive at a 322.5 degree heading. This data format permits the 0.5°
resolution in two bytes by doing the binary to decimal conversion and division by two.
Development Kit
The HMR3100 Development Kit includes additional hardware and Windows demo program software to form a
development kit for electronic compassing. This kit includes the appropriate HMR3100 Printed Circuit Board (PCB)
module soldered to an intermediate circuit board using a 0.8” spacing pin arrangement. The intermediate board
assembly plugs into an RS-232 motherboard with a serial port connector. In addition, a four-foot serial port cable (RJ-
11 to D-9F), nine-volt battery clip, demo program software, and user’s guide is included. The RS-232 motherboard
incorporates a 5-volt regulator integrated circuit to provide the necessary voltages to the onboard RS-232 converter
integrated circuit and the HMR3100 daughter-board. A nine-volt battery clip is included, but other DC input voltages
between 7 and 15 volts may be used. Supply currents are nominally around 8mA plus the HMR3100 current draw.
The RS-232 motherboard also contains a six-contact modular jack (RJ-11) for a compact RS-232 interface to a
personal computer serial port. Ground, RTS, RXD, and TXD data lines are brought out to the jack with two contacts
left open. The demo software stimulates the RTS and RXD lines and reads the data from the TXD line for graphical
display on the host computer. No other support software is available. Figure 5 shows the kit board assemblies.
Figure 5
HMR3100 Kit Hardware
HMR3100
SENSOR PRODUCTS
Honeywell reserves the right to make changes to improve reliability, function or design. Honeywell does not assume
any liability arising out of the application or use of any product or circuit described herein; neither does it convey any
license under its patent rights nor the rights of others.
900284 02–04 Rev A
|