PIC单片机之PWM原理分析

发布者:数字翻飞最新更新时间:2020-02-25 来源: elecfans关键字:PIC单片机  PWM  原理分析 手机看文章 扫描二维码
随时随地手机看文章

  1、什么是PWM

  什么是PWM,专业点说脉宽调制,通俗点说 就是不断的输出高低电平。 比如 单片机 40ms的时间 输出高电平然后60ms的时间 输出低电平接着一直不断周期性的交替输出高低电平 这就是典型的PWM波。高电平输出的时间40ms就是传说中的脉宽,40ms+60ms=100ms 便是PWM的周期。假定我们把周期定为100ms.我们可以根据我们的需要 把高电平的时间加大或者减小,比如 高电平输出时间加大为80ms.那么低电平的时间就变为20ms. 也可以 高电平输出时间减小为20ms.那么低电平的时间就变为80ms.这即是脉宽调制 调的便是这高电平的时间。 而高电平(脉宽)在周期中,所占用的时间比例 就被称为占空比。用数学公式表示 高电平的时间/周期的时间=占空比。


  2、PWM的实现方式

  我们如何让单片机输出PWM波。有两种方式 一种是直接用I/O输出,另一种方式利用模块。


  2.1利用I/O口输出PWM

  如果你的单片机没有带有PWM输出功能模块,那么你可以自己写个程序输出PWM波。因为PWM不就是高低电平。一个I/O在加上一个定时器,对于任何单片机来说都是很容易做到的。


  2.2利用模块输出PWM

  对于PIC单片机而言就带有输出PWM的功能模块。利用模块输出PWM其实比利用I/O输出PWM更加简单便捷精确。


  3、PWM控制的基本原理

  理论基础:

  冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。

PIC单片机之PWM原理分析

图1形状不同而冲量相同的各种窄脉冲


  面积等效原理:

  分别将如图1所示的电压窄脉冲加在一阶惯性环节(R-L电路)上,如图2a所示。其输出电流i(t)对不同窄脉冲时的响应波形如图2b所示。从波形可以看出,在i(t)的上升段,i(t)的形状也略有不同,但其下降段则几乎完全相同。脉冲越窄,各i(t)响应波形的差异也越小。如果周期性地施加上述脉冲,则响应i(t)也是周期性的。用傅里叶级数分解后将可看出,各i(t)在低频段的特性将非常接近,仅在高频段有所不同。

PIC单片机之PWM原理分析

图2冲量相同的各种窄脉冲的响应波形


  用一系列等幅不等宽的脉冲来代替一个正弦半波,正弦半波N等分,看成N个相连的脉冲序列,宽度相等,但幅值不等;用矩形脉冲代替,等幅,不等宽,中点重合,面积(冲量)相等,宽度按正弦规律变化。


  SPWM波形——脉冲宽度按正弦规律变化而和正弦波等效的PWM波形。

PIC单片机之PWM原理分析

图3用PWM波代替正弦半波

  4、PWM工作原理分析

  脉冲宽度调制波通常由一列占空比不同的矩形脉冲构成,其占空比与信号的瞬时采样值成比例。下图所示为脉冲宽度调制系统的原理框图和波形图。该系统有一个比较器和一个周期为Ts的锯齿波发生器组成。语音信号如果大于锯齿波信号,比较器输出正常数A,否则输出0。因此,从图中可以看出,比较器输出一列下降沿调制的脉冲宽度调制波。

PIC单片机之PWM原理分析

  通过图b的分析可以看出,生成的矩形脉冲的宽度取决于脉冲下降沿时刻t k时的语音信号幅度值。因而,采样值之间的时间间隔是非均匀的。在系统的输入端插入一个采样保持电路可以得到均匀的采样信号,但是对于实际中tk-kTs《 《的情况,均匀采样和非均匀采样差异非常小。如果假定采样为均匀采样,第k个矩形脉冲可以表示为:

PIC单片机之PWM原理分析

  其中,x{t}是离散化的语音信号;Ts是采样周期; 是未调制宽度;m是调制指数。

