控制任务

通过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都是低电平,使用全步进模式。