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


主要的原理图如下

我使用的控制芯片是STM32F405RGT6,引脚连接关系如下

网络标号 引脚 功能 备注
MAP PC6 桥A输入1 MAOP的控制端,内部下拉,与单片机T8C1连接(Timer8的通道1)。
MAN PC7 桥A输入2 MAON的控制端,内部下拉,与单片机T8C2连接。
MBP PC8 桥B输入1 MBOP的控制端,内部下拉,与单片机T8C3连接。
MBN PC9 桥B输入2 MBON的控制端,内部下拉,与单片机T8C4连接。
DECAY PB6 衰减模式 过流时有用,默认为低电平慢速衰减。
nSLEEP PB8 休眠模式输入 高电平启用设备,低电平休眠模式,内部下拉。
nRESET PB9 复位输入 低电平复位,会初始化内部逻辑,关闭H桥输出,内部下拉
nFAULT PB7 错误输出 发生温度过高、电流过大时输出低电平。
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的死区时间对于此系统是足够的。

集成电机驱动方案(STM32+DRV8841)相关推荐

  1. Springboot集成datax方案小记

    Springboot集成datax方案小记 datax源码下载与编译 datax job config Springboot工程 pom.xml 主运行程序 遇到的个掰倒霉问题 另 datax源码下载 ...

  2. 金蝶云星空与盘古MES系统数据集成对接方案

    集成方式 轻松点击鼠标就可以完成各类系统的接口调用.开箱即用的透明盒子,可视化拖.拉.拽实现接口服务编排与聚合. 通过轻易云系统集成平台分别调用两套系统接口,实现ERP与MES系统数据集成对接方案. ...

  3. pccad无法找到所需的动态链接库_PCCAD与PDMERP集成开发方案

    PCCAD与PDMERP集成开发方案 PCCAD与PDM-ERP集成方案 一. PCCAD内部为与PDM-ERP集成需要开发内容 1. 在明细表.标题栏定义界面中增加"允许编辑"属 ...

  4. 高压FOC电机驱动方案,精准控制实现超静音

    在国家不断加强节能减排的政策背景下,高效.静音.智能化成为工业或家用电子产品的主要发展趋势之一.为此,Fortior Tech推出的FU68系列单片机(包括:FU6811,FU6812,FU6813, ...

  5. 可落地微服务on k8s的持续集成/部署方案

    我们隔一流的软件生产工艺还有多远?在距离15000公里外,Amazon一年可以进行5000万次部署,在这一边某电商平台的研发部门里,让他们引以为傲的是他们正在进行"敏捷"开发模式, ...

  6. 【开发心得】electron iohook集成使用方案

    前言: 最近在研究门锁刷卡,用electron写了个客户端,需要读取全局的键盘输入.百度搜到的帖子都不是很完全,或者只言片语,这里稍微完整的写一下. 集成示例gitee: electron-iohoo ...

  7. 数据治理-1. 数据集成-总体方案

    文章目录 1.总体方案 2.概述 1.总体方案 2.概述 数据集成是广义上数据治理的第一步,只有成功的接入数据,才能谈下一步的治理,资产,应用,共享等. 后面会针对集成的各种方式做实际操作的展开,一边 ...

  8. 私有化轻量级持续集成部署方案--05-持续部署服务-Drone(上)

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  9. 用友YonSuite与旺店通数据集成对接方案

    方案简介 聚水潭线下使用的是用YonSuite系统进行财务和业务的核算系统,全部业务数据将汇集到用友YonSuite系统,现在需要将两套系统的相关数据进行对接打通,实现所有业务的数据可以打通,并且保证 ...

最新文章

  1. Java项目:医院管理系统(java+Springboot+Maven+Mybatis+Vue+Mysql)
  2. 前端思想实现:面向UI编程_____前端框架设计开发
  3. 计算机安全OSI安全框架
  4. 在linux下创建自定义service服务
  5. maven jersey mysql_jersey+maven构建restful服务
  6. windows ssh远程登录阿里云遇到permissions are too open的错误
  7. [转]numpy中的np.max 与 np.maximum区别
  8. 无法从“cstring”转换为“lpcstr”_U盘重装系统后,无法使用?
  9. OpenMV(二)--IDE安装与固件下载
  10. 万网域名注册查询接口(API)的说明
  11. [one day one question] GIF动画为什么只动一次不能循环
  12. 字符串怎样实例化成对象
  13. C语言练手题(52个小练习)
  14. ADMM随堂笔记(3):一致和协同
  15. 【图像去噪】基于matlab自适应布谷鸟算法优化维纳滤波器图像去噪【含Matlab源码 1892期】
  16. 【图神经网络】图神经网络(GNN)学习笔记:GraphSAGE
  17. 旧文重发:从第三方服务角度看各公司技术部门如何正确计算投入产出比~
  18. qpython3h手机版怎么发短信_阿里云短信 python3代码发送短信
  19. v4l2_async_subdev_notifier_register 分析
  20. java实战——个人日常事务管理系统

热门文章

  1. 水仙花数的判断(JAVA)
  2. 机械键盘 单个按键不灵 修理
  3. shell_一键部署脚本合集 .
  4. SAP:常用的T-code 收藏
  5. ai文件怎么打开,ai格式文件用什么软件打开
  6. [LeetCode]91.Decode Ways
  7. Found duplicate column(s) when inserting into hdfs://nameservice1/origin_data/events_7/data: `dt`;
  8. 046 非常特别的一天
  9. JSON入门学习总结
  10. 说一说 Backscatter communication