成功用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楼看到的 好教程,感谢楼主 这个不必要改硬件,只要改一下
// 初始化步进电机要使用的Arduino的引脚编号
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
改一下这个顺序就可以实现了 这个弄完就是自己一直在那转,如果我想用串口控制它转 ,该怎么弄?
就是想把它分成360分,然后用正负数,输入进去,输入+10 就向右转10度
如果输入—30就向左转三十度?
谢谢啦 怎样让步进电机正负旋转180度呢?{:soso_e132:} 楼主的电机是否是两相5线?
页:
[1]