■ ATmega88PをRTC化 4桁LED 時計+温度計の製作 ■


 近年のワンチップマイコンには、EEPROM(電気的に書き換えが可能なROM)が内蔵されるようになり、バッテリーによるメモリーのバックアップも必要性がなくなりました。
 しかし、時計機能を保持するには、マイコンを動作させ続けるか、RTC(Real Time Clock)モジュールを別に搭載しなければなりません。
 これまでのワンチップマイコンでは、消費電力も大きいので、長時間動作を保持させるには、大容量のバッテリーが必要でした。
 
 時代は省エネの流れのようで、AVRマイコンにも、型番の最後に(P)の付いた、ピコパワータイプが主流になっており、下記のような利点があります。
  ○通常動作時の消費電力を低減。(3/4〜1/2程度)
  ○スリープ動作時の消費電力を低減。
  ○スリープ動作中の漏れ電流が100nA未満。
  ○非常に低電力な、時計用32.768kHzクリスタル発振回路を搭載。

 
 そこで、流通量が増えてきたATmega88Pを、電源が切れた場合にRTC化させて、取扱が簡単な「電気二重層コンデンサ」で、長時間のバックアップが可能な、デジタル時計を製作してみました。
 これで、もうRTC(Real Time Clock)モジュールは不要です!


回路の解説
 
1.電源回路

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

2.AVRとクロック
 
 ・AVRマイコンは、ATmega88P-20PUを使用し、動作クロックは、1MHzの内蔵RC発振器を使用
  しています。
 ・時計用32.768kHzクリスタルを、Timer2の発振回路に使用し、時刻をカウントする1Hzを得ています。
 ・20PFのトリマーコンデンサで、1日の誤差を見ながら、日差を修正して下さい。
 
 ・オプションで、「超高精度クリスタルモジュール12.8MHz」も使用することができます。
  (時計精度は向上しますが、クリスタルモジュールの消費電力が大きいため、バックアップ時間は
   極端に短くなります)
  (プログラムの変更も必要です。現在は未対応)

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

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

4.LED表示回路
 
 ・AVRがスリープ動作に入るため、LEDのドライブ回路は、すべて (L) アクティブです。
 ・よって、7セグメントLEDは、アノードコモンタイプを選択し、高輝度のPARA LIGHT社
  A-551SRD(赤)やA-551UB(青)を推奨します。
  (別型番のLEDを使用する場合は、セグメントの電流制限抵抗を調整して下さい)
 ・コモン(COM)のドライブは、PNPトランジスタでドライブしています。
  (別型番のLEDを使用する場合は、ベース電流の抵抗値も考慮して下さい)
 
LN516RA TUR363 A-551SRD
(赤)
A-551UB
(青)
 

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

6.温度測定回路
 
 ・温度の測定は、回路が簡単な、専用の温度センサーIC (LM61BIZ) を使用しています。
 ・温度の測定には、A/Dコンバータの基準電圧を1.1Vで使用しているため、上限が+50℃までに
  制限されます。
 ・下記LM61CIZも使用できます。
   LM61BIZ -25℃〜+85℃ ±3℃
   LM61CIZ -30℃〜+100℃ ±4℃

7.操作スイッチ回路
 
 ・スライドスイッチで、5V電源を遮断することができます。
 ・表示操作は、汎用のタクトスイッチを、基板上に取り付けることができます。



回 路 図  GIF版 M88PcktCir.gif (196KB)  PDF版 M88PcktCir.pdf (277KB)

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

プログラム  テキスト形式 ソースファイル  M88Pckt102.TXT (42KB)
 BASCOM-AVR用 ソースファイル  M88Pckt102.bas (42KB)
 インテルHEX形式 オブジェクトファイル  M88PCKT102.HEX (11KB)
 
 ◎BASCOM-AVR試用版の場合は、[Options]→[Compiler]→[Output]の、[Optimize code]に
   チェックを入れて下さい。
 
 注意! 著作権は放棄しておりませんので、販売目的での使用は絶対にしないで下さい。




 
基板 前面

 
 基板 後面

 
