PIC版 2色時計の製作 (2007/9/15〜9/20)

(Last update:07/09/20)


LED 部表。
LED が意外と大きい ^^;
LED 部裏。
手配線ではかなり辛い ><
メイン基板表。
LED の輝度は集合抵抗 (?) を交換して
調整可。(30〜75Ωぐらいが適当)
メイン基板裏。
ロジック回路用基板を
使っても楽した気がしない ^^;
LED 基板との結合部
ケーシングの様子。
前面パネルは全面スモークのアクリル板で、
操作スイッチは背面へレイアウト
AM は緑、PM は赤で表示
回路図

きっかけ

 2004年夏に秋月の2色時計キットを製作。光モノ好きとしてはケース加工も含めて気合を入れて製作したのだが、結局 IC 不良で完動せず・・・。既に IC はディスコンで入手できず、泣く泣くお蔵入りを余儀なくされていたのだが、2色時計というコンセプトが印象深く、何らかの形で復活させようと機会を窺っていた。

 2007年夏、遅まきながら PIC を使い始めたこともあり、PIC 関連のサイト記事をサーフしていたところ、お題に応用可能な先人の知恵を発見したため、2色時計というコンセプトはそのままに、PIC を使って無理矢理復活(何が無理矢理かは下記参照)。


元ネタ

 元ネタはこちら(作者さんに感謝)。決め手となったのは、2色時計に必須の AM/PM 信号が出ているという点。プログラム自体はほぼオリジナルのまま使用しているが、以下の点で異なる。

 (1) オリジナルの 7セグ LED はカソードコモンだが 2色 LED はアノードコモン。そのため LED アレイ選択信号と LED セグメント選択信号との結線を入れ替える。
 (2) 2色 LED に対応するため、AM/PM 信号と LED アレイ選択信号から NAND ゲートを使って LED アレイ選択信号を作り直す。
 (3) アラーム機能は使用しないので、ブザーや FET は未実装
 (4) 24時間制でも AM/PM 信号が出るようプログラムを一部修正
 (5) 停電復帰表示はコロン LED を橙色(赤と緑の同時発光)で点滅するようプログラムを一部修正

 どうせなら (1) と (2) もソフトウエアを書き直して対応すれば ? との突っ込みも聞こえてきそうだが ^^; 、案外面倒くさそうだったので、敢えてハードウエアで対応したところが「無理矢理」なのデス ^^;


回路設計

 オリジナルでは LED セグメント選択信号は H レベルで Active となるが、2色 LED はアノードコモンだから信号を反転してシンクドライブする必要がある。ここは実装の容易さも考えて一般的なトランジスタアレイで反転する。

 一方、LED 選択信号の処理はやや面倒。午前と午後で 2色を使い分けるため、AM/PM 信号と LED 選択信号(いずれも H で Active)とで AND を取る必要がある。またアノードコモン LED をドライブするためには 100mA 以上の電流を LED へ吐き出してやらねばならない。そこで NAND ゲートを使って PNP トランジスタをドライブすることに。この際、各 LED アレイには定格 20mA x 7 セグメントで最大 140mA 程度流れることになるため、Ic = -150mA の 2SA1015 ではやや役不足。そこで手持ちの PNP トランジスタの中から Ic = -500mA の 2SA854 を選択。

 またコロン表示も 2色に対応させる必要がある。カソードコモンの 2色 LED を使うことで AM/PM 信号が直結できて手間が省けるが、カソード側はコロン信号が H で Active なため、余ったトランジスタアレイで反転ドライブする。

 電源は手持ちの 5.8V 500mA の携帯充電用の AC アダプタを使用することに。この程度の電圧差なら通常の整流用ダイオード2本を使い、順電圧降下を利用して電圧を下げてもいいのだが、将来的に別の AC アダプタを使うことも考えて、低ドロップレギュレーターで 5V に降圧することにした。消費電流を測定してみたところ、200mA 未満だったので、損失はせいぜい 0.8(V) x 0.2(A) = 0.16(W) だから放熱器も特に必要はない。


今回の失敗

 動作確認中、うっかり Vcc に 10V を入れてしまい、PIC や CMOS ロジックが昇天・・・ ^^;  ってか毎回必ず1つは PIC を焼き殺しとるな・・(爆)。なにぶん最終仕上げ前だったので 3端子レギュレータを入れていなかったのが敗因なのだが、そもそもこの手のものには 5V 固定の電源を使用するべきであった・・(汗)


最後に

 というわけで、ソフトウエアで対応できるものを無理矢理ハードウエアで変更すると案外大変、というよい見本になったわけだが(汗)、個人的には頭の体操になって楽しめた^^;。

 ま、LED 部は取り外しできるように作ったので、いずれゼロから書き直したファームを装着したメイン基板に交換したいところ。PIC16F873A のままでもアラーム機能を削れば 2色 LED アレイ選択信号の 8 ポートが確保できるので、いい勉強になりそうな予感 ^^;

 またこの時計にはワンタッチで時刻を 0分にする非常に便利な機能がある。そこで秋月の電波時計キットから、時や日が繰り上がる際に発生する信号を貰えば自動補正も可能なので(回路図参照)、いずれ対応する予定。


 [電子工作のページへ]