MLAオートチューナーをArduinoで・・・真空バリコン制御も (その1)
MLAを作り始めてから横道にそれて、自動チューニングシステムを作りたくなった。
昔取った杵柄で、Arduinoに手を出して勉強を始めた。PIC, RasberryPie, Arduino,
H8開発システム・・・など候補に上げたが、一番目的に合っていそうで、「らくちん」さと経済性、柔軟性を重視し、Arduinoに決めた。
35年前(4ビットワンチップマイコンの出はじめ)に仕事で扱ったのは、4ビットと8ビットマイコン。これをアセンブラーでプログラムして、「マスク」を起こしてワンチップにする。今のようにフラッシュメモリーはない時代。RAMボードでエミュレーションして、当時数十万円のマスクを起こして10個のサンプルを手にするという時代。恐ろしい時代であった。プログラムエディターなんて無くて、紙テープの切った貼ったでの編集・・・・なつかしい。なぜマイコンを扱ったか?業務用無線機にPLLシンセサイザを搭載することになり、周波数設定にデジタルの計算やらデーター転送が必要になって、ついでに便利に使いましょうと・・・言うことで4ビットシングルチップを導入し、それが苦労の始まりであった。
その後Basicは扱ったことはあったが、C/C++は全く始めて。Basicの基礎は役には立ったが・・・これとて20年以上まえの記憶でほんのわずか。でも少し似ていた。
しかし便利になっている。とりあえずと言うことで、ご多分に漏れず「Lチカ」と言われるLEDをブリンクさせるところから・・・始まって、16桁2行のLCDへの文字表示、128x64ドットマトリクスにグラフ・文字表示、DDSシンセサイザで信号発生、ロータリーエンコーダーで数値(周波数)制御などなど。数週間でこれらを全てこなせ、組み合わせのシステムがブレッドボード上に作れた。
良し悪しは別として、こうした接続モジュールやLSIのデータシートを読まずとも制御が出来てしまう。ライブラリーと呼ばれる制御ソフトモジュールがネット上に用意されていてそれを利用すると、関数呼び出しで動作させられる。クロックに同期させてデーターを・・・とか、パルスの立ち上がりで・・・とか考えないで良い。昔と違ってCPUも早くなり、特にシビヤーな制御をしない限り処理速度もほとんど気にしないで良い。
PC上でコンパイルして、コンパイルエラーがなければ、Arduinoモジュール UNOまたはNANOに転送するとフラッシュメモリーに書き込まれる。これで動作すれば、PCなしで動かせる。不揮発。
プログラム開発環境がすごい。コンパイル~書き込みまで数十秒。動き出したあとはUSB経由でPCをコンソールとしても使える。 昔の苦労からすると夢のようだ。
オートチューニングの信号源はこれで作れた。12MHzまで出せるDDSシンセ、LCDパネル、Arduino モジュールなどがそれぞれ数百円から千円程度で入手できる・・・これも驚き。DDSはAD9833、LCDは1602/I2L、ロータリーエンコーダーは秋月・・・
NANOへの載せ替えも出来た。あとはVSWR検出回路(完成済み)と、真空バリコン駆動のステッピングモータ(動作は出来た)の制御アルゴリズムが出来ればシステム完成になる。
ところが肝心のMLA本体素子が組み上がっていない!! 順番がおかしいだろ!!
ログアンプを使ったレベル計の表示は小さなグラフィック表示パネル。NANOと組み合わせて小さく作れる。アンプはAD8310。
| 固定リンク
コメント