找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8481|回复: 6
打印 上一主题 下一主题
收起左侧

Arduino四相八拍步进电机控制程序+资料

[复制链接]
跳转到指定楼层
楼主
步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。你可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时你也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
使用步进电机前一定要仔细查看说明书,确认是四相还是两相,各个线怎样连接,本次实验使用的步进电机是四相的
减速步进电机
直径:28mm
电压:5V
步进角度:5.625 x1/64
减速比:1/64
5线4 可以用普通uln2003芯片驱动,也可以接成2相使用
该步进电机空载耗电在50mA以下,带64倍减速器,输出力矩比较大,可以驱动重负载,极适合开发板使用。注意:此款步进电机带有64倍减速器,与不带减速器的步进电机相比,转速显得较慢,为方便观察,可在输出轴处粘上一片小纸板。
步进电机(五线四相)驱动板(UL2003)试验板
步进电机驱动板(UL2003)试验板

* 步进电机跟随电位器旋转
* (或者其他传感器)使用0号模拟口输入
* 使用arduino IDE自带的Stepper.h库文件
*/


源程序:
  1. #include <Stepper.h>
  2. // 这里设置步进电机旋转一圈是多少步
  3. #define STEPS 100
  4. // attached to设置步进电机的步数和引脚
  5. Stepper stepper(STEPS, 8, 9, 10, 11);
  6. // 定义变量用来存储历史读数
  7. int previous = 0;
  8. void setup()
  9. {
  10.   // 设置电机每分钟的转速为90步
  11.   stepper.setSpeed(90);
  12. }
  13. void loop()
  14. {
  15.   // 获取传感器读数
  16.   int val = analogRead(0);
  17.   // 移动步数为当前读数减去历史读数
  18.   stepper.step(val - previous);
  19.   // 保存历史读数
  20.   previous = val;
  21. }
复制代码

全部资料51hei下载地址:
ULN2003 步进电机扩展板资料.zip (417.2 KB, 下载次数: 67)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:640989 发表于 2019-11-14 20:27 | 只看该作者
谢谢分享!刚学没多久!
回复

使用道具 举报

板凳
ID:648024 发表于 2019-11-23 19:32 | 只看该作者
谢谢老哥,不过我用这个源程序怎么上传不了
回复

使用道具 举报

地板
ID:648602 发表于 2019-11-24 20:12 | 只看该作者
刚刚学,学到了。谢谢
回复

使用道具 举报

5#
ID:782528 发表于 2020-12-7 10:27 | 只看该作者
stepper.step,后面不管正负都是顺时针转
回复

使用道具 举报

6#
ID:933372 发表于 2021-6-5 15:04 | 只看该作者

整理的不错,给力啊
回复

使用道具 举报

7#
ID:957333 发表于 2021-7-31 17:43 | 只看该作者
这个程序是真的强
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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