Shop OBEX P1 Docs P2 Docs Learn Events
HMC5883L Compass Module schematic ? - P82B715 i2c extender ICs — Parallax Forums

HMC5883L Compass Module schematic ? - P82B715 i2c extender ICs

Greg PGreg P Posts: 58
edited 2011-12-14 13:26 in Propeller 1
Does anyone have access to a schematic for the new HMC5883L compass modules ? I did not see one with the accompanying documentation. I'm assuming there is an on-board voltage regulator, but I do not know its regulated voltage level (I'm assuming either 3.0 or 3.3v). The reason I need to know is explained below:


We would like to use up to twenty HMC5883L compass modules to survey the 3-axis magnetic field pattern surrounding some specialized physics hardware. As these sensor modules may be scattered over a region of 20 to 30 feet circumference and require the use of two-wire i2c communication with a maximum 400 pF bus capacitance restriction, a means for reliable long-distance communication is needed.

The P82B715 is a $3 DIP IC designed to amplify the normal 3mA sink capability of an i2C device to 30 mA, permitting a x10 bus capacitance increase and corresponding cable length increase. Normally two extender chips are required on either side of a long cable run for proper operation. We would be using a shielded twisted-pair audio cable for connections, with SDA signal line paired with VCC, and SCL signal line paired with GND at 100 KHz operation (see online AN444 app note documenting 1000 foot cable lengths using this method.)

According to the P82B715 specification, unity voltage gain exists, only current amplification occurs. It's my understanding that if I apply a 3.3v signal to the P82B715 Sx or Sy input (while it is powered via its Vcc pin with a +5v supply), the corresponding buffered Lx or Ly outputs would also be 3.3v in amplitude. This is important to the success of my approach (so if this is not true ... please enlighten me !)

Since the Propeller is capable of +/40 mA sink or source per pin (but perhaps not all pins all at once), it already exceeds the current drive capabilities of the P82B715 and so should eliminate the need to use separate P82B715 extender chips for each and every SCL signal line branching to individual magnetic sensor modules from the Propeller (although on the sensor module side of the cable they will still be required). I'm ASSUMING that whatever voltage level exists on the Sx or Sy side of the remote P82B715 extender IC (provided by the HMC5883L chip itself) will also be the same voltage level received at the corresponding SCL-signal-assigned Propeller pin. AS LONG AS THIS VOLTAGE IS LESS THAN THE PROPELLER SUPPLY VOLTAGE, I should be able to directly attach the cable to the Propeller (with perhaps a 30 ohm or so semi-protective series resistor ...assuming Propeller internal clamping diodes are present).

So my goal is to eliminate the requirement for P82B715 extender chips on the Propeller side. WILL THIS WORK ? HAS ANYBODY ATTEMPTED LONG DISTANCE I2C COMMUNICATION IN PREVIOUS PROJECTS ?

I will be supplying +5v on the cable to each HMC5883L compass module (to met the P82B715 minimum 4.5v requirement). A small 4.7uF filter capacitor will be near each P82B715 IC, across its supply leads. A small 10 ohm or less series resistor may be added to each +5v line originating near the Propeller so as to limit the initial 'turn on' surge current as all twenty 4.7uF capacitors charge up to supply voltage at once.

Any wisdom from prior experiences would be greatly appreciated.
Sign In or Register to comment.