"I2CとSPIで3軸ジャイロセンサL3GD20を使ってみた"のジャイロセンサが販売終了になっていたので、現在販売されている"BMX055使用9軸センサーモジュール"について調べてみることに。
モジュールの扱い方は、"取扱説明書"に回路図含め既に丁寧に記載されています。
ここでは実装部品やジャンパをショートする事による信号線の変化などを図解して整理してみたいと思います。
BMX055 - 小型汎用型9軸センサーモジュール
本モジュールの心臓部、Bosch Sensortec社の9軸センサのBMX055です。
非常に小型の9軸センサで、3軸12bit加速度センサ、3軸16bit±2000°/sジャイロスコープ、及び3軸地磁気センサから構成されています。
BMX055は、SPIとI2C両方の通信方式に対応していますが、このモジュールではI2Cに固定されていて、使用するのは下記の10ピンとなります。
Pin# |
Name |
I/O Type |
Description |
Connect to |
3 |
VDD |
Supply |
電源 アナログ/デジタル・ドメイン(2.4-3.6 V) |
VDD |
4 |
GNDA |
Ground |
アナログ用GND |
GND |
6 |
GNDIO |
Ground |
I/O用GND |
GND |
7 |
PS |
Digital in |
プロトコル選択(GND=SPI/VDDIO=I2C) |
VDDIO |
9 |
SCx |
Digital in |
SCL:シリアルクロック |
SCL |
11 |
SDx |
Digital I/O |
SDA:シリアルデータI/O |
SDA |
12 |
SDO2 |
Digital out |
ジャイロアセンサのドレス選択 |
JP3/VDDIO |
13 |
VDDIO |
Supply |
デジタルI/O電源電圧(1.2V...3.6V) |
VDDIO |
17 |
SDO1 |
Digital out |
加速度センサのアドレス選択 |
JP2/VDDIO |
20 |
CSB3 |
Digital in |
磁気センサのアドレス選択 |
JP1/VDDIO |
FXMA2102 - I2Cバス用のデュアル電源、2ビット電圧変換器
FXMA2102は、Fairchild Semiconductor社製の広範囲の入出力双方向の電圧レベル変換を行うデュアル電圧電源トランスレータです。
BMX055の駆動電圧は3.3Vなので、5V電源もしくは1.8V駆動のマイコンボードの信号線を3.3Vに変換するために使用します。
Pin# |
Name |
I/O Type |
Description |
Connect to |
1 |
VCCA |
Supply |
A-サイドの電源 |
3V3 |
2 |
A0 |
Digital I/O |
A-サイド入力または3ステート出力 |
SCx |
3 |
A1 |
Digital I/O |
A-サイド入力または3ステート出力 |
SDx |
4 |
GND |
Ground |
GND |
GND |
5 |
OE |
Digital in |
出力イネーブル入力 |
3V3 |
6 |
B1 |
Digital I/O |
B-サイド入力または3ステート出力 |
SDA |
7 |
B0 |
Digital I/O |
B-サイド入力または3ステート出力 |
SCL |
8 |
VCCB |
Supply |
B-サイドの電源 |
VDDIO |
参考 :
I2Cバス用双方向電圧レベル変換モジュール(FXMA2102)
NJM2863F33 - ローノイズ低飽和型レギュレータ 3.3V100mA
5V電源のマイコンボードからの電源出力を3.3V(F33は3.3Vを指す)の電圧に変換するレギュレータです。Raspberry PiやESPシリーズなど3.3V電圧のマイコンボードでは、この経路を介さず動作させます。
各ピンの動作は以下。
Pin# |
Name |
I/O Type |
Description |
Connect to |
1 |
CONTROL |
Digital in |
ON/OFF制御(ON=HIGH/OFF=LOW) |
VIN |
2 |
GND |
Ground |
GND |
GND |
3 |
NOISE |
Supply |
ノイズバイパス用端子 |
C3/GND |
4 |
VOUT |
Supply |
3.3V(固定)電源出力端子 |
C2/3V3 |
5 |
VIN |
Supply |
電源入力端子(出力+14Vまで) |
C1/VCC |
チップ積層セラミックコンデンサー 0.1μF
モジュール上でC1、C2、C3と表記されているコンデンサです。
レギュレータNJM2863F33のパスコンとして使用されています。
チップ抵抗 10kΩ
モジュール上でR1、R2、R3、R4、R5、R6、R7と表記されている抵抗です。
回路全般に渡って使用されています。
基板
10mm x 14mmの小さな基板です。
実装部品に隠れている箇所の配線は想定です。
モジュールのピン配置は以下のようになっています。
Pin# |
Name |
I/O Type |
Description |
1 |
GND |
Ground |
グランド |
2 |
SDA |
Digital I/O |
I2Cデータ |
3 |
SCL |
Digital in |
I2Cクロック |
4 |
3V3 |
Supply |
BMX055用電源端子 |
5 |
VCCIO |
Supply |
I2Cレベル用電源端子 |
6 |
VCC |
Supply |
モジュール電源端子 |
電源まわりの配線
部品を全く実装しない状態でのGND、3V3、VCCIO、VCCが導電する範囲を図解した状態です。
5V電源の接続
3.3V電源の接続
NJM2863F33まわりの配線
レギュレータによりVCCに5Vを印加した場合でも3V3から3.3Vの電圧を取得可能となります。
BMX055まわりの配線
抵抗R5、R6、R7を設置した事によりBMX055のSDO1、SDO2、CSB3へ3V3の電圧が印加されそれぞれHIGHと認証されます。
これら印加された電圧は、ジャンパJP1、JP2、JP3をハンダでショートさせる事で、それぞれLOWに変更可能で、それにより対応するセンサのアドレスを指定出来ます。
ジャイロセンサのアドレスは、以下の様にJP3をショートさせる事で変更可能。
抵抗R7を介して印加されていた3V3の電圧がGNDへと流れ込みSDO2への入力はLOWとなります。ジャイロセンサのアドレス指定の詳細は下表。
|
SDO2(JP3) |
HIGH(OPEN) |
LOW(SHORT) |
ジャイロセンサ |
0x69 |
0x68 |
加速度センサのアドレス変更は、
JP2をショート。
ジャイロセンサ同様に、SDO1への入力はLOWとなります。
加速度センサのアドレス指定の詳細は下表。
|
SDO1(JP2) |
HIGH(OPEN) |
LOW(SHORT) |
加速度センサ |
0x19 |
0x18 |
地磁気センサのアドレス変更は、
JP1をショート。
これまでと同じく、CSB3への入力はLOWとなります。
地磁気センサのアドレスは、SDO2、SDO1の設定値の影響も受けるため以下の様になります。
|
SDO2(JP3) |
SDO1(JP2) |
CSB3(JP1) |
HIGH(OPEN) |
LOW(SHORT) |
加速度センサ |
HIGH(OPEN) |
HIGH(OPEN) |
0x13 |
0x11 |
LOW(SHORT) |
HIGH(OPEN) |
LOW(SHORT) |
0x12 |
0x10 |
LOW(SHORT) |
通常は、全てOPENなのでジャイロセンサは0x69、加速度センサは0x19、地磁気センサは0x13のアドレスになっています。
FXMA2102まわりの配線
まず、I2Cの配線から確認。
SDAは、FXMA2102のB1へ接続され、A1からR1でプルアップされBMX055のSDxへと繋がります。
SDLも、FXMA2102のB0へ接続され、A0からR2でプルアップされBMX055のSCxへと繋がっています。
次にFXMA2102へ印加される電源まわりを確認してみます。
FXMA2102の出力側に設定された電源端子VCCAは、3V3に固定されていますが、入力側のVCCBは、VCC、VCCIO、3V3の各端子への入力電源と、ジャンパJP6、JP7、JP8によって変化します。
5V信号線の場合
JP6をショートして、入力側電源VCCBへ5Vを入力する事で、SDA、SDLの信号線が5Vから3.3Vへ変換されます。
3.3V信号線の場合
JP7をショートすると、NJM2863F33で変換された3.3VがVCCBへ入力されます。
1.8V信号線の場合
JP8をショートし、VCCIOへ1.8Vの電源を接続します。このジャンパをショートさせる事でVCCへの供給電圧と異なる電圧を指定可能となります。
I2Cのプルアップ
I2Cでは、マイコンボードから接続デバイスへのSDA、SDLラインのプルアップが決まり事になっています。本モジュールにおいても、JP4、JP5をショートさせる事によってプルアップを有効化出来るようになっています。
ただし、複数のI2C対応デバイスを接続する場合には、外部にプルアップ抵抗を置いてジャンパをオープンにしておく事が推奨されます。理由としては、プルアップ抵抗が重複してしまう可能があるからで、その場合適切な抵抗値を得られなくなってしまい正常に動作しない原因となってしまいます。
以上を踏まえた前提で、プルアップ動作を確認してみます。
上の図は5V電源、5V信号線となっていますが、3.3V、1.8Vでも同じです。
当たり前の事ですが、JP6、JP7、JP8のいずれかがショートされている状況でなければプルアップは有効になりません。理由がわからない場合は、もう一度"FXMA2102まわりの配線"の項目を最初から眺めてみて下さい。
ここまでの解説を元にジャンパの設定、配線を行えば問題なく動作するかと思います。
0 件のコメント:
コメントを投稿