ステッピングモーター制御ライブラリを作りたい(その2)「脱調を防ぐ方法」

その1はこちらです。

 前日、ステッピングモーターと、脱調について簡単な説明をしました。前日の説明と被りますが、

主な脱調の原因は

  1. 完全停止状態からの急発進。
  2. 高速回転中の急停止。
  3. 電気信号を送る間隔を短くしすぎる。
  4. とても重い物を動かす。

と言われています。
 cについては、電気信号を送る(以降ステップと呼びます)間隔を短くしすぎなければ良いですし、dは重い物を動かすことが出来るモーターを選べばよい話です。a bは、簡単に解決できる問題ではないので、今回から考えていきます。

急発進・急停止をしない工夫

 急発進・急停止はしないようにする方法はいくつか方法があります。その説明のために、前日のと同じく1ステップ1.8度のモーターを例に挙げます。

180度を急発進・急停止

f:id:takumus:20160911135302g:plain  これはflashでシミュレーションしたステッピングモーターなので脱調は起こりませんが、急加速、急停止をしていることが分かります。実際にこれを行うと、脱調してしまうかもしれません。

180度を徐々に発進・徐々に停止(台形型)

f:id:takumus:20160911140028g:plain  次は、徐々に加速し、徐々に減速するようにしました。これはステッピングモーター制御で良く行われる方法のひとつです。今回は、30ステップ分を加速と減速のために使っています。合計60ステップです。こうすることで、急な加速と停止は少なくなりました。しかし、台形の上辺の頂点に当たる部分で加速の大きな変化があります。これもまだ脱調の心配があるのです。それも無くしたいです。

180度を徐々に発進・徐々に停止(S字型)

f:id:takumus:20160911141255g:plain  台形での加速の変化をさらに少なくした物がこれです。今回はcos波を使って再現したのでカーブがやや急ですが、その辺は検証しながら調整したいと思います。(未だ実物を持っていないので笑)台形と同じく、30ステップ分を加速と減速に使っています。台形に比べて角が取れています。つまり急な速度変化が無くなったので脱調の可能性はグンと下がりました。

今回はここまで

 です。
 脱調が起きる原因と、それを防ぐいくつかの方法を紹介しました。このままではまだ問題があるので、次回その問題の解決を考えていきます。

その3はこちらです。