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写的参考代码:

  1. //首先判断转动方向,再给STEP脉冲
  2. void motor0_run(uint16_t speed,uint16_t step,uint8_t dir)
  3. {
  4. uint16_t i;
  5. if(dir) //判断方向
  6. {
  7. GPIO_BOP(DIR_PORT) = DIR_PIN;
  8. }
  9. else
  10. {
  11. GPIO_BC(DIR_PORT) = DIR_PIN;
  12. }
  13. for(i = 0; i < step; i++) //给step脉冲
  14. {
  15. GPIO_BOP(STEP_PORT) = STEP_PIN; //step = 1
  16. delay_1ms(speed);
  17. GPIO_BC(STEP_PORT) = STEP_PIN; //step = 0
  18. delay_1ms(speed);
  19. }
  20. }
  21. //实现的内容是,电机先往一个方向转一段时间,在往另一个方向转一段时间
  22. int main(void)
  23. {
  24. motor0_init(); //初始化相关的IO
  25. systick_config();
  26. while (1)
  27. {
  28. GPIO_BC(ENAB_PORT) = ENAB_PIN; //ENABLE = 0
  29. motor0_run(1,1000,1);
  30. GPIO_BOP(ENAB_PORT) = ENAB_PIN; //ENABLE = 1
  31. delay_1ms(1000);
  32. GPIO_BC(ENAB_PORT) = ENAB_PIN; //ENABLE = 0
  33. motor0_run(1,1000,0);
  34. GPIO_BOP(ENAB_PORT) = ENAB_PIN; //ENABLE = 1
  35. delay_1ms(1000);
  36. }
  37. }

以上代码需要注意的的是,电机驱动完之后要失能mosfet(ENABLE拉高),不然的后电机会持续发热。

A4988两相四线步进电机驱动模块使用经验的更多相关文章

  1. Arduino+A4988驱动两相四线步进电机

    先吐槽一下,在某宝买东西这么多年碰到的不靠谱的卖家也没这几天多.丝杆发短,42电机只有32大,碳杆上的鱼眼粘的没法再歪了还死紧……所以组装还得几天.于是先玩了一下DC-DC降压模块和A4988,规划了 ...

  2. [PCB制作] 1、记录一个简单的电路板的制作过程——四线二项步进电机驱动模块(L6219)

    前言 现在,很多人手上都有一两个电子设备,但是却很少有人清楚其中比较关键的部分(PCB电路板)是如何制作出来的.我虽然懂点硬件,但是之前设计的简单系统都是自己在万能板上用导线自己焊接的(如下图左),复 ...

  3. Eplan PLC连接点-两两相连接方法

    Eplan PLC连接点-两两相连接方法. 1.插入->符号连接->T节点(向右). 2.如图 3.如图 然后再.插入->符号连接->T节点(向左). 重复2,3.即可完成两两 ...

  4. A4988驱动42步进电机

    A4988步进电机驱动器驱动控制42步进电机速度,步进电机调速,调节驱动电流       1  A4988步进电机驱动器简介 方便使用,是我们这些用户最想要的,固有的名词和深入介绍在这就不多说了,您可 ...

  5. stm32控制步进电机加减速

    实习公司项目需要控制步进电机,电机方面主要包括控制运动.加减速.限位.下面介绍一下在电机控制方面的心得,由于对于电机的控制不需要很精确,并且自身能力有限,相比于大牛有很大的差距. 1.需要实现的功能 ...

  6. RAMPS1.4 3D打印控制板:软件下载\连接\安装\测试

    RAMPS1.4 3D打印控制板:软件下载\连接\安装\测试 特别说明: 电源接反,电机驱动板接反将有可能烧毁芯片和电路,请再三确认后再进行通电. 如何使用: 1.需要用到的模块或器件: Arduin ...

  7. RAMPS1.4 3d打印控制板接线与测试

    “工欲善其事,必先利其器”,在开始工作之前,你应该准备下面所说的工具(包括软件和硬件). 1.需要下载的软件 1.1 固件上传工具——Arduino IDE 这是上传固件的必备工具,有了这个软件让上传 ...

  8. RAMPS1.4 3d打印控制板接线与测试1

    1.需要下载的软件 1.1 固件上传工具--Arduino IDE 这是上传固件的必备工具,有了这个软件让上传固件变的容易很多,插上USB,就可以轻松上传. 下载地址:windows版本:http:/ ...

  9. 玩转X-CTR100 l STM32F4 l DRV8825 A4988 步进电机控制

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器控制步进电机 ...

随机推荐

  1. 《我想进大厂》之mysql夺命连环13问

    想进大厂,mysql不会那可不行,来接受mysql面试挑战吧,看看你能坚持到哪里? 1. 能说下myisam 和 innodb的区别吗? myisam引擎是5.1版本之前的默认引擎,支持全文检索.压缩 ...

  2. h5跳转微信公众号关注页面

    最近在做h5项目,有个需求是如果用户没有关注公众号,需要引导用户跳转至微信公众号关注页面 制作一个链接,点击该链接跳转到公众号关注页面. 1.从公众平台登进入公众号 2.点击开发>>开发者 ...

  3. .NET CORE命令行

    目录 0. 基础命令行 1. 基础命令 2. SDK命令 3. 使用命令行创建. net Core项目 shanzm-2020年9月7日 22:00:00 0. 基础命令行 D:默认路径跳转到D盘 c ...

  4. SpringBoot—整合log4j2入门和log4j2.xml配置详解

    关注微信公众号:CodingTechWork,一起学习进步. 引言   对于一个线上程序或者服务而言,重要的是要有日志输出,这样才能方便运维.而日志的输出需要有一定的规划,如日志命名.日志大小,日志分 ...

  5. Life is not the amount of breath you take.

    It's the moments that take you breath away.

  6. PHP的九个超全局变量

    1. 什么是超全局变量 PHP官网:超全局变量 超全局变量就是在全部作用域中始终可用的内置变量. 全局作用域.函数作用域都可以使用的PHP内置变量. 在函数或方法中无需执行 global $varia ...

  7. python基础:网络编程

    一.网络编程 简而言之,就是通过代码打开一个url,获得返回结果并做处理.通常所说的python爬虫,就属于网络编程 二.urllib模块进行网络编程 这个方法很繁琐,不建议使用.了解 示例1: 获取 ...

  8. 【NOIP2015模拟】终章-剑之魂

    背景介绍 古堡,暗鸦,斜阳,和深渊-- 等了三年,我独自一人,终于来到了这里-- "终焉的试炼吗?就在这里吗?"我自言自语道. "终焉的试炼啊!就在这里啊!"我 ...

  9. Vue中vue.config的配置

    vue-cli 3.x 脚手架搭建完成后,项目目录中没有 vue.config.js 文件,需要手动在根目录中创建 vue.config.js. vue.config.js 是一个可选的配置文件,如果 ...

  10. [LeetCode]剑指 Offer 52. 两个链表的第一个公共节点

    题解 nodeA走一个链表A(A独有+公共),再走B独有的长度, nodeB走一个链表B(B独有+公共),再走A独有的长度. 结果:两者相遇点即为交点:若没有交点,两者都走到null,会返回null. ...