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

文档序号:15163576发布日期:2018-08-14 17:08阅读:309来源:国知局
本发明涉及一种基于脉宽调制生成高精度电压的方法,属于电子
技术领域

背景技术
:脉宽调制即脉冲宽度调制(pwm),是通过改变pwm寄存器使得输出的pwm波的占空比发生改变,进而来精确的控制电压的大小。市面上使用的微控制器的pwm输出大多是8位的,等于是将输出电压按照28=256来划分成递增间隙,按照最高输出为5v电压来计算,5/256=0.01953125,这样输出的电压的递增间隔约为0.0195v。在实际工程应用中,这样的电压精度往往是不够的,一般需要控制电压的精度在0.01v左右,即以0.01v为递增间隔。这就需要从其他的方面来提高,例如使用d/a转换芯片来精确控制来输出的电压,换用输出pwm精度更高的微控制器等;但是这就使得成本提高了很多,有的也会多占用微控制器的i/o口,所以使用微控制器自身的资源来提高输出pwm控制的电压精度很有必要的。技术实现要素:本发明提供了一种基于脉宽调制生成高精度电压的方法,用于在不添加外部d/a转换芯片来提高输出电压精度的前提下,使用微控制器自身的资源来提高pwm整流后输出电压的精度。本发明的技术方案是:一种基于脉宽调制生成高精度电压的方法,首先在不添加外部d/a转换芯片来提高输出电压精度的前提下,通过要输出的电压vout,预先设置微控制器的pwm寄存器的两个相邻占空比的值n1、n2和微控制器的定时器的定时时间t1、t2,微控制器根据定时时间进入中断控制pwm寄存器值的改变,使得微控制器输出的单路pwm波为两个相邻不同占空比的pwm波按照定时时间呈现周期的变化;然后将输出的呈现周期变化的pwm波经过pwm整流电路整流再接入到其他需要高精度电压控制的模块上。所述预先设置微控制器的pwm寄存器的两个相邻占空比的值n1、n2和微控制器的定时器的定时时间t1、t2的步骤如下:s1、通过要输出的电压vout,计算出要赋值到pwm寄存器两个相邻占空比的值n1、n2,将n1在微控制器初始化时写入到pwm寄存器中;s2、调节定时时间t1、t2的大小,使得两个相邻占空比的值n1、n2的输出电压v1、v2和要输出电压vout之间满足一定的关系,计算出定时时间t1、t2;s3、将定时时间t1、t2设置到微控制器的定时器中。所述控制pwm寄存器值的改变的步骤如下:sa、第一次定时时间t1到,改变pwm寄存器的值为n2;sb、第二次定时时间t2到,改变pwm寄存器的值为n1,将用于定时的标志flag清零,使定时器重新开始定时;sc、重复上述sa、sb步骤,即可输出呈周期变化的pwm波。所述微控制器的型号为:stc12c5a60s2。所述两个相邻占空比的值n1、n2,取值方法为:根据要输出的电压vout计算出n的值计算所得n的值为n2、n+1为n1;其中,l为输出pwm精度,v为微控制器输出的最大电压。所述两个相邻占空比的值n1、n2的输出电压v1、v2具体为:其中,l为输出pwm波的位数,v为微控制器输出的最大电压。所述两个相邻占空比的值n1、n2的输出电压v1、v2和要输出电压vout之间满足一定的关系为:本发明的有益效果是:本发明采用微控制器内部定时直接控制pwm波的输出,进而来提高pwm整流后输出电压的精度,弥补了8位pwm微控制器输出精度不足的缺陷,降低了使用其他d/a转换芯片所带来的成本。附图说明图1为本发明计算n1、n2、t1、t2值的流程图;图2为本发明微处理器输出pwm波的流程图;图3为本发明两个相邻不同占空比的pwm波按照定时时间呈现周期的变化的波形图;图4为本发明pwm整流电路。具体实施方式实施例1:如图1-4所示,一种基于脉宽调制生成高精度电压的方法,所述方法步骤如下:本实施例中设定要输出的电压vout以0.01v为间隔递增:0、0.01、0.02、0.03、…、5,而原来的pwm输出只能以0、0.01953125、0.0390625、0.05859375、…、5来输出;可以看出以0.01为递增间隔,其精度有很大的提升。具体的:现假设要输出的电压为2.57v,按照8位的pwm输出控制精度,并且以公式来计算,将vout=2.57、l=8、v=5带入到上式中,最终计算出来的结果为n=123,因此有n1为124、n2为123,在两个不同的pwm寄存器值输出结果为:由以上计算结果可知,不管将pwm寄存器的值设置为123还是124,都不能输出完整2.57v,只能输出接近的电压2.578125v。现用本发明中的方法来计算t1、t2的值:将上述求得v1、v2的值代入计算公式中计算;则有2.08t2=2.92t1;假定t1+t2=500,则有t1=208us,t2=292us(t1+t2=500只是其中的一个假设结果,为了便于计算,也可假设出其他的便于计算的式子;考虑到pwm滤波电路的截止频率,t1、t2的值不宜设置的过大。)。将定时时间t1、t2设置到微控制器的定时器中。微控制器根据定时时间进入中断控制pwm寄存器值的改变,使得微控制器输出的单路pwm波为两个相邻不同占空比的pwm波按照定时时间呈现周期的变化:sa、第一次定时时间t1到,改变pwm寄存器的值为n2;sb、第二次定时时间t2到,改变pwm寄存器的值为n1,将用于定时的标志flag清零,使定时器重新开始定时;sc、重复上述sa、sb步骤,即可输出呈周期变化的pwm波。将输出的呈现周期变化的pwm波经过pwm整流电路整流,如图4。即可测得整流后的电压为2.57v。再接入到其他需要高精度电压控制的模块上,提高pwm整流后输出电压的精度。本实施例中,通过上述的方法输出的单路两个相邻不同占空比的pwm波按照定时时间呈现周期的变化的pwm波,经过pwm整流后,使得输出的电压可以控制在以0.01为递增间隔进行变化,保证了对高精度电压控制器件的控制。基于本实施例可知,按照本发明方法可使得输出的电压以0.01v,甚至是0.005v为递增间隔来控制输出电压的步进;而原来的以pwm寄存器值直接输出的方法,其步进为0.01953125,递增间隔过大,不利于对需要高精度电压控制器件的控制。例如通过控制变容二极管电压的改变,从而来改变其电容容量。按照本实施例中的以0.01为递增间隔来分别计算出要输出的电压为0、0.01、0.02、0.03、…、5时,n1、n2、t1、t2的值如表1为:表1电压(v)n1n2t1(us)t2(us)0xx∞00.01x2542442560.02254253488120.03254253232268……………2.57125124208292……………4.9821124884.99102562445000∞上表中∞表示总是以该寄存器的值来输出pwm波,不进行定时改变。x表示关闭pwm寄存器的输出,直接以低电压0v输出;以这样的方式来输出主要与微控制器的制作工艺有关,在设置pwm寄存器的值为255时,输出的pwm波并不能完全输出0v的低电平。上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1