极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13431|回复: 5

Arduino控制步进电机,怎么只向一个方向转?

[复制链接]
发表于 2015-3-3 15:59:39 | 显示全部楼层 |阅读模式
本帖最后由 liangquan 于 2015-3-3 16:14 编辑
  1. #include<Stepper.h>

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

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

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

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

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

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

  23.         // 逆时针一次旋转
  24.         Serial.println("counterclockwise");
  25.         myStepper.step(-stepsPerRevolution);
  26.         delay(500);
  27. }
复制代码


电路图


但是电机只顺时针时向一个方向旋转,逆时针时也向同一个方向旋转,这可能是什么原因?

还有
const int stepsPerRevolution = 100;
这个100怎样定?



根据这个图中的哪个参数来定?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2015-3-3 19:17:23 | 显示全部楼层
  好好学习一下
回复 支持 反对

使用道具 举报

发表于 2015-3-3 21:08:21 | 显示全部楼层
用电机驱动芯片没?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-4 08:31:19 | 显示全部楼层
suoma 发表于 2015-3-3 21:08
用电机驱动芯片没?

用了 ULN2003驱动板
回复 支持 反对

使用道具 举报

发表于 2015-3-4 08:37:41 | 显示全部楼层
这个问题我遇到过,后来发现是驱动板的问题,同样的程序换成L298N就可以,原理都是差不多的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-4 08:49:35 | 显示全部楼层
失意的程序 发表于 2015-3-4 08:37
这个问题我遇到过,后来发现是驱动板的问题,同样的程序换成L298N就可以,原理都是差不多的

我解决了,这篇帖子的2楼,说的对,颠倒一下2、3线的顺序就成功了
http://www.geek-workshop.com/for ... A%B5%C4%CE%CA%CC%E2
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-17 21:28 , Processed in 0.036248 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表