作者: Offer 時間: 2021-8-2 21:57 標題: 當氮化鎵變壓器遇上PD Micro開發板
本帖最後由 Offer 於 2021-8-19 16:24 編輯
當氮化鎵變壓器遇上PD Micro 開發板會發生什麼事呢?就是氮化鎵變壓器會乖乖地看著PD Micro想要什麼電壓輸出便聽話地遵從。
PD Micro 應該是第一款具有 USB Type-C 供電功能的 Arduino 兼容板,它允許您的Project使用 5-20 V 的電壓。如果您的控制板僅輸出 3.3 或 5 V - 例如涉及電機控製或大功率 LED 的那些。 可以使用github的library 通過 Arduino 控制輸出PD電壓,還有它也能支援PPS輸出由3.3-20V電壓。 而且都是開源的。 https://www.crowdsupply.com/ryan-ma/pd-micro
https://youtu.be/fO4SUYZ1tlo
[youtube]fO4SUYZ1tlo[/youtube]
https://www.hkepc.com/forum/viewthread.php?fid=67&tid=2632213
我很久沒搞團購了,出了個團購,請多多支持
作者: Offer 時間: 2021-8-2 22:03
本帖最後由 Offer 於 2021-8-31 22:35 編輯
[attach]2275915[/attach]
[attach]2275916[/attach]
[attach]2280639[/attach]
[attach]2280640[/attach]
作者: hon829 時間: 2021-8-2 22:45
好似淘網上的誘騙器+Arduino Micro板實惠啲
作者: Offer 時間: 2021-8-2 23:44
本帖最後由 Offer 於 2021-8-2 23:48 編輯
[attach]2275953[/attach]
下一個想做的就是PPS PD測試器,只要插上Type C變壓器就在i2c的oled显示屏上显示這火牛能支持的標準,這個應該很好玩
[attach]2275953[/attach]
作者: Joe_Black 時間: 2021-8-2 23:52
提示: 作者被禁止或刪除 內容自動屏蔽
作者: Offer 時間: 2021-8-3 06:36
本帖最後由 Offer 於 2021-8-3 06:55 編輯
眾籌網站 食水好深 加埋美國入口關稅 都幾係野
作者: Joe_Black 時間: 2021-8-3 07:56
提示: 作者被禁止或刪除 內容自動屏蔽
作者: Offer 時間: 2021-8-3 09:31
我有佢電話,你想直接同佢買?
作者: Offer 時間: 2021-8-3 11:22
有乜好介紹?
作者: Joe_Black 時間: 2021-8-3 11:40
提示: 作者被禁止或刪除 內容自動屏蔽
作者: Offer 時間: 2021-8-3 13:09
回覆
可能其他人有興趣
10# Joe_Black
好應該支持香港人開發的project, 已很少人咁有心搞開源項目了
作者: hon829 時間: 2021-8-3 13:40
冇
只見淘網多的是都幾眼花繚亂, 由幾蚊到幾百蚊!
作者: Offer 時間: 2021-8-3 15:25
好多係固定電壓,就算貴少少可轉的也要接電腦去改,如果火牛吾支援的電壓就向下一級比你就算,要用表度過先至知吾啱
作者: 燕飛 時間: 2021-8-4 01:11
Ryan 咁熟既?!


