控制任务
通过A4988驱动模块,控制步进电机正转反转
电路设计
见下图
程序设计
1 int x; 2 3 void setup() 4 { 5 pinMode(6,OUTPUT); // Enable 6 pinMode(5,OUTPUT); // Step 7 pinMode(4,OUTPUT); // Direction 8 digitalWrite(6,LOW); // Set Enable low 9 } 10 11 void loop() 12 { 13 digitalWrite(4,HIGH); // Set Direction high 正转 14 for(x = 0; x < 200; x++) // Loop 200 times 正转200个脉冲1圈 15 { 16 digitalWrite(5,HIGH); // Output high 17 delayMicroseconds(500); // Wait 1/2 a ms 18 digitalWrite(5,LOW); // Output low 19 delayMicroseconds(500); // Wait 1/2 a ms 20 } 21 delay(1000); // pause one second 22 digitalWrite(4,LOW); // Set Direction low 反转 23 for(x = 0; x < 200; x++) // Loop 200 times 反转200个脉冲1圈 24 { 25 digitalWrite(5,HIGH); // Output high 26 delayMicroseconds(500); // Wait 1/2 a ms 27 digitalWrite(5,LOW); // Output low 28 delayMicroseconds(500); // Wait 1/2 a ms 29 } 30 delay(1000); // pause one second 31 }
运行效果
电机正转1圈,停1秒,反转1圈,停1秒,循环
芯片及驱动模块使用
图1 A4988外围电路
表1 芯片绝对最大额定值
表2 步进细分设定方法
表2中分别是全步进,1/2步进,1/4步进,1/8步进,1/16步进模式。此步进电机走一步是1.8度,一圈就是200步。使用1/16步进时,则需要走3200步等于一圈。
图2 A4988实物图
图3 控制板、驱动模块与电机接线图1
图4 控制板、驱动模块与电机接线图2
注
MS1,MS2,MS3悬空或接地时为低电平。此例中MS1,MS2,MS3都是低电平,使用全步进模式。