0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32G474 逐波限流保护的实现

jf_pJlTbmA9 来源:STM32单片机 作者:STM32单片机 2023-10-26 18:16 次阅读

前言

电源设计中经常会使用逐波限流保护来保证电流不超过限定的最大值,若在短时内多次触发逐波限流保护则强制封锁 PWM 输出,让系统进入故障保护状态,在这个过程中需要对逐波限流触发次数进行计数,以此来判断是否进入故障保护,本文针对该功能,基于 STM32G474 高精度定时器,介绍如何实现逐波限流保护以及保护次数计数。

逐波限流原理介绍

所谓逐波限流指在电源工作过程中,对电感电流或是功率管导通电流进行实时监测,一旦超出设定范围,则在该 PWM 周期内立即关闭相关的 PWM 驱动,直到下个 PWM 周期再自动使能PWM 驱动,若电流信号一直超限,则一直封锁 PWM,直到电流恢复正常的下一个新的 PWM 周期后,才能重新使能 PWM 输出。工作过程示意图如下图所示,OCP 表示过流保护,高电平表示电流超限。

wKgaomUD6U2AVe0OAACm0X7z3rA441.png

STM32G474 逐波限流保护的实现

STM32G474 的高精度定时器除了能产生高精度的 PWM 波外,还包含了外部事件管理器,能对多达 10 个外部事件进行处理。可以设置外部事件的触发源、触发方式(沿触发或是电平触发)、相应方式(同步或是异步)以及事件的滤波方式。外部事件的一个最重要的作用就是用来对输出的PWM 进行控制,触发 PWM 的 Set 与 Reset 动作。

wKgaomUD6U6AXcZKAAGFUcdCwSw690.png

在触发源的选择上,每个外部事件可以从 4 个源中进行选择:

• 外部 pin 脚输入

•内部比较器输出

• 其他定时器触发信号(如 TIM1/2/3_TRGO)

ADC 看门狗事件(ADCx_ADC1/2/3)

对应逐波限流功能,可以选择外部 pin 脚输入或是内部比较器输出,推荐的方式为内部比较器输出。外部电流采样信号直接输入到片上比较器(COMPx_INP),比较器的输出结果作为外部事件触发源。

wKgZomUD6U-ANSMlAACd9FewYqI773.png

基于以上的介绍,利用 CubeMx 工具进行相应的配置来说明整个功能的实现过程,以高精度定时器中的 Timer A 为例,主要介绍外部事件与逐波限流保护的配置,其他的配置不再赘述。外部事件的配置如下,触发源为内部比较器 2 的输出,高电平有效。

wKgaomUD6VGAeD_JAAB2EBgBIlo248.png

为了使用内部比较器,必须对内部对应的比较器进行配置,一般选择 DAC 的输出作为比较器的参考,所以还需要对 DAC 进行配置。比较器的配置如下,设置回差,减少比较器输出抖动。

wKgZomUD6VKANNHOAACivLAZuMQ856.png

DAC 的配置如下(如果选择 VREFINT 或是COMPx_INM 则无需配置 DAC):

wKgaomUD6VSAcgkgAADsRmQeEiM282.png

PWM 输出的配置如下,PWM 的 Reset 除了比较事件外,添加外部事件源。

wKgaomUD6VWAS0vvAAEIbmFNuX8145.png

基于以上的配置,在生成的工程代码中添加必要的外设启动函数即可,如下:

wKgZomUD6VeAZDU7AAEKI5ORw10969.png

通过示波器查看波形,黄色表示输出 PWM 驱动;绿色内部比较器输出信号,输出为高时表示限流保护,触发封波,输出为低则 PWM 可正常输出。

wKgZomUD6ViADbXQAADQ794FA-k981.png

逐波限流触发次数计数的实现

很多应用中不但需要实现逐波限流,还需要对某段时间内触发逐波限流的次数进行计数,以此来判断系统是否出现短路或是过载,然后决定系统是否进入永久保护状态,除非软件再次使能输出。

在高精度定时器中,外部事件不但可以用来触发 PWM 动作,它还可以被定时器内部的捕获单元捕获,所以可以通过读取捕获标志位来判定外部事件是否发生并进行计数;另外如本文采用了内部比较器的输出作为外部事件的触发源,可以通过直接读取比较器的比较中断标识或是输出状态的方式来判定外部事件是否发生并进行计数。

下面以读取捕获标识为例说明如何实现该功能,该方法更加通用。在 CubeMx 中配置高精度定时器的 Capture 功能,如下:

wKgaomUD6VqAJf4LAABFZSZoojA791.png

