■ SHT11 / DHT22 温度・湿度計 + 時計の製作 ■


 高精度な温度/湿度センサーSHT11 (SENSIRION) 、または安価なセンサーDHT22 (Aosong Electronics) を使用した、温度・湿度計付きのデジタル時計です。
 文字の大きなLEDを使用しているので、明るい室内でもよく見えます。
 ピコパワーのAVRマイコンATmega168Pを使用して、停電時でも「電気二重層コンデンサ」で、長時間の時刻バックアップが可能です。
 
  ○温度・湿度センサーを、SHT11またはDHT22に選定可能。
  ○時刻・温度・湿度の表示方法を、多彩に搭載。
  ○温度・湿度の最高値と最低値を記録。 (1日または長期)
  ○周辺の明るさにより、表示の輝度を自動調節。

  ○停電時または長期不在時にも、時刻を1週間以上バックアップ可能。
  ○RTC(Real Time Clock)モジュールは不要。
  ○表示OFF時は、消費電流が50μA。(DHT22は150μA)。
  ○シリアル出力を搭載し、パソコン等に測定データを送信可能。



回路の解説
 
1.電源回路

 
 ・5VのACアダプターから電源を供給します。
 ・バッテリーは、「電気二重層コンデンサ」を基板上に搭載しているので不要です。
 ・「電気二重層コンデンサ」は、メモリー効果もないので、部品の寿命まで交換の必要がありません。

2.AVRとクロック
 
 ・AVRマイコンは、ATmega168P-20PUを使用し、動作クロックは8MHzの内蔵RC発振器を使用
  しています。
 ・時計用32.768kHzクリスタルをTimer2の発振回路に使用し、時刻をカウントする1Hzを得ています。
 ・20PFのトリマーコンデンサで、1日の誤差を見ながら、日差を修正して下さい。
 ・周波数カウンターをお持ちの方は、下記「操作方法」の較正モードを使用して較正できます。
 ・使用する水晶によりXTAL2端子側に、0PF(取付無し)〜3PF程度のセラミックコンデンサが
  必要です。
  (トリマーコンデンサだけで32.768kHzに調整できない場合に必要)

3.バックアップ回路
 
 ・5V電源は、LEDのドライブ回路にのみ、直接接続されています。
 
 ・5V電源から、ショットキーダイオードで逆流を防止し、抵抗で電流制限をしてから電気二重層
  コンデンサに充電されます。
 ・上記の電源が、AVRマイコン部の主電源になります。

 ・外部電源の監視は、5V電源からショットキーダイオードと抵抗器で、電圧をAVRの主電源レベル
  にまで落とし、AVRのA/Dコンバータで電圧を計測しています。
 ・外部電源が遮断されると、AVRはすべてのポートを開放し、スリープ(パワーセーブモード)に
  移行します。
 ・32.768kHzクリスタル発振回路とTimer2は動作し続けるので、1Hz(1秒)の割り込みで再起動され、
  時刻のカウントのみをした後、再度外部電源を調べて、遮断状態ならば、またスリープ動作に
  入ります。
 ・外部電源が復旧した場合は、AVRをスリープ以前の状態に戻して、通常動作に戻ります。

4.LED表示回路
 
 ・4桁集合LEDを2個使用し、合計8桁のダイナミック点灯を行います。
 ・白と青のLEDを使用していますが、アノードコモンタイプの色違いに変更可能です。
  (色によりVF(順方向電圧)が違いますから、電流制限抵抗を調整して下さい)
 ・標準では電流制限抵抗を10Ωにして、明るい室内でも見える輝度にしてあります。
 ・常時暗い部屋で使用する場合は、電流制限抵抗を51Ω程度に変更して下さい。

5.LEDの輝度調整(ディマー)回路
 
 ・周囲の明るさを感知するために、CDSを使用しています。
 ・CDS回路の電圧値をA/D変換し、LEDのコモン(COM)信号のパルス幅を、Timer0のPWM動作で
  調整しています。 (0.5秒周期で更新)
 ・CDSに並列接続してある半固定抵抗器で、暗さに対する感度調整が行えます。
 
 ・自動輝度調整(ディマー)が不要な場合は、CDSのみを取り外すことで、半固定抵抗器が
  輝度設定に使用できるようになります。

