とあることをきっかけで知った、Microchip製のイーサーネットコントローラーのENC28J60というものを何かに使えないかな~と考えていたところ、NTP時計を作るということを思いつきました。
要するに、インターネットを介してNTPサーバーに接続し、常に正確な時刻を刻む時計です。
電波時計を使えばいいとか、GPSの時刻情報を使えばいいとか、いくらでもNTP時計じゃない正確な時計アイディアは出てきますし、とある電子部品店でNTP時計のキットを売っていたりするので、特に最適解的、もしくは新規性のあるアイディアではないですが、ENC28J60を使って遊ぶのを主目的として作ってみることにしました。
本来ならブログで作っていくところを紹介するのがいいんでしょうが、完成したこれを紹介したくてブログを開設した経緯もあって、もう完成してしまっています(汗
というわけで、完成した写真をいくつか紹介しましょう。
これが正面から見た写真です。専用基板を設計し、作成しました。時刻は7セグで表示し、細かな情報を表示するためにグラフィックLCDもつけています。真ん中に映ってるICがENC28J60ですね。ACアダプターで動きますが、一応停電時バックアップ用に充電用電池も付けています。(停電したらルーター止まるからネットにつながらねえだろ!とか、停電したって復活したらすぐに勝手に時計合わせが行われるから必要ねえだろ!なんていうツッコミは無しでwww
使われていないUSBポートが見えますが、これはただの電源供給用のUSBです。スマホとか充電できます。Wi-Fiから有線LANに変換する、いわゆる「イーサーネットコンバーター」っていう商品を使うことでこの時計を無線化することができますが、たいていのイーサーネットコンバーターはUSBで電源供給をする仕様になっているものが多いようで、そのために付けておきました。
裏を見るとこんな感じですね。左側に映ってる四角いのが、この時計のメインプロセッサです。PIC24FJ64GA004を使用しました。入手性がよく、小型で高性能なPICと言ったらやっぱりこれですね。
ズボラな性格なので、特に回路図とかを書くこともなく、そのまま適当にパターンを設計しちゃいました。そして、基板切削機(NCフライス的なやつ)を使って基板を作りました。
右上のプラネジの手前に写っているのが電源用のDC-DCコンバーターです。PICもENC28J60も3.3Vで動くので、5Vをこいつで落としてやってます。ダイナミック点灯制御用のFETとか、抵抗、コンデンサ等できる限りの部品を1608サイズや2012サイズのチップ部品を使って小型化を図っています(おかげではんだ付けが大変だった…
次回以降は各々の機能について設計や実装の観点から個別に特集していこうと思います。
まあ、暇があったらどんどん更新していくって感じで。
0 件のコメント:
コメントを投稿