PICで作る温度計のセンサー比較(I2C/SPI温度センサ、サーミスタ、熱電対、白金測温抵抗体、pn接合など)
これまでの“経験”とこれからの“構想”をもとに温度計に使うセンサーの特長やメリット・デメリットをまとめてみました。“PICで作る...”と書きましたがPICにしかない機能を使うというような意味ではないのでAuduinoでもなんでもおんなじでしょう。
なお私が書いたものでは信用できないという方もいらっしゃると思います。
専門家が書かれた論文などへのリンクは
「記事一覧(測定、電子工作、天文計算)」
の表の中にありますのでそういうのをご覧いただけばいいのですが、メーカの資料にわかりやすいものがあるので紹介しておきます。
「KOA株式会社 - 温度センサの基礎とアプリケーション」
======
基本的には“人間が棲息できる温度範囲”での温度測定を目的としていますが、ハンダゴテの温度を測るとかドライアイスの温度を測るくらいは考えています。
今回は概要です。細かいことは最後にリンクをつけておきました。さらに詳細な内容は個別に記事にする予定です。
例えば温度センサーを買ってきて校正なしでどの程度の誤差があるかをグラフにしたものが
「温度センサ(サーミスタ・熱電対・(白金)測温抵抗体)の誤差」
にあります。
温度センサー | いろいろあります。配線は4本(I2C)あるいは5本(SPI)で済み作るのは簡単であとはプログラムをちょっと書けば使えます。 記事も何度か書いていたのですが最近興味を失いました。一言で言えばブラックボックスになっていてどういう特性なのかまったくわからないからです。精度を上げるために補正値を求めようとすると全温度範囲で校正する必要があります。面倒くさくてやってられません。その前に測定の再現性(経時変化がないか)も調べなければいけませんし測定条件(例えば電圧)が変わったら結果にどう影響するかいちいち確認する必要があります。 例えば「温度センサー3種の精度比較(摂氏0度~40度編)」をご覧になって(サーミスタは別として)誤差がなぜこういう曲線になるのか説明できる方はいらっしゃらないと思います。 でも、だいたいの温度を知りたい、ということであれば問題はないでしょう。 上のリンクにもありますが例えばAM2321は精度的にも健闘していますし、どうやら湿度もちゃんとした数値を示すようです。 「I2C温湿度センサーAM2321の湿度を通風(熱電対)乾湿球湿度計とくらべてみた」 |
サーミスタ | だいたいの温度を手軽に知るデバイスというイメージですが、じつは意外と精度がいいです。 |
白金測温抵抗体 (RTD、Pt100) |
温度測定の王道です。私みたいに温度測定が趣味と言う方は一つ作っておいた方がいいと思います。精度を追求するのであればこれ以外の選択肢はないでしょう。熱電対やサーミスタの校正に使えます。あんまり高いあるいは低い温度はムリですが秋月で売っているものでも-200℃から600℃まで使えます。 |
熱電対 | 正確な温度を知るのはなかなかたいへんそうです。冷接点の温度を正確に知る必要があるということもあるのですが、熱電対というのは校正をちゃんとしないと正しい温度を知ることができないようです。 温度係数(ゼーベック係数)の温度変化は(特にタイプKは)かなりクセがあり、さらに個体差も大きいようです。だから冷接点の温度を正確に知った(例えば冷接点を氷点においた)からと言って格段に精度が上がるわけでもなく本質的にあんまり精度はよくないと思った方がいいと思います。 「熱電対の起電力の近似式 - 起電力と温度の相互変換」 「K型熱電対プローブ(秋月電子通商)による温度測定」 ただ複数の場所の温度を同時測る、特に二箇所の温度差を知るということだったら威力を発揮します。これについてはいろいろやってみたいことがあります(「通風乾湿球湿度計をありあわせの材料で作ってみた」) タイプKで40μV/K程度です。プリアンプが必要になりますので測るのはけっこうたいへんですが高い分解能が必要なわけではありません。 でも今は増幅率57.1のプリアンプでも電圧が低すぎるので16bitの分解能があるMCP3425でやってます。 電圧計の確度は他の方法では工夫すればクリアできますが熱電対では(少なくとも安定性・再現性は)必須です。 これまでサーミスタや測温抵抗体でやってきてADコンバータの温度係数はキャリブレーションで吸収できるのであんまり気にしなかったのですが、これから熱電対や下にあるpn接合で温度を知ろうとするとそうも言ってられないようです。 ところで熱起電力はどんな金属同士でも発生します。そのあたりを実験するのもおもしろいと思っています。熱電対の記事はそういうのばっかりになるかも (^^) 「熱電対の起電力の近似式 - 起電力と温度の相互変換」 「熱電対の起電力の近似式 - 起電力と温度の相互変換 (250℃~1300℃編)」 「K型熱電対プローブ(秋月電子通商)による温度測定」 「K型熱電対 ステンレス管タイプ(秋月電子通商)による温度測定」 「熱電対起電力を直接測定できる22bit(20.6bit)ADコンバータMCP3553」 「ADコンバータMCP3425と計装アンプLT1167で作るK熱電対温度計 - オフセットの自動補正」 「PICとMCP3425で作るK熱電対温度計 - OPA277PAでプリアンプを作る」 「あんまり違いがないK型熱電対とT型熱電対の熱起電力」 |
pn接合の順方向電圧 | 順方向電圧の温度係数が-2mV/Kくらいであることを利用して温度を知ろうという構想です。順方向電圧とその温度係数は測定電流や個体によって変わりますので校正が必須ですが直線性はいいというか理論値(?)とよく一致するようなので数点で校正すれば使えてしまうかもしれません。 だいたい0.6Vに対しての2mV/Kですので白金測温抵抗体と同程度の分解能が要求されます。つまりMCP3425あたりが必要です。 この方法には大きなメリットがあると思います。0.6Vに対して2mV/Kということは0.3%強の変化です。こういう場合ただの抵抗なら測定するための電流が0.3%変化すると温度には1℃の誤差が出るわけですが、この方法は0.04℃くらいの誤差にしかならないはずです。pn接合の順方向電圧はおおまかに書くと電流の対数に比例するため電流の変化に対する感度が低いためです。 そのかわり(熱電対と同じく)再現性・安定性のある電圧計が必要です。 「pn接合順方向電圧(VBE)の温度係数を測ってみた(高精度版)」 |
放射温度計 | 市販のセンサーを使うのではなく一から手作りというのを目論んでいます。 |
熱力学温度計 | 要するに絶対温度を測ろうということです。 そのうちシャレで作ってみようと思っています (^^;; |
関連
“温度”について
「正確な温度を求めて (1)」
“素人”でもできる校正について
「氷点 - 摂氏0度の作り方」
「体温計と魔法瓶で校正する白金測温抵抗体 - 36.5度編」
恒温槽について
「恒温槽 - 温度を一定に保つアルゴリズム - 1」
自己発熱について
「サーミスタや白金抵抗温度計の自己発熱の影響を補正する方法」
“測定装置”について
「PIC+SPI+I2C 自記温湿度計+気圧計+8ch電圧計+周波数カウンタ(技術要素一覧)」
「PIC+SPI+I2C 自記温湿度計+気圧計+8ch電圧計のソース - main()」
電圧の測定について
「PICでI2C - ADコンバーター・MCP3425の使い方」
「PIC18F26K22でSPI - 8ch/ADコンバータ MCP3208の使い方(ソース付き)」
抵抗比を測定するための抵抗器について
「精密抵抗のお値段 - 抵抗器の精度と価格の関係」
「金属皮膜抵抗と炭素皮膜抵抗の温度係数を測ってみた - まとめ」
定電流回路(電圧電流変換回路)について
「思わぬところで見つけた負性抵抗 - 定電流回路(バイラテラル回路)」
測定した結果を表示することについて(いずれもI2Cデバイスです)
「I2Cのソース - PIC12F1822/16F1705/16F1938/18F26K22 - LCD(ACM1602)を例にして」
「I2C薄型液晶ディスプレイ(LCD)・AQM1602XAの使い方」
測定した結果を保存することについて
「PICでSPI SDカードを読み書きする」
pn接合について
電流-電圧の関係について
「ログアンプ - ベース電流(IB)とベース電圧(VBE)の関係」
「pn接合の理想係数を測る」
温度係数
今必死で書いてます!
「pn接合順方向電圧(VBE)の温度係数を測ってみた(高精度版)」
よく考えたら以前も書いていました。
「pn接合の順方向電圧(VBE)と温度の関係 -1」
「pn接合の順方向電圧(VBE)と温度の関係 -2 測定方法」
放射温度計
熱力学温度計
「記事一覧(測定、電子工作、天文計算)」の表に参考となる資料へのリンクがあります。
« 熱電対素線(タイプK、クロメル=アルメル)をハンダ付けしてみた | トップページ | pn接合順方向電圧(VBE)の温度係数を測ってみた(高精度版) »
「趣味の電子工作」カテゴリの記事
- PICで作る100MHz周波数カウンタ検証用XOR(エクスクルーシブオア)逓倍器(2016.03.08)
- 150MHz(~200MHz?)周波数カウンター用プリスケーラー(1/4分周器)(2016.03.06)
- 測温抵抗体(Pt100、白金薄膜温度センサー)の抵抗値を温度に変換する(平方根を使わない)計算式(2016.03.01)
- GPS/JJY(標準電波)を基準周波数源とするためのPLLの詳細(2016.02.27)
- GPS受信モジュール1PPS対決 - GE-612T vs GM-5157A(2016.02.21)
この記事へのコメントは終了しました。
« 熱電対素線(タイプK、クロメル=アルメル)をハンダ付けしてみた | トップページ | pn接合順方向電圧(VBE)の温度係数を測ってみた(高精度版) »
コメント