0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过Arduino控制步进电机速度和旋转方向

454398 来源:一板网 作者:风筝 2020-10-28 16:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在本篇文章中,我们将学习如何使用摇杆和Arduino开发板控制步进电机的知识。在这里,我们将使用Arduino UNO开发板和PS2游戏杆控制步进电机的速度和旋转方向。

我们使用带有内部驱动器的单极5V DC步进电机28BYJ-48。因此,不需要任何步进电机驱动。相反,我们将使用ULN2003A达林顿电机驱动器IC。 PS2游戏杆由两个10k欧姆的电位器组成,即一个用于X轴,另一个用于Y轴。它还包括一个按钮。但是我们将仅使用X轴来控制步进电机的运动。

所需的组件

● Arduino UNO开发板

● 28BYJ-48 5V DC步进电机

● ULN2003芯片

● PS2游戏杆

● 5V DC电源

什么是步进电机

步进电动机(stepper motor)是一种无刷直流电动机,它将完整的全周长分为多个相等的步长。然后可以命令电机的位置移动并保持在其中一个步进,而无需任何位置传感器进行反馈(开环控制器),只要在转矩和速度方面仔细选择适合电动机尺寸的电动机即可。

步进电机28-BYJ48的连接方式

步进电动机28-BYJ48是一个具有5引线线圈布置的单极电动机。必须按特定顺序为四个线圈通电。红线连接到+ 5V电压,其余四根线将被拉到接地以触发相应的线圈。我们使用Arduino开发板以特定顺序为这些线圈通电,并使电动机执行所需的步数。

步进电机需要借助驱动器芯片才能进行操作。原因是控制器需要较高的电流才能运行,但是仅步进电机将无法从其I / O引脚提供足够的电流来使电机运行。因此使用ULN2003作为驱动模块,电流被放大了。

连接电路图

要使用摇杆和Arduino控制步进电机,请如下图所示组装电路。

步数计算

在将代码上传到Arduino板上之前需要进行步数计算

在Arduino中,我们将以4步顺序操作电机,因此需要计算步幅角(Stride Angle)。

步幅角= 5.625°

Arduino步骤顺序= 4

所需步骤顺序= 8

步数角度= 5.625 * 2 = 11.25

每转的步数= 360 /步角= 360 / 11.25 =每转32步。

源代码/程序:

#include 《Stepper.h》

#define STEPS 32

// define stepper motor control pins

#define IN1 7

#define IN2 6

#define IN3 5

#define IN4 4

// initialize stepper library

Stepper stepper(STEPS, IN4, IN2, IN3, IN1);

// joystick pot output is connected to Arduino A0

#define joystick A0

void setup()

{

}

void loop()

