首页 > 其他分享 >arduino控制电机

arduino控制电机

时间:2023-06-28 17:46:04浏览次数:46  
标签:控制 引脚 arduino 电机 连接 Arduino 步进 我们

https://howtomechatronics.com/tutorials/arduino/how-to-control-stepper-motor-with-a4988-driver-and-arduino/

A4988 步进驱动器引脚分配

现在让我们仔细看看驱动器的引脚排列,并将其与步进电机和控制器连接起来。因此,我们将从按钮右侧的 2 个引脚开始为驱动器供电,我们需要将它们连接到 3 至 5.5 V 的电源,在我们的例子中,这将是我们的控制器 Arduino提供 5 V 电压的板。以下 4 个引脚用于连接电机。1A 和 1B 引脚将连接到电机的一个线圈,2A 和 2B 引脚将连接到电机的另一个线圈。为了给电机供电,我们使用接下来的 2 个引脚(接地和 VMOT),我们需要将它们连接到 8 至 35 V 的电源,并且我们还需要使用至少 47 µF 的去耦电容器来保护驱动板免受电压尖峰的影响。

 

接下来的两个 2 引脚(步长和方向)是我们实际用于控制电机运动的引脚。方向引脚控制电机的旋转方向,我们需要将其连接到微控制器上的数字引脚之一,或者在我们的例子中,我将其连接到 Arduino 板的引脚 4。

通过步进引脚,我们可以控制电机的微步,并且随着发送到该引脚的每个脉冲,电机移动一步。这意味着我们不需要任何复杂的编程、相序表、频率控制线等,因为 A4988 驱动程序的内置转换器会处理所有事情。这里我们还需要提到的是,这两个引脚内部没有上拉任何电压,所以我们不应该让它们在我们的程序中悬空。

接下来是睡眠引脚,逻辑低电平使电路板进入睡眠模式,以最大限度地减少电机不使用时的功耗。

接下来,RESET 引脚将转换器设置为预定义的起始状态。该起始状态或起始微步位置可以从 A4988 数据表中的这些图看出。因此,这些是电机启动的初始位置,它们根据微步分辨率而有所不同。如果该引脚的输入状态为逻辑低电平,则所有 STEP 输入都将被忽略。复位引脚是一个浮动引脚,因此如果我们不想在程序中控制它,我们需要将其连接到睡眠引脚,以便将其拉高并启用电路板。

接下来的 3 个引脚(MS1、MS2 和 MS3)用于根据上述真值表选择五步分辨率之一。这些引脚具有内部下拉电阻,因此如果我们将它们断开,电路板将以全步模式运行。

最后一个 ENABLE 引脚用于打开或关闭 FET 输出。因此,逻辑高电平将使输出保持禁用状态。

电路原理图

这是完整的电路原理图。我将在全步模式下使用驱动器,因此我将断开 3 个 MS 引脚,仅将驱动器的方向和步进引脚连接到 Arduino 板上的引脚 3 和 4,以及接地和 5 V为电路板供电的引脚。此外,我将使用 100μF 电容器进行去耦,并使用 12V、1.5A 适配器为电机供电。我将使用 NEMA 17 双极步进电机,其电线 A 和 C 将连接到引脚 1A 和 1B,B 和 D 线将连接到 2A 和 2B 引脚。

 

 

 

Arduino 和 A4988 代码

这是一个示例代码。首先,我们必须定义步长和方向引脚。在我们的例子中,它们是 Arduino 板上的引脚 3 和 4,它们被命名为 stepPin 和 dirPin,并且我们必须在设置部分将它们定义为输出。

控制旋转方向:为了控制电动机的旋转方向,我们将DIR引脚设置为HIGH或LOW。高输入将使电动机顺时针旋转,而低输入将使电动机逆时针旋转。

 

控制速度:电动机的速度取决于我们发送到STEP引脚的脉冲的频率。脉冲越高,电动机运行得越快。脉冲不过是将输出拉为高电平,等待一会儿,然后将其拉低,然后再次等待。通过更改两个脉冲之间的延迟,可以更改这些脉冲的频率,从而更改电动机的速度。

 