6.温度湿度センサー
 
 ・SHT11とDHT22は、外形もピン配置も異なりますが、基板上にはどちらでも設置可能な様に、
  端子が2列用意してあります。
   (接続位置を間違えると、センサーが故障しますので注意して下さい)
 ・センサーの種別は、「機能設定」で選択します。 (下記操作方法を参照)
 ・SHT11は、1秒間隔で温度と湿度を交互に測定します。
 ・DHT22は、2秒間隔で温度と湿度を同時に測定します。
 ・センサーとはデジタルデータで通信しますので、距離を10m程度まで延長することができます。
  (ツイストペア線やシールド線を使用して、ノイズ対策を行って下さい)
 ・センサーの詳細については、「デジタル 温度&湿度センサー SHT11・DHT22 を制御する」を
  参照して下さい。

7.操作スイッチ回路
 
 ・押しボタン式の汎用タクトスイッチを、基板上に取り付けできます。
 ・ケースに合わせて、任意のスイッチを選択して下さい。

8.シリアル出力
 
 ・測定したデータを、「時刻_温度_湿度」の順にUARTでシリアル出力します。
 ・送信間隔は、1秒と1分で選択が可能です。
 ・出力はロジックレベルなので、「RS-232C変換」や、「FT232RL USBシリアル変換モジュール」で、
  パソコン等のターミナルに連続表示することができます。
 ・UARTの通信パラメータは、下記の値で固定です。 (プログラム内で変更可能)
   9,600ボー、パリティー無し、データ・ビット 8、ストップビット 1
 
 ・USBシリアル 変換モジュール[AE-UM232R]を装置内に組み込む場合は、[USB POWER]を
  使用しない接続にして下さい。
回 路 図  AE-UM232R_Int.gif 

9.外部制御入力
 
 ・外部からのロジックレベル入力です。
 ・現在は未使用です。



回 路 図  GIF版 THclock_Cir.gif (124KB)  PDF版 THclock_Cir.pdf (276KB)

部品配置図  GIF版 THclock_Pcb.gif (114KB) 部品表
アートワーク  GIF版 THclock_AW.gif (62KB)  
   注意! この図面を使用した、いかなる損害にも責任を負いません。

プログラム  テキスト形式 ソースファイル  THclock102.TXT (87KB)
 BASCOM-AVR用 ソースファイル
 (BASCOM-AVR(製品版)が必要です)
 THclock102.bas (87KB)
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。

       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)



 
側面

 
背面

SHT11

DHT22
 動画

 
プリント基板

 
基板 部品面

 
基板 ハンダ面

 
LEDかさ上げ基板
の取付

 
センサーの取付

  USBシリアル変換モジュール 部品面
 
USBシリアル変換
モジュール取付
  
 
スイッチのかさ上げ (ICソケット)

USBシリアル変換モジュール ハンダ面


AVRマイコン ATmega168の、ヒューズ ビット書き換え
 
今回の製作では、ヒューズ ビットを工場出荷状態のまま使用しますので、変更の必要はありません。



製作について
 
部品表は、部品の背が低い順に記載してありますので、この順番に取り付けて行きます。
 
・ジャンパー線は、すずメッキ線や、被覆電線を使用して下さい。
・1/4W抵抗器は、4目 (2.54X4 = 10.16mm) ピッチで両端を折り曲げて取り付けます。
・1/6W抵抗器は、3目 (2.54X3 = 7.62mm) ピッチで両端を折り曲げて取り付けます。
 (常時暗い部屋で使用する場合は、電流制限抵抗を10Ωから51Ω程度に変更して下さい)
・セラミックコンデンサは、2.54mmピッチの物が取り付け可能です。
・積層セラミックコンデンサは、5.08mmピッチの物が取り付け可能です。
・電解コンデンサは背が高いため、横に寝かせて取り付けます。 (極性に注意して下さい)
・トリマーコンデンサは、取付方向に指定はありません。
・半固定 抵抗器は、コパルCT-6EPや秋月3362P-1-104LFなどが取り付け可能です。
・ショットキー・ダイオードは、3目 (2.54X3 = 7.62mm) ピッチで両端を折り曲げて取り付けます。
・32.768kHz水晶は、横に寝かせた状態で、両面テープや接着剤で固定すると安定します。
・ICのTD62783APとNJU3711Dは、取り付ける向きに注意して下さい。
・ICソケットは、必要に応じて取り付けます。(AVRマイコンを、直接ハンダ付けすることも可能です)
・電気二重層コンデンサは、発熱を考慮し基板から1mm以上浮かして下さい。
 (極性に注意して下さい)
