2022年1月20日(木) 22:13
受信メイン dsPIC のプログラムを変更してみる。
受信タイムアウトを0.3秒ぐらいにしていたのだが、試しに3秒にして動作の変化を見る。すると、モーター回転がギクシャクすることは無くなった。想定以上に、タイムアウトが多発しているということだ。
しかしタイムアウトを3秒にすると、今度は受信機の電源を切ってもモーターが間欠的に動く。これもマズい。
安定動作とフェイルセーフの両立は、なかなか難しい。
モーター回転のギクシャク防止なら、タイムアウトは1秒でも大丈夫なようだ。そして1秒にすると、送信機の電源を切った場合にモーターが規則正しく勝手に動く。これは、走行用ブラシレスモーター制御 dsPIC の側の問題だろう。
走行用モーター回転速度は、SPI受信している。送信側は走行制御 dsPIC であり、ここがノーコン時には停止(128)を送信するようにせねばならない。これで、勝手にモーターが動かなくなった。
続いて、SPI送信が途絶した場合のフェイルセーフ。
メイン基板の電源コネクターを抜いてから、主電源を入れる。案の定、走行用モーターが勝手に回転する。SPI通信途絶監視を切ってあるからだ。再び、走行用ブラシレスモーター制御 dsPIC のプログラム変更。SPI受信が途絶したらモーターは停止させるようにする。
メイン基板の電源コネクターを戻し、SPI通信が正常の時は正常に操作できることも確かめる。
これで一応普通に動作するようになったので、キャタピラを取り付ける。
部屋の中で床を走らせると、大丈夫。ただし、最高速は秒速40センチぐらいしか出ない。急坂を登るパワーも不足。ストールしても破損しないが、簡単にストールし過ぎてしまう。これではさすがに、実用パワーではない。金属ギヤ化により、どこまで安全にパワーを上げられるか、調整しつつ様子見である。
また、俯仰をボタン一発でニュートラルに戻しても、ボタンを離すと元に戻るという意図と違う動作になっている。これも、修正だ。
written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4