PIC单片机之PWM原理分析

  然而,如果对矩形脉冲作如下近似:脉冲幅度为A,中心在t = k Ts处, 在相邻脉冲间变化缓慢,则脉冲宽度调制波xp(t)可以表示为:

  其中,PIC单片机之PWM原理分析 。无需作频谱分析,由式(2)可以看出脉冲宽度信号由语音信号x(t)加上一个直流成分以及相位调制波构成。当PIC单片机之PWM原理分析时,相位调制部分引起的信号交迭可以忽略,因此,脉冲宽度调制波可以直接通过低通滤波器进行解调。


  5、PWM的优点

  PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。


  对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。在接收端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。


  总之,PWM既经济、节约空间、抗噪性能强,是一种值得广大工程师在许多设计应用中使用的有效技术。


  6、PWM的作用

  PWM能用来做什么?PWM比较典型的应用就是对LED调光和电机调速。那PWM是如何进行调光和调速的呢,其实也很好理解。以给LED调光为例。给LED一直通电LED是最亮的。不给LED断电LED是不亮的。那要是在极短的时间内给LED不断的通电断电。那给人眼的感觉就是LED虽然是亮的,但亮度较低。


  如果单片机高平输出时LED是亮的。那么在PWM波中高电平输出的时间越长LED就越亮,反之则越暗。


  7、PIC单片机学习之PWM信号输出

  实现功能:通过键盘(BUTTON)控制蜂鸣器发生,键盘按下,通过RC2/CCP1接口输出PWM信号(频率880Hz,脉宽50)驱动蜂鸣器发声。


  实验环境:Proteus

  编程语言:汇编

  编程环境:MPLAB

  单片机:PIC16F877

  晶振:20MHz

  Proteus仿真电路如下图:

PIC单片机之PWM原理分析

  实验源程序:

  LIST P=16F877

  ;设置pwm为880Hz,50%占空比 INCLUDE P16F877.INC

  ORG

  0000H

  START BANKSEL TRISC;进入TRISC所在BANK BCF

  TRISC,2;清零TRIC的bit2,以使CCP1引脚成为输出

  MOVLW D‘70’

  MOVWF PR2;将70写入PR2以设置PWM周期

  BANKSEL CCPR1L

  MOVLW D‘35’

  MOVWF CCPR1L

  MOVLW 0X06

  MOVWF T2CON;bit2=1,使能TImer2,bit1-1,预分频值为16

  CHECKBUTTON BTFSC PORTA,4

  GOTO

  BUTTONOFF

  BUTTONON MOVLW H‘0C’

  MOVWF CCP1CON;设置CCP1为PWM模式

  GOTO

  CHECKBUTTON

  BUTTONOFF

  CLRF CCP1CON

  GOTO CHECKBUTTON

  END

关键字:PIC单片机  PWM  原理分析 引用地址:PIC单片机之PWM原理分析

上一篇:pic单片机教程之13位程序计数器存储器的组成
下一篇:基于PIC单片机的精确加油系统设计

推荐阅读最新更新时间:2024-11-07 15:13

一种基于DSP的新型单相PWM算法研究
  脉宽调制(Pulse-Width Modulation,PWM)技术在电力电子领域的应用极其广泛。PWM模式是决定逆变器输出电压特性的根本。性能优越的PWM模式可以使逆变器具有良好的输出特性。由傅里叶分析可知,不对称波形会带来大量低次谐波、偶次谐波以及余弦项。因此PWM脉冲波形的对称性对输出特性有很大影响。   PWM的实现方法一般有两种:比较法和计算法。随着数字技术的迅速发展和计算机功能的提高,计算法以其方便灵活的特点成为PWM实现方法的主流。采用计算法实现PWM时,按照每个载波周期内调制波的取法,可以分为规则采样PWM和自然采样PWM。其中,采用规则采样法,计算简单,占用系统软件资源较少,因而应用比较广泛;但是由规则采样