・CDSは、ケースに合わせて高さを調整して下さい。
・タクトスイッチは、押しボタン式の汎用タクトスイッチを、基板上に取り付けできます。
 (ケースに合わせて高さを調整する、または任意のスイッチを選択して下さい)
・7セグメント 4桁LEDは、LEDの下に抵抗器が入りますので、LEDかさ上げ基板またはプラ板
 (44x5xt1mm 2枚)で浮かせて取り付けて下さい。
・温度湿度センサーは、SHT11とDHT22のどちらかを選定して下さい。
 基板上に取り付ける場合は、センサーの端子にピンソケットを使用し、取付穴のスペーサーの
 高さを11mmにして下さい。(10mm六角スペーサー+平ワッシャー2枚)
 (接続位置を間違えると、センサーが故障しますので注意して下さい)
 センサーとの距離を、10m程度まで延長することができます。
 (ツイストペア線やシールド線を使用して、ノイズ対策を行って下さい)



操作方法
 
1.電源投入
 
 ・初めての電源投入時と、電気二重層コンデンサの容量が無くなった場合は、2011年1月1日0:00
  から時刻がスタートします。
 ・パワーオンでリセットが働かない場合は、ISP端子の5ピンと6ピンを一瞬だけショートさせて下さい。
  (ハードウェアのリセットが働きます)
 
 ・停電時や長期不在時に電源を切っても、時刻はバックアップされます。
 ・電気二重層コンデンサは、半日ほど充電することで、1週間のバックアップを確認しています。
  (充電所要時間と、さらに長時間のバックアップ期間は確認中です)
 
 ・センサーの交換は、電源を切った状態で行って下さい。

  エラー表示
 
 ・「Err1」: センサーが接続されていない、または機能していない。
   SHT11またはDHT22の、接続と選択(機能設定モード)を確認して下さい。
 ・「Err2」: センサーとの通信にノイズ等の影響があった、またはデータ線[DATA]が[L]レベル。
   ケーブル等のノイズ対策を行って下さい。 データ線[DATA]を確認して下さい。
 ・「Err3」: 温度と湿度の変換中に、SHT11との通信が途絶えた。
   SHT11の故障やケーブルの接触不良を確認して下さい。

 
2.表示の切り換え操作
 
 ○ [SW1] 表示 ON/OFF
 
  ・スイッチを押すたびに、表示のON/OFFが切り替わります。
  ・表示をOFFにすると、消費電流が50μA(DHT22は150μA)にまで下がります。
   (表示OFF中は、温度湿度の計測とシリアル出力も停止します)
   (センサーには通電されているので、表示ON直後の計測データは安定しています)
  ・表示OFF中に電源が切れた場合でも、バックアップは続行されています。


 ○ [SW2] 表示選択
 
  ・スイッチを押すたびに、下記の内容で表示が切り替わります。
  ・表示内容は、1秒間隔で更新されます。
  ・「温度と湿度を交互表示」で、各値の表示時間は「機能設定」で変更が可能です。
 
表示順序
上段のLED 時.分 時.分 時.分 時.分 温度値 ℃
下段のLED 温度と湿度を
交互に表示
温度値 ℃ 湿度値 % 湿度値 %
画 像


 ○ [SW3] 日付・最高値・最低値
 
  ・スイッチを押すと、[月日] ・ [温度の最高値・最低値] ・ [湿度の最高値・最低値]が表示され、
   次に「表示選択」で選択されていた元の表示に戻ります。
  ・[月日]は5秒経過すると、自動的に元の表示に戻ります。
   (日付だけを見る場合に[SW3]を一度だけ押すと、5秒間表示して元の表示に戻ります)
  ・[SW2]表示選択を押した場合も、元の表示に戻ります。
 
