エントリー

aitendoの時計キットでかつてのLEDクロックを復活

  • 2014/09/02 16:06
  • カテゴリー:make:

 2010年頃の話ですが,大型の7セグLEDの,ラジオクロックを寝室用に買いました。

 当時はまだ高価だった青緑の発光色で電波時計でしたが,結構な値段だったのにいかにも中華品質という感じで,購入時からあまり良い調子ではありませんでした。

 ACアダプタの接触不良に始まり,電波時計の感度が低すぎる,あるいはどんなに頑張っても電波を受信しない,LEDが明るすぎて眠れないくらい,ラジオは周波数がずれるなど,不満だらけでした。

 その度に修理や改造を繰り返して,なんとか騙し騙し使っていたのですが,新居への引っ越しをしたときにどうしても時刻が自動修正されず,買い換えました。

 ただ,私には思い出深いものでしたから捨ててしまうのも惜しく,購入当時に高価だったことを「まあ青緑の大型LEDだしな」と納得したことを思い出して,この7セグLEDだけ残してあったのです。

 ところで,先日aitendoで時計のキットを買ってきて組み立てたことを書きましたが,この時計のLEDの輝度ムラがひどいことから,対策を考えていました。

 ここでピコーンと繋がるのですが,ならばこのaitendoの時計に,大型7セグLEDを取り付けてみようと思い立ちました。とはいえ,詳細を検討するとなかなか簡単にはいきません。

(1)7セグLEDの改造が必要

 この7セグLEDには,2つの改造が必要になります。

 まず,時計キットはダイナミックドライブですが,このLEDはスタティックドライブ用に端子が引き出されています。幸いどちらもアノードコモンだったので,そこは大丈夫です。

 まあ,スタティックドライブというのは要するに全ピン出ているということですので,適当にまとめれば良いだけですから,面倒という話以外はどうにかなります。

 ですが,次が問題です。

 このLEDは12時表示のため,時刻の10の桁が,「1」しか表示出来ません。ほかのセグメントはLEDが仕込まれていないですし,その上「1」だって2つのセグメントが内部ですでに繋がっています。

 aitendoの時計は24時表示なので,このままでは使えません。そこでLEDを改造しなければなりません。

 まず,LEDを分解します。するとLEDチップが直接ベークの基板にボンディングされています。むき出しです。おお!

 次に,時刻の10の桁の2つのセグメントを分離します。パターンを切るだけなのでそんなに難しいものではありませんが,なにせLEDがむき出しですので,触ったらもうアウトです。

 そして,LEDが取り付けられていないセグメントにLEDを用意して上げます。同じ色のチップLEDをマルツ電波で安く買えそうだったので調達し,1セグメントあたり2チップを接着剤でまず接着,固定できた頃に細いワイヤーで配線していきます。

 ここで私は勘違いをしたのですが,時刻の桁は1と2だけ表示出来ればいいので,左上のセグメントにはLEDは必要ないと思っていたのですね。これは正しいのですが,aitendoの時計キットを使う限り,誤りです。

 なぜ?それは,このキットがゼロブランキングを行わず,0の表示を行う仕様だからです。0を表示するためには,左上のセグメントも必要です。これに気が付いたのはLEDを組み立てて実際に光らせてからでした・・・なんとも鈍くさい話です。

 配線も完了し,基板とセグメントをはめあわせて元に組み立て直しますが,悲劇はこの時起きました。つい手が滑って,落としてしまったのです。あわれ,基板はLEDの面を下側にしてぶつかり,滑って床に落ちました。

 確かめてみると,4つほどLEDが死んでいます。死んだLEDは削って,新たにチップLEDを取り付け直します。新たに作業中に1つ壊してしまい,これはえらいことになったなあと思いながらなんとか作業を収束させました。

 光らせてみると,案外新しいセグメントも違和感なく,綺麗に光ってくれます。そしてこれをダイナミックドライブ用に配線して,一応完成です。


(2)ゼロブランキングの実装

 前述のように,LEDを組み立ててから,時刻の10の桁にすべてのセグメントが必要な事が分かったわけですが,それなら左上のセグメントを光るようにすれば問題が解決するのかと言えば,そんな簡単な話ではありません。

 確かに,0時を00時,7時を07時と表示するaitendoの時計キットの仕様が許せるならそれでもよいでしょうが,冷静に考えてみるとそんな時計,みたことないですよ。

 やっぱり07時ではなく,7時と表示されないと。

 この,最上位桁のゼロを表示しないようにすることを,ゼロブランキングといいます。

 aitendoの時計に違和感があったのは,このゼロブランキングがないせいだったとはっとするわけですが,7セグLEDを壊してしまうリスクを負って,その違和感のある表示を行うように作ることが,正しいとは思えません。

 なら,ゼロブランキングを実現するしかありません。そうすれば見た目も自然だし,7セグLEDもこのまま使えます。ついでに高価なチップLEDも2つも削減できます。

 なんちゅうか,ゼロブランキングくらいソフトで書けば簡単なのに,なんでこれくらいの機能を最初から入れておいてくれないのかと,aitendoのクオリティの低さにブツクサ文句を言いたくなるのですが,ソフトを変更出来ないのですから,もう電気的に行うしかありません。

 原理は簡単で,時刻の10の桁の左上のセグメントが点灯するときというのは,0,1,2のうち0の時だけですから,この時には時刻の10の桁そのものを消灯すればいいだけのことです。あとの1と2の時には,そのまま10の桁のドライブ信号をスルーして出します。

 ゆえに,時刻の10の桁のドライブ信号と左上のセグメント信号のANDをとって,これで10桁のドライブを行えばよいのです。

 具体的には,10の桁のドライブ信号をカット,セグメントの信号を反転させて,ドライブ信号とNANDに入れます。そしてNANDの出力を,10の桁をドライブするトランジスタのベースに突っ込みます。

 桁のドライブ信号もセグメントの信号も負論理で,Lowでイネーブルです。ですから真理値表としてはこうなります。(Aはセグメント,Bは桁のドライブ信号)