作者: Offer 時間: 2021-8-4 06:48
?% 熟既
https://www.openrice.com/zh/hong ... B2%99%E5%BE%8B-r574
作者: Offer 時間: 2021-8-4 13:16
各位有冇想到PD Micro仲可以做什麼好玩的project呢?
作者: royc 時間: 2021-8-4 13:39
本帖最後由 royc 於 2021-8-4 13:41 編輯
有興趣, 但28+ 18 = 46 USD 有啲貴, 雖然係4層板
via HKEPC IR Pro 3.6.1 - iOS(3.0.0)
作者: Offer 時間: 2021-8-4 16:16
係,片中我已經講左係貴,因為運費及佢地食水太深,而家睇下佢地的條款看看開發者可否自行零售或团购,如果可以港澳朋友應該省下不少
作者: hon829 時間: 2021-8-4 18:17
其實無咩嘢要用用吓變壓輸入
傳統做控制已習慣做恆壓供電, 經PWM/晶體管控電流類應用了
作者: marlin12 時間: 2021-8-4 19:08
如果將來的消費類電子產品,USB PD供電器變成主流,而產品又需要5V以外或大電流的供電,那麽就需要有PD sink的控制器。
如果微控器上面已經有這個功能,便不需要另加這個控制器,在減省成本上絶對是個優勢。
其實,在多數的電子產品上(例如:music station、printer、smart watch),微控器都是在多工的環境下工作的,多加一個PD協定也很平常,況且debug也只是工程師的煩惱。
作者: Offer 時間: 2021-8-5 06:37
沒錯,在產品開發上方便得多了
作者: t9097 時間: 2021-8-5 12:14
提示: 作者被禁止或刪除 內容自動屏蔽
作者: 炎冬 時間: 2021-8-5 14:51
應該是產品支援道高, 才可以普及PD充電器
新型號notebook / 手機食 20/45/65/100W PD, 所以才買一支PD充, 可以用晒其他device..唔洗用幾款牛...
作者: Offer 時間: 2021-8-5 17:11
Change_Voltage_Without_IDE.ino
- #include "src/PD_UFP.h"
- #include <EEPROM.h>
- class PD_UFP_log_c PD_UFP;
- char pd_out[] = {5, 9, 12, 15, 20};
- int address = 0;
- unsigned char value = 0 ;
- const int buttonPin = 9; // the IO number of setup pin
- int buttonState = 0;
- /*
- PD_POWER_OPTION_MAX_5V = 0,
- PD_POWER_OPTION_MAX_9V = 1,
- PD_POWER_OPTION_MAX_12V = 2,
- PD_POWER_OPTION_MAX_15V = 3,
- PD_POWER_OPTION_MAX_20V = 4,
- */
- void setup() {
- pinMode(buttonPin, INPUT_PULLUP);
- value = EEPROM.read(address);
- Serial1.begin(115200); // Serial1 is hardware serial on Pin D0 and D1
- buttonState = digitalRead(buttonPin);
- if (buttonState == LOW) {
- value++;
- if (value > 4) {
- value = 0;
- }
- }
- PD_UFP.init(value);
- EEPROM.update(address, value);
- }
- void loop() {
- PD_UFP.run();
- PD_UFP.print_status(Serial1);
- if (PD_UFP.is_power_ready()) {
- if (PD_UFP.get_voltage() == PD_V(pd_out[value]) && PD_UFP.get_current() >= PD_A(1.0)) {
- PD_UFP.set_output(1);
- PD_UFP.set_led(1);
- } else {
- PD_UFP.set_output(0);
- PD_UFP.blink_led(400);
- }
- }
- }
作者: marlin12 時間: 2021-8-5 22:52
本帖最後由 marlin12 於 2021-8-6 12:50 編輯
為了可以在Arduino Micro開發板的有限資源上,實現PD Micro這個項目,作者仔細研究了USB PD spec、FUSB302(PD PHY layer) 和多個現有的程式庫,重新寫出一個壓縮版的PD firmware library。
看Offer哥運用這個程式庫的範例,好似好簡單,其實是這個程式庫在背後隱藏(encapsulate)了很多步驟。
USB Power Delivery是一個很複雜的協定(745頁),要把它實現成一個易用的程式庫,可見作者的功力和汗水。
如果想了解多些這個項目,可以看看這裡。
PD Micro - USB-C PD3.0 PPS Trigger
作者: Offer 時間: 2021-8-6 07:01
為了可以在Arduino Micro開發板的有限資源上,實現PD Micro這個項目,作者仔細研究了USB PD spec(745頁)、F ...
marlin12 發表於 2021-8-5 22:52
沒錯,USB Power Delivery是一個很複雜的協定,而作者在背後已經幫了使用者處理好,因而只須一句指令便可以輕鬆運用,這也是我看中這個開發板的原因
作者: Offer 時間: 2021-8-7 16:31
睇完 眾籌網站條款 開發者出咗貨之後 佢應該可以自行安排零售
作者: Offer 時間: 2021-8-12 08:43
https://www.hkepc.com/forum/viewthread.php?fid=95&tid=2631255
出了個團購資詢
作者: hon829 時間: 2021-8-12 22:40
如果純為PD誘騙電壓/電流, 好似用專用芯片較為簡單直接
如HUSB238, 淘模塊都是幾蚊人仔件, 同時支援MCU經I2C及實體引腳電阻值定PD輸出的電壓與電流:


