VCCが5Vなのを注意

ドライバ ... L6470使用 ステッピングモータードライブキット( http://akizukidenshi.com/catalog/g/gK-07024/ )
Arduino ... UNO



■ ピンアサイン(ドライバ 対 ステッピングモーター)
OUT1A ... 赤
OUT2A ... 緑
OUT2B ... 青
OUT1B ... 城


■ ピンアサイン(ドライバのCN4 対 Arduino UNO)
pin1 = D9
pin8 = D10
pin7 = D11
pin5 = D12
pin6 = D13
pin3 = GND


■ ピンアサイン(ドライバのその他)
JP1 ... pin1とpin2をジャンパでショート
VS ... 5V(5V3AのAC/DCアダプタ)
GND ... 忘れずにArduinoAC/DCアダプタ共通化



■ テストコード

#include <SPI.h>
#include <MsTimer2.h>

// ピン定義。
#define PIN_SPI_MOSI 11
#define PIN_SPI_MISO 12
#define PIN_SPI_SCK 13
#define PIN_SPI_SS 10
#define PIN_BUSY 9

void setup() {
  delay(1000);
  
  pinMode(PIN_SPI_MOSI, OUTPUT);
  pinMode(PIN_SPI_MISO, INPUT);
  pinMode(PIN_SPI_SCK, OUTPUT);
  pinMode(PIN_SPI_SS, OUTPUT);
  pinMode(PIN_BUSY, INPUT);
  
  SPI.begin();
  SPI.setDataMode(SPI_MODE3);
  SPI.setBitOrder(MSBFIRST);

  Serial.begin(9600);

  digitalWrite(PIN_SPI_SS, HIGH);

  L6470_resetdevice(); //残留コマンドの削除とリセット 
  L6470_setup();  //L6470を設定

  MsTimer2::set(100, fulash);
  MsTimer2::start();
  delay(2000);
}

void loop(){
  while (Serial.available() > 0) {
    int data = Serial.read();
    
    rotateTest();
  }
  
  //testDrive();
}

void rotateTest(){
  L6470_move(1, 32000);  
  L6470_hardhiz(); //回転急停止、保持トルクなし
  
  L6470_move(0, 32000);  
  L6470_hardhiz(); //回転急停止、保持トルクなし  
}

void L6470_setup(){
  L6470_setparam_acc(0x08A); //[R, WS] 加速度default 0x08A (12bit) (14.55*val+14.55[step/s^2])
  L6470_setparam_dec(0x08A); //[R, WS] 減速度default 0x08A (12bit) (14.55*val+14.55[step/s^2])

  L6470_setparam_maxspeed(0xFFFFFF); //[R, WR]最大速度default 0x041 (10bit) (15.25*val+15.25[step/s])
  L6470_setparam_minspeed(0x00); //[R, WS]最小速度default 0x000 (1+12bit) (0.238*val[step/s])

  L6470_setparam_fsspd(0xff); //[R, WR]μステップからフルステップへの切替点速度default 0x027 (10bit) (15.25*val+7.63[step/s])

  L6470_setparam_kvalhold(0x80); //[R, WR]停止時励磁電圧default 0x29 (8bit) (Vs[V]*val/256)
  L6470_setparam_kvalrun(0xd0); //[R, WR]定速回転時励磁電圧default 0x29 (8bit) (Vs[V]*val/256)
  L6470_setparam_kvalacc(0x80); //[R, WR]加速時励磁電圧default 0x29 (8bit) (Vs[V]*val/256)
  L6470_setparam_kvaldec(0x60); //[R, WR]減速時励磁電圧default 0x29 (8bit) (Vs[V]*val/256)

  L6470_setparam_stepmood(0x07); //ステップモードdefault 0x07 (1+3+1+3bit)
}

void fulash() {
  Serial.print("0x");
  Serial.print( L6470_getparam_abspos(),HEX);
  Serial.print("  ");
  Serial.print("0x");
  Serial.println( L6470_getparam_speed(),HEX);
}


■ その他
ライブラリはこちらのものを使用させていただいた : http://spinelify.blog.fc2.com/blog-entry-41.html
コードはこちらのものを応用させていただいた : http://d.hatena.ne.jp/seinzumtode/20130924/1380016507