Arduino控制TB6600驱动器+42步进电机
https://blog.csdn.net/dongyan3595/article/details/122388869
int PUL = 7; //定义脉冲引脚 int DIR = 6; //定义方向销 int ENA = 5; //定义启用引脚 int RESET = 4; //定义复位传感器 /** * TB6600驱动器 . 42两相四线步进电机 */ void setup() { pinMode (PUL, OUTPUT); pinMode (DIR, OUTPUT); pinMode (ENA, OUTPUT); pinMode (RESET,INPUT); Serial.begin(9600); // 初始化复位 - 转3圈 for (int i = 0; i < 4800; i++) //前进4800步 SW1=OFF,SW2=ON,SW3=OFF(每圈1600脉冲) { digitalWrite(DIR, LOW); // 定义正转 digitalWrite(ENA, HIGH);// 启动 digitalWrite(PUL, HIGH);// 输出脉冲 delayMicroseconds(2000); digitalWrite(PUL, LOW); // 复位传感器 int reset = digitalRead(RESET); if(reset == 0) { // 监测到达复位位置后停止转动 break; } delayMicroseconds(2000); } } void loop() { for (int i = 0; i < 1600; i++) //正转1圈 { digitalWrite(DIR, LOW); digitalWrite(ENA, HIGH); digitalWrite(PUL, HIGH); delayMicroseconds(50); digitalWrite(PUL, LOW); delayMicroseconds(50); } delay(10000); // 暂停10秒 for (int i = 0; i < 1600; i++) //倒转1圈 { digitalWrite(DIR, HIGH); digitalWrite(ENA, HIGH); digitalWrite(PUL, HIGH); delayMicroseconds(50); digitalWrite(PUL, LOW); delayMicroseconds(50); } } ————————————————