美文网首页我爱编程
菜鸟学物联网(1)arduino通过DRV8825驱动扩展板控制

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

作者: 第六天魔王波旬 | 来源:发表于2018-04-18 21:34 被阅读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.

    效果图如下:

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/gzjdkftx.html