Arduino代码–使用AccelStepper库

在没有库的情况下控制步进器非常适合简单的单电机应用。但是,如果要控制多个步进器,则需要一个库。

因此,在下一个实验中,我们将使用称为AccelStepper库的高级步进电机。它支持:

  • 加减速。
  • 多个同时步进器,每个步进器具有独立的并发步进。

该库未包含在Arduino IDE中,因此您需要首先安装它。

 

库安装

要安装库,请导航至“草图”>“包含库”>“管理库...”,等待库管理器下载库索引并更新已安装库的列表。

 

输入“ accelstepper”以过滤搜索。单击第一个条目,然后选择“安装”。

 

Arduino代码

这是一个简单的草图,它使步进电机沿一个方向加速,然后减速以使其静止。电动机旋转一圈后,它将改变旋转方向。而且它会不断地重复这样做。

 

标签:控制,引脚,arduino,电机,连接,Arduino,步进,我们
From: https://www.cnblogs.com/gooutlook/p/17512072.html

相关文章

  • 浅谈智能照明控制管理系统的功能介绍
    罗轩志安科瑞电气股份有限公司上海嘉定201801摘要:智能照明控制系统较好地实现了智能控制、人性化照明和节能降耗的功能,使其在楼宇控制领域变得越来越重要,越来越受到人们的重视。本文介绍了智能照明控制系统的概念、特点、优势、发展方向等内容,并着重对智能照明控制系统的结构......
  • 【雕爷学编程】Arduino动手做(134)---PCF8574T扩展模块
    7款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(133)---LCD1602扩展板模块
    7款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(132)---KY-027魔术光环模块
    7款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(131)---跑马灯矩阵键盘模块
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • m基于simulink的PID,模糊PID以及神经网络模糊PID三种控制器的控制性能对比仿真
    1.算法仿真效果matlab2013b仿真结果如下:     2.算法涉及理论知识概要        基于Simulink的神经网络模糊PID控制器的控制原理和工作步骤。首先,我们将介绍模糊控制和神经网络控制的基本原理,然后介绍如何将这两种控制策略结合起来实现更好的控制效果。最......
  • RT-Thread 正点原子阿波罗STM32F429IGT6-软件IIC控制I/O扩展模块PCF8574T(踩坑)
    第一步:在RT-ThreadSettings中打开I2C设备驱动,Ctrl+S保存 第二步:在drivers->board.h中进行配置,取消BSP_USING_I2C2的注释,并根据说明定义好引脚; 第三步:对引脚进行初始化,这里可使用CubeMX进行生成; 第四步:根据设备名查找设备 第五步:调用 rt_i2c_transfer 发......
  • C#实现控制射频仪表E5071C,采集数据,处理数据,保存数据
    usingSystem;usingSystem.IO;usingSystem.Text;usingIvi.Visa.Interop;usingNationalInstruments.Visa;namespaceE5071C_Demo{classProgram{staticvoidMain(string[]args){//连接仪表ResourceManagerrm......
  • 自动驾驶横纵向耦合控制-复现Apollo横纵向控制 基于动力学误差模型,使用mpc算法,一个控
    自动驾驶横纵向耦合控制-复现Apollo横纵向控制基于动力学误差模型,使用mpc算法,一个控制器同时控制横向和纵向,实现横纵向耦合控制matlab与simulink联合仿真,纵向控制已经做好油门刹车标定表,跟踪五次多项式换道轨迹,效果完美。内含三套代码,两套采用面向对象编程-一套只对控制量添加约......
  • 基于滑膜控制smc的3辆协同自适应巡航控制,上层滑膜控制器产生期望加速度,下层通过油门和
    基于滑膜控制smc的3辆协同自适应巡航控制,上层滑膜控制器产生期望加速度,下层通过油门和刹车控制车速,实现自适应巡航控制。个人觉得从结果图中看出基于滑膜控制的效果非常好,不亚于模型预测控制mpc 并且在实车试验很方便。文件包含acc巡航建模资料和滑膜控制的资料,还有详细教你运......