基于A(yíng)VR單片機的負荷缸多路遙控開(kāi)關(guān)編解碼實(shí)現
負荷缸是船舶電力核心發(fā)電機性能的負荷試驗必備的重要工裝設備,通過(guò)負荷試驗,可以檢驗發(fā)電機長(cháng)期工作的性能穩定的情況(靜態(tài)特性)和對突加突卸負荷的應變能力(動(dòng)態(tài)特性)。AVR單片機具有高性能低價(jià)格的優(yōu)點(diǎn),在本文中利用AVR單片機對發(fā)電機負荷缸的多路遠程遙控開(kāi)關(guān)量進(jìn)行采集監控并進(jìn)行數字信號編解碼,用2芯的電纜取代原來(lái)40芯的粗電纜傳輸控制信號,有效地解決了工作中遇到的問(wèn)題。
1 問(wèn)題的提出
我們通過(guò)把由發(fā)電機供電的通電極板放到負荷缸水電阻中,用充氣升降極板和補給水調節水電阻大小的方法控制試驗發(fā)電機所帶負荷的大小,對發(fā)電機的性能進(jìn)行試驗。體積龐大的負荷缸一般放置在碼頭,在船舶發(fā)電機的負荷試驗中需要在船舶配電板處控制負荷缸的各個(gè)部件,所以我們在船舶配電板處安裝了負荷缸遙控臺,通過(guò)一條40芯約100 m長(cháng)的多芯電纜連接負荷缸和遙控臺??刂凭€(xiàn)路連接如圖1所示。

在多年的使用經(jīng)驗中發(fā)現存在以下問(wèn)題:
(1)因為電纜芯線(xiàn)繁多,工人接線(xiàn)時(shí)往往出現接錯線(xiàn)的問(wèn)題,導致遙控臺沒(méi)法正常工作,需耗費時(shí)間進(jìn)行調試。
(2)這條多芯的電纜非常大,在每次試驗安裝的時(shí)候需要耗費很多人力進(jìn)行拉放。
(3)經(jīng)過(guò)長(cháng)期多次的使用,會(huì )出現電纜芯線(xiàn)折斷無(wú)法正常使用的現象,導致在試驗期間需花費人力進(jìn)行檢查。
鑒于以上存在的問(wèn)題,我們提出了以下的設想:尋找一種方法對這些多路遙控開(kāi)關(guān)信號進(jìn)行編碼傳送,然后在另一端進(jìn)行解碼,使得可以用兩芯或較少的芯線(xiàn)來(lái)取代這條多芯電纜。
2 解決方案
對于以上遙控臺和負荷缸連接原理圖,因為在遙控臺上由負荷缸供電的低水位回傳信號指示燈等可以容易地改為由遙控臺端供電,而在負荷缸端只提供開(kāi)關(guān)量信號,于是實(shí)際的問(wèn)題便變成了實(shí)現一種對多路遙控開(kāi)關(guān)和返回開(kāi)關(guān)量信號進(jìn)行編碼。剛開(kāi)始考慮到采用T型電阻網(wǎng)絡(luò )對這些開(kāi)關(guān)進(jìn)行采樣,用A/D,D/A轉換的方法實(shí)現,但為了保證信號長(cháng)距離傳輸的可靠性,決定用數字信號的方式對這些開(kāi)關(guān)量進(jìn)行編解碼,隨著(zhù)技術(shù)的進(jìn)步使這種設想成為可能,經(jīng)過(guò)綜合比較,我們決定選用功能強大,價(jià)格便宜的ATMEL Mega8單片機對這些開(kāi)關(guān)信號進(jìn)行編解碼和信號傳輸控制。
DIP封裝的ATMEL Mega8單片機只有28個(gè)管腳,除掉電源和用于單片機之間通信必要的串行端口引腳,實(shí)際可用來(lái)做信號采集和輸出的管腳遠遠不夠,然而ATMEL Mega8單片機的12 MHz的高速運行速度相對于開(kāi)關(guān)動(dòng)作的速度來(lái)說(shuō)極其快速,通過(guò)74SL244緩沖器和74SL273鎖存器共用單片機管腳,在程序中控制緩沖器使能端,控制鎖存器時(shí)鐘信號的方法擴展單片機I/O口。
{{分頁(yè)}}
負荷缸端單片機具體連接如圖2所示。

圖2中2個(gè)74SL273鎖存器和1個(gè)74SL244緩沖器共用單片機PB和Pc端口低四位管腳,單片機通過(guò)PB4,PD3,PB5管腳分別控制第一個(gè)、第二個(gè)鎖存器的時(shí)鐘脈沖輸入端和緩沖器和使能端。我們在程序中設置單片機PB和PC端口低四位管腳為輸入狀態(tài),控制74SL244緩沖器的使能端為低電平,并屏蔽兩個(gè)74SL273鎖存器的時(shí)鐘輸入,從而通過(guò)74SL244緩沖器采集負荷缸工作狀態(tài)開(kāi)關(guān)信號;在程序中設置單片機PB和PC端口低四位管腳為輸出狀態(tài),控制74SL244緩沖器的使能端為高電平,并讓單片機給其中一個(gè)74SL273鎖存器的加上時(shí)鐘輸人信號,從而通過(guò)74SL273鎖存器輸出一組開(kāi)關(guān)狀態(tài)控制信號。
因為在負荷端和遙控臺的連接距離接近100 m,超過(guò)串口RS 232信號可靠傳送到達的距離,我們增加了SN75LBC184 RS 232/RS 485串行通信轉換器芯片,SN75LBC184輸人和單片機TXD、RXD管腳相連,單片機PD2引腳控制SN75LBC184芯片的收發(fā)使能端實(shí)現收發(fā)功能的轉換,用兩芯的電纜連接負荷缸端和遙控臺端SN75LBC184芯片的輸出端口,實(shí)現了單片機串口信號的遠距離傳送和電路的半雙工工作,具體連接如圖3所示。

3 串行通信協(xié)議及編程實(shí)現
3.1 串行通信協(xié)議
在從遙控臺端單片機和負荷缸被控端單片機的通信中.我們選擇通信協(xié)議為:9600波特率,8個(gè)數據位,1位停止位,無(wú)奇偶校驗。
{{分頁(yè)}}

遙控臺端單片機和負荷缸被控端單片機之間的通信方式采用主從定時(shí)請求應答方式,遙控臺端單片機始終具有主動(dòng)發(fā)送權,定時(shí)向負荷缸被控端單片機發(fā)送設置16個(gè)開(kāi)關(guān)狀態(tài)命令幀和讀取回傳指示燈開(kāi)關(guān)狀態(tài)命令,負荷缸單片機處于被動(dòng)狀態(tài)響應狀態(tài)。
3.2 數據幀格式
在負荷缸的控制中,當發(fā)電機帶負荷運行時(shí),意外的主開(kāi)關(guān)分閘信號等同于發(fā)電機突卸負荷,特別是當滿(mǎn)負荷運行時(shí)意外的主開(kāi)關(guān)分閘信號等同于發(fā)電機的瞬時(shí)100%突卸負荷,將導致發(fā)電機出現飛車(chē)現像,嚴重的損害發(fā)電機的性能,因此信號傳輸的可靠性非常重要,在本系統中遙控臺到負荷缸的命令幀格式采用如圖4所示的方法進(jìn)行通訊握手和數據校驗保證遙控臺和負荷缸端的數據的可靠傳輸和控制。

其中:@為幀開(kāi)始標志符,$為幀結束標志符,D1,D2分別為第一、第二組8個(gè)開(kāi)關(guān)狀態(tài)組成的1個(gè)字節的無(wú)符號字符,V1,V2為其對應校驗碼,這里采用其按位取反。當D1,D2,V1,V2都為ASCII碼0xff時(shí)為請求負荷缸端回傳開(kāi)關(guān)狀態(tài)命令幀,負荷缸端單片機響應命令回傳負荷缸端開(kāi)關(guān)狀態(tài)命令幀的格式為:

其中:@為幀開(kāi)始標志符,D1為8個(gè)回傳指示燈開(kāi)關(guān)狀態(tài)組成的1個(gè)字節的無(wú)符號字符,V1為D1按位取反較驗碼,$為幀結束標志符。
{{分頁(yè)}}
3.3 通訊握手和數據較驗編程實(shí)現
在單片機編程中,為了方便命令幀數據較驗,我們在單片機程序中設置了30個(gè)字節的堆??臻g用于緩存接收的數據,負荷缸端單片機程序流程圖如圖5所示,該程序在實(shí)際工作中運行穩定,滿(mǎn)足工作的要求。

4 結 語(yǔ)
本文利用AVR單片機的高速運行速度,采用74SL244緩沖器和74SL273鎖存器擴展單片機I/O口,實(shí)現了多路遠程遙控開(kāi)關(guān)量采集監控和數字信號編碼,采用了握手和數據較驗的方法保證了數據的可靠傳輸和控制,用SN75LBC184 RS 232/RS 485串行通信轉換芯片實(shí)現了串行通信信號的遠距離傳送。本文的方法也可用于其他開(kāi)關(guān)量信號采集和自動(dòng)化控制場(chǎng)所,實(shí)現設備的智能監控。
評論