プリント基板 (Rev.1)

 
基板 部品面

 
基板 ハンダ面


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



製作について
 
部品表は、部品の背が低い順に記載してありますので、この順番に取り付けて行きます。
 
・ジャンパー線は、すずメッキ線や、被覆電線を使用して下さい。
・1/4W抵抗器は、4目 (2.54X4 = 10.16mm) ピッチで両端を折り曲げて取り付けます。
・1/6W抵抗器は、2目 (2.54X2 = 5.08mm) ピッチで両端を折り曲げて取り付けます。
 (オプション未使用時は、オプション部品をいっさい取り付けないで下さい)
・セラミックコンデンサと積層セラミックコンデンサは、2.54mmピッチの物が取り付け可能です。
・電解コンデンサは、背が高いため、横に寝かせて取り付けます。 (極性に注意して下さい)
・トリマーコンデンサは、取付方向に指定はありません。
・ショットキー・ダイオードは、3目 (2.54X3 = 7.62mm) ピッチで両端を折り曲げて取り付けます。
・トランジスタと温度センサーICは、部品配置図の向きに合わせて取り付けて下さい。
・CDSは、高さと向きを、用途に合わせて考慮して下さい。
・32.768kHzクリスタルは、横に寝かせた状態で、両面テープや接着剤で固定すると安定します。
・ICソケットは、必要に応じて取り付けます。(AVRマイコンを、直接ハンダ付けすることも可能です)
・電気二重層コンデンサは、発熱を考慮し、基板から2mm以上浮かして下さい。
 (極性に注意して下さい)



操作方法
 
1.電源投入
 
 ・電源が投入されると、4桁のLEDに現在のプログラム・バージョンが、下位桁を点滅しながら
  表示されます。
  (初めての電源投入時と、電気二重層コンデンサの容量が無くなった場合に表示されます)
 ・[SW2] を押すと、時刻設定がすべて0の状態で、時計動作に入ります。
 
 ・バックアップ状態からの電源再投入は、電源が遮断される前の状態で動作開始します。
 ・電気二重層コンデンサは、半日ほど充電することで、1週間のバックアップを確認しています。
  (充電所要時間と、さらに長時間のバックアップ期間は確認中です)
 
※ 追記

 ・長時間のバックアップテストで、16日間のバックアップに成功しました。
 ・電気二重層コンデンサの電圧が1Vを切ったところで、AVRが停止したようです。
 
 ・2.7Vを切ったのが7日目、1.8Vを切ったのが12日目だったので、少なくとも1週間〜10日間は
  保証できそうです。

 
2.表示の切り換え操作
 
 ・スイッチの操作により、下記のように表示が切り替わります。
 
スイッチ番号 表示内容 (同一スイッチで左右の動作が切り替わります)
SW1 表示ON 表示OFF (D.P.(小数点)のみが点滅します)
SW2 [時分]  [分秒]
SW3 [月日] 8秒間 [時分] 表示 + 2秒間 [月日] 表示
SW4 [温度] 8秒間 [時分] 表示 + 2秒間 [温度] 表示


時刻 (24時間制)

時刻 (12時間制)

日付

温度

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

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

 
4.1.1V基準電圧の校正モード
 
 ・A/Dコンバータ用の、内蔵1.1V基準電圧は、AVRチップにより1.0V〜1.2Vの範囲の誤差が
  あります。
 ・この誤差は、温度表示に影響が出ますので、プログラムで校正をすることで、温度表示の誤差を
  少なくすることができます。
 
 ・[SW1] と [SW4] を同時に押すことで、基準電圧の校正モードに入ります。
 ・LEDに [r1.XX] が表示され、下位桁が点滅します。
 ・この状態で、基板ハンダ面の [Ref TP](AVRの21ピン)と [GND] 間の電圧を測ります。
 

 ・測定した電圧値(1.00V〜1.20V)を、[SW3][SW4] で設定して下さい。
 ・[SW2] を押すと、設定が終了します。
 
 ・この設定値は、内蔵EEPROMに記憶されますので、バックアップが切れた後も残されています。



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



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