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

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

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无需运行任何程序
相关推荐
lantiandianzi6 小时前
基于单片机的多功能跑步机控制系统
单片机·嵌入式硬件
哔哥哔特商务网6 小时前
高集成的MCU方案已成电机应用趋势?
单片机·嵌入式硬件
跟着杰哥学嵌入式6 小时前
单片机进阶硬件部分_day2_项目实践
单片机·嵌入式硬件
电子科技圈7 小时前
IAR与鸿轩科技共同推进汽车未来
科技·嵌入式硬件·mcu·汽车
东芝、铠侠总代136100683938 小时前
浅谈TLP184小型平面光耦
单片机·嵌入式硬件·物联网·平面
lantiandianzi8 小时前
基于单片机中医药柜管理系统的设计
单片机·嵌入式硬件
嵌入式知识大讲堂8 小时前
HDMI数据传输三种使用场景
单片机
黑客呀9 小时前
[系统安全]Rootkit基础
stm32·单片机·系统安全
小A1599 小时前
STM32完全学习——使用SysTick精确延时(阻塞式)
stm32·嵌入式硬件·学习
楚灵魈9 小时前
[STM32]从零开始的STM32 HAL库环境搭建
stm32·单片机·嵌入式硬件