1. CAN總線" title="CAN總線">CAN總線與船舶電站
隨著航運(yùn)事業(yè)的發(fā)展和船舶電站的要求提高,總線技術(shù)逐漸在船舶控制技術(shù)中使用,分布式系統(tǒng)在新設(shè)計(jì)系統(tǒng)中漸漸成為主角。其中控制器局域網(wǎng)(Controller Area Network,CAN)模塊是一個(gè)串行接口,可用于與其他外設(shè)或者單片機(jī)之間進(jìn)行通信,此接口/協(xié)議是針對(duì)允許在噪聲環(huán)境下通信而設(shè)計(jì)的。本文以CAN總線為基礎(chǔ),結(jié)合單片微機(jī)(MCU)技術(shù),
將船舶電站中的三臺(tái)發(fā)動(dòng)機(jī)、三臺(tái)發(fā)電機(jī)、三個(gè)主配電屏構(gòu)成的供電電站系統(tǒng)實(shí)現(xiàn)無(wú)人自動(dòng)控制并可實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。
CAN具有幾個(gè)重要的特點(diǎn):一是總線協(xié)議完全開(kāi)放,從相關(guān) CAN芯片或 MCU中可以直接得到相關(guān)的控制字及寄存器,只要對(duì)相關(guān)的寄存器進(jìn)行有效的設(shè)置,CAN總線模塊能自動(dòng)地進(jìn)行通訊,MCU可以直接通過(guò)讀或?qū)懱幚?CAN通訊的信息;二是 CAN為底層協(xié)議,用戶完全可以在此基礎(chǔ)上進(jìn)行用戶自定制的高層協(xié)議;三是該總線有成熟的市場(chǎng)使用,有可靠的抗干擾特性。所以在船舶控制系統(tǒng)中也越來(lái)越多地使用CAN 總線。
船舶電站按控制功能可以分成如下幾個(gè)部分:
1) 發(fā)動(dòng)機(jī)的起動(dòng)、停止控制
2) 發(fā)電機(jī)的電壓控制和無(wú)功分配控制
3) 發(fā)電機(jī)的信號(hào)檢測(cè)及保護(hù)控制
4) 發(fā)電機(jī)自動(dòng)并車控制
5) 發(fā)電機(jī)的電能管理控制
上述控制各有對(duì)應(yīng)的傳感器,信號(hào)變送器和執(zhí)行控制器與之相配,本系統(tǒng)將各環(huán)節(jié)或組成部分用帶 CAN總線的單片微機(jī)來(lái)實(shí)現(xiàn),系統(tǒng)結(jié)構(gòu)具體如圖 2所示,系統(tǒng)分為三層,昀高一層是一個(gè)電網(wǎng)的電能管理控制器( PMU), 檢測(cè)電網(wǎng)的用電情況,并根據(jù)情況向中間一層對(duì)應(yīng)的控制器發(fā)送起動(dòng)或停止信號(hào),或發(fā)出負(fù)荷增減信號(hào),中間一層是每臺(tái)發(fā)電機(jī)所需要的控制器,根據(jù)需要調(diào)節(jié)控制各自的電量信號(hào),如電壓或電流等,昀低一層是傳感器和執(zhí)行器層,由一個(gè)或幾個(gè)傳感器或執(zhí)行器構(gòu)成一個(gè) CAN總線的單元,所有的組成均掛在一個(gè) CAN總線網(wǎng)上,為保證系統(tǒng)可靠,物理上每個(gè)單元帶雙 CAN接口,整個(gè)網(wǎng)絡(luò)構(gòu)成兩個(gè) CAN網(wǎng)絡(luò),即 CAN 總線實(shí)現(xiàn)冗余控制,理論上,任意一個(gè)控制器均可控制任意一個(gè)傳感器或執(zhí)行器,即可實(shí)現(xiàn)控制器的冗余控制,實(shí)際上是將三臺(tái)發(fā)電機(jī)對(duì)應(yīng)功能的控制器做成相互冗余,不同性質(zhì)的控制器不做冗余,但是昀高一級(jí)的控制器( PMU)內(nèi)帶中間以及所有控制器的功能,可以實(shí)現(xiàn)向下冗余控制。
開(kāi)關(guān)量輸入變送器 1是檢測(cè)燃油發(fā)動(dòng)機(jī)的一些基本信號(hào)并將其轉(zhuǎn)換成CAN 總線接口信號(hào),這些基本信號(hào)包括:冷卻水壓力,滑油溫度,油底殼油位,發(fā)動(dòng)機(jī)備用狀態(tài),發(fā)動(dòng)機(jī)自動(dòng)控制位置,燃油壓力,起動(dòng)空氣壓力等;CAN總線 2是整個(gè)系統(tǒng)通訊的網(wǎng)絡(luò)總線,圖示為一條總線,實(shí)際為保證系統(tǒng)可靠,使用兩條總線方式,每個(gè)單元均帶 2個(gè)總線接口,實(shí)現(xiàn)雙總線冗余;起停輸出執(zhí)行器 3是帶 CAN接口的繼電器輸出,去控制發(fā)動(dòng)機(jī)的起動(dòng)、停止和緊急停止電磁閥;發(fā)動(dòng)機(jī)起動(dòng)停止及保護(hù)控制器 4是控制發(fā)動(dòng)機(jī)運(yùn)行或停止的控制核心,一方面接受控制按鈕等信號(hào),一方面接受 CAN總線的信號(hào),并根據(jù)這些命令信號(hào)去控制發(fā)動(dòng)機(jī);加減輸出執(zhí)行器 5是帶CAN總線的繼電器輸出控制器,并帶本地手動(dòng)輸出,其作用是控制發(fā)動(dòng)機(jī)內(nèi)調(diào)速器的輸入,起到調(diào)節(jié)速度或負(fù)載的目的;燃油發(fā)動(dòng)機(jī) 6根據(jù)起動(dòng)或停止電磁閥控制運(yùn)行,根據(jù)調(diào)速器來(lái)調(diào)節(jié)運(yùn)行速度或輸出功率;轉(zhuǎn)速等模擬輸入變送器 7是檢測(cè)發(fā)動(dòng)機(jī)的速度,冷卻水溫度,滑油壓力,排氣溫度等一些重要參數(shù)的傳感器并將信號(hào)轉(zhuǎn)換為 CAN總線接口的信號(hào);電站電能管理控制器 8是整個(gè)控制系統(tǒng)的調(diào)度控制單元,檢測(cè)電網(wǎng)和每臺(tái)發(fā)動(dòng)機(jī)的狀態(tài),實(shí)現(xiàn)調(diào)頻調(diào)載的自動(dòng)控制,或?qū)崿F(xiàn)自動(dòng)起動(dòng),或控制自動(dòng)卸載解列;調(diào)壓執(zhí)行器9是帶CAN總線控制的相復(fù)勵(lì)自動(dòng)調(diào)壓控制器,根據(jù) CAN總線來(lái)的命令或自帶的調(diào)節(jié)旋鈕信號(hào)調(diào)節(jié)其旁路可控硅的觸發(fā)角,從而實(shí)現(xiàn)發(fā)動(dòng)機(jī)的調(diào)壓控制;發(fā)電機(jī) 10接受 9的勵(lì)磁調(diào)節(jié),由原動(dòng)機(jī) 6帶動(dòng)輸出電能給配電裝置;自動(dòng)調(diào)壓及無(wú)功控制器 11根據(jù)發(fā)電機(jī)的電壓,電流信號(hào),同時(shí)需要判斷其無(wú)功功率和功率因素值,來(lái)調(diào)節(jié)其輸出給單元9,實(shí)現(xiàn)電壓恒定及無(wú)功分配均衡;電壓電流信號(hào)輸入變送器 12是檢測(cè)本發(fā)電機(jī)輸出的電壓和電流信號(hào)以及兩者之間的相位差,計(jì)算出需要使用的功率值,無(wú)功功率值,功率因素值等電量,并轉(zhuǎn)換為數(shù)字信號(hào)通過(guò) CAN接口提供給需要的其他環(huán)節(jié);主開(kāi)關(guān)保護(hù)控制器 13主要實(shí)現(xiàn)發(fā)電機(jī)的過(guò)電流、欠電壓、逆功率的保護(hù),其輸入信號(hào)由環(huán)節(jié) 12提供,主開(kāi)關(guān)及配電屏狀態(tài)信號(hào)作為輔助信號(hào)輸入,其控制的是主開(kāi)關(guān)的分?jǐn)嗫刂?;屏上按鈕等輸入變送器 14是將配電屏上的按鈕等所有操作信號(hào)轉(zhuǎn)換為標(biāo)準(zhǔn)的CAN 接口信號(hào)并提供給 CAN網(wǎng)絡(luò)上的有關(guān)環(huán)節(jié)使用;主配電屏15是含主開(kāi)關(guān),有關(guān)繼電回路,有關(guān)設(shè)備安裝其內(nèi)部的配電裝置;主開(kāi)關(guān)并車控制器 16將檢測(cè)本發(fā)電機(jī)和電網(wǎng)之間的電量差別,通過(guò)調(diào)節(jié)本發(fā)電機(jī)實(shí)現(xiàn)兩者的同步并自動(dòng)并車;主開(kāi)關(guān)合閘/分閘執(zhí)行器 17是帶 CAN接口的繼電器輸出環(huán)節(jié),其與主開(kāi)關(guān)配套,實(shí)現(xiàn)主開(kāi)關(guān)的儲(chǔ)能,合閘或分閘的控制;供電母線 18是船舶電站三臺(tái)發(fā)電機(jī)供電的電網(wǎng),所有外部用電設(shè)備均經(jīng)過(guò)本電網(wǎng)供電。
2. 帶 CAN總線接口的 MCU單元
從圖2可以看出,控制系統(tǒng)相關(guān)環(huán)節(jié)均需要配有CAN總線接口,包括傳感器信號(hào)輸入和控制輸出,其中有些信號(hào)變送環(huán)節(jié)還需要經(jīng)過(guò)計(jì)算和分析,基本上帶CAN總線的單元均需要配單片微型計(jì)算機(jī)MCU,通過(guò)MCU采集需要的信號(hào)或輸出控制信號(hào),由MCU和CAN實(shí)現(xiàn)總線接口,為方便該功能的實(shí)現(xiàn),選擇帶CAN總線接口的MCU,本系統(tǒng)使用MICROCHIP公司的PIC30系列的控制芯片來(lái)實(shí)現(xiàn),其內(nèi)置CAN模塊主要特性如下:
• 實(shí)現(xiàn)CAN協(xié)議:CAN 1.2、CAN 2.0A和CAN 2.0B
• 標(biāo)準(zhǔn)和擴(kuò)展的數(shù)據(jù)幀
• 數(shù)據(jù)長(zhǎng)度為0 到8 字節(jié)
• 可編程比特率達(dá)到1 Mb/s
• 支持遠(yuǎn)程數(shù)據(jù)幀
• 雙緩沖的接收器,帶兩個(gè)區(qū)分優(yōu)先級(jí)的接收?qǐng)?bào)文存儲(chǔ)緩沖器
根據(jù)上述具備 CAN通訊接口的 MCU特性描述,結(jié)合使用場(chǎng)合,配以相關(guān)的電路可以實(shí)現(xiàn)帶雙 CAN接口的多種多樣的變送器和執(zhí)行器,MCU采用 dsPIC30f5011,內(nèi)置兩路 CAN接口。MCU與 CAN接口電路如圖 3所示,C1Tx是 1號(hào) CAN總線的發(fā)送信號(hào),C1Rx是 1號(hào) CAN總線的接受信號(hào),C2Tx是 2號(hào) CAN總線的發(fā)送信號(hào),C2Tx是 2號(hào) CAN總線的接受信號(hào),外圍開(kāi)關(guān)量可以實(shí)現(xiàn)昀大 48路輸入或輸出,模擬量昀大可以實(shí)現(xiàn) 16路輸入。MCU與外圍采用高速芯片 6N137進(jìn)行光電隔離 , CAN總線收發(fā)器采用標(biāo)準(zhǔn)的 PCA82C250,其輸出為差分信號(hào),定義為 CANH和 CANL一對(duì),采用雙絞線方式掛在整個(gè)系統(tǒng) CAN總線網(wǎng)絡(luò)上。CANH 和 CANL之間并聯(lián)小電容可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力,另外,在 CAN 總線的終端處的兩根線 CANH 和 CANL間還并聯(lián)一個(gè) 120歐姆的電阻,以消除信號(hào)的反射。
MCU內(nèi)具備強(qiáng)大功能, 16位 CPU,程序存儲(chǔ)器達(dá) 66K,4K RAM,1K EEPROM,16 ×16bit工作寄存器,昀高時(shí)鐘可以使用 10M晶振倍頻 16倍,所以一般應(yīng)用場(chǎng)合均能適應(yīng),由于自帶 DSP核心,對(duì)要求快速響應(yīng)的數(shù)據(jù)處理也能勝任,一般不需要擴(kuò)展即可滿足需要,具體需要實(shí)現(xiàn)的信號(hào)輸入輸出,只要配以合適的外圍接口電路即可實(shí)現(xiàn);需要實(shí)現(xiàn)的控制功能也可編程實(shí)現(xiàn)。在本系統(tǒng)中除電站電能管理控制器要求比較復(fù)雜,需要進(jìn)一步增強(qiáng)系統(tǒng)配置外,其它控制器和信號(hào)接口或變送器等均使用上述電路實(shí)現(xiàn),帶 CAN接口的變送器或執(zhí)行器一端如圖 3所示實(shí)現(xiàn) CAN總線接口,另一端配以 MCU對(duì)應(yīng)的外圍電路,可實(shí)現(xiàn)帶CAN總線的不同功能的輸入輸出。具體如下:
2.1 帶 CAN總線的常用信號(hào)變送器
常用的信號(hào)分為開(kāi)關(guān)量輸入, 0-5V,4-20mA,熱電阻,熱電偶等,其中開(kāi)關(guān)量信號(hào)輸入采用光耦隔離輸入,模擬量輸入采用高性能的儀表運(yùn)算放大器構(gòu)成,熱電阻,熱電偶等均采用標(biāo)準(zhǔn)的信號(hào)調(diào)理電路,所以對(duì) MCU而言,輸入的均為標(biāo)準(zhǔn)的0-5V信號(hào),對(duì)應(yīng)傳感器的昀大量程。經(jīng)信號(hào)調(diào)理后的 16路模擬量輸入接到 MCU的RB0-15,即可實(shí)現(xiàn) MCU對(duì)該 16路模擬量輸入的采樣。開(kāi)關(guān)量輸入信號(hào)變送器將輸入信號(hào)隔離后送到 MCU的PORTB-G口,昀大可以實(shí)現(xiàn) 48個(gè)輸入,除使用光耦隔離電路外中間不需要其它電路。
2.2 帶 CAN總線的編碼信號(hào)變送器
正交脈沖編碼輸入,有A,B正交的2相輸入,即相位上相差90度,其昀到頻率可達(dá)20KHz。由于頻率較高,光電隔離應(yīng)采用高速光耦來(lái)采樣,可以使用 MCU的信號(hào)捕捉接口 RD8—11來(lái)實(shí)現(xiàn) 2組 4個(gè)正交脈沖編碼輸入,配置 MCU相應(yīng)的寄存器可實(shí)現(xiàn)正交脈沖編碼的計(jì)數(shù)和正負(fù)判斷。
2.3 帶 CAN總線的電量信號(hào)變送器
電量信號(hào)的采樣需要采集電壓和電流信號(hào)并轉(zhuǎn)換成有效值,調(diào)理成 MCU需要的0-5V信號(hào),同時(shí)需要正弦-方波的轉(zhuǎn)換,送到 MCU的中斷接口處,便于相位計(jì)算。電壓信號(hào)的調(diào)理電路如圖 4所示,電流型電壓互感器將取樣電壓信號(hào)轉(zhuǎn)換成 mA電流信號(hào)經(jīng)運(yùn)放 U2放大成電壓信號(hào),經(jīng) U1A比較電路取得交流電壓過(guò)零方波的檢測(cè)信號(hào),供頻率轉(zhuǎn)換和相位計(jì)算用,運(yùn)放 U1B,U1C電路構(gòu)成整流電路,U1D電路為濾波電路,其輸出為 MCU需要的0-5V電壓信號(hào)。電壓信號(hào)采樣考慮到變化幅度有限,選擇 1.5倍額定電壓對(duì)應(yīng) MCU昀大輸入5V,而電流信號(hào)變化比較大,特別是大電機(jī)起動(dòng)時(shí),電流可以達(dá)到其額定電流6-8倍,電流的保護(hù)控制也需要能有效地實(shí)現(xiàn)8-10倍的保護(hù)控制,所以同一個(gè)電流的采樣分成三個(gè)等級(jí)來(lái)實(shí)現(xiàn),一是 2倍額定電流對(duì)應(yīng) MCU對(duì)答輸入5V,一是 4倍額定電流對(duì)應(yīng) MCU的 5V輸入,另一是 10倍額定電流對(duì)應(yīng) 5V輸入。電路原理與圖 4所示類似,這樣,一臺(tái)發(fā)電機(jī)輸出的三相電壓和電流的采樣要用到 12個(gè)模擬量輸入,3個(gè)電壓過(guò)零中斷輸入,3個(gè)電流過(guò)零中斷輸入。根據(jù)上述信號(hào) MCU將不僅得到相應(yīng)的電壓值、電流值,還要計(jì)算出相位差,功率因素,有功功率,無(wú)功功率,視在功率,有功電能統(tǒng)計(jì)等,同時(shí)需要根據(jù)額定值確定是否有過(guò)電壓、欠電壓、長(zhǎng)延時(shí)過(guò)電流、短延時(shí)過(guò)電流、瞬時(shí)過(guò)電流,逆功率等故障信號(hào),所以本電量變送器含多重功能。
2.4帶 CAN總線的執(zhí)行器
MCU的 I/O口可以配置為輸出,根據(jù)需要將相應(yīng)的 I/O配置成輸出后,接到光電耦合單元,其輸出再經(jīng)過(guò)三極管驅(qū)動(dòng)繼電器實(shí)現(xiàn)繼電器的輸出。執(zhí)行器的控制為其控制電源經(jīng)過(guò)繼電器的觸點(diǎn)后送到執(zhí)行器上,控制其正反運(yùn)轉(zhuǎn)實(shí)現(xiàn)相應(yīng)的調(diào)節(jié),或控制電磁閥回路的通斷等。在一些特殊場(chǎng)合,MCU的輸出可經(jīng)過(guò)光電耦合后再經(jīng)三極管驅(qū)動(dòng)MOSFET,實(shí)現(xiàn) PWM的調(diào)節(jié)控制,或有關(guān)的執(zhí)行器件的動(dòng)作調(diào)節(jié)。
3. 帶CAN總線接口的各種控制器
帶 CAN總線的控制器 CAN接口與上述 MCU的相同,在控制器中,輸入輸出不是主要的,主要的是 MCU的運(yùn)算能力,存儲(chǔ)能力,控制能力,顯示驅(qū)動(dòng)等,所以考慮使用的 MCU為 PIC系列中較為高端的MCU,其硬件電路也大同小異,除與圖 3使用 CAN接口電路相同外,另外為配合需要使用了一些帶I 2C的擴(kuò)展電路,如EEPROM,時(shí)鐘電路等,如圖5所示,其中SCL,SDA為 MCU中自帶的 I 2C的接口,定義為時(shí)鐘線和數(shù)據(jù)線,A0,A1,A2為相同器件同時(shí)使用時(shí)的選擇信號(hào),由 MCU控制,U3為時(shí)鐘芯片DS1307,與為時(shí)鐘源晶振,24C08為I 2C接口的EEPROM。如需要其他功能,可以在原來(lái)I 2C總線接口電路上再擴(kuò)展。在此硬件基礎(chǔ)上,通過(guò) CAN接受總線上的信息,各控制器按其需要的功能編制相應(yīng)的軟件,并將相應(yīng)的輸出信號(hào)通過(guò) CAN發(fā)送到對(duì)應(yīng)的輸出 CAN接口模塊去??刂破靼淳唧w位置和功能分成發(fā)動(dòng)機(jī)控制器、自動(dòng)調(diào)壓及無(wú)功調(diào)節(jié)控制器、配電保護(hù)控制器、同步并車控制器、電能管理控制器等。
4.冗余控制技術(shù)
除主要的電能管理控制器 PMU外,設(shè)計(jì)的其他幾個(gè)控制器的硬件電路接近,實(shí)現(xiàn)的功能不同,但是可以通過(guò)軟件實(shí)現(xiàn)相互間的控制冗余,所以在實(shí)際設(shè)計(jì)中,每個(gè)控制器內(nèi)設(shè)計(jì)
成兩套控制程序,正常情況下,一套本身主要的程序在工作,另一套作為其它控制器的備用在讀取 CAN總線上的數(shù)據(jù),但是備用的程序不作輸出動(dòng)作。當(dāng)系統(tǒng)中某控制器故障出現(xiàn)時(shí),CAN總線網(wǎng)絡(luò)上無(wú)該控制器正常工作的心跳信號(hào)后,作為它備用的控制器將其備用的程序喚醒工作并輸出,以替代故障的控制器,同時(shí)在工作的控制器上出現(xiàn)相應(yīng)的顯示。系統(tǒng)設(shè)計(jì)中各控制相互冗余備用的關(guān)系如表 1所示,其中電能管理控制器可以作為其他控制器的備用。
除控制器具備的冗余外,前述 CAN總線均采用雙 CAN接口,實(shí)際線路也是對(duì)應(yīng)的雙 CAN網(wǎng)絡(luò),其中一個(gè) CAN總線出現(xiàn)故障后,系統(tǒng)可以自動(dòng)啟用備用 CAN網(wǎng)絡(luò),從而實(shí)現(xiàn) CAN總線的冗余控制。
5. 結(jié)論
船舶電站控制系統(tǒng)采用分布式結(jié)構(gòu) , 硬件設(shè)計(jì)標(biāo)準(zhǔn)化,軟件設(shè)計(jì)模塊化,使整個(gè)系統(tǒng)設(shè)計(jì)組合較為靈活,這種設(shè)計(jì)方法對(duì)于其他項(xiàng)目的研制也具有一定參考價(jià)值。系統(tǒng)實(shí)際運(yùn)行效果良好,工作可靠,說(shuō)明 CAN總線技術(shù)在船舶電站中的使用是成功的,并可推廣使用。
本文創(chuàng)新點(diǎn):昀初開(kāi)發(fā)的 CAN協(xié)議被運(yùn)用于汽車制造領(lǐng)域,現(xiàn)把 CAN技術(shù)移植到船舶電站的控制方面,實(shí)現(xiàn)了船舶電站的無(wú)人操縱、過(guò)程自動(dòng)控制及遠(yuǎn)程監(jiān)控,提高了船舶自動(dòng)化程度,改善了系統(tǒng)性能。