{

// read analog value from the potentiometer

int val = analogRead(joystick);

// if the joystic is in the middle ===》 stop the motor

if( (val 》 500) && (val 《 523) )

{

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

}

else

{

// move the motor in the first direction

while (val 》= 523)

{

// map the speed between 5 and 500 rpm

int speed_ = map(val, 523, 1023, 5, 500);

// set motor speed

stepper.setSpeed(speed_);

// move the motor (1 step)

stepper.step(1);

val = analogRead(joystick);

}

// move the motor in the other direction

while (val 《= 500)

{

// map the speed between 5 and 500 rpm

int speed_ = map(val, 500, 0, 5, 500);

// set motor speed

stepper.setSpeed(speed_);

// move the motor (1 step)

stepper.step(-1);

val = analogRead(joystick);

}

}

}
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    54

    文章

    9111

    浏览量

    156454
  • 电位器
    +关注

    关注

    14

    文章

    1031

    浏览量

    69470
  • 步进电机
    +关注

    关注

    153

    文章

    3271

    浏览量

    152739
  • 步进电动机
    +关注

    关注

    0

    文章

    60

    浏览量

    13417
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    步进电机控制方案中驱动板的核心作用与技术解析

    指令,通过能量转换、信号放大、闭环调节与安全保护,实现对步进电机的精准驱动。本文从步进电机控制
    发表于 04-10 15:34 232次阅读

    步进电机的位置控制速度控制

    步进电机是一种将电脉冲信号转换为角位移或线位移的执行元件,其 位置控制速度控制 是两大核心应用。虽然两者在实现上紧密相关,但
    的头像 发表于 03-23 15:37 815次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>的位置<b class='flag-5'>控制</b>与<b class='flag-5'>速度</b><b class='flag-5'>控制</b>

    为什么步进电机的力矩会随转速的升高而下降

    步进电机是一种将电脉冲信号转换为角位移或线位移的开环控制元件,其工作原理基于电磁感应和磁阻变化。当步进驱动器接收到一个脉冲信号时,它就会驱动步进
    的头像 发表于 03-02 17:28 651次阅读

    步进电机驱动器的作用介绍

    步进电机驱动器是现代工业自动化、精密控制设备中的核心组件之一,其作用远不止简单的“驱动电机转动”,而是通过精确
    的头像 发表于 02-28 15:47 320次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>驱动器的作用介绍

    步进电机控制原理

    电机(简称HB)。 步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行
    发表于 01-04 08:25

    伺服电机步进电机的核心区别

    大家在运动控制的时候是用伺服电机的还是用步进电机做定位控制了?为什么有时候用伺服电机,有时候又
    的头像 发表于 10-15 14:32 1990次阅读
    伺服<b class='flag-5'>电机</b>和<b class='flag-5'>步进</b><b class='flag-5'>电机</b>的核心区别

    【上海晶珩睿莓1开发板试用体验】物联网窗帘——步进电机的网络远程控制

    Web 网页精确控制步进电机旋转角度和速度,进而实现物联网窗帘的项目设计。 包括项目介绍、硬件连接、工程测试、网页设计和效果展示等部分。
    发表于 09-10 09:44

    单片机怎么控制步进电机

    步进电机作为一种将电脉冲信号转化为角位移的执行机构,其运转依赖于脉冲信号的控制,而单片机作为控制核心,通过输出特定的脉冲信号和
    的头像 发表于 07-24 13:41 842次阅读

    【微五科技CF5010RBT60开发板试用体验】+步进电机的驱动控制

    。过快的脉冲只会使电机在原地震颤和抖动,而无法旋转。 5)控制电机旋转方向 对于4相5线式
    发表于 07-14 10:48

    同步电机步进运动性能分析

    摘要:针对常用的步进电机在结构上保留组合电磁铁的特征,导致电动机的容量小,输出功率小,效率低,不能满足人们对大功率步进电动机的需求。为此提出将步进电动机的设计思想从组合电磁铁提高为
    发表于 06-20 17:38

    步进电机和伺服电机的区别是什么?

    启动速度不同 步进电机启动需要200-400毫秒而伺服电机只需要几毫秒是步进电机的上百倍
    发表于 06-18 13:27

    实时生成步进电机速度曲线

    一种用于步进电机速度的新算法可以实现速度曲线的实时参数化和计算。该算法可以在低端微控制器上运行,只使用简单的定点算术运算并且不使用数据表。
    发表于 05-14 15:09

    步进电机的 LabVIEW 控制与应用

    本文介绍了 RP2350 开发板使用 LabVIEW 上位机串口发送指令,实现步进电机 **单步** 和 **连续** 旋转指定角度的项目设计。进一步结合具体的应用场景,设计了开发板与仪器的联合调用、进而实现数据自动采集的应用
    的头像 发表于 05-05 16:58 1326次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>的 LabVIEW <b class='flag-5'>控制</b>与应用

    树莓派 RP2350 实现步进电机精确控制

    。 工作过程 通过控制器(如单片机)发送脉冲信号,驱动电路按顺序切换定子绕组的电流方向。 每切换一次,转子转动一个步距角,连续脉冲使电机连续旋转
    发表于 05-03 15:11

    刹车步进电机的特点

    刹车步进电机作为一种结合了步进电机精确控制与制动功能的特种电机,其独特的设计和工作原理使其在需要
    的头像 发表于 04-25 15:34 1704次阅读
    刹车<b class='flag-5'>步进</b><b class='flag-5'>电机</b>的特点