基于RS485的嵌入式電池化成充放電控制系統(tǒng)的設(shè)計
1引言
化成充放電是蓄電池生產(chǎn)工藝中的關(guān)鍵過程之一,其控制水平直接關(guān)系到產(chǎn)品的質(zhì)量。該工藝要求化成充電機能夠按時間、電壓或安時數(shù)等條件對蓄電池進行多次的充放電,具有靜電、恒流充電、恒壓(限流)充電、恒流放電等多種充放電模式,并要求達到控制精度≤1%,檢測精度≤0.5%,限流限壓保護精度≤2%。常規(guī)生產(chǎn)方式下主要采用人工手動操作,控制精度低、勞動強度大、人為因素對產(chǎn)品的質(zhì)量影響很大,因此引入微機程控裝置對于改善操作過程、提高產(chǎn)品質(zhì)量意義重大。[1]
隨著新型單片機內(nèi)置大容量的FlashROM、各種串行ADC、DAC以及高密度串行E2PROM等技術(shù)的發(fā)展,開發(fā)高性能、低成本、緊湊型蓄電池充放電控制器成為可能。根據(jù)小容量多回路充電機設(shè)備的需要,本文提出了一套由嵌入式單片機及其外圍串行設(shè)備組成的多回路微控制器的設(shè)計方案,可以同時控制4臺化成充電機的運行,實現(xiàn)自動靜電、恒流充放電、恒壓限流充電等控制功能;采用漢字LCD顯示,可通過鍵盤設(shè)定控制程序參數(shù),具有多階段可自動按時間和條件(電壓、電流或安時)控制的功能;斷電后可自動記憶狀態(tài),恢復(fù)運行后自動繼續(xù)原過程;自動監(jiān)測斷流、過流、過壓等故障并告警;此外,通過RS485串行通信和上位機聯(lián)網(wǎng)可構(gòu)成兩級集中監(jiān)控分散型系統(tǒng)。[2-4]
2控制器的硬件設(shè)計
多回路化成充放電控制器的硬件主要由主控模塊和過程處理模塊兩大部分組成。按設(shè)計要求,主控模塊應(yīng)具有下列功能:(1)良好的人機交互界面,包括鍵盤和顯示器;(2)存儲工藝控制參數(shù);(3)掉電保存運行狀態(tài)及數(shù)據(jù);(4)高可靠性和抗干擾性;(5)與上位機聯(lián)網(wǎng)構(gòu)成兩級集中監(jiān)控或打印記錄系統(tǒng)。過程處理模塊完成4路化成充電機的輸入/輸出信號的調(diào)理、隔離與轉(zhuǎn)換。包括系統(tǒng)給定控制量的輸出、電流及電壓采樣值的輸入,以及開關(guān)量的輸出。根據(jù)上述功能要求,設(shè)計控制器的硬件結(jié)構(gòu)如圖1所示。
主控模塊以低功耗、高性能的單片機AT89C55為主控CPU,其內(nèi)部閃存容量達到20KB,內(nèi)部RAM256字節(jié),可滿足較復(fù)雜的控制程序、LCD顯示漢字庫及通信程序的需要,而無需擴展外部程序存儲器和數(shù)據(jù)存儲器。主控模塊的面板上提供了2×7的薄膜鍵盤和192×64的點陣式液晶顯示器,使現(xiàn)場操作畫面非常友好。
采用大容量的24LCXX系列的串行E2PROM來保存大量的設(shè)定工藝控制參數(shù)及掉電狀態(tài)數(shù)據(jù)。24LCXX與單片機的接口采用兩線式串行總線,簡單可靠。單片機作為主設(shè)備,24LCXX作為從設(shè)備,主設(shè)備對從設(shè)備進行讀、寫數(shù)據(jù)操作。
過程設(shè)備接口均采用串行芯片,接口簡單,與單片機間的信號線最多為四根,使得連線數(shù)目大大減少,且這些信號線均經(jīng)光耦隔離后接到單片機,提高了系統(tǒng)的可靠性。
另外,考慮到控制系統(tǒng)的特點,屬于多點通信方式,且距離較長,數(shù)據(jù)要求雙向傳輸,因此采用連接方便、抗干擾性能好、失真小且成低本的RS-485標(biāo)準(zhǔn)接口,實現(xiàn)和上位機之間的數(shù)據(jù)通信。
該微控制器的硬件設(shè)計充分體現(xiàn)了嵌入式系統(tǒng)結(jié)構(gòu)緊湊,外設(shè)簡單,體積小,攜帶方便的特點,成本亦大大降低。
3數(shù)據(jù)的存儲管理
在控制4臺充電機工作的過程中,需要保存大量的非易失的數(shù)據(jù),如工藝控制參數(shù)和運行控制數(shù)據(jù)。在串行E2PROM中保存了預(yù)置的8組型號的參數(shù),每組包含12個階段的工藝控制參數(shù)。控制充電機運行的過程中,系統(tǒng)定時將各回路充電機的工作參數(shù)值保存到E2PROM中。當(dāng)系統(tǒng)突然掉電后能自動記憶狀態(tài),恢復(fù)運行后自動繼續(xù)原過程。
但考慮到掉電發(fā)生的隨機性,為保證數(shù)據(jù)的正確性與完整性,設(shè)置了特定標(biāo)志,保證寫入數(shù)據(jù)的完整性。即每次對24LCXX操作前,首先判斷此標(biāo)志,若為FFH,表明基本數(shù)據(jù)區(qū)數(shù)據(jù)完整,將其內(nèi)容寫入后備數(shù)據(jù)區(qū);若為00H,表明上一次對基本數(shù)據(jù)區(qū)的操作被打斷,數(shù)據(jù)不完整,則將后備數(shù)據(jù)區(qū)的內(nèi)容寫入基本數(shù)據(jù)去,恢復(fù)掉電前的數(shù)據(jù)狀態(tài)。在對數(shù)據(jù)操作完成之后,再將標(biāo)志置為FFH,表明對數(shù)據(jù)的一次完整操作。采用這種給數(shù)據(jù)操作加鎖的方法,有效地確保了系統(tǒng)的穩(wěn)定運行。
4控制器的軟件設(shè)計
4.1實時多任務(wù)結(jié)構(gòu)及任務(wù)的劃分
控制器軟件采用實時多任務(wù)結(jié)構(gòu),分為啟動管理任務(wù)和運行任務(wù)兩大部分。啟動管理任務(wù)包括上電命令處理(輔助自檢、清除記憶數(shù)據(jù)等)、系統(tǒng)初始化和工藝控制參數(shù)等修改設(shè)置,同時串行通信中斷任務(wù)作為后臺任務(wù),接收上位機命令并向上位機發(fā)送狀態(tài)信息;運行任務(wù)在執(zhí)行啟動充電機命令后激活,包括主控調(diào)度程序(前臺任務(wù))、系統(tǒng)定時器中斷、串行通信中斷任務(wù)等,按不同優(yōu)先級調(diào)度運行(前臺任務(wù)被后臺任務(wù)打斷)。圖2為系統(tǒng)任務(wù)及調(diào)度示意圖。
評論