Darkside(リンクエラー修正しました)

2020年2月10日(月) 21:26

納得の不安定

 ブラシレスモーターの自作ドライバーを製作するにあたり、主として参考にしているのがCQ出版の「モーターの動かし方早分かり」である。

 6通りの割り込みルーチンで、どのような状態に変化させるべきか?
 上記の参考本を見ながら慎重に確認すると、理屈通りで良さそうだ。そして自分が実験で試したパターン変化と理屈を照合すると、6通りのうち2通りが入れ替わっている。
 理屈の方に合わせてプログラムを修正すると、動きが改善された。1秒以上連続して回転することが増えた。そう・・・改善はしたが、マトモな動作には程遠い。

 そこで、アプローチを変える。
 初期試験のような、オープンループ制御に変える。ホールセンサーの状態から現在の相が6通りのどれであるかを読み取り、その隣接相に移行させる。それだけの処理を無限ループさせれば、勝手に回転し続けるはずだ。
 ところがこれも、同じぐらい不安定である。なかなか回転しなかったり、強烈な保持力を持って回転が停止したり、回転しても数秒で止まったり。
 いやもうこれ、箸にも棒にも掛からない。まるで、話にならない。

 ここまで酷いと、さすがにホールセンサーが疑われる。例によってオシロのプローブを取り付けるのが至難なので確認しなかったが、ここまで理屈通りに動いてくれないと、何としてでもオシロの確認は済ませる必要がある。

 まずは、通電しないモーターを手で回し、ホールセンサーのうちの1つをチェック。手動なので回転は一定せず、速度も遅い。普段のオシロではなかなか拝めない、1ブロック1秒である。

 結果は、綺麗な矩形である。期待通りであり、ホールセンサー出力がこの状況なら誤動作はない。実際、手動で回しての相番号付けでは、正確にカウントアップ・カウントダウンが確認できていた。

 ところが、通電すると一気におかしくなった。放置状態では回転が開始せず、モーターは「ジ・・ジ・・・ジ・・・」と異音を発するだけ。ホールセンサーには、強烈なノイズだけが出ている。

 回転しても、DUTYが50から離れまくり、ノイズ出まくり。スムーズに回転してくれない。

 一見スムーズに回転している時でも、ノイズは酷いものだ。
 ここまでノイズが入ると、LとHを取り違える頻度が無視できそうにない。

 想定しないタイミングで割り込みが発生し、意図しない相に移行して回転が止まると思われる。また、ホールセンサーの状態を読み損なって、相の判定を誤れば、隣接相に連続移動させても回転しないだろう。
 本の回路を見ると、明らかにホールセンサー出力にローパスが入っている。モーターが回転すると盛大なノイズが発生するので、センサー出力にはローパスを入れるべきだったのだ。手で回した場合は、ノイズが発生しない。

 ステッピングモーターの方は、エンコーダーはモーター外にくっついているし、光学式なのでノイズの影響を殆ど受けなかったのだと思われる。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4