單片機(jī)及外圍串行設(shè)備組成的多回路微控制器的設(shè)計(jì)方案
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1前 言
化成充放電是蓄電池生產(chǎn)工藝中的關(guān)鍵過程之一,其控制水平直接關(guān)系到產(chǎn)品的質(zhì)量。該工藝要求化成充電機(jī)能夠按時(shí)間、電壓或安時(shí)數(shù)等條件對(duì)蓄電池進(jìn)行多次的充放電,具有靜電、恒流充電、恒壓(限流)充電、恒流放電等多種充放電模式,并要求達(dá)到控制精度≤1%,檢測精度≤0.5%,限流限壓保護(hù)精度≤2%。常規(guī)生產(chǎn)方式下主要采用人工手動(dòng)操作,控制精度低、勞動(dòng)強(qiáng)度大、人為因素對(duì)產(chǎn)品的質(zhì)量影響很大,因此引入微機(jī)程控裝置對(duì)于改善操作過程、提高產(chǎn)品質(zhì)量意義重大。[1]
隨著新型單片機(jī)內(nèi)置大容量的FlashROM、各種串行ADC、DAC以及高密度串行E2PROM等技術(shù)的發(fā)展,開發(fā)高性能、低成本、緊湊型蓄電池充放電控制器成為可能。根據(jù)小容量多回路充電機(jī)設(shè)備的需要,本文提出了一套由嵌入式單片機(jī)及其外圍串行設(shè)備組成的多回路微控制器的設(shè)計(jì)方案,可以同時(shí)控制4臺(tái)化成充電機(jī)的運(yùn)行,實(shí)現(xiàn)自動(dòng)靜電、恒流充放電、恒壓限流充電等控制功能;采用漢字LCD顯示,可通過鍵盤設(shè)定控制程序參數(shù),具有多階段可自動(dòng)按時(shí)間和條件(電壓、電流或安時(shí))控制的功能;斷電后可自動(dòng)記憶狀態(tài),恢復(fù)運(yùn)行后自動(dòng)繼續(xù)原過程;自動(dòng)監(jiān)測斷流、過流、過壓等故障并告警;此外,通過RS485串行通信和上位機(jī)聯(lián)網(wǎng)可構(gòu)成兩級(jí)集中監(jiān)控分散型系統(tǒng)。[2-4]
2控制器的硬件設(shè)計(jì)
多回路化成充放電控制器的硬件主要由主控模塊和過程處理模塊兩大部分組成。按設(shè)計(jì)要求,主控模塊應(yīng)具有下列功能:(1)良好的人機(jī)交互界面,包括鍵盤和顯示器;(2)存儲(chǔ)工藝控制參數(shù);(3)掉電保存運(yùn)行狀態(tài)及數(shù)據(jù);(4)高可靠性和抗干擾性;(5)與上位機(jī)聯(lián)網(wǎng)構(gòu)成兩級(jí)集中監(jiān)控或打印記錄系統(tǒng)。過程處理模塊完成4路化成充電機(jī)的輸入/輸出信號(hào)的調(diào)理、隔離與轉(zhuǎn)換。包括系統(tǒng)給定控制量的輸出、電流及電壓采樣值的輸入,以及開關(guān)量的輸出。根據(jù)上述功能要求,設(shè)計(jì)控制器的硬件結(jié)構(gòu)如圖1所示。
主控模塊以低功耗、高性能的單片機(jī)AT89C55為主控CPU,其內(nèi)部閃存容量達(dá)到20KB,內(nèi)部RAM256字節(jié),可滿足較復(fù)雜的控制程序、LCD顯示漢字庫及通信程序的需要,而無需擴(kuò)展外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。主控模塊的面板上提供了2×7的薄膜鍵盤和192×64的點(diǎn)陣式液晶顯示器,使現(xiàn)場操作畫面非常友好。
采用大容量的24LCXX系列的串行E2PROM來保存大量的設(shè)定工藝控制參數(shù)及掉電狀態(tài)數(shù)據(jù)。24LCXX與單片機(jī)的接口采用兩線式串行總線,簡單可靠。單片機(jī)作為主設(shè)備,24LCXX作為從設(shè)備,主設(shè)備對(duì)從設(shè)備進(jìn)行讀、寫數(shù)據(jù)操作。
過程設(shè)備接口均采用串行芯片,接口簡單,與單片機(jī)間的信號(hào)線最多為四根,使得連線數(shù)目大大減少,且這些信號(hào)線均經(jīng)光耦隔離后接到單片機(jī),提高了系統(tǒng)的可靠性。
另外,考慮到控制系統(tǒng)的特點(diǎn),屬于多點(diǎn)通信方式,且距離較長,數(shù)據(jù)要求雙向傳輸,因此采用連接方便、抗干擾性能好、失真小且成低本的RS-485標(biāo)準(zhǔn)接口,實(shí)現(xiàn)和上位機(jī)之間的數(shù)據(jù)通信。
該微控制器的硬件設(shè)計(jì)充分體現(xiàn)了嵌入式系統(tǒng)結(jié)構(gòu)緊湊,外設(shè)簡單,體積小,攜帶方便的特點(diǎn),成本亦大大降低。
3數(shù)據(jù)的存儲(chǔ)管理
在控制4臺(tái)充電機(jī)工作的過程中,需要保存大量的非易失的數(shù)據(jù),如工藝控制參數(shù)和運(yùn)行控制數(shù)據(jù)。在串行E2PROM中保存了預(yù)置的8組型號(hào)的參數(shù),每組包含12個(gè)階段的工藝控制參數(shù)??刂瞥潆姍C(jī)運(yùn)行的過程中,系統(tǒng)定時(shí)將各回路充電機(jī)的工作參數(shù)值保存到E2PROM中。當(dāng)系統(tǒng)突然掉電后能自動(dòng)記憶狀態(tài),恢復(fù)運(yùn)行后自動(dòng)繼續(xù)原過程。
但考慮到掉電發(fā)生的隨機(jī)性,為保證數(shù)據(jù)的正確性與完整性,設(shè)置了特定標(biāo)志,保證寫入數(shù)據(jù)的完整性。即每次對(duì)24LCXX操作前,首先判斷此標(biāo)志,若為FFH,表明基本數(shù)據(jù)區(qū)數(shù)據(jù)完整,將其內(nèi)容寫入后備數(shù)據(jù)區(qū);若為00H,表明上一次對(duì)基本數(shù)據(jù)區(qū)的操作被打斷,數(shù)據(jù)不完整,則將后備數(shù)據(jù)區(qū)的內(nèi)容寫入基本數(shù)據(jù)去,恢復(fù)掉電前的數(shù)據(jù)狀態(tài)。在對(duì)數(shù)據(jù)操作完成之后,再將標(biāo)志置為FFH,表明對(duì)數(shù)據(jù)的一次完整操作。采用這種給數(shù)據(jù)操作加鎖的方法,有效地確保了系統(tǒng)的穩(wěn)定運(yùn)行。
4控制器的軟件設(shè)計(jì)
4.1實(shí)時(shí)多任務(wù)結(jié)構(gòu)及任務(wù)的劃分
控制器軟件采用實(shí)時(shí)多任務(wù)結(jié)構(gòu),分為啟動(dòng)管理任務(wù)和運(yùn)行任務(wù)兩大部分。啟動(dòng)管理任務(wù)包括上電命令處理(輔助自檢、清除記憶數(shù)據(jù)等)、系統(tǒng)初始化和工藝控制參數(shù)等修改設(shè)置,同時(shí)串行通信中斷任務(wù)作為后臺(tái)任務(wù),接收上位機(jī)命令并向上位機(jī)發(fā)送狀態(tài)信息;運(yùn)行任務(wù)在執(zhí)行啟動(dòng)充電機(jī)命令后激活,包括主控調(diào)度程序(前臺(tái)任務(wù))、系統(tǒng)定時(shí)器中斷、串行通信中斷任務(wù)等,按不同優(yōu)先級(jí)調(diào)度運(yùn)行(前臺(tái)任務(wù)被后臺(tái)任務(wù)打斷)。圖2為系統(tǒng)任務(wù)及調(diào)度示意圖。
后臺(tái)任務(wù)1由系統(tǒng)定時(shí)器T0每100ms產(chǎn)生一次中斷,形成基本時(shí)鐘源,為控制和通信任務(wù)提供各類軟件計(jì)數(shù)器。主控調(diào)度程序根據(jù)定時(shí)器計(jì)數(shù)狀態(tài)調(diào)度各個(gè)任務(wù),控制4路充電機(jī)的運(yùn)行。這些任務(wù)包括:每隔1秒掃描一次鍵盤,根據(jù)鍵盤輸入的命令激活相應(yīng)任務(wù),如啟動(dòng)或終止過程、顯示設(shè)置參數(shù)等;每隔1秒進(jìn)行例行數(shù)據(jù)采集與處理,分別采集4路充電機(jī)的電壓、電流量,并對(duì)轉(zhuǎn)換的結(jié)果作相應(yīng)的處理;每隔1秒循環(huán)顯示4路充電機(jī)的實(shí)時(shí)工作狀態(tài)參數(shù),包括當(dāng)前工作階段、工作方式、運(yùn)行時(shí)間、電壓電流值、安時(shí)數(shù)等;每隔2秒分別計(jì)算4路充電機(jī)的安時(shí)數(shù);每隔3秒進(jìn)行閉環(huán)反饋控制PI調(diào)節(jié);每隔1分鐘分別累計(jì)4路充電機(jī)的安時(shí)數(shù),同時(shí)備份相關(guān)的數(shù)據(jù)到E2PROM中。運(yùn)行過程中定時(shí)檢查電流、電壓信號(hào),如遇異常、斷流、過流、過壓等故障則及時(shí)顯示故障類型和對(duì)應(yīng)的充電機(jī)號(hào)。
后臺(tái)任務(wù)2為串行通信中斷任務(wù)。由于采用主從式異步串行通信,通信中斷任務(wù)的優(yōu)先級(jí)比定時(shí)器中斷的優(yōu)先級(jí)高。通信中斷包括接收中斷和發(fā)送中斷兩種情況,并需根據(jù)需要進(jìn)行切換控制和處理。平時(shí)處于接收中斷允許狀態(tài),當(dāng)收到上位機(jī)輪詢報(bào)文時(shí)即組織發(fā)送報(bào)文,將報(bào)文幀送到發(fā)報(bào)緩沖區(qū),啟動(dòng)發(fā)送中斷和發(fā)送計(jì)數(shù)器,在以后的發(fā)送中斷任務(wù)中按計(jì)數(shù)器發(fā)送一個(gè)字節(jié)直到發(fā)完該幀即禁止發(fā)送中斷。如收到上位機(jī)數(shù)據(jù)/命令報(bào)文頭則清理收報(bào)緩沖區(qū),等待下次接收中斷字節(jié)。
4.2模塊化的軟件設(shè)計(jì)
本控制器的軟件設(shè)計(jì)采用模塊化結(jié)構(gòu),使程序明晰簡潔。同時(shí)各模塊間相對(duì)獨(dú)立,可以單獨(dú)調(diào)試,程序擴(kuò)充時(shí),不要更改原有的結(jié)構(gòu),只需修改相應(yīng)的模塊。根據(jù)圖2中系統(tǒng)任務(wù)的劃分,程序模塊主要由主控程序及定時(shí)器中斷程序模塊、通信程序模塊、顯示及鍵盤處理模塊、輸入輸出及控制量計(jì)算模塊構(gòu)成。各模塊之間的聯(lián)系是采用單片機(jī)的邏輯處理功能,設(shè)置標(biāo)志位,通過查詢標(biāo)志位的操作進(jìn)行控制和調(diào)用。
由于篇幅的原因,就不詳細(xì)介紹各模塊工作的流程。
5通信系統(tǒng)的設(shè)計(jì)
本文的應(yīng)用對(duì)象是蓄電池工廠的極板或密閉電池充放電控制裝置,為了降低成本,便于管理并提高系統(tǒng)可靠性,控制系統(tǒng)設(shè)計(jì)可以采用小型的分散型控制系統(tǒng),即兩層結(jié)構(gòu):分散的多回路控制器配一個(gè)操作站(俗稱上位機(jī)和下位機(jī))。通過低成本、高可靠的RS-485實(shí)時(shí)通信網(wǎng)絡(luò),將數(shù)十臺(tái)多回路控制器與PC機(jī)相連,實(shí)現(xiàn)對(duì)生產(chǎn)過程的集中監(jiān)控操作。上位機(jī)和下位機(jī)之間的通信包括數(shù)據(jù)下載、數(shù)據(jù)上裝、命令下發(fā)等。通信系統(tǒng)設(shè)計(jì)如下:
(1)系統(tǒng)物理層協(xié)議采用RS-485標(biāo)準(zhǔn),為了在允許范圍內(nèi)盡量提高通信速率,波特率選擇了非標(biāo)準(zhǔn)的3125bps。當(dāng)上位機(jī)采用軟件輪詢方式與20個(gè)現(xiàn)場控制器逐個(gè)通信,通過適當(dāng)?shù)能浖O(shè)計(jì),可基本滿足充放電過程操作的實(shí)時(shí)性要求。
(2)據(jù)鏈路層協(xié)議參考HDLC,采用短幀定長傳送,每幀有效字節(jié)為7個(gè)。應(yīng)用層要求實(shí)現(xiàn)即時(shí)數(shù)據(jù)上裝、歷史數(shù)據(jù)上裝、控制參數(shù)數(shù)據(jù)下載和命令下發(fā)等功能。
(3)本系統(tǒng)采用主站輪詢的主從方式,由主站發(fā)起通信,沒有網(wǎng)絡(luò)沖突;由主站選擇它要求通信的次站,各次站可以有不同的優(yōu)先級(jí)。相對(duì)于總線式控制網(wǎng)絡(luò),這種方式易于理解和實(shí)現(xiàn)。
6結(jié)束語
實(shí)驗(yàn)和現(xiàn)場實(shí)際運(yùn)行表明,該多回路化成充放電控制器具有較好的人機(jī)對(duì)話窗口,結(jié)構(gòu)簡單,操作簡便,參數(shù)設(shè)置靈活,有較強(qiáng)的適應(yīng)性。系統(tǒng)軟硬件設(shè)備工作正常,功能齊全,穩(wěn)定可靠,具有完善的系統(tǒng)自診斷、故障定位功能。而且具有成本低、體積?。?0×160×100)的特點(diǎn)。
參考文獻(xiàn)
[1]賈英江,賈向英,淺議蓄電池充電,1998,(4):22-24.
[2]何立民,MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì),北京航空航天大學(xué)出版社,1990.