0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种基于PWM快速产生模拟电压的方法

姚小熊27 来源:网络整理 2018-05-17 11:34 次阅读

什么是PWM

脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。

PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振波开关技术将会成为PWM控制技术发展的主要方向之一。其根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。

PWM详细过程

脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。

多数负载(无论是电感性负载还是电容性负载)需要的调制频率高于10Hz,通常调制频率为1kHz到200kHz之间。

许多微控制器内部都包含有PWM控制器。例如,Microchip公司PIC16C67内含两个PWM控制器,每一个都可以选择接通时间和周期。占空比是接通时间与周期之比;调制频率为周期的倒数。执行PWM操作之前,这种微处理器要求在软件中完成以下工作:

1、设置提供调制方波的片上定时器/计数器的周期

2、在PWM控制寄存器中设置接通时间

3、设置PWM输出的方向,这个输出是一个通用I/O管脚

4、启动定时器

5、使能PWM控制器

如今几乎所有市售的单片机都有PWM模块功能,若没有(如早期的8051),也可以利用定时器及GPIO口来实现。更为一般的PWM模块控制流程为(笔者使用过TI的2000系列,AVR的Mega系列,TI的LM系列):

1、使能相关的模块(PWM模块以及对应管脚的GPIO模块)。

2、配置PWM模块的功能,具体有:

①:设置PWM定时器周期,该参数决定PWM波形的频率。

②:设置PWM定时器比较值,该参数决定PWM波形的占空比。

③:设置死区(deadband),为避免桥臂的直通需要设置死区,一般较高档的单片机都有该功能。

④:设置故障处理情况,一般为故障是封锁输出,防止过流损坏功率管,故障一般有比较器ADC或GPIO检测

⑤:设定同步功能,该功能在多桥臂,即多PWM模块协调工作时尤为重要。

3、设置相应的中断,编写ISR,一般用于电压电流采样,计算下一个周期的占空比,更改占空比,这部分也会有PI控制的功能。

4、使能PWM波形发生。

PWM信号产生电路

开关电源他激控制方式有脉宽调制(PWM)和脉频调制(PFM),其中,大部分都采用PWM方式,因此,现简介PWM控制原理。图所示为PWM信号产生电路框图及工作波形,其工作过程如下:对被控制电压Uo。进行检测所得的反馈电压Ur加至放大器Al的同相输入端,固定的参考电压Uo加至A1的反相输入端。经A1放大后的直流误差电压Ue加至比较器A2的反相输入端,由固定频率振荡器产生的锯齿波信号Usa加至A2的同相输入端。A2输出方波信号,其占空比随误差电压而变化,即实现了脉宽调制。对于单管变换器,A2输出的PWM信号即可作为控制功率晶体管的开关信号,对于推挽或桥式等功率变换电路,则应将PWM信号分为两组信号,即分相。分相电路由触发器及两个“与”门组成,触发器的时钟信号对应于锯齿波的下降沿。A端和B端输出两组相差180°的PWM信号。

一种基于PWM快速产生模拟电压的方法

(a)PWM信号产生电路框图;(b)工作波形

基于PWM快速产生模拟电压的方法

1、概述

电子和自动化技术的应用中,数字信号转换模拟控制信号输出是电子设计中常见的问题,然而许多单片机内部并没有集成数摸转换器DAC)。当然市场上也有一些专用的D/A转换芯片,但这类芯片价格昂贵,并且需要多个处理器功能管脚来控制,这对一般的简单应用是不适合的。

所以在有些应用中,由单片机的PWM输出(或者通过定时器和软件一起来实现PWM输出),经过简单RC滤波电路实现DAC来得到模拟电压是一种比较好的选择。然后,这种方法的一个缺点就是电平转换时间过长,本文提出了一种新的方法来克服该问题。

2、RC滤波电路

图1是传统的RC滤波电路,PSoC通过GPIO口和RC滤波产生模拟电压

一种基于PWM快速产生模拟电压的方法

图1,RC滤波电路产生模拟电压

在这种方法中,PWM通过Px[y]输出,Vout即是需要的模拟电压。PWM的输出在电压VDD和0之间变换,PWM的占空比(DC)决定Vout的输出值。增加DC输出电压也会跟着增加(当DC=0%时,Vout=GND;当DC=100%时,Vout=VDD)。

