[トップページへ戻る]

LM3914とLM61を使用した温度計

2011年8月
LM3914 + LM61 + LM358 + バーLED = 温度計。今が旬(季節ネタ)。
マイコンを使わない工作です。電子工作初心者でも作れると思います。


温度計を作る

ある日の開発風景
夏真っ盛り→暑い→気温が気になる→温度計を作ろう。※ネタ出し完了。

ガラス管+液体のオーソドックスな温度計は、1mも離れると見づらくなります。
マイコン+LCDの温度計はズバリ数字表示ですが、どのくらい暑いのか直感的に分かりにくいです。
少し離れていても見やすく、直感的に暑さが分かる温度計を作ることにしました。ガラス管の温度計のようにバーLEDが伸び縮みするようなものはどうでしょう。

【関連記事】 マイコンとLCDを使った温度計。
AVR ATmega88 A/Dコンバータ応用例 温度計

主要部品について
ディスプレイドライバ LM3914

このディスプレイドライバのシリーズにはLM3914/3915/3916があり、温度計にはリニアスケールのLM3914が向いています。
詳しくはこちら↓
ディスプレイドライバ LM3914/LM3915/LM3916について

図は最小値を0Vとし、3Vフルスケールに設定した例です。
0VでLED全部消灯、3Vで10個全部点灯。リニアスケール(等間隔)なので入力が0.3V上昇するごとにLED点灯が1個増えます。
3V以上入力しても壊れはしません。

このシリーズのIC 3種は、フルスケールとする電圧より2V以上高い電源を用意する必要があります。この例では電源に5V必要ということです。※詳しくは上記リンク先を参照。
逆に電源がUSB給電(5V)なら、フルスケールとする電圧は3Vまでということになります。

このシリーズのIC 3種はまた、下限の電圧を設定することもできます。仮に1Vと設定すれば、入力信号1V〜3Vの範囲でLEDを点灯させることができます。これを利用し、温度計として任意の10℃幅でLED 10個を点灯させるようにしています。※10「℃」文字化けするかな? 10「度」。

温度センサー LM61

温度センサーは、温度に対して直線的に出力電圧が変化する物を選びます。気温の測定範囲で出力電圧が1.2V以上あればディスプレイドライバLM3914に直結できます。出力電圧が小さい場合はOPアンプで増幅してからLM3914に入力することになります。

今回の製作ではLM61BIZを使いました。
LM61の出力は温度0℃で600mV、1℃につき10mV変化します。
マイナスの温度も測れます。
 Vout(mV) = 600(mV) + 10(mV/℃) * T(℃)

【例】
-5℃ → Vout = 600 + 10 * (-5) = 550(mV)
20℃ → Vout = 600 + 10 * 20 = 800(mV)
35℃ → Vout = 600 + 10 * 35 = 950(mV)

OPアンプ LM358

ディスプレイドライバLM3914(/3915/3916)には1.2V以上の信号を入力する必要があります。温度センサLM61の出力は、温度計として使う限り最大1000mV(1V)程度です。この電圧を1.2V以上に増幅するため、OPアンプを使います。

今回の製作ではLM3914を3Vフルスケールで使うことにし、OPアンプの増幅率を3倍にします。
 非反転増幅回路
 Vout = (1 + Rf / Rg) * Vin = (1 + 2kΩ / 1kΩ) * 1V = 3V

動作テスト
温風/冷風をあてて動作テストしている様子です。
温度センサーに温風をあてると出力電圧が上昇し、バーLEDが伸びます。冷風をあてると逆の動作をします。


実験の様子。
付箋紙は風が出ていることを示すため。


回路図と配線図
回路図

設計中のメモ書きを敢えて残しました。
電源電圧は5V。PCからのUSB給電や、USB-ACアダプタで動作します。

表示できる温度の範囲は2個の半固定抵抗VR2,VR3で設定します。
可変抵抗VR1による分圧で基準電圧を作り、LM3914へ入力し、電圧計で測りながらVR2,VR3を調整します(これで校正とします)。LM61の出力と基準電圧はジャンパーピンJMPで切り替えます。
VR1の分圧点やLM61の出力点に直接電圧計をあてると、電圧計のインピーダンスの影響により本来の電圧が微妙に変化してしまうので、ボルテージフォロアを通した先で電圧計をあてるようにしています。
※詳しくは「LM3914/LM3915/LM3916と両電源、仮想GNDとレールスプリッタ」の後半を参照。

