工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Raspberry Piの1線式温度センサーDS1820(GPIO直接)

Raspberry Piを使用して屋内または屋外の温度を測定するには、いくつかの可能性があります。この記事では、最小限の外部コンポーネントを備えたバージョンについて説明します。これは、DS18S20温度センサーと1-Wireプロトコルのソフトウェアエミュレーションに基づいています。

DS18S20および関連するDS18B20とDS1822は、温度センサー、アナログ-デジタルコンバーター、および1-Wireインターフェースを含むTO-92ハウジング内の集積回路です。上記のタイプはピンとソフトウェアの互換性があり、測定精度と価格が大幅に異なります。 3つのコネクタ(左の図を参照)は、グランド(GND、ピン1)、データ(DQピン2)、および動作電圧(V DD )です。 、ピン3)。 V DD を接続できます およびGNDを使用し、3〜5ボルトの寄生電源でセンサーを操作します。回路とコンピューターの接続は、単純な2線ツイストペアケーブルで可能になります。

このケーブル(1-Wireバス)では、複数のDS1820を並列に接続できます。各センサーには、それ自体を識別するためにメーカーによって割り当てられた一意のコードがあります。

ラズベリーパイと1-wire

Raspberry Piと1線式温度センサーDS1820を使用した温度測定には、RaspberryPiから1線式バスを駆動するさまざまな方法のリストが含まれています。このホワイトペーパーでは、外部回路の量を最小限に抑えたソリューション(1)について説明します。このソリューションはソフトウェアで1-Wireプロトコルを完全にシミュレートするため、センサーとは別に、必要な抵抗は1つだけです。

抵抗器は1つだけ

DS1820のデータポートDQは、RaspberryPiのGPIOインターフェイスのポートGPIO4に直接接続されています。 GNDおよびV DD アース端子GNDにあります。寄生電源は、3.3ボルト接続3V3とGPIO4の間で4k7のプルアップ抵抗を実現しました。

抵抗器、GPIOポートに接続するためのメスコネクタ、および1線式接続は、GPIOポートに直接配置されている小さなブレッドボードにはんだ付けされています。 1線式接続は、省スペースの角度付きメスコネクタで実現できます。これはすべて、RaspberryPiのTEK-BERRYハウジングに適合します。

1線式ソフトウェアドライバー

1-Wire温度センサーのアクティブ化に必要なカーネルモジュールは、LinuxディストリビューションのRaspbian「wheezy」の一部です。ただし、明示的にロードする必要があります:

 sudo modprobe w1-gpio pullup =1sudo modprobe w1-therm 

重要なのは、パラメータ pullup =1 です。 、これは、プルアップ抵抗を介した寄生電源が存在することをモジュールに通知します。モジュールは、/ sys / bus / w1 / devicesのすぐ下にあるセンサーごとにサブディレクトリを作成します。ディレクトリ名は、センサーのファミリーコードとその一意の識別番号で構成されます。タイプDS1820およびDS18S20のセンサーにはファミリーコード10、DS18B20にはコード28、DS1822は22があります。各サブディレクトリには、センサーのステータスと測定された温度値を含むファイルw1_slaveがあります。

 cd / sys / bus / w1 / devicescd 10-000801b5 * cat w1_slave  0f 00 4b 46 ff ff 06 10 0c:crc =0c YES0f 00 4b 46 ff ff 06 10 0c t =7375  

このファイルは2行で構成されており、各行にはセンサーICの16進レジスタダンプが含まれています。最初の行の終わりには、チェックサム(CRC)と、それが有効な読み取り値であるかどうか(YES)に関する情報があります。 2行目は、摂氏1000分の1度の温度測定値で終わります。したがって、この例では、温度は7.375°Cです。もちろん、小数点以下3桁までの精度は明らかです。 DS18S20のデータシートには、たとえば、測定精度はわずか±0.5°Cであると記載されています。実際の温度は6.8〜7.9°Cです。

これまでにすべてが機能する場合は、必要な2つのモジュールをファイル/ etc / modulesに入力して、起動時に自動的にロードされるようにする必要があります。

#/ etc / modulesw1-gpio pullup =1w1-therm 

ラウンドロビンデータベースRRDtool

温度測定値を長期間記録し、グラフィックを快適に生成するには、RRDtoolの使用をお勧めします。 USBWDE1を使用した気象データの取得とRaspberryPi(USBシリアル)を使用した温度測定の記事で、このツールについて詳しく説明しています。

まず、RaspberryPiのパッケージマネージャーを使用してRRDtoolをインストールする必要があります。

 sudo apt-get install rrdtool python-rrdtool 

2番目にインストールされたパッケージ python-rrdtool は、後で使用されるRRDtoolへのPythonインターフェイスです。 RRDtoolでの作業の開始時に、データベースの定義があります。次の例では、2つの温度センサー temp0 のデータベースを作成します und temp1 。目的は、15分(900秒)ごとに1つの値を格納することです。 10日後(=960値)、1日あたり1つの平均値、最小値、および最大値に削減されます。これらの毎日の値の保持期間は10年(=3600値)です:

 rrdtool create Temperature.rrd --step 900 \ DS:temp0:GAUGE:1200:-40:80 \ DS:temp1:GAUGE:1200:-40:80 \ RRA:AVERAGE:0.5: 1:960 \ RRA:MIN:0.5:96:3600 \ RRA:MAX:0.5:96:3600 \ RRA:AVERAGE:0.5:96:3600 

Pythonによるデータ取得

Pythonスクリプトは、特別なファイルw1_slaveを読み取り、温度値をラウンドロビンデータベースに挿入します。

詳細:Raspberry Piの1-Wire温度センサーDS1820(GPIO直接)


製造プロセス

  1. RaspberryPi温度ロガー
  2. 1線式DS18B20センサーとRaspberryPiを使用して温度を測定します
  3. DS18B20で温度を読み取る|ラズベリーパイ2
  4. ラズベリーパイの温度監視
  5. RASPBERRYPIによる温度測定
  6. Raspberry piを使用したTMP006温度センサーPythonライブラリ、
  7. PythonとRaspberryPiの温度センサー
  8. ラズベリーパイウェザーステーション
  9. ラズベリーパイで温度を監視する
  10. 超音波センサー(HC-SR04)+ Raspberry Pi
  11. RaspberryPiを使用したモーションセンサー