• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

手持脱机步进电机控制器

2019/08/14
125
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

Gerber_pcb_20190814130154.zip

共1个文件

手持脱机步进电机控制器


简介:
不知道各位小伙伴们常不常用步进电机,因其精确的控制性很容易实现步进电机的角度和速度控制,然而也因为此特性导致在前期对步进电机调试时比较繁琐;所以结合arduino nano和A4988,我们开源一款方便测试步进电机,同时又可烧写不同程序实现移植复用的手持脱机步进电机控制器。

材料:

品名 单价 数量 合计
arduino nano 12 1 12
A4988步进电机驱动 2.9 1 2.9
3.5mmDC插座 0.8 1 0.8
排插7pin 0.09 4 0.36
排插8pin 0.12 2 0.24
排插4pin 0.08 1 0.08
XH2.54,4pin弯针 0.04 1 0.04
导线 0.1 18 1.8
洞洞板,3x7cm 2.5 1 2.5

接线图

烧录代码:

int Msteppin=7;

int Mdirpin=6;

int Menpin=8;

int i=200;

int BUTTON1 = A2;

int BUTTON2 = A3;

char key;

void setup()

{

pinMode(Msteppin,OUTPUT);//驱动

pinMode(Mdirpin,OUTPUT);//方向

pinMode(Menpin,OUTPUT);//使能

digitalWrite(Menpin,LOW);

pinMode(A2,INPUT_PULLUP);//A2上拉

pinMode(A3,INPUT_PULLUP);//A3上拉

Serial.begin(9600);

}

void a()

{digitalWrite(Mdirpin,HIGH);

int i=0;

while(i<200)

{digitalWrite(Msteppin,HIGH);

delayMicroseconds(800);

digitalWrite(Msteppin,LOW);

delayMicroseconds(800);

i++;}

}

void b()

{

digitalWrite(Mdirpin,LOW);

int i=0;

while(i<200)

{digitalWrite(Msteppin,HIGH);

delayMicroseconds(800);

digitalWrite(Msteppin,LOW);

delayMicroseconds(800);

i++;}

}

void loop()

{

while (digitalRead(BUTTON2) == LOW)

{ a();Serial.println('0'); }

while (digitalRead(BUTTON1) == LOW)

{ b();Serial.println('c'); }

int key=Serial.read();

switch(key)

{ case'0':a();delay(10);break;

case'c':b();delay(10);break;

case't':a();delay(1000);b();delay(1000);break;

default:break;

}

}

视频展示:

  • Gerber_pcb_20190814130154.zip
    下载
    描述:手持脱机步进电机控制器pcb

相关推荐