許多 USB 供電的消費電子設(shè)備都內(nèi)置了Qualcomm QC (快速充電)解決方案,可在不同電壓下快速充電,而不是通常的 5.0 V。這使得有機(jī)會在需要更多功率或更高電壓(如 9/12 V)的項目中使用與 QC 兼容的移動電源。
該項目的目的是開發(fā)一種可以破解 QC 協(xié)議的設(shè)備,并允許愛好者、開發(fā)人員、工程師使用他們的移動電源為他們的下一個耗電項目提供更多電壓/功率。以此從任何與 QC 兼容的充電器/移動電源中獲取 5 V和 9、12 V(最大 18 W)的電壓,為耗電項目供電。
上圖顯示了 QC 2.0 兼容電源的 5、9、12 V輸出,為 10 歐姆 5 瓦電阻器供電。
開發(fā) Hack 設(shè)備
整個設(shè)備有兩個有源元件——LM1117 3.3V穩(wěn)壓器和ATtiny85 MCU來控制。所有其他部件是電阻器、按鈕開關(guān)、連接器、跳線、接頭、端子、原型板等。
為了構(gòu)建設(shè)備,首先將組件放置在整齊的布局中,然后進(jìn)行焊接。一些 0 歐姆短鏈路用于互連不同的部分。
有跳線來禁用板載電路和啟用編程。因為,編程線(SPI - MOSI、MISO、SCK)在設(shè)備操作期間也充當(dāng) GPIO。
使用 ISP 對 ATtiny85 進(jìn)行編程
在對 ATtiny85 進(jìn)行編程之前,將其從 IC Base 中取出并放在面包板上。要對 ATtiny85 進(jìn)行編程,通過從文件 》 示例 》 ArduinoISP草圖上傳“ArduinoISP”,將 Arduino UNO 板轉(zhuǎn)換為 ISP 編程器。該草圖在Arduino IDE中可用。
編程 ATtiny85 需要以下步驟:
為 Arduino IDE安裝 ATtiny 支持(感謝David A. Mellis )
使用 Arduino UNO 作為 ISP 為 ATtiny85燒錄引導(dǎo)加載程序
使用 Arduino UNO 作為 ISP 開發(fā)和上傳代碼
以下電路已準(zhǔn)備好對 ATtiny85 進(jìn)行編程:
ISP = in system programmer
或者,可以通過移除其周圍的所有跳線來對 ATtiny85 進(jìn)行編程以保持在設(shè)備上。
設(shè)備操作
要使用該設(shè)備,首先需要將其連接到兼容 QC 的移動電源(或充電器)。默認(rèn)情況下,QC 移動電源的 USB 電壓為 5.0 伏。
上傳代碼后必須連接所有跳線,以便 MCU 可以通過 D+/- 與 QC 源進(jìn)行通信。
LM1117 3.3 V 穩(wěn)壓器將啟動并向 ATtiny85 供電。該 MCU 將開始執(zhí)行代碼。ATtiny85 的 4 個 I/O 引腳連接到將用作輸出高電平和低電平的分壓電阻器。另一個 I/O 引腳連接到將初始化為輸入上拉的開關(guān)。此開關(guān)采用用戶輸入來更改 QC 源的電壓。
現(xiàn)在,在詳細(xì)介紹之前,重要的是要知道輸出將如何變化。每種 USB(USB A、B、C、1.1、2.0、3.0+)至少有 4 條通用線/線:
VBUS (默認(rèn)Vcc +5V)
D +
D -
地面
在普通充電器/移動電源中,VBUS 是固定的,因為功率傳輸受電流限制,500 mA、1 A、2 A 分別產(chǎn)生 2.5 瓦、5 瓦和 10 瓦。
但在 QC 電源設(shè)備中,有一個內(nèi)部升壓轉(zhuǎn)換器,可以根據(jù)受電設(shè)備 (PD) 的要求提升電壓!??!
QC 2.0(也稱為 3.0)利用 USB 的 D+ 和 D- 與 PD 通信。PD 在 D+ 和 D- 上發(fā)送電壓信號,QC 充電器將通過改變 VBUS 電壓相應(yīng)地供電。根據(jù)這個CHY 數(shù)據(jù)表,這里有一個表格,解釋了來自 PD 的 D+/D- 上的什么信號對將使 QC 提供什么電壓輸出:
當(dāng) D+ 和 D- 上的電壓與該表第 4 行的值相同并保持至少 1.25 秒時,QC 2.0 支持啟動。如果 D+ 變?yōu)?0.0 伏(實際上低于 0.325 伏),QC 支持將停止,輸出將為 5.0 伏。通過根據(jù)該表設(shè)置電壓,可以改變 VBUS 上的輸出。
在這里,ATtiny85 的 4 路輸出連接到 2 個分壓器網(wǎng)絡(luò),該網(wǎng)絡(luò)由兩個 10k 和兩個 2.2k 電阻器組成,用于為 D+/D- 線生成這些電壓信號。
例如,要在 D+ 上產(chǎn)生 3.3 V 電壓,連接到兩個 ATtiny85 輸出引腳 PB3 和 PB4 的頂部和底部電阻器都將通過代碼設(shè)置為高電平。
同樣,要在 D- 上產(chǎn)生 0.6 V,連接到其他兩個 ATtiny85 輸出引腳(PB1 和 PB3)的頂部和底部電阻器將分別設(shè)為高電平和低電平。
這樣 QC 2.0 充電器/移動電源接收電壓變化請求并相應(yīng)地變化。Push Switch 配置為輸入 PULLUP,當(dāng)未按下時,MCU 將其讀取為高電平,并且代碼執(zhí)行保持在 while 循環(huán)中,防止設(shè)置電壓發(fā)生任何變化。當(dāng)用戶按下 Push Switch 時,while 循環(huán)斷開并設(shè)置下一個電壓。再一次,代碼執(zhí)行進(jìn)入下一個 while 循環(huán)以保持當(dāng)前 VBUS 電壓。
有一個 LED 可以發(fā)出昏暗 (5V)、微弱 (9V) 和明亮 (12V) 的光,為用戶提供輸出電壓的可視化表示。
可能使用的應(yīng)用
驅(qū)動 12V LED 燈條
驅(qū)動 12V 繼電器、電機(jī)等
使用 LM317 或 LM2596 獲得 1.25 至 10 伏之間的任何電壓
9V紅外遙控驅(qū)動
機(jī)器人汽車電源
筆記本電腦充電 20V
任何高達(dá) 18 瓦的系統(tǒng),例如用于 IoT 應(yīng)用的 WiFI、LTE、S2E 設(shè)備
遠(yuǎn)程系統(tǒng)的備用電源
大多數(shù) LCD、LED 顯示器、打印機(jī)、掃描儀
低功耗便攜式電腦
支持其他 QC 類
由于 QC 2.0 Class B、QC 3.0 和 QC 4.0 向后兼容 QC 2.0 Class A,因此該設(shè)備可能適用于所有最新的充電器和移動電源。但電壓選項將是 5.0、9.0 和 12.0 伏。如果需要其他輸出電壓,請閱讀CHY 100、101、103 數(shù)據(jù)表并相應(yīng)地修改代碼。
警告!
必須使用具有短路保護(hù)的高質(zhì)量QC移動電源或充電器,外部負(fù)載不得超過18瓦。這可以通過檢查負(fù)載設(shè)備上的額定功率標(biāo)簽來確保。
必須避免輸出 20 伏,因為 1117 3v3 穩(wěn)壓器可以處理最大 15 伏,這應(yīng)該從MCU 代碼中避免,方法是永遠(yuǎn)不允許 D+ 和 D- 線同時具有 3.3 伏。
如果需要20 伏輸出(受QC 2.0 B 類和 QC 3.0、QC 4.0支持),則必須使用能夠處理超過 20 伏的電壓調(diào)節(jié)器(LM317 配置為 3.3 V)。否則Regulator 和 MCU 都將被銷毀!?。?!
注意輸出電壓的極性, +ve 用紅色表示,-ve用輸出端子旁邊的藍(lán)色細(xì)線表示。
必須避免USB公母耦合處的松散連接,否則會因接觸電阻而產(chǎn)生熱量并降低電源效率。
在 ISP 編程期間,必須移除所有跳線以將 MOSI、MISO、SCK、VCC、GND、RESET 引腳與電路板上的其余電路隔離,以避免干擾編程。
在沒有清楚了解QC充電協(xié)議的情況下不得進(jìn)行代碼修改,此設(shè)計主要用于QC 2.0(A類)電源,但可部分用于更高的QC標(biāo)準(zhǔn)
Hack可能不適用于某些QC充電器/移動電源
GPIO 切換必須以正確的順序完成,以避免終止高壓模式
注意:如果以上幾點沒有實現(xiàn),建議不要復(fù)制此項目,否則可能會發(fā)生火災(zāi)危險或設(shè)備丟失的風(fēng)險!
-
usb
+關(guān)注
關(guān)注
60文章
7879瀏覽量
263729 -
快速充電
+關(guān)注
關(guān)注
13文章
276瀏覽量
50229 -
移動電源
+關(guān)注
關(guān)注
48文章
1372瀏覽量
75402
發(fā)布評論請先 登錄
相關(guān)推薦
評論