A4988两相四线步进电机驱动模块使用经验
1、A4988模块可以驱动两相四线步进电机,模块引脚及接线图如下:

2、步进电机引线如下:

3、引脚:
ENABLE:低电平有效,用于打开和关闭场效应管的输出;
RESET:低电平有效,芯片复位;
SLEEP:低电平有效,进入睡眠模式;
STEP:电机每动一步需要给一个脉冲;
DIR:方向选择,高电平一个方向,低电平一个方向;
VMOT:电机电源输入(8-35V);
GND:地(负极);
2A、2B:一组线圈(如分别接B+、B-);
1A、1B:一组线圈(如分别接A+、A-);
VDD:逻辑电源输入(一般使用单片机的电源);
MS1、MS2、MS3:用于选择电机的类型,具体如下:

4、下面是参考使用GD32F130写的参考代码:
//首先判断转动方向,再给STEP脉冲
void motor0_run(uint16_t speed,uint16_t step,uint8_t dir)
{
uint16_t i;
if(dir) //判断方向
{
GPIO_BOP(DIR_PORT) = DIR_PIN;
}
else
{
GPIO_BC(DIR_PORT) = DIR_PIN;
}
for(i = 0; i < step; i++) //给step脉冲
{
GPIO_BOP(STEP_PORT) = STEP_PIN; //step = 1
delay_1ms(speed);
GPIO_BC(STEP_PORT) = STEP_PIN; //step = 0
delay_1ms(speed);
}
}
//实现的内容是,电机先往一个方向转一段时间,在往另一个方向转一段时间
int main(void)
{
motor0_init(); //初始化相关的IO
systick_config();
while (1)
{
GPIO_BC(ENAB_PORT) = ENAB_PIN; //ENABLE = 0
motor0_run(1,1000,1);
GPIO_BOP(ENAB_PORT) = ENAB_PIN; //ENABLE = 1
delay_1ms(1000);
GPIO_BC(ENAB_PORT) = ENAB_PIN; //ENABLE = 0
motor0_run(1,1000,0);
GPIO_BOP(ENAB_PORT) = ENAB_PIN; //ENABLE = 1
delay_1ms(1000);
}
}
以上代码需要注意的的是,电机驱动完之后要失能mosfet(ENABLE拉高),不然的后电机会持续发热。
A4988两相四线步进电机驱动模块使用经验的更多相关文章
- Arduino+A4988驱动两相四线步进电机
先吐槽一下,在某宝买东西这么多年碰到的不靠谱的卖家也没这几天多.丝杆发短,42电机只有32大,碳杆上的鱼眼粘的没法再歪了还死紧……所以组装还得几天.于是先玩了一下DC-DC降压模块和A4988,规划了 ...
- [PCB制作] 1、记录一个简单的电路板的制作过程——四线二项步进电机驱动模块(L6219)
前言 现在,很多人手上都有一两个电子设备,但是却很少有人清楚其中比较关键的部分(PCB电路板)是如何制作出来的.我虽然懂点硬件,但是之前设计的简单系统都是自己在万能板上用导线自己焊接的(如下图左),复 ...
- Eplan PLC连接点-两两相连接方法
Eplan PLC连接点-两两相连接方法. 1.插入->符号连接->T节点(向右). 2.如图 3.如图 然后再.插入->符号连接->T节点(向左). 重复2,3.即可完成两两 ...
- A4988驱动42步进电机
A4988步进电机驱动器驱动控制42步进电机速度,步进电机调速,调节驱动电流 1 A4988步进电机驱动器简介 方便使用,是我们这些用户最想要的,固有的名词和深入介绍在这就不多说了,您可 ...
- stm32控制步进电机加减速
实习公司项目需要控制步进电机,电机方面主要包括控制运动.加减速.限位.下面介绍一下在电机控制方面的心得,由于对于电机的控制不需要很精确,并且自身能力有限,相比于大牛有很大的差距. 1.需要实现的功能 ...
- RAMPS1.4 3D打印控制板:软件下载\连接\安装\测试
RAMPS1.4 3D打印控制板:软件下载\连接\安装\测试 特别说明: 电源接反,电机驱动板接反将有可能烧毁芯片和电路,请再三确认后再进行通电. 如何使用: 1.需要用到的模块或器件: Arduin ...
- RAMPS1.4 3d打印控制板接线与测试
“工欲善其事,必先利其器”,在开始工作之前,你应该准备下面所说的工具(包括软件和硬件). 1.需要下载的软件 1.1 固件上传工具——Arduino IDE 这是上传固件的必备工具,有了这个软件让上传 ...
- RAMPS1.4 3d打印控制板接线与测试1
1.需要下载的软件 1.1 固件上传工具--Arduino IDE 这是上传固件的必备工具,有了这个软件让上传固件变的容易很多,插上USB,就可以轻松上传. 下载地址:windows版本:http:/ ...
- 玩转X-CTR100 l STM32F4 l DRV8825 A4988 步进电机控制
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器控制步进电机 ...
随机推荐
- js_ts_ec6
JS.ES.TS三者的关系 https://zhuanlan.zhihu.com/p/148875882 package.json详解 https://www.cnblogs.com/sweet-ic ...
- 移动开发中如何整合HTML 5和原生代码
移动开发中如何整合HTML 5和原生代码 https://blog.csdn.net/lvjin110/article/details/41038565
- 免费获取 IntelliJ IDEA 激活码的 6 种方式!
你还在满世界找 IntelliJ IDEA 激活码? 破解的不稳定,也是违法的,有安全风险还不一定,不建议大家使用来历不明的补丁. 今天栈长就分享免费获取 IntelliJ IDEA 的 6 种方式, ...
- C:获取屏幕输入
代码: #include "stdafx.h" #include "stdio.h" int _tmain(int argc, _TCHAR* argv[]) ...
- vue-devtools-4.1.4_0.crx及Vue.js not detected的问题
谷歌-更多工具-扩展程序 Vue.js not detected的问题
- Zookeeper启动流程分析
前言 之前的Zookeeper协议篇-Paxos算法与ZAB协议通过了解Paoxs算法开始,到Zab协议的两大特性:崩溃恢复和消息广播,学习了Zookeeper是如何通过Zab协议实现高可用,本篇主要 ...
- java安全编码指南之:Number操作
目录 简介 Number的范围 区分位运算和算数运算 注意不要使用0作为除数 兼容C++的无符号整数类型 NAN和INFINITY 不要使用float或者double作为循环的计数器 BigDecim ...
- ajax之---原生ajax
原生ajax,基于XMLHttpRequest对象来完成请求 <!DOCTYPE html><html><head lang="en"> ...
- adb命令—monkey篇
monkey 目录 monkey 1.Monkey介绍 2.Monkey是用来做什么的 3.Monkey程序介绍 下面就是一些Monkey命令了 1.Monkey介绍 顾名思义,Monkey就是猴子, ...
- linux之磁盘整理
yum安装的时候报错没有磁盘空间,需要整理 就需要查看下目前的磁盘使用情况 首先是df -hl查看从磁盘使用 可以到根目录下看看文件夹大小 du -sh * 或者下面的命令 接下来我们要删除东西整理磁 ...