[嵌入式]
PWM技术实现方法综述
引言 采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。PWM控制技术就是以该结论为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。 PWM控制的基本原理很早就已经提出,但是受电力电子器件发展水平的制约,在上世纪80年代以前一直未能实现。直到进入上世纪80年代,随着全控型电力电子器件的出现和迅速发展,PWM控制技术才真正得到应用。随着电力电子技术、微电子技术和自动控制技术的发展以及各种新的理论方法,如现代控制理
[应用]
DS18B20和PIC单片机通讯源程序
ORG PIC54 GOTO MAIN ORG 0 ;---------------------- ;---------------------------- DELAY22 MOVLW D'200' ; DELAY 2*250=500mS MOVWF COUNT1 DE32 MOVLW D'250' ; 8*250=2mS MOVWF COUNT2 DE42 NOP ; 1+2+1=5uS DECFSZ COUNT2,1 GOTO DE42 DECF
[单片机]
PIC单片机在远程控制中的应用
本文介绍了一种用单片机控制的采用电话遥控的简易远程教学系统。它借助于现有的丰富的电话网络资源,具有结构简单,造价低廉,易于操作等特点,可以实现对录像机的各种远距离控制操作。 1 系统的总体结构 该电话遥控教学系统的总体结构如图1所示。 该系统由电话机、小型程控机、远程控制器和数台录像机、电视机组成,该系统既可以通过小型程控机构成一个局域的小系统,也可以利用电信网构成一个跨省市的远距离遥控系统。在该系统中,远程控制器的设计与制造是该系统的核心与关键。 2 远程控制器的结构及工作原理 该控制器的CPU采用美国Microchip公司生产的PIC16C54一次性用户可编程(OPT)单片机,同时,配以
[单片机]
<font color='red'>PIC单片机</font>在远程控制中的应用
ZC-ADK中PIC单片机的CONGFIG说明
CONFIG又称为熔丝位,可以通过配置熔丝位来配置单片机内部的功能,比如晶振时钟、看门狗、JTAG、掉电检测与代码保护等,如果对这些设置不了解的话,建议直接复制粘贴。 在PIC单片机中,我们既可以通过在代码中添加CONFIG代码来设置熔丝位,也可以通过在MPLAB IDE集成开发环境中通过界面进行配置。 界面配置方法: 点击Configure Select Device选择相应的器件,这里我们选择PIC24FJ64GB004,如图1、图2所示: 图1 图2 选择好器件后,点击Configure Configuration Bits,进入图3界面,取消掉Configration Bits set in code,这样
[单片机]
ZC-ADK中<font color='red'>PIC单片机</font>的CONGFIG说明
PIC单片机定时器0的使用方法
#include pic.h #define uchar unsigned char #define uint unsigned int __CONFIG(0x3B31); void init(); uint intnum; void main() { init(); while(1) { if(intnum==5) { intnum=0; RD0=!RD0; } } } void init() { TRISD=0; PORTD=0; OPTION=0x07; INTCON=0xa0; TMR0=61; } void interrupt time0() { T0IF=0; TMR0=61;
[单片机]
用单片机+PWM来解码WAV真人声乐
本程序是 51hei单片机开发板 所提供一个列子,用单片机解码wav真人声音音乐,并用pwm的方法输出,开发板的p2.2口是接的蜂鸣器,但蜂鸣器的效果实在是太差,在使用中直接把蜂鸣器去掉,接上一个2w的小喇叭效果更佳.wav.h是wav数据请从下面的压缩包下载: http://www.51hei.com/f/waefc.rar 下面是主程序部分: #include reg52.h #include wav.h sbit dataOut = P2^2; #define maxSize 2060 unsigned char pwmData=0; unsigned char pwmCycle=256; //pwm
[单片机]
如何选择PIC单片机的C编译器
如果是编译PIC10、PIC12、PIC16系列单片机,用CCS最好。而PIC18/PIC24/dsPIC/PIC32系列,用MCC最好。 PIC单片机的C编译器只有HI-TECH公司出品PICC编译器,和CCS公司的CCS编译器。还有PIC的生产商Microchip公司自行生产的只针对PIC18/PIC24/dsPIC/PIC32系列单片机的C语言编译器MCC(MCC18 / MCC30 / MCC32)。 IAR软件不能编译PIC的C语言或汇编语言。 要注意的一点是,CCS虽然也是C语言,但因为头文件不同,所以它的程序和PICC,MCC都不一样,三者的程序不能混着编译,比如针对CCS编写的程序只能用CCS的编译器
[单片机]
如何选择<font color='red'>PIC单片机</font>的C编译器
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved