我爱编程

菜鸟学物联网(1)arduino通过DRV8825驱动扩展板控制

2018-04-18  本文已影响0人  第六天魔王波旬

菜鸟学物联网(1)arduino通过DRV8825驱动扩展板控制步进电机

首先声明我是个菜鸟,C二级还没过的一个“大三混混”,没事喜欢捣鼓点东西,总感觉可能写篇博客总结一下做的东西更能加深自己的理解学习。本着拉下脸皮“学习交流分享”的精神,我以后还会在简书上发表其他的简易教程。大神别喷我,我还小,嘤嘤嘤。。。

这回,咱们来捣鼓一个属于“强电”范畴的步进电机,图片就像

本文教程基于wiki百科:

SKU: DRI0023 双路步进电机驱动扩展板(DRV8825)

上面这个链接中的步进电机驱动扩展板是比较高端的,有蓝牙 ,可以无线编程,而我的扩展板(理论上是我们实验室赵大神的,拿来玩玩,顺便顺了个14.8V的电源)是没有的。

有商家给的手册,英文看不懂,直接来到中文,

已经说得很明白了:

电源接口:蓝色的最下方那两个螺丝卡住电源的正负极,板子背后面有正负标志,千万别接反了,你损失的不止金钱。电源至少8.5V往上。

驱动板上与控制器相连的引脚:

Vcc、GND什么的直接看图,EN使能端肯定是先在程序里默认置高,再拉低,将其“使能”,大白话就是我控制器能对驱动板进行操作了。STP直接用循环拉低拉高电平方式调PWN,对,上边链接里的是这样做的。主要简单。STP才是真正的功能脚,核心功能我们只通过这个脚实现。DIR  0正转1反转。OK,知道这么多就可以了。

我们可以用51单片机、stm32单片机等等进行C语言编程,不过我不会,因为我是菜鸟,所以直接用别人的arduino程序。

int M1dirpin = 4;  //电机X方向引脚

int M1steppin = 5;  //电机X驱动引脚

int M1en=12;        //电机X使能引脚

void setup()

{

  pinMode(M1dirpin,OUTPUT);

  pinMode(M1steppin,OUTPUT);

  pinMode(M1en,OUTPUT);

  digitalWrite(M1en,LOW); //低电平使能

}

void loop()

{

    int j;

  delayMicroseconds(2);

  digitalWrite(M1dirpin,LOW);

  for(j=0;j<=5000;j++){

    digitalWrite(M1steppin,LOW);

    delayMicroseconds(2);

    digitalWrite(M1steppin,HIGH);  //上升沿步进

    delay(1);

  }

}

arduino先setup,设置自己的输出脚(pinMode()),初始化电平信号(digitalWrite()),然后在下面的Loop循环里重复执行半个周期为2us的电平拉低又拉高,重复执行5000次,中间会停顿1s.

效果图如下:

上一篇下一篇

猜你喜欢

热点阅读