极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6437|回复: 5

使用Arduino驱动28BYJ48电机库(Stepper28BYJ48)

[复制链接]
发表于 2015-8-6 22:11:49 | 显示全部楼层 |阅读模式
本帖最后由 zhb1190 于 2015-8-7 11:06 编辑

      最近想做一个自动喂宠物的小玩意。正好手头有几个28BYJ48-5V步进电机,于是就打算找个库,在这里还真找到了,用Stepper库控制,而且还能工作,于是就组装好,可是第二天早上就郁闷了,发现电机竟然没有像预期那样转动,而且电机非常烫。后来研究发现电机没有转是扭力不够。可是以前用avr和51控制时扭力很大呀,这个是遇到了什么鬼?
      无奈之下只好研究Stepper源代码了,于是乎就发现了问题所在,原来Stepper对于4相电机是用4步驱动,而28BYJ48说明书里推荐用8步驱动。既然看懂了原理就自己改造一下,于是就有了下边这个库。
      经过测试可以单步控制,而且可以很精确控制角度,如果不堵转发热也很小。不敢独享,拿出来与大家分享,希望大家喜欢哦。
似乎我没有权限上传附件,共享在百度网盘。
http://pan.baidu.com/s/1o6oX2YY

用法:
1、把Stepper28BYJ48.zip解压在libraries目录下
2、电机通过ULN2003驱动板和ULN2803驱动板测试通过
3、驱动的输入依次接arduino的8~9,步进电机依次接蓝,粉,黄,橙。

  1. /*
  2.         控制28BYJ48电机,正转一圈,反转一圈
  3. */

  4. #include <Stepper28BYJ48.h>

  5. const int stepsPerRevolution = 4096;  //28BYJ48电机旋转一周需要的步数


  6. // 电机接在引脚8 ~ 11: 电机线依次为蓝,粉,黄,橙
  7. Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

  8. int stepCount = 0;         // number of steps the motor has taken

  9. void setup() {
  10.   // initialize the serial port:
  11.   Serial.begin(9600);
  12.   
  13.   //设置电机转速r/min
  14.   myStepper.setSpeed(10);
  15. }

  16. void loop() {
  17.   // 正转一圈
  18.   myStepper.step(stepsPerRevolution);
  19.   Serial.print("steps:" );
  20.   Serial.println(stepsPerRevolution);
  21.   delay(5000);
  22.   
  23.   // 反转一圈
  24.   myStepper.step(-stepsPerRevolution);
  25.   Serial.print("steps:" );
  26.   Serial.println(-stepsPerRevolution);
  27.   delay(5000);
  28.   
  29.   // 正转64步
  30.   myStepper.step(64);
  31.   Serial.print("steps:" );
  32.   Serial.println(64);
  33.   delay(5000);
  34.   
  35.   // 正转64步
  36.   myStepper.step(64);
  37.   Serial.print("steps:" );
  38.   Serial.println(64);
  39.   delay(5000);
  40.   
  41. }

复制代码

Stepper28BYJ48.zip

4.25 KB, 下载次数: 229

28BYJ48 arduino库

回复

使用道具 举报

发表于 2016-5-4 00:59:31 | 显示全部楼层
感谢分享,学习中。
回复 支持 反对

使用道具 举报

发表于 2016-10-5 23:18:02 | 显示全部楼层
感谢楼主的分享。但这个小步进电机的速度最大只能设到16rpm,对吗?
回复 支持 反对

使用道具 举报

发表于 2018-2-19 02:04:31 | 显示全部楼层
感谢分享,程序很好用,高手!
回复 支持 反对

使用道具 举报

发表于 2019-3-1 12:16:36 | 显示全部楼层
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);这里总报错是咋回事
回复 支持 反对

使用道具 举报

发表于 2020-4-26 21:37:08 | 显示全部楼层
非常好,难怪以前用原装的库结果总有问题。
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-9-24 14:29 , Processed in 0.057216 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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