liangquan 发表于 2015-3-4 09:05:59

成功用ULN2003驱动板驱动28BYJ-48步进电机

步进电机


注意图中5条线的颜色:蓝、粉、黄、橙、红,这个顺序很重要

ULN2003驱动板


两样都在淘宝上热卖!

代码
#include<Stepper.h>

// 参考文件
/*
        28BYJ-48.pdf

        该参数根据电机每一转的步数来修改
*/
const int stepsPerRevolution = 100;

// 初始化步进电机要使用的Arduino的引脚编号
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup()
{
        // 设置转速,单位r/min
        myStepper.setSpeed(60);

        // 初始化串口
        Serial.begin(9600);
}

void loop()
{
        // 顺时针一次旋转
        Serial.println("clockwise");
        myStepper.step(stepsPerRevolution);
        delay(500);

        // 逆时针一次旋转
        Serial.println("counterclockwise");
        myStepper.step(-stepsPerRevolution);
        delay(500);
}

接线图

注意图中接电机的线序:蓝黄粉橙红。

注意:对比买来的电机线序,需要将2、3线对调。我一开始没成功,就是这个原因!!!

至于为什么要对调,现在还没弄明白,只是这么接线是正确的!

我是从帖子
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=693&highlight=%D3%C3stepper%C0%E0%BF%E2%C7%FD%B6%AF%B2%BD%BD%F8%B5%E7%BB%FA%B5%C4%CE%CA%CC%E2
的2楼看到的

dkm382638608 发表于 2015-3-17 00:27:41

好教程,感谢楼主

yhy630 发表于 2015-3-26 16:09:13

这个不必要改硬件,只要改一下
// 初始化步进电机要使用的Arduino的引脚编号
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
改一下这个顺序就可以实现了

A书生 发表于 2015-5-12 10:40:35

这个弄完就是自己一直在那转,如果我想用串口控制它转 ,该怎么弄?
就是想把它分成360分,然后用正负数,输入进去,输入+10 就向右转10度
如果输入—30就向左转三十度?

谢谢啦

小明华 发表于 2015-6-5 14:04:09

怎样让步进电机正负旋转180度呢?{:soso_e132:}

叶斌远行 发表于 2015-11-11 21:14:41

楼主的电机是否是两相5线?
页: [1]
查看完整版本: 成功用ULN2003驱动板驱动28BYJ-48步进电机