DRV8825步进电机驱动
DRV8825是一款电机驱动芯片,为打印机、扫描仪和其他自动化设备应用提供集成电机驱动解决方案。它具有两个H 桥驱动器和一个微步进分度器,用于驱动双极步进电机。 DRV8825 能够从每个输出驱动高达2.5 A 的电流。
DRV8825的特点
1.适用于驱动8.2V~45V 2.5A以下步进电机;
2.只有简单的步进和方向控制界面;
3、六种不同的步进模式:全步、半步、1/4步、1/8步、1/16步、1/32步;
4.内置电位器可以调节电流输出以获得更高的步进率
5.自动电流衰减模式检测/选择;
6.过热关断电路、欠压锁定、横流保护。
相对于4988的特点优势
1.驱动电流高达2.5A
2.最多支持32个细分
3. 4层PCB板,散热良好
4、芯片内阻较小,发热量低,散热好。
DRV8825驱动步进电机注意事项
细分
莫0
M1
M2
L
L
L
全步
H
L
L
半步
L
H
L
1/4步
H
H
L
1/8步长
L
L
H
1/16 步长
H
L
H
1/32 步长
L
H
H
1/32 步长
H
H
H
1/32 步长
引脚说明
1、vMot和GND MOT为电机提供电源接口,可输入8.2V至45V;
2. M0、M1、M2 为细分逻辑电平输入引脚。可根据上表输入相应的逻辑电平来调节电机的步距角;
3. DIR,控制电机旋转方向的引脚。如果该引脚输入高电平,电机顺时针旋转;如果输入低电平,电机将逆时针旋转。
4. STEP/STP 控制电机旋转的脉冲输入引脚。输入脉冲频率越高,电机转动越快;
5. SLP,该引脚控制驱动器的休眠模式,低电平有效。当该引脚拉低时,驱动器进入休眠模式;
6.RST,复位引脚,低电平有效
7. EN,使能引脚,低电平有效。当该引脚输入低电平时,驱动器使能。默认情况下,该引脚被拉低,因此驱动器始终处于启用状态。
8. FAULT,用于过流保护或热关断,当H 桥FET 禁用时,该引脚输出低电平
9. A1、A2、B1、B2 为连接电机的输出引脚
Arduino配合DRV8825驱动步进电机
在本实验中,步进电机在“整步”模式下可以清晰地顺时针移动一圈,然后逆时针移动一圈。
接线
Arduino UNO
DRV8825驱动程序
步进电机
电源
D2
目录
D3
直通车
D4
SLP
D5
快速恢复时间
D6
M2
D7
M1
D8
莫0
接地
接地逻辑
1A
A+
2A
一个-
1B
B+
2B
B-
VMOT
电压控制电路
接地电机
接地
表中电源可根据实际情况连接。 8.2V转45V可以驱动你的步进电机︿
(步进电机的线很乱,请见谅(_))
实验代码
#define DIR 2 //DIR控制步进电机正反转#define STP 3 //PWM输入,控制步进* 为了更好的控制PWM频率,下面会使用自定义的PWM方式,所以这个引脚不必须连接到PWM 引脚*#define SLP 4 //休眠#define RST 5 //复位#define M2 6 //细分调整#define M1 7 //细分调整#define M0 8 //细分调整/* M0 M1 M2 细分L L L 全步1.8 度H L L 半步L H L 1/4 步H H L 1/8 步L L H 1/16 步H L H 1/32 步L H H 1/32 步H H H 1/32 步*/void setup() {//将您的设置代码放在这里,运行一次: pinMode(DIR, OUTPUT);引脚模式(STP,输出);引脚模式(SLP,输出);引脚模式(RST,输出);引脚模式(M2,输出);引脚模式(M1,输出);引脚模式(M0,输出);数字写入(SLP,高); //唤醒驱动Serial.begin(9600);}void Loop() { //将主要代码放在这里,重复运行: int i=0 ; //用于计算步数/*全步前进360度*/while (i 200) { digitalWrite(DIR, HIGH); //正向旋转digitalWrite(RST, HIGH); //细分digitalWrite(M2, LOW);数字写入(M1,低);数字写入(M0,低);数字写入(STP,高);延迟微秒(100);数字写入(STP,低);延迟(500); //如果想改变电机的旋转速度,可以通过改变这个延时i++来实现;串行.println(i); } /*全步反转360度*/while (i 0) { digitalWrite(DIR, LOW); //反向数字写入(RST,高); //分段digitalWrite(M2, LOW);数字写入(M1,低);数字写入(M0,低);数字写入(STP,高);延迟微秒(100);数字写入(STP,低);延迟(500);我- ;串行.println(i);对于两相步进电机来说,由于全步模式,每步为1.8度,所以转动360度就是200步。打印到200时可以通过查看串口打印的“i”的值来验证是否是圆。
通过改变
digitalWrite(STP, LOW);delay(500);中的delay()参数模拟增加或减少脉冲频率来改变步进电机的转速。
用户评论
哇,Arduino DRV8825驱动两相步进电机,感觉很实用!可以用来做些什么?
有6位网友表示赞同!
终于找到一篇关于Arduino驱动步进电机的教程了,感谢分享!
有12位网友表示赞同!
Arduino DRV8825驱动两相步进电机,这个组合挺常见的,期待教程内容。
有9位网友表示赞同!
正好在研究步进电机,这个教程来的太及时了,赶紧学习一下。
有13位网友表示赞同!
收藏了,以后要用到步进电机的时候再回来看看。
有5位网友表示赞同!
Arduino驱动步进电机,这篇文章很详细,讲解的很清晰。
有16位网友表示赞同!
Arduino DRV8825驱动两相步进电机,这篇文章内容很丰富,值得一读。
有16位网友表示赞同!
驱动两相步进电机,这篇文章用Arduino和DRV8825,非常实用。
有11位网友表示赞同!
Arduino DRV8825驱动两相步进电机,这个组合很经典,教程很有参考价值。
有12位网友表示赞同!
这篇文章讲解的非常细致,让我对Arduino驱动步进电机有了更深的了解。
有15位网友表示赞同!
Arduino DRV8825驱动两相步进电机,这个教程写的很不错,推荐大家学习。
有17位网友表示赞同!
Arduino驱动步进电机,这个教程简单易懂,非常适合初学者。
有6位网友表示赞同!
感谢分享,这个教程让我学会了如何用Arduino驱动步进电机。
有14位网友表示赞同!
Arduino DRV8825驱动两相步进电机,这个组合的应用场景很广泛。
有13位网友表示赞同!
这篇文章讲解的非常实用,让我学习到了很多关于步进电机的知识。
有13位网友表示赞同!
Arduino驱动步进电机,这个教程非常实用,可以用来制作很多有趣的东西。
有16位网友表示赞同!
收藏了,以后用Arduino驱动步进电机的时候可以参考这个教程。
有7位网友表示赞同!
Arduino DRV8825驱动两相步进电机,这个教程让我对步进电机有了更深入的理解。
有6位网友表示赞同!
Arduino驱动步进电机,这个教程非常棒,推荐大家学习一下。
有7位网友表示赞同!
这个教程讲解的非常清晰,让我对Arduino驱动步进电机有了更直观的认识。
有14位网友表示赞同!