基于STM32高级定时器的全桥移相PWM发波方案
关注、星标公众号,不错过精彩内容
来源:STM32单片机
用于移相控制的全桥PWM变换器是中大功率DC-DC变换电路中最常用的电路之一,由于其可以实现开关管的软开关特性,在数字电源的设计中被广泛采用,本文基于STM32中高级控制定时器设计了一种全桥移相控制PWM发波方案。
移相全桥PWM发波要求
移相全桥的拓扑如下图所示,由于谐振电感L1的存在,结合移相控制,使开关管达到零电压开通(ZVS),从而有效的降低了电路的开关损耗和开关噪声,减少了开关过程中的产生的电磁干扰。
移相控制的PWM驱动波形如下,Q1/Q2/Q3/Q4分别对应上图中的4个开关管的驱动。
Q1与Q2驱动互补,插入死区;Q3与Q4驱动互补,插入死区。所有PWM波形的占空比固定,Q3/Q4相对与Q1/Q2移相,相位大小由控制环路确定。
高级定时器移相PWM生成
在高级定时器中(TIM1/TIM8/TIM20),针对移相控制专门设计了一种PWM工作模式,即非对称PWM模式(Asymmetric PWM mode),在中心对称计数模式下,允许计数器向上计数时的比较事件与向下计数时的比较事件分别由两个不同的比较值确定,如下:
OC1REFC由TIMx_CCR1(向上)与TIMx_CCR2(向下)控制
OC2REFC由TIMx_CCR2(向上)与TIMx_CCR1(向下)控制
OC3REFC由TIMx_CCR3(向上)与TIMx_CCR4(向下)控制
OC4REFC 由TIMx_CCR4(向上)与TIMx_CCR3(向下)控制
为了生成移相PWM波形,本文选择以下两种方案:
方案1:Q1/Q2由CH1/CH1N生成,Q3/Q4由CH2/CH2N生成。
方案2:Q1/Q2由CH1/CH1N生成,Q3/Q4由CH3/CH3N生成。
方案1:
在高级定时器中的关键配置如下(使用CubeMx工具):
使能CH1/CH1N/CH2/CH2N。
中心对齐模式,周期值设定为10000。
CH1与CH2的工作模式为Asymmetric PWM2,比较值为5000,用于产生50%固定占空比波形。
编译生成keil工程,添加如下代码,Phase_shift_cnt代表相位偏移值。
测试结果如下(可播放视频),黄色与蓝色波形分别对应CH1与CH2,红色波形用来参考移相结果,其对应的互补波形未抓取。
方案2:
在高级定时器中的关键配置如下(使用CubeMx工具):
使能CH1/CH1N/CH3/CH3N,CH2与CH4使能为PWM Generation No Output。
中心对齐模式,周期值设定为10000。
CH1与CH3的工作模式为Asymmetric PWM2,比较值为5000,用于产生50%固定占空比波形。CH2与CH4的工作模式为PWM mode 2,比较值为5000。
编译生成keil工程,添加如下代码,Phase_shift_cnt代表相位偏移值
测试结果如下(可播放视频),黄色与红色波形分别对应CH1与CH3,其对应的互补波形未抓取。
小结
本文介绍了STM32的高级定时器的非对称模式工作原理,并利用其生成全桥移相控制的PWM驱动实例,可作为使用STM32 MCU 进行移相全桥控制的PWM驱动生成参考。
免责声明:本文素材来源STM32,版权归原作者所有。如涉及作品版权问题,请与我联系删除。
推荐阅读:
几种常见的校验算法
微软发布更强的 Terminal 2.0路线图
分享一篇专治MCU各种 HardFault 的库
关注微信公众号『strongerHuang』,后台回复“1024”查看更多内容,回复“加群”按规则加入技术交流群。
长按前往图中包含的公众号关注
基于STM32高级定时器的全桥移相PWM发波方案相关推荐
- [原]全桥移相(PSFB)原边电流突跌分析
PSFB的原边电流典型波形是:Green-CH2 Primary cuurent 在原边真正duty没有,即从1电平进入0电平时,按照正常思路应该是进入原边环流的过程. 此时漏感电流应该不会发生变化才 ...
- stm32 高级定时器
原文网址:http://jingyan.eeboard.com/article/73847#/prettyPhoto%5Bpp_gal%5D/6/ http://jingyan.eeboard.com ...
- stm32高级定时器 基础知识
stm32高级定时器 高级定时器时基单元: 包含一个16位自动重装载寄存器 ARR 一个16位的计数器CNT,可向上/下计数 一个16位可编程预分频器PSC,预分频器时钟源有多种可选,有内部的时钟.外 ...
- 3.6kw储能逆变器 STM32储能逆变器 BOOST 全桥
3.6kw储能逆变器全套资料 STM32储能逆变器 BOOST 全桥 基于STM32F103设计,具有并网充电.放电:并网离网自动切换:485通讯,在线升级:风扇智能控制,提供过流.过压.短路.过温等 ...
- STM32高级定时器TIM1生成互补PWM
硬件:stm32f103zet6 开发工具:Keil uVision V5.26.2.0 下载调试工具:J-Link 最近在研究三相无刷电机FOC控制,肯定要对互补PWM了解透彻.记录一下学习过程. ...
- STM32———高级定时器的死区时间计算方法
STM32---高级定时器的死区时间计算方法 1.定时器的时钟分频因子和预分频系数的区别: 1.1 时钟分频因子(Clock division),决定定时器的工作时钟频率. tDTS=fDTS ; t ...
- STM32 高级定时器周期、频率、占空比、对外输出电压详解
STM32 高级定时器 最近在研究电机,对TIM定时器研究了一些,将一些存在疑惑的问题,通过试验和示波器分析,得到以下结论,供大家学习参考 1.介绍输出电压高低判断 输出比较时:OC1对外输出电压为示 ...
- STM32通用定时器输出带死区互补PWM/任意移相PWM
项目上遇到了多个通道的带死区的互补功能,单纯靠H7的TIM1/TIM8/TIM15/TIM16/TIM17几个硬件自带的死区互补还不够,本文就使用通用定时器TIM2/TIM3/TIM4/TIM5来实现 ...
- 第十八章 AT32F403A基于V2库 定时器输出移相pwm
目录 概述 硬件 TMR互联同步 软件 初始化 初始化代码 测试 概述 本文主要是使用AT32F403A开发板,基于V2库使用tmr的同步功能来实现定时器输出移相pwm的功能. 串口工具使用的Atli ...
最新文章
- pendo android,Pendo
- 【Ubuntu】安装Ubuntu+Win双系统后,每次开机默认是进入Ubuntu,如何设置成默认进入Win?
- Stackoverflow 高赞答案,为什么牛逼的程序员都不用 “ ! = null ' 做判空?
- 推荐给c++学习者的经典
- wsl ubuntu拒绝访问_一起聊聊WSL的那些事儿(下)
- 设计出python_Python: 实际项目中抽象出的小项目设计
- 真诚推荐7个能助你成长的前端大佬
- 干货,记一次解决录音杂音问题
- 域本地组,全局组,通用组的应用
- 断供后,英特尔再宣布暂停在俄罗斯业务,立即生效
- 使用数组初始化vector对象
- win10 系统Docker搭建设备共享平台stf(一)
- android addr2line 用法,Android studio中NDK开发(四)——使用addr2line分析Crash日志
- 腾讯大战360之观战指南
- Delphi IdHTTP1下载文件防止假死 ( - 大悟还俗
- 广播(BroadcastReceiver)---安卓中的四大天王之一
- 进阶项目(6)LCD12864液晶屏幕设计讲解
- unity_DoTween Ease 动画效果展示
- 3d计算机原理,3d的技术原理有哪些
- 【CSDN软件工程师能力认证学习精选】Python可视化库