首页 > 版块 > 电路设计 > 帖子正文

如何用比较器实现VF转换(三角波发生电路)

鲁肃 发布于 2021-10-30 17:42
收藏 0 回复 0 浏览 237 原创

如何用比较器实现VF转换(三角波发生电路)

   电路设计在很大程度上,其实是对波形的一种转换。比如说三极管开关电路,它所实现的就是PWM电压幅值的转换;比如说恒流源电路,它实现的就是电压→电流的转换;BUCKLDO实现的是直流电压源幅值的转换,等等。同样的,在电路设计中也经常会需要对电压→ 频率的转换,或者简称VF转换。

下面介绍一种比较实用且相对简单的VF三角波发生电路。

image.png

我们看上面这个电路,由1个比较器+5个电阻+1个电容构成了一个VF转换电路,C点输出的是三角波。它的大致工作原理是:

当比较器输出高电平时,此时电路可以等效为下面左边这个电路;2、当比较器输出低电平时,电路可以等效为下面右边这个电路。

image.png             image.png

那么,对于A点来说,它就会有2个不同节点电压,这2个节点电压对应的就是比较器正输入端的2个不同的电位V1V2。其实从上面2个电路图中可以看出来,左边的B点电位高,所以对应的A点电位就是高电位V1;右边的B电电位低,所以对应的A电电位就是低电平V2

image.png

假设当比较器输出高电平时,此时对应了A点电位是V1,那么,5V电源通过上拉电阻和R4对电容C1进行充电。

image.png

这里可以假设5V电源刚刚上电时刻,A点作为比较器的正输入端对应了一个分压值,而负输入端由于在刚刚上电时刻,电容压降为0V,所以V+>V-,此时比较器输出的就是高电平。那么刚刚对应的A点分压值就是V1高电位(或者称之为高阈值)。当比较器输出高电平的同时,5V电源给C1进行充电,从0V开始不断上升,当上升到V1时,V- > V+(也就是V1),比较器输出低电平。

image.png

当比较器输出低电平时,此时A点电位对应的就是V2低电压(或者称之为低阈值),同时电容通过R4电阻对地进行放电。当电容上的电压从V1放到了V2时,V+ > V-,比较器又会输出高电平。如此往复,电容C就不断的通过充放电来实现三角波输出。

三角波如何产生的:

接下拉再来一起看一个电路模型,来研究一下电容充放电波形,看看它和三角波是什么关系?

image.png

上面这个电路是电容充放电的一个等效模型图。当开关拨到左边时,此时5V电源通过Rc电阻对电容进行充电。假设电容初始电压为0V,那么它的充电曲线就是图中所示,整体是一个非线性模型,如果用公式表示的话,应该是这样的:

image.png

(关注“张飞实战电子”公众号,有关于上面公式的详细推导过程)。

如果电容从0V充到电源电压的话,其实就是一个非线性的指数函数关系。

当电容充满电开关拨到右边时,此时电容上的电压就会通过Rf 电阻进行放电。

image.png

那么放电曲线就是上面这样的波形。

image.png

观察充放电波形可以发现,在充电时的电容电压快接近电源电压时,曲线很平缓;在放电时的电容电压快接近0V时,曲线也很平缓。如果把它们结合在一起就是这样子的充放电波形。

image.png

很明显,电容的充放电波形,并不是一个三角波。而我们所需要的三角波应该是类似于下面这样的波形。

image.png

那么,应该怎么让电容上的充放电波形,更加接近三角波呢?其实要这么来做,在充电时,舍弃上面那段平缓的充电区域;同样的,在放电时,舍弃下面那段平缓的放电区域。

image.png

也就是说,我们不让电容充满电,比如充到2.8V就停止充;也不让电容放完电,比如放到1.2V就停止放,那么取中间的近似线性的部分,就接近一个三角波了。如下图所示:

image.png

三角波高低阈值的确定:

