第1步:功能和成本
功能
由USB C提供支持
通過USB通過USB C進行控制
恒定電壓和恒定電流模式
使用低噪聲線性穩壓器,先跟跟蹤預調節器,以最大限度地降低功耗
由ATMEGA32U4提供支持,使用Arduino IDE進行編程
可以通過USB C電池組供電以便攜帶
USB C和Apple充電器檢測
18 mm隔離香蕉插頭,與BNC適配器兼容
0 - 1A,步驟1 mA(10位DAC)
0 - 25V,步長為25 mV(10位DAC)(真正的0V操作)
電壓測量:25 mV分辨率(10位ADC)
電流測量:
《40mA:10uA分辨率(ina219)《80mA:20uA分辨率(ina219)《160mA:40uA分辨率(ina219)》 320mA:1mA分辨率(10位ADC)
成本
完整的電源供應花了我100美元左右,所有一次性組件。雖然這可能看起來很昂貴,但是功耗遠遠低于性能和功能通常比這更昂貴。如果您不介意從ebay或aliexpress訂購您的組件,價格將降至70美元左右。部件進入需要更長的時間,但這是一個可行的選擇。
第2步:原理圖和操作原理
要了解電路的運行情況,我們將不得不看一下原理圖。我將它劃分為功能塊,以便更容易理解;因此,我將逐步解釋操作。
這部分內容非常深入,需要良好的電子知識。如果您只想知道如何構建電路,可以跳到下一步。
主模塊
該操作基于LT3080芯片:它是一個線性穩壓器,可根據控制信號降壓。該控制信號由微控制器產生;如何完成,將在后面詳細說明。
電壓設置
LT3080周圍的電路會產生適當的控制信號。首先,我們將了解電壓的設置方式。微控制器的電壓設置為PWM信號(PWM_Vset),由低通濾波器(C23和R32)濾波。這會產生一個模擬電壓 - 介于0和5 V之間 - 與所需的輸出電壓成正比。由于我們的輸出范圍為0 - 25 V,因此我們必須將系數放大5倍。這可以通過U7C的非反相運算放大器配置來完成。設定引腳的增益由R31和R36決定。這些電阻容差為0.1%,可最大限度地減少誤差。 R39和R41在這里無關緊要,因為它們是反饋環路的一部分。
電流設置
此設置引腳也可用于第二個設置:當前模式。我們想要測量電流消耗,并在超過所需電流時關閉輸出。因此,我們再次通過微控制器產生的PWM信號(PWM_Iset)重新啟動,該信號現在經過低通濾波和衰減,從0-5 V范圍變為0-2.5 V范圍。現在通過運算放大器U1B的比較器配置將該電壓與電流檢測電阻(ADC_Iout,見下文)上的電壓降進行比較。如果電流過高,則會打開LED,并將LT3080的設定線拉至地(通過Q1),從而關閉輸出。電流的測量和信號ADC_Iout的產生如下進行。輸出電流流過電阻器R22。當電流流過該電阻時,它會產生一個我們可以測量的電壓降,并且它被放置在LT3080之前,因為它上面的電壓降不應該影響輸出電壓。使用差分放大器(U7B)測量電壓降,增益為5.這導致電壓范圍為0 - 2.5 V(稍后更多),因此電流的PWM信號處的分壓器。緩沖器(U7A)用于確保流入電阻器R27,R34和R35的電流不會通過電流檢測電阻,這將影響其讀數。另請注意,這應該是軌到軌運算放大器,因為正輸入端的輸入電壓等于電源電壓。非反相放大器僅用于測量過程,但對于非常精確的測量,我們在板上安裝了INA219芯片。該芯片允許我們測量非常小的電流,并通過I2C進行尋址。
其他內容
在LT3080的輸出端,我們還有更多東西。首先,有一個電流吸收器(LM334)。這樣可以獲得677 uA的恒定電流(由電阻R46設置),以穩定LT3080。然而,它不接地,而是接入VEE,即負電壓。這需要LT3080工作電壓低至0 V.當接地時,最低電壓約為0.7 V.這似乎足夠低,但請記住,這可以防止我們完全關閉電源。不幸的是,這個電路處于LT3080的輸出端,這意味著它的電流將對我們想要測量的輸出電流產生影響。幸運的是,它是恒定的,所以我們可以校準這個電流。齊納二極管D7用于在輸出電壓高于25 V時鉗位輸出電壓,電阻分壓器將輸出電壓范圍從0 - 25 V降至0 - 2.5 V(ADC_Vout)。緩沖器(U7D)確保電阻器不從輸出吸取電流。
我們之前提到的負電壓是由好奇的小電路:電荷泵。
它由微控制器(PWM)的50%PWM提供。
升壓轉換器
現在讓我們來看看主模塊的輸入電壓:VCC。我們看到它是5 - 27V,但等待,USB最多可以提供5 V?實際上,這就是我們需要通過所謂的升壓轉換器來提升電壓的原因。無論我們想要什么輸出,我們總能將電壓提升至27 V;然而,這會浪費LT3080的大量功率,事情會變得很熱!因此,我們不會將電壓提升到比輸出電壓更高的電壓。考慮到電流檢測電阻的電壓降和LT3080的壓差,大約高出2.5 V是合適的。電壓由升壓轉換器輸出信號上的電阻設置。為了在運行中改變這個電壓,我們使用數字電位器MCP41010,它通過SPI控制。
USB C
這導致我們實際輸入電壓:USB端口!使用USB C的原因(確切地說USB類型3.1,USB C只是連接器類型)是因為它允許3A的電流為3A,這已經是相當大的功率。但是有一個問題,設備需要兼容以獲取此電流并與主機設備“協商”。實際上,這是通過將兩個5.1k下拉電阻(R12和R13)連接到CC1和CC2線來完成的。
對于USB 2兼容性,文檔不太清楚。簡而言之:只要主機可以提供它,您就可以繪制所需的任何電流。這可以通過監控USB總線電壓來檢查:一個電壓降至4.25V以下,器件消耗的電流過大。這由比較器U1A檢測到并將禁用輸出。它還向微控制器發送信號以設置最大電流。
作為獎勵,增加了電阻器以支持檢測蘋果和三星充電器的充電器ID。
5V穩壓器
arduino的5 V電源電壓通常直接來自USB。但由于USB電壓根據USB規范可能在4.5到5.5 V之間變化,因此這不夠精確。因此,使用5V穩壓器,可以從更低和更高的電壓產生5V。盡管如此,該電壓并不十分精確,但這可以通過校準步驟來解決,其中相應地調整PWM信號的占空比。該e電壓由R42和R43形成的分壓器測量。但由于我沒有更多的自由輸入,我不得不做一個引腳拉雙重任務。當電源啟動時,此引腳首先設置為輸入:它測量電源軌并自行校準。接下來,它被設置為輸出并且它可以驅動電位計的芯片選擇線。
2.56 V電壓基準
這個小芯片提供非常精確的2.56 V基準電壓。這用作模擬信號ADC_Vout,ADC_Iout,ADC_Vbatt的參考。這就是我們需要分壓器將這些信號降至2.5 V的原因。
FTDI
這個電源的最后一部分是與殘忍的連接,外面的世界。為此,我們需要將串行信號轉換為USB信號。幸運的是,這是由ATMEGA32U4完成的,這是與Arduino Micro中使用的芯片相同。
藍牙
藍牙部分非常簡單:增加了一個現成的藍牙模塊,為我們提供一切照顧。由于它的邏輯電平為3.3V(微控制器為VS 5V),因此使用分壓器對信號進行電平轉換。
這就是它的全部!
第3步:PCB和電子設備
現在我們了解了電路的工作原理,我們可以開始構建它了!您可以從您最喜歡的制造商在線訂購PCB(我的成本大約10美元),Gerber文件可以在我的GitHub上找到,還有材料清單。然后,組裝PCB基本上是根據絲網印刷和材料清單將元件焊接到位。
雖然我以前的電源只有通孔元件,但我的新電源尺寸限制了這不可能。大多數元件仍然比較容易焊接,所以不要害怕。作為一個例子:我的一個朋友,他之前沒有焊過,設法填充這個設備!
最簡單的方法是首先在前面做組件,然后在后面做完組件,然后完成通孔組件。這樣做時,焊接最困難的元件時PCB不會搖晃。
最后焊接的元件是藍牙模塊。
除了2個香蕉插座外,所有元件都可以焊接,我們將在下一步安裝!
第4步:案例和匯編
隨著pcb的制作,我們可以繼續前進。我專門為鋁制20x50x80mm外殼(https://www.aliexpress.com/item/Aluminum-PCB-Instr 。..)設計了PCB,因此不推薦使用其他外殼。但是,您始終可以3D打印具有相同尺寸的外殼。
第一步是準備終端面板。我們需要為香蕉插座鉆一些孔。我是手工完成的,但是如果你可以使用CNC,那將是一個更準確的選擇。將香蕉插座插入這些孔中并將其焊接在PCB上。
現在添加一些絲墊是個好主意,并用一小滴超級膠水將它們固定到位。這些將允許LT3080和LT1370與外殼之間的熱傳遞。別忘了他們!
我們現在可以專注于前面板,只需擰緊就位。在兩個面板就位后,我們現在可以將組件插入殼體并將其全部關閉。此時硬件已經完成,現在剩下的就是用軟件吹掉一些生命!
第5步:Arduino代碼
這個項目的大腦是ATMEGA32U4,我們將使用Arduino IDE進行編程。
在本節中,我將介紹代碼的基本操作,詳細信息可以在代碼中找到注釋。
代碼基本上循環執行以下步驟:
向app發送數據
從應用程序讀取數據
測量電壓
測量當前
投票按鈕
USB過流由中斷服務程序處理,以使其盡可能響應。
在通過USB編程芯片之前,應該刻錄引導加載程序。這是通過ISP編程器通過ISP/ICSP端口(3x2公頭)完成的。選項包括AVRISPMK2,USBTINY ISP或作為ISP的arduino。確保電路板接通電源并按下“刻錄引導加載程序”按鈕。
現在可以通過USB C端口將代碼上傳到電路板(因為芯片有一個引導加載程序)。主板:Arduino Micro程序員:AVR ISP/AVRISP MKII現在我們可以看看Arduino和PC之間的交互。
第6步:Android應用程序
我們現在有一個功能齊全的電力供應,但還沒辦法控制它。很煩人。因此,我們將制作一個Android應用程序來控制藍牙的電源供應。
該應用程序是使用MIT應用程序發明者程序制作的。可以包含所有文件以克隆和修改項目。首先,將MIT AI2伴侶應用程序下載到手機上。接下來,在AI網站上導入.aia文件。這也允許您通過選擇“構建》應用程序(為.apk提供QR碼)”在您自己的手機上下載應用程序。
要使用該應用程序,請從列表中選擇一個藍牙設備:它將顯示作為HC-05模塊。連接后,可以更改所有設置,并可以讀取電源的輸出。
第7步:Java代碼
為了通過PC記錄數據和控制電源,我做了一個java應用。這使我們可以通過GUI輕松控制電路板。與Arduino代碼一樣,我不會詳細介紹所有細節,而是概述。
我們首先創建一個帶按鈕,文本字段等的窗口;基本的GUI東西。
現在有趣的是:添加USB端口,我使用了jSerialComm庫。選擇端口后,java將偵聽任何傳入數據。我們還可以將數據發送到設備。
此外,所有傳入的數據都保存到csv文件中,以便以后進行數據處理。
運行.jar文件時,我們應該首先從下拉菜單中選擇正確的端口。連接后數據將開始進入,我們可以將設置發送到powersupply。
雖然程序非常基礎,但通過PC控制它并記錄它的數據非常有用。
步驟8:
完成所有這些工作后,我們現在擁有一個功能齊全的電力供應!
-
數字電源
+關注
關注
28文章
510瀏覽量
109278
發布評論請先 登錄
相關推薦
評論