摘要:結合船用發(fā)電機保護的功能需求,介紹一種基于單片機的船用發(fā)電機實時保護裝置。討論如何實時監(jiān)測多路信號并做出準確延時,描述一種友好的樹形菜單結構。該裝置硬件結構簡單,精度高,程序擴展性好,易于維護。
關鍵詞:單片機;船用發(fā)電機保護;實時控制;樹形菜單
1 引言
水路運輸,特別是內河中小型船舶運輸在全國交通網(wǎng)中占有不可或缺的地位。船舶的安全航行,離不開船舶發(fā)電機連續(xù)可靠供電的保證。船用發(fā)電機保護的主要內容有:短路保護、過載保護、欠壓保護、逆功率保護。由于逆功率現(xiàn)象只在發(fā)電機并聯(lián)運行時形成,所以前3種保護組成了船用發(fā)電機保護的最小需求。短路故障發(fā)生時,需要在事件發(fā)生瞬間進行保護;而針對過載和欠壓現(xiàn)象,則需要進行一定延時確定事件確實發(fā)生,才進行預先設定的保護動作。因此,如何針對船用發(fā)電機設計可實時監(jiān)測并進行精準延時的保護裝置,就成了解決問題的關鍵。
2 系統(tǒng)結構
所研究的保護裝置要求能實時監(jiān)測三相三線制船用發(fā)電機,用戶透過液晶屏幕設置各項保護參數(shù),設置的參數(shù)要求在掉電后不丟失。裝置可設置各種保護的報警、動作情況,并記錄事件,記錄的日志同樣要求掉電不丟失。為了配合上位機的集中管理,裝置附帶RS485接口與上位PC機通訊,使得上位微機可以實時監(jiān)測發(fā)電機當前運行情況。系統(tǒng)原理結構圖如圖1所示。
傳感器采用了線性度和頻率響應均較好的霍爾電壓傳感器(PT)和霍爾電流傳感器(CT)。因發(fā)電機保護裝置的實時性要求較高,而測量精度相對要求較低,裝置放棄了對信號測頻采樣的測量,轉而采用由均方根值轉直流(RMS2DC)器件直接計算電壓電流有效值的方式。電壓信號(額定380 V)和電流信號(額定5 A)經(jīng)過該器件以及后級的濾波、調理、限幅,送入MCU自帶的A/D轉換器中。裝置使用I2C總線與實時時鐘器件(RTC)通信??蓪斍皶r間直觀地顯示在監(jiān)控頁面,在事件發(fā)生時亦可將事件的時間記錄在日志中。報警和動作輸出繼電器的帶負載能力為10 A。保證輸出的觸點信號可使斷路器分斷。LED指示燈根據(jù)危險的情況分為過載預報警、過載長延時、過載短延時和欠壓4種.危險發(fā)生時LED燈閃爍指示,啟動保護后長亮指示。
3 事件檢出與處理
參考船舶配電規(guī)范為裝置制定了如表1所示的保護方案憫。表1中,IP為發(fā)電機額定電流,Up為發(fā)電機額定電壓,當前電壓U與當前電流,觸發(fā)危險的門限值由用戶設定。約定電壓電流達到門限稱為觸發(fā)危險,危險延時后進行動作稱為觸發(fā)事件。由于裝置需同時監(jiān)測多路信號的電平變化。并對各種危險狀態(tài)做出不同的延時響應,所觸發(fā)事件的組合情況就會變得異常復雜,為了保證事件不漏檢、不誤檢,需要對每路信號進行“橫向”和“縱向”的對比。
橫向對比是指每次循環(huán)掃描需同時檢查電壓電流的6個通道。為此,在事件檢出處理子程序的設計中,需對本次檢查的6個通道的危險情況進行匯總,以確定危險是否存在,如何閃爍指示燈,如何設置當前的計時類型,確定在0.1 s計時中斷中哪些計時變量需要做自加,從而保證事件不漏檢??v向對比,指每個通道需要對比上次檢出和本次檢出的危險情況。為此,在檢查每個通道時,需要對比本次危險較之上次危險是否發(fā)生改變,如果是由高門限的危險轉向低門限的危險,則需要清零高門限危險對應的計時變量,以確保延時準確,從而保證事件不誤檢。事件檢出與處理流程如圖2所示。
盡管是在每次循環(huán)最后才對當前的危險狀態(tài)進行相應處理,但在單片機處理速度足夠快的情況下(裝置外接16MHz有源晶振性能可達16 MI/s),這種時間誤差是可以忽略不計。同時,由于裝置為自己編寫實時控制應用,并沒有移植任何操作系統(tǒng),代碼的執(zhí)行效率也很高,實測裝置可以達到標稱的0.2 s延時響應精度。
4 樹形菜單
結合表1的設定內容可以發(fā)現(xiàn),除短路保護外的其余4種保護類型,都需要設定延時時間和保護門限,另外還需要設置每種保護類型對應的報警輸出和動作輸出繼電器是否動作,以及每種保護是否進行日志記錄,這樣至少需要4×5=20個頁面進行相關參數(shù)的設定。裝置其它輔助功能也需要額外的設定或查詢頁面,要求設計組織好這些頁面表現(xiàn),以提升用戶體驗的友好性。設計采用了樹形菜單組織這些頁面,如圖3所示。
裝置采用了帶中文字庫128×64點陣的液晶顯示模塊,最多可以顯示4行,每行8個中文字符。針對這一特點設計了如下的選單和菜單結構體。
以上的結構體中,定義每個菜單最多有6個選項(0位置為菜單的標題),根據(jù)每個菜單的選項的實際個數(shù)設置菜單尾項。程序初始化時,將各個選單的字符串指針指向FLASH中定義的字符串常量,當用戶按下上下方向按鍵時只需修改菜單結構體中的selected成員,而后再將菜單的內容填充到對應的選單結構體進行刷新顯示,即可實現(xiàn)上下移動選中條的操作效果。同樣,可根據(jù)當前菜單中selected的值來判定要進入哪一個功能頁或子菜單。實際操作的頁面顯示效果如圖4所示。
5 結語
針對船用發(fā)電機保護的實際需求,設計了基于單片機的船用發(fā)電機實時保護裝置。在事件檢出與處理模塊的設計時,既要綜合考慮多通道、多危險類型的情況,又要考慮到保護類裝置對實時性的要求。采用先單路縱向比較再多路匯總統(tǒng)一處理的方法,很好地解決了多種危險組合與快速準確保護之間的矛盾。針對用戶設置頁面較多的情況,應用了樹形菜單的顯示方案,并為方案設計了對應抽象的菜單結構體和對應顯示屏的選單結構體,提升了用戶操作的友好性。