简介:围绕电压/频率转换电路(VFC/VCO)的课程设计文档,面向电子技术、自动化等专业学生及需要完成模数转换相关课题的读者,重点说明如何将0~10V直流电压转换为0~500Hz矩形波。压缩包内含1个doc文件,大小约406KB,正文覆盖设计目的与要求、系统方案、电压-频率转换电路、脉冲整形与产生电路、积分器与滞回比较器、场效应管开关、串联反馈稳压电源以及单元电路参数计算和元器件选型等内容。文档还给出电路原理框图、工作过程分析和设计说明书书写规范,便于读者对照理解VFC的模数转换思路、搭建实验电路并整理课程设计报告。目前已有493人学习,适合用作电子技术课程设计参考和方案复盘。
1. 电压频率转换的反直觉之处
电压频率转换听起来像个信号处理的小把戏,实际在很多数据采集前端里,它干的是模数转换的活。0~10V 的直流输入,输出 0~500Hz 的矩形波,把频率数出来再乘一个系数,就还原出了电压值。反直觉的地方在于:整个电路里没有任何“采样—保持—比较—编码”的环节,它只是让一只电容反复充放电,用一只电子开关把积分方向来回拨。频率之所以正比于输入电压,是因为充电电流正比于输入电压,而翻转的阈值是固定且对称的。这条因果链一旦看穿,很多现象就顺了——为什么它对运放失调电压不敏感、为什么它抗干扰、为什么它最大的敌人是开关延迟而不是运放带宽。这份课程设计报告里的电路,正好是拆这条链最好的样本。
2. 电荷平衡式振荡:积分器加一只开关,凭什么让频率正比于电压
2.1 先把电压变成一个正比于电压的电流
整份设计里真正承重的只有三个环节:一只运放 A1 接成积分器,一只运放 A2 接成滞回比较器,一只 N 沟道结型场效应管 T 当电子开关。三个环节首尾相接成一个环,环自己转起来,输出就是方波。
先看积分器这一级。A1 通过电容 C 引入负反馈,同相输入端接在一个电阻分压网络上,分压比把输入电压切出三分之一,于是同相端电位 uP1 = uI/3。运放工作在线性区时反相端虚短,uN1 也等于 uI/3。这时候流过输入电阻 R 的电流是:
I = (uI - uN1) / R = (uI - uI/3) / R = 2·uI / (3R)这行式子是整个电路的地基。它说明:不管运放本身的增益是 10 万还是 100 万,只要虚短成立,流进积分电容的电流就严格正比于输入电压 uI。常见的实现思路都是这样——输入电阻一端接信号,另一端接虚地或某个固定比例的分压点,用虚短把电阻两端的压降钉死在 uI 的一个固定分数上,电压到电流的转换就完成了。这一步做扎实,后面的线性度才有出处;这一步做歪,后面怎么调都是白搭。
2.2 复位开关不是外部时钟驱动的
电子开关 T 的栅极接在比较器输出端,它的通断完全由输出电压 uo 决定:uo 到 +UZ 时 T 导通,近似短路;uo 到 -UZ 时 T 截止,近似开路。这一点很容易被忽略——它意味着电路里没有“外部复位脉冲”这个角色,开关什么时候合上、合多久,是积分过程自己决定的。
T 导通时,积分器同相端的分压网络被改变,uP1 从 uI/3 跳到另一个值,虚短点跟着移动,输入电阻上的压降反向,积分电容开始反向积分;T 截止时,分压网络恢复,uP1 回到 uI/3,积分方向又重新翻回来。于是形成一条自激闭环:开关状态决定积分方向,积分方向决定电容电压爬到阈值要多久,爬到阈值比较器翻转,翻转又改变开关状态。整个过程没有外部时序参与,周期完全由电路参数自己算出来。
这里有个设计后果值得注意:复位时间不是一个可以独立设定的参数,它等于“从当前电平积分到另一侧阈值”的时间。所以复位阶段注入或抽走的电荷量,同样受输入电压控制。
2.3 频率公式是怎么被结构保证的
把两种状态下的积分电流写成统一形式。设 T 截止时电流为 I1 = α1·uI/R,T 导通时为 I2 = α2·uI/R,α1、α2 是分压网络决定的常数,都带着 uI 这个因子。比较器的两个阈值对称,记作 ±UT。那么从 -UT 积分到 +UT,电容上的电荷变化量是 2·UT·C,这一段的耗时是:
t1 = 2·UT·C / I1 = 2·UT·C·R / (α1·uI) t2 = 2·UT·C / I2 = 2·UT·C·R / (α2·uI) T = t1 + t2 = 2·UT·C·R/uI · (1/α1 + 1/α2) f = 1/T = uI / [2·UT·C·R·(1/α1 + 1/α2)]括号里那一坨全是常数,所以 f 与 uI 是严格的正比关系,比例系数只由 R、C、阈值 UT 和两个分压比决定。运放的开环增益、输入失调、单位增益带宽,一个都没出现在式子里——它们只影响这个式子成立的前提是否满足,不影响系数本身。这就是“线性度由拓扑结构保证,而不是靠调试凑出来”的具体含义。
反过来看,如果复位阶段的电流是固定值 I0(不随 uI 变化),周期就变成 T = 2·UT·C·R/(α1·uI) + 2·UT·C/I0,第二项是一个常数时间偏移。此时 f = 1/(k/uI + t0),uI 小的时候 t0 占比大,曲线明显往下弯。很多自制 VFC 在低端线性差,根子就在这里。设计里把前馈分压同时作用在两个方向上,等于让 t0 也带上了 uI 的因子,常数项被消掉,这才是“即使存在元件延迟也能保持线性”的真实机制。
下面这段数值仿真是拿来验证上面那个式子的,不是为了画波形,而是看 f/uI 在不同输入下是否恒定:
# 电荷平衡型 VFC 的离散时间步进仿真 # 目的:验证“两个方向的积分电流都正比于 uI”时,f 与 uI 成严格正比 UT = 2.5 # 比较器对称阈值(V),由稳压管电压和分压比决定 C = 0.1e-6 # 积分电容(F) R = 13.3e3 # 积分输入电阻(Ω) a1 = 2/3 # T 截止时,输入电阻上的压降系数 a2 = 1/3 # T 导通时,分压网络改变后的压降系数 dt = 1e-6 # 仿真步长(s) def freq(uI, t_total=0.2): uo, flips, t = -UT, 0, 0.0 while t < t_total: # 输出电平决定开关状态,开关状态决定积分方向 if uo < 0: slope = a1 * uI / (R * C) # 正向积分,朝 +UT 走 else: slope = -a2 * uI / (R * C) # 反向积分,朝 -UT 走 uo += slope * dt if uo >= UT: # 到上阈值,比较器翻转,开关换向 uo, flips = UT, flips + 1 elif uo <= -UT: uo, flips = -UT, flips + 1 t += dt return flips / (2 * t_total) # 每次翻转是半个周期 for u in (1, 2, 5, 8, 10): f = freq(u) print(f"uI={u:>4}V f={f:8.2f}Hz f/uI={f/u:7.2f}")参数含义和用法:UT对应比较器的两个阈值,C和R是积分器的定时元件,a1、a2是两个状态下输入电阻上的压降系数,dt是数值积分步长,取足够小以免引入截断误差。跑出来f/uI一列基本是常数,波动来自步长离散化。把a2改成不随 uI 变化的固定值再跑一遍,低端立刻出现明显的弯曲——这就是复位电流恒定带来的非线性,也是判断一个 VFC 拓扑好坏的试纸。
提示:仿真里
a1与a2不相等,方波的占空比就不是 50%,但频率仍然正比于 uI。这说明占空比在 VFC 里不是关键指标,别拿示波器看波形对称度去判断电路好坏。
3. 滞回比较器:阈值为什么要设成两个而不是一个
3.1 单限比较器的实际失效情况
单限比较器只有一个阈值,输入电压在阈值附近的任何微小变化都会引起输出跃变,不管这个变化来自信号本身还是外部干扰。放在过零检测里,输入正弦波上叠一点噪声,零值附近来回穿越好几次,输出就是一连串错误的阶跃。
放到电压频率转换的环路里,后果更直接:比较器多翻转一次,电子开关就多切一次,积分电容被白白搬走一份电荷,输出频率虚高而且不可预测。更麻烦的是这种错误不报错、不冒烟,表现只是“频率比算出来的高一点”,很容易被当成元件误差糊弄过去。这种问题排查起来很费时间,属于典型的容易被误判的情况。
3.2 正反馈把缓慢过渡变成快速跳变
滞回比较器的解法是在电路里引入正反馈:输出端通过电阻反馈到同相输入端,让同相端电位跟着输出一起动。假设 uo = +UZ、uP = +UT,只要 uI 略微超过 +UT 一点点,uo 开始下降,uP 跟着下降,反相端与同相端的差值进一步拉大,uo 下降得更快,uP 又更低——这个正反馈过程一旦启动就自己加速,输出在极短时间内从 +UZ 冲到 -UZ。
这个机制解决的是比较器的“中间态”问题。理想比较器在输入穿过阈值时瞬间翻转,实际运放有有限的开环增益和压摆率,输入在阈值附近时输出会停在线性区里磨蹭,磨蹭的时间受温度、电源、器件离散性影响,是个不确定量。引入正反馈之后,输出穿过线性区的时间被压缩到由压摆率和反馈强度决定,通常几十纳秒到几微秒,不确定性大幅下降。这份设计里 A2 通过 R6 和可调电阻 RW 引入正反馈,RW 就是用来调反馈强度、进而调滞回宽度的。
3.3 阈值怎么算,参考电压往哪边移
用叠加原理算同相端电位最省事。设同相端节点为 P,R1 从 P 接到参考电压 UREF,R2 从 P 接到输出 uo,那么:
uP = (UREF·R2 + uo·R1) / (R1 + R2)令 uN = uP = uI,并把 uo 分别取 +UZ 和 -UZ,得到两个阈值:
UT+ = (UREF·R2 + UZ·R1) / (R1 + R2) UT- = (UREF·R2 - UZ·R1) / (R1 + R2)当 UREF = 0 时,阈值退化成 ±UZ·R1/(R1+R2),就是最常见的对称双阈值。滞回宽度 ΔUT = 2·UZ·R1/(R1+R2),这个宽度直接决定两件事:抗干扰能力,以及积分器需要摆动的幅度。宽度越大,噪声要大到超过整个宽度才能引起误翻转;但同样的积分电流下,电容要爬更长的路,频率就低。设计时这是一对必须同时考虑的约束。
从公式还能读出两个调节方向:改 UREF 的大小和极性,两个阈值同时平移,传输特性沿水平方向移动;改稳压管的稳压值 UZ,两个阈值同时向外或向内收放,传输特性沿垂直方向移动。原文提到“改变参考电压使特性水平移动、改变稳压管电压使特性垂直移动”,对应到式子上就是这两条。
| 参数 | 变大时的效果 | 对 VFC 的影响 |
|---|---|---|
| UZ(稳压管稳压值) | 阈值绝对值变大,滞回宽度变大 | 抗干扰变强,同电流下频率变低 |
| R1/R2 比值 | 阈值绝对值同比例变化 | 同上,且影响两方向电流系数 |
| UREF | 两个阈值整体平移 | 占空比改变,中心频率偏移 |
| RW(正反馈电阻) | 正反馈减弱,翻转变慢 | 高频段易出现翻转不完全、频率上不去 |
注意:滞回宽度不是越大越好。宽度超过积分器能输出的摆幅,比较器就永远等不到翻转条件,电路会停在某个状态不动,表现为“上电没输出”。
4. 电子开关与稳压闭环:精度到底是从哪几处抠出来的
4.1 为什么用场效应管而不是三极管
电子开关串在积分器的分压网络里,它的导通特性直接进误差预算。双极型三极管饱和导通时有几十到几百毫伏的饱和压降,这个压降随温度和集电极电流变化,等效于在积分路径上串了一个漂移的电压源,温度一变频率就跟着变。
N 沟道结型场效应管导通时是欧姆性的沟道电阻,几欧到几十欧,没有固定的饱和压降;栅极输入阻抗在 pA 级,几乎不偷积分电流。这两条加起来,开关引入的误差从“电压源型”变成“电阻型”,而电阻型误差在电荷平衡的结构里只改变时间常数、不引入与 uI 无关的偏置项,处理起来容易得多。
代价也要说清楚:JFET 的导通电阻随栅源电压变化,栅极驱动幅度不够时沟道没完全打开,导通电阻偏大,积分电流被压缩,高频段就会出现频率上不去的非线性。所以驱动幅度要够,栅极串的限流电阻不能太大,选管子时 RDS(on) 这个参数比跨导更值得看。
4.2 两种等效电路与积分方向的反转
T 截止时,分压网络是原始状态,同相端电位 uP1 = uI/3,反相端虚短到同一电位,输入电阻上的压降是 2uI/3,电流按一个方向给电容充电,积分器朝一个方向走。
T 导通时,沟道把分压网络的一部分短接或旁路,同相端电位从 uI/3 跳到另一个值(由剩下的电阻决定),虚短点跟着跳,输入电阻两端的压降反向,电流反向,积分器朝反方向走。原文给出的两组积分表达式,本质就是在描述这两个斜率不同的斜坡。
关键结论要重复一遍:两种状态下,同相端电位都是 uI 的固定比例,只是比例系数不同。所以两个方向的积分电流都正比于 uI,2.3 节那个频率公式才成立。如果哪天你把 T 改成把同相端直接拉地,复位电流就变成固定值,线性度立刻变差——这是改电路时最容易犯的错误。
4.3 从 0~500Hz 反推 R 和 C
设计目标是 0~10V 输入对应 0~500Hz 输出,10V 时周期 2ms。在对称近似(α1 = α2 = α)下,f = α·uI/(4·UT·C·R),可以反推 RC 乘积。取 UT = 2.5V、C = 0.1μF,10V 时需要的积分电流是:
I = 4·UT·C·f = 4 × 2.5 × 0.1e-6 × 500 = 0.5 mA R = 2·uI / (3·I) = 2 × 10 / (3 × 0.5e-3) ≈ 13.3 kΩ| 输入 uI | 积分电流 I | 理论频率 | 备注 |
|---|---|---|---|
| 0 V | 0 mA | 0 Hz | 实际有零点偏置,需调零 |
| 2.5 V | 0.125 mA | 125 Hz | 低端线性最考验失调 |
| 5 V | 0.25 mA | 250 Hz | 中点,校准用 |
| 10 V | 0.5 mA | 500 Hz | 满量程,考验运放摆幅 |
参数不是唯一解。C 取大、R 取小,积分电流大,抗干扰好,但运放要驱动更大电流;C 取小、R 取大,功耗低,但寄生电容和漏电流占比上升,低端线性变差。常见的取舍是让满量程时积分电流落在 0.1~1mA 区间,既不让运放吃力,也不让漏电主导。
| 器件 | 作用 | 选型要点 |
|---|---|---|
| 积分运放 A1 | 完成电压到电流的转换 | 输入失调小、偏置电流 pA 级、压摆率够 |
| 比较器 A2 | 阈值判决与正反馈翻转 | 开环增益大、响应快,可选用专用比较器 |
| 积分电容 C | 决定电荷量 | 聚丙烯或聚苯乙烯,漏电小、介质吸收低 |
| 电子开关 T | 切换积分方向 | 导通电阻小且稳定,栅极驱动幅度足 |
| 稳压管 | 提供阈值基准 | 工作电流给足,温度系数小的型号 |
4.4 稳压闭环:把阈值的地基钉住
比较器的阈值正比于稳压管的稳压值 UZ,UZ 又依赖供电。电源一飘,阈值跟着飘,频率跟着飘——这条链上任何一环松动,前面算得再准也没用。所以这份设计单独做了一路串联反馈稳压电源,分成四段。
取样环节由 R1、RP、R2 组成分压电路,把输出电压 U0 切出一部分作为取样电压 UF。基准环节由稳压二极管和限流电阻构成,提供一个稳定的 UZ。比较放大环节由一只三极管和集电极电阻组成直流放大器,把 UF 与 UZ 的差值放大后去控制调整管。调整环节是一只工作在线性区的功率管,它的基极电流受比较放大级控制,集电极电流和集射电压随之改变,从而自动调整输出电压。
稳压过程是一条负反馈链:U0 升高 → UF 升高 → 比较管基极电流增大 → 集电极电流增大 → 集电极电位下降 → 调整管基极电流减小 → 调整管集射电压增大 → U0 回落。反过来 U0 降低时整条链反向动作。输出电压由分压比和基准电压共同决定,近似为:
U0 ≈ (R1 + RP + R2) / R2 × (UZ + UBE)按原文给的参数,UZ = 5.1V、UBE ≈ 0.7V,括号里是 5.8V;要输出 10V,分压比需要约 1.72,也就是上臂总阻值约为下臂的 0.72 倍。R1 = 510Ω、R2 = 1.34kΩ,中间用电位器 RP 补足差额,这样输出电压可以微调。调节 RP 改变分压比,就改变了稳压电源的输出,也就间接校准了整机的满量程频率。
4.5 前馈分压与失调电压:为什么误差变成了可校准的零点
输入失调电压 Vos 是运放固有的,它等效成串在输入回路里的一个直流源。折算到积分电流上,误差是 Vos/R,与信号电流 2uI/(3R) 叠加。相对误差是 Vos/(2uI/3),输入越小占比越大。
但要注意这个误差的性质:它是在信号电流上加了一个常数项,而不是把信号电流乘上一个系数。对应到频率上,相当于输入电压多加了一个固定值 Δu = 3·Vos/2,表现为零点偏移,斜率基本不变。零点偏移可以用调零电位器扣掉,或者在计数端做软件校准;增益误差才真正难修,因为它随温度和工作点变。
原文强调“信号经过分压再加到积分电路上,失调电压造成的影响是微小的”,机制就在这里:分压让加在积分电阻上的信号仍然正比于 uI,而失调是个固定项,两者量级差得远。同时分压把运放的共模输入抬到 uI/3,远离电源轨,共模误差也被压小。这是用电阻网络换精度的一个典型做法,代价只是多了几只电阻和一点功耗,不增加电路复杂度。
5. 避坑与排查:不振荡、不线性、频率漂移先查这几处
5.1 起振与翻转类问题
现象:上电后积分器输出贴在正电源轨或负电源轨不动,比较器输出恒定,示波器上看不到方波。
原因:多半是反馈环路没闭合。正反馈电阻虚焊、可调电阻 RW 拧到了阻值过大的一端、电子开关的栅极没接到比较器输出,任何一处断了,环路就起不来。另一个常见原因是滞回宽度超过了积分器能输出的摆幅,比较器永远等不到翻转条件。
解决:先断开电子开关,手动在积分器输入端给一个阶跃,看比较器输出会不会翻转,验证比较器这一级独立工作正常;再用万用表测 T 的栅源电压,确认它随 uo 在两组电平之间切换。两段都正常,环路自然起振。RW 从中间位置开始调,别一上来就拧到端点。
5.2 频率对不上与线性度差
现象:满量程频率偏差百分之十几,或者中间某一段明显弯曲,两端还行。
原因:中间弯、两端准,通常是积分电容的介质吸收和漏电流在作怪,电荷进去出不来,等效于每次翻转都少搬了一点电荷;也可能是两个方向的积分电流系数算错,占空比严重偏离,导致某个方向的积分时间被压缩。还有一种情况是运放输出接近饱和,大信号时斜率跟不上,高频段频率上不去。
解决:积分电容换聚丙烯或聚苯乙烯材质,别用瓷片电容凑合,这一点
本文还有配套的精品资源,点击获取