基于CAN總線技術(shù)的開關(guān)電源監(jiān)控系統(tǒng)的設(shè)計(jì)

基于CAN總線技術(shù)的開關(guān)電源監(jiān)控系統(tǒng)的設(shè)計(jì)張健,李華(裝甲兵工程學(xué)院自動(dòng)控制系,北京件和軟件設(shè)計(jì)進(jìn)行了討論,給出了現(xiàn)場(chǎng)節(jié)點(diǎn)與上位機(jī)軟件的設(shè)計(jì)流程圖。
隨著我國電力電子技術(shù)的飛速發(fā)展,工業(yè)用電設(shè)備對(duì)電力系統(tǒng)以及電源的要求越來越嚴(yán)格,其所要求的維護(hù)管理質(zhì)量和水平也越來越高。而計(jì)算機(jī)技術(shù)在電源領(lǐng)域中的廣泛應(yīng)用,進(jìn)一步對(duì)電源設(shè)備提出了集中監(jiān)控、少人或無人值守的要求。為了改變傳統(tǒng)的人工監(jiān)護(hù)體制,提高用電設(shè)備的管理水平,筆者針對(duì)廣泛應(yīng)用的開關(guān)式電源,研制開發(fā)了一套分布式監(jiān)控系統(tǒng)。近幾年來,計(jì)算機(jī)公司、設(shè)備生產(chǎn)廠家、研究所等部門研制出不同特色的電源監(jiān)控系統(tǒng),其中主要是數(shù)據(jù)采集網(wǎng)絡(luò)控制部分各不相同,這些監(jiān)控系統(tǒng)的針對(duì)性較強(qiáng),專門應(yīng)用于開關(guān)電源的監(jiān)控系統(tǒng)不多,對(duì)一些中小型的用電設(shè)備或試驗(yàn)設(shè)備來說成本高,可移植性比較差。本室研制的便攜式電源,輸入電壓為220V或380V交流電,輸出為24V00A,具有容量大、體積小、效率高等特點(diǎn),而且可以任意并聯(lián),具有自動(dòng)均流等功能。根據(jù)用電設(shè)備的使用和維修要求,可以將多個(gè)開關(guān)電源并聯(lián),構(gòu)成電源系統(tǒng),并采用該監(jiān)控系統(tǒng)實(shí)現(xiàn)對(duì)電源系統(tǒng)的遠(yuǎn)程監(jiān)控。該系統(tǒng)可以實(shí)時(shí)的監(jiān)控電源設(shè)備的運(yùn)行情況,甚至可以根據(jù)需要同時(shí)監(jiān)控用電設(shè)備的工作狀態(tài),可以通過現(xiàn)場(chǎng)或計(jì)算機(jī)遠(yuǎn)程設(shè)定電源的工作參數(shù),具有故障定位、告警監(jiān)視等特點(diǎn),并可以動(dòng)態(tài)地?cái)U(kuò)展現(xiàn)場(chǎng)節(jié)點(diǎn),具有維護(hù)方便、擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)。
1系統(tǒng)結(jié)構(gòu)現(xiàn)場(chǎng)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)采集與控制,采用總線型網(wǎng)絡(luò)結(jié)構(gòu),CAN總線2.0A協(xié)議,通信介質(zhì)為雙絞線?,F(xiàn)場(chǎng)節(jié)點(diǎn)對(duì)模擬量進(jìn)行采樣,并將數(shù)據(jù)與預(yù)設(shè)值進(jìn)行比較,根據(jù)控制規(guī)律調(diào)整開關(guān)電源的參數(shù),使開關(guān)電源達(dá)到工作要求。并將數(shù)據(jù)傳給上位機(jī)。在這里,現(xiàn)場(chǎng)節(jié)點(diǎn)的監(jiān)控功能可以用2種芯片來實(shí)現(xiàn),一種是帶CAN口的單片機(jī),另一種是TI公司的DSP. TMS320F243.以單片機(jī)為核心的功能板CC1用于電源系統(tǒng)及控制算法比較簡(jiǎn)單,網(wǎng)絡(luò)數(shù)據(jù)吞吐量不大,控制精度及實(shí)時(shí)性要求不是很高的場(chǎng)合;以TMS320F243為核心的功能板CC2主要用于網(wǎng)絡(luò)數(shù)據(jù)吞吐量很大,電源內(nèi)部的控制算法比較復(fù)雜,對(duì)現(xiàn)場(chǎng)設(shè)備,實(shí)時(shí)性、控制精度要求高的用電系統(tǒng)。在具體應(yīng)用中使用哪種功能板,根據(jù)現(xiàn)場(chǎng)設(shè)備的要求而定。而且這2種功能板可以相互通信,因而在網(wǎng)絡(luò)組成方面十分靈活,既可以單獨(dú)使用2種功能板的一種,也可以混合使用,可以滿足由不同開關(guān)電源組成的供電系統(tǒng)的需要,從而節(jié)省了開支,充分體現(xiàn)了該系統(tǒng)的靈活性。2種功能板上都有擴(kuò)展采樣接口可以同時(shí)監(jiān)測(cè)用電設(shè)備的狀態(tài),使遠(yuǎn)程監(jiān)控人員能夠更好地了解到設(shè)備的工作情況。
從供電系統(tǒng)的構(gòu)成,提高監(jiān)控實(shí)時(shí)性方面來考慮,建議用戶使用以下幾種網(wǎng)絡(luò)組成結(jié)構(gòu)。
1.1組網(wǎng)方式對(duì)于較少的開關(guān)電源組成的供電系統(tǒng),可以采用菊花鏈的形式組網(wǎng),如。
當(dāng)開關(guān)電源的精度要求較高時(shí),可以將CC1代換成CC2.由于CAN適配卡支持CAN2.0A協(xié)議,DSP支持CAN2.0B協(xié)議,在使用DSP與CAN適配卡通信時(shí)須將DSP的報(bào)文格式設(shè)置成標(biāo)準(zhǔn)格式,此時(shí)DSP的標(biāo)識(shí)符只有5 ~12位有效。
對(duì)于較多的開關(guān)電源組成的供電系統(tǒng),網(wǎng)絡(luò)中數(shù)據(jù)傳送量很大,要求嚴(yán)格控制精度時(shí),益采用多級(jí)網(wǎng)絡(luò)結(jié)構(gòu),維護(hù)起來也十分方便。根據(jù)實(shí)際情況,也可以混合使用CC1和CC2.目前,該監(jiān)控系統(tǒng)根據(jù)需要可以監(jiān)控16個(gè)現(xiàn)場(chǎng)節(jié)點(diǎn)。
1.2CAN的設(shè)計(jì)在本系統(tǒng)設(shè)計(jì)中,穩(wěn)定性是第一位的,為了提高網(wǎng)絡(luò)通信的效率與穩(wěn)定性,首先要保證網(wǎng)絡(luò)帶寬大于網(wǎng)絡(luò)的出幀率,避免節(jié)點(diǎn)的數(shù)據(jù)丟失問題。在本系統(tǒng)中,現(xiàn)場(chǎng)節(jié)點(diǎn)的數(shù)目較少,通過設(shè)置標(biāo)識(shí)符對(duì)系統(tǒng)所要監(jiān)控的電源編號(hào),并在軟件中加入適當(dāng)?shù)难舆t時(shí)間即可大大提高系統(tǒng)的接收、發(fā)送幀的效率。本系統(tǒng)CAN的設(shè)計(jì)方法如下:確定系統(tǒng)中開關(guān)電源與上位機(jī)的最大距離,以此作為確定系統(tǒng)位時(shí)間中傳播段的依據(jù),如果有必要,考慮到將來系統(tǒng)擴(kuò)展,也可以將擴(kuò)展后的最大距離作為傳播段的依據(jù)。這樣做的缺點(diǎn)就是導(dǎo)致目前網(wǎng)絡(luò)的位速率較慢。
確定系統(tǒng)位速率。系統(tǒng)如果采用CC2與CAN適配卡通信,則CAN適配卡的位速率與DSP的位速率必須相同。但由于CAN適配卡與DSP的時(shí)鐘頻率不同,具體配置各自寄存器時(shí),最好保證各自的系統(tǒng)時(shí)鐘Tscl相同,這樣往往能夠降低出錯(cuò)率。并且在確定位速率時(shí),往往有多個(gè)配置可以選擇,應(yīng)該選擇具有最高振蕩器容差范圍的參數(shù)配置。
最大振蕩器容差范圍的確定要以系統(tǒng)中對(duì)振蕩器容差范圍要求最高的節(jié)點(diǎn)為準(zhǔn)。最大振蕩器容差范圍要滿足以下2個(gè)條件:I,fmin(相位緩沖段1,相位緩沖段2)itdf <同步跳轉(zhuǎn)寬度1:df2*(13*位時(shí)間一相位緩沖段2)‘:df20*位時(shí)間如果位速率較低,則可以忽略這一步。
如果位速率較高,各項(xiàng)要求就必須嚴(yán)格。首先要確定CAN適配卡與DSP輸入輸出延遲時(shí)間以及網(wǎng)絡(luò)內(nèi)最大的信號(hào)傳播時(shí)間蓖米約為\5挪)以此配置時(shí)間中的傳播段。寸間份額總鹱:/」播時(shí)份額數(shù)為偶數(shù)時(shí),應(yīng)有相位緩沖段1 =相位緩沖段2或相位緩沖段1=相位緩沖段2十1,而且,相位緩沖段2的最小長(zhǎng)度不應(yīng)小于控制器的信息處理時(shí)間,通常情況下,應(yīng)該大于2個(gè)時(shí)間份額。
確定網(wǎng)絡(luò)的帶寬即一幀(由網(wǎng)絡(luò)中距離上位機(jī)最遠(yuǎn)的節(jié)點(diǎn)發(fā)送)在網(wǎng)絡(luò)中傳輸時(shí)間的倒數(shù)。然后確定網(wǎng)絡(luò)的出幀率即單位時(shí)間內(nèi)網(wǎng)絡(luò)所產(chǎn)生的數(shù)據(jù)幀的個(gè)數(shù)。為了保證帶寬大于出幀率還要在軟件中設(shè)置一定的延遲時(shí)間,如果系統(tǒng)擴(kuò)展節(jié)點(diǎn),延遲時(shí)間還要重新考慮。
2系統(tǒng)硬件設(shè)計(jì)CC2在網(wǎng)絡(luò)通信和控制功能的實(shí)現(xiàn)主要由TMS320F243完成,CC1在網(wǎng)絡(luò)通信和控制功能的實(shí)現(xiàn)主要由196CA單片機(jī)完成。TMS320F243芯片有8路A/D,6路PWM輸出,芯片內(nèi)部還有完全符合CAN2.0B協(xié)議的CAN控制器,與TI公司的CAN發(fā)送器SN75LBC031相連,數(shù)據(jù)傳送速率可達(dá)500kbps/s完全可以滿足監(jiān)控系統(tǒng)的實(shí)時(shí)性要求。功能板上有數(shù)碼管和鍵盤,可以現(xiàn)場(chǎng)觀察設(shè)備工作情況,并可以動(dòng)態(tài)地輸入設(shè)置參數(shù),也可以通過計(jì)算機(jī)遠(yuǎn)程設(shè)置電源工作參數(shù)。CC1的通信功能由196CA上的CAN控制器來完成,控制則由單片機(jī)配合其外圍設(shè)備來完成,主要是A/D、D/A轉(zhuǎn)換芯片和壓控振蕩器。這2種功能板的主要功能相同,限于篇幅,在這里只對(duì)CC2進(jìn)行介紹。其硬件設(shè)計(jì)如框圖所示。
節(jié)點(diǎn)構(gòu)成考慮到網(wǎng)絡(luò)滿載時(shí),數(shù)據(jù)傳送量會(huì)很大,為了提高監(jiān)控的實(shí)時(shí)性,使網(wǎng)絡(luò)具有通用性和可擴(kuò)展性,通過一塊CAN適配卡將計(jì)算機(jī)接入CAN網(wǎng)絡(luò),提高網(wǎng)絡(luò)數(shù)據(jù)處理能力并且使系統(tǒng)很容易與其他管理網(wǎng)絡(luò)連網(wǎng),便于統(tǒng)一調(diào)度和管理。為此,選用三興達(dá)公司生產(chǎn)的智能PCCAN卡,該卡提供9個(gè)函數(shù),經(jīng)試驗(yàn)完全可以滿足需要。
3功能板軟件設(shè)計(jì)TMS320F243的程序用匯編語言編寫,其流程圖如所示。
為了避免干擾,電源輸出同一系列三角波比較,使輸出變?yōu)榭捎^測(cè)的脈沖,通過檢測(cè)脈沖寬度,得到電源電壓、電流的數(shù)值,經(jīng)過濾波和數(shù)據(jù)分析,數(shù)據(jù)傳送給上位機(jī)。
DSP中的CAN控制器配置按照下面2個(gè)公式進(jìn)行:其中TSEG1=寄存器數(shù)值+1;TSEG2=寄存器數(shù)值十1,這是讀者最需要注意的地方,不要同CAN適配卡的配置混淆,否則會(huì)導(dǎo)致網(wǎng)絡(luò)中數(shù)據(jù)無法接收。
CC1的功能與CC2基本相同,這里略去。
4上位機(jī)軟件設(shè)計(jì)上位機(jī)實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)節(jié)點(diǎn)的遠(yuǎn)程監(jiān)控功能,分析和處理現(xiàn)場(chǎng)節(jié)點(diǎn)發(fā)送的大量數(shù)據(jù),并根據(jù)預(yù)先設(shè)定的控制策略對(duì)現(xiàn)場(chǎng)節(jié)點(diǎn)實(shí)現(xiàn)自動(dòng)控制,實(shí)現(xiàn)實(shí)時(shí)控制的要求,同時(shí)也可以根據(jù)用戶需要,讓用戶自己手工操控現(xiàn)場(chǎng)節(jié)點(diǎn),節(jié)點(diǎn)的情況可以動(dòng)態(tài)地在計(jì)算機(jī)上顯示出來。
上位機(jī)軟件功能主要靠適配卡提供的9個(gè)函數(shù)來實(shí)現(xiàn)。為了較好地使用計(jì)算機(jī)資源,采用線程的方法完成對(duì)軟件的設(shè)計(jì),軟件用C++BUILDER編寫。軟件設(shè)計(jì)流程圖如所示。
CAN適配卡提供PCCAN.DLL,PCCAN.LIB,PCCAN.H.在編寫應(yīng)用程序時(shí),需將PCCAN.DLL,PCCAN.LIB以及PCCAN.H拷到應(yīng)用程序所在的目錄。但BCB無法使用用C語言編寫的庫函數(shù),這時(shí)可以用BCB所帶的工具IMPLIB生成BCB可以引用的LIB.具體操作如下:在DOS下進(jìn)入IMPLIB所在的目錄敲入implibXXX.libPCCAN.dll,然后將生成的XXX.lib拷到應(yīng)用目錄下,在PCCAN.h中所有聲明的函數(shù)前加上EXTERN.在應(yīng)用程序的選項(xiàng)中添加xxx.lib在程序的最前面加上“INCLUDEPCCAN.H*就可以在應(yīng)用71994-2014ChinaAcademicJournal程序中調(diào)用所有的CAN適配卡函數(shù)了。
CAN適配卡上的CAN控制器中有2個(gè)總線定時(shí)寄存器,其中總線定時(shí)寄存器0可決定波特率預(yù)分頻和同步跳轉(zhuǎn)寬度的數(shù)值,其低6位用來確定系統(tǒng)時(shí)鐘,而其高2位用來確定同步跳轉(zhuǎn)寬度。總線定時(shí)寄存器1可決定位周期寬度、采樣點(diǎn)位置和在每個(gè)采樣點(diǎn)進(jìn)行采樣的次數(shù),并按照下式計(jì)算:tTSEGi=tsd(8TSEG1. 1),其中tcik為卡上振蕩器的時(shí)鐘周期。這里需要注意tTSEGi與tTSEG2,它們的算法分別同式1* 1中的TSEG1、式1―2中的TSEG2相同,如果網(wǎng)絡(luò)中使用DSP那么在計(jì)算過程中一定要加以區(qū)分。
5結(jié)束語該系統(tǒng)經(jīng)過運(yùn)行和測(cè)試,證明了現(xiàn)場(chǎng)節(jié)點(diǎn)數(shù)據(jù)檢測(cè)質(zhì)量可靠,采集精度高,使用CAN總線技術(shù)使布線十分靈活,通信方式突破了傳統(tǒng)的主/從式的限制,具有響應(yīng)速度快,實(shí)時(shí)性好的特點(diǎn)。通過2種功能板的靈活運(yùn)用可以滿足受控設(shè)備擴(kuò)展后的要求,具有擴(kuò)展性強(qiáng)的優(yōu)點(diǎn)。