ESP32とL6470でモータを回してみた②【オシロスコープ観察】
ESP32とL6470を使ってステッピングモータを回したシリーズの記事が増えてきたので「もくじページ」を作成しました。→もくじページのリンク
前回までの振り返り
・自作のESP32基板とL6470使用 ステッピングモータドライブキット(以後L6470)を使い、ステッピングモータの回転に成功しました。
今回やったこと
ステッピングモータの回転原理、マイクロステップについて調べてみた。
オシロスコープを使用し、L6470からの出力を確認した。
使用した部品や機器など
①ESP32基板
自分で設計したESP32ですが、もちろん他からの購入しても同じです。
②L6470使用 ステッピングモータードライブキット
秋月電子通商から購入しましたが、ストロベリー・リナックスでも同様の基板を購入できるようです。
③ステッピングモータ
こちらも秋月電子通商から購入したバイポーラー ステッピングモーター「 ST-42BYH1004」です。2相バイポーラステッピングモータであれば、なんでもいいです。
④オシロスコープ
岩崎通信のデジタル・オシロスコープ DS-5107B
電子回路を勉強するのに便利かと思い数年前に中古品を2~3万円で購入しました。全く使用していませんでしたが、今回初めて使いました。使い方はよくわかりませんが、USBメモリに画像を出力できました。

https://www.iwatsu.co.jp/tme/ds/ds5100b/
ステッピングモータの動作原理と、マイクロステップ
その昔、ステッピングモータは、「①A相ON→②B相ON→③A逆相ON→④B逆相ON」のように、カチカチとコイルに電流を切り替えながら、ロータ(回転子)を回していたました【図1】。なお、図にはコイルを4つしか描いてませんが、実際はもっと細かく配置されています。

しかし、振動と騒音が大きかったので、「①A相ON→②A相ON+B相ON→③B相ON→④B相ON+A逆相ON・・・・」とすることで、細かい動きとなり振動や騒音がマシになった【図2】。

さらに、それぞれのコイルを100%でONするのではなく、連続的に変えたら、もっと滑らかに動かせるのでは?ということで、さらにステップを細かくしたのがマイクロステップのようです【図3】。

オシロスコープでL6470からの出力をみた
実際にステッピングモータが回っているときのL6470出力をオシロスコープでみてみました。
オシロスコープの入力をA相、グラウンド線をもう一つのA相(逆相)に接続しました(図では省略していますが、ESP32やステッピングモータも接続しています)。

オシロスコープで取得した波形は、+と0が繰返し出力された後に、0と-が繰返し出力されるような波形(塗りつぶされた矩形波)となりました。さらに拡大してみると1個のパルス幅が経時的に変化していることがわかります。
これはコイルに流れる電流が正弦波に近くなるように+側から-側(-側から+側)に切り替わる瞬間(ゼロクロス付近)は狭いパルス幅で、正弦波のピークに向かってパルス幅が徐々に広くなるよう連続的な変化をさせているからです。
なお、定格よりも高い電圧の電源を接続しても使えるように、L6470がON時間を長くしすぎないようにうまく調整しながらパルスの幅を変えてくれています。
どのくらいの電圧で動作させるかは、ソースコードのKVALで設定できます(デフォルト値(0x29)では最大の電源電圧の16%の電圧)。
