一种基于双脉宽调制生成高精度电压的方法与流程

文档序号:15151354发布日期:2018-08-10 21:07阅读:161来源:国知局

本发明涉及一种基于双脉宽调制生成高精度电压的方法,属于电子技术领域。



背景技术:

脉宽调制即脉冲宽度调制(pwm),是通过改变pwm寄存器使得输出的pwm波的占空比发生改变,进而来精确的控制电压的大小。市面上使用的微控制器的pwm输出大多是8位的,等于是将输出电压按照28=256来划分成递增间隙,按照最高输出为5v电压来计算,5/256≈0.0195,这样输出的电压的递增间隙为0.0195v。

在实际工程应用中,这样的精度往往是不够的,一般需要控制电压的精度在0.01v甚至更高,这就需要从其他的方面来提高,例如使用d/a转换芯片来精确控制来输出的电压,或换用输出pwm精度更高的微控制器等,使用d/a转换芯片会使得控制难度加大;换用更高精度的微控制器会增加成本。本方法使用微控制器内部的两路pwm寄存器加上简单的整流滤波电路和加法器电路就实现了对微控制器的输出电压实现了高精度控制,电路简单,容易实现。



技术实现要素:

本发明提供了一种基于双脉宽调制生成高精度电压的方法,用于在不添加外部d/a转换芯片来提高输出电压精度的前提下,使用微控制器自身的资源外加一个加法器电路来提高输出电压的精度。

本发明的技术方案是:一种基于双脉宽调制生成高精度电压的方法,首先在不添加外部d/a转换芯片来提高输出电压精度的前提下,通过要输出的电压vout,计算出要预先设置到微控制器中的两个pwm寄存器值m、n,pwm寄存器初始化之后则以m、n相应的占空比来输出pwm波;输出的两路pwm波经过pwm整流电路整流,将整流得到的直流电压v1、v2接入到加法器电路中按照比例进行相加,相加后即得到精度较高直流电压vout'。

pwm寄存器值m、n及整流得到的直流电压v1、v2的计算方法为:

其中v为微处理器输出电压,l为输出pwm波的位数,vout为要输出的电压;

根据m计算

根据v1计算出来另一路要输出的整流后的电压v2'=2n×(vout-v1);其中n为要提高的精度的位数;

根据v2'计算

根据n计算出实际上另一路输出的电压

所述加法器电路包括电阻rm、rn、rf、rx、ry以及两个运算放大器;其中直流电压v1接电阻rm的一端,直流电压v2接电阻rn的一端,电阻rm、rn的另一端接其中一个运算放大器的反向输入端,电阻rf连接其中一个运算放大器的反向输入端和输出端,电阻rx一端接其中一个运算放大器的输出端,电阻rx另一端接另一个运算放大器的反相输入端,电阻ry接另一个运算放大器的反向输入端和输出端,两个运算放大器的同向输入端接地。

所述其中rm、rn、rf、rx、ry分别表示对应电阻rm、rn、rf、rx、ry的阻值。

本发明的有益效果是:本发明采用微控制器内部的pwm波形发生器直接提高输出电压的精度,弥补了8位pwm微控制器输出精度的不足的缺陷,降低了使用其他d/a转换所带来的成本。

附图说明

图1为本发明实现的过程图;

图2为本发明pwm整流电路图;

图3为本发明加法器电路图。

具体实施方式

实施例1:如图1-3所示,一种基于双脉宽调制生成高精度电压的方法,所述方法步骤如下:本实施例中设定要输出的电压vout为2.57v,l现设置为8位,n设置为8位,这样使得为控制器在原来8位精度的基础上增加到16位,使得电压的分辨率达到了5÷(216)≈0.0000763v;v设置为5v;所述加法器电路包括电阻rm、rn、rf、rx、ry以及两个运算放大器;其中直流电压v1接电阻rm的一端,直流电压v2接电阻rn的一端,电阻rm、rn的另一端接其中一个运算放大器的反向输入端,电阻rf连接其中一个运算放大器的反向输入端和输出端,电阻rx一端接其中一个运算放大器的输出端,电阻rx另一端接另一个运算放大器的反相输入端,电阻ry接另一个运算放大器的反向输入端和输出端,两个运算放大器的同向输入端接地,第一级的作用是反向相加,第二级的作用是反,故设定rm=1kω、rn=256kω、rf=1kω、rx=1kω、ry=1kω;现模拟微控制器计算出pwm寄存器值m、n的过程:

v2'=2n×(vout-v1)=256×(2.57-2.55859375)=2.92;

然后将得到值m、n分别设置到pwm寄存器中;

本实施例中,微控制器产生的两路pwm波经过pwm整流电路,pwm整流电路由两个相同的低通滤波器组成,其中低通滤波器由一个10k的电阻和一个1uf的电解电容组成,如图2所示;

经过整流后的双路电压v1、v2接入到加法器电路中按照比例关系进行相加,如图3,其中相加的比例关系为由本实施例中计算可知:

v1=2.55859375;

故:

误差δvout=vout'-vout=0.000037841796875;

而只是使用8位的单脉冲pwm作为输出的话,可以将计算m的计算公式向下取整即

δvout'=v1-vout=0.008125;

不难看出δvout'远大于δvout,可以说使用本发明的方法可以有效的提高微控制器输出电压的精度。

将相加后得到的高精度直流电压再接入到其他需要高精度电压控制的模块上,提高输出电压的精度

上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1