「Arduinoの基礎 - ステッピングモータ」の版間の差分

ナビゲーションに移動 検索に移動
106行目: 106行目:
  }
  }
  </source>
  </source>
<br><br>
==  A4988 ==
このセクションでは、ステッピングモータはNEMA17 17HS2408、ステッピングモータドライバはA4988を使用する。<br>
<br>
==== A4988のピン配置 ====
A4988のピン配置は、下図の通りである。<br>
<br>
* ENABLEピン
*: Lowにすると出力が有効になり、Highにすると出力が無効になる。
*: <br>
* MS1ピン / MS2ピン / MS3ピン
*: ステップモードを設定する。(下表を参照)
*: プルダウン抵抗があり、何も接続しない場合は全てLow(フルステップ)になる。
<center>
{| class="wikitable"
|-
! MS1ピン !! MS2ピン !! MS3ピン !! マイクロステップ
|- style="text-align:center;"
| L || L || L || フルステップ
|- style="text-align:center;"
| H || L || L || <math>\frac{1}{2}</math>
|- style="text-align:center;"
| L || H || L || <math>\frac{1}{4}</math>
|- style="text-align:center;"
| H || H || L || <math>\frac{1}{8}</math>
|- style="text-align:center;"
| H || H || H || <math>\frac{1}{16}</math>
|}
</center>
<br>
* RESETピン
*: Lowの時はトランスレータへの入力をリセットして、Highになるまで入力を無視する。(トランスレータへの入力とは、STEP、DIR、MS1、MS2、MS3である)
*: <br>
* SLEEPピン
*: Lowで電力消費を最小限にするスリープモードにする。
*: SLEEPピンとVDDピンの間にプルアップ抵抗があるので、接続しない状態ではHighとなる。
*: <br>
* STEPピン
*: パルス信号を入力して、モータを回転させる。
*: パルス信号の立ち上がり時に、モータの回転を1つ進める。
*: 17HS2408は、2相ステッピングモータであり、基本回転角は1.8[度]である。
*: フルステップ(1.8[度])で、<math>\frac{360 \mbox {[deg]}}{1.8 \mbox {[deg/step]}} = 200 \mbox {[step]}</math>で1回転する。
*: <br>
*: どのくらい、どちらの向きに進めるかは、DIR、MS1、MS2、MS3の組み合わせで決まる。DIRピンのLowとHighで進む向きが変わる。
*: また、STEPピンに入力するパルス信号の最小幅は、High / Lowともに1[µs]である。
*: <br>
* VDDピン
*: ロジック電源電圧(3〜5.5[V])で、3.3[V]と5[V]ともにサポートしている。
*: <br>
* VMOTピン
*: モータ駆動用の電源電圧である。最大35[V]である。(8〜35[V])
*: ドライバ保護のため、デカップリングコンデンサをモータ供給電源に接続する。
*: 容量は、100[µF]程度(最低でも、47[µF])にする。
*: <br>
*: 17HS2408の定格電流は、0.6[A]である。
*: このセクションでは、DC供給電源は、Tacklife製MDC01を使用している。
*: <br>
* A1ピン / A2ピン / B1ピン / B2ピン
*: ステッピングモータとの接続ピンである。
*: モータの仕様を確認すること。
*: 17HS2408の付属のコネクタ(JST-PHコネクタ)では、下図の色のように指定されている。
*:
<br>
==== A4988の出力電流制限の設定 ====
A4988では、出力電流の制限設定はポテンショメータで設定できる。<br>
<br>
ステッピングモータへの最大制限電流I<sub>max</sub>は、下式で計算できる。<br>
ここで、R<sub>cs</sub>は電流検出抵抗であり、旧モデル(2016年12月まで)のA4988では0.050[Ω]、新モデル(2017年1月以降)では0.068[Ω]である。<br>
<math>I_{max} = \frac{V_{ref}}{8 \times R_{cs}}</math>​<br>
<br>
<u>※注意</u><br>
<u><math>I = 2.5 \times V_{ref}</math>として電流の制限値を示している情報が見かけるが、それは、0.050[Ω]での計算値である。</u><br>
<u>新モデルのA4988では0.068[Ω]なので、<math>I = 1.84 \times V_{ref}</math>である。</u><br>
<br>
2相ステッピングモータの各コイルに流れる電流は、フルステップモードでおよそ制限電流の70[%]となる。<br>
そのため、コイルに流れる電流を0.6[A]に制限する場合は、<math>\frac{0.6}{0.7} \approx 0.86 \mbox {[A]}</math>を最大電流になるように設定する。<br>
したがって、以下の計算式からV<sub>ref</sub>が決まる。<br>
<math>
\begin{aligned}
V_{ref} &= 8 I_{max} R_{cs} \\
        &= 8 \times 0.86 \times 0.068 \\
        &\approx 470 \mbox {[mV]}
\end{aligned}
</math><br>
<br>
V<sub>ref</sub>は、ポテンショメータとGND間で測定できる。<br>
また、V<sub>ref</sub>の調整は、ポテンショメータを回して行う。<br>
調整する時は、マルチメータのマイナス端子をGNDに接続して、プラス端子をクリップで金属製の精密ドライバを繋いでポテンショメータを回すと調整しやすい。<br>
このセクションでは、約470[mV]になるように設定している。<br>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:Arduino]]
[[カテゴリ:Arduino]]

案内メニュー