STC单片机+514kHz全桥逆变的近场磁感应无线充电闭环方案

发布时间:2026/10/28 12:06:41
STC单片机+514kHz全桥逆变的近场磁感应无线充电闭环方案 简介这份围绕单片机控制手机无线充电系统展开的毕业设计文档面向电子信息、通信与自动化等专业学生及无线充电入门开发者可用于课程设计、毕业设计选题和系统方案参考。文档共1个doc文件压缩包约1.19MB内容以完整论文为主体按章节组织研究背景、无线电力传输原理、硬件电路与软件程序。硬件部分覆盖发射逆变电路、补偿电容、线圈尺寸与间距、接收整流滤波、手机电池充电、电压检测及红外发射等设计软件部分涉及红外数据传输解码、发射与接收线圈程序、AD采样和红外发送流程并附整体原理图与程序清单便于读者理解系统框架、对照电路模块和梳理调试思路。已有105人学习适合需要从原理到软硬件实现建立完整认识、查漏补缺的读者参考。1. 一块 5 mm 空隙里的能量搬运这套单片机无线充电方案到底解决了什么手机往桌上一放就开始充电这个动作拆开其实是两件事能量怎么隔着几毫米空气搬过去以及电池满了谁负责把电断掉。这份毕业设计把两件事都做了——发射端用 STC 单片机驱动全桥逆变把直流变成 514 kHz 的高频交流经串联补偿电容加到发射线圈上接收端线圈感应出电动势全桥整流、π 型滤波、1117 稳压后送进充电回路同时接收端的单片机盯着充电电压一旦判定充满就用一路红外把信号打回发射端发射端解码后拉继电器切掉线圈电源。整套东西没有专用充电管理芯片全靠 8051 内核单片机加一堆分立器件撑起来正好适合想搞懂“无线充电硬件链路到底长什么样”的人画得出原理图、焊得出板子、写得出中断服务函数三个阶段都能照着走。2. 系统架构与选型514 kHz 全桥逆变加红外回传的控制闭环先看整体。这套系统不是“把电送过去就完事”的开环结构它有一个完整的控制闭环能量从发射到接收是单向的状态信息从接收回到发射也是单向的两条链路叠在一起才构成一个能自己决定“什么时候该停”的充电器。理解这一点比理解任何一个单独电路都重要因为后面所有的硬件模块和代码逻辑都是围绕这个双链路结构展开的。2.1 两端七段链路从直流输入到继电器断开把框图画成信号流发射端是四段直流电源 → 全桥逆变DC 变高频 AC→ 串联补偿网络 → 发射线圈。接收端是三段接收线圈 → 全桥整流与 π 型滤波 → 稳压与充电回路。中间还横着一条控制链接收端单片机采集充电电压 → 红外发射管发出编码 → 发射端红外接收头解调 → 发射端单片机判定 → 继电器动作。关键点在于继电器切的位置。它切的是发射线圈之前的直流供电不是交流侧也不是信号侧。这样做的好处是断电彻底逆变桥和线圈同时停止工作静态功耗接近于零代价是继电器有机械寿命频繁通断会有触点粘连风险所以软件上必须做迟滞判定不能电压一过阈值就反复吸合释放。整个链路里没有闭环调频、没有 PWM 占空比调节发射频率由温补晶振固定死。这是一个典型的“够用就好”的工程取舍手机充电对频率精度要求没那么苛刻固定频率省掉了锁相环和反馈采样成本压到最低。2.2 四种传能方式为什么最后落到近场磁感应电磁感应、电磁耦合共振、电场耦合、微波谐振这四条路都能把电送出去但适用场景差别很大。电磁感应就是拆开的变压器初级次级之间只隔空气耦合系数低、距离近通常工作在毫米级效率对位置极其敏感胜在电路简单、成本低。电磁耦合共振要求收发两端本征频率一致距离可以拉到几十厘米但谐振网络调试麻烦频率一偏效率断崖式下跌。电场耦合用两块金属板构成电容传能体积小、发热低但极板间距限制很死高压驱动也不适合手机这种消费电子。微波谐振像 Wi-Fi 一样辐射出去方向性差能量散得多做点对点供电还行做充电板纯属浪费。这个项目选的是近场磁感应理由很实在手机充电本来就是“贴上去”的场景距离 5 mm 左右不需要中远距离能力发射频率固定在 514 kHz靠串联电容补偿把线圈的感性阻抗抵掉让回路工作在谐振点附近效率能接受整套电路全是分立件绕个线圈、焊个全桥就能跑起来适合在实验室里反复改参数。提示近场磁感应对横向错位非常敏感。线圈中心偏离超过半径的三分之一接收电压就会明显下掉做外壳定位槽的时候要留出对中结构别指望“放上去就行”。2.3 器件清单与选型依据这套板子上真正决定成败的就那么几个器件选错了后面调多久都白搭。位置器件关键参数选它的理由全桥开关管IRF66355.7 A 连续漏极电流35 V 耐压上升 6 ns / 下降 14 ns / 关断 28 ns6 W 级功率余量充足开关速度快514 kHz 下开关损耗可控桥臂驱动IR2110S高端悬浮自举最高 500 V输出 1020 V峰值 2 A开通延迟 120 ns一片就能驱动一个桥臂的上下管省掉隔离电源逻辑反相CD4069输入耐压最高 18 V把一路方波取反喂给第二个驱动芯片省一片晶振整流SS141 A / 40 V 肖特基高频低压场合压降小、反向恢复快稳压AMS1117-3.3最大 800 mA给单片机和控制电路供电成熟便宜主控STC 系列 8051 内核至少 8 路 10 位 ADC视型号便宜、资料多、Keil C51 直接写开关5 V 继电器模块触点电流 ≥ 2 A直流侧物理断电彻底这里有个坑要提前说8051 内核的 STC 分两大类一类不带 ADC如 STC89C52一类带 ADC如 STC12 系列。原设计里出现了 AD 采样程序说明用的是带 ADC 的型号。如果手上只有 STC89C52就必须外挂 ADC0832 之类的芯片电路和代码都得改别照着原理图焊完才发现读不出电压。2.4 514 kHz 是怎么定下来的频率选择是个双向约束。频率太低补偿电容容量就得做得很大电解电容的体积和 ESR 都不友好而且人耳能听到的范围内线圈会有啸叫频率太高开关损耗、驱动损耗、整流二极管的反向恢复全都上来了6 W 的小功率系统经不起这么折腾。514 kHz 落在一个折中区间补偿电容可以用 4700 pF 这个量级的瓷片电容体积小、损耗低IRF6635 在这个频率下的开关损耗还能接受SS14 的反向恢复时间够短。频率源用温补晶振产生方波稳定性好、电路简单缺点是输出峰值只有 5 V必须经过一级放大才能驱动 IR2110S 的逻辑输入。顺便把谐振关系也交代清楚。串联补偿的谐振频率是f0 1 / (2 * pi * sqrt(L * C))把 C 4700 pF、f0 514 kHz 代进去反推L 大约在 20 μH 量级。这个数值很关键后面绕线圈的时候要拿电感表实测跟计算值对不上就得改匝数或者改电容否则整个系统工作在失谐状态效率会难看到你想砸板子。3. 发射端硬件拆解从方波源到全桥逆变再到补偿网络发射端是整个系统里最容易翻车的部分。它同时存在模拟电路比较器、谐振网络和数字电路单片机、驱动逻辑两者共地共电源稍不注意就互相干扰。按照“先整体后局部”的路子这一章从信号源头一路捋到线圈两端每一级都给出参数和调试观察点。3.1 从温补晶振到比较器方波源和 LM358 开环放大方波源用温补晶振直接输出 514 kHz、峰峰值 5 V 的方波。这个信号不能直接进 IR2110S因为驱动芯片的逻辑高电平门限虽然够但驱动能力不足边沿会被负载拖慢。所以要加一级放大。放大器的选择有个小陷阱。514 kHz 对方波来说不算低要想不失真地放大运放需要足够的压摆率。普通精密运放压摆率只有几 V/μs方波边沿会被削成梯形高次谐波损失严重。专用高速运放价格又上去了。最后的办法是用比较器做开环放大——LM358 接成开环比较状态输入信号跟一个固定阈值比较输出直接在两个轨之间翻转速度快、成本低代价是输出波形占空比不完全对称。/* 这一段是软件侧的频率校验思路不是产生波形 发射频率由硬件晶振决定单片机只负责读回状态。 调试时用示波器测 P1.0 上分频后的方波确认与 514 kHz 成整数倍关系 */ void freq_check_init(void) { TMOD 0xF0; TMOD | 0x01; /* 定时器0 方式116 位计数 */ TH0 0x00; TL0 0x00; TR0 1; /* 启动计数用于粗测外部方波周期 */ } unsigned int freq_check_read(void) { unsigned int cnt; TR0 0; cnt (TH0 8) | TL0; /* 一个闸门时间内累计的机器周期数 */ TH0 0x00; TL0 0x00; TR0 1; return cnt; /* 数值异常说明晶振或放大级没工作 */ }这段代码不是用来产生 514 kHz 的——那个频率必须由硬件晶振保证单片机做不到这么稳。它的作用是给出一个“发射链路到底有没有在跑”的粗判据闸门时间内计到的机器周期数应该稳定在某个区间如果读回来是 0 或者乱跳说明晶振没起振、比较器没输出或者反相器供电掉了。3.2 IR2110S 自举驱动与 4069 反相高端为什么必须自举全桥有四个管子分两个桥臂每个桥臂分上下管。下管的源极接地栅极驱动相对简单上管的源极是浮动的导通时源极电位被抬到接近母线电压这时候栅极电压必须比源极再高 10 V 以上才能维持导通。如果直接用 5 V 逻辑信号驱动上管根本开不起来。IR2110S 解决的就是这个问题。它内部有电平位移电路和自举电源外部只需要一个自举电容加一个自举二极管。工作过程是下管导通时源极接近地电位自举二极管导通把 12 V 电源充进自举电容下管关断、上管要导通时自举电容上的电压就作为上管的浮地电源把栅极抬到“源极 10 V”。所以自举电容必须在每个周期内被可靠充满占空比接近 100% 的时候上管就没法维持了。两路驱动信号来自同一个方波源一路直接送第一个 IR2110S 的输入另一路经 CD4069 反相后送第二个芯片。这样两个桥臂永远一正一反交替导通天然避免了同侧直通。但反相器本身有传输延迟两只驱动芯片的开通延迟也有差异实际波形上两个桥臂之间会存在很短的重叠或间隙。间隙问题不大重叠就是直通母线直接短路管子瞬间报废。/* 继电器与逆变使能的顺序控制 先让驱动逻辑稳定再给母线电源避免上电瞬间直通 */ sbit RELAY_EN P2^3; /* 高电平吸合接通逆变母线 */ sbit INV_EN P2^4; /* 预留的驱动使能脚低有效 */ void power_on_sequence(void) { unsigned char i; INV_EN 1; /* 先关断驱动输出 */ RELAY_EN 0; /* 继电器断开母线不带电 */ for (i 0; i 200; i) delay_ms(1); /* 等晶振和驱动供电稳定 */ INV_EN 0; /* 放开驱动此时母线仍无电 */ for (i 0; i 20; i) delay_ms(1); RELAY_EN 1; /* 最后接通母线进入正常工作 */ }这段顺序控制的逻辑是“驱动先就位、母线后上电”。很多板子上电炸管原因就是驱动芯片还没建立稳定输出母线电压已经加上了四个管子处于随机导通状态。参数上两个延时分别给了 200 ms 和 20 ms前者等电源和晶振后者等驱动输出稳定实际调试时可以拿示波器看栅极波形确认两路互补且没有重叠之后再把延时缩短。3.3 全桥逆变IRF6635 交替导通与散热全桥的四个管子分两组交替导通对角的一组导通时电流从母线正极经一个管子流过线圈再从另一个管子回到负极另一组导通时电流方向反过来。线圈上得到的就是一个正负交替的方波频率等于驱动信号频率。选 IRF6635 的理由是耐压 35 V、连续漏极电流 5.7 A对 6 W 系统来说余量很大。但余量大不代表不发热开关损耗跟频率成正比514 kHz 下每只管子每个周期都要经历一次开通和一次关断累积起来的热量很可观。而且全桥工作在硬开关状态没有软开关设计开通瞬间的电流尖峰会在栅极和母线上产生振铃。实际做法是在每只管子附近就近放 100 nF 高频去耦电容母线入口再并一组大容量电解电容吸收低频波动四只管子如果贴在同一片散热器上要注意绝缘垫片别让漏极跟散热器短路。外壳上开通风口是必要的但风道设计比开口数量更重要——气流要能穿过发热最集中的区域而不是从旁边绕过去。3.4 串联补偿电容计算4700 pF 是怎么来的线圈本身是大电感直接接方波源电流会严重滞后于电压功率因数极低同样的视在功率下有功功率上不去。解决办法是串一个电容让 LC 串联回路在 514 kHz 处谐振此时感抗和容抗互相抵消回路呈现纯阻性电流最大。初级和次级都要做串联补偿两边的补偿电容和线圈电感共同决定谐振点。计算用的是前面那个公式C 4700 pF 是对应约 20 μH 电感的结果。已知f0 514 kHz目标 C 4700 pF 校验L 1 / (4 * pi^2 * f0^2 * C) 1 / (4 * 9.8696 * 514000^2 * 4.7e-9) ≈ 2.04e-5 H 20.4 uH也就是说绕完线圈实测电感如果落在 20 μH 附近4700 pF 就是对的测出来是 15 μH 或者 28 μH就得按比例换电容。电容要选耐压足够的 CBB 或 NP0 瓷片普通瓷片电容的容量随温度漂移大谐振点会跑。这一级是纯硬件没有代码调试手段就是拿示波器看线圈两端的波形谐振时应该是接近正弦的干净波形失谐时会看到明显的尖峰和畸变。3.5 线圈几何内径 50、外径 100、18 匝、间距 5 mm线圈是整套系统里唯一需要手工做的东西也是最玄学的部分。设计参数是内径 50 mm、外径 100 mm、18 匝平面螺旋、收发两端间距 5 mm。用覆铜板做平面线圈而不是手工绕铜丝原因是手工绕制的一致性太差18 匝绕出来两个线圈的电感可能差 20%而谐振系统要求收发两端参数尽量一致。覆铜厚度 1 盎司按最大电流 700 mA 估算线宽取 20 mil 完全够用。实测这个线圈的直流电阻大约 5.8 Ω这是个不太妙的数字。700 mA 电流下线圈自身就消耗 I²R ≈ 2.8 W占了总功率的将近一半发热和效率损失主要来自这里。降低电阻的办法有两个做双层并联把等效截面积翻倍或者在线圈上补锡加厚。原设计出于成本考虑用的是单面线圈这也是后来效率上不去的直接原因之一。两线圈间距 5 mm 是在效率和定位容差之间折中的结果。间距再拉大耦合系数下降接收电压撑不住充电回路间距压到 2 mm 以内效率上去了但外壳厚度、装配公差、异物进入的空间都没了。实际做样机的时候我一般会在上下线圈之间垫一圈 5 mm 的亚克力环既保证间距又防止压伤。4. 接收端与软件闭环整流滤波、AD 采样到红外 NEC 编解码接收端要做两件事把线圈上感应出来的高频交流变成能充进电池的直流以及把“充到什么程度了”这个信息送回发射端。前一件是模拟电路活后一件是数字电路活两者共用一块小 PCB布局的时候要特别小心高频整流回路对单片机的干扰。4.1 全桥整流到 π 型滤波SS14 与钽电容线圈感应出来的是高频交流频率 514 kHz幅度随耦合情况变化。整流用四只 SS14 组成全桥不用半波是因为半波整流只有半个周期在工作输出电流小、纹波大滤波电容得选得很大才压得住。整流之后的波形是一串“馒头波”直接给充电电路用是不行的必须滤波。这里用的是 π 型滤波一个钽电容、一个电感或电阻、再一个钽电容。钽电容相比普通电解电容ESR 小、自身电感小、体积小正好适合装在手机背板这种空间受限的地方。滤波之后进 AMS1117-3.3把电压稳到 3.3 V 给单片机和控制电路用。1117 是线性稳压输入输出压差不能太小否则调整管进入饱和区纹波会直接串到输出。所以在选滤波电容的时候要保证整流输出在满载情况下仍然比 3.3 V 高出 1 V 以上。/* 稳压输出的简单健康检查读两次 AD差值过大说明纹波压不住 */ unsigned int v33_check(void) { unsigned int a, b; a adc_read(1); /* 通道1 接 3.3V 分压 */ delay_ms(2); b adc_read(1); if (a b) return a - b; /* 返回两次采样差值正常应小于 3 */ return b - a; }这段代码的用途是上电自检。正常情况下两次采样的差值应该很小因为 3.3 V 是稳压输出如果差值明显偏大说明滤波电容失效或者 1117 已经在 dropout 边缘工作后面读到的电池电压全都不作数。参数上通道号要根据实际分压电阻接的引脚改判定阈值按实测噪声水平定一般取 3 到 5 个 LSB。4.2 充电回路与电压检测AD 采样怎么写充电回路由限流电阻、充电控制管和电池接口组成。单片机的职责是不断采集电池端电压判断当前处于“充电中”还是“已充满”。采样用电阻分压把电池电压降到 ADC 量程以内。这里必须注意分压电阻的阻值太大则 ADC 采样电容充不满读数偏低太小则静态漏电流大待机功耗上去了。常见做法是上臂 100 kΩ、下臂 47 kΩ配合 ADC 通道前的 0.1 μF 电容做抗混叠。#include stc12c5a60s2.h #define ADC_POWER 0x80 #define ADC_FLAG 0x10 #define ADC_START 0x08 #define ADC_SPEED 0x00 /* 低速档转换周期最长抗干扰最好 */ unsigned int adc_read(unsigned char ch) { ADC_CONTR ADC_POWER | ADC_SPEED | (ch 0x07) | ADC_START; _nop_(); _nop_(); _nop_(); _nop_(); /* 启动后至少等 4 个时钟周期 */ while (!(ADC_CONTR ADC_FLAG)); /* 轮询转换完成标志 */ ADC_CONTR ~ADC_FLAG; /* 标志位必须软件清零 */ return ((unsigned int)ADC_RES 8) | ADC_RESL; /* 拼成 10 位结果 */ } /* 连续采样 8 次取平均压掉开关噪声 */ unsigned int battery_mv(void) { unsigned char i; unsigned long sum 0; for (i 0; i 8; i) { sum adc_read(0); /* 通道0 接电池分压 */ } sum / 8; /* 10 位满量程 1024 对应 5.0V 参考分压比 147:47 */ return (unsigned int)(sum * 5000UL * 147 / 1024 / 47); }逻辑说明adc_read里最关键的两步是启动后等待和标志清零。STC 的 ADC 启动位写 1 之后需要几个时钟周期才真正开始转换紧接着读标志会永远读不到转换完成标志是硬件置位、必须软件清零漏清会导致下一次直接返回旧值读数看起来“卡住不动”。battery_mv里的分压比要按实际电阻算我这里是 100 kΩ 和 47 kΩ 的例子换成别的阻值必须同步改公式否则算出来的电压偏差能有几百毫伏充满判定直接失效。参考电压用的是 5.0 V如果板子上是 3.3 V 供电这里也要改这两个参数是新手最容易搞混的地方。4.3 红外 NEC 编码38 kHz 载波怎么发状态回传用红外发射管在接收端接收头在发射端。红外通信不是直接把高低电平打到管子上那样几厘米外就衰减没了必须用 38 kHz 载波调制有载波代表一个电平无载波代表另一个电平。协议用 NEC 格式一帧由引导码、8 位地址、8 位地址反码、8 位命令、8 位命令反码组成。引导码是 9 ms 载波加 4.5 ms 空闲数据位“0”是 560 μs 载波加 560 μs 空闲“1”是 560 μs 载波加 1690 μs 空闲。sbit IR_OUT P1^2; /* 红外发射管驱动经三极管放大 */ /* 13us 半周期 ≈ 38.5kHz用软件延时产生载波 */ static void carrier(unsigned int cycles) { while (cycles--) { IR_OUT 1; delay_us(13); IR_OUT 0; delay_us(13); } } /* 发送一个字节低位在前 */ static void ir_send_byte(unsigned char dat) { unsigned char i; for (i 0; i 8; i) { carrier(21); /* 560us 载波 */ if (dat 0x01) { delay_us(1690); /* 逻辑 1长空闲 */ } else { delay_us(560); /* 逻辑 0短空闲 */ } dat 1; } } void ir_send_frame(unsigned char addr, unsigned char cmd) { carrier(346); /* 9ms 引导载波 */ delay_us(4500); /* 4.5ms 引导空闲 */ ir_send_byte(addr); ir_send_byte(~addr); ir_send_byte(cmd); ir_send_byte(~cmd); carrier(21); /* 结束位 */ IR_OUT 0; }carrier的参数是载波周期数21 个周期约等于 560 μs346 个周期约等于 9 ms这两个数字是 NEC 协议规定的不能改。delay_us的精度直接决定通信成败延时偏短接收头认不出 38 kHz延时偏长载波频率掉到 35 kHz 以下一体接收头的带通滤波器就把信号滤掉了。用 12 MHz 晶振的 8051一个机器周期 1 μs软件延时还算准换成 11.0592 MHz 就要重新标定。4.4 发射端解码状态机与继电器动作发射端的红外接收头输出的是解调后的电平信号静止时为高收到载波时拉低。解码靠外部中断加定时器每次下降沿进中断读上一次跳变到现在的宽度判断是引导码还是数据位。volatile unsigned char ir_step 0; /* 解码状态 */ volatile unsigned char ir_bit_cnt 0; volatile unsigned char ir_data[4]; volatile unsigned char ir_ready 0; /* 外部中断0接收头输出接 INT0下降沿触发 */ void ext0_isr(void) interrupt 0 { unsigned int width; static unsigned int last 0; width read_capture(); /* 定时器捕获值减去上次值 */ last width; switch (ir_step) { case 0: /* 等 9ms 引导码 */ if (width 8000 width 10000) ir_step 1; break; case 1: /* 确认 4.5ms 间隔 */ if (width 4000 width 5000) { ir_step 2; ir_bit_cnt 0; } else ir_step 0; break; case 2: /* 逐位收 32 位 */ if (width 400 width 700) { ir_data[ir_bit_cnt / 8] ~(1 (ir_bit_cnt % 8)); } else if (width 1500 width 1900) { ir_data[ir_bit_cnt / 8] | (1 (ir_bit_cnt % 8)); } else { ir_step 0; break; /* 宽度超范围整帧丢弃 */ } if (ir_bit_cnt 32) { ir_step 0; ir_ready 1; } break; default: ir_step 0; break; } } /* 主循环里调用校验反码后决定继电器 */ void ir_task(void) { unsigned char cmd; if (!ir_ready) return; ir_ready 0; if ((unsigned char)(ir_data[0] ^ ir_data[1]) ! 0xFF) return; if ((unsigned char)(ir_data[2] ^ ir_data[3]) ! 0xFF) return; cmd ir_data[2]; if (cmd CMD_FULL) { RELAY_EN 0; /* 充满切断发射母线 */ } else if (cmd CMD_CHARGING) { RELAY_EN 1; /* 充电中保持供电 */ } }状态机的核心思想是“任何一个环节对不上就把整帧丢掉重来”。ir_step从 0 开始只有引导码宽度落在 810 ms 之间才往下走间隔对不上就归零。这样做的好处是抗干扰红外接收头在逆变器工作时经常收到干扰脉冲但只要宽度不对状态机就不会误判成有效帧。ir_task里的两次反码校验是 NEC 协议自带的完整性检查地址或命令任意一位传错都会被发现。继电器的动作逻辑要加迟滞。充满信号收到一次就断电是对的但重新上电的条件不能是“电压掉了一点”否则会出现充满→断开→电压回落→吸合→又充满的来回抖动。实际做法是要求连续收到 N 帧“充电中”才恢复供电N 取 3 到 5 比较稳妥。4.5 主循环与外部中断的分工发射端单片机的主循环其实很轻查解码完成标志、做继电器判定、喂看门狗。重活全在外部中断里。这种分工的原因很简单——红外信号的边沿宽度是微秒级的主循环里只要有几十微秒的抖动就会丢帧必须用中断抢占。接收端反过来主循环负责采样和发送。AD 转换可以轮询红外发送是主动的两件事都不需要精确时序抢占放在主循环里按状态机推进就够了。两端的软件结构完全不同但都遵循一个原则谁对时序敏感谁进中断。5. 避坑与排查这套板子最容易翻车的五个地方板子焊完上电不工作是这类项目的常态。下面这五条是我照着原设计复现时踩过的每一条都按“现象—原因—解决”写能省掉不少瞎猜的时间。5.1 高端桥臂完全没有波形现象示波器看两个低端管栅极都有正常的 514 kHz 方波两个高端管栅极一条直线全桥相当于只有半桥在工作线圈上电压幅度掉一半。原因自举电容没充上电。IR2110S 的高端电源靠下管导通时通过自举二极管充电如果下管占空比接近 100%或者自举二极管方向焊反、自举电容虚焊高端就没有浮地电源。另一个常见原因是 4069 反相器没供电导致第二片驱动芯片根本没有输入信号。解决先确认反相器 VDD 有电压再量自举电容两端——下管导通时应该有 12 V 左右上管导通时应该浮到母线电压之上。用示波器双通道同时看低端和高端栅极两路应该互补中间留出几十纳秒的死区。如果完全没有高端波形把自举二极管拆下来量正向压降肖特基或者快恢复管都行普通 1N4148 在高频下反向恢复太慢别用。5.2 空载电压漂亮一接手机就塌现象接收端整流输出空载测出来 8 V 多一接上充电回路立刻掉到 3 V 以下手机根本充不进去。原因这类问题九成出在耦合和失谐上。线圈间距超过设计值、横向错位、补偿电容容量偏差都会让谐振点偏离 514 kHz回路阻抗变大带载能力急剧下降。还有一个隐蔽原因是滤波电容容量不够空载时电容充到峰值电压带载后纹波把平均电压拉低。解决先用示波器看接收线圈两端的波形正常应该是接近正弦的干净波形如果是明显削顶或者畸变说明失谐。用 LCR 表实测发射和接收线圈的电感两个值差超过 5% 就要重新绕。间距和错位用垫块固定死别靠手感。5.3 逆变一工作红外就误触发现象单独测红外链路通信正常全桥一上电继电器就开始乱跳有时候几秒钟吸合释放十几次。原因逆变器是强干扰源514 kHz 的开关噪声通过电源和空间耦合进红外接收头。一体接收头内部有带通滤波和自动增益控制遇到强干扰时 AGC 会误动作输出乱码。另外接收头的电源脚如果没有就近去耦干扰直接从电源串进去。解决接收头电源脚并 100 nF 加 10 μF 两级去耦位置尽量贴近器件引脚接收头前面加一片黑色滤光片挡掉环境光软件上把反码校验和连续多帧确认都打开单帧误判不会直接驱动继电器。如果干扰仍然严重把红外接收头用铜箔包一圈接地做屏蔽或者干脆改成磁耦合或者光耦隔离传输。5.4 线圈和开关管发烫现象工作几分钟线圈烫手四只 MOS 管摸不得效率明显偏低。原因线圈直流电阻 5.8 Ω700 mA 下自身就消耗 2.8 W开关管在硬开关状态下工作514 kHz 每个周期都有开通关断损耗如果谐振没调准回路电流会更大发热成倍上升。解决线圈改成双层并联或者补锡加厚把直流电阻压到 2 Ω 以下开关管加散热片并涂导热硅脂确认驱动波形没有重叠导通两路互补信号之间留 100200 ns 死区。还有一个容易忽略的点是母线电容容量不足会让母线电压在开关瞬间塌陷管子工作状态更恶劣。注意调试发热问题不要长时间空载运行。空载时谐振回路 Q 值很高线圈两端电压可能远超设计值容易击穿补偿电容。5.5 文档里的单位和型号对不上现象照着资料绕线圈资料写电感 6.7 μF用 LCR 表一测是 μH 量级差了一百万倍资料里的单片机型号查不到手册AD 程序跑不起来。原因这类毕业设计文档里单位笔误和型号笔误非常常见μF 和 μH 混写、型号少一位数字都是排版和转录时留下的。如果照着错的数据做谐振点会偏到天上去。解决所有关键参数以实测为准不以文档为准。电感用 LCR 表测电容用万用表电容档测谐振频率用示波器看波形判断。单片机型号要看芯片丝印确认有没有 ADC、有几个定时器再决定代码怎么写。文档只用来理解设计思路不能当元器件清单用。6. 二次开发把这块实验板改成能反复复现的样机这套设计的骨架是对的但要拿去二次开发有几处必须先动。第一处是主控。原设计用带 ADC 的 STC 型号如果手上是 STC89C52就得外挂 ADC 或者换芯片。我的建议是直接换带 10 位 ADC 的 STC12 系列省掉外挂芯片采样通道还能多留几路给电流检测。代码上只需要改 ADC 寄存器定义采样逻辑基本不用动。第二处是状态回传。红外在逆变器旁边工作太容易被干扰如果改成样机可以考虑用一对 433 MHz 无线模块或者光耦加导线稳定性提升明显。红外留着做调试通道就行。第三处是保护。原设计只有继电器通断没有过流和过温保护。加一个采样电阻做过流检测超过阈值直接拉低逆变使能成本就几毛钱但能救回不少炸掉的管子。改造方向改动量收益风险换 STC12 带 ADC 型号小改寄存器省掉外挂 ADC多路采样封装和引脚要重新画红外改 433 MHz 模块中改收发两端抗干扰距离远需要成对购买模块加过流保护小一个采样电阻炸管概率大幅下降阈值要实测标定线圈改双层并联中重新打板电阻减半效率提升电感变了要重算补偿电容加 WiFi 模块上报充电记录大增加联网逻辑可以在后台看充电次数和时长功耗和干扰都要重新评估验证方法我用三步上电法第一步只焊电源部分空载测各路电压第二步焊单片机最小系统和红外链路单独验证通信不接功率部分第三步才焊逆变和线圈先用假负载大功率电阻代替手机确认输出稳定再上真机。每一步之间用示波器留一张波形图出问题的时候往回翻能快速定位是哪一级引入的。改完之后别急着信自己的判断。我第一次做这块板子的时候红外解码自认为写得天衣无缝结果一上逆变就乱跳查了两天才发现是接收头电源没去耦——软件里加了多少校验都没用干扰是从电源脚直接灌进去的。从那以后我每次画板子凡是接收类器件电源脚必须就近并 100 nF这一条已经变成肌肉记忆。希望帮到你。本文还有配套的精品资源点击获取

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询