这种方法比较简单,但缺点是电平转换时间长。例如,当DC从一个值变到另一个值时,可能要几个ms才能使Vout从一个电压变换到最终的稳定电压,如图2所示。

一种基于PWM快速产生模拟电压的方法

图2,RC滤波电路的电平转换时间

较长的电平转换时间在有些应用中是不适用的,下面我将提供一个新的方法来减小该时间。当然,也可通过减小电容电阻(RC)值并提高PWM频率来缩短电平转换时间,但有些单片机的固有缺陷而没办法提高PWM频率时就没办法了。

3、电压跟随器电路

本文介绍一种新的方法能把转换时间减小到几十us,该方法除了RC滤波外,还使用了电阻、三极管以及另外一个GPIO口,三极管设计为电压跟随器模式,如下图3所示:

一种基于PWM快速产生模拟电压的方法

图3,电压跟随器电路产生模拟电压

三极管T是模拟电压Vc到Vout的开关。在空闲状态下设置Pa[b]为“strongdrive”模式,并置为高电平(逻辑1),这样,Vout=VDD,下列步骤将使Vout从空闲状态变换到指定的电压状态。

1)使能PWM并设定为指定的占空比DC。在计算PWN占空比时要考虑到三极管be间的压降(Vbe)。Vc=Vout+Vbe,得出DC=(Vout+Vbe)/VDD.

2)做足够长时间的延迟以使Vc稳定在指定的电压,注意在这延迟的时间内Vout保持高电平VDD。

3)设置GPIO口Pa[b]的驱动模式为“High-Zanalog”,这将导致三极管T工作状态并且Vout将立即变为指定的最终电压(只需要几十个微秒)。

下列步骤将使Vout从指定的电压变换到空闲状态(Vout=VDD)

1)设置Pa[b]的驱动模式为“strongdrive”并置该PIN为高电平,Vout将立即变为VDD.

2)如果需要,此时可停止Px[y]口的PWM以减小功耗。

电平转换如图4所示,当Vc在电压下降的非稳态过程中,Vout还保持高电平。

一种基于PWM快速产生模拟电压的方法

图4,电压跟随器电路的电平转换时间

4、实验和测试结果

Cypress的CY8C20x24系列芯片中,无PWM模块,所以若需要输出模拟电压就只能使用内部的TImer13模块产生PWM,然后使用外围电路产生模拟电压。下面以CY8C20224芯片为例来说明两种模拟电压产生方法的测试情况。

1)使用RC电路做测试

由于CY8C20224提供的Timer13其输入时钟为32KHz,所以由此产生的PWM频率比较低。为了减小模拟电压值的纹波,必须提高RC电路的电阻电容值。在实验电路中R=47K,C=0.1uF。下图5是用示波器抓到的波形。

一种基于PWM快速产生模拟电压的方法

图5,RC滤波电路的电平转换波形

从上图可以看出,当电压从空闲状态(VDD=3.3V)变换到稳定电压1.0V时,大约需要13~15ms.

这在有些应用中是不够的。

2)采用电压跟随器电路测试

若采用电压跟随器电路,电压从空闲状态(VDD=3.3V)变换到稳定电压1.0V时,需要的时间不超过50us,如下图6所示:

一种基于PWM快速产生模拟电压的方法

图6,电压跟随器电路的电平转换波形

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PWM
    PWM
    +关注

    关注

    114

    文章

    4897

    浏览量

    209886
  • 模拟电压
    +关注

    关注

    6

    文章

    58

    浏览量

    18149
