多谐振荡电路工作频率与工作电压之间的关系
01 多谐振荡器
一、前言
这是常见到的晶体管多谐振荡电路, 它的振荡周期近似有 三极管基极电阻和耦合电容对应的时间常数决定。 与工作电压没有关系。 下面通过实际电路测试一下该电路振荡频率和工作电压之间的关系。 分别对于由普通三极管和达林顿三极管组成的振荡电路进行测试。
二、测量结果
1、NPN三极管振荡电路
使用两个NPN型三极管 BC547 搭建多谐振荡电路。 BC547三极管的电流增益在 350 左右。 负载电阻取2k欧姆, 基极偏置电阻取 360k欧姆, 耦合电容使用0.01微法。 这里标注的0.1微法是标注错误了。 工作电源采用 DH1766 可编程直流电源, 电源电压变化范围从 1V 变化到 25V。
在面包板上搭建有普通三极管组成的多谐振荡电路。 使用 FLUKE45 数字万用表 测量 三极管集电极信号频率。 示波器同时观察三极管基极和集电极振荡信号波形。 随着电压的变化, 振荡信号的幅值和频率都会发生变化。
这是测量得到的电路工作电压与振荡频率之间的关系。 在电压小于2V的时候, 随着工作电压的提高, 振荡频率急剧下降, 紧接着进入一个平坦范围。 在这个范围内, 电路的振荡频率几乎不随着工作电压的变化而改变。 很符合电路基本工作原理对应的计算公式。 令人感到惊讶的是, 当电压超过 12V 的时候, 振荡频率开始随着工作电压的升高而线性上升, 这个现象的确令人感到奇怪。
▲ 图A1.2.1 工作电压与工作频率
2、达林顿管
使用达林顿三极管 BC517 搭建多谐振荡器。 ·这款达林顿三极管的电流放大倍数一般在 10万左右。 供电电压从 1V变化到 25V。 测量三极管基极电压波形对应的振荡频率。 绘制出电路振荡频率与工作电压之间的关系。 在面包板上搭建了这个简单的电路。 可以看到对应的振荡波形的幅值和频率都会随着工作电压的改变而变化。
通过测量到工作电压与振荡频率的关系来看, 在整个电压变化范围之内还是比较复杂的。 在电压比较低的时候, 小于 1V, 振荡频率比较高, 然后就进入了一个振荡频率相对平缓的电压区域。 这个电压范围大约从2V变化到 20V。 当工作电压超过20V之后, 振荡频率居然神奇的呈现线性上升的特点。 这些变化背后呈现出相对复杂的工作机理模式。
▲ 图1.2.1 测量电路
▲ 图1.2.2 电压与频率之间的关系
三、频率上升
下面讨论一下前面测量结果中遗留的一个问题, 那就是当工作电压超过一定范围之后, 工作频率随着工作电压线性上升的现象。 这个现象, 对于普通的晶体管和达林顿管都存在, `这究竟是什么原因呢? 通过观察震荡波形, 我们可以看到, 当工作电压超过一定阈值之后, 晶体管基极电压的最低值就会限制在一个固定的电压, 不再随着工作电压变化而变化。 实际上, 这个电压就是三极管基极反向击穿电压。 当一侧三极管截止时, 耦合电容反向电压别钳位在击穿电压范围之内。 在这个条件下, 分析反向充电过程。 这是三极管基极偏置电阻 R, 在耦合电容上充电过程。 充电起始电压为基极反向击穿电压 Vb, 充至工作电压 VCC。
为了分析简化, 假设充电电压超过 0V, 电路开始反转。 请注意,实际上是充电电压超过三极管基极正向导通电压 0.5V, 电路开始翻转。 可以利用 RC 充放电公式写出这段充电时间 t 对应的表达式。 接下来, 利用 log 函数的台劳级数展开, 可以写出 t 对应的近似表达式。 此时对应的振荡频率等于 1 除以 两倍的 t, 则对应 VCC 的线性函数。
由此, 可以知道。 当工作电压超过了晶体管基极反向击穿电压之后, 对应的振荡频率开始近似线性上升。 普通的三极管基极击穿电压大约为 负12V, 对于达林顿三极管, 反向击穿电压大约为 20V左右。
下面, 让我们看一下 BC547的数据手册, 对应的 BE 反向击穿电压为 6V。 注意,这里标识的是 反向击穿电压的最小值。 应该比实际反向击穿电压小两倍左右。 同样, 对于BC512达林顿三极管, 它的BE反向击穿电压的最小值为 10V, 这比实际反向击穿电压 也小了 2倍。 这都验证了刚才分析的数据。
※ 总 结 ※
本文实际测量了多谐振荡电路的振荡频率与工作电压之间的关系。 由于三极管基极反向电压击穿的原因, 当工作电压超过该击穿电压之后, 振荡频率开始随着工作电压上升二增加。
from headm import *
vb = 12
vc = linspace(1, 25, 100)
R = 360e3
C = 0.01e-6
f = [1/log((vb+vcc)/vcc)/(R*C)/2 if vcc>vb else 1/log(2)/(R*C)/2 for vcc in vc]
plt.plot(vc, f, lw=3)
plt.xlabel("VC(V)")
plt.ylabel("Frequency(Hz)")
plt.grid(True)
plt.tight_layout()
plt.show()
▲ 图2.1 电压与频率之间的关系
● 相关图表链接: