jl7gmnのblog

yahooブログから移行してきました。アマチュア無線を中心としたブログです。

2022年05月

MODEL 1200FXローテーターその9

Logger32のローテーターコントロールでのエモト1200FX用として使用したGS-232B設定でのシリアル通信の状態をロジックアナライザーで確認しておきました。変な信号がないかの確認でもあります。Hi !

D0はLogger32から送られてくるコマンド ”C” です。現在のローテーターの位置角度のリクエストです。
D1はコマンド”C”を受けてESP32側でローテーターのA/D変換された0°〜360°の現在のローテーター位置角度数値を返します。その時間も計測してみました。
Logger32からのコマンドを受けてから位置角度情報を返すまでの時間は≒88mSec です。これは一箇所だけ捉えた情報で、実際はかなりバラツキがあります。参考程度情報です。

範囲を選択_291


Logger32からのコマンド"をアスキー文字表示設定にして確認です。
範囲を選択_288
Logger32からはシリアルコマンド " と "0D" の(CR)キャリッジリターンコード付きで繰り返し送られて来ています。

コマンド ” をESP32側のシリアル受信確認後にリアルタイム現状位置角度の数字をGS-232Bの角度返送時使用するヘッダーを付けて角度の数値をアスキー文字で, その後に ”0D0A” のデリミタ付けて ”A Z = 1 8 0 0 D 0 A ” で返す様にスケッチで組んであります。組んでる通りに見えています。

GS-232B 返送時HEADDER :"AZ="
現在のローテーター角度180° :"180
デリミタとしてのCRLF     :"0D0A"

範囲を選択_289

ローテーター位置角度が変わればその変わった角度の数値を返すという事をローテーターがプリセットで止まっても、いつまでも繰り返しています。”C”コマンドを送り現状位置角度を受取りして位置表示をする事を繰り返し続けるシステムです。なので、”C”コマンドが来ればESP32側は即反応して位置角度情報を送る様にスケッチを組みました。プリセット位置でとまったら終わりではなく、止まったローテーターの位置の角度数値を送り続けます。

あとWindowsXPの場合のLogger32側の処理が遅いので、1秒あたりの位置角度返送回数は5秒間で10回なので、2回/秒のローテーター位置角度確認コマンドを送っている事になります。今時のOSに変わると返送コマンドを受けてから回転表示させて次の”C”コマンドを出すまでの時間が短くなるといいう塩梅かと思います。
範囲を選択_292

停止時ですが位置角度情報を受けて表示して次の”C”コマンド送出までは≒500mSECかかっています。

範囲を選択_292A

プリセット動作時は、もっと遅くなります。5秒間に7回ですから 1.4回/秒と時間がかかるようになります。
範囲を選択_292B

Logger32で位置角度情報を受けて表示して次のコマンド”C”を送るまでは≒600mSECとなっています。

また、パソコンの状態で変わるようでESP32側のLogger3からコマンド”C”を受けてから角度を返すまでは上のロジックデータを見ても分る通り早かったり遅かったりがあるようです。

現状のロジックアナライザーを使っての確認をしてみました。変なシリアルデータは全くないようです。

つづく?


MODEL 1200FXローテーターその8

アンドロイドスマフォのUDP通信を使ったESP32DevKitCでのエモトの1200FXローテーターの方向指示制御が上手く動作してくれています。次のステップアップとして、世界的に使われているアマチュア無線用ログアプリであるLogger32のアプリケーションの機能にあるローテーターコントロールにて使える様にスケッチを組んでみました。Logger32には対応するローテーターはたくさんありますが、そのうちの日本での定番のGS-232B選択にて動くようにしてみました。制御コマンドはYAESUのマニュアルサイトからダウンロードです。コマンドについては取扱説明書に詳しく載っています。GS−232Bは水平、垂直方向のローテーター対応ですので、水平制御のコマンドを使いました。

ESP32DevKitC最初はTS820のハムログ通信で使用した超小型USBシリアル変換モジュールを使ったのですが、途中で動作フリーズとかで中々確認作業が進みませんでしたので、ArvelのSRC06-USBとADM3202追加にて交換配線した所、かなり安定に動作するようになりました。滞っていた確認作業があっという間に進み、Logger32のDX spot mapでのクリックした場所の角度まで自動で移動動作するローテーター制御がほぼ問題ない?まで出来上がりました。以下動作画像です。

 

