とある科学の備忘録

とある科学の備忘録

CやPythonのプログラミング、Arduino等を使った電子工作をメインに書いています。また、木製CNCやドローンの自作製作記も更新中です。たまに機械学習とかもやってます。

ステッピングモーターとは

ステッピングモーターというモーターがあります。
この記事では、ステッピングモーターの特徴からドライバーを使った制御方法まですべてを解説します。

ステッピングモーターの特徴

ステッピングモーターはこのような形をしています。
f:id:pythonjacascript:20181104014729j:plain

ステッピングモーターの特徴を一言で表すと、「サーボモーターの角度検出器がないモーター」と言うことができます。
つまり、

・回転角度を制御可能(分解能が高い)
・回転速度を制御可能
・ただし、何度回転したかを測定するセンサーはない

のような特徴があります。

他にも、機械的特徴として

・保持トルク(停止しているときのトルク)が高い
・故障が少なく信頼性が高い(内部に電子部品がないため)

等があります。


ステッピングモーターの動作の仕組み

f:id:pythonjacascript:20181104015048j:plain
上の図は、ステッピングモーターの内部を、簡単*1に図示したものです。L1、L2、L3、L4は電磁石です。中央にあるのは磁石です。赤いほうがN極とします。この磁石はモーターの軸にくっついているので、磁石が回ると、モーターの軸も回ります。


1相励磁

では、このモーターを回転させるにはどうすればいいのでしょうか。答えは簡単です。
電磁石をL1→L2→L3→L4の順にひとつずつONにすれば、モーターは反時計回りに回転します。
f:id:pythonjacascript:20181104015916j:plain
 

L4→L3→L2→L1の順に(さっきと反対向きに)ONしていけば、反対向きに回転します。

このようにして、ONにする電磁石を1つずつ切り替える方法を「1相励磁」と言います。

この場合、一回のパルス入力で90°回ります。この一回パルスをモーターに送ると何度回るかを「ステップ角度」と言います。なので、この場合のステップ角度は90°です。
 しかし、より精密にモーターの回転角度を制御したい時は、ステップ角度がより小さくなければいけません。つまり、ステップ角度を小さくする工夫が必要です。その工夫の一つが「2-1相励磁」や「マイクロステップ」と言われるものです。



2-1相励磁

2-1相励磁」という方法を使うと、ステップ角度を半分にすることができます。どうするのかというと、
L1がONの時(下図の左側)とL2がONのとき(下図の右側)の間に、もう一つL1とL2を両方ONにするタイミングを作るのです(真ん中の図)。
f:id:pythonjacascript:20181104020341j:plain

そうすると、磁石は、L1とL2の間の位置に静止します。よって、ステップ角度が半分(この図では45°)になるのです。



マイクロステップ

「2-1相励磁」を使うと、ステップ角度を半分にすることができました。「それ以上ステップ角を小さくできる方法はないだろうか?」ということで、生まれたのが、「マイクロステップ」という制御方法です。

今までは、1つまたは2つの電磁石をON/OFFするだけでした。ですが、今回は、それぞれの電磁石の出力として、「出力100%」(ON)と「出力0%」(OFF)の間の状態である、「出力25%」や「出力50%」、「出力75%」の状態を追加します。

f:id:pythonjacascript:20181104085558j:plain

STEP1

まず、一番左の図のようにL1がONになっているステッピングモーターがあるとします。この時にL1に流している電流の量を「100%」とします。

STEP12

次に、L1に「25%」電流を流し、L2に「75%」の電流を流します。すると、電磁石は、L1とL2の間で静止します。そして、L1のほうが多く電流が流れているので、L1のほうに強く引き付けられ、電磁石が静止する位置は、L2よりもL1に近い位置になります。

STEP3

次にL1とL2に50%の電流を流します。すると、L1とL2の電流は同じなので、電磁石は、L1とL2のちょうど真ん中で静止します。

STEP4

そして、L1を出力75%、L2を出力25%に設定します。すると、L2のほうが多く電流が流れているので、その位置は、L1よりもL2に近い位置になります。

STEP5

そして、L2を出力100%にしてL1を0%(OFFの状態)にすると、電磁石は上の図の一番右の状態になります。



このようにして、1相励磁のステップ角度を4分割することができました。なので、ステップ角度は90/4で22.5°になります。

このようにして、電磁石に流れる電流の量を変えることによって、ステップ角度を小さくする方法を「マイクロステップ」と言います。

また、この場合は、ステップ角度が4/1になるので、「4/1マイクロステップ」と言います。ほかにも、ステップ角度が8/1になる、「8/1マイクロステップ」、ステップ角度が16/1になる、「16/1マイクロステップ」などがあります。


ステッピングモーターの実際の形

今まで説明してきた図は、あくまで簡略図であり、本物のステッピングモーターはあのような形状をしていません。

実際のステッピングモーターはこのような中身です。


このギザギザ一つ分の角度が、1相励磁のときの1ステップ角度となります。


ユニポーラとバイポーラ

ステッピングモーターにはユニポーラ型とバイポーラ型があります。
ユニポーラの「ユニ」は「単極性」を表していて、コイルに電流が一方向にしか流れません。
一方、バイポーラの「バイ」は「双極性」を表していて、コイルに電流を双方向に流すことができます。そのため、各コイルの中間点からも線が伸びているのがわかると思います。
f:id:pythonjacascript:20181104221706p:plain


 

脱調とは

モーターの回転数には限界があり、回転速度を大きくしすぎたり、回転軸に必要以上の力を加えたりすると、モーターのシャフトの回転がコイルの電磁波の回転(理想)に追い付かなくなります。そうなると、信号は入力しているのに、モーターが回らないという現象が起こります。このことを「脱調」と言います。脱調は、モーターの軸にかける力を大きくすればするほど(重いものを動かそうとすればするほど)、信号を速くればするほど起こりやすくなります。



この知識を利用して、実際にステッピングモーターを動かしてみました。
shizenkarasuzon.hatenablog.com

*1:実際の形状とは全く違います。動作の仕組みを表すためにとても簡略化して書いています。