ATUの自作:LCD交換
ATUのエバレーションを実使用状態で継続していますが、デバッグに使っているLCDでトラブルが発生しました。
このLCDはAQM0802Aという品番で、ベランダに設置したATUの基板に貼り付けてあったのですが、4週間くらいしたら、LCDが表示しなくなりました。I2Cの回路はまともに動いていますが表示が出ません。 DC/DCの出力をチェックすると、6V以上ある電圧が3Vしか有りません。 発振は停止はしていませんが、昇圧しきれないようです。
ベランダから部屋に持ち帰り、テストすると、ちゃんと表示します。電圧が違うのか?コンデンサの容量が違うのか? 色々検討しましたが、原因は判りません。 部屋のなかで正常動作している状態のままで、ベランダに出てみました。すると、数秒もしない内にLCDの表示が消えます。一度消えたLCDを部屋に戻しても表示は復帰しませんが、電源OFF/ONを行うと、表示は戻ります。
この、部屋でOK、屋外でNGは何度も再現されますので、原因は光しか有りません。ちなみに、ATUを収納した緑色のコンテナBOXに蓋をして、蓋の隙間から暗くなったLCDを見ると、正常に表示しますが、蓋を取り去ると消えてしまいます。 もともと不安定なDC/DCでしたが、LCD表面に光が照射されると、内部状態が変わるのでしょう。
結局、このLCDは取り外し、別のLCDに交換する事になりました。
交換したLCDはI2CインターフェースのACM1602N1という秋月で取り扱っているLCDです。表示が8桁2行から16桁2行に増加しましたので、かねてより気にしていましたCM結合器のDC出力をADで読んだ値も表示させる事にしました。
左の3ケタ数字がVCの角度データ、上がVC1、下がVC2です。 次の「7」はタップ番号。真ん中の4ケタ数字がCM結合器のDC出力をADで読んだ値です。上がVfwd,下がVref。 右側の上4ケタがSWRを100倍した数値。 下が周波数で単位はKHzです。
いままでは、出力を大きくするとSWRが悪化していました。 CM結合器のDC電圧をデジタルテスターで測り、これをベースに計算したSWRは1W出力より10W出力が悪くなりますが、10W出力時と40W出力時のSWR値は変わりません。 しかし、ADが変換した数値から計算したSWR値は0.2くらい悪化します。
原因は、AD変換回路のサンプルホールド回路の初期充電時間かも知れません。 この充電時間を確保する為、ADのチャンネルを選択してから、10マイクロ秒間のウェイトをかけていましたが、試しに、このウェイトを50マイクロ秒に変えてみました。すると、10W出力時と40W出力時のSWRの差は0.07くらいに収まりました。
また、大きなアナログ信号をAD変換した後、小さなアナログ信号を変換する場合、前回の計測時の電荷が残っている可能性もあります。 そこで、今まで、Vfwdを測定した後にVrefを測定していましたが、Vrefを先に測定し、Vfwdを後に測定するように変更したところ、10Wと40WのSWR値の差はゼロになりました。
1W時と10W時のSWR差は検波に使っている1N60の非直線性によるもので、気にする必要は有りません。
当面は、不具合が発見されるたびに、LCDの表示を変更しながらエバレーションが続きそうです。
このマイコンのソフト開発はマイクロチップが無償で提供しているMPLAB IDEという開発環境と、PICkit3と呼ばれる書き込みアダプターを使い行っていますが、今回使用しているマイコン「16F1939」の場合、最初のイニシャライズ時、マイコンIDの検出を失敗し、かなりの頻度でエラーになります。
原因が判らないまま、PCを立ち上げ直したり、アプリの立ち上げタイミングとUSB認識のタイミングなどを取って、かろうじて開発環境を維持していました。 最近、このエラー頻度が高くなり困っていましたら、インターネット上で同じような問題で困っていた記事を見つけました。 記事によると、PICkit3から供給する電圧を5Vではなく、少し下げてやればエラーになる確率が減るという情報です。 さっそく、5Vの電圧を4.6Vまで下げてみました。 すると、全くエラーが発生しなくなりました。
その後のATU動作改善はこちらへ続きます。