历史上的今天
返回首页

历史上的今天

今天是:2024年11月12日(星期二)

正在发生

2019年11月12日 | 一个定时器生成多路PWM波形的原理和方法

2019-11-12 来源:51hei

在很多工程应用中,需要使用到PWM波(脉宽调制),例如电机调速、温度控制调整功率等。本文讲述怎么利用单片机的一个定时器生成多路PWM波形。


一般的,PWM的周期t1是一个固定值,如1ms,10ms,100ms等,在一个周期中包含了高电平t2和低电平t3,它们的关系是t2+t3=t1。改变一个周期中高电平的时间,就能达到速度或者功率调整的目的。PWM适用于高速开关器件的控制,不适合于继电器等低速开关元件的控制,因为继电器等低速元件达不到如此快的开关速度。


PWM控制的关键是控制改变PWM的高电平时间t2,这个时间在其他子程序中由控制算法中进行修改,如PID控制算法。
 
图 1


在微处理器,如单片机中,实现一个定时器生成多路PWM的方法如下。


首先来看看用一个定时器实现一路PWM输出的方法:
>>定义一个时间基准刻度t,这个也是计时器中断周期,一般在程序中t不改变。PWM的周期、高低电平时间由若干个基准时间t组成;
>>定义一个全局计时变量n,n表示这段时间经过了多少个基准时间t;
>>定义一个全局计时变量n1,n1表示一个PWM的周期包含多少个基准时间t,n1=t1/t。一般在程序中n1,t1不改变。


>>定义一个全局计时变量n2,n2表示一个PWM周期中高电平包含多少个基准时间t,n2=t2/t。由于高电平的时间受其他算法控制改变的,n2也是随时在改变。
程序的流程如下:


①初始化定时器,定时器中断时间设置为t,如设置t为1ms或其他;


②初始化变量:n=0;//计时变量n清零
n1=t1/t;//一个PWM的周期t1包含了多少个基准时间t.
//假如设PWM周期为100ms,则n1=100;

n2=t2/t;//计算一个PWM中高电平时间t2由多少个基准时间//t组成。t2由其他控制算法改变。


③开始计时,打开定时器中断。定时器中断程序中n++;
当n当n>=n2&& n当n>n1时,返回步骤①进行下一个周期的PWM.


程序流程图如下:
 
图2


如果在同一个定时器中需要多路PWM,再定义多组类似的变量,按照图2 中流程处理即可。

推荐阅读

史海拾趣

Electronic Transistors Corp公司的发展小趣事

随着电子行业的快速发展和市场竞争的加剧,ETC公司面临着巨大的挑战。为了应对行业变革,公司决定进行转型升级。ETC加大了研发投入,积极探索新型晶体管技术,并成功推出了一系列高性能、低功耗的产品。同时,公司还加强了与上下游企业的合作,形成了完整的产业链。这些努力使ETC在激烈的市场竞争中保持了领先地位。

南京国博公司的发展小趣事

国博电子的前身可以追溯到2000年成立的上海华信集成电路有限公司,起初专注于射频芯片的研发与生产。随着技术的积累和市场的拓展,公司逐步从单一的射频芯片企业成长为覆盖射频芯片、模块、组件的完整产业平台。这一跨越不仅体现了公司在技术上的深厚积累,也反映了其对市场需求的敏锐洞察和快速响应能力。通过不断的技术创新和产品研发,国博电子成功在无线通信、移动通信等领域占据了一席之地。

GigPeak公司的发展小趣事

GigPeak公司自成立之初,便专注于高速数据传输技术的研发。在2005年,公司研发团队成功开发出一种新型的光电转换器,该转换器能够在极低的功耗下实现前所未有的数据传输速率。这一技术创新迅速吸引了业界的关注,并成功应用于多个高端数据中心项目,帮助GigPeak在竞争激烈的市场中脱颖而出。随着技术的不断迭代和市场的广泛认可,GigPeak逐渐成为了高速数据传输领域的领军企业。

ERP Power公司的发展小趣事