A B X
-+-+-
0 0 1
0 1 1
1 0 0
1 1 1

 こうするとほら,セグメントがLowの時(つまり0の表示)はどんな場合も必ず10の桁のドライブ信号はHighになって,この桁そのものが消灯します。セグメントがHighの時(つまり1か2)は,10桁のドライブ信号がそのまま出ますので,ちゃんと10の桁が表示されます。

 この回路を追加して,どうにかゼロブランキングが実現して,自然な表示にすることが出来ました。

 

(3)秒を表示する桁が必要

 この7セグLEDは分までしか表示出来ませんから,もし秒の表示をするなら桁を増やさねばなりません。そこでちょっと大きめの7セグLEDを用意したのですが,青緑が手に入らず,黄緑にしました。

 実際に動かしてみると,色も明るさも違うし,おさまりがどうにもよくありません。そこで思い切って秒の桁は表に出さず,基板上の小型LEDで表示させることにしました。

 基板はこのLEDの裏側に取り付けましたので,秒を見るときには裏側をみないといけなくなるのですが,まあ日常生活で秒まで必要な事はないし,時刻合わせの際には裏側をみればいいだけの話ですから,これでもいいかなと思ってます。


(4)そして精度の追求

 クオーツ時計でも時刻が狂うのがなんとなく許せない私としては,ずっと電源同期式を好んで使っていました。しかし,電波時計が手に入るようになった15年ほど前からは,これを選ぶようになっています。

 今回も電波時計なら良かったのですが,なにせキットですのでそうもいきません。そこで出来るだけ精度を追い込むことにします。

 このキットは,ATMELの8051コアのマイコンを使っているのですが,クロックは12MHzです。これを基準に1秒を生成しているはずなので,とにかく12MHzの精度を追い込む事が肝要です。

 周波数カウンタで測定すると,ちょっと高めに出ています。これならトリマコンデンサを並列に繋ぐだけで12MHzに追い込めそうです。

 マイコンの水晶発振子にバッファを1段入れて,周波数カウンタで調整します。室温が25度くらいになる頃を見計らって,12.000000MHzに追い込みました。もしこの値から本当にずれないとすると,1Hzまであっていますから,1/12000000秒しかずれません。つまり1秒ずれるには12000000秒かかるわけで,これを計算すると約140日に1秒となります。

 うーん,案外ずれるものですね。

 加えて,普通の水晶発振子ですから仮に温度変化で50ppmずれると,それだけで50Hzずれるわけで,そうなると最悪の場合3日で1秒ずれる計算になりますね。うーん,これでは実用にならないかもなあ。

 ただ,通常のATカットの水晶の場合,我々が普通に生活する範囲ならほぼ大丈夫,±25ppmの範囲でさえも-40℃から85℃ですし,-20℃から40℃くらいの範囲だとほとんど変動しません。むしろ時計用の音叉型水晶振動子の方が,温度特性は悪いんですね。


(5)ゴーストの発生

 真面目に検討する気もないのですが,実は隣の桁の点灯していないはずのセグメントが,うっすらと点灯している場合があります。いわゆるゴーストが発生しています。

 ゴーストは,ダイナミックドライブの場合には桁のドライブの切れが悪いときに発生しますが,ドライブ用のトランジスタのキャリア蓄積で素早くトランジスタがOFFしない,という場合が考えられます。

 この回路では,PNPトランジスタでドライブしているにもかかわらず,トランジスタが確実にOFFするようベースとエミッタの間に入れる抵抗が省略されていて,これが原因かなと思っていました。

 そこで2.2kΩとベースとエミッタの間に付けてみましたが,全く変化無し。これはひょっとすると桁のドライブ信号の速度が速くて,トランジスタがOFF仕切れていないのかも知れないなと思ったのですが,もう測定するのも面倒になったので,放置することにします。


 ということで,たかだかこれだけの話に,2週間ほどかかってしまいました。鈍くさいというか,時間がなくて集中出来なかったとか,まあいろいろ原因はあるんでしょうけども,これくらいなら1日か2日で片付けてるのがこれまでの実績であり,こんなに時間がかかってしまうと,さすがに衰えを感じてしまいます。

 さて,こうして復活を遂げた時計ですけども,どこに設置するのか決まっていないのです。元のように寝室にと思いましたが,電波時計ではないし,今の時計になれているので,今さら置き換えるのもどうかと思います。

 かといって,AC電源の必要な時計を置ける場所は限られていますし,主なところにはすでに電池式のLCD電波時計が置かれています。気温や湿度も表示されるので,今回のLED時計で置き換えると不便になります。

 大きな青緑の表示で,遠くからでも暗闇でもはっきり見えることが最大の売りなのですが,これに見合う場所を考えつつ,しばらくは私の机の上で精度を確認していこうかなと思っています。

ページ移動

ユーティリティ

2020年05月

- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 - - - - - -

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

新着エントリー

過去ログ

Feed