この記事では、ステッピングモータ用ドライバモジュールA4988の出力電流の調整方法をご紹介します。
A4988の出力電流の調整方法はいろいろなブログで紹介されていますが、説明が不十分であったり、「本当にその内容で正しいの?」と疑問に思ったりしたので、A4988のデータシートを調べて自分なりに理解してみました。
僕と同じような疑問を抱えている人の参考になれば幸いです。
A4988のピン配置と役割
A4988のピン配置は下の写真の左上~左下、右上~右下の順に以下のようなります。
(左上~左下)
ENABLE:ENABLE/DISABLE切り替え入力端子
MS1:励磁方式設定端子1
MS2:励磁方式設定端子2
MS3:励磁方式設定端子3
RESET:リセット入力端子
SLEEP:スリープ入力端子
STEP:励磁信号入力端子
DIRECTION:回転方向入力端子
(右上~右下)
VMOT:モータ駆動電源端子
GND:グランド端子
2B:出力端子2B
2A:出力端子2A
1A:出力端子1A
1B:出力端子1B
VDD:ロジック電源入力端子
GND:グランド端子
今回の出力電流制限は2相あるステッピングモータ(1A1Bと2A2B)の各相に流れる電流の最大値になります。
この電流の最大値(定格電流)は使用するステッピングモータにより異なるので、ステッピングモータのデータシートの1相あたりの定格電流(Rated Current)を見て決めましょう。
この記事の後半によく使われるステッピングモータの定格電流をまとめたサイトを紹介しているので、必要に応じてご参照ください。
A4988の出力電流制限の設定方法
A4988の定格出力は35V、±2Aですが、ステッピングモータに流れる電流は以下に示す方法で設定した値に制限できます。
電流制限の最大値(ITRIPmax)はRSとVREF端子に入力された電圧と IC 内部に設定された分割比で決定され、以下の式で表されます。
ITRIPmax = VREF / (8 × RS)
RSはSENSE抵抗と呼ばれ、以下の写真のR4、R5に位置する抵抗です。この場合、両者ともR10という抵抗値の表示なのでRS = 0.1Ωとなります。
VREFはGNDと可変抵抗の間の電圧をテスターで測定することで求められます。VREF測定時はVDDとGNDはそれぞれArduinoの5V、GNDに接続しておきます。
可変抵抗を時計回りに回すとVREF電圧が大きくなり、反時計回りに回すとVREF電圧が小さくなります。少し回してテスターで測る、少し回してテスターで測る・・・を繰り返して調整します。
出力電流制限の具体例
ここで電流制限の最大値ITRIPmaxを1.5Aにする場合を考えます。この時、先ほどの式「VREF = ・・・」の式で書き直すと以下のようになります。
VREF = ITRIPmax × 8 × RS = 1.5 × 8 × 0.1 = 1.2 [V]
つまり、VREF = 1.2VとなるようにテスターでVREFを測定しながら可変抵抗をドライバーで回せばよいことになります。
なお、ステッピングモータの1相あたりの定格電流はステッピングモータの仕様書を見れば書いてあります。
例えば、よく使われるステッピングモータの定格電流(Rated Current)は以下のサイトに記載があります。
NEMA17ステッピングモーターの仕様はこちら。
今回紹介したA4988のSENSE抵抗は0.1Ω(抵抗値の表示はR10)でしたが、製造メーカや生産時期によって抵抗値が異なる場合があります。
その場合、抵抗値の表示(チップ抵抗に記載してある表示)を見れば抵抗値がわかります。
抵抗値の表示のR10のRは小数点を表しているので、R10は0.10Ωを表し、R100は0.100Ωを表します(つまり両方とも0.1Ωです)。
他にも、例えばR068であれば0.068Ω、R05やR050であれば0.05Ωです。
ステッピングモータの各相に流れる電流値
ステッピングモータの1相に流れる電流値はステップモードによって変わります。
Full Step:制限電流ITRIPmaxの70.71%
Half Step:制限電流ITRIPmaxの100%
1/4Step:制限電流ITRIPmaxの100%
1/8 Step:制限電流ITRIPmaxの100%
1/16 Step:制限電流ITRIPmaxの100%
つまり、Full Stepで使う場合は制限電流値の70.71%しかステッピングモータに電流が流れませんが、Half Step~1/16 Stepで使う場合は制限電流値の100%が流れるので注意が必要です。
ステッピングモータに2A以上流したい場合
A4988の定格出力は35V、±2Aなので、定格電流が2A以上のステッピングモータにはA4988は使用できません。
また、定格電流が2A以内の場合でも使用方法や使用環境によってはICチップの発熱の影響で思い通りに動かない場合も考えられます。
その時はより定格出力が大きいモータドライバーに変更することで対応できる可能性があります。
例えばTB6600というモータドライバーは最大出力電流が4Aなので、A4988よりもゆとりを持ってステッピングモータを駆動することができます。
まとめ
A4988は非常に安価なステッピングモータ用のモータドライバーなので、多くのブログで出力電流の調整方法が紹介されています。
しかし、ブログによって書いてあることが異なりどれを信じて良いのかわからなくなってしまったので、自分で調べてみました。
参考にしていただければ幸いです。
コメント
この記事へのコメントはありません。