36095浏览
查看: 36095|回复: 24

[教程] 【Mind+】Arduino控制步进电机(最全)

[复制链接]
本帖最后由 DFBk6iY6hK4 于 2019-4-13 17:14 编辑

一、ULN2003驱动和5线四相24BYJ48步进电机。

【Mind+】Arduino控制步进电机(最全)图1


1、接线
        驱动板上的正极和负极接Arduino板的VCC和GND(5V供电可以驱动);
驱动板上的IN1,IN2,IN3,IN4分别接Arduino板上的数字口11,10,9,8;
2、工作原理
       打个比方,四相是四个足球运动员,对应的是数字口11,10,9,8,均匀站在圆圈的四个位置,11号球员将球踢给10号(11号口高电平,其他低电平),10号再踢给9号(10号口高电平,其他低电平),9号再踢给8号(9号口高电平,其他低电平),8号再踢给11号(8号口高电平,其他低电平),依次循环,步进电机正转,每个球员踢给下一个球员所用时间代表了速度(脉冲),时间越短,步进电机转动越快。
【Mind+】Arduino控制步进电机(最全)图2

3、程序案例
【Mind+】Arduino控制步进电机(最全)图3   【Mind+】Arduino控制步进电机(最全)图4
      自定义两个变量:步进角angle,速度speeds
       自定义两个函数:
      ctlStepMotor电机转动方向判断函数,当angle>0,步进电机按照speeds速度正转,共执行angle次;
当angle<0,步进电机按照speeds速度反转,共执行angle(取整数,取绝对值)次。
      StepMotorStop电机停止函数,4个数字口全部低电平。
主程序:
     步进电机以0.002的速度(脉冲)正转360度,等待2秒,再以0.002的速度(脉冲)反转360度,等待2秒,电机停转1秒。   
4、特别注意
在Arduino IDE中速度(脉冲)可以给到0.001,转速最大,但是在模块化程序中速度(脉冲)只能给到0.002,如果给0.001电机就不转了。
    如果转动角度angle给的360,但是电机实际可能不是360度,需要在执行次数上加一个补偿量。

二、L298N驱动两相四线42步进电机【Mind+】Arduino控制步进电机(最全)图5
1、接线
【Mind+】Arduino控制步进电机(最全)图6  【Mind+】Arduino控制步进电机(最全)图7  【Mind+】Arduino控制步进电机(最全)图8
步进电机上蓝、黄、红、绿四个线分别接到L298驱动板上的OUT1(输出A+)、OUT2(输出A-)、OUT3(输出B+)、OUT4(输出B-)上;
42步进电机正常工作需要接12V,但是这里我只是演示使用所以接的是主板的5V供电,可以转动,但扭矩很小;
L298驱动板上的IN1,IN2,IN3,IN4分别接主板数字口的PIN8,PIN9,PIN10,PIN11

2、工作原理
42步进电机是两相四线步进电机,只要对两相绕组电流通断和电流方向控制就可以;
      可以这样理解,A+(PIN8 HIGH),B+(PIN10 HIGH),A-(PIN9 HIGH),B-(PIN11 HIGH)四个运动员进行接力跑,A+(PIN8 )拿着接力棒,高电平,开始跑,接力棒接给B+(PIN10 ),A+(PIN8 )和B+(PIN10 )同时高电平,A+(PIN8 )松手则变回低电平,B+(PIN10 )向前跑继续高电平,B+(PIN10 )将接力棒接给A-(PIN9 ),则B+(PIN10)和A-(PIN9 )同时高电平,B+(PIN10)松手变回低电平,A-(PIN9 )前向跑继续高电平,依次循环为步进电机逆时针转动。     每个接力跑运动员跑到下个运动员身边所用时间代表了速度(脉冲),时间越短,步进电机转动越快。
【Mind+】Arduino控制步进电机(最全)图9
3、程序案例
自定义两个变量:步进角angle,速度speeds
       自定义两个函数:
      ctlStepMotor电机转动方向判断函数,当angle>0,步进电机按照speeds速度正转,共执行angle次;
