21:26納得の不安定ブラシレスモーターの自作ドライバーを製作するにあたり、主として参考にしているのがCQ出版の「モーターの動かし方早分かり」である。6通りの割り込みルーチンで、どのような状態に変化させるべきか?上記の参考本を見ながら慎重に確認すると、理屈通りで良さそうだ。自分が実験で試したパターン変化と理屈を照合すると、6通りのうち2通りが入れ替わっている。理屈の方に合わせてプログラムを修正すると、動きが改善された。1秒以上連続して回転することが増えた。・・・改善はしたが、マトモな動作には程遠い。そこで、アプローチを変える。初期試験のような、オープンループ制御に変える。ホールセンサーの状態から現在の相が6通りのどれであるかを読み取り、その隣接相に移行させる。それだけの処理を無限ループさせれば、勝手に回転し続けるはずだ。ところがこれも、同じぐらい不安定である。回転しなかったり、強烈な保持力を持って回転が停止したり、回転しても数秒で止まったり。いやもうこれ、箸にも棒にも掛からない。ここまで酷いと、さすがにホールセンサーが疑われる。例によってオシロのプローブを取り付けるのが至難なので確認しなかったが、ここまで理屈通りに動いてくれないと、何としてでもオシロの確認は済ませる必要がある。通電しないモーターを手で回し、ホールセンサーのうちの1つをチェック。手動なので回転は一定せず、速度も遅い。普段のオシロではなかなか拝めない、1ブロック1秒である。結果は、綺麗な矩形である。期待通りであり、ホールセンサー出力がこの状況なら誤動作はない。実際、手動で回しての相番号付けでは、正確にカウントアップ・カウントダウンが確認できていた。ところが、通電すると一気におかしくなった。放置状態では回転が開始せず、モーターは「ジ・・ジ・・・ジ・・・」と異音を発するだけ。ホールセンサーには、強烈なノイズだけが出ている。回転しても、DUTYが50から離れまくり、ノイズ出まくり。スムーズに回転してくれない。スムーズに回転している時でも、ノイズは酷いものだ。ここまでノイズが入ると、LとHを取り違える頻度が無視できそうにない。想定しないタイミングで割り込みが発生し、意図しない相に移行して回転が止まると思われる。ホールセンサーの状態を読み損なって、相の判定を誤れば、隣接相に連続移動させても回転しないだろう。本の回路を見ると、明らかにホールセンサー出力にローパスが入っている。モーターが回転すると盛大なノイズが発生するので、センサー出力にはローパスを入れるべきだったのだ。手で回した場合は、ノイズが発生しない。ステッピングモーターの方は、エンコーダーはモーター外にくっついているし、光学式なのでノイズの影響を殆ど受けなかったのだと思われる。