ところでVR1で電源電圧5Vを分圧しますが、校正に必要な範囲は600〜1000mV (0.6〜1V)です。VR1の回転角の前半1/5のみ使用することになり、大変調整しづらくなります。※ほんのわずかに回転させただけでも100mVくらい変化してしまう。
そこでVR1の前後に適当な値の抵抗を挿入し、回転角に対する電圧の変化量を抑えるよう工夫します。挿入する抵抗の具体値は、VR1=10kΩならば4.7kΩと47kΩがお勧めです(回路図中【A】のパターン)。VR1の回転角全体が380〜1190mVに対応することになり、グッと調整しやすくなります。

LEDはお馴染みの3色バーLEDがお勧めです。温度計にピッタリの配色です。ただし、回路図の向きに合わせて配線すると緑-黄-赤の並び順が逆になってしまうので(低位側が赤、高位側が緑になってしまう)、基板実装時に配線を工夫する必要があります。下記配線図を参考にして下さい。

LEDの明るさは抵抗R3で決まります。好みによりますが4.7kΩで実用十分な明るさです。値を小さくすると明るくなります。数kΩで決めてください。

LEDで表示する温度の上限は半固定抵抗VR3で調整します。この抵抗の値は回路図の通り10kΩにしてください。
下限は半固定抵抗VR2で調整します。

配線図

青線はスズメッキ線。基板ウラ面で配線します。
緑線は被服線(ラッピングワイヤ,UEW)。基板ウラ面で配線します。
赤線はジャンパー線(スズメッキ線)。基板オモテ面で配線します。
隅の短い赤線,青線は電源ラインVCC,GNDの目印として描いたもので、配線とは関係ありません。
最外周のL字ラインがVCC、1列内側のL字ラインがGNDです。

ICの向きに注意してください。OPアンプLM358(8ピン)は1番ピンが図の上側です。
バーLED(20ピン)とディスプレイドライバLM3914(18ピン)は1番ピンが図の下側です。※バーLEDは欠けている角が1番ピン。



よく見るとOPアンプ横の抵抗の個数が配線図と違います。帰還抵抗Rfの2kΩが手持ちになく、1kΩ 2個を直列にして代用しているためです。
あまり誤差を気にせず、気楽に作っています。
バーLEDの配線順序も要注意です。基板ウラ面の配線図と写真を参照。
手順1.穴番号5番の縦のスズメッキ線(青線)をハンダ付けします。
手順2.穴番号9番の縦のスズメッキ線(青線)をハンダ付けします。
手順3.横10本の被服線(緑線)をハンダ付けします。
逆の作業順にすると手詰まりになります。

温度範囲を設定する

LEDで表示する温度の範囲を設定します。LEDが10個あるので温度範囲を10℃にすると分かりやすくなります。
この温度計の仕様としては任意の温度範囲を表現できます。例えば20℃の範囲を設定すればLED 1個が2℃の温度差を表すことになります。
ここでは「26〜35℃」に設定してみます。

設定中の様子


1-1.
ジャンパーピンを[1-2]間に刺します(1-2ショート)。

1-2.
ボリュームVR2/VR3を左端まで回します(0Ω側)。

1-3.
測定ピンに電圧計をあてます()。上記写真参照。

2-1.
ボリュームVR1を左右に回し、950mVに調整します。
表示範囲の上限35℃を決めています。※電圧は「およそ」で構いません。

2-2.
LEDは10個全部点灯しているはずです。
最上位のLED(10個目)がギリギリ消え始める位置までボリュームVR3を回します。

3-1.
ボリュームVR1を左へ回し、860mVに調整します。
表示範囲の下限26℃を決めています。※電圧は「およそ」で構いません。

3-2.
ボリュームVR2を回すとLEDが1個ずつ消えていきます。
最下位のLED(1個目)だけが点灯する位置までボリュームVR2を回します。
このとき電圧計の値が860mVから若干ずれるかもしれません。
ボリュームVR1とVR2を微調整し、860mVでLEDが1個点灯する状態に合わせてください。※電圧は「およそ」で構いません。

4-1.
動作確認のためボリュームVR1を右へ回し、電圧を上げます。
約950mVでLEDが10個全部点灯しましたか?

4-2.
正常動作を確認したら、 ジャンパーピンを[2-3]間に刺します(2-3ショート)。
この状態で入力元が温度センサーLM61に切り替わり、温度計は本番動作しています。



設定完了。
LEDの点灯状態は33℃を示している。
ガラス管の温度計と一致している。

使用中の様子
いずれも東京、窓を開けた部屋、机の上。LEDの表示はガラス管の温度計が示す気温と一致しています。


2011年8月17日15時 気温34度 晴れ 2011年8月18日0時 気温31度 晴れ 2011年8月21日13時 気温28度 雨


