即上篇用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
如果觉得《arduino 2560 DRV8825 控制步进电机》对你有帮助,请点赞、收藏,并留下你的观点哦!