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