硬件部件:
atmega328p-pu× 1個(gè)
帶按鈕的旋轉(zhuǎn)編碼器× 1個(gè)
2.5伏參考電壓,ad680jtz× 1個(gè)
8 MHz晶振× 1個(gè)
電容22 pF× 2個(gè)
電容100 nF× 5
電阻1M歐姆× 2個(gè)
電阻10k歐姆× 10
電阻4.75k歐姆× 1個(gè)
電阻1k歐姆× 7
電阻220歐姆× 1個(gè)
電阻100歐姆× 7
電容1 μF× 2個(gè)
電容器100 μF× 1個(gè)
電容1000 μF× 1個(gè)
ams1117-5.0× 1個(gè)
二極管1n400× 1個(gè)
mosfet N通道ao3400× 3
Mosfet P通道A03407× 2個(gè)
JST XH插座。3p,4p,5p× 1個(gè)
LED(通用)× 1個(gè)
散熱器× 1個(gè)
風(fēng)扇40x40 12v× 1個(gè)
功率PNP晶體管1SB1375× 2個(gè)
通用晶體管PNP× 2個(gè)
通用晶體管NPN× 4
1歐姆1W 1%電阻× 2個(gè)
2.2歐姆5W電阻× 2個(gè)
齊納單二極管,5.1 V× 2個(gè)
LCD i2c顯示器16x2或20x4× 1個(gè)
Maxim Integrated DS18B20可編程分辨率1-Wire數(shù)字溫度計(jì)× 3
AA電池座× 2個(gè)
軟件應(yīng)用程序和在線服務(wù)
Arduino IDE
手動(dòng)工具和制造機(jī)
烙鐵(通用)
該項(xiàng)目致力于為NiMh AA電池充電。
聲明:這是一項(xiàng)正在進(jìn)行的工作,該軟件仍處于Alpha階段。
該充電器可用于為電池緩慢和快速充電,也可以恢復(fù)舊電池。該充電器基于Arduino微控制器atmega328p-pu,可將全部可用信息顯示到16x2或20x4 LCD字符屏上。它最多可以獨(dú)立為兩節(jié)電池充電。您只能給一個(gè)電池充電,也可以同時(shí)給兩個(gè)不同容量的電池或兩個(gè)類似的電池充電。在為電池充電之前,必須為每個(gè)電池插槽設(shè)置電池容量,充電速度和循環(huán)計(jì)數(shù),然后將電池插入插槽,然后過程開始。
充電器支持三種充電模式:
? 快速充電。電池應(yīng)在5個(gè)小時(shí)內(nèi)充滿電。充電電流取決于電池容量,等于0.2C。
? 充電緩慢。電池應(yīng)在10小時(shí)內(nèi)充滿電。充電電流等于0.1C。
? 恢復(fù)充電。此模式下的充電電流限制為40mA?;謴?fù)時(shí)間取決于電池容量。此模式可用于恢復(fù)電池容量并為其他充電器無法充電的舊電池充電。
充電過程包括以下幾個(gè)階段:
? 放電階段。電池通過內(nèi)部電阻放電至0.9 v。
? 預(yù)充電階段。電池以小電流充電,大約30mA,直到電池電壓變?yōu)?.0v。
? 主充電階段。根據(jù)計(jì)算的電流對(duì)電池充電,具體取決于電池容量和充電模式(快速,緩慢還原)。如果檢測(cè)到電壓下降或電池過熱或達(dá)到電壓上限,則電池充電階段結(jié)束。
? 充電后階段。電池以小電流充電,直到另一個(gè)電壓下降或電壓上限。
? 完成階段。電池會(huì)以短電流脈沖充電,直到將其從充電器中取出為止。
如果在給電池充電之前未設(shè)置環(huán)路,則充電過程將貫穿整個(gè)階段。如果選擇運(yùn)行多個(gè)充電循環(huán),則充電器將在主充電階段完成后立即重新開始放電過程,直到達(dá)到循環(huán)計(jì)數(shù)為止。您可以使用多個(gè)循環(huán)充電來恢復(fù)電池容量。
充電器具有三個(gè)溫度傳感器:一個(gè)用于每個(gè)電池插槽,另一個(gè)用于控制安裝在功率晶體管上方的內(nèi)部散熱器的溫度。為了降低內(nèi)部散熱器的溫度,在充電器內(nèi)部安裝了一個(gè)小風(fēng)扇。散熱器溫度達(dá)到最高限制時(shí),風(fēng)扇會(huì)自動(dòng)打開。當(dāng)散熱器變冷時(shí),風(fēng)扇將關(guān)閉。
充電器原理圖如下圖所示。為了簡(jiǎn)化原理圖的讀數(shù),它分為三個(gè)部分:控制器部分和兩個(gè)通道。兩個(gè)充電通道都非常相似,唯一的區(qū)別是輸出和輸入信號(hào)以及組件編號(hào)。
充電器的控制器部分:
如上圖所示,為增加電池電壓測(cè)量,已實(shí)現(xiàn)外部基準(zhǔn)電壓源AD680JTZ。其精度為0.4%,并且控制器可以檢查高達(dá)0.001伏的電池電壓。您可以用運(yùn)行在8 MHz或更高頻率的Arduino板(uno,nano,pro mini)替換atmega328p-pu IC。
這是套接字說明:
? J1可以像Arduino pro mini一樣通過UART端口對(duì)微控制器進(jìn)行編程。
? J2連接電池溫度傳感器DS18b20
? X2 12伏電源連接器
? U3連接i2c LCD顯示器。平滑改變顯示屏亮度所需的亮度引腳
? U4連接旋轉(zhuǎn)編碼器。
? U5連接安裝在散熱器上的12v 40x40x10mm風(fēng)扇。
通道“ A”原理圖:
通道“ B”的原理圖:
在這里,您可以找到該項(xiàng)目的完整原理圖和PCB板。
讓我解釋一下充電器如何在通道“ B”上工作。晶體管Q9和Q10是達(dá)林頓對(duì),可為連接到插座J4的電池提供充電電流。Arduino控制器通過PWR_B端口將PWM信號(hào)提供給Q13晶體管。PWM占空比越大,在Q9集電極上產(chǎn)生的電流就越大。
Q11 mosfet用于啟用或禁用電池充電電流。Q12 MOSFET用于通過R26電阻對(duì)電池放電。
要測(cè)量R31電阻上的充電電流電壓,請(qǐng)檢查。
定義溫度傳感器的正確順序
您必須對(duì)充電器進(jìn)行一些初始配置,因?yàn)樵诖隧?xiàng)目的單條總線上有三個(gè)溫度傳感器ds18b20。在啟動(dòng)過程中,充電器以某種特定順序檢測(cè)所有傳感器。您必須指定正確的傳感器順序,充電器才能正常工作。
將NiMh_Serial固件加載到您的控制器,并將終端連接到UART端口。選擇“溫度”菜單項(xiàng)。按下編碼器按鈕。您可以看到所有溫度傳感器的值。加熱一些傳感器,并記住它在列表中的位置。對(duì)每個(gè)傳感器重復(fù)此過程。現(xiàn)在,您可以定義充電器的正確傳感器順序。將NiMH_Charger代碼加載到Arduino IDE并找到“ core.init(SO_BHA);”行。在setup()函數(shù)中。要定義正確的傳感器順序,您必須為core.init()方法指定正確的SO_ *代碼。溫度傳感器有6種可能的組合:
SO_ABH-通道“ A”,通道“ B”,內(nèi)部散熱器。
SO_BAH-通道“ B”,通道“ A”,內(nèi)部散熱器等。
此過程只能執(zhí)行一次。
串行固件的其他可能性
* _serial固件是一種功能強(qiáng)大的工具,可用于調(diào)試充電器硬件。使用串行菜單,您可以選擇電池通道“ A”或“ B”之一,定義充電電流,執(zhí)行測(cè)試充電,測(cè)試放電,散熱器風(fēng)扇測(cè)試和溫度傳感器測(cè)試。
該項(xiàng)目仍在進(jìn)行中,因?yàn)殡姵爻潆娺^程非常耗時(shí),并且調(diào)試需要大量時(shí)間。
責(zé)任編輯:pj
-
微控制器
+關(guān)注
關(guān)注
48文章
7454瀏覽量
150853 -
顯示器
+關(guān)注
關(guān)注
21文章
4927瀏覽量
139739 -
晶體管
+關(guān)注
關(guān)注
77文章
9609瀏覽量
137659
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論