基于A(yíng)VR單片機的發(fā)電機負荷缸多路遙控開(kāi)關(guān)量數字遙控并編解碼的實(shí)現
因為在負荷端和遙控臺的連接距離接近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ú)奇偶校驗。
遙控臺端單片機和負荷缸被控端單片機之間的通信方式采用主從定時(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按位取反較驗碼,$為幀結束標志符。
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í)現設備的智能監控。
評論