Darkside(https対応しました)

2025年01月21日の記事

2025年1月21日(火) 20:28

モーターは回らない

 低速回転では、ホールセンサーの値を見ない。
 与える正弦波の位相を一方的に決めて垂れ流す。すると、十分な電圧で駆動するステッピングモーター同様に、位相変化に従って回転する。
 送信機のスティック値を元にして、位相の進行の大きさを決定し、単純に加算を行って新しい位相を決めている。

 送信機のスティック値を無視して位相の進行の大きさを決定(固定値)し、単純に加算を行って新しい位相を決めるとモーターはスムーズに低速回転する。つまり、おかしいのは移送進行度を引いているテーブルの部分しか考えられないのだ。処理が単純過ぎて、バグりようがないのだが・・・コンパイルエラーを疑い、固定値からテーブル引きに書き戻して実行。
 やはり突然動作がおかしくなる。取得値が極めて不安定になっているかのような、不安定な回転になる。意味不明。

 スティック取得値を表示させても正常だったが、テーブルで引いた値を表示させてみよう。ただ、どうも16ビット dsPIC 用のコンパイラーって sprintf がバグってるんだよな。32ビット値の表示がうまく出来ないのだ。過去それで散々デバッグに支障が出ている。
 16ビットで切って表示させると、テーブル引きも問題なくできている。

 でも、モーターは回らない。

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

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

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4