Darkside(https対応しました)

2025年02月02日の記事

2025年2月2日(日) 21:00

操作激変緩和

 サスペンション保持パーツを剥がしたところ、シャフト部分で断裂してしまった。これは、剥離防止まで考慮したパーツを再プリントだな。

 さてSタンクと今回の機動戦闘車は、同じ走行用モーターを使っている。ターン数だけが異なり、Sタンクの走行用は13.5Tなのに対し機動戦闘車は15.5Tだ。ただし制御基板には差がある。
 機動戦闘車は操作情報を送り出す主電源基板のマイコンがリソース手一杯でSPI通信する余裕がなく、サーボモーターの伝統的なPWMになっている。それによりSタンクではDMA転送で受信していたものがピン状態変更割り込みを活用した受信に変わっている。DMA受信だと、受信側マイコンはソフトウェア処理を必要としない。だがピン状態割り込みでは軽いがソフトウェア処理が必要になる。

 結果としてメインのモーター制御が違う。
 Sタンクでは割り込みを駆使して制御しているのに対し、機動戦闘車はポーリングだ。

 かくしてモーターは同じなのに、制御ソフトは流用できない。
 ただし、共通して使える処理はある。典型が送信機スティック状態の取得値にワンクッション入れて、取得値の激変緩和を行う処理。激しくスティックを動かしても、受信側では取得値を急変させないようにする。
 送信機のアナログジョイスティックは可変抵抗を使った古くて安い方式であるため、何年も経つと取得値が不安定になる。ラジコン戦車では急激な操作が出来なくても問題がないので、取得値の激変緩和は効果的だった。機動戦闘車は装輪戦車として考えているので、同様に激変緩和処理はデメリットが少ない。さっそく試してみた。

 低速回転が安定し、高速回転もかなり安定した。だが、急に回転が止まったり回転が上がり切らないなどの障害も、とうてい実用にならない頻度で頻発する。
 やはり高速回転はSタンク同様の矩形波駆動にしたい。相補PWMのままでは実績あるSタンクと同じ処理はできないので、PWM出力のオーバーライドを行いたい。果たして動的にオーバーライドを切り替え出来るのだろうか?
 試してみるしかあるまい。

written by higashino [エアガン機動戦闘車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL
Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4