Logger32の制御時にはSWを1つESP32DevKitCに追加です。切り替えSW変数名はSL_SWです。GPIO32ポートに入力ポートとしてプルアップでの追加割り当てしました。

フマフォアプリ制御時:LOW (SW ON時GNDレベル)
Logger32対応時          :HIGH (SW OFF時オープン)

#define SL_SW 32 //smafo logger32 change SW 

今回はPCがかなり古いWindowXPを使いましたのでLogger32のバージョンはダウンロード都合でVersion3.50.0です。動画を見ても指針の動きも遅延もあります。Window10等にするとかなりスムースに指針も動くと思います。ある程度の位置ズレも合わせ込みしているところも、分るかと思います。方向のズレの角度として問題ない1°のズレも指針が重ならないと大きく見えます。

スマフォ側の制御時でもLogger32のDx spot mapでリアルタイムのローテーター位置が表示されますので、とても便利です。実際やっていて完成後のマップクリックで自動で動いた時はとても感激しました。Hi !

スマフォのUDP通信制御コントロール時のLogger32のDX spot map ローテーターの位置表示です。



Logger32のローテーターデバッグのフォームではクリック送出の制御コマンドとポーリングリクエストのコマンドCと、それを受けESP32側から送り返す現在のローテーター位置(A/D変換し360°に合わせ込んだ角度)角度情報データをLogger32で受取し黒色指定した指針で表示しています。
デバッグフォーム上でのデータを見ているとかなり受取角度データがあるのですが、間引きした感じで指針が動作しています。これはWindowsXPのスピード処理の遅さが原因です。最近のWindows10ならデータ受取し追従して、かなりなめらかな指針移動で動作すると思われます。ちなみにESP32に追加したシリアル通信は9600bps設定です。ポート指定はシリアル通信制御ではDDSで実績のあるGPIO16,GPIO17をシリアル通信用に指定しています。(前から決めて空けておいたポートです。)

Serial2.begin(9600,SERIAL_8N1,RXD2,TXD2);// RXD2:16,TXD2:17

ESP32DevKitCは本当に処理能力スピードが速くて、様々な通信方式(ブルーツース、WifI、UDP通信、他)対応もあり、スマフォでの制御等が簡単に出来るので最高です。様々な通信方式のアンドロイドのアプリケーションも沢山あることも触手が動く理由でもあります。アプリも便利でかつ簡単に設定できる点など種類が豊富で目的で選べるという点も今回のローテーターコントロールで使う理由になっています。
また、スケッチでほぼハード制御部のをほとんどが対応出来るので、ハードウェアのスィッチング出力制御回路と15°角度ステップ、1°角度ステップ、ホームプリセット、と今回のスマフォ制御とLogger32制御切り替え用SW、LPF回路の追加、及び表示用TFTディスプレー、シリアル通信用のIC追加位で、とても回路がシンプルになる事もかなりの魅力になっています。

対応するローテーターも何の送受のコマンドが使われているかがわかれば、制御機能付きのローテーターは基本全部コントロール出来ます。

最終の状態の回路図もまとめたいと思います。超小型USBシリアル変換モジュール(FT234XD)でのシリアル通信はXPでは余り上手くありませんでしたが、Window10を使っての確認は必要ですね!まだまだ色々とやることが多いです。Hi!

また、気づいた人もいるかと思いますが、マップの中心がアメリカです。日本にしないといけませんが、ロケータでの設定かと思うのですが、誰か教えてくれませんか?スケッチ確認では何処が中心でも問題ないのですが。実使用では日本に合わせないといけませんね!スケッチで疲れたので、少し楽したいです。Hi!

スマフォの一般アプリを使ってのEMOTO 1200FXの方向制御とLogger32のローテーター制御の両方がESP32DevKitCにて対応出来ました。方角をマップ上でクリックしての動作確認も結構見てても楽しいです。

つづく?
続きを読む
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード
  • ライブドアブログ