I2C温度センサADT7410を使う(1)

アナログ・デバイゼズ社のI2C制御 16ビット温度センサIC ADT7410を使ってみます。秋月電子でSIP基板に実装されたものを見つけましたので、それを利用して、Arduinoで温度が測定できるようにします。なお、姉妹品にSPIのADT7310というのもありますので、それについても別枠で説明する予定です。

pic130818_01

●やること(予定)

まず、Arduino互換機(CQガチャduino;WSN282/WSN283)に接続してシリアルで温度が読み出せることを確認します。次にI2CのLCDを並列に接続し、LCDへ温度を表示させます。

なお、ここでは、CQガチャduinoを使用しますが、Arduino(互換機)は何でも構いません。また、PICなど他のMPUに接続する場合の参考にもなると思います。

まずは、ADT7410について説明します。

●温度センサADT7410の仕様

ADT7410は校正や直線補正などが一切不要な高精度のディジタル温度センサICです。符号付きの16ビットまたは13ビットの分解能があります。測定範囲は-55℃~150℃となっています。

おもな仕様をまとめます。

  • 電源電圧 2.7V~5.5V
  • 分解能 16ビット時 0.0078℃、13ビット時 0.0625℃
  • 測定温度範囲 -55℃~150℃
  • 精度 ±0.5℃(-40℃~105℃ 電源電圧2.7V~3.6V時)

●秋月のモジュールについて

SOICのパッケージをSIP変換基板に実装したもので、ブレッドボードに実装可能です。現在の価格は500円です。 I2C信号のプルアップ抵抗が付いています(はんだブリッジによるジャンパで有効化)。”CT”と”INT”の2端子が接続されていないため、範囲検出などの電気的な信号が使えませんので、今回は説明を省略します。

●レジスタ構成、アクセス方法

レジスタは0×00~0x0B,0x2Fの13個あります。温度値関係のレジスタは2つ(2バイト)で一組です。それ以外は8ビット構成です。

レジスタにアクセスする際は、最初にレジスタ・アドレスを書き込み、レジスタを選択した上で、続けてリード、ライトすると、そのレジスタにアクセスできます。8ビットの場合は1回、16ビットの場合は2回続けてアクセスします。 ArduinoのWireライブラリは、読み出しの際のリピート・スタート・コンディションが使えませんが、その場合は、レジスタアドレスを書き込んで一旦終了し、続けて規定回数読み出すことで指定のレジスタ値を読み出すことができます。

次にレジスタ一覧表とコンフィギュレーション・レジスタ0×03(Configuration register)のビットアサインの図を示します。( )の数値はパワーON時のデフォルト値です。

レジスタ一覧

ADT7410_01

コンフィギュレーション・レジスタのビットアサイン

ADT7410_02

●動作モード

4つのモードがあります。順に説明します。

NORMAL MODE(連続読み出し)
連続して測定、変換するモードです。リセット直後のデフォルト状態です。 configuration register (0×03)のBit[6:5]をに”00″に設定するとこのモードになります。
測定、変換に240msかかります。測定、変換が完了すると、自動的に次の測定、変換が始まり、これを繰り返します。温度値レジスタを読み出すと、最新の値を読み出すことになります。

ONE-SHOT MODE(ワンショット)
単発で測定するモードです。 このモードに設定するとただちに測定、変換を実行し、完了後にシャットダウン状態に移行します。 結果は240ms以上待ってから読み出します。なお、シャットダウン中でもレジスタのリード、ライトは可能です。 configuration register (0×03)のBit[6:5]をに”01″に設定することでイネーブルになります。 同レジスタに再び”01″を設定すると再びワンショット測定、変換が実行されます。

1 SPS MODE(1秒周期)
1秒周期で測定するモードです。 60msで測定、変換を完了し、残り940msは待機します。これを繰り返します。 configuration register (0×03)のBit[6:5]をに”10″に設定することでイネーブルになります。

SHUTDOWN MODE(シャットダウン)
温度測定、変換回路をシャットダウンします。シャットダウン中もレジスタのリード・ライトは可能です。 configuration register (0×03)のBit[6:5]をに”11″に設定すると移行します。


当記事の記載内容は、マニュアルを元に筆者が作成したものですが、誤りや実験結果により相違がある場合は逐次訂正します。この記事を利用した結果で何らかの不具合が発生しても責任は負えませんのでご了承ください。なお、記事や図などの無断転用はご遠慮願います。

参考文献 ADT7410データシート(英文) D06560-0-12/11(A)
アナログ・デバイゼズ社のWEBサイトよりダウンロード可能

(続く)

コメントは受け付けていません。