ダイオード温度計

温度変動による物理現象や化学変化はどこにでも存在します.半導体素子や電子回路も例外ではなく,常に外部からの熱と自己発熱の両方による影響を受けながら動作しています.
半導体を使いこなす上で,温度変動による影響を無視することはできません.ここでは,半導体素子が非常に温度変動に敏感な物質である事をダイオード温度計の制作を通して実験してみます。
半導体素子は本来は絶縁体の仲間に属する物質で,外部からなんらかのエネルギーを与えると導体としての動作をはじめます.電気的なエネルギーに限らず熱,光,磁力,重力,応力などあらゆる外部からのエネルギーの影響を受けます.
これらのエネルギーの影響が非常に小さな時はほとんど影響を受けない場合も少なくないのですが、外部からのエネルギーの影響が無視できないほど大きい場合や大きいであろうと予測される場合は当然それなりの対策を立てなければなりません。
中でも熱による影響は重要で,回路の設計段階で温度変動対策をよく考えておかないと電気的には一見正常のように見える回路が実際にはうまく動作しないという事になってしまいます.このような場合、うまく動作しない原因は、素子ではなくて温度変動対策を徹底していない設計の側にあります。
半導体素子のデータシートに必ず温度特性が記載されています。どのような素子や部品であっても、データシートには必ず目を通すようにしてください。
微妙な電圧や電流の変化を扱うアナログ回路や高速なデジタル回路は特に熱変動の影響を受けやすく,設計が難しくなります.時にはメーカーの保証値内で使っていても不具合が発生することもあります。
ダイオードのデータシートを見ると,順電圧−順電流の特性がグラフで記載されています.グラフを見ると,順電流−順電圧特性は温度変化によってかなり変動する事がわかります.
この温度特性の変動は、半導体の内部を電子が通り抜けようとした時に無事に電子が通り抜けることのできる確率が温度変動に対して一定の割合で変化することによって発生します。
ダイオード利用して温度計を実現する方法は,ダイオードに流す順方向電流を一定にして順電圧を測る方法と,順電圧を一定にして順方向電流を測る方法が考えられますが、接合半導体の構造的な問題から順方向電流を測定する方法は実用的ではありません。また、ノイズの影響を避けて数mA以下の電流を簡素な方法で正確に測定することも困難です。
したがって,今回はダイオードに定電流を与えた時の順電圧の値から温度を求める方法を取ります。
電子回路や半導体素子の入門書には、図1や式1のような整流特性と呼ばれるダイオードの電圧−電流の特性図と整流特性の公式が紹介されています.


これらもダイオードの電圧−電流特性を表わしたものなのですが,データシートの特性図とはずいぶん違う形に見えますし,実は式1の公式をそのままグラフにしても図1のようになりません.
図2の公式は物理学的な視点から見た時の理想的なPN接合の静特性の一例で、この公式によって求めることのできる値は理論値と呼ばれるものになります.実際のダイオードの動作そのものを表わす式ではありません.
では図1は何を意味しているのかと言うと,「一般的なダイオードについて実測してみると,だいたいこんな感じの特性になりますよ」というイメージを伝えるためのものです.電流,電圧ともにプラス側とマイナス側のスケールがまったく違うことにも注意して下さい.
ダイオード特性の公式を与えてグラフにすると,図2のようになります.

