4-1-6 arduino控制42步进电机(电机专项教程)

news2024/11/26 22:36:37

4-1-6 arduino控制42步进电机(电机专项教程)

  • 4-1-6 arduino控制42步进电机
    • NEMA双极性步进电机
    • A4988
    • 如何使用arduino连接A4988驱动模块
    • Arduino控制Nema-17步进电机(简化版)
    • A4988 Vref电压调节(具体看视频)

4-1-6 arduino控制42步进电机

在这里插入图片描述

之前学习了步进电机的基本工作原理,此学习如何使用arduino控制步进电机

直接控制比较麻烦,此处使用arduino控制A4988再间接控制NEMA17步进电机

A4988模块(非常常见,功能全面,控制NEMA17步进电机最常用的模块)
在这里插入图片描述
在这里插入图片描述

http://www.taichi-maker.com/homepage/reference-index/motor-reference-index/arduino-a4988-nema-stepper-motor/

使用此页面比较方便找到阅读

有详细说明及电路连接以及程序

这里主要是讲解如何控制NEMA17步进电机,还有个stepper库控制28BYJ-48步进电机的
http://www.taichi-maker.com/homepage/reference-index/arduino-library-index/stepper-library/
Stepper库

如何控制NEMA步进电机

NEMA双极性步进电机

http://www.taichi-maker.com/homepage/reference-index/motor-reference-index/nema-stepper-motor/

在这里插入图片描述

基座为方形的,正方形的边长为1.7英寸的(只代表方形尺寸,但内部结构可能不同)
需要知道其他的参数如极性、步进角度、电流、电压等,通过接线图得知
双极性(2相4线)
步进角度为1.8度时表名为全步进控制方式,此时转1步则转1.8度;当以半步进方式控制电机时,转1步就是0.9度;1/4步进控制方式则为转1步就是0.45度;一次类推1/8、1/16。
在这里插入图片描述

并不是所有的NEMA17都可以被A4988控制,我们需要看NEMA17电机的基本参数再决定其是否使用A4988控制

具体哪些NEMA17可以被A4988控制?入下

A4988

首先让我们来看一下A4988电机驱动板的引脚功能:
在这里插入图片描述

A4988电机驱动板引脚说明 以上示意图引自dronebot workshop(www.dronebotworkshop.com)网站

VMOT – 电机电源正极(A4988给电机的外接可用电源电压为8V ~ 35V)注:此引脚用于连接为电机供电的电源(使用的是直流电源,若有个220V的电机,是无法接在此处的,要220v必须有220V的电源给A4988供电,只会烧毁A4988)
GND – 电机电源接地
2B, 2A – 电机绕组2控制引脚(第二相)
1A, 1B – 电机绕组1控制引脚(第一相)
VDD – 逻辑电源正极(3 – 5.5伏)注:此引脚用于为A4988电机驱动板供电(给A4988模块本身提供的信号电源,而非给电机的供电电源)
GND – 逻辑电源接地
ENABLE – 使能引脚(低电平有效)
引脚说明:此当此引脚为低电平时,A4988才能进行电机驱动工作,当该引脚为高电平,A4988将不会进行电机驱动工作。如果该引脚悬空,则A4988默认为使能状态。即该引脚没有连接任何电平时,A4988可以正常工作。
MS1, MS2, MS3 – 驱动模式引脚
引脚说明:这三个引脚控制A4988微步细分驱动模式。通过这三个引脚的逻辑电平,我们可以调整A4988驱动电机模式为全、半、1/4、1/8 及 1/16 步进模式。上图中右侧的表格里有具体如何调节这三个引脚电频以及A4988在不同的电平组合下的驱动模式。表格中“L”代表低电平,“H”代表高电平。“FULL”为全步进,“HALF”为半步进,“QUATER”为1/4步进, “EIGHTH”为1/8步进, “SIXTEENTH”为1/16步进。当MS1, MS2, MS3这几个引脚悬空时,A4988默认为全步进电机驱动模式。
RESET – 复位引脚
引脚说明:该引脚为低电平有效,即当该引脚为低电平时,A4988将复位。如果该引脚悬空,则A4988默认为高电平。即该引脚没有连接任何电平时,A4988可以正常工作。
SLEEP – 睡眠引脚
引脚说明:当该引脚连接电平为低电平时,A4988将进入低能耗睡眠状态,即消耗最小的电能。如果无需使用SLeep功能,则可以将SLEEP引脚与RESET引脚连接,则A4988将持续保持正常能耗状态而不会进入低能耗状态。
STEP – 步进引脚
引脚说明:此引脚用于通过Arduino等微控制器向A4988发送脉冲控制信号,A4988接收到此信号后,会根据 MS1, MS2 和 MS3引脚控制电机运转。
DIR – 方向引脚
引脚说明:通过此引脚可以调整A4988控制电机运行方向。当此引脚为低电平,A4988将控制电机顺时针旋转。高电平则逆时针旋转。

