モータードライバL6470とArdinoでステッピングモーターを制御する

# はじめに
ArduinoとL6470を使ってステッピングモーターを制御する方法を紹介します
初心者向け

注意：L6470は秋月とストロベリー・リナックス版の二種類があります．
どちらか必ず確認し仕様書にしたがって組み立てましょう

### 見分け方
電源を入れるとLEDで光る→秋月
光らない→ストロベリー・リナックス
ピン数も違います
![Evernote Camera Roll 20161222 123907.jpg](https://qiita-image-store.s3.amazonaws.com/0/176479/3c0186a6-5f43-2d71-eea1-05de9891da37.jpeg)



## 手順
### ステッピングモータードライバーL6470をはんだ付け＋ジャンパ設定をする
#### ばらばらになっているパーツを説明書通りはんだ付けする
![Evernote Camera Roll 20161222 123906.jpg](https://qiita-image-store.s3.amazonaws.com/0/176479/79a12e7f-eb00-25c2-1e6f-b81ff9bc0b82.jpeg)
#### ジャンパ設定
##### ストロベリー・リナックス版のジャンパー
![S__7594006.jpg](https://qiita-image-store.s3.amazonaws.com/0/176479/050fd1b6-5ffa-35fb-979f-c27a427b034a.jpeg)
<img width="366" alt="screenshot.png" src="https://qiita-image-store.s3.amazonaws.com/0/176479/3d8789d0-fbde-b925-7c92-7ef3f36d6e21.png">
###### 秋月版のジャンパー
![S__7594007.jpg](https://qiita-image-store.s3.amazonaws.com/0/176479/d48595e1-675a-bded-00a5-6fd390388f79.jpeg)

<img width="201" alt="screenshot 2.png" src="https://qiita-image-store.s3.amazonaws.com/0/176479/7e3b86c6-42e4-88cb-8e8e-9abe91130a5b.png">

## 使用するステッピングモーターの仕様書を確認して接続方法を確認する 
（今回のステッピングモーターはバイポーラ　ステッピングモーターＳＭ－４２ＢＹＧ０をためしています）
<img width="496" alt="screenshot 3.png" src="https://qiita-image-store.s3.amazonaws.com/0/176479/69ad8568-7049-6eab-a9fe-d27ef47ac9aa.png">

![Scannable の文書 -2016-12-22 12_41_23-.png](https://qiita-image-store.s3.amazonaws.com/0/176479/1de06c9c-a17c-7d2e-9afc-6c2f16f90df3.png)
## 電源周りのセッティング（モーター電源） 
プラスマイナス間違えるとドライバーが壊れそうなので要確認
![Evernote Camera Roll 20161222 125443.jpg](https://qiita-image-store.s3.amazonaws.com/0/176479/8b4b8f1c-97e0-8a39-8882-45cc12d39ed6.jpeg)
![Evernote Camera Roll 20161222 125444.jpg](https://qiita-image-store.s3.amazonaws.com/0/176479/4371e876-cc9b-a3d6-7296-384d2ff0a7fa.jpeg)
全体的な配線はこんなかんじになりました
![Evernote Camera Roll 20161222 125749.jpg](https://qiita-image-store.s3.amazonaws.com/0/176479/4209dfd1-db73-84b6-e6d6-a2a7091fcef7.jpeg)
### 制御するマイコン側の配線
（Arduino UNO編・ストロベリー・リナックス制用　秋月版はちょっとピンの位置が違うので気をつけましょう） 

参考サイトはココ 
北の国から電子工作（仮）様は大分お世話になっています
http://spinelify.blog.fc2.com/blog-entry-1.html
このさきのURLを参考にプログラムをコピペして動いてくれるか確かめましょう 
つなげ方
##### ストロベリー・リナックス
<img width="382" alt="screenshot 2 (1).png" src="https://qiita-image-store.s3.amazonaws.com/0/176479/2c5ad1d4-3a21-1972-3ee4-8fa58706cb62.png">
##### 秋月
番号がストロベリー・リナックスと異なるので注意しましょう
<img width="357" alt="screenshot 3 (1).png" src="https://qiita-image-store.s3.amazonaws.com/0/176479/a4daa769-b416-bd37-90d6-0cdbd52082df.png">

### 制御と値
<img width="356" alt="screenshot 5.png" src="https://qiita-image-store.s3.amazonaws.com/0/176479/c04ae8b1-369d-a755-8d5e-fca97e4519e0.png">
一応このステッピングモーターで試したのですが，#12026の例で若干脱調しかかっていたので，中型モータの例の値も使ってみながら，いい感じの値を探しましょう・・・．

北の国から電子工作（仮）様のArduinoで簡単に動かすスケッチをダウンロードしましょう
http://spinelify.blog.fc2.com/blog-entry-41.html
注：これをためす場合はBusyピンを入れましょう


### コマンドの送り方
<img width="309" alt="screenshot 2 (2).png" src="https://qiita-image-store.s3.amazonaws.com/0/176479/82f2de79-ad4a-255a-cdb5-494048ffe14b.png">
<img width="279" alt="screenshot (1).png" src="https://qiita-image-store.s3.amazonaws.com/0/176479/897d60c6-46cd-6fc0-af50-ade4d70e9c13.png">


### その他
#### 便利機能について
・北の国から電子工作（仮）様のサイトに，どの角度でどんなスピードでなどドライバーから値を取得する方法が載っています．
・機能がよくわからなかったらまず北の国から電子工作（仮）様のサイトのサンプルプログラムを参考に説明書を読んだほうがよいと思います

#### Mark命令で逆回転させる方法
Mark（指定の値まで回転させる）命令があるのですが，MarkはMarkレジスタまで一番回転数が少ない方向で回ります
例えば回転方向を指定してどれくらい回転させるということができません
ただしMarkレジスタは０〜3FFFFFの範囲しかないので
初期設定でMarkレジスタに3FFFFFを入れて，次に3FF000に行けと命令を出すと逆回転することができます

## 参考文献
北の国から電子工作（仮）様
http://spinelify.blog.fc2.com/

間違っているところなどありましたら教えていただけると幸いです．