生成两路PWM波相位差90°的方法
创作时间:
作者:
@小白创作中心
生成两路PWM波相位差90°的方法
引用
CSDN
1.
https://m.blog.csdn.net/m0_46171719/article/details/125671922?spm=1001.2014.3001.5506
在嵌入式系统开发中,有时需要生成两路相位差90°的PWM波。本文将介绍如何使用定时器的输出比较模式来实现这一功能。
定时器模式简介
在定时器的输出比较模式下,定时器的计数器(CNT)与比较寄存器(CCR)的值进行比较。当CNT值等于CCR值时,输出电平就会翻转。这种模式与PWM模式的主要区别在于:
- PWM模式:在一个周期内(从0增加到ARR),输出电平会有两次变化
- 输出比较模式:在一个周期内(从0增加到ARR),输出电平只有一次变化
因此,在输出比较模式下,定时器输出方波的频率是PWM模式下的一半。
生成相位差90°的两路PWM波
要生成两路相位差90°的PWM波,可以使用定时器的两个通道。具体方法是让一个通道的PWM波比另一个通道滞后1/4个周期。
代码实现
以下是一个具体的代码示例,使用STM32的TIM8定时器生成两路相位差90°的PWM波:
TIM8_PWM_Init(ARR, 0); // 设置PWM频率为72000/(899+1)=80KHz
TIM_SetCompare1(TIM8, ARR / 4); // 通道1输出,连接到PC6
TIM_SetCompare2(TIM8, ARR * 3 / 4); // 通道2输出,连接到PC7
在这个示例中:
TIM8_PWM_Init函数用于初始化定时器,设置自动重装载寄存器(ARR)的值TIM_SetCompare1和TIM_SetCompare2函数分别设置两个通道的比较值- 通道1的比较值设置为ARR的1/4,通道2的比较值设置为ARR的3/4,从而实现90°的相位差
通过上述配置,可以得到两路相位差90°的PWM波,适用于需要特定相位关系的控制场景,如电机控制等。
热门推荐
职场戒指佩戴指南:从数量到搭配技巧
从河南到山西,山西平顺太行天路自驾游攻略,所有景点一网打尽
张弦:以“虐恋情深”刻画80年代爱情困境,三部曲展现时代变迁
A股强势上涨,创业板指涨近3%领跑
网约车频现安全隐私问题,专家建议加强监管与技术防护
平台经济下的劳动困局:社保缺失、合同签订率仅43%
厚耳垂、微笑唇……五种面相预示晚年有福
心理健康与长寿关系揭秘:乐观者寿命可延长10%
光线+构图+后期:打造完美自驾游摄影作品
鲢鳙饵料哪家强?不吹不黑,野钓这样选择又省钱又钓的多
复方桔梗止咳片:冬季必备的止咳化痰良药
李永乐老师数独新作:200题+10节视频课,助力孩子提升逻辑思维
数独高手教你秒变解题达人
数独解题技巧:从入门到精通,提升你的数学思维
数独解题技巧大揭秘:轻松通关秘籍
24小时热线+专业团队,渝中区打造新就业群体心理关爱网
合肥探索新就业群体服务新模式,助力城市基层治理
杭州“小哥学院”:让外卖骑手边工作边上大学
市场利率飙升,可转债还能买吗?
闻泰科技、道氏技术下修转股价,可转债市场迎来新机遇
可转债投资攻略:从入门到实战的风险管理指南
可转债市场熊市,如何规避信用风险?
如何提高乌金木新中式家具的寿命?卫府里家具分享实用保养方法
冬季食用火龙果:加热吃更养胃,这些人不宜多吃
如何处理地板上的乳胶漆问题?这些处理方法的有效性和环保性如何?
白术:养生界的全能选手
格陵兰岛冰川奇观,探险家们都惊呆了!
格陵兰岛首次峰顶降雨,全球变暖再敲警钟
从机械厂小刨工到千万富翁:晋江老板苏安静的逆袭之路
冬至从化:三道名菜暖身心,温泉度假更惬意