作者: t9097 時間: 2021-8-12 23:15
提示: 作者被禁止或刪除 內容自動屏蔽
作者: Offer 時間: 2021-8-12 23:56
是可以的,當不想用pwm時也是一個很好的選擇,PPS更可控制电壓由3.3至20V,每步20mV
作者: t9097 時間: 2021-8-13 02:09
提示: 作者被禁止或刪除 內容自動屏蔽
作者: Offer 時間: 2021-8-13 06:52
我戶外用 辣雞就係用PD攞電
作者: t9097 時間: 2021-8-13 08:26
提示: 作者被禁止或刪除 內容自動屏蔽
作者: Offer 時間: 2021-8-13 11:04
要求不高还可以,但想 穩定都係用返ADC 及PWM好D
作者: Offer 時間: 2021-8-19 16:26
本帖最後由 Offer 於 2021-8-19 17:15 編輯
https://www.hkepc.com/forum/viewthread.php?fid=67&tid=2632213
我很久沒搞團購了,出了個團購,請多多支持,初步可以拿到三十個
[attach]2278507[/attach]
[attach]2278508[/attach]
作者: Offer 時間: 2021-8-22 13:46
增加生產 滿足需求
[attach]2278927[/attach]
[attach]2278928[/attach]
作者: stephenwong 時間: 2021-8-28 12:05
本帖最後由 stephenwong 於 2021-8-28 12:12 編輯
尋日攞咗塊 PD Micro 啦。今日訓醒,就焊下啲針腳啦。如下圖:
[attach]2279983[/attach]
插落部電腦,見到近輸出電源個邊有兩粒 LED (5V <1A) 眨眨下,另外 Reset 撳掣對面個粒 LED 都閃嘅。
插入隻 PD 充電器,有一個 port (佢話最勁,可以充 MacBook 嘅),塊板的確着咗 20V >3A LED。插其他 port,就眨下眨下 12V <3A。
小小意見,啲 SMD 零件太接近針腳啦!對於我呢啲手震震廢老,焊針腳真係有啲難度呀!係驚解焊咗粒 SMD 零件呀!又條 rosin core 錫線,落錫後,總會有啲小珠珠錫球彈出嚟,好驚 short 到其他嘢呀!
時代進步咗,SMD 零件越來越細,可能我真係應該被淘汰啦!(或者,只可以上嚟 HKEPC FF 下!)
作者: Offer 時間: 2021-8-28 14:34
前輩,我也有老花不過 2.54mm勉強仲焊到, 其實飛淺出嚟嘅未必會係錫, 多數都係助焊劑, 可以試下把辣雞嘅溫度降低一點或者用幼一點的錫丝也會有幫助
作者: marlin12 時間: 2021-8-28 16:27
回覆 38# stephenwong
如果唔想銲嘴或者彈出來啲鍚,碰到其他零件,可以用[寶貼萬用膠]遮住果啲零件。
其實,[寶貼萬用膠]仲可以用來固定要銲既零件。
紅色圏住果支針腳,好似係[假銲]。
[attach]2280020[/attach]
建議你去五金舖買支[天拿水],銲完之後洗吓板,之後用紙巾抺乾淨。
現在的SMD零件(例如:0.5mm pitch DFN),根本唔係畀人銲,就算係專業維修人員,都要有顯微鏡和其他工具。
作者: Offer 時間: 2021-8-28 17:57
我上次焊0.5 pitch ram 也要显微镜
作者: idolclub 時間: 2021-8-28 22:55
現在用顯微鏡已經好普遍,尤其係維修電話的,個個都要用顯微鏡
作者: Offer 時間: 2021-8-29 00:41
呢個PD Micro開發板已經接近電話的PCB那麼細密 很難用手工焊接
作者: royc 時間: 2021-8-31 12:18
本帖最後由 royc 於 2021-8-31 12:20 編輯
昨天收到板, 急不及待試一下... 裝好library, 但係編譯有錯誤, 唔知你哋有冇同樣發生?
還是我部機有問題
但係佢裏面的example complie 冇問題, 只係個 "Change_Voltage_Without_IDE.ino" complie error
睇唔明佢講咩 error
[attach]2280506[/attach]
作者: royc 時間: 2021-8-31 14:09
終於成功 complie, 原來問題係個character editor, copy & paste 可能有些古怪字
如果直接從個貼copy and paste code 請小心
reference
https://forum.arduino.cc/t/error-stray-302/393921
作者: Offer 時間: 2021-8-31 15:23
終於成功 complie, 原來問題係個character editor, copy & paste 可能有些古怪字
如果直接從個貼copy and ...
royc 發表於 2021-8-31 14:09
係,你應該copy左些非ASCII字元,這些看不到的非ASCII字元是你從網頁抄出來時送左比你而不自知
作者: royc 時間: 2021-8-31 17:34
玩完一輪終於可以complie, 但係 code 漏咗一個 #include <wire.h> , 如果唔係initial 唔到出唔到電
加返兩行就可以啦
#include <Wire.h>
void setup() {
Wire.begin();
...
}
[attach]2280576[/attach]
作者: Offer 時間: 2021-8-31 22:36
Fixed
https://www.hkepc.com/forum/atta ... GRVdWxleWttQQ%3D%3D
作者: normalyan 時間: 2021-9-1 13:10
我見到佢有三個Vout, 可唔可以同時三個output都同時出电?
作者: Joe_Black 時間: 2021-9-1 13:54
提示: 作者被禁止或刪除 內容自動屏蔽
作者: hon829 時間: 2021-9-1 20:52
本帖最後由 hon829 於 2021-9-1 20:54 編輯
取貨後, 終摸索了吓
玩了兩範例:
1. 誘騙出12V : (發覺輸出幾個固定電壓是屬於PD2.0的)
[attach]2280873[/attach]
[attach]2280874[/attach]
2. 誘騙出8.4V 2A 是屬於PD3.0的:
[attach]2280875[/attach]
[attach]2280876[/attach]
另發現兩個問題
1) 用Win7 的Auduino IDE不能下載程序到板上, 用Win10即沒問題, 似COM port通訊問題:
[attach]2280872[/attach]
2) 函數 PD_UFP.run(); 必須頻密執行, 否則影響PD通訊, 阻礙誘騙:
[attach]2280877[/attach]
初步感覺MCU不能執行太多別的東西, 有delay/hang都影響誘騙電壓輸出的
作者: peter95811658 時間: 2021-9-2 04:10
本帖最後由 peter95811658 於 2021-9-2 04:13 編輯
可以試下用timer interrupt去call個run(); function, 就唔怕loop行delay就搞到行唔到
不過用ATMEGA32U4得16M係禁上下,盡量用timer做野,唔好用delay浪費左MCU資源
作者: Offer 時間: 2021-9-2 07:47
本帖最後由 Offer 於 2021-9-2 09:36 編輯
沒錯,因為這是PD Host的特性
.
作者: marlin12 時間: 2021-9-2 20:41
本帖最後由 marlin12 於 2021-9-9 21:17 編輯
回覆 51# hon829
PD_UFP.run()是PD Micro的核心,與其說它是頻密執行,不如說它是一個server,負責處理一切PD通訊和PD sink的工作。
相信你是想用delay,去測試PD Micro剩餘的processing power。但是微控器的多工環境,不是這樣運作的。
通常,每個functional module(例如:PD、UI)會把time critical的部份(例如:處理FUSB302 PHY layer),安排在interrupt裏執行,並且會有priority。而非time critical的部份,才會安排在main loop裏執行。而且,module和module之間,會有semaphore去告訴對方狀況,讓對方避開time critical的部份。
PD Micro沒有充分利用interrupt和周邊的性能,把全部的工作放在main loop裏執行,確實是有改善空間。
PD negotiation有不同的state,由attached state到power ready state之前,應該是最忙的,要把干擾減到最低。
但是,在power ready state之後,在fixed voltage模式下,估計是沒有PD通訊。在PPS voltage模式下,估計只有keep alive的PD通訊 (PD Micro 的設定是每5秒鐘一次)。
因此,在main loop裏,其他的工作是可以避開大部份的PD通訊。
- void loop()
- {
- PD_UFP.run();
- ... ... ...
- if( (PD_UFP.is_power_ready() || PD_UFP.is_PPS_ready())
- && !PD_UFP.is_ps_transition() )
- {
- // PD engine not busy
- }
- }
[備註] 如果有PD Micro開發板,可以嘗試用PD Micro的data logging,証實在power ready state之後,是否很少PD通訊。
作者: hon829 時間: 2021-9-3 11:50
同意PD Micro是學習USB PD協議的工具
但應用上都是簡單的單芯片誘騙線/模塊較實用相信PD keep alive的通訊都要幾頻密, 否則中途拔線後隻牛1秒倒就變回5V輸出! 要了解相信一定要看懂FUSB302 芯片的角色/工作
作者: marlin12 時間: 2021-9-3 20:21
本帖最後由 marlin12 於 2021-9-4 15:47 編輯
中途拔線後隻牛1秒倒就變回5V輸出,原因是供電器(PD source)偵測到PD Micro(PD sink) 連接斷開(detach),不是因為收不到keep alive通訊。
[備註] 根據USB PD 3.1 spec (section 2.6.1),PPS模式的keep alive timeout (tPSSTimeout) 是13.5秒。
[attach]2281216[/attach]
[attach]2281255[/attach]
作者: Offer 時間: 2022-1-20 09:43
發揚光大
https://oshwhub.com/liuzewen/esp32-desktop-pd-power
https://gitee.com/liuzewen/lvgl8 ... 32-DESKTOP-PD-POWER
作者: victorchuk622 時間: 2022-2-19 01:04
回覆 57# Offer
仲有邊度有得買?
作者: Offer 時間: 2022-2-19 09:14
你指PD Micro開發板?
團購貨尾我仲有少量在手
作者: hon829 時間: 2022-2-19 12:52
樓主仲未用晒
作者: Offer 時間: 2022-2-19 13:33
PD Micro開發板團購貨尾我仲有少量在手

