基于AVR單片機的多路遙控開關(guān)編解碼實現(xiàn)
負荷缸是船舶電力核心發(fā)電機性能的負荷試驗必備的重要工裝設(shè)備,通過負荷試驗,可以檢驗發(fā)電機長期工作的性能穩(wěn)定的情況(靜態(tài)特性)和對突加突卸負荷的應(yīng)變能力(動態(tài)特性)。AVR單片機具有高性能低價格的優(yōu)點,在本文中利用AVR單片機對發(fā)電機負荷缸的多路遠程遙控開關(guān)量進行采集監(jiān)控并進行數(shù)字信號編解碼,用2芯的電纜取代原來40芯的粗電纜傳輸控制信號,有效地解決了工作中遇到的問題。
1 問題的提出
我們通過把由發(fā)電機供電的通電極板放到負荷缸水電阻中,用充氣升降極板和補給水調(diào)節(jié)水電阻大小的方法控制試驗發(fā)電機所帶負荷的大小,對發(fā)電機的性能進行試驗。體積龐大的負荷缸一般放置在碼頭,在船舶發(fā)電機的負荷試驗中需要在船舶配電板處控制負荷缸的各個部件,所以我們在船舶配電板處安裝了負荷缸遙控臺,通過一條40芯約100 m長的多芯電纜連接負荷缸和遙控臺。
在多年的使用經(jīng)驗中發(fā)現(xiàn)存在以下問題:
(1)因為電纜芯線繁多,工人接線時往往出現(xiàn)接錯線的問題,導(dǎo)致遙控臺沒法正常工作,需耗費時間進行調(diào)試。
(2)這條多芯的電纜非常大,在每次試驗安裝的時候需要耗費很多人力進行拉放。
(3)經(jīng)過長期多次的使用,會出現(xiàn)電纜芯線折斷無法正常使用的現(xiàn)象,導(dǎo)致在試驗期間需花費人力進行檢查。
鑒于以上存在的問題,我們提出了以下的設(shè)想:尋找一種方法對這些多路遙控開關(guān)信號進行編碼傳送,然后在另一端進行解碼,使得可以用兩芯或較少的芯線來取代這條多芯電纜。
2 解決方案
對于以上遙控臺和負荷缸連接原理圖,因為在遙控臺上由負荷缸供電的低水位回傳信號指示燈等可以容易地改為由遙控臺端供電,而在負荷缸端只提供開關(guān)量信號,于是實際的問題便變成了實現(xiàn)一種對多路遙控開關(guān)和返回開關(guān)量信號進行編碼。剛開始考慮到采用T型電阻網(wǎng)絡(luò)對這些開關(guān)進行采樣,用A/D,D/A轉(zhuǎn)換的方法實現(xiàn),但為了保證信號長距離傳輸?shù)目煽啃?,決定用數(shù)字信號的方式對這些開關(guān)量進行編解碼,隨著技術(shù)的進步使這種設(shè)想成為可能,經(jīng)過綜合比較,我們決定選用功能強大,價格便宜的ATMEL Mega8單片機對這些開關(guān)信號進行編解碼和信號傳輸控制。
DIP封裝的ATMEL Mega8單片機只有28個管腳,除掉電源和用于單片機之間通信必要的串行端口引腳,實際可用來做信號采集和輸出的管腳遠遠不夠,然而ATMEL Mega8單片機的12 MHz的高速運行速度相對于開關(guān)動作的速度來說極其快速,通過74SL244緩沖器和74SL273鎖存器共用單片機管腳,在程序中控制緩沖器使能端,控制鎖存器時鐘信號的方法擴展單片機I/O口。2個74SL273鎖存器和1個74SL244緩沖器共用單片機PB和Pc端口低四位管腳,單片機通過PB4,PD3,PB5管腳分別控制第一個、第二個鎖存器的時鐘脈沖輸入端和緩沖器和使能端。我們在程序中設(shè)置單片機PB和PC端口低四位管腳為輸入狀態(tài),控制74SL244緩沖器的使能端為低電平,并屏蔽兩個74SL273鎖存器的時鐘輸入,從而通過74SL244緩沖器采集負荷缸工作狀態(tài)開關(guān)信號;在程序中設(shè)置單片機PB和PC端口低四位管腳為輸出狀態(tài),控制74SL244緩沖器的使能端為高電平,并讓單片機給其中一個74SL273鎖存器的加上時鐘輸人信號,從而通過74SL273鎖存器輸出一組開關(guān)狀態(tài)控制信號。
因為在負荷端和遙控臺的連接距離接近100 m,超過串口RS 232信號可靠傳送到達的距離,我們增加了SN75LBC184 RS 232/RS 485串行通信轉(zhuǎn)換器芯片,SN75LBC184輸人和單片機TXD、RXD管腳相連,單片機PD2引腳控制SN75LBC184芯片的收發(fā)使能端實現(xiàn)收發(fā)功能的轉(zhuǎn)換,用兩芯的電纜連接負荷缸端和遙控臺端SN75LBC184芯片的輸出端口,實現(xiàn)了單片機串口信號的遠距離傳送和電路的半雙工工作
3 串行通信協(xié)議及編程實現(xiàn)
評論