当前位置: 首页 > news >正文

定时器中BDTR死区时间和刹车功能配置

目录

一、代码示例

注意事项:

二、死区时间计算(2us是一个常见的经验值!!!)

1、基础知识了解

1)DTG[7:0]: 死区发生器设置 (Dead-time generator setup) 

2)每种模式计算出的死区时间范围

a)区间1:直接模式

b)区间2:二倍延展模式

c)区间3:八倍延展模式

d)区间4:十六倍延展模式

总结 

3) 步长

2、通俗易懂示例

示例1

实例2

三、定时器刹车功能什么作用?

1)防止意外动作

2)避免硬件损坏

3)提高系统稳定性

4)简化软件设计

5)支持特殊应用需求


一、代码示例

// 配置死区时间和刹车功能TIM_BDTRInitTypeDef TIM_BDTRInitStruct= {0};TIM_BDTRInitStruct.TIM_OSSIState = TIM_OSSIState_Disable;    /* 非工作状态输出(禁用) */
TIM_BDTRInitStruct.TIM_OSSRState = TIM_OSSRState_Disable;    /* 非工作状态输出(禁用) */
TIM_BDTRInitStruct.TIM_LOCKLevel = TIM_LOCKLevel_OFF;        /* 锁定级别(无锁定) */
/* 定时周期 = (ARR+ 1)* (Prc + 1)/ SystemClock */
TIM_BDTRInitStruct.TIM_DeadTime = 0x02;                      /* 设置死区时间(假设2个周期,一个周期1ms)*/
TIM_BDTRInitStruct.TIM_Break = TIM_Break_Disable;            /* 禁用刹车功能 */
TIM_BDTRInitStruct.TIM_BreakPolarity = TIM_BreakPolarity_High;    /* 刹车极性(高电平有效) */
TIM_BDTRInitStruct.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable; /* 启用自动输出 */TIM_BDTRConfig(TIM1, &TIM_BDTRInitStruct);    /* 配置死区时间和刹车参数 */

注意事项:

        1)死区时间计算:确保计算准确性,避免过短或过长。

             过短:可能无法防止直通;

             过长:影响系统性能。

        2)刹车信号:刹车功能的实现需要外部信号连接到定时器的刹车输入引脚(如TIM1_BKIN),并根据实际需求设置刹车极性;

        3)锁定级别:如需在运行过程中修改死区时间或刹车配置,应确保锁定级别设置为无锁定。

二、死区时间计算(2us是一个常见的经验值!!!)

牢记!!!

2us是一个常见的经验值,能够在保证安全的同时,尽量减少对系统性能的影响。

1、基础知识了解

1)DTG[7:0]: 死区发生器设置 (Dead-time generator setup) 

DTG[7:5]决定了死区时间计算模式和倍数:

>> 0xx:直接模式,倍数为1;

>> 10x:二倍延展模式,倍数为2;

>> 110:八倍延展模式,倍数为8;

>> 111:十六倍延展模式,倍数为16


2)每种模式计算出的死区时间范围

下文中tDTS实际上是

假设定时器时钟频率72MHz(未分频),则定时器时钟周期:

        tDTS = 1 / (72e6) = 13.89 ns

a)区间1:直接模式

DTG值范围0x00-0x7F (十进制0-127)

死区时间计算公式1

                           DT = DTG x tDTS

时间范围:

>> 最小值:0 x 13.89 ns = 0 ns

>>最大值:127 x 13.89 ns = 1763.89 ns

b)区间2:二倍延展模式

DTG值范围0x80-0xBF (DTG[5:0]为0-63)

死区时间计算公式2

                        DT = (64 + DTG[5:0]) x 2 x tDTS

时间范围:

>> 最小值:(64 + 0) x 2 x 13.89 ns = 1778.4 ns

>> 最大值:(64 + 63) x 2 x 13.89 ns = 3528.06 ns

c)区间3:八倍延展模式

DTG值范围:0xC0-0xDF(DTG[4:0] 为0-31)

死区时间计算公式3

                DT = (32 + DTG[4:0]) x 8 x tDTS

时间范围:

>> 最小值:(32 + 0)x 8 x 13.89 ns = 3555.84 ns = 3.56 us

>> 最大值:(32 + 31)x 8 x 13.89 ns = 7000.56 ns = 7 us

d)区间4:十六倍延展模式

DTG值范围:0xE0-0XFF(DTG[4:0]为0 - 31)

死区时间计算公式4

                DT = (32 + DTG[4:0]) x 16 x tDTS

时间范围:

>> 最小值:(32 + 0)x 16 x 13.89 ns = 7111.68 ns = 7.11 us

>> 最大值:(32 + 31) x 16 x 13.89 ns = 14001.12 ns = 14 us

总结 
模式时间范围
区间1:直接模式0 ns - 1763.89 ns
区间2:二倍延展模式1778.4 ns - 3528.06 ns
区间3:八倍延展模式3.56 us - 7 us
区间4:十六倍延展模式7.11 us - 14 us

                                                                表格1

3) 步长

a)概念:指用于计算死区时间的基本单位,它决定了死区时间的最小增量。直接影响死区时间的精度和范围。

b)作用: 

        >> 确定死区时间的最小增量:步长越小,死区时间的调整精度越高 

        >> 与乘数结合计算死区时间:死区时间DT = 步长 x 乘数

总结

模式步长时间
区间1:DTG[7:5] = 0xx1 x tDTS
区间2:DTG[7:5] = 10x2 x tDTS
区间3:DTG[7:5] = 1108 x tDTS
区间4:DTG[7:5] = 11116 x tDTS

                                                         表格2

2、通俗易懂示例

       根据表格1和表格2来计算,先根据表格1来确定用哪个公式,再利用表格2确定DTG[7:5]值,无关位写0

示例1

假设定时器时钟频率为1MHz,希望设置死区时间为2us

 第一步:计算时钟周期

        tDTS = 1 / 1MHz = 1us

第二步:由于2us在公式2范围内(1777.92ns - 3528.06ns ),使用公式2:

        2us = (64 + DTG[5:0])  x 2 x 1us

   >>解得:DTG[5:0] = 7.994 = 8

   >> DTG[7:0] = 0b1000 1000 = 0x88 = 136

实例2

假设定时器时钟频率为1MHz,希望设置死区时间为4us

第一步:计算时钟周期

        tDTS = 1 / 1MHz = 1us

第二步:由于4us在公式3范围内(3555.84ns - 7000.56ns ),使用公式3:

        4us = (32 + DTG[4:0])  x 8 x 1us

   >>解得:DTG[4:0] = 10.943 = 11

   >> DTG[7:0] = 0b1100 1011 = 0xCB = 203

 

三、定时器刹车功能什么作用?

1)防止意外动作

        >> 故障保护:当系统检测到故障或异情况(如过流、过压、短路等)时,刹车功能可以立即停止输出信号,防止电机或其他设备继续运行,避免造成更大的损坏或危险。

        >> 紧急停止:紧急情况下,需要立即停止设备运行,刹车功能能够迅速响应,强制关闭输出,确保设备和人员安全。

2)避免硬件损坏

        >> 防止直通短路(H桥);

        >> 保护功率器件;

3)提高系统稳定性

        >> 防止失控:在某些应用中,如电机控制出现故障,电机可能会失去控制,导致意外运动。刹车功能可以及时介入,强制停止电机,保持系统的稳定;

        >> 配合死区时间:刹车功能通常与死区时间配合使用。死区时间可以防止互补输出信号同时切换,而刹车功能则提供了额外的安全保障,确保在异常情况下系统能够安全停止。

4)简化软件设计

        >> 硬件级保护:刹车功能由硬件实现,响应速度快于软件控制提高系统的实时性和可靠性;

        >> 减少软件复杂性:不需要编写复杂的故障处理和安全保护代码;

5)支持特殊应用需求

        >> 精确控制:如伺服系统,刹车功能可以帮助实现快速、准确的停止,满足特定的控制要求;

        >> 符合安全标准:对于某些安全领域较高的应用,如工业自动化、汽车电子等,刹车功能是满足相关安全标准和规范的重要措施。

http://www.lryc.cn/news/593652.html

相关文章:

  • AWS Partner: Accreditation (Technical)
  • Qt Graphs 模块拟取代 charts 和 data visualization还有很长的路要走
  • SPARKLE:深度剖析强化学习如何提升语言模型推理能力
  • stm32继电器使用方法
  • 【RK3576】【Android14】UART开发调试
  • 从零开始学Tailwind CSS : 颜色配置原理与实践
  • EasyExcel使用
  • 创建套接字并bind的详细过程
  • 深度学习-线性神经网络
  • 深度学习Depth Anything V2神经网络实现单目深度估计系统源码
  • 短视频矩阵的未来前景:机遇无限,挑战并存
  • Maven常用知识总结
  • 代码随想录算法训练营第二十天|回溯part02
  • 电阻耐压参数学习总结
  • 动态规划——数位DP经典题目
  • 【深度学习-Day 38】破解深度网络退化之谜:残差网络(ResNet)核心原理与实战
  • 从0到1搭建一个Rag引擎(ollama+Qwen3)
  • 实现el-select下拉框,下拉时加载数据
  • Docker容器原理和启动策略
  • EP01:【Python 第一弹】基础入门知识
  • aosp15实现SurfaceFlinger的dump输出带上Layer详细信息踩坑笔记
  • 生成式人工智能实战 | 自回归模型详解与实现
  • Linux中添加重定向(Redirection)功能到minishell
  • QGIS和QGC软件的区别
  • LVS部署模式NAT集群案例
  • buildroot运行qemu进行pcie设备模拟,开发驱动的方式
  • 【学习记录】智能客服小桃(进度更新ing)
  • 测试计划(抽奖系统)
  • Redis Sentinel哨兵集群
  • STC增强型单片机寄存器 PWM EEPROM TMOD TCON