在软件中添加如下的代码,假如判断周期为 1 秒,本文给出伪代码的形式,具体代码需根据实际的应用进行修改。

wKgaomUD6VuAXRi7AAEi1EE2O9U953.png

小结

本文对逐波限流的原理进行了简单介绍,给出了如何利用 STM32G474 系列 MCU 的高精度定时器中的相关功能实现逐波限流以及逐波限流计数的方案。

来源:STM32单片机
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PWM
    PWM
    +关注

    关注

    114

    文章

    4901

    浏览量

    209930
  • 比较器
    +关注

    关注

    14

    文章

    1526

    浏览量

    106493
  • 限流保护
    +关注

    关注

    0

    文章

    16

    浏览量

    10017
收藏 人收藏

    评论

    相关推荐

    STM32G474的DAC4无输出怎么解决?

    STM32G474 的DAC4采用定时器4触发dma,OUT1连接到比较器5,测试下来 DAC4没输出,是配置哪里有问题吗 定时器4的配置: DAC4: 比较器5: DAC4的DMA: normal 改circular 改过不行memory 勾上也试过 不行。 配置哪里有问题吗
    发表于 03-08 07:08

    STM32G474除以0会进错误中断,为什么?

    我的编译环境为STM32CubeIDE,芯片为STM32G474,我发现程序中如果有除以0的操作时,会跑到错误中断中。请问能不能通过设置,可以让程序不要跑进错误中断,直接等于当前变量类型的最大值
    发表于 04-01 06:32

    限流和平均限流

    限流和平均限流
    发表于 08-20 09:33

    配置一下stm32g474的外部中断

    我感觉stm32的外部中断都是大同小异的,因此我以stm32g474为例,配置一下外部中断。举例引脚: PE5配置引脚为输入模式(GPIOx_MODER);配置触发模式(上升沿/下降沿);配置
    发表于 08-17 06:50

    请问一下STM32G474开发板MCU的性能有哪些

    请问一下STM32G474开发板MCU的性能有哪些?
    发表于 11-05 08:00

    stm32g474的外部中断如何配置?

    stm32g474的外部中断如何配置?
    发表于 11-18 07:17

    如何利用STM32G474设计双向变流器?

    如何利用STM32G474设计双向变流器?
    发表于 11-19 07:52

    小白求助,求STM32G474时钟设置笔记

    小白求助,求STM32G474时钟设置笔记
    发表于 11-24 07:43

    带DMA的STM32G474 DAC不工作是为什么?

    我尝试使用来自 STM32G474 评估板的 DMA 进行 DAC。我可以看到值正在更新到 DOR 寄存器并且 DAC EN 设置为 1。但是,DAC 的输出停留在 0。我附上了 cubeide 设置。
    发表于 12-15 07:06

    可以在FOC控制上使用STM32G474作为STM32f303吗?

    可以在FOC控制上使用STM32G474作为STM32f303吗?
    发表于 01-16 07:35

    请问如何加快STM32G474浮点数计算?

    我是 STM32 MCU 的新手,现在在我的项目中使用 170MHz STM32G474 MCU。今天做了一个测试,发现单片机的浮点数计算速度很慢。完成图 1 中的计算需要 6.3us。(我在计算
    发表于 02-01 06:35

    Stm32G474,DMA传输全部完毕后如何产生中断并调运回调函数?

    Stm32G474,DMA传输全部完毕后,需要产生中断并调运回调函数完成相关操作。请问我如何处理?没有看到常规的回调函数
    发表于 08-04 12:49

    请问STM32G474使用HRTIME来做DAC锯齿生成的锯齿增量和步进频率是否存在限制关系?

    STM32G474使用HRTIME来做DAC锯齿生成的锯齿增量和步进频率是否存在限制关系? DAC配置如下 HRTIME配置如下
    发表于 08-07 06:27

    STM32G474逐波限流保护实现

    STM32G474 的高精度定时器除了能产生高精度的 PWM 波外,还包含了外部事件管理器,能对多达 10 个外部事件进行处理。可以设置外部事件的触发源、触发方式(沿触发或是电平触发)、相应方式(同步或是异步)以及事件的滤波方式。
    的头像 发表于 05-06 09:56 4686次阅读

    基于ST STM32G474的500W全桥移相零电压切换直流-直流转换器数字电源方案

    基于ST STM32G474的500W全桥移相零电压切换直流-直流转换器数字电源方案
    的头像 发表于 10-27 09:47 1627次阅读
    基于ST <b class='flag-5'>STM32G474</b>的500W全桥移相零电压切换直流-直流转换器数字电源方案