DS18B20温度センサーを - DIY Arduinoの(39) "神はプログラミングを学ぶ刻まれました"

パラグラフ37及び基準センサモジュールは、広く実際には、Arduinoのセンサモジュールと互換以上37種である必要があり、インターネット上で循環されます。私が手にセンサーやモジュールの数を蓄積しておりますので、実際に基づいて---、コンセプト(DIYに必ず)ハンズオン実験、成功したか否か、記録されます実行しようとするためにここに一つずつ調製する目的のための学習とコミュニケーション最適ですほとんど進展または開始することを期待して、問題を処理することはできません。 

実験の[] Arduinoのシリーズ、センサモジュール108の種類(情報+ +グラフィック+シミュレーションコード)

DS18B20線デジタル温度センサ・モジュール:三〇から九実験

 

DS18B20

これにより、ユーザーは簡単にセンサネットワーク、概念を測定するための新たなシステムの導入のためのビルドシステムを設定することができ、「バスライン」インターフェース、温度センサ、ユニークなバスラインと経済的な機能をサポートする世界初のチップです。

 

図に示すようにDS18B20内部構造は、主に、64ビットROM、感温素子、及び内部メモリのコンフィギュレーションレジスタ部4から構成される。
(1)64ビットのROM。その内容は、その役割は、各DS18B20を持つようにDS18B20シーケンスコードのアドレスとみなすことができる64ビットのシリアル番号、ですあなたはDS18B20バスの複数に連接された目的を達成できるように、異なっています。
(2)感温素子。これは、温度の測定が完了すると、温度の結果は、測定に二つのレジスタ8(b)に格納されています。
(3)内蔵メモリ。内部メモリは、スクラッチパッドRAMと高温と低温貯蔵は、TH、TL、及びコンフィギュレーションレジスタをトリガする不揮発性電気的消去可能PROM E2を含みます。
 
 
 

温度測定原理

発振器、パルスの低い温度係数は温度値ゲートを取得するには、この期間中にカウントされている発振器内部カウンタの高い温度係数を有するゲート期間を決定します。カウンタは、-55℃に相当する値にプリセットされます。カウンタの加算値がゼロに達すると、温度レジスタサイクルゲートの終了前に(また、C°-55に初期化)、測定温度が-55摂氏度よりも大きいことを示します。

1。発振器の温度係数を意味する発振器であり、発振周波数と温度との間の特定の関係、異なる発振周波数に対応する、すなわち異なる温度があります。逆に、発振器の出力周波数を測定するために、温度を測定することができます。

発振器の2.高温度係数:その発振周波数が大幅温度、温度のわずかな変化によって影響され、周波​​数は、温度センサのために使用される温度に敏感な多く、すなわち変更されます。

発振器の前記低温度係数:その発振周波数は温度に影響され、その周波数は、実質的に一定であり、温度が大きく変化しても、小さいです。 

  それと同時に、カウンタは、温度感知発振器用ランプ・アキュムレータ回路、ランプ・アキュムレータ回路放物線特性補償器によって決定された値にリセットされます。そして、カウンタ0までカウントを開始し、ドアが終了していない場合、サイクルは、プロセスが繰り返されます。非線形解像度の時に比較的高い温度を得るために、温度に敏感な発振器をランプにアキュムレータを補償します。これは、カウント温度で必要な上昇の各々に対して一度カウンタの値を変更することによって達成されます。このように、所望の解像度を得るために、あなたはカウンタの値と与えられたそれぞれの温度のカウント値を知っている必要があります。

主な特徴

(1)固有の単線インタフェースモード、ある必要が唯一のマイクロコントローラの出口ラインに接続します。

(2)温度範囲 - 55〜+ 125℃、で - 10〜+ 85℃の範囲で±0〜5℃の精度;.

(3)9〜12のプログラムされたデジタル読み出しモードによって達成することができます。

(4)ユーザは、不揮発性の上限と下限のアラームを設定することができます。

(5)周辺回路が簡単で、バックアップ電源なしに外部部品、3 0〜5.5 Vのデータバス使用可能な電源電圧範囲の使用を必要としません。

(6)外付け部品なし、ユニークなラインインタフェース、電源及び信号が一緒に混合されます。

(7)ゼロ電力を待って、各チップ、サポート・ネットワーク・アドレスを符号化ユニーク。

(8)DS18B20 92、SOICパッケージ必要があり、VDDは、外部電源入力端子であるCSPは、GNDは共通のグランドに、DQは、デジタル信号出力端子です。

(9)冷凍庫、サイロ、貯蔵タンク、GPS衛星測位システム、通信室、電源室、ケーブルダクト等の温度制御に適用されます。

コンポーネント説明

---ターントリガーのメモリキャッシュメモリRAMと電気的に消去可能なRAM、電気的に消去可能なRAMを含むDS18B20メモリは、温度THとTL、及びコンフィギュレーションレジスタを含みます。メモリは、デジタル回線ポートがレジスタに書き込まれたコマンド・ライト・レジスタで始まり、その後、あなたはまた、レジスタを使用することができ、完全な通信を決定することができますこれらの数字を確認するためのコマンドをお読みください。承認は、これらの図電気的に消去可能なRAMに転送するレジスタをコピーするコマンドを使用することができたとき。修飾された、プロセス内のレジスタの数は数字の整合性を確保する場合。RAMのキャッシュメモリは、メモリの8バイトで構成され、第バイトレジスタとリードコマンドを読み取り、バイト、チェックの前に8バイトです。

