简介:一份关于利用迟滞比较器实现蓄电池充放电电路设计的PDF资料,主要面向学习电力电子、模拟电路以及从事光伏控制器、电源保护电路开发的读者。资料以12V蓄电池充电保护为任务背景,详细介绍了迟滞比较器的工作原理和分类,并分别对反相、同相两种典型电路的门限电压公式进行推导;内容中给出充电截止电压14.5V、充电截止恢复电压13.1V、放电截止电压10.8V、放电截止恢复电压12.1V等实际工程参数,完整演示了如何通过稳压二极管、采样电阻和基准电压计算来设计满足要求的保护电路。文件为单个PDF文档,大小177KB,页面内容包含系统电路图、参数计算示例和设计步骤,便于读者直接对照理解。目前已有457人次学习,适合作为课程设计、毕业设计或实际项目开发中的参考资料。
1. 迟滞比较器:蓄电池充放电保护里那个“不抖”的门限
12V 蓄电池的充电保护有一个很具体的动作要求:电压升到 14.5V 必须切断充电回路,回落到 13.1V 才允许重新充电;放电侧则是 10.8V 截止、12.1V 恢复。这四个电压点如果只用单限比较器去做,电池电压在门限附近波动一次,继电器就会来回吸合,触点寿命和系统稳定性都撑不住。迟滞比较器把跳变点拆成“上升触发”和“下降触发”两个门限,两次翻转之间形成一个回差带,噪声和电压纹波被这段回差直接吃掉。这篇内容围绕反相迟滞比较器,把充电保护电路和放电保护电路里的基准电压、采样分压电阻、正反馈电阻如何定值,一步步推导出来,最后给出 Multisim 里的仿真验算方法。
2. 反相迟滞比较器的工作原理与门限电压推导
2.1 为什么单限比较器扛不住蓄电池电压波动
单限比较器只有一个参考电压,输入电压在参考点附近缓慢变化时,叠加在蓄电池电压上的纹波和干扰会反复穿越门限,输出在高低电平之间来回翻转。放在充放电控制回路里,继电器、MOS 管跟着频繁通断,轻则发热,重则直接损坏开关器件。
迟滞比较器在运放的同相端引入了正反馈电阻。输出状态不同,同相端参考电位也跟着不同,于是“由低到高翻转”和“由高到低翻转”发生在两个不同电压点上。两个门限之间的差值叫回差电压,只要输入信号上的噪声幅度小于回差,输出状态就不会被噪声触发翻转。回差越大,抗干扰能力越强,但过大会导致充放电控制点偏离设计值,所以门限宽度的确定要在抗干扰和保护精度之间取平衡。
2.2 用叠加定理求 UTH 和 UTL
反相迟滞比较器的输入信号从反相端进入,同相端同时接基准电压 UREF 和输出反馈。计算同相端电位时,把 UREF 和 UO 分别置零再叠加,得到两个关键门限。
当输出电压为高电平 UOH 时,同相端电位为上门限电压:
UTH = UREF × R2/(R1+R2) + UOH × R1/(R1+R2)当输出电压为低电平 UOL 时,同相端电位为下门限电压:
UTL = UREF × R2/(R1+R2) + UOL × R1/(R1+R2)两个门限的差值就是回差电压:
ΔU = UTH - UTL = (UOH - UOL) × R1/(R1+R2)从公式可以看出,回差大小由输出摆幅和 R1、R2 的比值决定,与 UREF 无关。R1 占比越大,正反馈越强,回差越宽。实际调试时先定回差宽度,再通过 UREF 把两个门限整体平移到目标电压附近。
R1 和 R2 的比值是两个门限落位的核心参数。R1/(R1+R2) 决定输出电平对同相端的贡献,R2/(R1+R2) 决定基准电压的贡献。同一组门限可以有多种配合,但受限于实际电阻精度和基准电压来源,往往只能取到近似值,最后用仿真微调。
2.3 例1验算:R1、R2 标反的坑
资料里例1给的已知条件是 UZ=9V,R1=40kΩ,R2=20kΩ,UREF=3V。先按这个参数直接算:
r1, r2, vref, vz = 40e3, 20e3, 3.0, 9.0 beta = r1 / (r1 + r2) # 正反馈分压比 vth = vref * (1 - beta) + vz * beta vtl = vref * (1 - beta) - vz * beta print(f"R1=40k, R2=20k -> UTH={vth:.2f}V, UTL={vtl:.2f}V")运行结果是 UTH=7.00V、UTL=-5.00V,但资料后面给出的传输特性描述是“Ui 增大超过 +5V 时翻转到 -9V,Ui 减小低于 -1V 时翻转到 +9V”,也就是 UTH=5V、UTL=-1V。把 R1、R2 位置交换再算:
r1, r2 = 20e3, 40e3 beta = r1 / (r1 + r2) vth = vref * (1 - beta) + vz * beta vtl = vref * (1 - beta) - vz * beta print(f"R1=20k, R2=40k -> UTH={vth:.2f}V, UTL={vtl:.2f}V")这次得到 UTH=5.00V、UTL=-1.00V,与传输特性描述完全一致。也就是说,原图里 R1、R2 的标注位置在扫描转换时被写反了。这类问题在图纸转文字的资料里经常出现,读图时不能只看电阻标号,要把参数代回公式验证门限结论。
反相迟滞比较器与同相迟滞比较器的结构差异决定了它们的使用场景不同。反相型的输入信号接反相端,基准接同相端,适用于“电压升到阈值就动作”的过压保护;同相型的输入信号接同相端,适用于正向逻辑的窗口判别。
| 对比项 | 反相迟滞比较器 | 同相迟滞比较器 |
|---|---|---|
| 输入信号接入端 | 反相端 | 同相端 |
| 基准信号接入端 | 同相端(经 R2 接 UREF) | 反相端(接地或接 UREF) |
| Ui 上升过门限时输出 | 由高电平跳变为低电平 | 由低电平跳变为高电平 |
| 典型用途 | 过压截止、充电保护 | 欠压告警、恢复使能 |
3. 充电保护电路:14.5V 截止、13.1V 恢复的参数设计
3.1 先把保护动作映射成门限电压
充电保护的逻辑是:电池电压上升过程中到达 14.5V 时切断充电,电压回落后到达 13.1V 时恢复充电。对照反相迟滞比较器的翻转特性,充电过程中 Ui 从低往高走,越过上门限 UTH 时输出从高变低,所以 UTH 对应充电截止电压 14.5V;放电回落过程中 Ui 从高往低走,越过下门限 UTL 时输出从低变高,所以 UTL 对应充电恢复电压 13.1V。
输出电平不是运放电源轨,而是由输出端的稳压管钳位决定。为了保证和后续组合逻辑电路匹配,输出高电平设为 5V、低电平设为 0V,对应公式中的 UOH=5V、UOL=0V。这一步很关键,后面的电阻计算全部依赖这两个电平值。
3.2 第一轮求解:UREF=18.2V 带来的供电难题
把 UTH=14.5V、UTL=13.1V 代入门限公式:
14.5 = UREF × R2/(R1+R2) + 5 × R1/(R1+R2) 13.1 = UREF × R2/(R1+R2) + 0 × R1/(R1+R2)两式相减得到回差 1.4V,由输出摆幅和 R1、R2 决定。联立求解后得到 R1/R2=0.392,UREF=18.2V。参数在数学上没问题,但工程上 18.2V 的基准电压非常难获取。常用稳压管没有这个标称值,拿电阻分压做基准又会被比较器输入偏置电流影响,精度和温漂都不可控。
这也说明理论计算出来的参数如果不考虑实现条件,直接照搬是无法落地的。解决思路是降低基准电压,同时把蓄电池电压先经过电阻分压采样再送进比较器,让比较器工作在较小的电压范围里。
3.3 第二轮求解:5V 基准加采样电阻,X=0.34、R2:R1=9.4
用 5V 稳压管替代 18.2V 基准,并在输入端加入采样电阻网络。设采样比为 X,蓄电池电压经过分压后变成 X×Ubatt 送入反相端。门限公式改写为:
X × 14.5 = 5 × R2/(R1+R2) + 5 × R1/(R1+R2) X × 13.1 = 5 × R2/(R1+R2) + 0 × R1/(R1+R2)输出高电平时,同相端的上门限电压等于 5V 基准经 R2 和 5V 输出经 R1 的叠加结果,恰好是 5V 的等权叠加。于是第一个方程右边等于 5V,直接求出:
X = 5 / 14.5 = 0.34把 X=0.34 代回第二个方程:
13.1 × 0.34 = 5 × R2/(R1+R2) 4.454 = 5 × R2/(R1+R2) R2/(R1+R2) = 0.8908 R1/(R1+R2) = 0.1092 R2 : R1 = 8.16资料里给的 R2:R1=9.4 是按 X=0.345 的精度回代得到的近似值。实际电路中采样电阻用 R5=66kΩ、R6=34kΩ,X=R6/(R5+R6)=34/100=0.34;反馈网络取 R2=94kΩ、R1=10kΩ,比值 9.4,代入公式后两个门限分别为 14.5V 和 13.1V,满足设计指标。
用 Python 做一次整体验算:
r1, r2 = 10e3, 94e3 r5, r6 = 66e3, 34e3 vref, uoh, uol = 5.0, 5.0, 0.0 x = r6 / (r5 + r6) alpha = r2 / (r1 + r2) beta = r1 / (r1 + r2) vth_batt = (alpha * vref + beta * uoh) / x vtl_batt = (alpha * vref + beta * uol) / x print(f"X = {x:.3f}") print(f"蓄电池充电截止电压 = {vth_batt:.2f}V") print(f"蓄电池充电恢复电压 = {vtl_batt:.2f}V")输出结果:
X = 0.340 蓄电池充电截止电压 = 14.50V 蓄电池充电恢复电压 = 13.09Valpha 是基准电压的衰减系数,beta 是输出反馈的衰减系数,两者之和为 1。X 则决定了蓄电池侧电压映射到比较器反相端的比例。这套计算里比较器本身并不直接承受 14.5V 电压,实际工作电压只有 14.5×0.34=4.93V,完全落在 LM393 的输入共模范围内。
3.4 图5.22参数回读与 Multisim 接线
原图 5.22 的电路里,LM393 采用 ±15V 供电,RL=15kΩ 是输出上拉电阻,D2 用 5V 稳压管钳位输出高电平。采样网络 R5=66kΩ、R6=34kΩ 从蓄电池两端取电压,分压后送入 U2A 的反相端;同相端接 R1=10kΩ 到输出、R2=94kΩ 到 5V 基准。XFG1 信号发生器在仿真中模拟蓄电池电压变化,XSC1 示波器同时观察输入和输出波形。
Multisim 里搭电路时,LM393P 的 VCC 接 +15V,VEE 接 -15V,注意输出级是开集电极结构,RL 上拉电阻不能省。信号发生器选用三角波,从 12V 扫到 16V,频率设 1Hz,示波器可以清晰看到电压上升越过 14.5V 时输出拉低、下降越过 13.1V 时输出拉高的过程。
4. 放电保护电路:10.8V 截止、12.1V 恢复的对称设计
4.1 放电保护的状态映射
放电保护的逻辑和充电保护相反:电池电压充足时允许负载放电,降落到 10.8V 时切断负载,回充到 12.1V 后恢复放电。用反相迟滞比较器实现时,Ui 从高往低走,越过 UTL 时输出从低跳高,这个低到高的跳变对应“放电截止”;Ui 从低往高走,越过 UTH 时输出从高跳低,这个高到低的跳变对应“放电恢复”。
所以放电保护电路里 UTH=12.1V、UTL=10.8V,输出高电平 UOH=5V、低电平 UOL=0V,基准电压同样采用 5V 稳压管。
4.2 采样比 X=0.413 与采样电阻取值
把门限代入通用公式:
X × 12.1 = 5 × R2/(R1+R2) + 5 × R1/(R1+R2) X × 10.8 = 5 × R2/(R1+R2) + 0 × R1/(R1+R2)第一个方程右边同样是 5V,得到:
X = 5 / 12.1 = 0.413代入第二个方程:
10.8 × 0.413 = 5 × R2/(R1+R2) 4.460 = 5 × R2/(R1+R2) R2/(R1+R2) = 0.892 R2 : R1 = 8.28采样电阻取 R5=58.7kΩ、R6=41.3kΩ,X=41.3/(58.7+41.3)=0.413,与计算值一致。市面上 E96 系列电阻有 58.7kΩ 和 41.3kΩ 的标准阻值,可以直接采购,不需要串并联凑阻值。
4.3 正反馈电阻的取值与一个标注勘误
资料里放电保护电路的 R1、R2 标注为 R1=83kΩ、R2=10kΩ,并且写“R1:R2=8.3”。按这个参数代入公式验算:
r1, r2 = 83e3, 10e3 alpha = r2 / (r1 + r2) beta = r1 / (r1 + r2) x = 0.413 vth = (5 * alpha + 5 * beta) / x vtl = (5 * alpha + 0 * beta) / x print(f"按 R1=83k, R2=10k: UTH={vth:.2f}V, UTL={vtl:.2f}V")结果是 UTH=12.11V、UTL=1.30V,恢复电压对得上,但截止电压完全错误。把 R1、R2 交换成 R1=10kΩ、R2=83kΩ 再验算:
r1, r2 = 10e3, 83e3 alpha = r2 / (r1 + r2) beta = r1 / (r1 + r2) vth = (5 * alpha + 5 * beta) / x vtl = (5 * alpha + 0 * beta) / x print(f"按 R1=10k, R2=83k: UTH={vth:.2f}V, UTL={vtl:.2f}V")输出:
按 R1=10k, R2=83k: UTH=12.10V, UTL=10.80V和设计指标完全一致。也就是说,图 5.26 里的 R1、R2 标号同样是扫描转文字时写反了。和例 1 里的问题一模一样,正确的接法是 R1=10kΩ 接输出反馈,R2=83kΩ 接 5V 基准。
4.4 输出驱动电路与指示灯
放电保护电路输出端在比较器后面增加了驱动级:Q1 是 NPN 三极管,LED1 串联 R7=1kΩ 作为放电状态指示灯,R8=20kΩ 作为基极限流电阻。比较器输出高电平时 LED1 点亮、Q1 导通,继电器线圈得电,负载放电回路接通;输出低电平时 Q1 截止,负载被切断。R1=1kΩ? 不对,R7=1kΩ 是 LED 限流电阻。
驱动级的参数选型要点是:R7 的取值决定 LED 工作电流,按 5V 供电和 LED 正向压降 2V 计算,(5-2)/1000=3mA,指示灯亮度足够;R8=20kΩ 限制 Q1 的基极电流,保证三极管饱和导通。比较器输出高电平时带载能力有限,经过三极管放大后驱动继电器更可靠。
放电保护与充电保护的参数对照如下:
| 参数 | 充电保护电路 | 放电保护电路 |
|---|---|---|
| 截止电压 | 14.5V | 10.8V |
| 恢复电压 | 13.1V | 12.1V |
| 采样比 X | 0.34 | 0.413 |
| 采样电阻 R5/R6 | 66kΩ / 34kΩ | 58.7kΩ / 41.3kΩ |
| 反馈电阻 R1 | 10kΩ | 10kΩ |
| 基准电阻 R2 | 94kΩ | 83kΩ |
| 基准电压 | 5V 稳压管 | 5V 稳压管 |
两组电路共用同一个反相迟滞比较器结构,只是采样电阻和反馈电阻比例不同,这种对称设计在光伏互补控制器里很实用。
5. 验算方法和仿真调试的几个实用技巧
5.1 给任意门限反推电阻的通用脚本
充电和放电保护只是两组不同门限电压,原理完全一样,可以用一个通用脚本批量计算采样比和电阻比例:
def solve_thresholds(v_stop, v_resume, vref=5.0, uoh=5.0, uol=0.0): x = uoh / v_stop ratio_r2_r1 = (v_resume * x - uol) / (vref - v_resume * x) return x, ratio_r2_r1 for name, v_stop, v_resume in [ ("充电保护", 14.5, 13.1), ("放电保护", 10.8, 12.1), ]: x, r2_r1 = solve_thresholds(v_stop, v_resume) print(f"{name}: X={x:.3f}, R2/R1={r2_r1:.1f}")脚本的逻辑是先由 UOH 和截止电压求出采样比 X,再由 UTL 反推 R2/R1 比值。手算时容易在代入公式这一步出错,写成函数后换一组门限就是改两个数字的事。如果蓄电池组是 24V、48V 甚至 240V,只需要重新计算 X,让采样后的电压落在比较器输入共模范围以内即可,电路结构不用变。
注意这里的截止电压和恢复电压不是随意取的。对于标称 12V 的铅酸蓄电池,14.5V 是析气拐点,13.1V 是静置恢复电压;放电侧 10.8V 是单格 1.8V 的下限。如果换成锂电池充放电管理电路,过充保护点和恢复点要按电芯规格重新标定。
5.2 Multisim 里观察迟滞回线
用示波器的 X-Y 模式可以直观观察迟滞特性。把信号发生器的三角波接到示波器 X 通道,比较器输出接 Y 通道,显示屏上会出现一个矩形回线。回线上下两条边分别对应输出高电平和低电平,左右两个拐点对应 UTH 和 UTL。测量时注意信号发生器输出幅值要覆盖整个迟滞窗口,建议三角波从 0V 扫到 20V,频率降到 1Hz 以下,否则示波器刷新跟不上。
调整 R1 时观察回线宽度的变化:R1 增大,回差变宽,抗干扰变强,但两个门限同时外移;此时需要微调 R2 或 UREF 把回线平移回目标范围。LM393 的输入失调电压在毫伏级,对 1.4V 回差影响可以忽略,但如果 R1、R2 取到兆欧级,偏置电流产生的压降就不能忽视了。
5.3 三个容易踩的坑
第一个坑是 LM393 的开集电极输出。RL=15kΩ 上拉电阻连接到 VDD,输出高电平由稳压管 D3 决定而不是 VDD 决定。仿真软件里如果只接上拉不接稳压管,输出电压会被拉到接近 VDD,后续逻辑电路的 5V 电平接口就会烧掉。
第二个坑是测量参考点。采样电阻的地必须和比较器、基准稳压管共地,如果采样地线接到负载回路的高边,采样比 X 会出现偏移,导致实际截止电压偏离设计值。在蓄电池充放电系统的 PCB 布局里,采样电阻的地线要单独走回比较器地,不要和继电器、驱动管的功率地混在一起。
第三个坑是回差电压的精度。电阻的温漂会影响 R1/R2 比值,进而改变回差宽度。设计中优先选择 ±1% 精度的金属膜电阻,采样电阻 R5、R6 更要选低温漂的,因为蓄电池工作环境温度变化大,采样比漂移会直接改变四个保护电压。
本文还有配套的精品资源,点击获取