28BYJ-48步进电机接ULN2003怎么驱动?便宜步进的正反转和丢步避坑

工位上的小周硬件DIY 2026-10-14 12:55:50 17阅读 举报

想给机器人做个转台、给云台指个向、给百叶窗做个定时开关,28BYJ-48是很多人第一个入手的便宜步进电机。它带减速箱,一对就是几十块,配上几乎人手一块的ULN2003驱动板,用来做精准缓慢的转角控制特别顺手。但它有个让人心累的坑:电机嗡嗡响就是不转。这篇把这颗便宜步进用明白。

五根线糊到ULN2003上,引脚顺序是重点

28BYJ-48是颗5线单极步进电机,一根公共线(接驱动板电源那种)加四相线。它几乎总是和ULN2003驱动板配套卖:电机那五根线的插头插进驱动板白色插座,驱动板另一侧IN1到IN4四个输入再接到Arduino数字脚。

接线表一般长这样:驱动板IN1接Arduino的8、IN2接9、IN3接10、IN4接11,VCC接5V或外置电源,GND共地。关键在于靠Arduino自带引脚给电机供电是不保险的,这颗电机单相电流两百多毫安,建议单独给它一路稳定5V,别让Arduino的5V又背电机又背主控。

转多少步:满步2048,半步4096

28BYJ-48内部是5.625度步距,又带了说明书标的“64:1”减速箱,所以输出轴转一整圈大约需要2048个满步,用半步模式则是4096步。实际减速比各家略有出入,真要精准定位最好实测校准一次一转输出的角度。

控制它最简单用Arduino自带的Stepper库:把stepsPerRevolution设成2048,接着定义四根引脚,loop里step(2048)就让它转整整一圈。要更顺滑、能加加减速,就换AccelStepper库。

嗡嗡响不转,多半是引脚顺序

这是28BYJ-48最常见的一个坑:电机上电发出电流声、震动、前后摇晃,就是不肯转。十有八九是四根线的顺序没对上。AccelStepper配28BYJ-48时,四相线要用IN1-IN3-IN2-IN4这种顺序初始化,而不是IN1-IN2-IN3-IN4,也就是构造器里对应引脚写8、10、9、11。把中间两个对调,90%的“嗡嗡不转”都能解决。

还有一点要提醒:28BYJ-48是为了精度不是为了速度而生的,它的减速箱换来了细定位也牺牲了转速,转得本来就慢。别指望它高速转,那是直流电机的活。如果嫌速度、扭矩不足,就换用更正统的NEMA17加A4988/DRV8825组合,输入引脚含义换一下就行。

把供电、四相顺序和步数三件事捋顺,28BYJ-48就是你第一个能控准角度的步进,转台、云台、定时窗帘都能做。

版权声明:
作者:工位上的小周
链接:https://www.aiddithome.com/p/8a3741d6038e5.html
来源:硬件DIY
实践版权归作者所有,未经允许请勿转载,若此实践存在违规行为,您可以点击 “举报”。


登录 后发表评论
4条评论

2048步精准转角那个确实准,做云台和转台都得靠它

探头看一眼
2楼 · 2天前

便宜是真便宜,几十块入门首选,转得慢就对了它本来就不是跑速度的

板砖搬不动
3楼 · 2天前

嗡嗡响不转这个坑我踩过,把中间两脚对调就好,通篇最值钱的一句

阿强焊点总飞
4楼 · 2天前

单独给5V供电是必须的,我第一次插Arduino上转两圈就复位