如何使用arduino连接A4988驱动模块

A4988电机驱动板只需要两个Arduino引脚即可控制步进电机运行。

在这里插入图片描述

1,MS1,MS2,MS3悬空,默认全步进模式
2,此处RESET和SLEEP短接了,使sleep保持高电平则不进入睡眠模式,一个小技巧
3,Arduino的3号引脚与A4988的step引脚连接,发送脉冲信号给电机让其走多少步
4,Arduino的2号引脚与A4988的DIR引脚连接,发送高低电平信号,控制电机的方向
5,VMOT、GDN给电机供电的电源,需要接12V的直流电源,此处中间还连接了100uf的点解电容(保护A4988的驱动板的,若长期使用此电容非常必要),注意电解电容有正负极区分
6,A4988四个引脚连接步进电机的四个控制引线的,标准步进电机有红蓝绿黑色
7,Arduino的正5V和GND连接A4988的VDD和GND
8,注意,通常从店家买来的A4988模块是没有经过调节的,对于没有经过调节的模块通电,容易把电机烧坏了,要调节A4988让其适应电机,此处非常关键。调节使用

Arduino控制Nema-17步进电机(简化版)

请留意在以上电路中,A4988电机电源引脚上连接了一个100uF的电解电容(电解电容引脚有正负极之分,电容正极引脚应接在A4988电机电源正极引脚,相反的电解电容负极引脚接在A4988电机电源接地引脚)。该电容可以起到A4988驱动板电源保护的作用。如果没有100uF的电解电容,可以使用任何大于47uF的电解电容来替换。请将该电容尽量安装在靠近VMOT和GND引脚。
其它接线连接相对简单,请根据以上示意图进行相应连接。
此示例为简化版电路连接,在此模式下:

  1. A4988模块只能全步进驱动,您无法通过Arduino控制A4988进行半步进或微步模式驱动。(MS1,MS2,MS3悬空,默认全步进模式)
  2. A4988模块的SLEEP/ENABLE/RESET功能不可用(此处RESET和SLEEP短接了,使sleep保持高电平则不进入睡眠模式,一个小技巧)
    如需使用这些功能请参考Arduino通过A4988模块控制步进电机(完整版)
    注意:连接好接线后,请不要马上通电我们还要进行一项非常重要的工作:A4988电流调节

A4988 Vref电压调节(具体看视频)

所谓Vref电压调节,就是通过A4988上的电位器旋钮调节Vref参考电压。该电压将直接影响到步进电机在工作时流过线圈的电流强度。请注意,这一步操作非常重要,如果忽略这一步有可能会产生电机损坏的后果。

A4988 Vref参考电压计算公式:Vref = Imax X Rcs X 8
Rcs: 市面上A4988模块上的Rcs电阻值一般有3种类型,0.05 欧姆, 0.1 欧姆或0.2 欧姆。大部分A4988模块顺时针旋转电位器可调大Vref,逆时针旋转电位器调小Vref。
Vref: 电位器金属旋钮和GND之间的电压即为Vref。可使用小改锥旋转电位器旋钮从而改变Vref。(如下图所示)
Imax:步进电机工作时,线圈允许流过的最大电流

在这里插入图片描述

