使用するステッピングモーター
リニアアクチュエータ(D8-MOTOR80形搭載)仕様 駆動電圧DC 12V 1相あたり800アンペア/相 コイル抵抗15 10%Ω/相 ステップ角18。 / step 励磁法1-2相励磁 ドライブモードバイポーラドライバ 125pps 1600 ppsを超える最大応答周波数 最大開始周波数が1100 ppsを超える モーター表面温度80°C ねじ棒径3mm ねじ棒の長さ90 mm スライダストローク80mm ねじ棒ピッチ±0.5mm 長さ10.3 cm / 4.1インチ 重さ50グラム(約)
赤 → A+ 黄 → A- 青 → B+ 黒 → B-
A+ A- B+ B- はA4988ドライバに対して 1A 1B 2A 2Bとする
モータードライバー
A4988を使用
ソース
const int DIR = 8; const int STEP = 9; void setup() { pinMode(DIR, OUTPUT); pinMode(STEP, OUTPUT); digitalWrite(DIR, LOW); digitalWrite(STEP, LOW); } void loop() { digitalWrite(DIR, HIGH); for (int i=0; i<200; i++) { digitalWrite(STEP, HIGH); delayMicroseconds(2000); digitalWrite(STEP, LOW); delayMicroseconds(2000); } delay(1000); digitalWrite(DIR, LOW); for (int i=0; i<200; i++) { digitalWrite(STEP, HIGH); delayMicroseconds(2000); digitalWrite(STEP, LOW); delayMicroseconds(2000); } delay(1000); }
stepdriver版
#include <A4988.h> const int MOTOR_STEPS = 200; const int DIR = 8; const int STEP = 9; float rpm = 10; int microsteps = 30; A4988 stepper(MOTOR_STEPS, DIR, STEP); void setup() { stepper.begin(rpm, microsteps); } void loop() { stepper.rotate(360); delay(1000); stepper.rotate(-360); delay(1000); }