即上篇用DM420控制电机尝试后,改用DRV8825控制电机。
目的:尝试使用小型电机控制器
电机:CTM28-0602-50
电流:0.5A 螺距:2MM
DRV8825简介:
连接方式
实际连接方式
DRV8825 MEGA2560
ENABLE 32 不操作电机时, 保持高电平,如悬空或一直低电平电机发热
RESET-SLEEP
STEP 30
DIR 31
FLT 5V POWER处
GND GND
A1 电机A+
A2 电机A-
B1 电机B+
B2 电机B-
VMOT接电机驱动电源+(我用12V+)
GND接电机驱动电源GND
源码同上一个420的
void smmsteper(int enpin, int trunpin, int pwpin, int step, int trun) {
pinMode(enpin, OUTPUT);
digitalWrite(enpin,LOW);
pinMode(trunpin, OUTPUT);
digitalWrite(trunpin,trun);
for (int i = (1); i <= (step); i = i + (1)) {
pinMode(pwpin, OUTPUT);
digitalWrite(pwpin,HIGH);
delay(1);
pinMode(pwpin, OUTPUT);
digitalWrite(pwpin,LOW);
delay(1);
}
pinMode(enpin, OUTPUT);
digitalWrite(enpin,HIGH);
}
void setup(){
Serial.begin(9600);
}
void loop(){
if (Serial.available() > 0) {
String item = Serial.readString();
Serial.println(item);
smmsteper(32, 31, 30, 100 * String(String(item).substring(1,String(item).length())).toInt(), String(String(item).substring(0,1)).toInt());
}
}
步进数量个数不同,因为模式我没有做处理直接悬空,最长距离53*100