使用万用表测量A4988步进电机驱动模块Vref参考电压
例:Rcs为0.1欧姆,电机Imax为1.5A,通过以上公式计算,Vref参考电压为1.2 V。即:我们将通过调节电位器旋钮 将Vref调节为1.2伏特左右。
测量Vref时注意:

  1. A4988模块的VDD引脚需要连接+5V电压(可连接Arduino的+5V引脚)
  2. A4988模块的GND引脚必须与电路中的其它设备共地(可连接Arduino的GND引脚)
  3. A4988模块的VMOT引脚无需通电,但是通电也不影响Vref的测量。
  4. A4988模块的1A/1B/2A/2B引脚可以不与步进电机连接,但连接也不会影响Vref的测量
  5. Arduino无需运行任何程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2060889.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java数组05:Arrays类

本节内容视频链接:Java数组07:Arrays类讲解_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV12J41137hu?p57&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 Java中的‌Array类是一个针对数组进行操作的工具类,‌提供了排序、‌…

SVG的基本图形:直线、圆、椭圆、矩形、多边形等的元素的使用说明。

1、先上个图看一下效果&#xff1a;这里面有直线、圆、矩形、椭圆、多边形。 SVG 可缩放矢量图形&#xff08;Scalable Vector Graphics&#xff09;。 SVG 使用 XML 格式定义图像。 2、代码实现&#xff1a; <svg width"500" height"200" viewBox&…

Kubernetes 如何给pod的 /etc/hosts文件里面添加条目

创建pod的时候&#xff0c;pod会在其/etc/hosts里面添加一个条目。 [rootmaster ~]# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES dns-test 1/1 R…

【RabbitMQ】高级特性

本文将介绍一些RabbitMQ的重要特性。 官方文档&#xff1a;Protocol Extensions | RabbitMQ 本文是使用的Spring整合RabbitMQ环境。 生产者发送确认(publish confirm) 当消息发送给消息队列&#xff0c;如何确保消息队列一定收到消息呢&#xff0c;RabbitMQ通过 事务机制 和 …

Java重修笔记 第三十八天 String翻转

String翻转 1. 要求将字符串指定的部分进行翻转 public class StringHomework {public static void main(String[] args) {// 要求将字符串指定的部分进行翻转// 例如:abcdef ---> a edcb f 1, 4System.out.print("转换前: ");String s "abcdef";…

Libcity笔记:strnn_encoder.py

1 cal_basetime 2 calc_timeoff 3 encode 所以对于 STRNN来说&#xff0c;它的eval_data的每个元素是&#xff1a;

《Python 异常捕获全解析及 yield 关键字详解》

在 Python 中&#xff0c;异常捕获是一种处理程序运行时错误的机制&#xff0c;它可以使程序在出现错误时继续运行&#xff0c;而不是崩溃。以下是对 Python 中异常捕获的详细介绍&#xff0c;包括try、except、else、finally关键字以及对yield关键字的介绍和案例。 一、异常捕…

深入解析FSD烟火识别算法:全套源码与应用实例

一、背景 随着智能监控技术的不断发展&#xff0c;烟火识别&#xff08;Fire Smoke Detection, FSD&#xff09;算法在安防领域得到了广泛应用。传统的火灾探测方法主要依赖于温度传感器和烟雾报警器&#xff0c;这些方法在反应速度和准确性上存在一定局限。尤其是在广阔的户外…

rocketmq 同步复制,异步复制,同步刷盘,异步刷盘详解

一、刷盘模式 同步刷盘&#xff1a; 在返回写成功状态时&#xff0c;消息已经被写入磁盘。具体流程是&#xff0c;消息写入内存的PAGECACHE后&#xff0c;立刻通知刷盘线程刷盘&#xff0c;然后等待刷盘完成&#xff0c;刷盘线程执行完成后唤醒等待的线程&#xff0c;返回消息…

Visual C++ 微软常用运行库合集|dll报错必装

前言 Microsoft Visual C Redistributable&#xff08;简称MSVC&#xff0c;VB/VC&#xff0c;系统运行库&#xff09;是Windows操作系统应用程序的基础类型库组件。此版Visual C运行库组件合集&#xff08;微软常用运行库合集&#xff09;由国内封装爱好者Dreamcast打包而成&…

VulnStack1-内网渗透记录

网络结构 kali192.168.20.145windows7192.168.20.148/192.168.52.1432008192.168.52.138Win2k3192.168.52.130 三台虚拟机IP初始状态固定为192.168.52.0/24网段&#xff0c;所以将仅主机模式的网卡设置为192.168.52.0/24网段 漏洞利用 phpStudy 首先查看windows7的web服务…

个人理解—uboot启动过程(1)

在前文关于MKCONFIG的常用配置参数与链接脚本中逐渐的引入了通过uboot的文件启动校验头引入了uboot的汇编部分&#xff0c;该部分是为了去启动后续的uboot的c语言部分&#xff0c;但是c语言是需要使用到内存的&#xff0c;所以可用理解为&#xff1a;该汇编部分的主要目的就是为…

python异步编程-channels使用,创建websocket服务

目录 channels介绍准备工作创建python虚拟环境安装channels安装django安装daphne创建django项目创建chat应用 配置instance项目简单聊天室页面在chat应用中创建模板base.htmlroom.html 添加视图添加路由添加urls.py项目路由添加chat转发路由启动同步服务器 搭建websocket服务创…

H5 Q绑查询系统源码

源码名称&#xff1a;H5 Q绑查询系统源码 源码介绍&#xff1a;H5Q绑查询系统源码由2个H5单页组成&#xff0c;无需数据库或PHP环境。上传后修改接口即可运行。 需求环境&#xff1a;H5 下载地址&#xff1a; https://www.51888w.com/208.html

鸿蒙内核源码分析(重定位篇) | 与国际接轨

一个程序从源码到被执行&#xff0c;当中经历了3个过程&#xff1a; 编译&#xff1a;将.c文件编译成.o文件&#xff0c;不关心.o文件之间的联系.静态链接&#xff1a;将所有.o文件合并成一个.so或.out文件&#xff0c;处理所有.o文件节区在目标文件中的布局.动态链接&#xf…

将所有PPT中的字体颜色白色改成黑色---使用AI提高效率

背景 在工作中&#xff0c;遇到一个PPT&#xff0c;老板需求&#xff0c;将PPT页面的所有的字体从白色改成黑色&#xff0c; 检查了发现&#xff0c;这个ppt有几个问题&#xff0c;没有使用母版&#xff0c;都是每一页进行编写&#xff0c; 一共500多页&#xff0c; 如果每个…

Markdown中使用 LaTeX 绘图 -- TikZ

Markdown中使用 LaTeX 绘图 -- TikZ 1 介绍1.1 概述1.2 与其他图包对比 2 示例 & 学习[The TikZ and PGF Packages](https://tikz.dev/)[Graphics with TikZ in LaTeX](https://tikz.net/)[TikZ PGF Manual](https://www.bu.edu/math/files/2013/08/tikzpgfmanual.pdf)[在 …

中科亿海微伺服控制FOC解决方案

随着科技的不断进步和应用的不断扩展&#xff0c;电机控制技术的需求也在不断增加&#xff0c;主要的电机控制需求包括高精度控制、高效率、高可靠性和智能化等。 FOC&#xff08;磁场定向控制&#xff09;&#xff0c;也被称作VC&#xff08;矢量控制&#xff09;&#xff0c…

从用户体验说起,集运系统需要哪些重要的功能?

良好的用户体验是服务成功的关键&#xff0c;更是客户持续选择的理由。用户体验层面最简单的表达其实就是&#xff1a;别让我等、别让我想、别让我烦。 在当今时代&#xff0c;用户的期望正在不断提高&#xff0c;他们追求快捷、高效和透明的服务。因此&#xff0c;集运系统在…

生信圆桌x生信菜鸟团:生物信息学初学者的交流与成长社区

生信菜鸟团是一个专门为生物信息学初学者和爱好者打造的在线社区&#xff0c;致力于为广大生信学习者提供一个分享知识、交流经验、共同成长的平台。随着生物信息学在各大领域的快速发展&#xff0c;越来越多的研究者和学生开始涉足这一领域&#xff0c;但生信知识的广度和深度…