简介这份毕业设计文档围绕基于单片机控制的手机无线充电系统展开面向电子信息工程、自动化等专业的在校学生及无线充电技术入门研究者帮助读者理解从原理到实现的完整设计思路。压缩包内共1个doc文件约1.19MB内容涵盖系统硬件与软件两大模块。硬件部分包括系统框架、发射逆变电路、补偿电容、线圈尺寸与间距、接收整流滤波、电池充电电路、电压检测及红外发射电路等设计软件部分则涉及红外数据传输解码、发射与接收线圈程序、AD采样及红外发送程序设计。文档还梳理了电磁感应与电磁耦合共振两种无线电力传输原理并给出整体原理图与附录代码可作为课程设计、毕业设计或自学无线充电技术的参考范本。目前已有105人学习适合需要完整方案与排错思路的读者借鉴。1. 拆开一份 2015 年的无线充电毕设它到底能跑通什么翻到一份 2015 年的毕业设计文档标题是《基于单片机控制的手机无线充电系统的研究与设计》。很多人第一反应是这玩意儿现在还有用吗——手机厂商都把无线充电做到 50W 了一个学生用 STC 单片机搭的 5V 小系统能有什么参考价值。但如果你真动手做过无线充电就会知道这套东西的价值不在功率而在于它把电磁感应传能 红外回传 继电器断电这条完整链路走通了而且每个环节的参数都写死在文档里能直接抄。这份资源是一份完整的毕业设计论文包含系统框架、发射逆变电路、补偿电容计算、线圈尺寸设计、接收整流滤波、红外编解码、单片机软件流程以及发射端和接收端的原理图与部分源码。它解决的不是怎么做出一个商用无线充电器而是怎么用最便宜的分立器件把无线传能从原理图变成能点灯的实物。适合电子、自动化、机电方向的学生做课设或毕设参考也适合想理解无线充电底层拓扑的硬件工程师拿来当入门拆解样本。它用的是近场电磁感应方案不是共振方案传输距离只有 5mm 级别但胜在电路简单、器件好买、调试现象直观。2. 近场电磁感应传能为什么选它而不是共振或微波2.1 四种无线传能方式的取舍逻辑文档在引言里把无线充电分成四类电磁感应、电磁耦合共振、电场耦合、微波谐振。这个分类不是凑字数它直接决定了你后面选什么拓扑、绕什么线圈、配什么电容。我一般会先问一句你的传输距离和功率各是多少如果距离在 1cm 以内、功率 10W 以下电磁感应是性价比最高的如果距离拉到几十厘米才需要考虑共振微波那套四散发射能量利用率低得离谱学生项目基本不用碰。这份设计选的是近场磁感应本质就是把一个变压器拆开初级线圈和次级线圈中间隔着空气。传统变压器用高磁导率铁芯把磁路闭合起来互感大、漏感小效率能到 90% 以上。一旦把铁芯拿掉磁路变成开放式的漏感急剧增大耦合系数掉到 0.3 甚至更低。文档里图 2-1 画的就是这个分离式变压器原型。选它的理由很实在电路拓扑成熟、驱动芯片好找、线圈手工绕制也能出效果不像共振方案那样对线圈 Q 值和频率匹配极其敏感。2.2 全桥逆变和 IR2110 驱动发射端的核心发射端要把直流逆变成高频交流文档选了全桥逆变而不是半桥。原因写在 3.2.1 节半桥逆变经过接收端全桥整流后电压会掉一半带不动后面的充电电路还得加升压反而更复杂。全桥用四个 MOSFET 组成两个桥臂对角导通交替工作把直流切成方波。文档选的开关管是 6635漏极连续电流 5.7A最大耐压 35V上升时间 6ns、下降时间 14ns对于 6W 级别的功率绰绰有余。但全桥有个经典问题高端桥臂导通时源极电位被负载抬升栅源电压差变成零管子没法持续导通。所以必须加驱动芯片。文档用的是 IR2110S它的自举电路可以让一组电源同时控制上下桥臂高端工作电压最高 500V工作频率到 500kHz开通延迟 120ns、关断延迟 94ns。这个选型在当年是很标准的做法现在做类似项目依然可以照搬。# 发射端逆变部分的关键参数速查来自文档 3.2.1 节 # 发射频率514kHz # 开关管6635Vds35VId5.7A # 驱动芯片IR2110S自举高端驱动 # 方波放大LM358 比较器摆率满足 514kHz # 反相器4069生成互补驱动信号上面这组参数是整份文档里最值得先抄下来的部分。514kHz 这个频率不是随便定的——频率太低补偿电容会大到不现实频率太高MOSFET 开关损耗和驱动难度都上去了。514kHz 是一个折中点。LM358 在这里当比较器用把温补晶振输出的 5V 方波放大到驱动芯片能识别的电平。4069 反相器负责把一路方波变成一正一反两路分别送给两个 IR2110让两个桥臂交替导通。2.3 补偿电容和线圈参数算错一个就翻车无线充电的线圈是感性负载不加补偿电容的话无功功率会把电源拖垮。文档在 3.2.2 节给了计算过程发射频率 514kHz测得两线圈相距 0.5cm 时电感 6.7μH代入谐振公式算出补偿电容 4700pF。初级和次级都采用串联补偿电路图在文档图 3-9 和图 3-10。线圈设计在 3.2.3 节。文档用的是 PCB 覆铜线圈而不是手工绕铜丝原因是手工绕制很难保证两个线圈规格一致而共振系统要求两端自振频率相同。线圈内径 50mm、外径 100mm、匝数 18、两线圈间距 5mm覆铜厚度 1 盎司线宽 20mil。实测线圈电阻 5.8Ω想减小电阻可以双层并联或者加锡但文档出于成本考虑用了单面线圈。注意线圈间距从 5mm 拉到 10mm耦合系数会掉得很厉害接收端电压可能直接不够整流。文档里所有参数都是围绕 5mm 这个间距调的改间距就要重新算补偿电容。3. 接收端整流滤波与红外回传把电充进去还要能停3.1 全桥整流加 π 型滤波从高频交流到平滑直流接收线圈感应出来的是高频交流必须整流成直流才能给电池充电。文档在 3.2.4 节选了全桥整流而不是半桥理由是半桥只利用正半周整流出来的电流不易滤波。整流器件用的是四个 SS14 肖特基二极管额定电流 1.5A。选肖特基的原因是频率高、电压低肖特基的反向恢复时间短普通整流管在这个频率下损耗会很大。整流出来的是馒头波需要滤波。文档用了钽电容做滤波和去耦原因是钽电容电感小、贴片封装、体积小适合装在电池端。后面接 π 型滤波电路进一步平滑再用 AMS1117-3.3 稳压给单片机供电。文档图 3-14 和图 3-15 分别展示了线圈接收波形和整流后的直流波形从图上看脉动已经比较小了。# 接收端整流滤波关键器件来自文档 3.2.4 节 # 整流二极管SS14 × 4肖特基1.5A # 滤波电容钽电容π 型滤波 # 稳压器AMS1117-3.3最大 800mA # 单片机供电3.3V这里有个容易忽略的点AMS1117-3.3 的压差大概在 1.1V 左右也就是说输入至少要 4.4V 才能稳住 3.3V。如果接收线圈间距稍微拉大一点整流后电压掉到 4V 以下单片机就会复位或者工作异常。调试的时候先用万用表量整流后电压确认在 5V 以上再插单片机。3.2 红外发射与解码充电满了怎么通知发射端断电这套设计最有意思的地方是它的智能断电逻辑。接收端单片机采集充电电压判断电池是否充满然后通过红外发射管把状态发出去。发射端有红外接收头解码后送给发射端的 STC 单片机单片机控制继电器切断线圈电源。文档 5.1 节讲了红外数据传输解码原理5.3.2 节给了红外发送程序的设计。红外编码用的是 NEC 协议格式这是最常见也最好调的一种。载波频率 38kHz引导码 9ms 低电平加 4.5ms 高电平后面跟 8 位地址和 8 位命令每位用 0.56ms 的高低电平组合表示 0 或 1。文档图 5-2 展示了某遥控器按键解调后的红外解码波形可以对照着调接收头。// 红外发送核心逻辑参考文档 5.3.2 节流程 // 接收端单片机检测到电池充满后拉高红外发射管驱动脚 // 按 NEC 协议发送引导码 地址码 命令码 void ir_send_charge_full(void) { ir_carrier_on(); delay_ms(9); // 引导码低电平 9ms ir_carrier_off(); delay_ms(4); // 引导码高电平 4.5ms send_byte(0x00); // 地址码 send_byte(0xFF); // 命令码充满断电 }上面这段是示意逻辑实际代码要配合定时器产生 38kHz 载波。文档附录里有完整的 AD 程序和红外发送程序可以直接参考。红外回传的好处是接收端和发射端完全电气隔离不需要额外的无线通信模块成本极低。缺点是红外有方向性发射管和接收头要对准中间不能有遮挡。3.3 继电器断电电路保护电池的最后一道闸发射端的继电器电路在文档 3.2.8 节。STC 单片机收到红外解码信号后判断是否需要断开线圈电源。继电器选的是 5V 线圈电压的小型继电器触点容量要能承受发射端的直流母线电流。文档里继电器由单片机 IO 口通过三极管驱动因为 IO 口输出电流不够直接驱动继电器线圈。这里有个血泪经验继电器断开瞬间线圈会产生反向电动势如果不加续流二极管很容易把驱动三极管打穿。文档原理图里在继电器线圈两端并了一个 1N4148这是标准做法自己搭电路的时候千万别省这个二极管。4. 软件流程与调试单片机怎么知道该充电还是该停4.1 发射端主循环与外部中断发射端单片机的程序结构在文档 5.2 节。主函数初始化后进入循环等待外部中断 0 触发。外部中断 0 接的是红外接收头的输出脚当接收头解调出有效信号时下降沿触发中断单片机在中断服务程序里解码 NEC 协议判断命令码。如果是充满断电就拉低继电器驱动脚如果是开始充电就拉高。文档图 5-3 和图 5-4 分别画了主函数流程图和外部中断 0 流程图。这种主循环 中断的结构在 51 单片机里很常见好处是主循环可以处理其他任务红外解码不丢帧。但要注意中断服务程序里不要做耗时操作解码逻辑尽量精简否则会错过后续的红外脉冲。4.2 接收端 AD 采样与电压检测接收端单片机要采集充电电压判断电池状态。文档 5.3.1 节给了 AD 程序设计。STC 单片机内部有 10 位 ADC参考电压用 VCC 3.3V。充电电压经过电阻分压后接到 ADC 输入脚分压比要算好保证满量程时不超过 3.3V。// AD 采样判断电池状态参考文档 5.3.1 节 #define ADC_FULL_THRESHOLD 0x3CC // 对应 4.2V 左右按分压比换算 #define ADC_LOW_THRESHOLD 0x2E0 // 对应 3.3V 左右 uint16_t adc_value get_adc_result(ADC_CHANNEL_0); if (adc_value ADC_FULL_THRESHOLD) { battery_state STATE_FULL; ir_send_charge_full(); // 通知发射端断电 } else if (adc_value ADC_LOW_THRESHOLD) { battery_state STATE_CHARGING; }上面这段代码的关键在阈值设定。锂电池充满电压一般是 4.2V但经过分压和 ADC 量化后对应的数字量要自己算。分压电阻选 10k 和 20k分压比 2/34.2V 分压后是 2.8V对应 10 位 ADC 的 0x36E 左右。文档里没有给出具体分压电阻值这部分需要根据实际电路补上。4.3 联调步骤先通发射端再通接收端调试顺序很重要不要一上来就把发射端和接收端放一起。我一般会分三步走第一步单独测发射端逆变电路。不接线圈用示波器看 IR2110 输出波形确认两路驱动信号互补且死区时间够。文档图 3-6 和图 3-7 给了低端和自举高端的驱动波形参考。第二步接上线圈和补偿电容测发射线圈两端波形。应该是接近正弦的高频信号频率 514kHz 左右。如果波形畸变严重检查补偿电容是否焊错或者线圈电感量不对。第三步放上接收线圈先不接负载测接收线圈两端波形。文档图 3-14 给了参考波形。然后接整流滤波电路测直流输出。最后接单片机和红外联调断电逻辑。提示联调时给发射端直流电源加一个电流表如果电流突然飙到限流值立刻断电检查大概率是全桥上下管直通了。5. 避坑与排查这份毕设里没写但一定会遇到的问题5.1 全桥上下管直通电流瞬间拉满现象上电后电源电流直接跳到限流值MOSFET 发烫甚至冒烟。原因IR2110 的两路输入信号没有死区或者 4069 反相器输出和原信号重叠导致上下桥臂同时导通。文档里用 4069 产生互补信号但 4069 本身有传输延迟如果延迟不一致就会产生直通窗口。解决在单片机或者信号链里加死区时间。简单做法是在 IR2110 输入端加 RC 延迟网络让开通信号比关断信号晚几百纳秒。更稳妥的做法是用带死区控制的专用驱动芯片但那就偏离这份文档的器件清单了。5.2 接收端电压不够单片机反复复位现象接收线圈靠近发射线圈时单片机偶尔能工作稍微偏一点就复位红外也发不出去。原因整流后电压低于 AMS1117-3.3 的最小压差要求。线圈间距、对准程度、补偿电容容差都会影响接收电压。文档里所有参数都是在 5mm 间距、严格对准的条件下测的实际手工制作很难保证。解决先用万用表量整流后电压确认在 5V 以上再接单片机。如果电压不够优先检查补偿电容是否匹配其次检查线圈是否对准。实在不行可以把 AMS1117-3.3 换成低压差的 LDO比如 HT7333压差只有 100mV 左右。5.3 红外解码不稳定偶尔误触发现象继电器偶尔自己跳或者充电满了不断电。原因红外接收头输出信号有毛刺或者环境光干扰。NEC 协议对引导码和位宽有严格要求如果单片机中断里没有做滤波很容易把干扰当成有效信号。解决在红外接收头输出脚加 100nF 电容滤波软件里连续采样两次确认引导码有效再解码。另外红外发射管和接收头之间不要有强光直射阳光和日光灯里都有 38kHz 成分会干扰接收。5.4 线圈发热严重效率明显下降现象工作几分钟后线圈烫手接收端电压往下掉。原因线圈电阻 5.8Ω 偏大电流流过时产生 I²R 损耗。文档里也提到了这个问题建议双层并联或者加锡来减小电阻。另外如果补偿电容容量偏差大谐振点偏离 514kHz无功电流增大线圈也会发热。解决用 LCR 表实测线圈电感和补偿电容确认谐振频率在 514kHz 附近。线圈能加锡就加锡或者改用更粗的漆包线绕制。如果只是做演示可以降低发射功率牺牲一点充电速度换稳定性。5.5 继电器动作时单片机复位现象继电器一吸合或释放发射端单片机就重启。原因继电器线圈断电瞬间的反向电动势通过电源和地串扰到单片机。文档里加了续流二极管但如果电源退耦没做好干扰还是会传过去。解决在继电器线圈两端并续流二极管的基础上单片机电源脚就近加 100μF 电解电容和 100nF 陶瓷电容退耦。继电器驱动三极管的基极加下拉电阻防止悬空误触发。6. 从这份毕设能带走的三个进阶习惯这份文档的硬件参数和软件流程已经比较完整了但真正让我觉得值得翻出来讲一讲的是它背后那套调试思路。我后来自己做无线传能项目有三个习惯就是从这类老毕设里养出来的。第一个习惯先算谐振点再焊电路。文档里补偿电容 4700pF 是算出来的不是试出来的。很多人绕好线圈直接上电发现波形不对再回头改电容来回拆焊很浪费时间。我现在的做法是先用 LCR 表测线圈电感代入公式算出理论电容值再用标准电容并联凑出接近的值上电前心里就有数。第二个习惯每一级都留测试点。文档里给了线圈接收波形、整流后波形、驱动波形这些测试点在实际调试时非常关键。我一般会在发射线圈两端、接收线圈两端、整流输出端各留一个焊盘方便夹示波器探头。没有测试点出了问题只能盲猜。第三个习惯断电逻辑一定要做硬件冗余。文档里用红外回传加继电器断电软件判断电池充满。但软件会跑飞红外会受干扰所以继电器本身要选常开型失电就断开。这样即使单片机死机继电器释放线圈也不会一直通电。我后来做类似项目都会在继电器控制回路里串一个硬件比较器电压超过阈值直接拉低继电器驱动不经过单片机。调试阶段关键测试点正常现象异常排查方向发射端单独上电IR2110 输出脚两路互补方波死区明显检查 4069 和输入信号接线圈和补偿电容发射线圈两端514kHz 近似正弦检查补偿电容和线圈电感放上接收线圈接收线圈两端同频交流幅度随距离变化检查对准和间距接整流滤波整流输出端平滑直流5V 以上检查肖特基和滤波电容接单片机和红外红外接收头输出解码成功继电器动作检查编码协议和滤波这张表是我自己调试时用的检查清单对应文档里各个测试点的波形图。每次卡住的时候按顺序走一遍基本能定位到问题在哪一级。从那以后我每次做无线传能相关的板子都会先把谐振点算清楚、测试点留出来、断电逻辑做硬件冗余这三件事做完再上电。希望帮到你。本文还有配套的精品资源点击获取