データシートに記載されている順電流−順電圧特性図や逆電圧−逆電流特性図は、実際のダイオードの整流特性の代表値をグラフにしたものです.
代表値とは,「この製品の中からいくつかを抜き出して実際に測定してみたら、だいたいこれくらいの値になりましたよ」という意味で,量産された個々の素子についての値を正確に示すものではありません.
素子そのものの正確な特性を表わしてはいないものの、理論値も代表値もおおまかな特性を知る上では非常に役に立ちます.
通常は個々の素子についての本当に正確な特性を知る必要は無く,だいたいの特性が掴めさえすればたいていの電子回路の設計は十分可能です.
よい回路設計をする為には,できる限り素子の特性ぎりぎりの値を使うべきではありません.シリコンダイオードであれば,しきい値は通常0.6V〜0.7V程度であることは判っていますし,データシートを見ればこのダイオードは0.3V以上1.3V以下の範囲をしきい値とし,この間の値の時には動作が保証できなくても構わないような回路に設計しておけばまず間違いなく動作するであろう事がわかります.
例外ももちろんあります.今回のように本来は整流回路や検波回路に使われる事を想定して作られたであろうダイオードを本来の素子の目的を外れて温度センサーとして使おうとした場合に、整流回路や検波回路に使われることを前提に作られたデータシートだけを頼りにして設計しようとしてもどうしても無理があります.このような場合は最終的には必ず実際に測定して校正する必要があります.
また、データシートで保証されている以上の性能や精度がどうしても必要な場合や量産時の製造誤差を極力避けたい場合などで,個々の部品について実際に測定してから必要な性能が得られている素子のみを選定する必要がある事もあります。
データシートの順電圧−順電流特性には−50〜150℃まで,25℃ステップで計9点のそれぞれの温度での特性が記載されているので,ここから電流を一定にした時の電圧−温度の特性を読み取ります.
先に述べたようにこの順電流−順電圧の特性図は正確な値を表すものではないので、特性を読み取るとは言ってもおおまかな値しか読み取れませんが順電圧と温度の関係がどのようなものかというイメージが掴めればいいのでまったく問題ありません.
順電流が一定の時,温度が上昇するにしたがって順電圧が一定の間隔で下がり,順電流が小さいほど間隔は広がっていることが読み取れますが,よりイメージしやすいように順電流が0.1mAの時の順電圧−温度特性を特性図から読み取ってプロットしてみます.
表1 順電流0.1mAの時の順電圧−温度特性の表
| 順電圧(V) | 温度(℃) |
| 0.72 | -50 |
| 0.67 | -25 |
| 0.61 | 0 |
| 0.56 | 25 |
| 0.5 | 50 |
| 0.44 | 75 |
| 0.38 | 100 |
| 0.32 | 125 |
| 0.26 | 150 |
図3 順電流0.1mAの時の順電圧−温度特性のグラフ

データ量が少なく精度もあまり良くはありませんが,順電流が0.1mAの場合の順電圧−温度の特性は理論通りほぼ直線になっているように見えます.この範囲の温度と順電圧を実測して校正すればダイオードを温度センサーとして利用できそうな雰囲気が読み取れます。さらに、順電圧−順電流の特性図を見る限り,順電流が50mA以下ならばだいたい同じような形の特性図になるであろう事が予測できます.
ダイオードが温度センサーとしての役割を果たすことはわかってきましたが、その性能はどの程度のものになるのでしょうか。一応動作はしても、精度が悪かったり温度分解能があまり大きくては結局温度計としての実用に耐えません。
0.1mA以下の順電流をダイオードに与えた場合,温度が−50℃まで下がっても順電圧が0.8Vを超える事は無さそうですが,GUPPY−ADCはバイポーラモードでも+2047mVまでの電圧を測定できます.
順電圧をそのままGUPPY−ADCに入力すると1mVステップでの測定になるので,−50℃〜150℃の温度差200℃を順電圧の変化幅で割ると1mVあたりせいぜい0.4℃程度の温度分解能しか期待できないことになります.
数倍程度の電圧増幅回路を付け加えれば分解能を良くすることもできますが,その分どうしても回路構成が複雑になってしまいます.同じ機能を実現できる回路であれば,回路構成はできる限りシンプルにするべきです.
そこで,ダイオードを2つ直列にして温度による順電圧の変動を2倍にしてみることにします.変動の幅が2倍になれば,わずかダイオード1本の追加で温度分解能を2倍にすることができるはずです.
ダイオードを2本直列にした場合,計算上では順電流0.1mVで温度分解能はほぼ0.21℃になり,計算上はダイオードを3本にすればさらに1.5倍の分解能を得られることになります.
おおまかな性能と動作の予想が立ったので,実際に予測通りの動作するかどうかは実験で確かめてみることにします.
図4 順電流0.1mAの時の順電圧−温度特性の図
実験回路はダイオードが1本のものと2本のものを両方作ってみて、温度分解能が予想通りに2倍になるかどうかも実験してみます。
GUPPY−ADCのCh1にダイオードが1本の回路、Ch2にダイオード2本の回路を接続します。
回路構成は非常に簡素で、GUPPYの+5V出力から直列に抵抗,ダイオード,GNDの順に接続したものを2回路分用意し,抵抗とダイオードの間の電圧をそれぞれGUPPYのCh1とCh2に接続するだけです. ダイオードはコネクタを介してシールド線で外部に接続し、センサー部分のみ簡単に交換できるようにしておきます。
温度センサーとして使うダイオードは一般に小信号用のスイッチングダイオードと呼ばれているものであればどれでも使うことができます.ここでは入手の容易さを優先して1S1588というダイオードを使います。温度分解能の比較をする時にダイオード1本の回路と2本の回路でできるだけ近い特性の物を使った方がいいので同じ製造ロットのものを使います.
製造ロットが違うダイオードを使うと、順電圧−温度特性のように製造誤差の影響を受けやすいシビアな特性はどうしても製造ロットごとのばらつきが出てしまいますし、型番が同じでも同じメーカーや工場で生産されている保証はどこにもありません。
順電流−順電圧の特性図を見る限り抵抗値はおよそ1k〜1MΩ程度の範囲であれば根本的な動作には支障ありません。GUPPY−ADCから取り出す電流は小さい方が好ましいですし抵抗の消費電力を小さくすれば抵抗の自己発熱を抑えることができるので100kΩの炭素皮膜抵抗を使う事にします.
金属皮膜抵抗の方が精度が高く温度変動も少ないのですが、今回のアプリケーションの場合抵抗値の変動がダイオード温度計の動作に与える影響が非常に小さいので、安価な炭素皮膜抵抗で十分実用に耐えます。
100kΩの抵抗に5Vの電圧をかけたときの消費電力は0.25mWなので,1/4W型でも1/8W型でも使う事ができます。
GUPPY−ADCの入力チャンネル数は8チャンネルあるので,すべてのチャンネルにダイオード温度計を接続する場合には集合抵抗を使います。複数の抵抗が一つのパッケージに収まっているので温度変動のばらつきを小さくすることができ、基板上のスペースもコスト的にも個別の抵抗を使うよりも有利になります。
GUPPY−ADCはハードウェア・アプリケーション側で電源端子に電源保証用のコンデンサを組み込む事をマニュアルで推奨していますので,推奨通りに25V4.7uFと25V33uFの電解コンデンサをそれぞれ+5V、+8VとGNDの間に入れます.
このコンデンサを省略した場合、パソコンから供給される電源電圧が不安定になった場合にダイオードに供給される定電流が変動してしまい、順電圧の変動が温度変動によるものなのか電流の変動によるものなのかがわからなくなってしまいます。
使用するアナログ入力端子とGNDの間には0.1μFのセラミックコンデンサを入れておきます.このコンデンサは外部からのノイズやAD変換時のノイズを吸収する為のもので、特に精度や温度係数を気にする必要は有りません.
あとで説明するCMOS温度センサーを含めた全体の回路図は図5のようになります。
図5 全体の回路図


