简介:这份PPT资料面向电子工程、测控仪器相关专业的学生与工程师,围绕正弦波转方波这一常见电路设计问题,系统比较了四种实现方案并给出详细电路图。内容以测控仪器课程设计为背景,要求将220V/50Hz正弦波转换为10V/50Hz正向方波,依次讲解施密特触发器(555定时器)、迟滞比较器(CA5260AM)、电压比较器及滤波电路四种方案的工作原理,并配合电源变压器、LM324AD同向放大电路与二极管滤波环节展开分析。方案对比部分指出方案一输出波形规整、稳定性好,方案二存在毛刺且输出约10.595V,为选型提供直观依据。资源包为1个PPT文件,约715KB,结构紧凑,适合课堂汇报或自学参考。目前已有1851人学习,读者可借此掌握从方案论证、参数计算到电路图设计的完整思路,快速完成同类课程设计或工程选型。
1. 正弦波转方波:220V/50Hz 到 10V 正向方波的两种落地路线
实验室里做测控仪器课设,最怕的不是没思路,而是思路太多、焊完才发现波形全是毛刺。这次要拆的是一个典型题目:把 220V/50Hz 正弦波,整成 10V/50Hz 的正向方波。输入是市电,输出要送给后级计数或触发电路,所以波形质量直接决定后面能不能稳定工作。资源包里给了两套完整方案——555 定时器搭施密特触发器,和 CA5260AM 搭迟滞比较器,后面都接 LM324AD 同向放大,再用二极管削掉负向。方案一输出 3.902mV 到 10.004V,波形规整;方案二零线附近能到 nV 级,但最终输出 10.595V 且带毛刺。如果你正在选型、画板或者调波形,这份对比能帮你少走一遍弯路。
2. 方案一拆解:555 施密特触发器加 LM324AD 同向放大
2.1 为什么先选 555 做施密特触发器
施密特触发器的核心是滞回特性:输入正弦波过零附近有噪声时,普通比较器会反复翻转,输出一堆窄脉冲;施密特触发器靠上下两个阈值把这段抖动区隔开,输出边沿干净。555 定时器内部有两个比较器和一个 RS 锁存器,把阈值引脚和触发引脚接在一起,就能当施密特触发器用。它的门槛电压由内部三个 5k 电阻分压决定,典型值是 1/3 VCC 和 2/3 VCC,回差电压约 1/3 VCC。这个回差对 50Hz 工频来说足够宽,不会因为输入幅度波动而误翻转。
选 555 而不是运放搭施密特,主要看三点:一是 555 输出电流能到 200mA 左右,直接驱动后级放大器的输入级没问题;二是内部基准分压电阻匹配度高,温漂比外接电阻网络小;三是电路成熟,课设级别不需要额外补偿。常见做法是让 555 工作在 5V 单电源,输入正弦波先经过变压器降到 10V 左右,再用电阻分压送到 555 的触发端,保证输入幅度在电源轨以内。
2.2 变压器降压与分压网络的计算
220V 转 10V 这一步,资源里给的变比计算是 T = U2/U1 = 220×1.414/10 ≈ 31.1。这里要注意,220V 是有效值,峰值是 311V,所以变压器次级峰值要按 10V 有效值反推。实际选型时,次级 10V 有效值的变压器,峰值约 14.14V,经过整流桥或直接交流耦合后,送到比较器输入端的幅度要再分压。
我一般会这样算:假设 555 供电 5V,输入正弦波峰值不能超过 5V,否则会钳位到电源轨。变压器次级 10V 有效值对应峰值 14.14V,用两个电阻分压,比如上电阻 20k、下电阻 10k,分压比 1/3,得到峰值约 4.71V,刚好在 5V 以内。分压后的信号通过隔直电容送到 555 的触发引脚,电容取 0.1μF 到 1μF 之间,太小会衰减 50Hz 信号,太大则恢复慢。
# 变压器变比与分压快速核算 # 输入 220V 有效值,目标次级 10V 有效值 python3 -c " U1_rms = 220 U2_rms = 10 U1_peak = U1_rms * 1.414 U2_peak = U2_rms * 1.414 ratio = U1_peak / U2_peak print(f'变压器峰值变比: {ratio:.2f}') # 分压后送入 555 的峰值 R_top = 20e3 R_bot = 10e3 U_in_peak = U2_peak * R_bot / (R_top + R_bot) print(f'分压后峰值: {U_in_peak:.2f} V') "这段脚本把变比和分压后的峰值一次算清。参数说明:R_top 和 R_bot 是分压电阻,取值时注意功耗,20k 和 10k 在 14V 峰值下电流约 0.47mA,普通 1/4W 电阻足够。如果次级电压偏高,优先调大 R_top,不要调小 R_bot,否则输入阻抗下降会加载变压器。
2.3 LM324AD 同向放大把方波抬到 10V
555 输出的是 0 到 5V 方波,要变成 10V 正向方波,后面接 LM324AD 同向放大。同向放大电路的增益公式是 A = 1 + Rf/R1,输入 5V 峰值,要输出 10V 峰值,增益取 2,所以 Rf = R1。我一般取 R1 = 10k,Rf = 10k,反馈电阻并联一个小电容比如 10pF 做相位补偿,防止高频自激。
LM324AD 是四运放,单电源供电,这里用 12V 单电源,输出摆幅能到 10V 以上。同向输入端接 555 输出,反相输入端通过 R1 接地、Rf 接输出。注意 LM324 不是轨到轨运放,输出高电平会比电源正轨低 1.5V 左右,所以 12V 供电时输出高电平约 10.5V,刚好满足 10V 要求。如果供电只有 10V,输出会卡在 8.5V 左右,达不到指标。
# LM324AD 同向放大增益与供电核算 python3 -c " R1 = 10e3 Rf = 10e3 gain = 1 + Rf/R1 print(f'同向放大增益: {gain:.2f}') Vcc = 12 Vout_high = Vcc - 1.5 # LM324 典型压降 print(f'输出高电平约: {Vout_high:.1f} V') "参数说明:R1 和 Rf 精度建议用 1% 金属膜电阻,增益误差直接决定输出幅度。供电 12V 是常见做法,如果手头只有 15V,输出高电平会到 13.5V,需要在输出端加稳压管钳位到 10V,否则后级可能过压。
2.4 二极管滤波削掉负向
方案一最后用通用二极管滤去负向部分。这里要理解:方波本身是正负交替的,但题目要求正向方波,也就是零线以上。二极管串联在输出回路里,正向导通时输出跟随,负向时截止,输出被拉到零。选 1N4148 或 1N4007 都行,1N4148 恢复快,适合 50Hz 但余量小;1N4007 电流大,结电容也大,50Hz 下没问题。
实际接法是二极管阳极接放大器输出,阴极接负载,负载另一端接地。这样正半周导通,负半周截止,输出就是正向方波。注意二极管正向压降约 0.7V,输出高电平会从 10.5V 降到 9.8V 左右,如果严格要求 10V,可以把放大器增益稍微调高,让二极管前电压到 10.7V。
3. 方案二拆解:CA5260AM 迟滞比较器加同向放大与专用滤波
3.1 CA5260AM 迟滞比较器的阈值设置
CA5260AM 是双运放,带宽和压摆率比 LM324 高,适合做比较器。迟滞比较器用正反馈实现,输出通过电阻分压送回同相输入端,形成两个阈值。设输出高电平为 VOH,低电平为 VOL,正反馈电阻 R2 接在输出和同相端之间,同相端再通过 R3 接地,阈值公式是:
VTH = VOH × R3/(R2+R3) VTL = VOL × R3/(R2+R3)
资源里方案二输出零线附近能到 nV 级,说明比较器翻转点非常接近零,但最终输出 10.595V 且带毛刺。毛刺来源通常是正反馈电阻太小,回差不够,输入信号上的高频噪声让比较器在阈值附近多次翻转。我一般会把回差设到输入信号峰峰值的 10% 到 20%,比如输入峰值 5V,回差设 0.5V 到 1V。
# CA5260AM 迟滞比较器阈值计算 python3 -c " VOH = 5.0 VOL = 0.0 R2 = 100e3 R3 = 10e3 VTH = VOH * R3/(R2+R3) VTL = VOL * R3/(R2+R3) print(f'上阈值: {VTH:.3f} V') print(f'下阈值: {VTL:.3f} V') print(f'回差: {VTH-VTL:.3f} V') "参数说明:R2 和 R3 的比值决定回差,R2 越大回差越小。如果输出毛刺多,先增大 R2 或者减小 R3,把回差拉大。但回差太大会导致占空比偏离 50%,50Hz 方波对占空比敏感,所以要在抗噪和对称性之间折中。
3.2 同向放大与专用滤波的差异
方案二的放大级和方案一类似,都用 LM324AD 同向放大,但资源里提到方案二用专用滤波,而不是通用二极管。专用滤波通常指有源滤波或者 LC 滤波,目的是在削掉负向的同时抑制毛刺。常见做法是在放大器输出后接一个 RC 低通,截止频率设在 100Hz 到 1kHz 之间,把高频毛刺滤掉,再送二极管削波。
RC 低通参数:R 取 1k,C 取 1μF,截止频率 f = 1/(2πRC) ≈ 159Hz,对 50Hz 方波基波影响小,但能吃掉几十 kHz 的毛刺。注意方波边沿会被 RC 拖慢,如果后级对边沿要求高,截止频率要往上提,比如 R 取 1k、C 取 0.1μF,截止频率约 1.59kHz。
# RC 低通截止频率核算 python3 -c " R = 1e3 C = 1e-6 fc = 1/(2*3.14159*R*C) print(f'截止频率: {fc:.1f} Hz') "参数说明:R 和 C 的乘积决定截止频率,R 太大会增加输出阻抗,C 太大会拖慢边沿。我一般先用 1k 和 0.1μF 试,示波器上看毛刺和边沿的取舍。
3.3 方案二输出 10.595V 与毛刺的成因
资源里方案二最终输出 10.595V,比目标 10V 高了 0.595V,同时有毛刺。电压偏高通常是放大增益偏大,比如 Rf 和 R1 的比值不是精确的 1:1,或者 LM324 的压降比预期小。毛刺则来自比较器翻转时的振铃,以及正反馈回路和放大级之间的耦合。
解决思路:先把放大级增益调准,用精密电阻或者微调电位器;再在比较器输出和放大级输入之间加一个小 RC 低通,切断高频耦合;最后检查地线布局,比较器和放大级共用一条地线时,比较器翻转电流会在地线上产生尖峰,串到放大级输入。常见做法是单点接地,比较器和放大级的地线分开走,最后在电源入口汇合。
4. 避坑与排查:从波形毛刺到电压偏差的五个血泪经验
4.1 现象:输出方波边沿有振铃,毛刺密集
原因:比较器正反馈回差太小,输入信号上的高频噪声让输出在阈值附近反复翻转;或者放大级带宽过高,把比较器输出的高频分量放大后形成振铃。
解决:增大迟滞回差,把 R2 从 100k 调到 200k 甚至 470k;在比较器输出和放大级之间加 RC 低通,R 取 1k、C 取 0.1μF;如果振铃还在,在放大器反馈电阻上并联 10pF 到 22pF 电容做相位补偿。
4.2 现象:输出高电平只有 8.5V 左右,达不到 10V
原因:LM324AD 不是轨到轨运放,输出高电平比电源正轨低 1.5V 到 2V。如果供电只有 10V,输出最高只能到 8.5V 左右。
解决:把供电提高到 12V 或 15V,让输出高电平有足够余量;如果供电固定,换用轨到轨运放,比如某些 CMOS 运放,但要注意带宽和压摆率是否满足 50Hz 方波。
4.3 现象:二极管削波后输出幅度下降明显
原因:二极管正向压降约 0.7V,输出高电平从 10.5V 降到 9.8V;如果二极管选型不对,比如用肖特基二极管,压降只有 0.3V,但反向漏电大,负向削不干净。
解决:先确认二极管方向,阳极接放大器输出、阴极接负载;如果幅度要求严格,把放大器增益调高,让二极管前电压到 10.7V;不要用肖特基做削波,反向漏电会让零线附近出现负向尖峰。
4.4 现象:输出方波占空比不是 50%,正负半周不对称
原因:迟滞比较器的上下阈值不对称,或者输入正弦波本身有直流偏置。555 施密特触发器的阈值由内部电阻分压决定,理论上对称,但外部分压网络如果上下电阻不匹配,会引入偏置。
解决:在输入分压网络里加一个隔直电容,容量取 0.1μF 到 1μF,把直流偏置隔掉;检查分压电阻精度,用 1% 电阻;如果占空比还是偏,在比较器同相端加一个微调电位器,把阈值中心调到零。
4.5 现象:方案二零线附近电压到 nV 级,但后级电路误触发
原因:零线附近电压太低,后级 TTL 或 CMOS 输入级可能因为噪声误触发。nV 级说明比较器翻转点非常接近零,但输出低电平并没有真正到零,而是被后级输入阻抗拉出一个微小电压。
解决:在输出端加一个下拉电阻,比如 10k 到地,确保低电平被拉到零;如果后级是 CMOS 输入,加一个施密特触发器做整形,比如 74HC14,把缓慢边沿整成陡峭边沿。
5. 进阶技巧:用 LTspice 复现两套方案并做参数扫描
5.1 搭建 555 施密特触发器仿真模型
LTspice 里没有现成的 555 模型,常见做法是用行为源搭一个施密特触发器,或者从厂商模型库导入。我一般先用行为源验证阈值和回差,再换真实模型看输出电流。行为源搭法:用一个电压控制开关,阈值设 1/3 VCC 和 2/3 VCC,输出接 5V 电源轨,就能模拟 555 的翻转特性。
* 555 施密特触发器行为模型 VCC 1 0 5 Vin 2 0 SIN(0 4.71 50) R1 2 3 10k R2 3 0 10k B1 4 0 V=if(V(3)>3.33, 5, if(V(3)<1.67, 0, V(4))) .tran 0 100m 0 1u .backanno .end这段网表里,Vin 是分压后的正弦波,峰值 4.71V,频率 50Hz。B1 是行为源,实现施密特触发:输入高于 3.33V 输出 5V,低于 1.67V 输出 0V,中间保持。参数说明:阈值 3.33V 和 1.67V 对应 5V 供电的 2/3 和 1/3。仿真时间 100ms,覆盖 5 个工频周期。
5.2 参数扫描看回差对毛刺的影响
LTspice 的 .step 命令可以扫描回差电阻,观察输出毛刺。把 R2 从 100k 扫到 470k,看输出波形边沿的抖动。如果回差太小,输出在过零附近有多个脉冲;回差增大后,输出变成干净的单脉冲。这个扫描能帮你快速找到合适的回差范围,不用反复焊板。
* 迟滞比较器回差扫描 VCC 1 0 5 Vin 2 0 SIN(0 4.71 50) R2 3 4 {Rval} R3 3 0 10k B1 4 0 V=if(V(2)>V(3), 5, 0) .step param Rval 100k 470k 100k .tran 0 100m 0 1u .backanno .end参数说明:Rval 从 100k 扫到 470k,步长 100k,对应回差从约 0.45V 变到约 0.1V。仿真后看 V(4) 的波形,回差大的那条曲线毛刺明显少。注意这个行为模型没有模拟运放压摆率,实际电路里压摆率也会影响边沿,所以仿真结果要留余量。
5.3 从仿真到实物的三个验证习惯
仿真跑通不代表实物能用。我一般会做三步验证:第一步,用信号发生器代替市电,输入 10V 有效值、50Hz 正弦波,示波器看比较器输出,确认翻转点干净;第二步,接上变压器和分压网络,用隔离探头看输入到比较器的波形,确认没有削顶;第三步,接负载,看输出幅度和边沿是否变化,如果负载加重后幅度下降,说明放大器输出阻抗偏高,需要加缓冲级。
从那以后我每次做电源相关的课设,都强制走一遍“仿真定参数、信号发生器验波形、实物带负载测”的流程,不再直接焊完就上电。希望帮到你。
本文还有配套的精品资源,点击获取