STM32 HAL无刷电机驱动高级定时器互补输出与刹车功能详解

对于驱动bldc需要定时器死区时间控制的解释:

在bldc驱动中,我们需要注意死区时间设定,在H_PWM – L_PWM方式下驱动,需要注意mos管的延时特性,死区设定是防止半桥上下MOS同时导通,造成MOS烧坏,如下图1,因为MOS导通和关断是有时间限制的,虽然MCU输出的互补信号在高低电平上没有重叠,但是由于中间电路的延时和MOS本身特性导致最后驱动MOS的信号有开关重叠,如下图2。

一般来说,死区时间为200ns-2us,不能再大,有些电机应用中对这个要求更高,那要用死区补偿来优化。

图一

图二

MOSFET的电气特性(动态特性tr/ton/tf/toff)

IRFS3607PBF的相关电气特性:

  1. td (on): 导通延迟时间
    指从栅极-源极电压升高超过VGS的10%,到漏极-源极电压达到VDS的90%的时间。
  2. tr:上升时间
    指漏极-源极电压从VDS的90%降至10%的所需时间。
  3. ton:导通时间
    导通时间等于td (on)+ tr。
  4. td (off):关断延迟时间
    指从栅极-源极电压降至VGS的90%以下,到漏源电压达到VDS的10%的时间。
  5.  tf:下降时间
    指漏极-源极电压从VDS的10%升至90%的用时。
  6. toff:关断时间
    关断时间等于td(off)+ tf。

定时器pwm中心对齐模式与死区控制示意图

死区时间计算:

例如f407  168M主频,ckd配置为00,则Tck_int = 1/168M,DTG位设置为120,即0111 1000,高三位为011,即DT=120 * 1/168M。

对于这里这两个分频很多人会弄混,我来说明一下,psc影响到的是计数单元的时钟频率,而ckd影响的是内部的滤波器与死区时间的时钟分频,这里ckd是对内部时钟进行的分频。

F4XX参考手册366页

定时器刹车功能:

F4XX表73:

关于hal配置刹车模式与相关快刹、慢刹的理解:

STM32 TIM PWM高阶操作:刹车及状态约束_pwm刹车功能-CSDN博客

定时器刹车功能与直接对ccr寄存器置0或关闭pwm输出的区别(实际是快刹与慢刹的区别):

在STM32微控制器中,定时器的刹车功能(Brake function)和直接对CCR寄存器置0(Counting Control Register)在实现停止定时器计数的效果上是相似的,但它们在行为和应用场景上存在一些差异:

  1. 定时器刹车功能

  2. 刹车功能通常与定时器的PWM输出功能相关,用于在特定条件下(如错误检测或紧急情况)快速关闭PWM输出。
  3. 刹车功能可能会立即将CCR寄存器的值设置为与ARR(Auto-reload Register)相同,从而快速降低输出到0%占空比,停止PWM波形。
  4. 刹车功能可能涉及到硬件电路,如刹车引脚,用于外部控制或检测刹车信号。
  5. 刹车功能可能会触发一个刹车事件的中断,以便软件可以响应刹车事件。
  6. 直接对CCR寄存器置0

  7. 直接对CCR寄存器置0是一个简单的软件操作,用于停止定时器计数。
  8. 这种方法只是简单地将CCR寄存器的值设置为0,不会影响定时器的其他设置或状态。
  9. 这种方法不会引起任何刹车中断,也不会触发特定的刹车事件。
  10. 直接对CCR寄存器置0的操作不会影响定时器的计数器(CNT),如果稍后重新开始计数,计数器将从当前值继续。

刹车功能的特点

  • 刹车功能通常用于需要快速停止电机或其他负载的情况,如电梯控制系统中的安全刹车。
  • 刹车功能可以提供比简单地停止定时器计数更快的响应时间,因为它可能涉及到硬件电路。
  • 直接对CCR寄存器置0的特点

  • 这是一种更简单的软件方法,适用于不需要快速响应的应用。
  • 这种方法可以用于任何需要停止定时器计数的场景,但不提供刹车功能那样的硬件支持。
  • 总的来说,刹车功能提供了一种快速、可靠的方法来紧急停止电机或其他负载,而直接对CCR寄存器置0则是一种更通用的方法来停止定时器计数。在设计系统时,应根据具体需求选择合适的方法。

    作者:拿破仑43

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32 HAL无刷电机驱动高级定时器互补输出与刹车功能详解

    发表回复