表示順序
上段のLED 時.分 温度の最高値 ℃ 湿度の最高値 %
下段のLED 月 日 温度の最低値 ℃ 湿度の最低値 %
画 像

 
3.12h/24h表示切換
 
 ・[SW2] と [SW3] を同時に押すと、時間表示を12時間制と24時間制に切り換えることが
  できます。
 ・この設定は、内蔵EEPROMに記憶されますので、バックアップが切れた後も残されています。

 
4.機能設定モード
 
 ・[SW1] と [SW2] を同時に押すと、各種の機能や動作を設定できます。
 
  設 定 項 目 表   示 設 定 内 容
温度・湿度の最高値と
最低値の初期化
Extr
0 : 自動で初期化をしない。
1 : 日付が変わった時点(0:00)で初期化する。
2 : 直ち(強制的)に初期化する。
温度・湿度を交互表示
の表示時間設定
 Ftim
sc
1〜20秒 (デフォルト:4秒)
フェードイン後からフェードアウトする間の時間
シリアル出力の間隔 Sout
sm
1 : 1秒
2 : 1分
センサーの種別 Sens
tp
1 : SHT11
2 : DHT22
 
 ・[SW2] で、設定値が増加します。
 ・[SW3] で、設定値が減少します。
 ・[SW1] を押すと、次の項目に移ります。
 
 ・この設定は、内蔵EEPROMに記憶されますので、バックアップが切れた後も残されています。

 
5.時刻設定モード
 
 ・[SW1] と [SW3] を同時に押すと、時刻設定モードに入ります。
 
 ・時刻設定モードに入ると、下記の順に設定できる項目が点滅表示されます。
   (下位2桁) → 月 → 日 → 時 → 分 → 終了
 
  (年は、西暦2000年から2099年までの範囲で対応しています)
  
 ・[SW2] で、設定値が増加し、1秒以上押し続けると早送りになります。
 ・[SW3] で、設定値が減少し、1秒以上押し続けると早送りになります。
  
 ・[SW1] を押すと、次の項目に移ります。
 
 ・の設定が終わると、を00にして通常の表示に戻りますので、秒の単位まで合わせる
  場合には、00秒になった時に [SW1] を押します。

 
6.シリアル出力
 
・シリアル出力はロジックレベルなので、「RS-232C変換」や、「FT232RL
 USBシリアル変換モジュール」を経由して、パソコン等のターミナルに
 測定値を表示できます。
・通信の設定は、9,600ボー、パリティー無し、データ・ビット 8、ストップビット 1
 に固定です。
・出力の間隔は、「機能設定」の「シリアル出力の間隔」で、1秒と1分を選択
 できます。
・測定したデータは、「時刻 温度 湿度」の順にスペースを空けて出力
 されます。
・受信データをテキストファイルにして、エクセル等の
 ソフトで読み込むことができます。
 (ハイパーターミナルでは、テキストのキャプチャを
  参照)
・エクセルでは、簡単にグラフ化することもできます。

 
7.32.768KHz水晶の較正モード
 
 ・時計用32.768KHzクリスタルを較正するモードです。 (周波数カウンターが必要です)
 
.・左図のように、ISP端子の4ピンと6ピンに周波数カウンター
 を接続して下さい。
 
・スイッチ(SW3)を押したまま、ISP端子の5ピンと6ピンを
 一瞬だけショートさせて、リセットをかけて下さい。
・即座に水晶の較正モードに入ります。
・スイッチ(SW3)は離してけっこうです。
 
 ・周波数カウンター出力には、32.768KHzの半分の周波数で16.384KHzが出ます。
 ・20PFのトリマーコンデンサを回して、16.384KHzに近づくように調整して下さい。
 ・調整が終わりましたら、再度ISP端子の5ピンと6ピンを一瞬だけショートさせて、リセットをかけて
  下さい。



○パーツの参考資料
 ・プリント基板  「サンハヤト」 感光基板 40K ガラスコンポジット 片面 1.0tx75x100mm
 
◎ このプリント基板と、書き込み済みAVRを、実費頒布しております。
 
  基板・部品の頒布室



   電子工作の部屋 Top へ 前のページへ戻る