
PWM我们称之为脉冲宽度调制,这种调制技术在直流电机调速、变频调速和灯具调光中用的很广泛,现在有很多可以产生PWM波形的应用芯片可以产生PWM波形,有时候在一些以微处理器为控制核心的电子电路中需要PWM控制时,为了“挖掘”单片机的潜力节省产品的成本会看到常常用微处理器(MCU)的I/O(输入与输出口)来模拟输出PWM控制信号。
为什么微处理器的I/O口可以模拟出PWM信号呢?下面我们一探究竟。
PWM信号产生的基本原理顾名思义题目中的“PWM”信号其实就是就是一种模拟信号电平进行数字编码的一种方法,也就是使用数字信号达到一个模拟信号的效果。
为了更能说明问题我们看图说话吧!以下面我所绘制的PWM波形为例子,从下面图形示意图看这是一个周期是10毫秒的矩形波图,换算成频率来说是100HZ。
朋友们仔细观看会发现在每个10毫秒的周期内其高低电平所占的比例是不一样的,也就是说高电平的占空比是不同的。
第一个周期占空比是4/10、第二个周期占空比是6/10、第三个周期占空比是8/10。
这样只要能够调节在每个周期的占空比就能够调节所控制目标的快慢或者亮灭,这就是PWM信号产生的基本原理,如下图所示。
微控制器普通I/O口模拟PWM波形的方法前面我们对PWM信号产生的基本原理已经清楚了,下面我们主要来谈谈用微处理器I/O口如何实现PWM的波形输出的问题,我们从上图可以很容易知道PWM波形就是由一系列高低电平构成的,只不过高电平占整个周期的比例不同而已,因此对于高电平我们可以用“1”表示,对于低电平我们可以用“0”表示,因为由“1”和“0”组成的信息是微处理器处理这些信息的“强项”。
所以我们把高低电平用“1“和”0”表示。
第二个问题是何时让微处理器的I/O口“吐出”高低电平呢?这就牵扯到微处理器里的软件和特殊定时寄存器配置的问题。
其实现的方法是通过在微处理器的定时寄存器中设置一个需要定时的初值,也就是通过定时器设置出高、低电平的初始值。
然后利用微处理器的定时中断函数对高电平和低电平进行自动的控制输出,通过特殊寄存器的定时功能在当I/O口输出为高电平的时候时,给寄定时存器装载低电平值并使I/O输出低电平;当I/O口输出为低电平的时候时,给寄定时存器装载高电平值并使I/O输出高电平。
就这样在微处理器的I/O口就会输出相应高低电平的PWM波形。
由此可见微处理器的I/O口之所以能够输出PWM波形是微处理器的硬件和软件相互配合的结果,二者缺一不可。
以上就是我对这个问题的解答,欢迎朋友们参与讨论,敬请关注电子及工控技术,感谢点赞。
PWM(Pulse Width Modulation)是脉冲宽度调制PWM有两个指标:占空比和频率,普通的IO只要能控制高低电平变化就可以模拟PWM信号了什么叫占空比高电平时间占整个周期时间的比例叫占空比,比如一个周期为100ms,高电平部分占了40ms,那么占空比就是40%什么叫频率每秒种的周期数叫做频率,假如每秒产生50个波形,那么频率就是50HzMCU怎么用普通IO模拟PWM信号? 只要用定时器产生周期性的时间计数,按设计要求,让IO循环输出指定的高低电平信号就可以了。
因为受MCU时钟和IO电平转换速度的限制,频率很高的PWM信号是没法用普通IO模拟,需要选用带PWM外设的MCU。
欢迎关注@电子产品设计方案,一起享受分享与学习的乐趣!关注我,成为朋友,一起交流一起学习记得点赞和评论哦!非常感谢
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)