步进电机驱动控制总结(二)

本次驱动较常见的42步进电机,就是比较标准的那种电机,应该是有一定代表性的,基本可以应付一些大学生比赛什么的了

这里用的两个电机如下所示

在这里插入图片描述

1、驱动器介绍

本次实验我用的如下,驱动模块是DRV8825,和淘宝上比较多见的A4988基本差不多,接口上基本可以混用的。
在这里插入图片描述
这里店家其实只是做了一个转接板,转接板借口描述如下所示
在这里插入图片描述
DRV8825模块的接口描述我也提供下,如下所示
在这里插入图片描述
步进电机接口处我已经用红线圈出来了,因此根据步进电机的特性(上一篇文章已经讲过)

  • 找到短路的两个接口
  • 把短路的接口分别接到1A,2A,1B,2B接口上,注意是对应的接上

关于控制引脚的说明:

引脚 功能
EN 使能,低电平有效
DIR 转动方向控制
STEP 控制脉冲方向

2、PWM方波直接驱动

从上面我们就可以知道,控制电机其实就是控制这个脉冲,因此我们配置占空比为50%的脉冲就行了,首先配置PWM输出
在这里插入图片描述
下面配置另外两个引脚
在这里插入图片描述
编写驱动函数
在这里插入图片描述
之后将程序下载到开发板就可以看到数据了
在这里插入图片描述
我们可以用逻辑分析仪来捕获下脉冲信号
在这里插入图片描述

3、PWM+DMA精准控制

上面我们已经看到了,直接使用PWM输出方波的方式是可以控制步进电机运转的,但也仅仅是运转而已,目前面临的问题就在于:

  • 运转次数不定
  • 无法准确运行

因此我们就可以用PMW_DMA的方式,来精准控制我们输出的PWM方波的数量

使能DMA
在这里插入图片描述
开始DMA输出PWM
在这里插入图片描述
但是这里有个问题,就是它没有开循环模式的话,也会一直循环发送,所以我们要手动终止
在这里插入图片描述
下载到开发板之前我们先用逻辑分析仪来测试下,因为我们准备了500了,比较多,这里就不统计数量了
在这里插入图片描述
将程序下载到开发板
在这里插入图片描述

4、补充说明

  • 驱动器上有个电流调节旋钮,有时候出了问题这是一个排查的方向
  • 这里步进电机不转的时候一定要关掉EN,就是把EN拉高,不然电机和驱动都会很烫甚至烧掉

猜你喜欢

转载自blog.csdn.net/m0_51220742/article/details/123658382