さて、数年ぶりに、いやもっとかも、ARDUINO掘り出し、以前PICマイコンで作った回路をARDUINOへと移し替えようとしています。
まずは周波数カウンタ動きました。割り込みを使う方のスケッチはちょっとうまくいきません。割り込みはロータリースイッチの方で動いたので、周波数カウンタは割り込み使わずでいきます。それよりもARDUINOでwire関数使って、簡単にi2cが使いこなせたので、si5351aを使ったデジタル発振器を作る方へと進みます。スイッチどうするか迷ってます。LCDスイッチシールドのアナログポート接続スイッチだとスケッチ書きやすいので、1ポートで済むこの方式にするかどうか迷っています。
その前に周波数カウンタを応用するLCメーターを手掛けてみました。
こんな塩梅でLCMシールド方式→さらにATMEGAワンチップ化進めます。
1.サンハヤトのUB-ARD03ユニバーサル基板にLCMシールド+ATMEGA328ソケットを組み立てることにします。(ATMEGA328は秋月電商のArduinoブート入りを使用)
2.回路図は次です。74HCU04でフランクリン発振器を形成し、5Vリレー、2回路双極スイッチなどで構成します。
3.試作実験時はATMEGAなしで、ARDUINO UNOにかぶせ、うまくいったら、ICソケット付きArduinoにて、ブートローダ付きATMEGAへスケッチを書き込んで独立させます。
水魚堂の回路図エディタを使用させていただきました。
基板実装図は次です。必ずしも実装図通りではないですが、参考にして配線しました。
Parts Arrange Support System(プリント基板エディタ)PaaSを利用させていただきました。
2.組み立てOKなのか、ARDUINO UNOの上にのせて、5V供給し、フランクリン発振器の動作を確かめます。ATMEGAICソケットの使用するピンをARDUINO UNOにつなぐためパッチします。
タンク回路用LCと基準用Cは定数検討実験のためソケット実装にしました。4.7μH,1000pFを実装したので、周波数高く、2MHz以上となりました。ARDUINO周波数カウンタは4MHzぐらいまで対応できるので、何とかカウントできました。
次にスイッチをLポジションにして1mHインダクタ直列で発振。
さて、次なるステップは、周波数カウンタで周波数1(基本LCで発振)、周波数2(リレーで基準Cを並列追加して発振)、被試験L(直列をスイッチで選択))か被試験C(並列をスイッチで)入れて周波数3を取得するシーケンスです。
三つの周波数を取得すると、そこから連立方程式を解いて、LとCを算出するスケッチを描かないといけません。ちょっとお待ちください。
さらにその後にはATMEGA328Pにブートローダーを書きこみ、今回作成ユニバーサル基板だけで動くようにします。
--------------------その後2023.09.05--------------------------
KiCADを使いだし、Arduino nanoとi2cLCDを組み合わせた回路
で基板を作りました。