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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2018即将结束,给寒假李哥flag

    2018即将结束,给寒假李哥flag

    2021年6月19日
    121
  • Java数组删除指定元素

    Java数组删除指定元素//删除数组中其中一个元素publicstaticvoidtestB(){String[]str={“Java”,”C++”,”Php”,”C#”,”Python”};//删除phpList<String>list=newArrayList<String>();for(inti=0;i<str.length;i++){list.add(str[i]

    2022年8月11日
    5
  • layoutSubviews的使用

    layoutSubviews的使用-(void)layoutSubviews{ }layoutSubviews是对subviews的重新布局以下情况会被调用1.直接调用layoutSubviews.如:[selflayoutSubviews];2.用addSubview添加视图时会触发3.滚动UIScrollView时会触发4.旋转屏幕的时候会触发父视图的layoutSu

    2022年7月15日
    17
  • kali安装步骤

    kali安装步骤kali镜像下载地址:http://mirrors.ustc.edu.cn/kali-images/1.    新建虚拟机 -选择自定义选择虚拟机硬件兼容性(默认我的是12.0)选择下一步选择稍后安装操作系统-下一步选择linux内核3.x 64位-下一步修改虚拟机名称为kali2.0   路径为我自己在G创建的kali文件夹处理器 1核我本机物理内存不大够了所以设置512M-…

    2022年5月6日
    61
  • SAE J1939学习笔记(四)

    SAE J1939学习笔记(四)转自:http://blog.csdn.net/hugohut/article/details/24559579多包通信(网络传输层)1.pgn60416–ConnectionManagement2.pgn60160–DataTransfer3.举例Note:TheDataPack

    2022年6月6日
    53
  • python中类(class)

    python中类(class)"""面向过程和面向对象(oop:objectorientedprogramming)的基本概念面向过程:—侧重于怎么做?1.把完成某一个需求的所有步骤从头到尾逐步实现2.根据开发要求,将某些功能独立的代码封装成一个又一个函数3.最后完成的代码,就是顺序的调用不同的函数特点:1.注重步骤与过程,不注重职责分工2.如果需求复杂,代码会变得很复杂3.开发复杂项…

    2022年5月1日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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