大家好,又见面了,我是你们的朋友全栈君。
基本知识
- 绕组
常用的步进电机有四根线,1A 1B 2A 2B,1A和1B是一个绕组,2A和2B是一个绕组,用万用表测试1A和1B之间是短路的,2A和2B之间是短路的,1A和1B,2A和2B是等效的。
通常状况下,步进电机可以自由转动(用手可以拧动),1A和1B接在一起的时候,用手拧会感到明显阻力,1A和1B,2A和2B分别接在一起,则阻力更大。
- 步距角
所谓步进电机,就是可以一步一步进动的电机,每一步旋转的角度就是步距角。常用电机步距角1.8°的较多,也就是每次步进1.8°,旋转一圈需要200步,也说这个步进电机的分辨率是200步。
- 细分
细分的意义就是提高步进电机分辨率,如果没有细分的话,步进电机每次步进的角度就是步距角,比如1.8°,有了细分,比如16细分,就是把1.8°平均分16份,那么电机的分辨率就变成200*16=3200步了,也就是旋转一圈需要3200步。
- 电流
电流越大,电机扭矩越大。
A4988引脚说明
- ENABLE,
使能,接低电平则模块开始工作,接高电平则模块关机。
- 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细分 |
- RESET
重置,通常悬空。
- SLEEP
睡眠,接低电平则电机断电,用手拧可以自由转动,接高电平则电机上电,用手拧不动。
- STEP
脉冲输入,往这个脚输入一个方波,电机转动一步,也就是(1.8/16)°(以1.8°电机,16细分为例),往这个脚持续输入方波,则电机持续转动。
- DIR
方向控制,低电平正转,高电平反转。
- GND
地线,两个GND都是一样的,要连在一起接到地线。
- VDD
数字电源,数字电路部分的电源,3.3V或5V,如果这里是3.3V,那么之前说的高电平就是3.3V,低电平就是0V,如果这里是5V,那么之前说的高电平都是5V,低电平是0V。
- 1A 1B 2A 2B
接电机的1A 1B 2A 2B。
- VMOT
功率电源,8-35V,给电机转动提供能源,因此需要较高的电压并有能力输出大的电流。
步进电机驱动方式
- 供电
VMOT接8-35V的功率电源,VDD接3.3V或5V,GND接地,步进电机的4条线插在A4988对应的地方。
- 设置细分
根据表设置步进细分,细分越高步进分辨率越高。
- Stm32发生方波
最简单的方法,类似于让一个Led闪烁,拉高,延时,拉低,延时,循环。
- 控制方向和速度
通过DIR脚控制方向。控制速度其实就是控制脉冲频率,也就是控制拉高拉低之间的延迟时间。
每一个脉冲电机旋转一步,单位时间给出的脉冲数越多,单位时间旋转的角度就越大,所以速度越快。
- 调节电流
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账号...