查看: 2146|回复: 4

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

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

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

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

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


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号口高电平,其他低电平),依次循环,步进电机正转,每个球员踢给下一个球员所用时间代表了速度(脉冲),时间越短,步进电机转动越快。
QQ图片20190411223701.jpg

3、程序案例
QQ图片20190411225330.png     QQ图片20190411225500.png
      自定义两个变量:步进角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步进电机 QQ图片20190413162007.jpg
1、接线
001ydOqDzy6TVBGk95Nab&amp;690.jpg    2EBF3707B151CC8BF727A25C42458646.png    QQ图片20190413163019.jpg
步进电机上蓝、黄、红、绿四个线分别接到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 )前向跑继续高电平,依次循环为步进电机逆时针转动。     每个接力跑运动员跑到下个运动员身边所用时间代表了速度(脉冲),时间越短,步进电机转动越快。
QQ图片20190413164357.jpg
3、程序案例
自定义两个变量:步进角angle,速度speeds
       自定义两个函数:
      ctlStepMotor电机转动方向判断函数,当angle>0,步进电机按照speeds速度正转,共执行angle次;
当angle<0,步进电机按照speeds速度反转,共执行angle(取整数,取绝对值)次。
      StepMotorStop电机停止函数,4个数字口全部低电平。
主程序:
     步进电机以0.001的速度(脉冲)正转360度,等待2秒,再以0.001的速度(脉冲)反转360度,等待2秒,电机停转1秒。
QQ图片20190413170322.png
   QQ图片20190413170413.png
      QQ图片20190413170450.png
      QQ图片20190413170516.png
QQ图片20190413170604.png












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

45.55 KB, 下载次数: 39, 下载积分: 创造力 -1

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

图文并茂,辛苦了
回复 支持 反对

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

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

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

mail