創(chuàng)建一個(gè)面包板電源解決方案:將任何USB-PD充電器轉(zhuǎn)換為精密電源
在做電子實(shí)驗(yàn)時(shí),如何給面包板供電?大多數(shù)人使用電池、電源適配器或穩(wěn)壓電源,但每種都有明顯的缺點(diǎn)。電池是一次性的,而且隨著時(shí)間的推移會(huì)變得昂貴。電源適配器提供固定電壓,沒有調(diào)節(jié)能力。穩(wěn)壓電源體積龐大,不適合便攜式工作。
我想創(chuàng)建一個(gè)更方便的面包板電源解決方案,可以很容易地在任何地方使用。如今,USB已經(jīng)發(fā)展到支持USB Power Delivery (PD)規(guī)范,可實(shí)現(xiàn)高達(dá)100W的功率輸出。此外,支持?jǐn)U展功率范圍(EPR)的USB-PD充電器可以提供高達(dá)48V/240W的電壓。USB-PD充電器非常緊湊,價(jià)格實(shí)惠,并且廣泛使用。我認(rèn)為使用這些USB-PD充電器創(chuàng)建面包板電源將是簡單方便的。
視覺上
用于面包板的直流電源單元的設(shè)想是創(chuàng)建一個(gè)緊湊,智能的配電系統(tǒng),可以:
?彌合USB-PD源和面包板開發(fā)需求之間的差距
?提供從0V到30V*1的精確電壓控制,分辨率為10mV
?當(dāng)電源支持時(shí),提供高達(dá)5A的高電流能力
?提供實(shí)時(shí)監(jiān)控和數(shù)據(jù)記錄功能
?通過全面的保護(hù)系統(tǒng)維護(hù)安全
?通過現(xiàn)代物聯(lián)網(wǎng)連接實(shí)現(xiàn)遠(yuǎn)程監(jiān)控
*1需要一個(gè)30V epr兼容的USB-PD充電器。
它是如何工作的
硬件基礎(chǔ)
ESP32 - s3 - room -1- n16r8:系統(tǒng)的智能心臟,提供:
?WiFi連接遠(yuǎn)程監(jiān)控和控制
?強(qiáng)大的實(shí)時(shí)PID控制處理能力
?豐富的外設(shè)支持傳感器和顯示器
?低功耗,高效運(yùn)行
AP33772S USB-PD控制器:電源協(xié)商專家:
?使用PD協(xié)議與USB-PD源通信
?支持標(biāo)準(zhǔn)功率范圍(SPR)和擴(kuò)展功率范圍(EPR)
?從連接的源中枚舉可用的電源數(shù)據(jù)對(duì)象(pdo)
?提供全面的保護(hù)功能(UVP, OVP, OCP)
?使精確的電壓和電流要求
INA228電流傳感器:精密測(cè)量引擎提供:
?分辨率為195μV的高分辨率電流和電壓監(jiān)測(cè)
?基于分流的電流測(cè)量精度
?溫度補(bǔ)償漂移校正
?實(shí)時(shí)功率計(jì)算能力
SSD1331彩色OLED:用戶界面提供:
?實(shí)時(shí)顯示電壓、電流、功率、溫度
?WiFi連接狀態(tài)和電池電量指示燈
?錯(cuò)誤信息和系統(tǒng)狀態(tài)
?直觀的用戶交互視覺反饋
MOSFET功率控制:有效地管理功率交付:
觸控界面創(chuàng)新
電容式觸摸界面提供直觀的控制:
?上/下觸摸:100mV步進(jìn)調(diào)節(jié)電壓(長按1V步進(jìn))
?左/右觸摸:10mV級(jí)微調(diào)電壓
?中控:輸出啟用/禁用(長按)和錯(cuò)誤信息清除(短按)
?校準(zhǔn):上+下組合自動(dòng)偏移校準(zhǔn)
雙輸出靈活性
系統(tǒng)支持兩種輸出配置:
?單正輸出:帶接地基準(zhǔn)的標(biāo)準(zhǔn)正電壓輸出
?雙正/負(fù)輸出:分裂電壓配置提供±V/2從單一設(shè)置
**注:如果使用21V及以上電壓,輸入電壓28v及以上,差分電壓超過3V,輸出電流超過3A,則MOSFET器件處于高耗狀態(tài),單位溫度可能上升到80攝氏度以上。請(qǐng)注意溫度。您可以在配置文件中設(shè)置最高溫度。默認(rèn)值是80攝氏度。如果溫度超過限制,將自動(dòng)關(guān)閉輸出。我建議在21V或更高的電壓下使用小于0.7A的電流。否則,如果將輸出電壓設(shè)置為27V或更高,則溫升不是問題
**注:本機(jī)使用微控制器和USB PD控制器。這些控制器需要電源才能運(yùn)行。因此,如果使用過電流,可能會(huì)被PD充電器的過電流保護(hù)關(guān)閉電源。在這種情況下,該機(jī)組不能運(yùn)行,將被關(guān)閉。請(qǐng)使用您的PD充電器規(guī)格內(nèi)的電流**
軟件架構(gòu)
軟件組件是使用ESP-IDF框架在Rust中開發(fā)的,利用其在嵌入式系統(tǒng)中的優(yōu)勢(shì):
先進(jìn)控制系統(tǒng)
PID控制器:通過以下方式保持精確的輸出電壓:
?比例控制,即時(shí)響應(yīng)
?積分控制穩(wěn)態(tài)精度
?導(dǎo)數(shù)控制的穩(wěn)定性和超調(diào)預(yù)防
?電壓超調(diào)檢測(cè)自動(dòng)復(fù)位(>設(shè)定點(diǎn)110%)
PDO-Aware限制:系統(tǒng)智能:
?從連接的源枚舉可用的pdo
?在配置和PDO功能之間應(yīng)用最嚴(yán)格的限制
?防止超過電源能力,同時(shí)最大限度地提高可用功率
NVS內(nèi)存管理:持久存儲(chǔ)能力;
?保存最后使用的電壓設(shè)置,方便
?存儲(chǔ)校準(zhǔn)數(shù)據(jù)的準(zhǔn)確性跨電源周期
?在非易失性存儲(chǔ)中維護(hù)配置參數(shù)
數(shù)據(jù)管道
當(dāng)?shù)氐那閳?bào)
系統(tǒng)連續(xù):
?采樣電壓和電流在10ms的間隔響應(yīng)控制
?實(shí)時(shí)計(jì)算功耗
?監(jiān)測(cè)溫度熱保護(hù)
?在網(wǎng)絡(luò)中斷期間管理緩沖區(qū)存儲(chǔ)
網(wǎng)絡(luò)連接
WiFi可用時(shí):
?將測(cè)量數(shù)據(jù)傳輸?shù)絀nfluxDB時(shí)間序列數(shù)據(jù)庫
?通過web儀表板提供遠(yuǎn)程監(jiān)控功能
?支持歷史分析和趨勢(shì)監(jiān)控
?支持大型安裝的多設(shè)備監(jiān)控
智能緩沖區(qū)管理
網(wǎng)絡(luò)中斷時(shí):
?自動(dòng)存儲(chǔ)測(cè)量在本地內(nèi)存
?提供緩沖區(qū)使用情況的可視化反饋
?當(dāng)連接恢復(fù)時(shí)自動(dòng)恢復(fù)日志記錄
?防止間歇性連接過程中數(shù)據(jù)丟失
安全和保護(hù)系統(tǒng)
多層保護(hù)
硬件保護(hù):AP33772S內(nèi)置UVP, OVP, OCP
?軟件監(jiān)測(cè):連續(xù)溫度和電流監(jiān)測(cè)
?用戶可配置限制:最大電流,功率和溫度設(shè)置
?PDO遵從性**:對(duì)源功能的自動(dòng)限制
?緊急關(guān)機(jī):在故障情況下立即關(guān)閉輸出
溫度管理
?實(shí)時(shí)監(jiān)控:連續(xù)溫度傳感,分辨率0.05°C
?可配置限制:用戶可設(shè)置的最高溫度閾值(默認(rèn)80°C)
?自動(dòng)保護(hù):當(dāng)溫度超過限制時(shí),輸出關(guān)閉
?視覺反饋:溫度顯示和警告信息
原理圖
原理圖是使用Kicad創(chuàng)建的。“Sheet1”至“Sheet5”為主板和適配器板的原理圖。
Sheet1: USB PD控制器和電源調(diào)節(jié)器電路
AP33772S USB-PD控制器用于USB PD通信和電源協(xié)商。該控制器通過I2C接口與帶有電壓電平移位器的ESP32微控制器連接。
Sheet2: ESP32微控制器和SSD1331 OLED顯示電路
SSD1331彩色OLED顯示屏通過SPI接口與ESP32微控制器相連。GPIO(IO1, IO2, IO3, IO4, IO5)用于觸摸接口。只需將IO1和IO5連接到觸摸板。
Sheet3:電源路徑管理,電流傳感器和溫度傳感器電路
INA228電流傳感器用于測(cè)量電流和電壓。并聯(lián)電阻(5mΩ)接在INA228上。ESP32控制器具有用于MOSFET柵極驅(qū)動(dòng)器的PWM輸出。PWM信號(hào)連接到LPF(低通濾波器)和OPAmp(運(yùn)算放大器)電路進(jìn)行電壓控制。OpAmp用于電壓跟隨器驅(qū)動(dòng)MOSFET柵極。第一個(gè)運(yùn)放的增益為11,第二個(gè)運(yùn)放的增益為1.1。輸出電壓由PWM占空比控制。溫度傳感器(LM35)用于溫度測(cè)量。溫度傳感器的輸出連接到OpAmp(增益=2),然后連接到ESP32的ADC。輸出電壓反饋到OpAmp和INA228進(jìn)行電壓和電流測(cè)量。
Sheet4:單電壓輸出配置的適配器電路
Sheet5:雙電壓(正負(fù))輸出配置的適配器電路
輸出電壓由分壓器電路分成兩部分。輸出電壓為±V/2。
pcb設(shè)計(jì)
我用Kicad設(shè)計(jì)了一個(gè)定制的pcb。
主PCB由esp32 - s3 - room -1- n16r8模塊、AP33772S USB-PD控制器、INA228電流傳感器、SSD1331彩色OLED顯示屏、MOSFET功率控制電路等組成。主PCB有一個(gè)用于適配器板的連接器和一個(gè)用于USB-PD輸入的USB-C連接器。
適配器PCB有輸出連接器和電源路徑管理電路。適配器板有兩種類型。一個(gè)用于單電壓輸出配置,另一個(gè)用于雙電壓(正負(fù))輸出配置。您可以根據(jù)您的應(yīng)用選擇適配器板。主PCB和適配器PCB通過一個(gè)12針連接器連接。
單電壓輸出配置的適配器PCB
雙電壓(正、負(fù))輸出配置的適配器PCB
如何訂購PCB
設(shè)計(jì)完成后,我訂購了PCBWay來制造我的電路板。訂購板子很容易。點(diǎn)擊“Add Gerber File”按鈕,即可上傳Gerber文件。然后,可以選擇阻焊顏色。我選擇了啞光黑色,我喜歡這個(gè)。這塊板子只用了幾天就制造出來了。我對(duì)董事會(huì)很滿意。我認(rèn)為PCBWay的板卡價(jià)格是非常合理的。
PCBWay對(duì)所有訂單都有特別的折扣活動(dòng)。有兩種類型的活動(dòng)。一款是Purple Solder Mask: Purple的起價(jià)是38.43美元,10月份漲到了5美元。另一種是用于3D打印的TPU,這種材料從12.45美元起,但它將永遠(yuǎn)從7.96美元起。重量越重,折扣越大,現(xiàn)在最高可打4折。(更新10/16/2025)
組裝后,電路板是這樣的。散熱片使用導(dǎo)熱膠帶附著在mosfet的背面。
如何從代碼構(gòu)建并安裝到單元。
使用Ubuntu 22.04.3 LTS和ESP-IDF V5.4.2
先決條件
在繼續(xù)安裝之前,請(qǐng)確保您的系統(tǒng)符合以下要求:
?操作系統(tǒng):基于linux的發(fā)行版
?所需軟件包:git、python3、python3-pip、gcc、build-essential、curl、pkg-config、libudev-dev、libtinfo5、clang、libclang-dev、llvm-dev、udev、libssl-dev、python3.10-venv
安裝步驟
1. 系統(tǒng)更新和軟件包安裝
使用以下命令更新系統(tǒng)并安裝必要的軟件包:
2. 生銹的安裝
安裝Rust編程語言和Cargo包管理器:
安裝后,通過查找環(huán)境激活Rust:
3. 其他工具安裝
安裝以下Rust工具:
?ldproxy
?espup
?cargo-espflash
使用以下命令:
此時(shí)(2025-07-25),espup無法編譯。如果出現(xiàn)錯(cuò)誤,請(qǐng)使用以下命令安裝工具鏈。
4. ESP環(huán)境設(shè)置
運(yùn)行如下命令安裝和更新expressif Rust生態(tài)系統(tǒng):
設(shè)置環(huán)境變量:
5. Udev規(guī)則配置
配置設(shè)備權(quán)限的udev規(guī)則:
6. 克隆存儲(chǔ)庫
克隆直流電源單元存儲(chǔ)庫:
7. 設(shè)置WiFi SSID、密碼等。
修改如下配置文件:‘ cfg.toml ’
您必須在您的ORG中設(shè)置以下參數(shù):WiFi SSID,密碼,InfluxDB服務(wù)器IP地址,InfluxDB API密鑰和InfluxDB API。
您可以從InfluxDB Web控制臺(tái)獲取API Key。請(qǐng)參閱“如何安裝InfluxDB和配置儀表板”第3節(jié)。
8. 構(gòu)建和Flash
構(gòu)建項(xiàng)目:
9. 刷新固件
使用USB線將直流電源單元連接到PC。然后,刷新固件:
如果您的設(shè)備未被檢測(cè)到,請(qǐng)打開設(shè)備電源并在啟動(dòng)過程中按“boot”按鈕。
然后重新執(zhí)行flash命令。
10. 監(jiān)控輸出
閃爍固件后,控制臺(tái)顯示引導(dǎo)消息和系統(tǒng)初始化,包括:
?WiFi連接狀態(tài)
?AP33772S USB-PD控制器初始化
?可用PDO (Power Data Object)檢測(cè)
?觸摸界面激活
?OLED顯示器初始化
如何安裝influxDB和配置Dashboard
1. 下載influxDB并安裝。
2. 配置influxDB
點(diǎn)擊“開始”,設(shè)置“用戶名”、“密碼”、“初始組織名”和“初始桶名”。
設(shè)置完成后,點(diǎn)擊“CONTINUE”。
3. 復(fù)制操作符API令牌。
您可以在瀏覽器上看到操作符API令牌。你不會(huì)再看到它了!
如果您想獲得新的API令牌,請(qǐng)單擊“API令牌”菜單中的“源”圖標(biāo),然后單擊“生成API令牌”并選擇“所有訪問令牌”,單擊“保存”。
您可以看到一個(gè)新的API令牌并獲取它。
復(fù)制令牌后,單擊“CONFIGURE LATER”。
4. 導(dǎo)入Dashboard模板。
點(diǎn)擊“Dashboard”圖標(biāo),從“CREATE Dashboard”菜單中選擇“Import Dashboard”。
刪除“influxdb/dc_power_station”。到“Drop a file here”,然后點(diǎn)擊“IMPORT json AS DASHBOARD”。
您可以在儀表板頁面上看到“直流電站”面板。
單擊這個(gè)面板,您可以看到儀表板。
如果要自定義儀表板設(shè)計(jì),請(qǐng)單擊configure mark。您可以更改圖形設(shè)計(jì)。
結(jié)論
用于面包板的直流電源單元將為您的電子項(xiàng)目提供緊湊,智能和靈活的電源解決方案。USB-PD充電器無處不在,價(jià)格實(shí)惠,并且能夠以小的外形提供高功率。該單元可以提供精確的電壓控制,實(shí)時(shí)監(jiān)控和強(qiáng)大的安全功能,所有這些都可以通過WiFi遠(yuǎn)程訪問。
本文編譯自hackster.io