USB-ACアダプタで使用中。
基板に足(スペーサー)を付けてスタンド風にしてみました。
ケースに収めたり、電源ケーブルを背面側から接続できるようにすると、見た目もよくスッキリします。
PCの5インチベイに組み込んでも面白いかもしれません。

電源線として使っているUSBケーブルは、100円ショップで売っている「USB延長ケーブル」「USB変換ケーブル」などの片側を切断したものです。
中の線は赤=VCC黒=GNDです。は使わないので、それぞれテープでくるむなど絶縁処理してください。

部品について
基本部品
OPアンプは単電源で動作するものを使います。安価で入手性がよいLM358が定番です。

温度センサは、記事に書いたように出力電圧が直線的に変化するものを選びます。
調整のしやすさを考え、「1℃あたり10mV」など切りのよい変化量のものがよいでしょう。
マイナスの気温が測れなくても構わないなら、入手性がよく安価なLM35もよいと思います。

ディスプレイドライバLM3914は最近では入手性がよくなりました。探し回る苦労はないでしょう。
秋月電子=150円、千石電商=300円、共立エレショップ=350円、など。(2011/08現在)

OPアンプの非反転増幅回路を構成する2つの抵抗R1,R2には、酸化皮膜抵抗(誤差1%品)を推奨します。
…ですが、それほど正確さにこだわる工作でもないので、気にせず炭素皮膜抵抗でよいです。
※記事中で紹介している製作物は炭素皮膜抵抗を使っています。「動作の様子」の通り、気になるほどの誤差は出ません。

半固定抵抗は頻繁にいじると緩くなり、壊れやすくなります。また、細いマイナスドライバーのような調整棒が必要で、その意味で調整しにくいです。思い切ってボリューム(可変抵抗。ツマミを付ける)に取り替えてもよいかもしれません。
その場合、小さな基板に全体を乗せることはできなくなりますが、ケースを加工して立派な温度計を作ってください!

LEDアレイは3色タイプでなくとも、好みの色で構いません。バーLEDでなく個別のLEDを10個並べてもよいです。

あまり頻繁にいじる箇所ではありませんが利便性を考え、ピンヘッダとジャンパーピン(JMP)を1回路2接点(on-on型)のスイッチで置き換える案もあります。

オプション部品
記事に書いたように、温度範囲の設定をやりやすくするため、VR1の両端に抵抗Ra,Rbを付けることをお勧めします。
値を間違えないようにしてください。Ra=[よん てん なな]kΩ,Rb=[よんじゅうなな]kΩ です。

ICソケットの対応は、8ピン=OPアンプLM358,18ピン=ディスプレイドライバLM3914,20ピン=バーLED です。
特にバーLEDの取り付けをICソケットにしておくと、別の色に交換して楽しむことが簡単にできるようになります。


LM3914とLM61を使用した温度計 部品一覧 (回路図はここをクリック
部品名 部品番号 個数 参考価格/備考
OPアンプ U1 LM358 1 5個100円(秋月電子
温度センサ U2 LM61 1 4個200円(秋月電子)
ディスプレイドライバ U3 LM3914 1 150円(秋月電子)
積層セラミックコンデンサ C1,C2 0.1uF [104] 2 10個100円
金属皮膜抵抗 R1 1kΩ [茶黒黒茶茶] 1 1個10円
金属皮膜抵抗 R2 2kΩ [赤黒黒茶茶] 1 1個10円
抵抗 R3 4.7kΩ [黄紫赤金] 1 1個5円/100個100円
半固定抵抗 VR1-VR3 10kΩ [103] 3 1個50円
LEDアレイ(LED 10個分) LED_Array 3色バーLEDなど 1 150円(秋月電子)
ピンヘッダとジャンパーピン JMP 3ピン 各1 入力切替スイッチとして
ピンヘッダ -- 1ピン 2 電圧計をあてる端子として
オプション
抵抗 Ra 4.7kΩ [黄紫赤金] 1 VR1調整補助
抵抗 Rb 47kΩ [黄紫橙金] 1 VR1調整補助
抵抗 R1 1kΩ [茶黒赤金] 1 金属皮膜抵抗と取り替え
抵抗 R2 2kΩ [赤黒橙金] 1 金属皮膜抵抗と取り替え
電源コネクタ -- -- 1 お好みで
ICソケット -- 8ピン,18ピン,20ピン 各1 お好みで
※単に「抵抗」と書いてあるものは全て炭素皮膜抵抗(カーボン皮膜抵抗)のことです。


◆ ◆ ◆
ガラス管の温度計の液が上下するのと同じようにバーLEDが上下する、
その様子が面白いです。暗い場所でもよく見えます。


(C) 『昼夜逆転』工作室 [トップページへ戻る]
inserted by FC2 system