SD330の自動チューニング その22016年03月14日 20:20

はじめにお読みください。→当サイトのリンクと免責事項

SD330の自動チューニングは現在進行中です。
前回の記事中の7Mhz付近の小さいひげのようなディップ点ですが、ゴーストと呼んでいましたが、その後の調査でAD9850中華モジュールの挙動不審でした。

パラレルデータを送るのですが特定の三つのビットが0のまま変化しないことが判明しました。そのためあるところから同じ周波数をスキャンしていました。シリアルでデータを送るようにしたらこの現象はなくなりました。
壊れたと思い新たにAD9850中華モジュールを購入してしまいました。新しいモジュールは周波数特性の右肩下がりが激しくついにALCを導入しました。こちらは別記事で既述したようにAD9850のRSETを使い出力を一定にしようというものです。原典の回路通りに作りました。結果に改善の余地はありますが前より良い結果となりました。下記が回路です。50KΩのVRで可変電圧範囲を決め1kΩでレベルを決めます。4.1Vまで設定できるので本当はDDSの高周波オペアンプの出力を入れたいところです。部品配置の制約でこうなりました。
下の特性がALCがない時のデータです。

下はALC回路をつけた時です。

前回の記事でデータのばらつきをお見せしましたが、これが結構曲者でした。当初、このばらつきはRLブリッジ以降のAD8307による電圧検出回路の誤差ではないかと思っていましたがDDSモジュールの出力が揺れていました。この揺れの中で最小点を見つけモーターを停止させるプログラムロジックは結構大変でうまくいくことがあっても中々再現してくれません。
そこでばらつきを無くしてしまうことを考えました。AD8307の後にオペアンプ正帰還型アクティブ・ローパス・フィルタを入れましたが結果は思わしくありません。最後にたどり着いたのはデジタルフイルターの適用でした。ハード的には下図の104コンデンサが一番良い結果となりました。
デジタルフイルターのルーチンです。
この関数をAD変換後に呼び出します。
メモリーに保存したデータは下記のルーチンでLPFを通します。
これらの結果、出力は劇的に改善しました。

上の図はメモリ上のデータをデジタルLPFを通した結果です。
AD変換の値をデジタルLPFを通した結果もほぼ同じです。つまり値が下がっていく時は上がることなく下がり続けます。ノイズもあるので連続して5回以上下がったら下がり始め、5回以上上がったら最低点を通過したと判断します。最低点付近ではばらつくことなく下がり、その後上がります。そこで5回上がったらストップしそこからバックします。今度は1回でも上がったら即停止します。これで希望周波数に停止します。
最低点の検出はデータ取得間隔が早すぎるとデータを無駄に取りすぎます。そこで5msごとにデータを取得しています。(3MHzから30MHZの帯域データの取得は30usごとに行っています。)
デジタルフイルターについてはここが写真付きで分かりやすいです。
また、最低点を検出できないといつまでたっても止まらず下限リミッタか上限のフリーランまで行ってしまいます。そこでタイムアウトを設定し最低点を通過してしまったら強制的にモータをストップさせます。
パソコンでの周波数からアンテナの長さを計算する関数です。VB.NETです。


アンテナの長さからタイムアウト値を算出するルーチンです。

アンテナのモーターは12Vで動かしています。移動速さは次の通りでした
     アンテナが伸びる場合(周波数が下がる)6370ms/cm
     アンテナが縮む場合(周波数が上がる)   5890ms/cm
1cmあたり6秒前後です。1秒で1.7mm動きます。20MHz以上では相当早いです。SWRの最低点を検出してもかなりオーバーランします。(モータはブレーキ後タイマーを入れて逆転しています)そこで前述したようにバックさせることで目的地に達します。
当初18Vかけて少しでも早く動かそうとしましたがオーバーラン時、下限はリミットスイッチがあるので良いのですが上限はギヤが空回りするようになっています。そこを飛び越えてしまいました。やむなく12Vに変更しました。
スピードのコントロールをしようとPWM制御していましたが、今回PWM生成回路を内蔵したドライバーICを使ってみました。ロームのBD6231です。PWMのデューティー制御はVREF端子の電圧で変えます。そこでトランジスタスイッチでVFEF電圧の分圧抵抗を切り替えました。ところがほとんど変化ありません。VREFの電圧は3Vが最小ですが0.5Vまで下げましたが実感としてあまりスピードが落ちせん。原因はパルスの下半分が矩形でなくだらだらと下がっています。結局、自動同調の時はソフトで追いつけるのでスピードコントロールは止めました。手動時に難があります。
そんなこんなで今回の回路です。



コメント

トラックバック