OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 60|回复: 1

DMF407的无刷电机部分为啥没有死区控制??

[复制链接]

7

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
284
金钱
284
注册时间
2017-4-5
在线时间
102 小时
发表于 昨天 20:14 | 显示全部楼层 |阅读模式
1金钱
DMF407开发板控制直流无刷电机,驱动芯片是IR2110S,我看了下手册是不带硬件死区控制的。但是我看代码里却没有死区控制相关的代码??这是为啥,有人解答下吗??

回复

使用道具 举报

0

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2026-1-29
在线时间
13 小时
发表于 3 小时前 | 显示全部楼层
DMF407开发板使用IR2110S驱动芯片时未在代码中实现死区控制的原因可总结如下:

一、IR2110S的固有特性与局限性
缺乏硬件死区控制:IR2110S本身不带硬件死区控制功能,其内部仅有微弱的互锁逻辑(典型死区时间仅10ns),无法有效防止上下管直通。这意味着必须依赖外部手段(如MCU生成带死区的PWM)来避免功率器件短路。

自举电路的限制:IR2110S的高侧驱动依赖自举电容供电,若占空比过高或频率过低,可能导致自举电容充电不足,进而影响高侧驱动能力。这种情况下,即使加入死区时间也可能因驱动电压不足导致MOSFET无法完全导通。

二、代码中省略死区控制的可能原因
依赖MCU高级定时器的硬件死区功能:DMF407开发板基于STM32F407,其高级定时器(如TIM1/TIM8)支持硬件死区插入功能。开发者可能直接利用此特性,在初始化定时器时配置死区时间(例如通过sConfigBreakDeadTime.DeadTime = 100;设置约100ns死区),无需在代码中手动编写死区逻辑。

简化调试与实验场景:在初步测试阶段,开发者可能优先验证基本驱动功能(如电机转动、方向控制),暂时忽略死区保护。此时若工作频率较低且占空比较低,上下管同时导通的风险较小,因此暂未引入死区代码。

三、潜在风险与改进建议
风险分析:若实际运行中PWM频率较高或占空比较大,缺少死区可能导致上下管瞬间直通,造成MOSFET损坏或系统不稳定。此外,IR2110S的自举电容若选型不当(如容值过小或耐压不足),可能加剧驱动失效风险。

改进建议

启用硬件死区:检查STM32定时器配置,确认是否已通过HAL_TIMEx_ConfigBreakDeadTime()等函数启用死区功能。
优化自举电路:根据MOSFET栅极电荷(Qg)和开关频率重新计算自举电容容值(建议0.47μF~1μF),并选用快恢复二极管(如FR107。
增加软件保护:在关键操作(如启停、换向)前插入延时语句,确保上下管关断后再开启另一组MOSFET。
总之,代码中未体现死区控制并非遗漏,而是开发者可能依赖STM32高级定时器的硬件死区功能,或处于调试阶段的临时策略。为确保系统稳定性,需结合硬件参数(如MOSFET型号、母线电压)评估是否需要补充死区逻辑,并严格遵循IR2110S的应用规范进行电路设计与参数配置。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

如发现本坛存在违规或侵权内容, 请点击这里发送邮件举报 (或致电020-38271790)。请提供侵权说明和联系方式。我们将及时审核依法处理,感谢配合。

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2026-4-9 12:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表