完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 MMCU5721167 于 2017-9-19 17:40 编辑 来源 网络 在电力电子控制中,PWM几乎是无处不在的,不论是AC/DC,DC/AC,还是DC/DC,都涉及到PWM,PWM具体是什么可以自行百度,网上资料非常多,这里就不再赘述。在电力电子变换里面,PWM波形生成有两种方式,模拟和数字,专用的模拟IC不在此文探讨范围之内,本文主要介绍怎样用MCU来生成PWM。 在所有的MCU里,都会有timer定时器,PWM就是通过这个外设生成的,基本的原理可以通过下图来解释。 计数器TIM_CNT对输入时钟进行计数,比如输入时钟是1MHz(50%占空比方波),对时钟的每一个上升沿(或者下降沿)从数字0开始计数,计数到TIM_ARR=999,一共计数1000个,经历的时间是1000*1/1000000= 1ms,也就是1kHz,计数到999之后计数器TIM_CNT归零,重新从0开始计数到999,往复循环,这样就形成了1kHzPWM了。 那怎样做到一定的占空比呢?这很简单,设定一个值TIM_CCR,比如199,计数器TIM_CNT从0计数到199,一共200次计数,在TIM_CNT计数值在0-199,PWM输出引脚输出高电平(可以人为设定),计数器达到199,电平翻转到低电平,之后IM_CNT计数999后归零又恢复到高电平,这样也就形成了200/1000= 20%的PWM了。对这个比较值进行设置就可以形成不同占空比的PWM了,这也是最基本的PWM波形生成方法了,从上面介绍的,可以看出,TIM_ARR的值决定了PWM的频率,TIM_CCR的值决定了PWM的占空比,有了这两个值就可以很容易地生成PWM了。
评分 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
2249个成员聚集在这个小组
加入小组灵动微电子MM32全系列MCU产品应用手册,库函数和例程和选型表
11693 浏览 3 评论
【MM32 eMiniBoard试用连载】+基于OLED12864的GUI---U8G2
5927 浏览 1 评论
【MM32 eMiniBoard试用连载】移植RT-Thread至MM32L373PS
10963 浏览 0 评论
【MM32 eMiniBoard测评报告】+ 开箱 + 初探
4576 浏览 1 评论
灵动微课堂(第106讲) | MM32 USB功能学习笔记 —— WinUSB设备
4300 浏览 1 评论
[MM32软件] MM32F002使用内部flash存储数据怎么操作?
974浏览 1评论
798浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 02:19 , Processed in 0.585701 second(s), Total 44, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号