English
Language : 

CMPS03 Datasheet, PDF (1/3 Pages) List of Unclassifed Manufacturers – Robot Compass Module
CMPS03 - Robot Compass Module
This compass module has been specifically designed for use in robots as an aid to navigation. The aim was to produce a unique number to
represent the direction the robot is facing. The compass uses the Philips KMZ51 magnetic field sensor, which is sensitive enough to detect the
Earths magnetic field. The output from two of them mounted at right angles to each other is used to compute the direction of the horizontal
component of the Earths magnetic field.
Connections to the compass module
The compass module requires a 5v power supply at a nominal 15mA.
There are two ways of getting the bearing from the module. A PWM signal is available on pin 4, or an I2C interface is provided on pins 2,3.
The PWM signal is a pulse width modulated signal with the positive width of the pulse representing the angle. The pulse width varies from
1mS (0° ) to 36.99mS (359.9° ) – in other words 100uS/° with a +1mS offset. The signal goes low for 65mS between pulses, so the cycle time
is 65mS + the pulse width - ie. 66ms-102ms. The pulse is generated by a 16 bit timer in the processor giving a 1uS resolution, however I
would not recommend measuring this to anything better than 0.1° (10uS). Make sure you connect the I2C pins, SCL and SDA, to the 5v
supply if you are using the PWM, as there are no pull-up resistors on these pins.
Pin 2,3 are an I2C interface and can be used to get a direct readout of the bearing. If the I2C interface is not used then these pins should be
pulled high (to +5v) via a couple of resistors. Around 47k is ok, the values are not at all critical.