电路设计在很大程度上,其实是对波形的一种转换。比如说三极管开关电路,它所实现的就是PWM电压幅值的转换;比如说恒流源电路,它实现的就是电压→电流的转换;BUCK、LDO实现的是直流电压源幅值的转换,等等。同样的,在电路设计中也经常会需要对电压→ 频率的转换,或者简称VF转换。
下面介绍一种比较实用且相对简单的VF三角波发生电路。
我们看上面这个电路,由1个比较器+5个电阻+1个电容构成了一个VF转换电路,C点输出的是三角波。它的大致工作原理是:
当比较器输出高电平时,此时电路可以等效为下面左边这个电路;2、当比较器输出低电平时,电路可以等效为下面右边这个电路。
那么,对于A点来说,它就会有2个不同节点电压,这2个节点电压对应的就是比较器正输入端的2个不同的电位V1、V2。其实从上面2个电路图中可以看出来,左边的B点电位高,所以对应的A点电位就是高电位V1;右边的B电电位低,所以对应的A电电位就是低电平V2。
假设当比较器输出高电平时,此时对应了A点电位是V1,那么,5V电源通过上拉电阻和R4对电容C1进行充电。
这里可以假设5V电源刚刚上电时刻,A点作为比较器的正输入端对应了一个分压值,而负输入端由于在刚刚上电时刻,电容压降为0V,所以V+》V-,此时比较器输出的就是高电平。那么刚刚对应的A点分压值就是V1高电位(或者称之为高阈值)。当比较器输出高电平的同时,5V电源给C1进行充电,从0V开始不断上升,当上升到V1时,V- 》 V+(也就是V1),比较器输出低电平。
当比较器输出低电平时,此时A点电位对应的就是V2低电压(或者称之为低阈值),同时电容通过R4电阻对地进行放电。当电容上的电压从V1放到了V2时,V+ 》 V-,比较器又会输出高电平。如此往复,电容C就不断的通过充放电来实现三角波输出。
三角波如何产生的:
接下拉再来一起看一个电路模型,来研究一下电容充放电波形,看看它和三角波是什么关系?
上面这个电路是电容充放电的一个等效模型图。当开关拨到左边时,此时5V电源通过Rc电阻对电容进行充电。假设电容初始电压为0V,那么它的充电曲线就是图中所示,整体是一个非线性模型,如果用公式表示的话,应该是这样的:
(关注“张飞实战电子”公众号,有关于上面公式的详细推导过程)。
如果电容从0V充到电源电压的话,其实就是一个非线性的指数函数关系。
当电容充满电开关拨到右边时,此时电容上的电压就会通过Rf 电阻进行放电。
那么放电曲线就是上面这样的波形。
观察充放电波形可以发现,在充电时的电容电压快接近电源电压时,曲线很平缓;在放电时的电容电压快接近0V时,曲线也很平缓。如果把它们结合在一起就是这样子的充放电波形。
很明显,电容的充放电波形,并不是一个三角波。而我们所需要的三角波应该是类似于下面这样的波形。
那么,应该怎么让电容上的充放电波形,更加接近三角波呢?其实要这么来做,在充电时,舍弃上面那段平缓的充电区域;同样的,在放电时,舍弃下面那段平缓的放电区域。
也就是说,我们不让电容充满电,比如充到2.8V就停止充;也不让电容放完电,比如放到1.2V就停止放,那么取中间的近似线性的部分,就接近一个三角波了。如下图所示:
三角波高低阈值的确定:
其实,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阻值计算:
接下来考虑如何实现比较器输出的高低电平,分别对应的V1 、V2高低阈值。由于V1~V2的变化范围是1.2V~2.8V,同时考虑R3 R4取值尽量大于R1 R2 5倍以上,这样可以忽略R3 R4分压,所以我们可以取最高电压,让R1 R2的分压值在2.8V。我们可以让R1 R2上流过的电流在1mA。是因为这样的电流既不太小,能抗干扰,同时电流也不太大,功耗低。这里我们让R1=2.2K,R2=2.8K。
R5阻值计算:
接下来再考虑当比较器输出低电平时的低阈值等效电路。
当比较器输出低电平时,B点就相当于接地。而此时电阻分压得到的就是V2低阈值电压1.2V。由于:
上式中,V2 = 1.2V,R1=2.2K,R2=2.8K,得出R5:
R5可以选择910Ω的标称阻值。
R3 R4阻值选取:
在计算出来V2低阈值所对应的阻值时,接下来就是计算V1高阈值了。当比较器输出高电平时,它的等效电路如下图所示:
假设R3 R4的取值较大(这里我们可以让R3 R4大于R1 R2五倍以上),那么根据内阻分析法,可以近似的忽略掉R3 R4。这样的话B点作为比较器的输出端可以认为A点的高低阈值就是1.2V~2.8V。
可以选择R3=10KΩ,R4=10KΩ的标称阻值。
C1电容计算:
那么,接下来就是计算C1了。如果想要得到16KHz频率的三角波的话,C1的取值应该是多大呢?
我们知道,如果f = 16KHz,那么T = ton + toff = 62.5 us。而电容的大小决定了ton和toff。所以,只要计算出来ton和toff的时间,就能求出C1了。那么,ton和toff怎么确定呢?
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也就是知道了。所以接下来的问题就是如何求出Qc或Qf。
我们假设平均充电电流为Ic,平均放电电流为If。所以,
(1)
(2)
由于,Qc = Qf,所以:
(3)
由,得(其中,
)。
把代入到(3)式得
(4)
在充电期间,比较器输出高,此时当电容电压为1.2V时,对应了最大充电电流:
当电容上的电压充到2.8V时,此时认为电容充电电流几乎为0mA,所以,
所以,平均充电电流:
(5)
在放电期间,比较器输出低,此时电容刚开始放电的电压为2.8V,对应了最大放电电流:
当电容上的电压放到了1.2V时,对应了电容最小放电电流:
所以,平均放电电流:
(6)
根据公式(4)(5)(6)可得:
(7)
所以,
(8)
根据公式(1)(5)(8)可得:
(9)
由于Qc = C*ΔV,所以:
这里可以取2.2nF的瓷片电容。
以上参数就能得到输出频率为16KHz的三角波。以上就是三角波发生电路的估算法,实现了VF转换。那么,具体用精确的公式法来计算的话,误差会有多大呢?和什么参数有关呢?在下一篇文章中,我们推导它的数学模型来精确计算。
责任编辑:haq
全部0条评论
快来发表一下你的评论吧 !