無線ブログ集
メイン | 簡易ヘッドライン |
MODEL 1200FXローテーターその27 (2022/11/3 5:59:47)
ふとESP32DevKitCのサーバー化を検討中に、ローテーターの停止ルーチンで大切なポイント(確認項)の不足があることに気づきました。大切なポイントとは、ローテーターの停止設定値に対してある位置からローテーターを回転させて、角度の差分が近づいてきた時にブレキー的なルーチンを入れて停止させてゆくのですが、肝心の差分が0となった時の停止設定を入れてませんでした。(一番重要なルーチン)ファンクション化して動作確認中はスケッチはあったのですが、いつの間にか削除してしまってました。時折でしたがローテーターがいったりきたりが多かったりする原因になっていました。(設定値と同じ角度になった時も動いてしまう原因)不足スケッチの追加でのデバッグ修正になります。case
1: case:-1の処理時に差分値をdelta2 = 0とするスケッチも追加。
■定義域のRotSTOP()ファンクション
void RotSTOP(){
digitalWrite(ledcw,0);
digitalWrite(ledccw,0);
Houkou = 0;
delta=0;
delta2=0;
}
digitalWrite(ledcw,0);
digitalWrite(ledccw,0);
Houkou = 0;
delta=0;
delta2=0;
}
■Void loop(){ルーチン内の修正箇所
〜略
delta2 = Readkakudo-kakudo;
switch(delta2){
case 6 :RotCW();
delay(10);
break;
case 5 :RotCW();
delay(10);
break;
case 4 :RotCW();
delay(10);
break;
case 3 :RotCW();
RotCW();
RotCCW();
delay(10);
break;
case 2 :RotCW();
RotCW();
RotCCW();
delay(10);
break;
case 1 :RotCW();
case 6 :RotCW();
delay(10);
break;
case 5 :RotCW();
delay(10);
break;
case 4 :RotCW();
delay(10);
break;
case 3 :RotCW();
RotCW();
RotCCW();
delay(10);
break;
case 2 :RotCW();
RotCW();
RotCCW();
delay(10);
break;
case 1 :RotCW();
delta2=0;
delay(10);
break;
case 0 :RotSTOP();
case 0 :RotSTOP();
delay(10);
break;
case -1:RotCCW();
case -1:RotCCW();
delta2=0;
delay(10);
break;
case -2:RotCCW();
RotCCW();
RotCW();
delay(10);
break;
case -3:RotCCW();
RotCCW();
RotCW();
delay(10);
break;
case -4:RotCCW();
delay(10);
break;
case -5:RotCCW();
delay(10);
break;
case -6:RotCCW();
delay(10);
break;
default:
break;
}
break;
case -2:RotCCW();
RotCCW();
RotCW();
delay(10);
break;
case -3:RotCCW();
RotCCW();
RotCW();
delay(10);
break;
case -4:RotCCW();
delay(10);
break;
case -5:RotCCW();
delay(10);
break;
case -6:RotCCW();
delay(10);
break;
default:
break;
}
略〜
上記の停止項(case
0)の追加で完全に、動いてゆき回転停止する時の設定角度近辺でのいったりきたりする動作は、ほぼ皆無となりました。
ローテーターを停止しない状態で、いったりきたりさせるボタン操作はローテーターのギヤを壊す原因となることがあるらしく、回転方向を変える場合は必ず停止状態を作り、それから元と逆の回転動作を行う様にする事でギヤの破損を防ぐ事が出来ると、ある社長さんからエモトの社長さんとの話した時の情報ということで教えて頂いていました。DXを追いかける時のSメータを見てのCW、CCWのSW操作は、回転が停止しない状態の時に逆方向のSWを押さない様にとの事です。DX局はすぐには逃げませんからね。ローテーターを長く使用するためには、慌てた回転動作は禁物という事です。(アンテナ自体の指向性はHF帯のアンテナではブロードですから少しぐらい方向が違っても送受信での影響はないと思っていいかと思います。(UHF/SHF帯では違いますが
Hi!))
ローテーターには重いアンテナがのっていますから、急には止まれなないし、この時の逆回転ではギヤが壊れるというのは納得出来ますね。手動操作時でも注意は必要ですね。Hi!
部屋の中でのテストで、ローテーターには何もついていない無負荷で、気づいてよかった修正でした。
つづく?
execution time : 0.018 sec