VFD_LD8035E_CLOCKですが、とりあえず完成しました。
しかしながら、ケース未実装でドキュメントの整理も残っていますが、、
基板ですがFusionpcbへは黒の艶ありでお願いしました。 シルクがはっきりしているのがなかなかいい感じではありませんか?
VFD_LD8035E_CLOCKですが、とりあえず完成しました。
しかしながら、ケース未実装でドキュメントの整理も残っていますが、、
基板ですがFusionpcbへは黒の艶ありでお願いしました。 シルクがはっきりしているのがなかなかいい感じではありませんか?
VFD LD8035Eを使用した時計の基板をFusionPCBへ発注しましたので、届くまでの間でVFD IV-18を使った時計の基板設計をしました。
こちらは、基本はVFD LD8035E_CLOCKと同じで、HV5812ドライバとの接続部分をIV-18用に修正しただけの物となります。
その他、PCBレイアウトを検討する上でスイッチの接続の並びを逆にしています。
IV-18は、セグメント8つが横にならんだレイアウトとなっていますので、それを考慮してL字型コネクタで上に立てる形でPCBレイアウトを作っています。
参考にしたのは、adafruitで販売しているIce Tube Clock Kitです。 こちらのキットを数年前に購入して所有しているのですが、今回VFD IV-18を入手する事ができましたので設計に挑戦してみました。
つめが甘いかなと思いつつ、PCBレイアウトを作ってFusionPCBへ基板の発注を行いました。 今回は試作などは全くしていないので、届いた基板で動作チェックとソフトウェアの修正を行う事になります。 VFD IV-18を取り付ける部分は下記のように横向き上向きの2種類を作成しています。 また今回初めてミシン目を使った面付をこちらの記事を参考に行っています。
以下はFusionPCBのガーバービューアーの画面です。
20210323(+12.0h)
とりあえず、基板外形の大きさは、 10cm×5cmにしました。
まぁまぁ収まりそうな気配です。
一旦ばらして、VFD管、スイッチ、CPU、ドライバなどの大まかな配置をきめます。 また昇圧回路やリセット回路など、部分ごとの部品をそれぞれ集めます。
アアデモナイコウデモナイと悩みながら、一応の部品配置を完了しました。
スペースが足らなかったので電源ターミナルは削除しました。 また220uFのコンデンサの大きさを8mmから12.5mmに変更しました。 耐圧50V のコンデンサを使うためです。
VFD LD8035Eのフットプリントは、実寸をノギスで計って作っていましたが、このフットプリントだとピンの間に配線が通せません。 フットプリントの外側に配線を回すことも考えましたが、基板の大きさの制約で外側に配線するのは難しそうなので、ピン間を広げたフットプリントを作成することにしました。
いよいよ基板設計ではありますが、はじめて使用する部品のフットプリントを追加しました。
まずは主人公のLD8035E VFD管です。
電源は、スマホのUSB充電器を利用するとして、マイクロUSBコネクタを使うことにしました。
マイコンをPIC32MMからPIC16F19155に変更しました。
このマイコンはプログラムメモリが8kW(14kByte)しかないため、プログラムを小さくしなければなりません。 PIC32MMからPIC16F1955にプログラムを移し替えた当初85%程度のメモリ消費量でしたが、プログラムを見直して65%程度のメモリ消費量まで小さくできました。
また、周辺peripheralが充実しており、PWMやCCP、CLC、CWGを使うことでプログラムを簡素にする事ができます。
下図がマイコンをPIC16F19155に変更した全体の回路図となります。 マイコンの電源も5Vを使用する事が出来る為、3.3VのレギュレータやVFDドライバHV5812のコントロール信号のPULL-UP抵抗を省略する事ができました。
PIC16F19155は、PWMやCCP、CLC、CWGが充実していて、またMCCの画面もPIC32MMに比べて若干分かりやすい気がします。 これらのperipheralを使用して構成したVFD部分の表示ロジック回路を下図にしまします。
7セグメント8桁部分のデータ送信にはSPIから送っています。SPIで16ビットのデータを送信した後、OUTPUTピン(STORBE)をソフトウェアでH⇒Lと駆動して設定します。
フィラメントの為の電源は、PWM3とCWGをプッシュプルモードで使用して、HブリッジのBD6211Fを駆動して得ています。 またCWGの出力ABをORで受け、反転させて出力し、HV5812のBLANKINGに入れる事で、各桁の明るさの調整としています。(※しかしながらこの方法では個別桁の明るさ調整の効果はあまり確認できませんでした。)
圧電スピーカーのBEEP音についても、PWM4を使用して基本の音を作成しています。
それを鳴らしたり止めたりするのに、OUTPUTピンRA6を経由して、CLC1,CLC2のCLCIN0へHigh, Low信号を送っています。これとPWM4の信号をCLCのAND回路を使って出力する音のON-OFFを制御しています。 PWM4の出力をCLC2へ入力するところで反転しているのは、圧電スピーカーをAC駆動する為です。(RC7がHのときRC6をLとする。またはRC7がLのときRC6をHとする。)
20210225(+12.0h)
※PIC16F19155を選んだのは(株)秋月電子通商で扱っているからというのがありますが、
RTCCがあるのとバッテリーバックアップ用のVBAT端子があるのが大きなポイントだったりします。
時計としての主な機能を組み込んで現在70%のメモリ消費量なので、あとどれくらい機能を盛り込めるかはメモリしだいとなります。
あと組込みたい機能としては、
1.RTCCのキャリブレーション機能
2.表示のディマー機能
3.シリアルのモニタ機能
といったところです。
回路にスイッチ4つと圧電スピーカーを追加しました。
スイッチで、下記メニューを表示して設定します。
・時間設定
・アラーム設定
・アラームON
・アラームOFF
・各セグメントの明るさ設定
スイッチを押すたびに、圧電スピーカーからBEEP音をならすようにしました。 このBEEP音はPIC32MMのPWM機能で鳴らします。 何種類か音を鳴らせるように工夫したのですが、なぜか時々BEEP音が鳴らない事があり原因不明です。 たぶんプログラムがヘタッピーなのでしょうが、時々発生する不具合というのは問題点を見つけるのが難しいものです。
最新の回路図を描きに添付します。
20210216(+4.0h)動かなかった SOSCですがあちこち弄っているうちに復活しました。。。止まっていた原因不明です。
使用しているPIC32MM0256GPM048ですが、OscillatorにErrataがあります(ありました)。
Silicon Revision がA1にこの問題があったようなので、念のため今使っているPICのリビジョンをMPLAB X IPEで調べてみます。今回 PIC32MM0256GPM048 を使っているのですが、、、ここにきてどうやってもSOSCがどうやっても発信せず、途方にくれています。。。困った。。。
SOSCには、32.768Khzのクリスタルを繋ぎ、、
MCCからシステムの設定で、SOSCを使用するに指定、、
しかしながら、SOSCの信号は、下記のような変な信号、、、
VFDのフィラメントの駆動には、Hブリッジドライバ BD6211F を使用して、交流で直列に繋いだ6個のVFDのフィラメントに電圧をかけています。
各VFD管の明るさを調整する為、そのVFD管を光らせる時にPWMでフィラメントの電力を増減させるアイデアです。
1.PWM信号①⇒JKフリップフロップ⇒HブリッジのLRをシーソーのように交互にHighにする信号②の生成。
2.上記①と②の信号をAND回路で合成してHブリッジを駆動する信号を生成。
1-①PWM信号の生成
1-②JKフリップフロップで1/2に分周し、HブリッジをONにする信号を生成。
上記手順で生成した出力信号です。一番上の赤から、、
赤:PWM出力
黄:JKフリップフロップ出力
青:AND①出力
紫:AND②出力
これで調整幅はすくないものの、各VFD管の明るさを個別に調整できるようになりました。
しかしながら、この明るさの調整は気休め程度です。
VFD管を1msecでダイナミック駆動した所、各VFD管の明るさの差が少なくなりました。下記に表示の様子をしまします。 20210207(+6.0h)
UTC7642を使用したヘテロダイン方式のAMラジオをブレッドボードで試しています。 アンテナとバリコンは、 電子ウサギさんの記事 を参考にスーパー用にしています。 Q2(2SC1815)は他励式の局部発信(OSC)で放送周波数+455kHzの信号を作成し、Q1(2SC1815...