United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

Arduinoでステッピングモータを制御する

これまでステッピングモータを使ったことはなかったのだが、最近になってモータを精密にコントロールする必要がでてきた。この記事ではArduinoとモータシールドを使ってステッピングモータを動かしたときの出来事を振り返り、必要となった知識をまとめていく。

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

ステッピングモータは複数のコイルにパルス信号を順番に送ることによって、一定角度ごとに回転するモータである。ステッピングモータの回転数はパルスによって制御できるため正確な位置決めや速度制御が可能であり、プリンターなどの高い精度が求められる場面で使用されている。ステッピングモータにはユニポーラ駆動とバイポーラ駆動の2種類があり、それぞれ動作原理と駆動方法が異なる。

Arduinoモータシールド

ステッピングモータを動かすにあたって、外部回路の製作や配線作業を減らすためにシールドを使用した。使ったのはL298デュアルフルブリッジドライバが搭載されたArduinoモータシールドである。DCモータを2つ、またはステッピングモータを1つ制御することができる。

使用したステッピングモータ

ステッピングモータはこちらのものを使用した。リード線が5本あるが、このうち1本は共通のGNDとなっている。GNDピンを使用した場合はユニポーラ駆動となり、使用しない場合はバイポーラ駆動として使用できる。使用したArduinoモータシールドはバイポーラ駆動専用のため使用する線は4本となる。

電源について

モータを12Vで駆動させるため、モータシールドに給電する12Vと制御用の電源5Vを回路的に遮断する必要がある。モータシールドには初期状態でモータ駆動電源としてArduino本体からの5Vが供給されているのだが、ここに直接外部電源の12Vを接続すると回路が破損してしまう。このArduinoモータシールドは回路を遮断することでモータの駆動電源を分けることができる。遮断箇所は公式ページに記載されている。

ステッピングモータの配線

ステッピングモータのリード線が内部でどのコイルにつながっているかを知るためには、データシートを見ればよい。調べてみると、青と黄が一つのコイルを接続され、ピンクとオレンジがもう一つのコイルと接続されていることがわかった。ステッピングモータを動かすには一つのコイルをひとまとめにして回路に接続する必要があるため、写真のように配線すればよい。今回はバイポーラ接続のため赤の線(GND)は使用しない。もしデータシートがみつからず、内部の結線がわからない場合はテスタを使って判別するといいだろう。両端の抵抗値が低ければ、それは内部でコイルがつながっているということである。

プログラミング

スケッチはArduino Forumから探してきた。動作をさせるために修正する必要があるのは3行目の変数stepsPerRevolutionの値である。この変数はステッピングモータが一回転するために必要なステップ数を表す。データシートにステップ角(1ステップあたりの回転角)が記載されているなら、計算によってステップ数を導くことができる。今回使用したステッピングモータはステップ角が11.25°であったので、計算すると

360/11.25 x 64 = 2048

となった。64はギアヘッドの減速比である。すぐにはうまくいかないかもしれないが、何度か実際にステッピングモータを動かしてみながら調節するとよいであろう。

Trainee Electronics Engineer, currently studying towards my degree in Electronic Engineering at the University of Hudderfsield. Completed my HND in Electrical & Electronic Engineering from Bradford College 2017. Love to try new things and build interesting projects!