100V出力付きデジタル時計

製作:2007年3月~7月
執筆:2015年11月7日
追記:2020年10月17日
全景 電子工作をするなら誰もが一度は経験する時計の製作。 中学生の時にエレキットのアラームトリガー付き時計にリレーをくっつけて100Vのコントロールができる時計を作ったことはあるのですが、かなり昔に壊れたので捨ててしまいました。 フリスクタイマーを作った時に買った32kHzの水晶が余っていたので、SSRで100VをON/OFFする時計を製作しました。

電子工作の定番

エレキットの真空管アンプとCDプレーヤーを目覚ましに使いたいと思い、昔作ったエレキットのアラーム時計をインターネットで検索していたのですが、あいにくディスコンになっていたのでPICを使って一から作ることにしました。

欲しい機能は以下の通りです。
100VをONにした後の再生ボタン操作は結構見落としがちで、電源が入っても再生が始まらないという悲しい状態にならないように、外部信号を出力するトリガを付けないといけません。

回路の概要

表示部は7セグメントLEDとプッシュスイッチに内蔵されたLEDをダイナミック点灯させています。 スイッチのLEDにつながっているダイオードは、スイッチ内蔵LEDの耐逆電圧が0.5Vと非常に低くLEDが焼き切れることがあったため保護用として挿入しています。

100Vの出力は秋月で売っていた15Aまで流せるSSRを使っています。小さなアルミケースの内側に固定するので発熱するほどの電流を流すことはできませんが、製作後のテストでは700Wの電気ポットをつないでもほとんど発熱しませんでした。

トリガー出力はフォトカプラでアイソレートしたオープンコレクタ型の構成です。これは、受け側になるCDプレーヤーの再生ボタンがプッシュスイッチなので、スイッチと同じようにハイインピーダンスをシミュレートするためです。

ソフトウエア

ソースリスト Ver.1.01
LEDをダイナミック点灯させるために表示ループをぐるぐる回さないといけないわけですが、その間にも計時処理、アラーム時刻チェック、スイッチの状態チェックなどを挟まないといけないため、遅いクロックでは結構大変です。 表示のリフレッシュレートはおおよそ24fpsなので、流し目で見たり歯磨きをしながら見ると数字がプルプルしますね。

時刻の計測はTMR0を0.5秒間隔でオーバーフローさせてポーリングしています。これを作った時はまだ割り込みを使ったことが無かったのでポーリングするしかなかったのですが、今ならもう少し効率の良いプログラムが書けるかもしれません。

ケースへの組み込み

基板はタカチのYM-130にちょうど収まるサイズに作っています。表示部の基板は本体の基板と分離していて青いケーブルでつながっています。 右上に見える4センチ角のベーク基板はDocomoのガラケーの充電器をバラしたもので、小型ながら5Vに安定化されているうえにそこそこの電流が取れるのでとても便利です。

製作過程で苦労した点