
1. 項(xiàng)目緣起與供電需求拆解1.1 為什么供電方案值得單獨(dú)拿出來講拿到 ESP32-C3-Super-Mini 這塊板子的人十有八九第一件事就是插上 USB 線看串口有沒有輸出、能不能燒錄。這一步幾乎不會出問題因?yàn)?USB 口本身就提供了穩(wěn)定的 5V板載的 LDO 再把它降到 3.3V 給芯片用。但真正把這塊板子往項(xiàng)目里塞的時(shí)候情況就變了——你可能要把它裝進(jìn)一個(gè)電池供電的傳感器節(jié)點(diǎn)可能要從工業(yè)現(xiàn)場的 24V 總線取電再降壓也可能手頭只有一個(gè) 6V 的鉛酸電池或者四節(jié)干電池盒。這時(shí)候 USB 口就不方便了你得從排針上想辦法。ESP32-C3-Super-Mini 這塊板子的供電設(shè)計(jì)其實(shí)挺有意思。它不像某些開發(fā)板只留一個(gè) 5V 排針就完事而是在板子邊緣引出了 5V、3.3V 和 GND 三組供電相關(guān)的排針同時(shí)板載了一顆低壓差線性穩(wěn)壓器LDO。這就意味著你既可以往 5V 腳灌電也可以往 3.3V 腳直接供電甚至在某些條件下可以從 6V 左右的電源想辦法。但這里面的門道不少灌錯(cuò)腳、電壓超范圍、電流不夠都會導(dǎo)致板子工作不穩(wěn)定甚至燒毀。我見過太多人在這塊板子上栽跟頭有人拿 5V 直接懟到 3.3V 腳上芯片瞬間冒煙有人用 6V 電池接 5V 腳結(jié)果 LDO 發(fā)熱嚴(yán)重跑一會兒就重啟還有人用 3.3V 供電時(shí)忘了斷開 USB兩個(gè)電源打架。這些問題本質(zhì)上都是對供電拓?fù)淅斫獠坏轿弧K赃@篇內(nèi)容就圍繞 ESP32-C3-Super-Mini 的供電方案把 3.3V 到 6V 這個(gè)區(qū)間的適配邏輯講透讓你拿到任意一個(gè)電源都能判斷能不能用、怎么接、要注意什么。1.2 板載供電拓?fù)渑c關(guān)鍵器件先看清楚這塊板子上和供電相關(guān)的幾個(gè)關(guān)鍵點(diǎn)。ESP32-C3-Super-Mini 的供電入口主要有三個(gè)USB Type-C 口、5V 排針、3.3V 排針。USB 口的 VBUS 直接連到板載 LDO 的輸入端同時(shí)也會引到 5V 排針上。LDO 的輸出就是 3.3V供給 ESP32-C3 芯片、Flash 以及排針上的 3.3V 腳。板載的 LDO 型號在不同批次可能略有差異但常見的是類似 SGM2212 或者 RT9013 這類低壓差穩(wěn)壓器輸出電流能力一般在 500mA 到 800mA 之間。這個(gè)電流能力很關(guān)鍵因?yàn)?ESP32-C3 在射頻發(fā)射瞬間的峰值電流可以沖到 300mA 以上如果 LDO 余量不夠電壓就會被拉低導(dǎo)致芯片復(fù)位。所以選外部電源的時(shí)候不能只看標(biāo)稱電壓還要看它能不能在峰值電流下穩(wěn)住。這里有個(gè)容易被忽略的點(diǎn)5V 排針和 USB 的 VBUS 是連通的。也就是說如果你從 5V 排針灌電同時(shí)插著 USB 線兩個(gè) 5V 電源就會并聯(lián)。如果電壓不一致比如外部電源是 5.2VUSB 是 5.0V就會有電流從外部電源倒灌進(jìn) USB 口輕則影響電腦 USB 控制器重則損壞接口。所以外部供電時(shí)要么拔掉 USB 線要么在 5V 線上做隔離。3.3V 排針則直接連到 LDO 的輸出端。往這個(gè)腳灌 3.3V 是可以的但前提是 LDO 的輸入端沒有電否則 LDO 的輸出和外部 3.3V 也會打架。更穩(wěn)妥的做法是如果要用外部 3.3V 供電就把 LDO 輸入端斷開或者干脆用二極管做隔離。不過對于大多數(shù)臨時(shí)驗(yàn)證場景直接拔掉 USB 線從 3.3V 腳供電是可行的只是要確保外部 3.3V 的精度和紋波滿足要求。1.3 3.3V 到 6V 的適配區(qū)間劃分把 3.3V 到 6V 這個(gè)范圍拆開看其實(shí)可以分成三個(gè)區(qū)間每個(gè)區(qū)間的處理方式完全不同。第一個(gè)區(qū)間是 3.3V 附近也就是 3.0V 到 3.6V。這個(gè)區(qū)間對應(yīng)的是直接給 3.3V 腳供電繞過 LDO。ESP32-C3 芯片的供電范圍是 3.0V 到 3.6V所以這個(gè)區(qū)間是芯片能直接吃的。但要注意3.3V 腳上還掛著 Flash 和其他外設(shè)它們的供電范圍也要確認(rèn)。一般來說3.3V 標(biāo)稱、±10% 以內(nèi)是安全的。這個(gè)方案的好處是效率高沒有 LDO 的壓降損耗適合電池供電場景。壞處是你得自己保證電壓穩(wěn)定不能有大的紋波和過沖。第二個(gè)區(qū)間是 3.6V 到 5.5V這是 LDO 的正常工作區(qū)間。往 5V 腳灌電LDO 降到 3.3V。這個(gè)區(qū)間最省心因?yàn)?LDO 會幫你穩(wěn)壓你只需要保證輸入電壓在范圍內(nèi)、電流夠用就行。5V 是標(biāo)稱值4.5V 到 5.5V 都能正常工作。如果輸入是 4.2V 的單節(jié)鋰電池也在范圍內(nèi)只是 LDO 的壓差小一點(diǎn)效率會高一些。第三個(gè)區(qū)間是 5.5V 到 6V這是 LDO 的極限區(qū)間。大多數(shù) LDO 的絕對最大輸入電壓是 6V 或 6.5V超過就可能損壞。所以 6V 電源接 5V 腳屬于“能跑但沒余量”的狀態(tài)。如果電源本身有波動比如 6V 鉛酸電池充滿電可能到 6.8V那就超限了。這個(gè)區(qū)間需要額外加保護(hù)比如串一個(gè)二極管降壓或者用 buck 電路先降到 5V 再進(jìn) LDO。把這三個(gè)區(qū)間搞清楚后面選電源、接線、做保護(hù)就有依據(jù)了。2. 三種供電入口的實(shí)操接法與取舍2.1 5V 排針供電最通用的方案5V 排針供電是絕大多數(shù)場景的首選因?yàn)樗嫒菪宰詈?。你手頭任何一個(gè) 5V 電源適配器、充電寶、USB 升壓模塊都可以直接接到這個(gè)腳上。板載 LDO 會負(fù)責(zé)把 5V 降到 3.3V你不需要額外操心穩(wěn)壓的事。接線的時(shí)候5V 腳接電源正極GND 腳接電源負(fù)極。這里有個(gè)細(xì)節(jié)ESP32-C3-Super-Mini 的排針上通常有多個(gè) GND 腳隨便選一個(gè)就行但建議選靠近 5V 腳的那個(gè)走線短回路面積小對射頻性能有好處。如果電源線比較長比如超過 20 厘米最好在 5V 和 GND 之間并一個(gè) 100uF 的電解電容再加一個(gè) 0.1uF 的陶瓷電容用來吸收電源線上的低頻波動和高頻噪聲。電流方面5V 電源的額定輸出至少要 500mA推薦 1A 以上。為什么因?yàn)?ESP32-C3 在 WiFi 發(fā)射時(shí)的峰值電流能到 350mA 左右加上 LDO 自身的靜態(tài)電流和 Flash 的功耗整體可能接近 400mA。如果電源只有 500mA 且質(zhì)量一般峰值一來電壓就塌了。我實(shí)測過用一個(gè)標(biāo)稱 500mA 的老式 USB 充電頭板子跑 WiFi 掃描時(shí)串口會隨機(jī)出現(xiàn)亂碼換 1A 的充電頭就穩(wěn)了。還有一個(gè)坑有些 5V 電源的空載電壓偏高比如某些開關(guān)電源空載時(shí)輸出 5.3V 甚至 5.5V。這個(gè)電壓雖然在 LDO 輸入范圍內(nèi)但會讓 LDO 的壓差變大發(fā)熱增加。如果板子裝在密閉外殼里長時(shí)間跑 WiFiLDO 溫度可能到 70 度以上。這時(shí)候要么換電源要么在 LDO 上貼個(gè)小散熱片要么改用 3.3V 直接供電。注意從 5V 排針供電時(shí)務(wù)必拔掉 USB 線。如果必須同時(shí)插 USB 做調(diào)試建議在 5V 電源和排針之間串一個(gè)肖特基二極管防止倒灌。2.2 3.3V 排針供電高效但需謹(jǐn)慎3.3V 排針供電適合電池場景。比如你用一節(jié) 18650 鋰電池標(biāo)稱 3.7V充滿 4.2V放到 3.0V。如果直接接 5V 腳LDO 在電池電壓降到 3.3V 以下時(shí)就無法維持 3.3V 輸出了板子會不穩(wěn)定。但如果接 3.3V 腳就需要在電池和板子之間加一個(gè) buck-boost 或者先升壓到 5V 再降壓反而復(fù)雜。所以 3.3V 腳供電更適合那些本身就能提供穩(wěn)定 3.3V 的電源比如已經(jīng)穩(wěn)壓好的 3.3V 模塊、或者磷酸鐵鋰電池標(biāo)稱 3.2V充滿 3.6V。接線方式和 5V 類似3.3V 腳接正極GND 接負(fù)極。但這里有個(gè)關(guān)鍵區(qū)別3.3V 腳是 LDO 的輸出端如果你從外部灌 3.3V 進(jìn)去而 LDO 的輸入端5V 腳也有電LDO 就會試圖把輸出拉到它認(rèn)為的 3.3V和外部電源形成競爭。所以用 3.3V 供電時(shí)必須確保 5V 腳沒有電也就是拔掉 USB 和任何 5V 電源。電壓精度方面ESP32-C3 的數(shù)據(jù)手冊要求供電電壓在 3.0V 到 3.6V 之間典型值 3.3V。外部 3.3V 電源的紋波最好控制在 50mV 以內(nèi)否則射頻性能會受影響。我試過用一個(gè)紋波 100mV 的開關(guān)電源直接供 3.3V 腳WiFi 連接距離明顯縮短換成 LDO 穩(wěn)壓后的 3.3V 就正常了。所以如果你手頭的 3.3V 是從開關(guān)電源來的建議再加一級 LC 濾波或者低噪聲 LDO。還有一個(gè)細(xì)節(jié)3.3V 腳上通常還連著板載的電源指示燈 LED。這個(gè) LED 的限流電阻是按 3.3V 設(shè)計(jì)的如果你外部供電是 3.0VLED 會暗一些但不影響功能。如果供電是 3.6VLED 會亮一些電流可能從 2mA 增加到 3mA 左右對整體功耗影響不大。2.3 6V 電源的降壓與保護(hù)策略6V 電源在現(xiàn)實(shí)中很常見四節(jié)干電池盒4×1.5V6V、6V 鉛酸電池、某些老式電源適配器。這些電源不能直接接 5V 腳因?yàn)?6V 已經(jīng)接近甚至超過 LDO 的絕對最大輸入電壓。而且干電池和鉛酸電池的電壓會隨電量變化充滿時(shí)可能到 6.4V 甚至 6.8V直接接上去 LDO 大概率會掛。最穩(wěn)妥的做法是加一級降壓。如果你手頭有 buck 降壓模塊把它調(diào)到 5V 輸出再接到 5V 腳。buck 的效率高發(fā)熱小適合電流較大的場景。如果只是小電流應(yīng)用比如板子大部分時(shí)間在 deep sleep偶爾醒來發(fā)個(gè)數(shù)據(jù)也可以用串二極管的方式降壓。一個(gè)普通的硅二極管正向壓降約 0.7V6V 經(jīng)過一個(gè)二極管變成 5.3V經(jīng)過兩個(gè)變成 4.6V。這個(gè)電壓在 LDO 輸入范圍內(nèi)而且二極管還有防反接的作用。但要注意二極管的電流能力1N4007 是 1A 的夠用1N4148 只有 200mA就不行。還有一種情況是 6V 電源本身波動很大比如某些劣質(zhì)適配器空載 6.5V、滿載 5.5V。這種電源即使串了二極管空載時(shí)也可能到 5.8V仍然偏高。這時(shí)候建議用 buck 模塊或者加一個(gè) 5.6V 的齊納二極管做鉗位。齊納二極管的接法是陰極接電源正極陽極接 GND這樣電壓超過 5.6V 時(shí)齊納管導(dǎo)通把電壓鉗住。但齊納管要選功率足夠的比如 1W 的否則自己會燒掉。提示6V 鉛酸電池充滿電可以到 6.8V 到 7.0V如果直接用必須經(jīng)過 buck 降壓。串二極管只能降 0.7V 左右7V 降到 6.3V 仍然超限。2.4 三種方案對比與選型建議供電入口適用電壓范圍優(yōu)點(diǎn)缺點(diǎn)推薦場景5V 排針4.5V - 5.5V兼容性好LDO 穩(wěn)壓有壓降損耗LDO 發(fā)熱桌面調(diào)試、USB 充電寶供電3.3V 排針3.0V - 3.6V效率高無 LDO 損耗需外部穩(wěn)壓不能與 USB 同時(shí)用電池供電、低功耗節(jié)點(diǎn)6V 降壓后接 5V5.5V - 7V可利用常見 6V 電源需額外降壓電路干電池盒、鉛酸電池場景選型的時(shí)候先看手頭電源的電壓和電流能力再看板子的工作模式。如果板子要跑 WiFi 且持續(xù)發(fā)射優(yōu)先選 5V 排針加 1A 以上電源。如果是電池供電的傳感器大部分時(shí)間在休眠3.3V 直供更省電。如果只有 6V 電源別偷懶加個(gè) buck 模塊幾塊錢的事能省很多麻煩。3. 關(guān)鍵參數(shù)計(jì)算與元器件選型3.1 LDO 功耗與發(fā)熱計(jì)算LDO 的功耗計(jì)算很簡單P (Vin - Vout) × Iout。以 5V 輸入、3.3V 輸出、電流 300mA 為例P (5 - 3.3) × 0.3 0.51W。這個(gè)功耗全部變成熱量。SOT-23-5 封裝的 LDO 熱阻大約 250°C/W0.51W 會讓結(jié)溫升高 127°C。如果環(huán)境溫度 25°C結(jié)溫就是 152°C遠(yuǎn)超一般 LDO 的 125°C 最大結(jié)溫。所以 5V 輸入、300mA 輸出時(shí)LDO 會過熱保護(hù)。實(shí)際使用中ESP32-C3 的平均電流沒那么大。WiFi 發(fā)射是脈沖式的占空比不高。但如果持續(xù)跑 WiFi 傳輸平均電流可能到 100mA 到 150mA。這時(shí)候 P (5 - 3.3) × 0.15 0.255W結(jié)溫升高約 64°C環(huán)境 25°C 時(shí)結(jié)溫 89°C還能接受。但如果環(huán)境溫度 40°C結(jié)溫就 104°C 了接近極限。所以如果你打算讓板子長時(shí)間跑 WiFi要么用 3.3V 直供要么換用開關(guān)電源降壓要么給 LDO 加散熱片。我實(shí)測過在 5V 供電、WiFi 持續(xù)傳輸?shù)那闆r下LDO 表面溫度能到 60°C 到 70°C手摸上去燙但還能碰。如果裝在密閉盒子里溫度會更高這時(shí)候就得考慮散熱或者換方案。3.2 電源電流能力估算ESP32-C3 的電流消耗分幾種情況。Deep sleep 時(shí)大約 5uALight sleep 時(shí)約 130uAModem sleep 時(shí)約 20mA接收時(shí)約 80mA發(fā)射時(shí)峰值 350mA。這些數(shù)字是芯片本身的加上板載 Flash 和 LED整體會高一些。選電源的時(shí)候不能只看平均電流要看峰值。一個(gè)標(biāo)稱 500mA 的電源如果它的過流保護(hù)點(diǎn)在 500mA那發(fā)射峰值 350mA 加上其他負(fù)載可能觸發(fā)保護(hù)。所以建議電源的持續(xù)輸出能力至少是峰值電流的 1.5 倍也就是 500mA 以上推薦 1A。另外電源的瞬態(tài)響應(yīng)也很重要。有些開關(guān)電源在負(fù)載突變時(shí)電壓會跌落幾百毫伏如果跌到 3.0V 以下芯片就復(fù)位了。所以最好在板子的 5V 或 3.3V 腳附近并一個(gè)大電容比如 220uF 的電解電容用來緩沖瞬態(tài)電流。這個(gè)電容相當(dāng)于一個(gè)能量池發(fā)射瞬間先從電容取電電源來不及響應(yīng)也沒關(guān)系。3.3 降壓二極管與 buck 模塊選型串二極管降壓的方案二極管選型看三個(gè)參數(shù)正向電流、正向壓降、反向耐壓。正向電流要大于板子的峰值電流至少 500mA推薦 1A。正向壓降在 0.5V 到 0.8V 之間肖特基二極管壓降小一些約 0.3V 到 0.5V但反向漏電流大一些。反向耐壓要大于電源最高電壓6V 電源選 20V 以上的就行。常見的 1N5819 是肖特基1A、40V壓降約 0.4V很適合。1N4007 是硅二極管1A、1000V壓降約 0.7V也能用。如果電源電壓是 6.5V用一個(gè) 1N5819 降到 6.1V還是偏高那就用兩個(gè)串聯(lián)降到 5.7V。但兩個(gè)二極管會增加功耗每個(gè) 0.4V×0.5A0.2W兩個(gè)就是 0.4W發(fā)熱也不小。buck 模塊選型看輸入電壓范圍、輸出電壓、輸出電流。6V 輸入的話選輸入 4.5V 到 28V 的通用模塊就行輸出調(diào)到 5V電流 1A 以上。MP1584、LM2596 這些經(jīng)典模塊都很便宜幾塊錢一個(gè)。LM2596 效率約 75%MP1584 效率約 85%后者發(fā)熱更小。如果對體積有要求可以選基于 TPS5430 的小型模塊。注意buck 模塊的輸出紋波比 LDO 大一般在 20mV 到 50mV。如果直接給 5V 腳LDO 會再穩(wěn)壓一次問題不大。但如果直接給 3.3V 腳就要加 LC 濾波否則射頻性能會下降。3.4 保護(hù)電路過壓與反接過壓保護(hù)最簡單的是齊納二極管鉗位。選一個(gè) 5.6V 的齊納管陰極接 5V 腳陽極接 GND。正常 5V 時(shí)齊納管不導(dǎo)通超過 5.6V 時(shí)導(dǎo)通把電壓鉗住。但齊納管要選功率足夠的比如 1W 的否則自己會燒。1W 齊納管能承受 1W/5.6V≈178mA 的電流如果電源過壓嚴(yán)重電流會更大齊納管可能燒掉。所以齊納管適合對付瞬態(tài)過壓不適合持續(xù)過壓。反接保護(hù)可以用一個(gè)肖特基二極管串在電源正極。正常接法時(shí)二極管導(dǎo)通反接時(shí)截止。但二極管有壓降會損失一點(diǎn)電壓。如果電源是 5V經(jīng)過二極管變成 4.6VLDO 還能工作但余量小了。也可以用 P 溝道 MOSFET 做反接保護(hù)壓降幾乎為零但電路復(fù)雜一些。對于 6V 電源我建議至少做兩級保護(hù)第一級用 buck 降到 5V第二級用 LDO 穩(wěn)壓到 3.3V。buck 模塊本身有輸入欠壓保護(hù)LDO 有輸出過流保護(hù)整體比較可靠。如果不用 buck至少串一個(gè)二極管加一個(gè)齊納管再加一個(gè)自恢復(fù)保險(xiǎn)絲。自恢復(fù)保險(xiǎn)絲選 500mA 的過流時(shí)自動斷開冷卻后恢復(fù)。4. 實(shí)操接線與調(diào)試記錄4.1 5V 排針供電實(shí)操先準(zhǔn)備一個(gè) 5V 電源我用的是一個(gè) 5V 2A 的 USB 充電頭加一根 USB 轉(zhuǎn)杜邦線的轉(zhuǎn)接頭。把轉(zhuǎn)接頭的正極接到板子的 5V 腳負(fù)極接到 GND 腳。接線前先用萬用表量一下電源輸出確認(rèn)是 5.0V 左右。然后拔掉板子上的 USB 線只留外部供電。上電后板子上的電源指示燈亮起串口如果有輸出說明板子啟動了。我用的是 Arduino IDE 的串口監(jiān)視器波特率 115200。上電后能看到 ESP32-C3 的啟動日志包括芯片型號、Flash 大小、MAC 地址等。如果串口沒輸出先檢查接線是否松動再量 3.3V 腳電壓是否正常。跑一個(gè) WiFi 掃描程序觀察電流變化。我用的是 USB 電流表串在電源和板子之間能看到待機(jī)時(shí)約 30mA掃描時(shí)跳到 120mA 左右峰值到 200mA。電壓始終穩(wěn)定在 5.0V3.3V 腳在 3.28V 到 3.30V 之間波動。連續(xù)跑了 10 分鐘LDO 表面溫度約 45°C手摸溫?zé)釠]問題。這里有個(gè)小技巧如果串口輸出亂碼先檢查波特率再檢查電源。我遇到過電源紋波太大導(dǎo)致串口亂碼的情況換了個(gè)電源就好了。所以調(diào)試時(shí)如果遇到莫名其妙的問題先量電源電壓和紋波能排除一大半故障。4.2 3.3V 排針供電實(shí)操3.3V 供電我用的是一個(gè) 3.3V 的穩(wěn)壓模塊輸入是 5V輸出 3.3V最大電流 800mA。把模塊輸出接到板子的 3.3V 腳和 GND 腳拔掉 USB 線。上電后板子正常啟動串口輸出正常。量一下 3.3V 腳的電壓模塊輸出是 3.32V板子上的 LDO 輸出端也是 3.32V說明 LDO 沒有工作外部電源直接供給了芯片。這時(shí)候 LDO 的輸入端是 0V因?yàn)?USB 拔了5V 腳沒有電。如果這時(shí)候插上 USB5V 腳有電LDO 就會開始工作和外部 3.3V 形成競爭。我試過同時(shí)插 USB 和外部 3.3VLDO 輸出和外部電源輸出都是 3.3V 左右沒有明顯異常但長期這樣用不保險(xiǎn)不建議。跑 WiFi 掃描電流從 20mA 跳到 100mA 左右3.3V 腳電壓波動在 3.30V 到 3.34V 之間。因?yàn)闆]有了 LDO 的壓降損耗整體功耗比 5V 供電時(shí)低一些。同樣跑 10 分鐘板子溫度明顯低芯片表面只有微溫。提示3.3V 供電時(shí)如果外部電源的電壓略高于 3.3V比如 3.4V芯片也能工作但長期偏高會影響壽命。建議控制在 3.3V±0.1V 以內(nèi)。4.3 6V 電源降壓實(shí)操6V 電源我用的是四節(jié) AA 電池盒裝上新電池量一下是 6.4V。直接接 5V 腳肯定不行所以我用一個(gè) MP1584 buck 模塊降到 5V。模塊輸入接電池盒輸出調(diào)到 5.0V然后接板子的 5V 腳和 GND。上電后板子正常啟動串口輸出正常。量 5V 腳電壓是 5.0V3.3V 腳是 3.29V。跑 WiFi 掃描電流峰值 200mA5V 腳電壓穩(wěn)定。buck 模塊的效率約 85%輸入功率約 1.2W輸出約 1W損耗 0.2W模塊表面微溫。如果不用 buck我試過串兩個(gè) 1N5819 二極管。6.4V 經(jīng)過兩個(gè)二極管降到約 5.6V接 5V 腳。板子能啟動但 LDO 輸入電壓偏高發(fā)熱比 5V 供電時(shí)大。跑 WiFi 時(shí) LDO 表面溫度到 55°C比 buck 方案高 10°C。而且電池電壓降到 5.5V 時(shí)經(jīng)過兩個(gè)二極管只剩 4.7VLDO 還能工作但余量很小。所以串二極管只適合臨時(shí)用長期還是 buck 靠譜。4.4 混合供電與切換邏輯有些場景需要 USB 和外部電源同時(shí)存在比如設(shè)備裝在外殼里但調(diào)試時(shí)想插 USB。這時(shí)候最好做一個(gè)電源切換電路。簡單的方法是用兩個(gè)肖特基二極管組成 ORing 電路USB 的 5V 經(jīng)過一個(gè)二極管外部 5V 經(jīng)過另一個(gè)二極管兩個(gè)二極管的陰極連在一起接到板子的 5V 腳。這樣哪個(gè)電壓高哪個(gè)供電互不干擾。二極管選 1N5819壓降 0.4VUSB 5V 變成 4.6V外部 5V 變成 4.6VLDO 都能工作。更優(yōu)雅的方案是用理想二極管芯片比如 LM66100壓降幾乎為零但成本高一些。對于大多數(shù)項(xiàng)目兩個(gè) 1N5819 就夠了。注意二極管的電流要夠1A 的 1N5819 可以。如果外部電源是 3.3VUSB 是 5V就不能簡單 ORing 了因?yàn)?5V 會通過 LDO 倒灌到 3.3V 腳。這時(shí)候要么用切換開關(guān)要么用 MOSFET 做隔離。我一般建議直接拔 USB簡單可靠。5. 常見問題與排查技巧實(shí)錄5.1 上電后板子不啟動這是最常見的問題。排查順序先量 5V 腳和 3.3V 腳的電壓。如果 5V 腳有電壓但 3.3V 腳沒有可能是 LDO 壞了或者 3.3V 腳被短路了。如果 3.3V 腳有電壓但板子不啟動量一下 EN 腳使能腳的電壓正常應(yīng)該是高電平。如果 EN 腳是低電平芯片處于復(fù)位狀態(tài)檢查 EN 腳上的電阻和電容。還有一種情況是電源電流不夠。板子啟動瞬間電流可能到 100mA如果電源限流在 50mA電壓就會被拉低板子反復(fù)重啟。這時(shí)候量 5V 腳電壓如果上電瞬間跌到 3V 以下就是電源問題。換個(gè)大電流電源試試。5.2 串口亂碼或頻繁重啟串口亂碼通常是電源紋波大或者波特率不對。先確認(rèn)波特率是 115200然后量 3.3V 腳的紋波。用示波器看正常紋波應(yīng)該在 50mV 以內(nèi)。如果紋波超過 100mV加電容濾波。我在 3.3V 腳和 GND 之間并一個(gè) 100uF 電解加一個(gè) 0.1uF 陶瓷紋波從 120mV 降到 30mV串口就正常了。頻繁重啟是電壓跌落導(dǎo)致的。ESP32-C3 在 WiFi 發(fā)射時(shí)電流突增如果電源響應(yīng)慢電壓跌到 3.0V 以下就復(fù)位。解決辦法是在 3.3V 腳并一個(gè)大電容比如 470uF提供瞬態(tài)電流。同時(shí)檢查電源的瞬態(tài)響應(yīng)必要時(shí)換電源。5.3 LDO 發(fā)熱嚴(yán)重LDO 發(fā)熱是壓差和電流共同作用的結(jié)果。如果輸入 5V、輸出 3.3V、電流 200mA功耗 0.34WSOT-23-5 封裝會燙手。解決辦法降低輸入電壓到 4V 左右比如用 buck 先降到 4V或者改用 3.3V 直供或者換更大封裝的 LDO。如果都不行加散熱片或者降低 WiFi 發(fā)射占空比。我實(shí)測過在 5V 供電、WiFi 持續(xù) ping 的情況下LDO 表面溫度 65°C環(huán)境 25°C。如果環(huán)境 40°C表面溫度會到 80°C這時(shí)候就得處理了。最簡單的辦法是在 LDO 上貼一個(gè) 10mm×10mm 的鋁散熱片溫度能降 10°C 到 15°C。5.4 6V 電源接上后 LDO 冒煙這是過壓損壞。6V 電源如果空載電壓偏高比如 6.8V直接接 5V 腳LDO 輸入超過絕對最大額定值內(nèi)部擊穿。預(yù)防措施接之前先量電源空載電壓超過 5.5V 就必須降壓。串二極管或者用 buck。如果 LDO 已經(jīng)冒煙只能換板子或者換 LDO 芯片。LDO 型號一般是 SGM2212可以買同型號替換風(fēng)槍吹下來換新的。5.5 常見問題速查表現(xiàn)象可能原因排查方法解決措施板子不啟動電源沒接好、LDO 壞、EN 腳低量 5V、3.3V、EN 腳電壓重新接線、換 LDO、拉高 EN串口亂碼波特率錯(cuò)、紋波大確認(rèn)波特率、示波器看紋波改波特率、加濾波電容頻繁重啟電源電流不夠、瞬態(tài)響應(yīng)差量上電瞬間電壓、看峰值電流換大電流電源、加電容LDO 發(fā)熱壓差大、電流大算功耗、摸溫度降壓、加散熱片、改 3.3V 直供LDO 冒煙輸入過壓量電源空載電壓加降壓電路、換 LDOWiFi 距離短3.3V 紋波大、天線受干擾看紋波、檢查天線周圍加 LC 濾波、遠(yuǎn)離金屬5.6 獨(dú)家避坑經(jīng)驗(yàn)第一個(gè)坑用充電寶供電時(shí)有些充電寶會在電流小于 50mA 時(shí)自動關(guān)機(jī)。ESP32-C3 在 deep sleep 時(shí)電流只有幾微安充電寶以為沒負(fù)載就斷電了。解決辦法是并一個(gè)負(fù)載電阻比如 100 歐姆讓電流保持在 50mA 以上或者選支持小電流模式的充電寶。第二個(gè)坑用杜邦線接電源時(shí)線徑太細(xì)導(dǎo)致壓降大。杜邦線一般是 28AWG每米電阻約 0.2 歐姆。如果電流 200mA1 米線壓降 0.04V不大。但如果線長 2 米壓降 0.08V加上接觸電阻可能到 0.1V。5V 變成 4.9VLDO 還能工作但余量小了。建議電源線用 22AWG 以上的長度盡量短。第三個(gè)坑3.3V 供電時(shí)如果外部電源和板載 LDO 同時(shí)工作LDO 可能會因?yàn)檩敵霰焕叨鴵p壞。雖然短時(shí)間沒事但長期這樣用不保險(xiǎn)。我一般會在 3.3V 腳和外部電源之間串一個(gè)肖特基二極管防止倒灌。但二極管有壓降3.3V 變成 2.9V芯片可能不穩(wěn)定。所以更好的辦法是用一個(gè)跳線帽或者開關(guān)切換供電來源。第四個(gè)坑6V 鉛酸電池的內(nèi)阻小短路電流大。如果不小心接反瞬間電流能到幾安培燒線燒板子。所以一定要加反接保護(hù)串一個(gè)二極管或者用保險(xiǎn)絲。我習(xí)慣在電源正極串一個(gè) 1A 的自恢復(fù)保險(xiǎn)絲再加一個(gè) 1N5819 防反接雙重保護(hù)。6. 低功耗場景下的供電優(yōu)化6.1 Deep sleep 電流與電源選擇如果項(xiàng)目是電池供電的傳感器大部分時(shí)間在 deep sleep那供電方案就要圍繞低功耗優(yōu)化。ESP32-C3 在 deep sleep 時(shí)電流約 5uA但板載 LDO 的靜態(tài)電流可能有好幾百微安。比如 SGM2212 的靜態(tài)電流約 100uART9013 約 50uA。這些靜態(tài)電流在 deep sleep 時(shí)成了主要消耗。假設(shè)電池是 2000mAh 的 18650板子每小時(shí)醒來一次每次工作 2 秒平均電流 100mA。那么每次消耗 100mA×2s/3600s≈0.056mAh加上 deep sleep 電流 5uA100uA105uA每小時(shí)消耗 0.105mAh。一天 24 小時(shí)消耗 2.52mAh2000mAh 電池能用 793 天。但如果 LDO 靜態(tài)電流是 500uA一天消耗 12mAh只能用 166 天。所以低功耗場景要選靜態(tài)電流小的 LDO或者直接用 3.3V 供電繞過 LDO。6.2 3.3V 直供在低功耗下的優(yōu)勢3.3V 直供時(shí)LDO 不工作靜態(tài)電流為零。整個(gè)系統(tǒng)的 deep sleep 電流就是芯片的 5uA 加上外部電路。如果外部電路只有分壓電阻比如兩個(gè) 1M 歐姆串聯(lián)電流 1.65uA總共約 7uA。這樣 2000mAh 電池能用 2000/0.007/24≈11904 天也就是 32 年。當(dāng)然電池自放電會限制實(shí)際壽命但至少不會因?yàn)?LDO 靜態(tài)電流而縮短。所以如果你做電池項(xiàng)目優(yōu)先考慮 3.3V 直供。電源可以用一節(jié)磷酸鐵鋰電池3.2V或者兩節(jié)鎳氫電池2.4V 升壓到 3.3V。磷酸鐵鋰的電壓范圍是 2.5V 到 3.6V直接接 3.3V 腳在 3.0V 以上都能工作。低于 3.0V 時(shí)芯片可能不穩(wěn)定但那時(shí)候電池也快沒電了。6.3 電源切換與電池管理如果設(shè)備既要電池供電又要 USB 調(diào)試可以做一個(gè)簡單的電源切換。用兩個(gè)肖特基二極管 ORingUSB 5V 和電池 3.3V 各經(jīng)過一個(gè)二極管陰極連在一起。但 5V 經(jīng)過二極管變成 4.6V3.3V 經(jīng)過二極管變成 2.9V2.9V 給芯片偏低。所以這種方案不適合 3.3V 電池。更好的方案是用一個(gè) P 溝道 MOSFET 做切換。USB 插入時(shí)MOSFET 關(guān)斷電池USB 拔出時(shí)MOSFET 導(dǎo)通電池。電路稍微復(fù)雜但壓降小。也可以用專用的電源切換芯片比如 TPS2113自動切換兩路電源。對于鋰電池還要考慮過放保護(hù)。鋰電池低于 3.0V 時(shí)繼續(xù)放電會損壞。所以電池和板子之間要加保護(hù)板或者用帶保護(hù)功能的充電芯片。我一般用 TP4056 充電模塊它帶過放保護(hù)輸出直接接 3.3V 腳。但 TP4056 的輸出是電池電壓3.7V 到 4.2V不能直接接 3.3V 腳需要加一個(gè) LDO 降到 3.3V。這樣又引入了 LDO 靜態(tài)電流。所以低功耗場景還是磷酸鐵鋰更合適。7. 供電方案對射頻性能的影響7.1 電源紋波與 WiFi 靈敏度ESP32-C3 的 WiFi 接收靈敏度在 3.3V 供電、紋波 30mV 時(shí)約 -97dBm。如果紋波增加到 100mV靈敏度可能降到 -90dBm連接距離縮短一半。所以電源質(zhì)量直接影響射頻性能。我做過對比測試用 5V 開關(guān)電源加 LDO 供電3.3V 紋波 40mVWiFi 在 10 米外信號強(qiáng)度 -65dBm。換成 3.3V 直供但電源紋波 120mV同樣位置信號強(qiáng)度 -72dBm丟包率明顯上升。所以如果你對 WiFi 距離有要求電源紋波要控制在 50mV 以內(nèi)。7.2 去耦電容的布局與選型板子上 3.3V 腳附近一般有 10uF 和 0.1uF 的電容但那是給芯片局部去耦的。如果外部電源線長還需要在電源入口加電容。我一般會在 5V 腳和 GND 之間并一個(gè) 220uF 電解加一個(gè) 10uF 陶瓷在 3.3V 腳和 GND 之間并一個(gè) 100uF 電解加一個(gè) 0.1uF 陶瓷。電解電容選低 ESR 的陶瓷電容選 X7R 或 X5R 的。布局上電容要盡量靠近板子的電源腳引線越短越好。如果用電解電容注意極性反接會爆。陶瓷電容沒有極性但要注意耐壓選 10V 以上的。7.3 天線與電源的隔離ESP32-C3-Super-Mini 用的是板載 PCB 天線天線區(qū)域在板子的一端。電源線和地線要遠(yuǎn)離天線區(qū)域否則會吸收射頻能量降低輻射效率。我一般把電源線從板子的另一端引入地線盡量寬減少回路阻抗。如果板子裝在金屬外殼里天線要伸出外殼或者用外置天線。金屬外殼會屏蔽射頻信號WiFi 距離會大幅縮短。這時(shí)候電源線也要注意盡量短并且加磁珠抑制高頻噪聲。8. 從 3.3V 到 6V 的完整選型決策樹8.1 按電源電壓快速判斷拿到一個(gè)電源先量電壓。3.0V 到 3.6V直接接 3.3V 腳拔 USB。3.6V 到 5.5V接 5V 腳拔 USB。5.5V 到 7V先降壓到 5V再接 5V 腳。7V 以上用 buck 降到 5V再接 5V 腳。低于 3.0V需要升壓到 3.3V 或 5V。這個(gè)判斷邏輯覆蓋了大多數(shù)場景。唯一需要注意的是電源的電壓是空載還是帶載。有些電源空載電壓高帶載后降到標(biāo)稱值。所以量電壓的時(shí)候最好帶一個(gè)假負(fù)載比如 100 歐姆電阻模擬實(shí)際工作狀態(tài)。8.2 按應(yīng)用場景選擇方案桌面調(diào)試USB 供電最方便不用額外接線。如果要外部供電5V 排針加 1A 電源。電池傳感器3.3V 直供選磷酸鐵鋰電池或兩節(jié)鎳氫加升壓。注意 deep sleep 電流。工業(yè)現(xiàn)場24V 總線取電用 buck 降到 5V再加 LDO 降到 3.3V。加 TVS 管防浪涌加共模電感防干擾。車載12V 取電用 buck 降到 5V。注意負(fù)載突降和冷啟動輸入范圍要寬選 4V 到 40V 輸入的 buck。8.3 電源方案檢查清單接線前量電源電壓、確認(rèn)極性、確認(rèn)電流能力。接線時(shí)先接 GND 再接正極避免火花。上電后量 5V 和 3.3V 腳電壓、摸 LDO 溫度、看串口輸出。跑程序時(shí)觀察電流變化、檢查 WiFi 距離、長時(shí)間運(yùn)行看穩(wěn)定性。這個(gè)清單看起來簡單但每一步都能排除一類問題。我養(yǎng)成習(xí)慣后基本沒有燒過板子。特別是先接 GND 再接正極能避免帶電接線時(shí)的浪涌。9. 個(gè)人實(shí)操體會與后續(xù)擴(kuò)展這塊板子我用了大半年從最簡單的 USB 供電到 6V 電池降壓各種方案都試過。最深的體會是供電方案沒有絕對的好壞只有適不適合。5V 排針最省心但 LDO 發(fā)熱是硬傷3.3V 直供效率高但對外部電源要求高6V 降壓麻煩但手頭只有 6V 電源時(shí)也只能這么辦。如果讓我給新手一個(gè)建議我會說先用 USB 把程序調(diào)通再考慮外部供電。外部供電時(shí)先量電壓再接線接完再量一遍。別嫌麻煩燒一塊板子的時(shí)間夠你量十次電壓了。后續(xù)如果要做產(chǎn)品化供電部分還可以擴(kuò)展。比如加一個(gè)電源監(jiān)控芯片檢測電壓低于閾值時(shí)報(bào)警或者加一個(gè)軟啟動電路避免上電瞬間電流沖擊或者用 PMIC 替代 LDO集成充電和電源路徑管理。這些對于小批量項(xiàng)目可能過度設(shè)計(jì)但對于量產(chǎn)產(chǎn)品是必要的。最后分享一個(gè)小技巧如果你不確定一個(gè)電源能不能用先串一個(gè) 100 歐姆的電阻接上去量電阻兩端的電壓。如果電壓正常說明電源沒大問題如果電壓跌得厲害說明電源帶載能力差。這個(gè)方法能快速篩掉劣質(zhì)電源避免直接接板子燒芯片。