28BYJ-48步进电机介绍、驱动及编程
haoteby 2025-01-03 16:08 1 浏览
步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。每输入一个脉冲信号,转子就转动一个角度,其输出的角位移与输入的脉冲数成正比,转速与脉冲频率成正比。
步进电机在自动控制系统中应用广泛。3D打印机,写字机,机器人中都能见到它们的身影,高精度,高可靠的步进电机通常较贵。今天我们就先来介绍一种DIY小制作中常用的,并且便宜的不能再便宜的步进电机——28BYJ-48步进电机模块。
主要特性
- 步进电机必须加驱动才可以运转, 驱动信号必须为脉冲信号,没有脉冲的时候,步进电机静止, 如果加入适当的脉冲信号, 就会以一定的角度(称为步角)转动。转动的速度和脉冲的频率成正比。
- 28BYJ48是5V驱动的4相5线步进电机,而且是减速步进电机,减速比为1:64,步进角为5.625/64 度。如果需要转动1 圈,那么需要360/5.625*64=4096 个脉冲信号。
- 步进电机具有瞬间启动和急速停止的优越特性。
- 改变脉冲的顺序, 可以方便的改变转动的方向。
因此,目前打印机,绘图仪,机器人,等等设备都以步进电机为动力核心。
外形尺寸
该步进电机尺寸较小,可以适用于各种小场景中,电机两侧的耳朵可以用于M3的螺钉固定。
驱动方法
步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。当对步进电机施加一系列连续不断地控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。。。),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。。。),八拍(A-AB-B-BC-C-CD-D-DA-A。。。)
主要技术参数
驱动模块
28BYJ48型步进电机主要通过ULN2003驱动板驱动。
ULN2003是高耐压、大电流达林顿陈列,由七个硅 NPN 达林顿管组成。ULN2003 的每一对达林顿都串联一个 2.7K的基极电阻,在 5V 的工作电压下它能与 TTL 和 CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003 工作电压高,工作电流大,灌电流可达 500mA,并且能够在关态时承受 50V 的电压,输出还可以在高负载电流并行运行。
用ULN2003驱动步进电机的原理图如下:
红线接电源5V,橙色电线接P1.3口,黄色电线接P1.2口,粉色电线接P1.1口,蓝色接P1.0口。由于单片机接口信号不够大需要通过ULN2003放大再连接到相应的电机接口。
橙 | 黄 | 粉 | 蓝 | 十六制(P1口) |
1 | 0 | 0 | 0 | 0x08 |
1 | 1 | 0 | 0 | 0x0c |
0 | 1 | 0 | 0 | 0x04 |
0 | 1 | 1 | 0 | 0x06 |
0 | 0 | 1 | 0 | 0x02 |
0 | 0 | 1 | 1 | 0x03 |
0 | 0 | 0 | 1 | 0x01 |
1 | 0 | 0 | 1 | 0x09 |
旋转相序
uchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆时钟旋转相序表
uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正时钟旋转相序表
Arduino实验
下面我们就用Arduino UNO驱动步进电机模块工作吧。
硬件设备:
- Arduino UNO控制器 × 1
- 步进电机模块 × 1
- ULN2003驱动模块 × 1
- 电源 × 1
- 杜邦线 × n
接线图:
将驱动模块的IN1-IN4分别连到Arduino1-4数字引脚上,连接电源和接地线;不过,这里建议电机单独5V供电哦。
程序:
上面说了这么多驱动步进电机的方法,但是到了Arduino这里,上面都变得简单了,因为他有专用的步进电机驱动库:Stepper.h
#include <Stepper.h> //导入库
// 这里设置步进电机旋转一圈是多少步
#define STEPS 100
//设置步进电机的步数和引脚(驱动板上IN1~IN4连接的四个数字口)。
Stepper stepper(STEPS, 0, 1, 2, 3);
void setup()
{
// 设置电机的转速:每分钟为90步
stepper.setSpeed(50);
}
void loop()
{
stepper.step(2048); //4步模式下旋转一周用2048 步。正转1圏360°
delay(5000);
stepper.step(-2048); //4步模式下旋转一周用2048 步。反转1圏360°
delay(5000);
}
相关推荐
- 用户界面干货盘点
-
为了解决大家找资源难的问题,EVGET特别开辟每周盘点用户界面干货的专栏,一网打尽热门的界面资讯、Demo示例、版本升级及下载、移动Web开发,以及各种UI神器推荐。更多资源及工具也可以在用户界面专题...
- 不仅仅是创意,26款科技小玩意
-
新科技不断在卖场出现,总是吸引着消费者的眼球。许多很棒的科技小玩意儿被发明,手机、平板、手提电脑、游戏主机、甚至是3D打印都适用。现在的初创公司已经发正在让21世纪打破各种科技壁垒障碍。本文收集26...
- FastReport.Net报表设计器如何连接到SQLCe
-
MicrosoftSQLServerCompactEdition是一个简单的本地关系数据库,不需要安装,并且已与数据库文件建立连接。您不需要管理员权限即可使用基础功能。您也只能“密码”基础功能...
- 2015年最值得关注的8款用户界面新品
-
软件界面开发解决方案这一块一直以来是慧都控件(EVGET)的强项,我们有400多款用户界面产品,250多款图表报表产品,此外还提供专业的软件界面定制开发服务,其中DevExpress定制开发、甘特图定...
- 小贴士:安装TBarCode office的注意事项和相关资源
-
TBarCodeoffice是一款适用于MicrosoftWord2007、2010等版本,具有强大功能的条码插件。在这里我们介绍一下安装TBarCodeoffice的注意事项和相关资源。安装...
- 初学者不容错过的修复Bug小技巧
-
Bug的发生,我想这是每个开发人员几乎每天都要面对的问题,包括历史上非常有名的编程人员,他们依旧要面对Bug。成为一个熟练的程序员并不意味着永远不会犯错误,而是擅于发现错误并能很好地修正错误。当你刚开...
- 【推荐】一款基于 .NET 开源的支持多厂区、多项目级的MOM/MES系统
-
如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!项目介绍tmom是一款基于.NET开源、通用的生产制造系统,支持多厂区/多项目级的MOM/MES系统,计划排程...
- 你不可不知的10个Github功能
-
Github让全世界的开发人员、设计人员可以在一起工作交流。Github不仅提供大量开源项目、编程语言代码,他也发布过Windows和OSX桌面应用,可以让我们在工作中无缝集成Github。...
- Fastreport.Net用户手册(十四):文本编辑
-
编辑对象的文本,只需双击文本内容,然后会弹出一个文本编辑器。在编辑器右方有一个可以添加至文本中的数据树组件。可以通过鼠标拖拽该组件到需要的地方。在文本中嵌入该组件的另一个方法是双击该组件,然后该组件将...
- 火狐浏览器开发者专版上手体验
-
当Mozilla宣布FirefoxDeveloperEdition,我想不少开发者都很高兴,因为第一个大型开发者专用浏览器诞生了。既然是开发者专用版,那么和普通版本肯定是不一样的。早已经迫不及待...
- FastReport.Net 2015.3.3 优化了报表解析器
-
FastReport.Net2015.3.3于近日正式发布。点击FastReport.Net2015.3.3下载试用FastReport.Net最新版本。[Core][Exports]重写保存在...
- 改变上网体验:10个超赞的Google Chrome扩展
-
你使用谷歌浏览器浏览网页吗?其实,全世界数以百万的用户都喜欢使用GoogleChrome浏览网页,这也促使其成为全球使用量第二大的Web浏览器。GoogleChrome浏览器具有快速、干净的页面,...
- 如何在 FastReport Online Designer 中处理报表的 5 个函数
-
FastReports产品的时代并没有停滞不前。每个月都会添加新的函数和对象,并改进和优化当前的代码。FastReportOnlineDesigner...
- Winform应用界面开发技术特点图解
-
整理一下自己之前的Winform开发要点,以图文的方式展示一些关键性的技术特点,总结一下。...
- 跨平台的可视化Web报表设计器-FastReport Online Designer
-
好消息!FastReportOnlineDesigner现在作为一个独立的应用程序发布啦!此前作为FastReport.Net的专业版的一部分的在线设计测试版,现在可以单独或作为FastRepor...