センサモジュールのオプション設定

USBやBluetoothで接続したPCからシリアル通信ソフトでコマンドを送ることで、センサモジュールに搭載したDモードセンサーのON/OFFやデータ取得のインターバルなどを変更することができます。また、センサモジュール基板裏面のジャンパー設定を変更することでセンサモジュールの機能を変更したりセンサのアドレスを変更することができます。(ジャンパー設定変更には半田付け作業が必要になります。)

出荷時のジャンパー設定

1)機能設定ジャンパー

センサモジュールの機能を切り替えるためのジャンパー設定です。

音響センサ(マイク)の接続

センサモジュールにはコンデンサマイクを搭載しています。ランド「A1」を下記のとおり半田で接続することで、I2Cで接続されているADCのAIN3ピンに接続されます。このADCのピンのデータを読み取ることで音響センサとして使うことが出来ます。ただし、I2Cでデータを読み出す周期により通常のマイクロフォンとして使用できるようなサンプリングレートをカバーしていません。また、マイクを接続した場合、そのピンは他のデータを入力することはできません。マイクを接続した場合、ランド「GAIN」でマイクゲインの設定ができます。
・初期設定のように「GAIN」を接続してある場合は最大ゲインの20dBで動作します。
・「GAIN」を解放し、上側ランドと「A1」の下側ランドをリード線で接続すると0dB(ユニティゲイン)で動作します。
・0dB~20dBの間でゲインを設定する場合は、「GAIN」のランド間に外部抵抗とコンデンサを接続します。
 (ゲイン設定の詳細についてはマイク:SPU0414HR5H-SBのデータシートを参照ください。)

ランド「A1」の接続を変更することで、マイクが接続されていたADC入力を外部入力コネクタに切り替えることができます。

マイク周辺の回路図

 

WDT(watch dog timer)、RST(reset) 信号の外部への取り出し

センサーモジュールのリセットや予期しないハングアップが発生した場合にはそれを検出し、システムの他の機器に信号を送るとともにモジュールの動作を回復するためにWDTとフォトカプラを搭載しています。この機能を使って外部制御を有効にするためには、ランド「PC」を半田で接続してください。この接続により、WDTに接続されたフォトカプラの動作が有効化されます。
接点はB接点(常時ON)です。通常動作時にはフォトカプラがONになっており、WDT/RST動作時にフォトカプラOFFとなります。
フォトカプラによって出力側を完全に分離していますので、DC24V等の異なる電圧回路を直接開閉することができます。安全PLC (Programmable Logic Controller)等を直接接続できます。センサモジュール保護のためにGNDラインは必ず分離して(センサモジュールのGNDとは別にして)お使いください。

 

EXT I2C ポートの設定

外部I2CポートにはボルテージレベルトランスレータPCA9306(電圧レベル変換器)を搭載しています。
センサモジュール内部の動作電圧は3.3Vですが、このボルテージレベルトランスレータ―を経由して、5Vなど電圧が異なる外部I2Cデバイスをセンサーモジュールに接続することができます。

・電源を持つ外部I2Cバスを接続する場合、ランド「VREF2」はオープンとして、外部I2Cコネクタの2番ピンに外部I2C電源を接続してください。(5V系のI2Cバスを接続する場合は5V、3.3V系のI2Cバスを接続する場合は3.3Vを接続します)外部I2CバスのSCL、SDAは外部でプルアップしておいてください。

・センサモジュールの内部3.3V電源を使用して、外部I2Cデバイスを動作させることもできます。この場合、電源(3.3V)を供給するためにランド「VREF2」を接続してください。これにより、内部3.3Vが外部I2Cコネクタの2番ピンに出力されます。この場合でも、外部I2CバスのSCL、SDAは外部でプルアップしてください。

 

2)アドレス設定ジャンパー

センサモジュールに搭載したI2Cデバイスのアドレスを切り替えるためのジャンパー設定です。
通常は変更する必要はありませんが、外部I2Cコネクタを使用して外部にI2Cデバイスを増設する場合、同じアドレスを持つデバイスがあると正しくアクセスすることができません。このようなアドレスコンフリクトが発生した場合に、センサーモジュール内部に搭載したデバイスのアドレスをある程度変更できるようにしています。

・内部デバイスのI2Cアドレスを変更した場合、データを取得するにはソフトウェアのI2Cアドレス設定も変更する必要があります。

・内部デバイスと同じデバイスを外部I2Cポートに接続する場合、内部デバイスのアドレスを変更しておき、外部デバイスのアドレスを内部で使用していた元のアドレスに合わせることで、同じソフトウェアで外部I2Cポートのデバイスを動作させることができます。
例えば、センサーモジュール内部の環境センサBME680を使用せずに外部I2Cポートで同じBME680を接続し、ケーブルで延長した場所の環境データを計測する場合などにこの方法が有効です。

出荷設定状態でのI2Cアドレス

出荷状態ではセンサーモジュールに搭載された各デバイスは、それぞれ下記のアドレスに設定されています。

アドレス デバイス 機能
0x20 IO Expander  : MCP23008 デジタル入力、デジタル出力のポートを拡張します。
0x2A Color Sensor : S11059 測定対象のカラー成分を計測します。
0x38 Light/Proximity Sensor : RPR-0521 環境光の計測、IrLEDの反射を利用した距離の計測をします。
0x48 AD Converter : ADS1015 アナログ/デジタル変換器で、アナログ値を計測します。
0x60 DA Converter : MCP4725 デジタル/アナログ変換器で、設定したアナログ電圧値を出力します。
0x68 9 axis Motion Sensor : BMX160 加速度、ジャイロ、地磁気、それぞれX,Y,Zの9軸の値を計測します。
0x77 Ambient Sensor : BME680 気温、湿度、気圧、ガス、の4つの環境データを計測します。

 

オンボードのセンサのOn/Offや計測頻度の設定などは、シリアル通信コマンドで設定します。
preMSMゲートウエイのダッシュボードに用意したデバイスコントロールやArduino IDEのターミナルウインドウなどから設定できます。
この内容については、「9. センサモジュールの運転条件の設定」で詳しく述べます。