集成电机驱动方案(STM32+DRV8841)

35 篇文章 214 订阅

以前的博客中介绍过一款分立元器件实现的H桥的博文,现在提供一个更简单的单芯片方案。
驱动电路主要由一款DRV8841芯片组成,它是一个集成的电机驱动解决方案,内置两个功率NMOS H桥,可通过PWM驱动两个直流电机,或者一个步进电机。它还集成了电流感知、调节电路与保护装置,支持过热、过电流与欠压保护,并且自带最大3.75us的死区。电机电压支持8.2V到45V,最大电流为2.5A。
在这里插入图片描述
在这里插入图片描述
主要的原理图如下
在这里插入图片描述
我使用的控制芯片是STM32F405RGT6,引脚连接关系如下

网络标号引脚功能备注
MAPPC6桥A输入1MAOP的控制端,内部下拉,与单片机T8C1连接(Timer8的通道1)。
MANPC7桥A输入2MAON的控制端,内部下拉,与单片机T8C2连接。
MBPPC8桥B输入1MBOP的控制端,内部下拉,与单片机T8C3连接。
MBNPC9桥B输入2MBON的控制端,内部下拉,与单片机T8C4连接。
DECAYPB6衰减模式过流时有用,默认为低电平慢速衰减。
nSLEEPPB8休眠模式输入高电平启用设备,低电平休眠模式,内部下拉。
nRESETPB9复位输入低电平复位,会初始化内部逻辑,关闭H桥输出,内部下拉
nFAULTPB7错误输出发生温度过高、电流过大时输出低电平。
MAOP电机A桥A输出1接电机A一端
MAON电机A桥A输出2接电机A另一端
MBOP电机B桥B输出1接电机B一端
MBON电机B桥B输出2接电机B另一端
VCC_MOTOR电源电机电源电机驱动板配套24V
MGND模拟地电机接地此地可能有干扰,要做处理

下两图说明了如何通过AIN1与AIN2引脚来控制电机的正反转。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因此,如果想让电机全速“正转”(姑且规定电流从AOUT1流入AOUT2时,电机为正转[面向安装孔,顺时针为正]),只需AIN2始终保持低电平,AIN1始终保持高电平;如果希望电机转速可调,则AIN1可以通过脉冲宽度调制,在一个很小的周期内,如果AIN1高电平持续的时间为60%,那么对于电机来说,它感受到的平均电压就是24*0.6=14.4V,转速相比24V当然会慢一些。
在H桥驱动电机的电路中,绝对不可以把同侧桥臂的上下半桥同时打开,否则可能会导致板子烧坏。实际上单片机引脚翻转速度极快,而MOS管与电机切换状态都存在延时,导致从程序命令某半桥关断,到实际关断,有一段时间的延迟。在延迟期间,如果上半桥正在关闭,则下半桥暂时还不能打开,直到上半桥完全关闭,下半桥才能打开。中间等待的这段时间,就是死区时间。死区时间与硬件密切相关,不同电机与不同MOS管的死区时间都不一样
一般情况下,STM32控制电机的项目会用到高级定时器Timer1或Timer8,输出嵌入死区的互补PWM,即定时器输出的PWM已经带有死区功能。但电机驱动板中,由于驱动芯片DRV8841自带了死区功能,所以不必再编写死区的代码。
根据手册,DRV8841带的死区时间(在手册中的说法其实叫做Blanking Time,应该叫做消失时间)为3.75us。实际也可以通过示波器测出,从单片机引脚电平下降,到实际电机P端电压下降,用时约2us。即3.75us的死区时间对于此系统是足够的。
在这里插入图片描述

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值