当angle<0,步进电机按照speeds速度反转,共执行angle(取整数,取绝对值)次。
      StepMotorStop电机停止函数,4个数字口全部低电平。
主程序:
     步进电机以0.001的速度(脉冲)正转360度,等待2秒,再以0.001的速度(脉冲)反转360度,等待2秒,电机停转1秒。
【Mind+】Arduino控制步进电机(最全)图10
  【Mind+】Arduino控制步进电机(最全)图11
     【Mind+】Arduino控制步进电机(最全)图12
     【Mind+】Arduino控制步进电机(最全)图13
【Mind+】Arduino控制步进电机(最全)图14












17-3步进电机可正反转.zip

45.55 KB, 下载次数: 8369

评分

参与人数 1贡献 +5 经验值 +5 创造力 +5 收起 理由
lthirty + 5 + 5 + 5

查看全部评分

CPY  见习技师

发表于 2023-11-29 15:49:18

lthirty 发表于 2022-5-14 14:58
函数参数重新定义成数字值,然后参数重新拉下就可以了。

请问是怎么操作的呢?自定义模块点开只能改名字,如何定义成数字值呢?能否说一下,谢谢你。
回复

使用道具 举报

温柔的投降  初级技师

发表于 2020-1-6 14:49:58

jlk 发表于 2019-12-29 20:36
编译失败,请指教,谢谢!!!

我的也是这样,可能自定义函数有问题,不知道怎么回事
回复

使用道具 举报

学不会的小赵  学徒

发表于 2021-9-19 20:13:43

温柔的投降 发表于 2020-1-6 14:49
我的也是这样,可能自定义函数有问题,不知道怎么回事

能教教我吗?
回复

使用道具 举报

DFBk6iY6hK4  见习技师
 楼主|

发表于 2019-4-11 23:29:04

【Mind+】Arduino用ULN2003驱动控制5线四相24BYJ48步进电机教程来了
回复

使用道具 举报

super-power  中级技师

发表于 2019-4-12 08:40:30

好帖子,降低了门槛。
回复

使用道具 举报

Forgotten  版主

发表于 2019-4-12 13:55:34

厉害厉害
回复

使用道具 举报

遥远2  见习技师

发表于 2019-10-21 19:37:11

图文并茂,辛苦了
回复

使用道具 举报

jlk  学徒

发表于 2019-12-29 20:36:11

编译失败,请指教,谢谢!!!
201912291602..png
回复

使用道具 举报

liudeqiang_2008  学徒

发表于 2020-2-4 00:34:10

我也是同样的问题,请楼主赐教,感谢!
202002049645..png
回复

使用道具 举报

狂风飙升  初级技师

发表于 2020-2-5 22:31:05

求楼主教一下在Mind+软件中sj01带编码的驱动电机的使用方法。
回复

使用道具 举报

txm派瑞深山锹  高级技师

发表于 2020-4-2 11:21:29

好教程!!
回复

使用道具 举报

蜜蜂优品  学徒

发表于 2020-4-2 12:24:22

楼主跪求联系方式
回复

使用道具 举报

学不会的小赵  学徒

发表于 2021-9-19 20:13:05

jlk 发表于 2019-12-29 20:36
编译失败,请指教,谢谢!!!

整出来了吗?

回复

使用道具 举报

lthirty  中级技师

发表于 2022-5-14 14:58:00

函数参数重新定义成数字值,然后参数重新拉下就可以了。

24BYJ48步进电机 ULN2003驱动板-20220514.zip

172.34 KB, 下载次数: 7333

回复

使用道具 举报

三春牛-创客  初级技神

发表于 2023-1-4 08:59:17

厉害厉害
回复

使用道具 举报

三春牛-创客  初级技神

发表于 2023-1-4 09:00:19

好教程!
回复

使用道具 举报

三春牛-创客  初级技神

发表于 2023-1-4 09:01:39

还画了图,低门槛!
回复

使用道具 举报

三春牛-创客  初级技神

发表于 2023-1-4 09:03:07

学习了,感谢分享!
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-1-19 21:32:00

厉害厉害
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-1-19 21:33:01

学习了,感谢分享!
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-1-19 21:34:03

教程很详细!赞!
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail