網(wǎng)絡(luò )遠程控制作業(yè)機械手的設計與實(shí)現
關(guān)鍵詞:遠程;串行通訊;單片機;機械手
0引言
網(wǎng)絡(luò )化操作和遠程控制成為很多企業(yè)和科研機構鉆研的方向,要實(shí)現對現場(chǎng)設備進(jìn)行管理和控制,就需要與這些設備進(jìn)行通訊連接,進(jìn)行相關(guān)數據交換,以達到管理、控制和監控的目的。同樣嵌入式領(lǐng)域中,為了達到遠程監控,也必須基于網(wǎng)絡(luò )。在水下或者惡劣環(huán)境作業(yè)的機械手,在特定的時(shí)候需要遠程控制。網(wǎng)絡(luò )遠程控制機械手進(jìn)行作業(yè)成為了可能。
在遠程控制中,通信是值得討論的技術(shù)問(wèn)題。傳統的通信只是局限于脫離網(wǎng)絡(luò )的通信,如兩個(gè)PC機之間通信,或者是上位機為PC機,下位機為單片機。在遠程控制機械手系統中,采用的是基于Internet的遠程串口通信,遠程串行通訊是指客戶(hù)端與下位機或通訊對象之間通過(guò)串口進(jìn)行的遠距離通訊,而傳統的遠程通訊只是它其中的一部分,通過(guò)客戶(hù)端傳送指令給下位機至控制部件,從而實(shí)現遠程監控。
1 遠程串口通訊系統的基本構架及實(shí)現
(一)基本構架概述
在軟件系統體系結構中,C/S和B/S是當今世界開(kāi)發(fā)模式技術(shù)架構的兩大主流技術(shù)。
C/S模式采用的是兩層體系結構,即客戶(hù)端和服務(wù)器,通過(guò)該架構可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來(lái)實(shí)現,客戶(hù)端進(jìn)行顯示界面和事務(wù)處理,服務(wù)器進(jìn)行數據處理和應答請求處理。在客戶(hù)端需要安裝客戶(hù)端軟件才能訪(fǎng)問(wèn)服務(wù)器。不但軟件升級不便,而且也增加了客戶(hù)端的負載和投資成本。
B/S(Browser/Server)結構即瀏覽器和服務(wù)器結構。它是隨著(zhù)Internet技術(shù)的興起,對C/S結構的一種變化或者改進(jìn)的結構。在這種結構下,用戶(hù)工作界面是通過(guò)瀏覽器來(lái)實(shí)現,極少部分事務(wù)邏輯在前端(Browser)實(shí)現,但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現, 數據處理則由數據庫服務(wù)器進(jìn)行,形成所謂三層結構。這樣就大大簡(jiǎn)化了客戶(hù)端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶(hù)的總體成本,但僅在B/S模式下還不能直接實(shí)現與被控對象進(jìn)行數據通訊。
基于B/S模式實(shí)現與被控對象進(jìn)行數據通訊的遠程串行通訊采用四層體系結構,增加了一個(gè)控制層,瀏覽器端為表示層,WEB服務(wù)器為功能層,數據庫服務(wù)器為數據層,控制層為通過(guò)WEB服務(wù)器傳送指令到控制服務(wù)器,控制服務(wù)器作為上位機,通過(guò)串口控制下位機,直到控制執行部件。這里不僅增加了控制層,而且對功能層和數據層也都進(jìn)行了擴展。這種體系結構即具有B/S模式的優(yōu)良特性,又增加了控制服務(wù)功能,充分利用了現有的網(wǎng)絡(luò )資源和工業(yè)現場(chǎng)資源,并且使兩者有機地結合在一起,達到了與被控設備通過(guò)串口進(jìn)行遠程通訊的目的。表示層、功能層、數據層和控制層既有一定的相互聯(lián)系又具有相對獨立性,各層是通過(guò)Internet相連接,通過(guò)HTTP協(xié)議和串口通訊協(xié)議進(jìn)行信息通訊。如圖1所示
(二)遠程串口通訊各部件的功能及實(shí)現
(1)瀏覽器端:用戶(hù)通過(guò)瀏覽器登陸web服務(wù)器,通過(guò)輸入用戶(hù)名和密碼,和數據庫中的數據比較驗證通過(guò)后,成為合法的用戶(hù),然后在相應的表單中輸入控制數據。按提交按鈕后,數據傳送到web服務(wù)器。瀏覽器端再作為顯示端,能夠顯示遠程執行部件的反饋位置。
(2)WEB服務(wù)器:能夠接收瀏覽器端發(fā)送過(guò)來(lái)的控制數據,并處理相應的數據后,把數據發(fā)送給控制服務(wù)器,或者直接作為控制服務(wù)器,通過(guò)串口把數據發(fā)送給執行部件。
(3)數據庫服務(wù)器端:存放合法用戶(hù)的用戶(hù)名和密碼,以進(jìn)行檢驗。同時(shí),在發(fā)送執行數據時(shí),如果需要特定的轉換數據,也可直接到數據庫中獲取。實(shí)現系統的數據處理,并把運行結果反饋給web服務(wù)器。
(4)控制服務(wù)器:作為直接通過(guò)串口發(fā)送命令給執行部件的上位機,或者直接由web服務(wù)器本身?yè)?。接收web服務(wù)器從瀏覽器端接收過(guò)來(lái)的數據。通過(guò)串口通訊協(xié)議及握手信號,把數據發(fā)送給下位機。
(5)下位機:通過(guò)串口通訊協(xié)議接收控制服務(wù)器(上位機)的執行數據,再通過(guò)相應的驅動(dòng)電路,帶動(dòng)執行部件工作。
(6)執行部件:按照傳送過(guò)來(lái)的指令進(jìn)行工作,并通過(guò)傳感器把當前執行部件的位置和姿態(tài)化作數據再通過(guò)串口回送到控制服務(wù)器,直至到達瀏覽器端,使得用戶(hù)不在執行部件的現場(chǎng)也可以遠程控制并得到部件執行之后的效果
在瀏覽器中,登陸驗證后,通過(guò)HTTP協(xié)議,把數據傳送給web服務(wù)器,再傳給控制服務(wù)器??刂品?wù)器作為上位機,打開(kāi)串口,通過(guò)通訊協(xié)議把數據發(fā)送給下位機。下位機根據通訊協(xié)議,收到上位機發(fā)送過(guò)來(lái)的數據,并啟動(dòng)D/A轉換器,控制執行部件。同時(shí)通過(guò)傳感器把執行部件的姿態(tài)反饋給上位機。下位機可以為單片機、DSP、ARM等微處理器。
2 遠程控制作業(yè)機械手系統的實(shí)現
基于web的機械手的遠程控制,在高溫、水下等惡劣的工作環(huán)境下,需要遠程控制機械手實(shí)行操作。在遠程通過(guò)瀏覽器輸入操縱數據,通過(guò)網(wǎng)絡(luò )傳送給主控機,主控機采用一般的PC機,主控機通過(guò)串口把數據發(fā)送給下位機,該作業(yè)機械手系統中采用89C51單片機作為直接控制計算機?,F場(chǎng)通過(guò)監控設備把作業(yè)機械手的姿態(tài)反饋到遠程控制機,同時(shí)通過(guò)傳感器采集現場(chǎng)數據返回到控制機。圖2為遠程控制作業(yè)機械手的系統示意圖。
在瀏覽器端登陸主控機擔當的服務(wù)器,取得合法身份驗證之后,發(fā)送數據。主控機收到信息后,通過(guò)串口把數據發(fā)給直接控制機89C51。
(一) 單片機系統的硬件組成部分
(1) 以89C51為微處理器的為核心,擴展RAM6254、鎖存器、時(shí)鐘電路、復位電路等。
(2) 串口通訊電路:主控機向89C51傳送數據時(shí),采用串口通信,常用的串行通信總線(xiàn)接口是美國電氣協(xié)會(huì )EIA制定的RS-232C。鑒于單片機串行口TXD,RXD均為T(mén)TL電平,而PC機配置的是RS-232C標準串行接口,在應用時(shí),必須進(jìn)行電平轉換。在作業(yè)機械手控制系統中,采用MAX232作為接口轉換芯片。
(3) 數模轉換電路:通過(guò)串口,主控機把機械手的動(dòng)作指令數據發(fā)送給89C51,89C51通過(guò)總線(xiàn)把數據發(fā)送給D/A轉換電路數據端口,在該系統中采用DA0832數模轉換芯片來(lái)實(shí)現。
(4) 驅動(dòng)電路:機械手的作業(yè)動(dòng)力來(lái)自液壓系統,采用伺服閥來(lái)實(shí)現對機械手的回路控制,為驅動(dòng)伺服閥,設計相應的驅動(dòng)電路
(5) 模數轉換電路:用角度電位計和位移傳感器采集機械手的實(shí)際操作數據,傳感器標定之后,采集的位移量和角度模擬信號要轉換數字信號傳送給89C51,再向上發(fā)送,該系統中采用AD0809模數轉換芯片來(lái)實(shí)現。
(二) 主控機與單片機軟件系統的實(shí)現
(1) 主控機程序
主控機由PC機擔任,用VC++開(kāi)發(fā)操縱界面,通過(guò)串口控件MSComm對串口通訊協(xié)議進(jìn)行串口初始化,從后臺數據庫SQLServer中提出從WEB發(fā)送的控制機械手的數據,控制機械手各個(gè)關(guān)節的執行的角度量,同時(shí)等待接收89C51回送回來(lái)的數據。軟件系統的流程圖如圖3所示。
(2) 89C51單片機主程序
89C51作為直接控制計算機,用C語(yǔ)言來(lái)編寫(xiě)主程序,初始化串口,分配內存緩沖區存放接收數據,開(kāi)中斷,等待外部以中斷形式進(jìn)行數據的發(fā)送和接收。89C51的主程序流程圖如圖4所示。
(3) 89C51中斷處理子程序
中斷子程序中首先清除中斷標志,然后判斷是接收還是發(fā)送引起的中斷,根據相應的中斷源進(jìn)行處理。89C51中斷處理子程序的流程圖如圖5所示。
3 結束語(yǔ)
本文作者創(chuàng )新點(diǎn)在于把89C51單片機與機械手的作業(yè)聯(lián)系起來(lái),通過(guò)網(wǎng)絡(luò )遠程通信達到了遠程控制機械手實(shí)驗室的實(shí)現,為遠程控制作業(yè)的研究提供了一個(gè)具體的實(shí)例參考,目前該系統實(shí)現了網(wǎng)上發(fā)送數據到主控機,存儲在數據庫中,需要手工在主控機調動(dòng)數據來(lái)實(shí)現對機械手的控制。能夠完全脫離人的介入,直接通過(guò)網(wǎng)絡(luò )來(lái)控制作業(yè)還在進(jìn)一步的研究中。實(shí)驗應用和市場(chǎng)證明,在網(wǎng)絡(luò )現代化的今天和未來(lái),遠程通信必將出現在未來(lái)的人類(lèi)生活中,有可觀(guān)的研究意義和實(shí)用價(jià)值。
參考文獻:
[1] 馬忠梅、籍順心編著(zhù) 單片機的C語(yǔ)言應用程序設計 北京航空航天大學(xué)出版社 2000
[2] 鄭笑寧 水下遙操作實(shí)驗系統工具庫控制系統的研究 哈爾濱工程大學(xué)論文 2003-
[3] 陳龍三編著(zhù) 8051單片機C語(yǔ)言控制與應用 清華大學(xué)出版社 2001
[4] 何立民 MCS-51系列單片機應用系統設計北京航空航天大學(xué)出版社 1990年
[5] 張開(kāi)生 基于89C51的紙漿智能計量管理系統設計 微計算機信息雜志 2005年第7-2期
評論