ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ESP32供电避坑指南:AMS1117-3.3 LDO电路设计与散热实战

ESP32供电避坑指南:AMS1117-3.3 LDO电路设计与散热实战 1. 从一次烧板事故说起为什么ESP32供电不能随便接前阵子帮一个做物联网的朋友排查故障他一脸郁闷地拿着三块刚焊好的ESP32开发板来找我说上电之后芯片烫得能煎鸡蛋串口死活连不上。我拿万用表一量5V直接灌进了3.3V的供电脚三块板子全军覆没。这种场景我见过太多次了尤其是刚从Arduino Uno转过来的朋友脑子里还留着5V随便接的惯性思维结果在ESP32上栽了跟头。ESP32这颗芯片本质上是一颗3.3V逻辑电平的SoC它的供电引脚绝对耐受电压上限在3.6V左右超过这个值内部LDO和IO缓冲器就会进入雪崩击穿状态。而市面上大多数USB转串口模块、传感器模块、继电器模块默认输出都是5V。你直接把5V怼到ESP32的3V3脚上等于让一个只能喝二两的人干了半斤白酒当场就趴下了。所以这篇内容要解决的核心问题就一个怎么用AMS1117-3.3这颗经典LDO给ESP32搭一套稳定、安全、不烧芯片的供电电路。我会把电路图、元件选型、PCB布局、散热计算、常见故障排查全部讲透适合刚入门ESP32的硬件新手也适合想复习LDO设计细节的老手。看完你至少能明白三件事为什么选AMS1117而不是别的方案、电路里每个电容电阻到底干嘛用的、以及为什么你的板子会发热甚至烧毁。提示本文所有电路均基于AMS1117-3.3的固定输出版本输入电压范围建议控制在4.5V到10V之间超过12V请务必先做一级降压。2. 供电方案选型为什么是AMS1117-3.3而不是DC-DC2.1 LDO和DC-DC的本质区别很多教程一上来就让你用AMS1117但很少有人讲清楚为什么。线性稳压器LDO和开关电源DC-DC的核心差异用一句话概括LDO靠烧掉多余电压来稳压DC-DC靠搬运能量来稳压。假设你输入5V输出3.3V负载电流500mA。LDO的工作方式是内部调整管相当于一个可变电阻把多余的1.7V压差以热量的形式耗散掉。功耗计算公式是P (Vin - Vout) × Iout (5 - 3.3) × 0.5 0.85W这0.85W全部变成热量AMS1117的SOT-223封装热阻大约在60°C/W到80°C/W之间取决于焊盘铜箔面积温升就是0.85 × 65 ≈ 55°C。室温25°C的话芯片表面温度会到80°C左右摸上去烫手但还能工作。如果你输入是12V同样的500mA负载功耗变成(12-3.3)×0.54.35W这时候AMS1117会直接触发过热保护输出掉压ESP32反复重启。DC-DC方案比如MP1584、MP2315的效率通常在85%到95%之间同样5V转3.3V、500mA输出输入功率大约是1.65W/0.9≈1.83W自身发热只有0.18W左右几乎不烫。但DC-DC的缺点是输出纹波大开关频率带来的高频噪声可能干扰ESP32的射频部分导致WiFi连接不稳定或者蓝牙断流。2.2 AMS1117-3.3的适用边界AMS1117-3.3是一颗低压差线性稳压器最大输出电流1A压差在1A时约1.3V。它的优势非常明确电路极简只需要两个电容就能工作不需要电感、二极管、反馈电阻纹波极低PSRR在低频段有60dB以上输出噪声通常在50μVrms级别成本极低单颗芯片几毛钱比DC-DC方案便宜一半以上无开关噪声不会对ESP32的2.4GHz射频造成干扰它的劣势同样明确效率低压差越大、电流越大发热越严重输入输出压差不能太小低于1V时稳压效果变差大电流下热问题突出持续1A输出时基本需要加散热片所以我的选型建议是输入5V、负载电流300mA以内、对射频性能要求高的场景优先用AMS1117-3.3。如果你输入是12V或者负载电流超过500mA老老实实先用DC-DC降到5V再用AMS1117做二级稳压这叫两级供电架构兼顾效率和低噪声。2.3 一张表看懂三种供电方案方案效率5V转3.3V输出纹波外围元件成本适用场景AMS1117-3.3约66%极低2个电容极低小电流、射频敏感DC-DC降压约90%较高电感电容二极管中等大电流、宽压输入两级架构约85%低两者结合较高12V输入、大电流注意ESP32在WiFi发射瞬间的峰值电流可以达到500mA以上虽然平均电流只有100mA左右但瞬态响应不好的LDO会导致电压跌落引发复位。AMS1117的瞬态响应属于中等水平所以输出电容不能省。3. 完整电路图拆解每个元件都有存在的理由3.1 核心电路原理图说明先给出完整的AMS1117-3.3给ESP32供电的电路连接关系。由于无法直接画图我用文字描述加连接表的方式呈现你照着连绝对不会错。主供电链路USB 5V或外部5V输入 → 输入滤波电容C1 → AMS1117-3.3的VIN脚 AMS1117-3.3的VOUT脚 → 输出滤波电容C2 → ESP32的3V3脚 AMS1117-3.3的GND脚 → 公共地 → ESP32的GND脚元件清单位号元件参数封装数量作用U1AMS1117-3.3固定3.3V输出SOT-2231稳压核心C1输入电容10μF~22μF0805或钽电容1输入滤波、抑制振荡C2输出电容22μF~47μF0805或钽电容1输出滤波、改善瞬态C3高频旁路0.1μF06031滤除高频噪声R1假负载1kΩ06031保证空载稳定可选LED1电源指示3.3V LED06031电源状态指示可选R2LED限流1kΩ06031限制LED电流3.2 输入输出电容到底怎么选AMS1117的数据手册上写的是输入输出各接一个10μF电容但实际用的时候你会发现只接10μF有时候会振荡。原因在于钽电容和陶瓷电容的ESR特性不同。AMS1117内部误差放大器的相位裕度对输出电容的ESR有一定要求。老版本的AMS1117要求输出电容ESR在0.1Ω到10Ω之间才能稳定而现代MLCC陶瓷电容的ESR只有几毫欧反而可能导致环路不稳定。所以我的实际做法是输入端用22μF的0805陶瓷电容并联一个0.1μF的0603电容。大电容储能小电容滤高频。输出端用47μF的钽电容ESR约0.5Ω到2Ω或者用22μF陶瓷电容串联一个0.5Ω的电阻来模拟ESR。如果你手头只有陶瓷电容建议用两个22μF并联总容量44μF同时观察输出是否有自激振荡。判断是否振荡的方法很简单用示波器看输出波形如果看到几百kHz到几MHz的正弦波叠加在3.3V直流上那就是振荡了。没有示波器的话用手摸AMS1117如果空载时也明显发热大概率是振荡了。3.3 假负载电阻的作用很多新手会忽略R1这个1kΩ的假负载。它的作用是保证AMS1117在空载时也能稳定工作。有些批次的AMS1117在完全空载时输出电压会飘高到3.5V甚至更高因为内部调整管的最小导通电流得不到保证。加上1kΩ假负载后空载时也有3.3V/1kΩ3.3mA的电流流过这个电流足以让AMS1117进入稳定的调节状态。代价是空载时多消耗3.3mA×3.3V≈11mW的功率完全可以接受。如果你用的是ESP32模组它本身在深睡眠时也有几十微安的电流加上模组上的电源LED实际上不算完全空载。但如果你做的是电池供电的低功耗项目这个假负载可以去掉前提是你实测空载电压稳定。3.4 完整连接表照着连不会错AMS1117引脚连接到备注VIN第3脚5V输入正极、C1正极、C3一端输入电压4.5V~10VVOUT第2脚ESP32的3V3脚、C2正极、R1一端输出3.3VGND第1脚公共地、C1负极、C2负极、C3另一端、R1另一端所有地必须共地TAB散热片与VOUT内部相连可焊接到铜箔辅助散热提示AMS1117的SOT-223封装中间的宽引脚是VOUT也是散热片它和输出脚是内部连通的。PCB布局时把这个引脚连接到一块至少1cm²的铜箔上能显著降低热阻。4. 实操过程从焊接 to 上电测试的完整记录4.1 元件准备与焊接要点我这次用的是现成的AMS1117-3.3模块做验证但为了讲清楚细节还是从裸芯片焊接说起。你需要准备恒温烙铁温度设定在320°C到350°C之间0.8mm含铅焊锡丝有铅的熔点低对新手友好助焊剂或松香镊子、吸锡带、无水酒精焊接顺序很重要先焊矮的元件再焊高的元件。具体是先焊AMS1117和电容电阻最后焊排针。AMS1117的SOT-223封装中间那个大焊盘很难用烙铁直接加热我的技巧是先在PCB的散热焊盘上涂一层薄薄的锡用镊子夹住芯片对准位置放上去用烙铁头同时加热芯片中间引脚和PCB焊盘让锡融化再焊两侧的引脚如果你用的是模块这一步可以跳过。但模块也有坑市面上很多AMS1117模块用的是电解电容体积大、寿命短、ESR高。我建议把模块上的电解电容换成钽电容或陶瓷电容输出纹波会明显改善。4.2 上电前的静态检查焊接完成后千万不要直接插USB。先做三件事第一目视检查用放大镜看有没有连锡、虚焊、元件方向装反。AMS1117的引脚定义是面对芯片正面从左到右依次是GND、VOUT、VIN。不同厂家的丝印可能不同以数据手册为准。第二万用表测短路把万用表打到蜂鸣档测VIN对GND、VOUT对GND的电阻。正常情况VOUT对GND应该有几百欧姆到几kΩ的电阻因为假负载和ESP32的输入阻抗如果测到0Ω或者几欧姆说明有短路必须排查。第三限流上电如果你有可调电源把电压设到5V电流限制设到100mA然后接上电路。如果电流立刻冲到限流值说明有短路如果电流在几十mA以内电压稳定在3.3V说明基本正常。没有可调电源的话可以用一个USB电流表串在USB线和开发板之间。正常空载电流应该在10mA到30mA之间取决于ESP32模组和LED。4.3 关键参数计算散热和压差假设你的输入是5VESP32在WiFi发射时的峰值电流是500mA平均电流150mA。我们按最坏情况500mA来算AMS1117的功耗P (5 - 3.3) × 0.5 0.85WSOT-223封装的热阻结到环境在没有额外散热铜箔时约80°C/W有1cm²铜箔时约60°C/W有4cm²铜箔时约45°C/W。按60°C/W算温升 0.85 × 60 51°C室温25°C时芯片结温约76°C低于AMS1117的过热保护阈值约165°C安全。但如果你把输入换成12VP (12 - 3.3) × 0.5 4.35W温升 4.35 × 60 261°C这已经远超保护阈值了芯片会反复进入热关断状态ESP32会看到电压周期性跌落表现为不断重启。所以12V输入必须先用DC-DC降到5V。4.4 实测波形与数据记录我用示波器带宽100MHz探头1X测了输出端的纹波。测试条件输入5V负载用电子负载设到200mA。测试点纹波峰峰值备注AMS1117输出脚约2mV加了47μF钽电容0.1μF陶瓷ESP32的3V3脚约5mV走线电感导致略微增大WiFi发射瞬间约30mV持续约200μs的跌落30mV的瞬态跌落对于ESP32来说是安全的它的欠压复位阈值通常在2.7V左右3.3V减去30mV还有3.27V余量充足。但如果你用的是劣质USB线线阻大输入5V到AMS1117的VIN可能只有4.5V这时候压差只剩1.2V接近AMS1117的最小压差要求输出可能会不稳。注意USB线的线阻是隐形杀手。劣质线在500mA时压降可能达到0.5V以上。建议用短而粗的USB线或者在VIN端再并一个100μF的电解电容做储能。5. 常见问题与排查技巧实录5.1 上电后ESP32反复重启这是最常见的故障。排查顺序如下第一步测电压用万用表测ESP32的3V3脚对GND的电压。如果低于3.0V说明供电不足。拔掉ESP32单独测AMS1117输出如果还是低问题在稳压电路如果恢复正常问题在ESP32或负载过重。第二步测输入测AMS1117的VIN脚电压。如果低于4.5V换USB线或换供电口。有些电脑的USB口带载能力差500mA时电压会跌到4.2V。第三步摸温度如果AMS1117烫得不能摸超过70°C说明功耗过大。要么降低输入电压要么减小负载要么加散热片。第四步看纹波如果有示波器看输出是否有振荡。振荡的话换输出电容或增加ESR。5.2 WiFi连接不稳定或频繁断线这个问题往往不是软件问题而是电源瞬态响应不足。ESP32在WiFi发射时电流从10mA瞬间跳到500mA如果LDO的瞬态响应慢电压会跌落几百毫伏导致射频部分工作异常。解决方法有三个增加输出电容在ESP32的3V3脚附近再并一个100μF的钽电容或低ESR电解电容越靠近引脚越好。缩短走线AMS1117到ESP32的走线尽量短而粗减少寄生电感。改用两级供电前级DC-DC到5V后级AMS1117到3.3V前级的大电容可以缓冲瞬态。5.3 AMS1117发热严重但输出正常如果输出稳定但芯片很烫说明功耗在可接受范围内但散热不够。计算一下功耗如果小于1W可以通过以下方式改善把AMS1117的散热片焊接到大面积铜箔上铜箔面积至少2cm²在芯片背面涂导热硅脂贴一个小铝片降低输入电压比如从5V降到4.5V但要注意压差如果负载电流确实大换用DC-DC方案5.4 常见问题速查表现象可能原因排查方法解决方案输出0V输入断路、芯片损坏测VIN电压、测芯片阻值更换芯片、检查焊接输出高于3.3V假负载缺失、芯片假货加1kΩ假负载、换正品从正规渠道采购输出振荡输出电容ESR不合适示波器看波形换钽电容或串0.5Ω电阻发热严重压差大、电流大计算功耗降低输入、加散热、换DC-DC带载掉压输入线阻大、USB口弱测VIN带载电压换短线、换供电口WiFi断流瞬态响应差看发射瞬间电压加输出电容、两级供电5.5 几个我踩过的坑坑一买了假AMS1117。市面上有很多打磨芯片标着AMS1117但实际是其他型号输出不是3.3V或者带载能力差。识别方法是看丝印是否清晰、引脚是否平整最好从立创商城或正规代理商拿货。坑二输出电容用了电解电容。电解电容的ESR随温度变化大低温时ESR升高可能导致振荡。我冬天在室外测试时遇到过换了钽电容就好了。坑三忽略了ESP32模组本身的LDO。很多ESP32开发板上已经有一颗3.3V LDO比如AMS1117或者SPX3819你再外接一个AMS1117两个LDO输出并联可能会互相打架。正确做法是要么只用板载LDO要么把板载LDO的输入断开直接外接3.3V到模组的3V3脚。坑四地线走得太细。大电流回流路径如果太细地线上会有压降导致ESP32的GND和AMS1117的GND之间有电位差影响ADC采样精度。建议地线宽度至少1mm或者用铺铜。6. PCB布局与散热设计的实战经验6.1 布局优先级如果你要自己画PCB布局顺序应该是先放AMS1117和ESP32模组两者尽量靠近缩短3.3V走线输入电容紧贴VIN脚距离不超过5mm输出电容紧贴VOUT脚距离不超过5mm假负载电阻放在AMS1117附近不要求紧贴电源指示LED放在板边方便观察6.2 散热铜箔的设计AMS1117的散热主要靠PCB铜箔。我的经验是散热片引脚连接的铜箔面积至少1cm²最好2cm²以上铜箔上可以开窗加锡增加散热面积如果空间允许在铜箔背面也铺一块地铜用过孔连接实测数据1cm²铜箔时热阻约60°C/W2cm²时约50°C/W4cm²时约45°C/W。面积翻倍热阻下降不明显所以2cm²是性价比最高的选择。6.3 走线宽度计算3.3V走线要承载500mA峰值电流按1oz铜厚35μm、温升10°C计算走线宽度至少需要0.5mm。如果走线长度超过2cm建议加宽到1mm。输入5V走线同样按500mA计算宽度0.5mm以上。地线建议用铺铜不要用细线。如果必须走线宽度至少1mm。7. 进阶玩法两级供电与电池供电方案7.1 12V输入的两级供电如果你手头只有12V电源比如监控电源或铅酸电池直接接AMS1117会烧。正确做法是第一级用MP1584或LM2596 DC-DC降到5V效率约90%第二级用AMS1117从5V降到3.3V效率约66%总效率0.9 × 0.66 ≈ 59%虽然总效率不高但第一级把大部分热量分担了AMS1117只承担(5-3.3)×0.50.85W散热压力小很多。7.2 18650电池供电单节18650电池电压范围是3.0V到4.2V低于3.3V时AMS1117无法稳压。所以电池供电需要升降压方案比如TPS63020或IP5306。如果你非要用AMS1117至少需要两节18650串联6V到8.4V但效率只有40%左右不推荐。7.3 低功耗场景的取舍如果你的ESP32项目大部分时间在深睡眠平均电流只有几十微安AMS1117的静态电流约5mA就成了主要消耗。这时候应该换用低静态电流LDO比如HT7333静态电流4μA或XC6206静态电流1μA。AMS1117适合持续工作的场景不适合电池长期待机。提示AMS1117的静态电流在数据手册上标的是5mA到11mA实际测量约3mA到8mA。对于电池供电项目这个电流足以在几天内耗光电池。8. 我的个人经验总结折腾ESP32供电这几年我最大的体会是不要迷信经典电路要根据实际场景算功耗、算温升、算瞬态。AMS1117-3.3是一颗好芯片但它有明确的适用边界。5V输入、300mA以内、对噪声敏感的场景它是最优解12V输入、大电流、电池供电的场景它就是个发热源。另外买元件一定要从正规渠道。我见过太多因为假芯片导致的诡异故障排查半天最后发现是芯片本身的问题。正品AMS1117-3.3单价不到一块钱没必要为了省几毛钱给自己挖坑。最后分享一个小技巧如果你不确定电路是否稳定可以先用洞洞板搭一个最小系统只焊AMS1117、两个电容和一个假负载用电子负载拉载测试。确认输出稳定后再接ESP32。这样即使出问题也不会烧掉昂贵的模组。
返回列表