エモトの1200FXローテーターのスマフォでのUDP通信でのコントロールスケッチはどんどん進化させています。今回はプリセットSWの設定出来ていない細かな角度のスプレッド設定(昔作製した短波真空管ラジオにつけていたメインバリコンとスプレッドバリコンでの細かい周波数合わせ込みが出来る機能に似てるのでスプレッド設定の言葉を使用しました。)が出来る様にしました。プリセットSWがメイン角度設定用とすると、スプレッドSWとして±1°単位での細かな角度設定機能が追加されたことになります。このスプレッドプリセットSWを追加することで角度プリセット値は0°〜360°まで1°ステップで設定が可能となりました。元々の仕様も分解能1°としましたので仕様通りに使用することが可能となりました。これはアマチュア無線用のアプリケーションに搭載されているローテーター角度プリセットなどのシリアルデータ方式での制御で行なっている様に今回のローテーター制御に対応させる場合に1°単位でのデータであれば0から360°の範囲で角度プリセット制御は出来るということでもあります。まだまだ他のアプリのローテーター制御のフィーチャー追加は先の事ですが Hi!
追加した±1°の対応するSWは下記の右側の茶色のタクトボタンSW2個です。白い線が繋がる左側のSWが−1°ずつ角度を減らします。橙色の線が繋がる右側のSWは+1°ずつ角度を増やします。

追加となった±1°用のプリセットSW2つ(右端2つ)
CIMG9559
左から順番のSWの動作
1.−15°ずつの角度プリセットSW
2.+15°ずつの角度プリセットSW
3.スマフォのアプリの回転開始用CCW SW, CW SWのイネーブルリセットSW(プリセットされた後は機能しない状態SWの強制押下可能化解除用SW)
4.アンテナのホームポジションSW(スケッチ上であらかじめコンスタント値として設定)
5.今回の-1°設定のスプレッドプリセットSW
6.今回の+1°設定のスプレッドプリセットSW

新たに追加は5と6です。
角度の360°と0°のところの動作は下記の様に同じ位置である(0°)と(360°)は2回表示ならない仕様にしました。
0°から-1°した時の角度表示は 0°(360°)→359°
360°から+1°した時の角度表示は 360°(0°)→1°

新たに追加のSWの使い方としては、大まかに±の15°SWで目標のプリセット値の近くまで設定してからスプレッドプリセットSWの±1°ステップで設定値までもってゆき合わせるやり方になります。ざっくり合わせてから細かく合わせ込むというところですね。


プリセットは単に角度の設定値にあわせて停止するのですが、実際のローテーターはアンテナがあり回転の勢いがあり設定値で止めるとオーバーラン状態です。停止手前でコントロールを停止してやる必要があったりとスケッチ上の工夫が必要です。特に1200FXではスピード設定ツマミがあるので、スピードの速い時と遅い時では、事前停止の位置のスケッチを変える必要が出てきますので、基本仕様としたのはスピードの中間設定時を標準としてスケッチしました。また、位置情報の電圧値をA/Dコンバーターで検出して角度に変換している方式なので、A/D変換にも変換誤差があったりします。またローテーター自体で使用している角度電圧を発生する回路部品の直線性等も精度に影響がでる要素の一つでもあります。また、角度電圧値として使用するA/Dコンバーター入力信号自体のノイズもA/D値への変換誤差に現れます。角度電圧のA/Dコンバーターでの読み値を2000回の平均値を使う事で突出値は平均化されていますが、別のノイズがある様で入力段へのLPFの組み入れの必要性があります。実際LPFを入れないとA/D変換値が相当バラツキます。停止していても値が動くという問題です。何も無いと補正してもそれ以上にバラツキが出る所です。LPFの積分値を大きくするとノイズは減りますがその分リアルタイムの電圧読み取りが出来なくなるので、停止精度に影響が出てきます、電圧値の遅延がない程度の適度なノイズを取るだけの軽いLPFにする事も重要です。ここの精度もかなりの位置ズレとして効いてきます。プリセットした角度の値とは異なった表示角度で停止するのは当たり前と思わなければなりません。シビアに捉えると、このズレは現状の補正を今以上に精度を上げた補正にする必要がありますが、実用上を考えた場合特にHFで使用する実際のアンテナを考えると、ビームでも半値角(半値幅)も意外と広いので2°3°のズレは全く影響はないと言えます。もっと言うと15°ずれても交信には全く問題ないです。これはアンテナを回して受信の信号の強さを見てると自ずと納得出来る内容です。またアンテナの設置上の位置ずれがあったりすると全く持ってして、角度精度は意味を持たなくなることは容易に理解出来ます。精神的な点で気にしてるだけと言っても過言ではないのであまりシビアに設計はしなくてもいいかと思います。HFはある程度の精度(プラスマイナス5°以内)であれば実用上全く問題無いと私は思います。UHF帯、ましてSHF帯は違いますがHi! プリセット値に対しての精度は±1°以内に出来ます。
方角合わせ込み精度には余り関係がないプリセット値への回転停止制御ですが、今回はプリセット値に対しての自動収束をする様にスケッチを組みましたので、間違いなく設定した値と同じA/D読み取り電圧の角度表示が同じになるまで制御動作を行ないます。特に±1°以内で停止した場合でも本来は問題ない停止位置ですが、今回は±0°になるまで制御し続けます。多少時間がかかるのは止まった位置による事がほとんどで、多少はバラツキありますが、いつの間にかドンピシャになっています。ほっておけばプリセット角度と同じ角度で止まってくれます。面白い事に今回の追加SWでの+1°、または-1°を押して行くと追従して角度を合わせ込み始めます。ポンポン押して+3にしても押している間から合わせ込み動作しますので追っかけて来る感じといえば解るかと思います。面白いです+6°より大きな差になると制御は止まる様にスケッチしてますが、いくら早くSWを押してもリアルタイム追従するので、追従を止めるまでは出来ませんでした。

ここの所ローテーターのプリセット確認を色々飽きるくらいやっています。気づいたのはスケッチのmap機能をつかった時の0°以下にした時の時のmapでの設定値が以上に大きな値になることがありました。動作上はエラーは無いですが、値が気になっています。使い方がまずいのかもしれません。少し見てみようかと思います。

つづく?