元祖 [熱の実験室] 第29回 - ラズパイ2で自在に温度調節プログラム

「熱の実験室」のコーナーでは、熱を利用した身近な実験を行なっています。

第29回(2016年3月)の実験
 ヒーターを使う場合の温度コントロールは、一般的にはヒーターに加える電圧をON-OFFすることで行ないます。
 ラズパイ2(Raspberry Pi 2)から、直接ヒーターをON-OFFすることはできませんので、SSR(ソリッドステート・リレー)を接続してAC100VをON-OFFできるようにし、温度コントロールをしてみました。
 市販の温度制御機器と違い、ラズパイ2(Raspberry Pi 2)だとプログラムは自在にできます。けれども、温度の制御は、なかなか自在にはなりません。

 ● 実験に使用した器具

  • ラズパイ2(Raspberry Pi 2 Model B)
  • ブレッドボード
    ラズパイ2のGPIO(入出力端子)に、ADコンバーターやトランジスタなどの回路を接続しています。
  • SSR(ソリッドステート・リレー)
    ヒーターに加える電圧をON-OFFします。
  • シリコンラバーヒーター
    100mm × 100mm。10mmの断熱材(シリコーンスポンジ)を下側に貼ってあります。
  • 黄銅板(50mm × 90mm × 厚さ1.5mm)
    加熱する物体です。シリコンラバーヒーターの上に載せています。
  • 温度センサー(サーミスタ)
    温度で電気抵抗が変化する素子です。黄銅板に、アルミ粘着テープで固定しました。
 温度センサーの抵抗値変化により、ADコンバーターに加わる電圧が変化するよう、ラズパイ2の 直流出力3.3V を抵抗で分圧し、ADコンバーターからラズパイ2に入力されたデジタル信号から、プログラムで温度を算出しています。
 ラズパイ2で、直接ヒーターに加える電圧をON-OFFすることはできません。できるのは、GPIOの電圧出力(DC3.3V)をON-OFFすることです。この電圧出力では、電圧・最大電流ともに小さいので、右図のようにトランジスタを接続し、DC5V出力をON-OFFしてSSR(ソリッドステート・リレー)を動かしています。
 ヒーターには、SSRを経由してAC100Vが加わるので、ラズパイ2で動かすプログラムからヒーターを制御できます。

 ● プログラムを動かす環境

 右図のように、ラズパイ2(Raspberry Pi 2)、パソコン、Webサーバーが、LANに接続されています。
 ラズパイ2の操作は、パソコンからsshで接続して、リモートで行ないます。
 ラズパイ2で温度測定すると、温度・出力・時刻のデータがhttpでWebサーバーに送られて、保存されます。
 パソコンからは、Webサーバーに保存された温度測定データを参照します。この WebサーバーはLAN内にありますが、インターネット上にあるWebサーバーの場合でも、同様に動作させることができます。
 ラズパイ2で動かすプログラムは、GPIOを操作する、温度測定とSSRをON-OFFする部分だけPythonで作成し、PHPで作成したメインのプログラムから'shell_exec'で実行しています。