ROMの64ビットフロントリソグラフィDS18B20 --- 8は、独自のコード、次の48の連続するデジタルコードであり、最後の8ビットは、最初の56ビットのCRCチェックです。64ビットリソグラフィROMはまた、ROM機能コマンド5を含む:、ROMに一致するROM、ROMジャンプ、ROMを読んで見つける警察を見つけます。 

--- DS18B20外部電源は、外部電源VDDに接続することができ、寄生電力内で使用されてもよいです。ポートが接地されているときに、内部に寄生電源VDDを用いて、場合の電圧VDDに接続されたポートは、3.0V-5.5Vの外部電源です。内部または外部寄生電源、I / Oポート線は約5KΩのプルアップ抵抗に接続するかどうか。

---異なるコンフィギュレーションレジスタは、デジタル変換及び温度のビット数を決定するように構成される。R1を知ることができ、R0ビット温度がR1の異なる組み合わせによって決定され、R0は9、10、11、12温度表示するように構成されてもよいです。この変換は、ビット変換に対応する異なる温度で時間を知ることができ、4つの構成の解像度は0.5℃、0.25℃、0.125℃、0.0625度であった。】C、12ビットとして構成され工場内。

12に工場で構成DS18B20の温度を---読み取り、温度を読み取るとき、16ビットの合計が読み取り、符号ビットとして最初の5ビットは、現在5は、温度測定値が負であり、1であり、現在図5は、温度の読み取り値が正である、0です。温度読み取りタイミング方法は、10進数16進数に変換します。温度読み取りが負方法であって、反転ヘクスに1を加算し、小数を10に変換することができます。例:= 85度0550H、FC90H = -55度。

 

ポイントを使用

DS18B20、すなわち、データラインのデータに対して、双方向の単線バスプロトコルの送信モードを使用し、バスプロトコルは、シングルチップコンピュータハードウェアをサポートしていない、ソフトウェア方法は、チップを完了するために単一のバスプロトコルシーケンスをシミュレートするために使用されなければならないDS18B20アクセス。リードのでDS18B20 I / O線にデータを書き込み、それはデータ・ビットに厳密なタイミング要件を読み書きすることであり、それはビットデータ転送の正確性および完全性を保証するために厳密なプロトコルを有しています。タイミングを書き込み、初期化シーケンス、タイミングを読んで:契約は、いくつかの信号タイミングを定義します。すべてのタイミングは、マスタデバイスとしてスレーブデバイスとしてDS18B20 MCUであり、各コマンド及びデータの書き込みタイミングは、ホストの先頭からアクティブである送信、必要DS18B20ループバックデータと、ライトコマンド時に、ホストは、タイミングの読み取りを開始する必要がありますデータ受信の完了。

いくつかのアプリケーション回路

 

DS18B20ワイヤデジタル温度センサ・モジュール

寸法:高さの長さ28ミリメートルX 12ミリメートルX 10ミリメートル幅

第二に、メインチップ:18B20温度センサ

第三に、動作電圧:DC 5V

モジュールの機能

図1に示すように、解像度調整範囲:9-12ビット

2、インストールを容易にするための取付穴と、孔径:2.5

3、温度範囲:-55〜+ 125℃

図4に示すように、温度測定精度:0.5℃

5、動作電圧:DC5V

図6に示すように、デジタル信号出力

 

端子ピン
Arduinoの宇野<------> 18B20温度センサモジュール  
のピン3 <------> OUT(S)      
5V <------> VCC   
GND <------> GND  

検索、ダウンロードライブラリ-DallasTemperature

そして、後にライブラリをインストールし-OneWire

/ * 

実験の[] Arduinoのシリーズ、センサモジュール108の種類(情報+ +グラフィック+シミュレーションコード)

実験三〇から九:DS18B20ワイヤデジタル温度センサモジュール

* / 

 

の#include <OneWire.h> 

の#include <Da​​llasTemperature.h> 

 

に#define 3 ONE_WIRE_BUS 

OneWire OneWire(ONE_WIRE_BUS); 

DallasTemperatureセンサ(&OneWire); 

 

ボイドセットアップ(ボイド)

{ 

  Serial.begin(9600); 

  Serial.println( "ICダラス温度コントロールライブラリデモ"); 

 

  sensors.begin(); 

} 

 

ボイドループ(ボイド)

{ 

  Serial.print( "要求...温度"); 

  sensors.requestTemperatures(); 

  Serial.println( "DONE"); 

 

  Serial.print:( "ISための温度デバイス1")

  Serial.print( sensors.getTempCByIndex(0))。  

  

  遅延(500)。

}

  

タッチDS18B20、温度上昇

 

 

おすすめ

転載: www.cnblogs.com/eagler8/p/11618248.html