其实,2.8V就是对应了V1高阈值电压;1.2V对应了V2低阈值电压。通过比较器不断输出高低电平,实现电容不断的充放电,从而形成三角波。这样的三角波,我们就认为它是近似线性的了。对于不同的电源电压,一般可以这么来取:高阈值取1倍的RC时间常数,也就是63%的电源电压,5V*0.63=3.15V;低阈值取1倍的RC时间常数,也就是63%放电初始电压,3.15V*1-0.63=1.16V。越远离两端的电压,三角波越接近线性。这里我们取的1.2V~2.8V也是合理的。

R1 R2阻值计算:

image.png

接下来考虑如何实现比较器输出的高低电平,分别对应的V1 V2高低阈值。由于V1~V2的变化范围是1.2V~2.8V,同时考虑R3 R4取值尽量大于R1 R2 5倍以上,这样可以忽略R3 R4分压,所以我们可以取最高电压,让R1 R2的分压值在2.8V。我们可以让R1 R2上流过的电流在1mA。是因为这样的电流既不太小,能抗干扰,同时电流也不太大,功耗低。这里我们让R1=2.2KR2=2.8K

image.png

R5阻值计算:

接下来再考虑当比较器输出低电平时的低阈值等效电路。

image.png

当比较器输出低电平时,B点就相当于接地。而此时电阻分压得到的就是V2低阈值电压1.2V。由于:

image.png


上式中,V2 = 1.2VR1=2.2KR2=2.8K,得出R5

image.png

R5可以选择910Ω的标称阻值。

image.png

R3 R4阻值选取:

在计算出来V2低阈值所对应的阻值时,接下来就是计算V1高阈值了。当比较器输出高电平时,它的等效电路如下图所示:

image.png

假设R3 R4的取值较大(这里我们可以让R3 R4大于R1 R2五倍以上),那么根据内阻分析法,可以近似的忽略掉R3 R4。这样的话B点作为比较器的输出端可以认为A点的高低阈值就是1.2V~2.8V

可以选择R3=10KΩ,R4=10KΩ的标称阻值。

image.png

 

C1电容计算:

那么,接下来就是计算C1了。如果想要得到16KHz频率的三角波的话,C1的取值应该是多大呢?

我们知道,如果f = 16KHz,那么T = ton + toff = 62.5 us。而电容的大小决定了tontoff。所以,只要计算出来tontoff的时间,就能求出C1了。那么,tontoff怎么确定呢?

image.png

ton 就是从1.2V充到2.8V所花的时间,toff 就是从2.8V放到1.2V所花的时间。ton期间给电容的充多少能量,那么toff期间电容就放同样多的能量,也就是Qc = Qf。由于Qc =Qf= C*ΔV,而ΔV=2.8-1.2=1.4V,所以,只要任意求出Qc或者Qf的话,电容C也就是知道了。所以接下来的问题就是如何求出QcQf

我们假设平均充电电流为Ic,平均放电电流为If。所以,

image.png


由于,Qc = Qf,所以:

image.png

image.png

在充电期间,比较器输出高,此时当电容电压为1.2V时,对应了最大充电电流:

image.png


所以,平均充电电流:

image.png

在放电期间,比较器输出低,此时电容刚开始放电的电压为2.8V,对应了最大放电电流:

image.png


当电容上的电压放到了1.2V时,对应了电容最小放电电流:

image.png


所以,平均放电电流:

image.png


根据公式(4)(5)(6)可得:

image.png

所以,

image.png

根据公式(1)(5)(8)可得:

image.png

由于Qc = C*ΔV,所以:

image.png

这里可以取2.2nF的瓷片电容。

image.png

以上参数就能得到输出频率为16KHz的三角波。以上就是三角波发生电路的估算法,实现了VF转换。那么,具体用精确的公式法来计算的话,误差会有多大呢?和什么参数有关呢?在下一篇文章中,我们推导它的数学模型来精确计算。


0 0
发表评论 侵权投诉
评论 (0)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表乌云踏雪网立场。

文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。