收藏 人收藏

    评论

    相关推荐

    基于RC滤波电路的PWM快速产生模拟电压方法介绍

    ),经过简单RC滤波电路实现DAC来得到模拟电压一种比较好的选择。然后,这种方法个缺点就是电平转换时间过长,本文提出了
    发表于 07-12 07:01

    一种自主产生式的雷达回波模拟器中频部分的设计实现方法论述

    ,灵活性有所欠缺。本文论述一种自主产生式的雷达回波模拟器中频部分的设计实现方法,该模拟器可产生
    发表于 07-16 07:40

    一种自主产生式的雷达回波模拟器中频部分的设计论述

    本文论述一种自主产生式的雷达回波模拟器中频部分的设计实现方法,该模拟器可产生脉冲单频、脉冲线性调
    发表于 07-19 07:26

    如何从数字PWM信号获得准确、快速稳定的模拟电压

    如何从数字PWM信号获得准确、快速稳定的模拟电压,并且还能同时保持低组件数目和代码简单性?
    发表于 04-12 06:49

    PWM生成方法

    意思就是脉冲宽度调 制,简称脉宽调制。 PWM一种模拟信号电平进行数字编码 的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对
    发表于 08-09 08:34

    pwm是什么 如何产生pwm

    pwm是什么,如何产生pwm?1、脉冲宽度调制(PWM)是一种模拟信号电平进行数字编码的
    发表于 09-06 06:31

    基于2812DSP的PWM产生方法

    基于2812DSP的PWM产生方法基于2812DSP的PWM产生方法
    发表于 01-11 11:46 25次下载

    从数字PWM信号获取模拟电压

    引言 脉宽调制 (PWM) 是从微控制器或 FPGA 等数字器件产生模拟电压一种常用方法。大多
    发表于 05-09 11:23 22次下载
    从数字<b class='flag-5'>PWM</b>信号获取<b class='flag-5'>模拟</b><b class='flag-5'>电压</b>

    51单片机产生PWM方法

    89C51芯片没有自带PWM发生器,如果要用51来产生PWM波就必须要用软件编程的方法模拟方法
    的头像 发表于 03-16 14:21 3.5w次阅读
    51单片机<b class='flag-5'>产生</b><b class='flag-5'>PWM</b><b class='flag-5'>方法</b>

    一文解析从数字PWM信号获得准确、快速稳定的模拟电压

    本文首先介绍了PWM的基本原理,其次介绍了模拟电路PWM的实现电路,最后详细介绍了从数字PWM信号获得准确、快速稳定的
    发表于 05-17 14:08 6783次阅读
    一文解析从数字<b class='flag-5'>PWM</b>信号获得准确、<b class='flag-5'>快速</b>稳定的<b class='flag-5'>模拟</b><b class='flag-5'>电压</b>

    用软件编程的方法模拟51单片机产生PWM

    89C51芯片没有自带PWM发生器,如果要用51来产生PWM波就必须要用软件编程的方法模拟
    的头像 发表于 02-05 10:08 8371次阅读
    用软件编程的<b class='flag-5'>方法</b>来<b class='flag-5'>模拟</b>51单片机<b class='flag-5'>产生</b><b class='flag-5'>PWM</b>波

    如何获得准确、快速稳定的模拟电压

    脉宽调制(PWM)是从微控制器或FPGA等数字器件产生模拟电压一种常用方法。大多数微控制器都具
    的头像 发表于 07-22 15:18 6609次阅读
    如何获得准确、<b class='flag-5'>快速</b>稳定的<b class='flag-5'>模拟</b><b class='flag-5'>电压</b>?

    DN538 - 从数字 PWM 信号获得准确、快速稳定的模拟电压

    DN538 - 从数字 PWM 信号获得准确、快速稳定的模拟电压
    发表于 03-19 12:13 8次下载
    DN538 - 从数字 <b class='flag-5'>PWM</b> 信号获得准确、<b class='flag-5'>快速</b>稳定的<b class='flag-5'>模拟</b><b class='flag-5'>电压</b>

    来自数字PWM信号的准确、快速建立模拟电压

    不太严格,这是一种简单实用的技术,因为与具有SPI或I的数模转换器(DAC)相比,只需要一个输出引脚,并且代码开销非常低2C 接口。图1所示为一个典型应用,其数字输出引脚经过滤波以产生模拟电压
    的头像 发表于 01-09 14:54 1865次阅读
    来自数字<b class='flag-5'>PWM</b>信号的准确、<b class='flag-5'>快速</b>建立<b class='flag-5'>模拟</b><b class='flag-5'>电压</b>

    pwm产生的三种方法

    pwm产生的三种方法 PWM(Pulse Width Modulation)是一种常用的控制技术,可以通过调节开关管的通断时间,通过改变输出
    的头像 发表于 09-02 10:25 5887次阅读