在这个故事中,我们将探讨ERP Power如何在云计算技术的推动下实现创新发展。通过引入云计算技术,ERP Power系统为企业提供了更加灵活、可扩展的信息化解决方案,帮助企业降低了IT成本并提高了系统安全性。

佰鸿(BrtLed)公司的发展小趣事

佰鸿公司一直非常重视技术创新和研发投入。通过不断的技术创新,公司成功开发出多款具有竞争力的LED产品,如高散热性发光二极管、贴片型发光二极管等。这些产品的推出,不仅提升了佰鸿在市场上的竞争力,也为其赢得了客户的广泛认可。此外,公司还积极申请专利保护,以确保其技术成果得到充分的保护。

eLED.com Corp公司的发展小趣事

作为一家致力于LED行业的公司,eLED.com Corp深知LED产品对于节能减排的重要性。因此,公司始终将绿色环保理念贯穿于产品的研发、生产和销售过程中。通过采用环保材料和节能技术,eLED.com Corp的产品不仅具有出色的性能,还具备较低的能耗和较长的使用寿命。此外,公司还积极参与各类环保公益活动,推动LED行业向更加绿色、环保的方向发展。

问答坊 | AI 解惑

FPGA可综合性对初学着的一些建议

FPGA可综合性对初学着的一些建议一、HDL不是硬件设计语言 过去笔者曾碰到过不少VHDL或Verilog HDL的初学者问一些相似的问题,诸如如何实现除法、开根号,如何写循环语句等等。在这个论坛上,也时常能看到一些网友提出这一类的问题。 对于这些问 ...…

查看全部问答>

【转】说实话:模拟设计可以老但不可以朽

安静的生活不需再起什么波澜,即将进入四十岁不再进入研发黄金时间段,想把自己做过的想过的都留下来,没有什么名利场的事情了,说出来格外轻松。面对目前大部分国内杂志近乎清一色的嵌入系统,单片机和软件的文章,硬件电路尤其是模拟电路设计似乎 ...…

查看全部问答>

多线程实质是什么?

多线程实质是什么? …

查看全部问答>

如何使用Windows CE开发Web server。最好又实例,谢谢了。

问题如题提供实例者奖1000分。请求帮忙。 可发邮件给我ld.wuxi@yahoo.com.cn…

查看全部问答>

首家外包网络服务平台问世

  “外包在线”网络技术有限公司CEO喻烜为大家讲述了她鲜为人知的创业经历,从初识“外包”到立志创业,从寻求投资到初有成就,借由这朵铿锵玫瑰坚韧不拔的毅力和非凡的智慧,国内首家外包服务网络平台终于问世,自此“外包”服务更加平民化,从 ...…

查看全部问答>

一道非常简单的问题!就当送分!

地址总线A15—A0(低),存储器地址空间为3000H-67FFH,按字节编址。其中3000H-4FFH为ROM区,选用EPROM芯片(4K*2b/片);5000H-67FFH为RAM区,选用DRAM芯片(2K*4位/片) 解释3000H是如何推出(A15A14为00),而 4FFFH又是如何推出(A15A14为01) ...…

查看全部问答>

嵌入式开发经典网站集锦

国内站点: 华恒公司的主页,里面有很多的相关资料,有待大家去发现 http://www.hhcn.com/chinese/embedlinux-res.html SkyEye嵌入式硬件仿真项目 www.skyeye.org http://gro.clinux.org/projects/skyeye/ 公社的SkyEye项目专栏 http://www.linuxfa ...…

查看全部问答>

士大夫

                                 士大夫…

查看全部问答>

软仿与硬仿的差距?

本帖最后由 dontium 于 2015-1-23 13:33 编辑 一段算法 软仿真时间大约160us, JTAG硬件仿真一下子降到3ms 这个差距会由哪些方面引起?谢谢! …

查看全部问答>

ARM+LINUX 中断一定要用驱动在内核完成吗

最近在折腾LINUX 的GPIO中断。用驱程实现了的情形是:1 在驱程里,借用copy_to_user函数,在中断发生时,让一个数值发生变化写回用户态,使得应用程序可以读出这个变化。问题是:这样看起来,好像跟查询没什么区别。以前玩51的时候,情况不是这样的 ...…

查看全部问答>