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

數(shù)字萬用表的使用方法詳細(xì)圖解
求助,關(guān)于AD的模擬電源和數(shù)字電源的問題求解
TLC5510的模擬電源和數(shù)字電源需要隔開嗎?
ADC的數(shù)字電源和模擬電源需要兩個隔離的獨立電源供電嗎?
開源項目!大佬教你 DIY 臺式電源
數(shù)字電源發(fā)展走向淺析

評論