摘 要:針對蓄電池組充放電過程中參數(shù)檢測控制這一工程實際問題,提出了一種基于CAN總線的蓄電池組充放電集散控制系統(tǒng)方案,重點介紹CAN總線特點、控制系統(tǒng)設(shè)計、節(jié)點單元電路及程序設(shè)計。
關(guān)鍵詞: CAN總線;單片機(jī);蓄電池組;實時檢測
引 言
隨著高科技及其產(chǎn)業(yè)的迅速發(fā)展,大存儲容量的蓄電池組能源系統(tǒng)已經(jīng)越來越被人們所重視,在諸如電動汽車、大功率UPS、電廠及變電站直流系統(tǒng)、通信系統(tǒng)等很多領(lǐng)域中都得到廣泛應(yīng)用。
蓄電池組是由一定數(shù)量的單體電池串聯(lián)組成的,在使用過程中可能會有百次直至千次的充、放電。各單體蓄電池過充電、過放電或者放電不足均易引起電池的故障,某個單體蓄電池的故障也會導(dǎo)致整個蓄電池組的故障和損壞。因此,在線實時檢測蓄電池組充放電各單體蓄電池的充放電電壓、充放電時的溫升以及整個蓄電池組的充放電電流、電壓等參數(shù),及時找出損壞或性能顯著降低的蓄電池,對于延長電池的使用壽命、降低成本特別是提高直流供電系統(tǒng)的可靠性至關(guān)重要。鑒于上述情況,我們研制了蓄電池組充、放電集散控制系統(tǒng),它克服了早期的集中采集檢測方法中布線多、線路長,浪費人力物力又易引入干擾的缺點,同時CAN總線多主節(jié)點、高可靠性以及擴(kuò)充性好等特點使得該系統(tǒng)具有較好的控制性能和廣泛的應(yīng)用前景。
系統(tǒng)的組成及工作原理
CAN總線簡介
控制器局域網(wǎng)絡(luò)CAN (Controller Area Network)總線屬于現(xiàn)場總線的范疇,是由德國BOSH公司為分布式系統(tǒng)在強(qiáng)電磁干擾環(huán)境下可靠工作而設(shè)計的一種串行通信網(wǎng)絡(luò),它具有如下顯著特點: (1)多主方式工作,各節(jié)點均可在任意時刻主動向網(wǎng)絡(luò)上的其它節(jié)點發(fā)送信息而不分主從,且無需站地址等節(jié)點信息,利用這一特點可方便地構(gòu)成多機(jī)備份系統(tǒng); (2)采用獨特的非破壞性總線仲裁技術(shù),優(yōu)先級高的節(jié)點優(yōu)先傳送數(shù)據(jù),能滿足不同的實時性要求; (3)廣播式數(shù)據(jù)通信,采用CSMA /CD協(xié)議進(jìn)行總線控制及數(shù)據(jù)通信。當(dāng)節(jié)點向網(wǎng)上發(fā)送數(shù)據(jù)時,其它節(jié)點都同時收到數(shù)據(jù),具有點對點、一點對多點及全局廣播傳送數(shù)據(jù)的功能; (4)高傳輸可靠性,總線上每幀有效字節(jié)數(shù)最多為8 個,并有CRC及其它校驗措施,數(shù)據(jù)出錯率極低,且在某一節(jié)點出現(xiàn)嚴(yán)重錯誤時可自動脫離總線,使總線上的其它操作不受影響; (5)特別適合于網(wǎng)絡(luò)化智能設(shè)備,最高速率可至1Mbps,此時通信距離為40m,通信速率選擇5kbps時,通信距離可長達(dá)10km,可根據(jù)實際需要選擇使用。CAN總線只有兩根導(dǎo)線,系統(tǒng)擴(kuò)充時直接將新節(jié)點掛接在總線上即可,系統(tǒng)容易實現(xiàn)冗余設(shè)計。所以從適用性、可靠性和低成本的角度考慮,本系統(tǒng)中我們選擇了CAN總線來構(gòu)成底層通信網(wǎng)絡(luò)。
集散控制系統(tǒng)的基本結(jié)構(gòu)及工作原理
系統(tǒng)由上位機(jī)(通用PC機(jī),帶CAN接口適配卡) ,n個智能電壓、溫度等數(shù)據(jù)采集節(jié)點單元(具體個數(shù)隨單體蓄電池數(shù)而定,但最多不超過110-2 = 108個) , 1個現(xiàn)場智能電壓、電流監(jiān)控顯示報警節(jié)點單元及CAN總線網(wǎng)絡(luò)組成,其系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1:集散控制系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)中的每個節(jié)點都以INTEL80C196KC單片機(jī)為核心,配以PH IL IPS半導(dǎo)體公司的SJA1000獨立CAN控制器和PCA82C250CAN收發(fā)器構(gòu)成。PC機(jī)和CAN控制器之間采用雙口RAMIDT7132作為雙向數(shù)據(jù)傳送通道。現(xiàn)場智能電壓電流監(jiān)控顯示報警節(jié)點單元另采用北京青云創(chuàng)新科技發(fā)展有限公司的液晶顯示模塊LCM320240ZK和簡易鍵盤,用于顯示各智能檢測節(jié)點單元發(fā)送來的現(xiàn)場數(shù)據(jù)和向各智能檢測節(jié)點單元發(fā)送簡短的PID調(diào)節(jié)等控制命令。智能電壓、溫度檢測節(jié)點單元則配以相應(yīng)的電壓、電流、溫度傳感器及相應(yīng)的處理電路,以完成電壓、電流及溫度信號的采集工作。
圖1中的各個智能電壓、溫度檢測節(jié)點單元分別安裝固定于各單體蓄電池旁,具有相同的硬件結(jié)構(gòu)。其主要功能是采集各單體蓄電池的充放電電壓,蓄電池在充放電過程中的溫升等現(xiàn)場數(shù)據(jù),經(jīng)過濾波和相應(yīng)變換后通過CAN 總線網(wǎng)絡(luò)送到上位機(jī)和現(xiàn)場監(jiān)控顯示報警節(jié)點單元;現(xiàn)場智能電壓、電流監(jiān)控顯示報警節(jié)點單元負(fù)責(zé)檢測蓄電池組充放電電壓、電流,接收各智能檢測節(jié)點單元發(fā)來的經(jīng)濾波、變換等處理后的現(xiàn)場數(shù)據(jù),對主要參數(shù)進(jìn)行顯示、存儲,完成對蓄電池組充放電電壓、電流的數(shù)字P ID調(diào)節(jié)控制,并對各單體蓄電池進(jìn)行故障診斷、鎖定和報警,其數(shù)據(jù)交換也是通過CAN總線網(wǎng)絡(luò)送到上位機(jī)。CAN總線網(wǎng)絡(luò)部分主要由CAN總線通信介質(zhì)和相應(yīng)的通信軟件組成。本系統(tǒng)通信介質(zhì)采用雙絞線,負(fù)載連接在CANH和CANL之間,終端匹配阻抗值為信號的特征阻抗值,約為120Ω。
節(jié)點單元硬件設(shè)計
節(jié)點單元工作原理
本系統(tǒng)中存在現(xiàn)場智能電壓電流監(jiān)控顯示報警節(jié)點單元和智能電壓、溫度檢測節(jié)點單元等不同類型的節(jié)點,但其核心電路基本類似,只是外圍接口電路和傳感器等采集電路有所區(qū)別。以帶有監(jiān)控顯示報警的節(jié)點單元為例,其結(jié)構(gòu)框圖如圖2所示。
圖2:節(jié)點單元結(jié)構(gòu)框圖
現(xiàn)場蓄電池充放電交直流電壓、電流、溫度等模擬量經(jīng)濾波、整形后,通過多路轉(zhuǎn)換開關(guān)進(jìn)入80C196KC的A /D轉(zhuǎn)換口,由單片機(jī)定時采樣并完成A /D轉(zhuǎn)換;開關(guān)量輸入經(jīng)過光耦、緩沖器進(jìn)入單片機(jī)的I/O口,單片機(jī)通過對I/O口的檢測和數(shù)值處理產(chǎn)生相應(yīng)的動作如聲光報警、關(guān)閉充放電電源模塊、繼電器動作等;單片機(jī)將A /D轉(zhuǎn)換后的數(shù)據(jù)與設(shè)定參數(shù)進(jìn)行比較和數(shù)字計算,由高速輸出口HSO完成PWM輸出,經(jīng)隔離、整形、濾波處理后送出PID調(diào)節(jié)信號,可對充放電電壓、電流進(jìn)行控制;由于外圍接口電路較多,用8155對單片機(jī)I/O 口進(jìn)行了擴(kuò)展,通過鍵盤和液晶可上、下、前、后翻屏查看監(jiān)控信息(充放電電源狀態(tài)、蓄電池狀態(tài)、充放電曲線等)和更改系統(tǒng)參數(shù)設(shè)置(電壓、電流閾值、溫度補(bǔ)償系數(shù)等) ;為進(jìn)行CAN總線通信和與上位機(jī)數(shù)據(jù)交換,節(jié)點單元還設(shè)置了CAN通信接口電路和RS232串行通信接口電路。
CAN總線接口電路
節(jié)點單元CAN總線部分硬件電路原理圖如圖3所示。節(jié)點單元CAN總線接口由獨立控制器SJA1000和CAN控制器接口芯片82C250 組成。SJA1000 作為微控制器的片外擴(kuò)展芯片,其片選腳CS接在微控制器的地址譯碼器上,從而決定了CAN控制器中的各寄存器在微控制器中的地址。SJA1000通過CAN控制器接口芯片82C250連接在物理總線上。收發(fā)器件82C250能提供對總線的差動發(fā)送能力和對CAN 控制器的差動接受能力,完全和“ ISO11898"標(biāo)準(zhǔn)兼容,具有高速、抗干擾、掉電能自動關(guān)閉輸出、支持達(dá)110個節(jié)點連接等特性。
系統(tǒng)軟件設(shè)計
本系統(tǒng)的軟件由兩部分組成:上位機(jī)PC機(jī)軟件和節(jié)點單元軟件。PC機(jī)軟件在Windows環(huán)境下用組態(tài)軟件產(chǎn)生友好的人機(jī)界面,實時讀取各節(jié)點單元所傳送的數(shù)據(jù),拼裝后在畫面上顯示,通過畫面能及時了解各蓄電池的工作特性、工作狀態(tài),對不符合要求的蓄電池發(fā)出報警信號,以便及時處理,找出蓄電池的最佳工作點,保證蓄電池充放電系統(tǒng)的正常工作,提高蓄電池組充放電的工作效率。節(jié)點單元軟件包括自檢程序、多路A /D轉(zhuǎn)換濾波處理程序、數(shù)字PID調(diào)節(jié)程序、LCD顯示程序和通信程序等模塊,采用匯編語言編寫,仿真調(diào)試脫機(jī)模擬后固化于EPROM內(nèi)。
圖3:節(jié)點單元CAN總線通信接口電路圖
節(jié)點單元主程序
節(jié)點單元主程序流程圖如圖4所示,完成對A/D轉(zhuǎn)換結(jié)果的數(shù)據(jù)分析, I/O口數(shù)字開關(guān)量的處理、調(diào)用蓄電池充放電參數(shù)調(diào)整程序、CAN總線通信程序和鍵盤、LCD顯示程序等。其中數(shù)據(jù)分析包括蓄電池組的充放電電壓、電流比較、浮充電壓判斷、低壓切除電壓閾值調(diào)整等;I/O數(shù)字開關(guān)量處理包括對開關(guān)量的判斷、報警等。
圖4:節(jié)點單元主程序流程圖
通信程序
CAN總線通信程序主要由三部分組成,即初始化程序、發(fā)送程序和接收程序。初始化程序主要完成CAN控制器工作方式的選擇,即對CAN控制器控制段中的寄存器寫控制字。本系統(tǒng)采用SJA1000,即在系統(tǒng)復(fù)位模式下完成如圖5的初始化流程。信息從CAN控制器發(fā)送到CAN總線或從CAN總線到CAN接收緩沖區(qū)都是由CAN總線控制器SJA1000自動完成的,發(fā)送和接收中斷處理流程圖分別如圖6、圖7所示。
圖6:CAN總線通信發(fā)送程序流程圖
圖7:CAN總線通信接收程序流程圖
液晶顯示程序
液晶顯示程序框架如圖8所示。帶中文字庫的大點陣圖形液晶顯示模塊LCM320240ZK每屏可顯示300個字符,且可以清晰顯示蓄電池組充放電電壓、電流、V/I特性等曲線。首屏監(jiān)控子菜單內(nèi)容包括當(dāng)前時間、交流電壓、電流、負(fù)載電壓、電流、環(huán)境溫度、單體蓄電池溫度、均浮充狀態(tài)等參數(shù)。在首屏上按功能選擇鍵啟動或復(fù)位可進(jìn)入主菜單屏,包括電池狀態(tài)監(jiān)控、充放電參數(shù)控制以及故障報警等子菜單,利用光標(biāo)移動可選擇要查看的子菜單。屏間信息的轉(zhuǎn)換、屏內(nèi)光標(biāo)的移動和參數(shù)的增減通過上、下、左、右和確定按鍵組合實現(xiàn)。
圖8:液晶顯示程序流程圖
結(jié) 語
基于CAN總線的蓄電池組充放電集散控制系統(tǒng)充放電參數(shù)檢測控制實時性好、抗干擾性強(qiáng)且易于升級,對于提高直流供電系統(tǒng)的可靠性,減輕工作人員的勞動強(qiáng)度,減少維護(hù)工作的盲目性具有重要的參考價值。