Raspberry Piに気圧センサー(MS5611)を接続

Raspberry Piに新しく気圧センサを接続してみました。
今回接続をしたのは、「MS5611-01BA03」という型式のMeasurement Specialties製の気圧/温度センサです。
GY-63
(センサは基板上の金属パッケージのものです。3.0mm x 5.0mmのパッケージサイズです。)
Raspberry Piとの接続はI2Cで行います。(SPIインターフェースもあります)
電源電圧は1.8V~3.6Vです。
非常に高分解能な24bitsのADコンバーターを持ち10cmの変化を検出出来る様です。
湿度の測定範囲は10hPa~1200hPa、25℃ 700hPa~1100hPa時の絶対精度は±1.5hPaです。
温度の測定範囲は-40℃~85℃、精度は±0.8℃です。
このセンサもピエゾを使用しているようです。

今回使用した基板は5Vでインタフェース出来る様に降圧回路、信号線の電圧インターフェース回路が入ったものです。
3.3Vでの使用が出来るかどうか気になることろでしたが、結論的には特に問題無く使用出来ました。
降圧回路の出力側もテスターで測る限りほぼ電圧低下はありませんでした。

さて本題の接続です。
今回もモジュール基板を使用しましたので追加部品無しにRaspberry PiのI2C端子に接続します。電源は3.3Vを使用します。
モジュール基板自体は5Vの電源電圧を許容しますが信号線も5Vとなってしまうので3.3Vで使用する必要があります。

MS5611はBMP180ほど一般的ではないのか参考になる読み出しソフトが見つかりませんでした。
BMP180用のソフトをベースにデータシートを見ながらC言語で書く事にしました。
このセンサからの読み込みは設計があまり良くありません。
センサ自体にマイコンが無い為と思われますがデータ取得の際にチェックサムが付与されません。
唯一、センサのキャリブレーションパラメータ取得際にはチェックサムでチェックが出来ます。このチェックサムも4bitsのみなので場合によってはエラーを貫通してしまう可能性があります。
Raspberry PiのI2Cで読み込む場合、センサー未接続でも何かしらの値が読み込めてしまいます。
この際に、本当にセンサから読み込めたのかがわからないのです。
今回作ったプログラムではキャリブレーションデータのチェックサムが合致した場合はセンサが接続され読み取れたとして動作させています。

カテゴリー: Raspberry Pi パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください