A4988步进驱动

A4988步进驱动基本知识绕组  常用的步进电机有四根线,1A1B2A2B,1A和1B是一个绕组,2A和2B是一个绕组,用万用表测试1A和1B之间是短路的,2A和2B之间是短路的,1A和1B,2A和2B是等效的。  通常状况下,步进电机可以自由转动(用手可以拧动),1A和1B接在一起的时候,用手拧会感到明显阻力,1A和1B,2A和2B分别接在一起,则阻力更大。步距角  所谓步进电机,就是可以…

大家好,又见面了,我是你们的朋友全栈君。

基本知识

  1. 绕组

  常用的步进电机有四根线,1A 1B 2A 2B,1A和1B是一个绕组,2A和2B是一个绕组,用万用表测试1A和1B之间是短路的,2A和2B之间是短路的,1A和1B,2A和2B是等效的。
  通常状况下,步进电机可以自由转动(用手可以拧动),1A和1B接在一起的时候,用手拧会感到明显阻力,1A和1B,2A和2B分别接在一起,则阻力更大。

  1. 步距角

  所谓步进电机,就是可以一步一步进动的电机,每一步旋转的角度就是步距角。常用电机步距角1.8°的较多,也就是每次步进1.8°,旋转一圈需要200步,也说这个步进电机的分辨率是200步。

  1. 细分

  细分的意义就是提高步进电机分辨率,如果没有细分的话,步进电机每次步进的角度就是步距角,比如1.8°,有了细分,比如16细分,就是把1.8°平均分16份,那么电机的分辨率就变成200*16=3200步了,也就是旋转一圈需要3200步。

  1. 电流

  电流越大,电机扭矩越大。

A4988引脚说明

A4988

  1. ENABLE,

  使能,接低电平则模块开始工作,接高电平则模块关机。

  1. MS1,MS2,MS3

  细分设置,通过这三个脚的高低电平设置细分,1,2,4,8,16这5种细分,具体见表:

MS1 MS2 MS3 细分
Low Low Low 1细分
High Low Low 2细分
Low High Low 4细分
High High Low 8细分
High High High 16细分
  1. RESET

  重置,通常悬空。

  1. SLEEP

  睡眠,接低电平则电机断电,用手拧可以自由转动,接高电平则电机上电,用手拧不动。

  1. STEP

  脉冲输入,往这个脚输入一个方波,电机转动一步,也就是(1.8/16)°(以1.8°电机,16细分为例),往这个脚持续输入方波,则电机持续转动。

  1. DIR

  方向控制,低电平正转,高电平反转。

  1. GND

  地线,两个GND都是一样的,要连在一起接到地线。

  1. VDD

  数字电源,数字电路部分的电源,3.3V或5V,如果这里是3.3V,那么之前说的高电平就是3.3V,低电平就是0V,如果这里是5V,那么之前说的高电平都是5V,低电平是0V。

  1. 1A 1B 2A 2B

  接电机的1A 1B 2A 2B。

  1. VMOT

  功率电源,8-35V,给电机转动提供能源,因此需要较高的电压并有能力输出大的电流。

步进电机驱动方式

  1. 供电

  VMOT接8-35V的功率电源,VDD接3.3V或5V,GND接地,步进电机的4条线插在A4988对应的地方。

  1. 设置细分

  根据表设置步进细分,细分越高步进分辨率越高。

  1. Stm32发生方波

  最简单的方法,类似于让一个Led闪烁,拉高,延时,拉低,延时,循环。

  1. 控制方向和速度

  通过DIR脚控制方向。控制速度其实就是控制脉冲频率,也就是控制拉高拉低之间的延迟时间。
  每一个脉冲电机旋转一步,单位时间给出的脉冲数越多,单位时间旋转的角度就越大,所以速度越快。

  1. 调节电流

  A4988模块上有一个电位器,拧它可以调节电流。

http://www.sohu.com/a/135597153_755644
https://www.jianshu.com/p/a168c20b0f65
https://blog.csdn.net/ling3ye/article/details/47001251

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/147905.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 分辨率,像素,像素密度易懂

    分辨率,像素,像素密度易懂分辨率是什么?一般会说这个屏幕的分辨率是1920*1080,这就说明纵向和横向上有1920个和1080个像素点;像素点是什么?一个像素点就是一个色彩块,没有实际的物理尺寸;什么是屏幕像素密度?一英寸长的一条线上理论上会有多少个像素点;例如:一个手机长边有1920个像素点,短边有1080个像素点,屏幕大小(对角线的物理大小)是5.2英寸的,那么屏幕密度是怎么计…

  • Java程序设计(基础)- 数组

    Java程序设计(基础)- 数组

  • pycharm2021年激活码刚出【在线破解激活】

    pycharm2021年激活码刚出【在线破解激活】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • cogs2550. 冰桥,升起来了!

    cogs2550. 冰桥,升起来了!

  • 数据库课程实践—仓库管理系统(附代码下载)

    数据库课程实践—仓库管理系统(附代码下载)数据库课程实践-仓库管理系统桌面应用程序数据库:SQLServer2008r2IDE:VS2010完成功能:(1)产品入库管理,可以填写入库单,确认产品入库;(2)产品出库管理,可以填写出库单,确认出库;(3)借出管理,凭借条借出,然后能够还库;(4)仓库库存设置,设置库存的初始值,更改库存的上下限值;(5)可以进行盘库,按货物分类,仓库分类和按货号和仓库查找;

  • C语言中assert函数的用法[通俗易懂]

    断言(ASSERT)的用法  我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”。  在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种“契约式编程”,在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个if语句:if(假设成立){程序正常运行;}e

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号