回复
【树莓派入门】(八)| 树莓派 A4988 驱动42步进电机
hushuo
发布于 2020-12-31 13:50
浏览
0收藏
在树莓派入门(三)里面我介绍了如何驱动步进电机,当时驱动的步进电机是那种比较简单精度不是那么高的电机,今天我们驱动的是比较复杂的步进电机。当然,这里我还是以arduino为例,但是会给出树莓派的代码
这个画图软件叫(fritzing)只能进行绘图,不能进行仿真。
其中MS1 , MS2 , MS3 跳线说明:(例子里是低电平,悬空或接地线,使用全步进模式)分别是全步进,1/2步进,1/4步进,1/8步进,1/16步进模式。
步进电机走一步是1.8度,一圈就是200步。例如使用1/16步进,则需要走3200步才等于一圈。
上图中的那三根悬空的就是MS1,MS2,MS3。
下图是A4988的图,有的可能是绿色的,但是都无所谓。
下面我给出arduino的代码,看起来还是挺简单的,感兴趣的同学可以再去网上查查更多的资料。
int x;
void setup()
{
pinMode(6,OUTPUT); // Enable
pinMode(5,OUTPUT); // Step
pinMode(4,OUTPUT); // Dir
digitalWrite(6,LOW); // Set Enable low
}
void loop()
{
digitalWrite(4,HIGH); // Set Dir high
for(x = 0; x < 200; x++) // Loop 200 times
{
digitalWrite(5,HIGH); // Output high
delayMicroseconds(800); // Wait 1/2 a ms
digitalWrite(5,LOW); // Output low
delayMicroseconds(800); // Wait 1/2 a ms
}
delay(1000); // pause one second
digitalWrite(4,LOW); // Set Dir low
for(x = 0; x < 200; x++) // Loop 2000 times
{
digitalWrite(5,HIGH); // Output high
delayMicroseconds(800); // Wait 1/2 a ms
digitalWrite(5,LOW); // Output low
delayMicroseconds(800); // Wait 1/2 a ms
}
delay(1000); // pause one second
}
接下来给出树莓派的代码
#include <stdio.h>
#include <wiringPi.h>
void init();
void loop();
int main()
{
init();
loop();
return 0;
}
void init()
{
wiringPiSetup();
pinMode(6,OUTPUT); // Enable
pinMode(5,OUTPUT); // Step
pinMode(4,OUTPUT); // Dir
digitalWrite(6,LOW); // Set Enable low
}
void loop()
{
digitalWrite(4,HIGH); // Set Dir high
for(x = 0; x < 200; x++) // Loop 200 times
{
digitalWrite(5,HIGH); // Output high
delayMicroseconds(800); // Wait 1/2 a ms
digitalWrite(5,LOW); // Output low
delayMicroseconds(800); // Wait 1/2 a ms
}
delay(1000); // pause one second
digitalWrite(4,LOW); // Set Dir low
for(x = 0; x < 200; x++) // Loop 2000 times
{
digitalWrite(5,HIGH); // Output high
delayMicroseconds(800); // Wait 1/2 a ms
digitalWrite(5,LOW); // Output low
delayMicroseconds(800); // Wait 1/2 a ms
}
delay(1000); // pause one second
}
树莓派的代码和arduino的代码很像吧,确实如此,值得注意的就是,树莓派的那几个引脚是我随便写的,你们实验的时候要注意看看你们用的是几号引脚,不要一股脑跟着我写了。
赞
收藏
回复
相关推荐