ます,回路の動作確認を兼ねて実際に温度変動によって順電圧が変動する様子を見てみる実験をしてみます。
GUPPY−ADCとダイオード温度計回路をパソコンに接続し,TEMPTEST.EXEを実行して下さい.ダイオード温度計の接続されているチャンネルの電圧を見ると、周囲の温度にもよりますが約400〜500mVの電圧が表示されます.Ch2はCh1の約2倍の電圧が表示されるはずです。
なお、TEMPTEXT.EXEについての詳細は「ダイオード温度計ソフトウェアの使い方マニュアル」を参照してください。
うまく動作しない場合には、パソコンのハード、OSの設定、GUPPY−ADCと全ての配線をひとつづつ確認し、確実に動作している部分をリストアップしながら原因を特定していきます。
今回使用している部品はGUPPY−ADCに接続して使っている限りは故障や破壊の起こる可能性はまず考えられません。配線ミスとはんだ付け不良を徹底的に疑ってください。
TEMPTEST.EXEが実行されている状態でダイオードを指で触れたり息を吹きかけたりすると,順電圧−温度の特性に従って温度が上昇すると電圧は下がり,温度が下がると電圧が上がります。
今まで温度変動の半導体素子への影響を軽く考えてはいませんでしたか?数mVの電圧変動が些細なものであるか重大なものであるかは時と場合によりますが、今手元にあるダイオードは確かに温度変動の影響に対して敏感に反応を示しています。
この敏感な反応は個別半導体であるダイオードに特有のものではありません。全ての半導体は多かれ少なかれ確実に温度変動の影響を受けます。
ダイオード温度計の性能を最大限引き出す為には広い温度範囲での実測と校正が必要になります。
−50〜150℃までの実測データを取ろうとすると、この範囲の温度を自由に作り出せる装置とこの範囲の温度を正確に測ることのできる温度計が必要になりますがなかなか簡単に準備できるものではありません.
ここでは,家庭用の冷蔵庫の冷凍庫で低温を,沸騰させた水で高温をそれぞれ測ることにします.基準になる温度計にはオペアンプなどの温度保証用として市販されているCMOS温度センサーを使います.
CMOS温度センサーのS8100Bはデータシートを見る限りはGUPPY−ADCと接続して出力電圧から温度を計算するだけで0.125℃の分解能で計測できるように読み取れますが,実際に水銀温度計と比較してみると若干の誤差があるようなのでまずこちらを校正してからダイオード温度計の校正に使うことにします.
S8100BのVoutと温度の関係はデータシートによると次の式のようになります。1〜2℃程度の温度誤差を許諾できるのであれば、CMOS温度センサーの校正を省略してこの式をそのまま使ってしまっても問題ありません。
式1 S−8100B温度(T)-出力電圧(Vout)
![]()
CMOS温度センサーはCh7に接続します.ダイオードやCMOS温度センサーが露出したままだと故障や破損の原因になるので、センサーの保護と防水、ダイオードの光電効果対策を兼ねて2層構造の熱収縮チューブでセンサー部分を覆ってしまいます.
ダイオードは電気、温度のエネルギーだけでなく光のエネルギーによっても特性が変わってしまいます。これを光電効果といい、光電効果はフォトダイオードなどに応用されています。
まず、水銀温度計の液溜め部分とCMOS温度センサーを密着させて測定温度差が少なくなるようにしておきます.
できるだけ大きな深胴のなべに水と氷を入れてよく攪拌すると、5℃くらいまでは簡単に温度を下げることができます。水銀温度計とCMOS温度センサーをなべに入れて、十分に温度が下がったらCMOS温度センサーの出力と水銀温度計の温度を記録しておきます.
記録したら,なべをガスコンロにかけて水をよく攪拌しながら温めます.水が沸騰するまで温め続け,その間水温が5℃上昇するごとにセンサー出力と水銀温度計の記録を取ります。
次は低温の測定をします.冷凍庫に温度センサーと水銀温度計を入れて計測しますが,冷凍庫の扉を開閉しながら計測すると正確な温度が測れないので温度計とセンサーを設置したら扉を閉めて冷凍庫内の温度が十分に下がるまで放置し,一点のみ計測することにします.それでも温度計を読み取るときに冷凍庫内の温度が外気で急変してしまうので,扉を開けても温度計とセンサーが直接外気が触れないように設置しておきます.実験では,家庭用の大型冷蔵庫の冷凍室で−18.5℃、中型の冷蔵庫の冷凍室で−17℃までの計測ができました.
5℃〜100℃までを5℃ごとに20点と−18.5℃などの低温1点の合計21点の温度センサーの出力電圧が計測できたら,CMOS温度計の出力電圧(Vout)と実測温度を二次曲線で近似させます.
表2 実測温度とCMOS温度計の出力電圧の表
| CMOS温度計の
出力電圧(mV) |
Voutから計算で求めた温度(℃) | 実測温度(℃) | 温度偏差 |
| 1,924 | -19.4 | -18.5 | 0.9 |
| 1,743 | 3.23 | 5 | 1.77 |
| 1,708 | 7.6 | 10 | 2.4 |
| 1,666 | 12.85 | 15 | 2.15 |
| 1,626 | 17.85 | 20 | 2.15 |
| 1,589 | 22.48 | 25 | 2.52 |
| 1,541 | 28.48 | 30 | 1.52 |
| 1,507 | 32.73 | 35 | 2.27 |
| 1,470 | 37.35 | 40 | 2.65 |
| 1,430 | 42.35 | 45 | 2.65 |
| 1,383 | 48.23 | 50 | 1.77 |
| 1,349 | 52.48 | 55 | 2.52 |
| 1,308 | 57.6 | 60 | 2.4 |
| 1,262 | 63.35 | 65 | 1.65 |
| 1,228 | 67.6 | 70 | 2.4 |
| 1,185 | 72.97 | 75 | 2.02 |
| 1,142 | 78.35 | 80 | 1.65 |
| 1,104 | 83.1 | 85 | 1.9 |
| 1,062 | 88.35 | 90 | 1.65 |
| 1,018 | 93.85 | 95 | 1.15 |
| 980 | 98.6 | 100 | 1.4 |
式2 近似した二次関数
![]()
式2の結果をTEMPTEST.EXEのソースファイルに埋め込んでコンパイルすればCMOS温度計の完成です。118.5℃の温度変化でVssが944mV変動するので、このCMOS温度センサーの温度分解能はこの範囲で平均約0.1255℃になります。
2次関数での近似は手で計算すると面倒なので、手近な表計算ソフトや数学ソフトを利用すると便利です。
基本的な手順はCMOS温度計の校正と同じ手順で行いますが,水銀温度計のかわりにCMOS温度センサーを使うので計測データはすべてGUPPY−ADC経由でパソコン上に自動的に蓄積できます.
CMOS温度センサーと2つのダイオード温度計を密着させて計測温度差が少なくなるようにし,水と冷凍庫を使って高温と低温でのダイオードの順電圧とCMOS温度センサーによる温度を測定をします.測定データはパソコン上でテキスト形式で蓄積して表計算ソフトなどでもデータを再利用できるようにしておきます.
パソコン上に蓄積された2つのダイオード温度計のデータを表計算ソフトを利用して温度−順電圧特性のグラフにすると,図6のようになります.
表3 校正済みのCMOS温度計による温度とダイオードの順電圧(抜粋)
| 実測温度 | ダイオード1本 | ダイオード2本 |
| -18.5 | 565 | 1,123 |
| 5 | 508 | 1,008 |
| 10 | 497 | 985 |
| 15 | 484 | 960 |
| 20 | 472 | 935 |
| 25 | 460 | 911 |
| 30 | 445 | 882 |
| 35 | 435 | 861 |
| 40 | 423 | 838 |
| 45 | 412 | 812 |
| 50 | 396 | 782 |
| 55 | 386 | 760 |
| 60 | 373 | 735 |
| 65 | 358 | 706 |
| 70 | 346 | 683 |
| 75 | 332 | 655 |
| 80 | 319 | 629 |
| 85 | 306 | 605 |
| 90 | 293 | 580 |
| 95 | 279 | 553 |
| 100 | 268 | 531 |
図6 CMOS温度計の温度と順電圧のグラフ
ダイオード1本の時の特性は、順電流を変えてあるために順電圧がシフトしていますが、図3に示した順電圧−温度特性の図に非常によく似た特性を示しています。また、ダイオード2本の時の順電圧はちょうどダイオード1本の時の2倍になり、ダイオードを2本直列に接続すれば温度分解能も2倍になるであろうという予測の通りになりました。
このグラフを二次曲線で近似すれば順電圧−温度変換式の完成です.
この変換式は個々のダイオードによって変わってくるので,別のダイオード温度計を新しく作った場合にはもう一度校正して変換式を求める必要があります.
この式をもとにCMOS温度計の式と同じようにTEMPTEST.EXEのソースプログラムを変更してコンパイルすればダイオード温度計は完成です。
式4 ダイオード1本の時
![]()
式5 ダイオード2本の時
![]()
今回紹介した校正方法では、とにかく手順がわずらわしく実用的な温度計として使うためにはかなりの労力を要します。ダイオードの順電圧−温度特性はほぼ直線的に変化することは事前に分かっているので、校正にあたって収集すべきデータが5℃ごとの実測データである必要は無く、2次曲線で近似することが前提であれば25℃ごとに6点程度の測定データを収集して近似してしまえば十分実用に耐えうる程度の校正を行うことができます。
ダイオード温度計の性能
実測測定範囲 −18.5〜100℃
推定最大測定範囲 −50〜150℃
温度分解能 約0.2℃
データ収集速度 最高1万回/秒(パソコンとデータ収集ソフトの性能による)
8箇所の同時測定可能 回路の簡便さと比較すると,なかなか高性能だと言えると思います.
GUPPY−ADCをユニポーラモードで使えば4096mVまでの測定が可能なので,ダイオードを6本直列に繋げばさらに3倍の温度分解能を得られる可能性があります.
0.1℃単位での正確な測定ができれば気象観測用の温度計として利用することができます.
今回校正に使用した温度計が−20〜100℃の水銀温度計だったのでこの範囲内での実験しかしていませんが,さらに測定精度が良く測定範囲の広い温度計を使えば−50〜150℃までの実測と正確な校正が可能です.
常時測定が必要な場所以外でも、センサーさえ設置しておけば必要な時のみGUPPY−ADCを接続して測定が可能です。
測定は週に一度でいいが測定すべき個所が多く、そのたびにセンサーを同じ場所に設置するのが面倒な場合などに向きます。8個所づつ、何点でも観測できます。
温度センサーをパソコン内部のCPUやハードディスク,電源ユニットなどに複数取りつけてパソコンの内部の温度変動データを測定,表示、蓄積.Tx信号を使って冷却ファンの自動制御も可能です.
庭先に数個のセンサーを埋めるだけで地熱の多点観測が可能です。本格的な地学的観測も可能ですし、水道管やアスファルト舗装にセンサーを埋め込み凍結の監視をする、田畑等へセンサーを設置して土壌の温度管理をするなど、センサー使い捨て可能というメリットが生かせます。
室内だけでなく、床下、屋根裏、コンクリートや木材など建材の中へもセンサーの設置が可能です。もちろんセンサー回収の必要はありません。
これにより、白蟻やカビの発生を事前に予測でき、通気の善し悪しや断熱材の効果が観測できるので増改築時の重要なデータとなります。