《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 業(yè)界動(dòng)態(tài) > 基于串口通信與單片機(jī)的遠(yuǎn)程控制機(jī)械臂設(shè)計(jì)

基于串口通信與單片機(jī)的遠(yuǎn)程控制機(jī)械臂設(shè)計(jì)

2020-07-08
來源:與非網(wǎng)

  網(wǎng)絡(luò)化操作和遠(yuǎn)程控制成為很多企業(yè)和科研機(jī)構(gòu)鉆研的方向,,要實(shí)現(xiàn)對現(xiàn)場設(shè)備進(jìn)行管理和控制,,就需要與這些設(shè)備進(jìn)行通訊連接,進(jìn)行相關(guān)數(shù)據(jù)交換,以達(dá)到管理、控制和監(jiān)控的目的。同樣嵌入式領(lǐng)域中,為了達(dá)到遠(yuǎn)程監(jiān)控,也必須基于網(wǎng)絡(luò),。在水下或者惡劣環(huán)境作業(yè)的機(jī)械手,在特定的時(shí)候需要遠(yuǎn)程控制,。網(wǎng)絡(luò)遠(yuǎn)程控制機(jī)械手進(jìn)行作業(yè)成為了可能,。

  在遠(yuǎn)程控制中,通信是值得討論的技術(shù)問題,。傳統(tǒng)的通信只是局限于脫離網(wǎng)絡(luò)的通信,,如兩個(gè) PC 機(jī)之間通信,或者是上位機(jī)為 PC 機(jī),,下位機(jī)為單片機(jī),。在遠(yuǎn)程控制機(jī)械手系統(tǒng)中,采用的是基于 Internet 的遠(yuǎn)程串口通信,,遠(yuǎn)程串行通訊是指客戶端與下位機(jī)或通訊對象之間通過串口進(jìn)行的遠(yuǎn)距離通訊,,而傳統(tǒng)的遠(yuǎn)程通訊只是它其中的一部分,通過客戶端傳送指令給下位機(jī)至控制部件,,從而實(shí)現(xiàn)遠(yuǎn)程監(jiān)控,。

  1、遠(yuǎn)程串口通訊系統(tǒng)的基本構(gòu)架及實(shí)現(xiàn)

 ?。ㄒ唬┗緲?gòu)架概述

  在軟件系統(tǒng)體系結(jié)構(gòu)中,,C/S 和 B/S 是當(dāng)今世界開發(fā)模式技術(shù)架構(gòu)的兩大主流技術(shù)。

  C/S 模式采用的是兩層體系結(jié)構(gòu),,即客戶端和服務(wù)器,,通過該架構(gòu)可以充分利用兩端硬件環(huán)境的優(yōu)勢,,將任務(wù)合理分配到 Client 端和 Server 端來實(shí)現(xiàn),客戶端進(jìn)行顯示界面和事務(wù)處理,,服務(wù)器進(jìn)行數(shù)據(jù)處理和應(yīng)答請求處理,。在客戶端需要安裝客戶端軟件才能訪問服務(wù)器。不但軟件升級不便,,而且也增加了客戶端的負(fù)載和投資成本,。

  B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著 Internet 技術(shù)的興起,,對 C/S 結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu),。在這種結(jié)構(gòu)下,用戶工作界面是通過瀏覽器來實(shí)現(xiàn),,極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),,但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn), 數(shù)據(jù)處理則由數(shù)據(jù)庫服務(wù)器進(jìn)行,,形成所謂三層結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,,降低了用戶的總體成本,但僅在 B/S 模式下還不能直接實(shí)現(xiàn)與被控對象進(jìn)行數(shù)據(jù)通訊,。

  基于 B/S 模式實(shí)現(xiàn)與被控對象進(jìn)行數(shù)據(jù)通訊的遠(yuǎn)程串行通訊采用四層體系結(jié)構(gòu),,增加了一個(gè)控制層,瀏覽器端為表示層,,WEB 服務(wù)器為功能層,,數(shù)據(jù)庫服務(wù)器為數(shù)據(jù)層,控制層為通過 WEB 服務(wù)器傳送指令到控制服務(wù)器,,控制服務(wù)器作為上位機(jī),,通過串口控制下位機(jī),直到控制執(zhí)行部件,。這里不僅增加了控制層,,而且對功能層和數(shù)據(jù)層也都進(jìn)行了擴(kuò)展。這種體系結(jié)構(gòu)即具有 B/S 模式的優(yōu)良特性,,又增加了控制服務(wù)功能,,充分利用了現(xiàn)有的網(wǎng)絡(luò)資源和工業(yè)現(xiàn)場資源,并且使兩者有機(jī)地結(jié)合在一起,,達(dá)到了與被控設(shè)備通過串口進(jìn)行遠(yuǎn)程通訊的目的,。表示層、功能層,、數(shù)據(jù)層和控制層既有一定的相互聯(lián)系又具有相對獨(dú)立性,,各層是通過 Internet 相連接,,通過 HTTP 協(xié)議和串口通訊協(xié)議進(jìn)行信息通訊。如圖 1 所示

1.png

 ?。ǘ┻h(yuǎn)程串口通訊各部件的功能及實(shí)現(xiàn)

 ?。?)瀏覽器端:用戶通過瀏覽器登陸 web 服務(wù)器,通過輸入用戶名和密碼,,和數(shù)據(jù)庫中的數(shù)據(jù)比較驗(yàn)證通過后,,成為合法的用戶,然后在相應(yīng)的表單中輸入控制數(shù)據(jù),。按提交按鈕后,,數(shù)據(jù)傳送到 web 服務(wù)器。瀏覽器端再作為顯示端,,能夠顯示遠(yuǎn)程執(zhí)行部件的反饋位置,。

  (2)WEB 服務(wù)器:能夠接收瀏覽器端發(fā)送過來的控制數(shù)據(jù),,并處理相應(yīng)的數(shù)據(jù)后,,把數(shù)據(jù)發(fā)送給控制服務(wù)器,或者直接作為控制服務(wù)器,,通過串口把數(shù)據(jù)發(fā)送給執(zhí)行部件,。

  (3)數(shù)據(jù)庫服務(wù)器端:存放合法用戶的用戶名和密碼,,以進(jìn)行檢驗(yàn),。同時(shí),在發(fā)送執(zhí)行數(shù)據(jù)時(shí),,如果需要特定的轉(zhuǎn)換數(shù)據(jù),,也可直接到數(shù)據(jù)庫中獲取。實(shí)現(xiàn)系統(tǒng)的數(shù)據(jù)處理,,并把運(yùn)行結(jié)果反饋給 web 服務(wù)器,。

  (4)控制服務(wù)器:作為直接通過串口發(fā)送命令給執(zhí)行部件的上位機(jī),,或者直接由 web 服務(wù)器本身擔(dān)任,。接收 web 服務(wù)器從瀏覽器端接收過來的數(shù)據(jù)。通過串口通訊協(xié)議及握手信號,,把數(shù)據(jù)發(fā)送給下位機(jī),。

  (5)下位機(jī):通過串口通訊協(xié)議接收控制服務(wù)器(上位機(jī))的執(zhí)行數(shù)據(jù),,再通過相應(yīng)的驅(qū)動(dòng)電路,,帶動(dòng)執(zhí)行部件工作。

 ?。?)執(zhí)行部件:按照傳送過來的指令進(jìn)行工作,,并通過傳感器把當(dāng)前執(zhí)行部件的位置和姿態(tài)化作數(shù)據(jù)再通過串口回送到控制服務(wù)器,,直至到達(dá)瀏覽器端,使得用戶不在執(zhí)行部件的現(xiàn)場也可以遠(yuǎn)程控制并得到部件執(zhí)行之后的效果

  在瀏覽器中,,登陸驗(yàn)證后,,通過 HTTP 協(xié)議,把數(shù)據(jù)傳送給 web 服務(wù)器,,再傳給控制服務(wù)器,。控制服務(wù)器作為上位機(jī),,打開串口,,通過通訊協(xié)議把數(shù)據(jù)發(fā)送給下位機(jī)。下位機(jī)根據(jù)通訊協(xié)議,,收到上位機(jī)發(fā)送過來的數(shù)據(jù),,并啟動(dòng) D/A 轉(zhuǎn)換器,控制執(zhí)行部件,。同時(shí)通過傳感器把執(zhí)行部件的姿態(tài)反饋給上位機(jī),。下位機(jī)可以為單片機(jī)、DSP,、ARM 等微處理器,。

  2、遠(yuǎn)程控制作業(yè)機(jī)械手系統(tǒng)的實(shí)現(xiàn)

  基于 web 的機(jī)械手的遠(yuǎn)程控制,,在高溫、水下等惡劣的工作環(huán)境下,,需要遠(yuǎn)程控制機(jī)械手實(shí)行操作,。在遠(yuǎn)程通過瀏覽器輸入操縱數(shù)據(jù),通過網(wǎng)絡(luò)傳送給主控機(jī),,主控機(jī)采用一般的 PC 機(jī),,主控機(jī)通過串口把數(shù)據(jù)發(fā)送給下位機(jī),該作業(yè)機(jī)械手系統(tǒng)中采用 89C51 單片機(jī)作為直接控制計(jì)算機(jī)?,F(xiàn)場通過監(jiān)控設(shè)備把作業(yè)機(jī)械手的姿態(tài)反饋到遠(yuǎn)程控制機(jī),,同時(shí)通過傳感器采集現(xiàn)場數(shù)據(jù)返回到控制機(jī)。圖 2 為遠(yuǎn)程控制作業(yè)機(jī)械手的系統(tǒng)示意圖,。

2.png

  在瀏覽器端登陸主控機(jī)擔(dān)當(dāng)?shù)姆?wù)器,,取得合法身份驗(yàn)證之后,發(fā)送數(shù)據(jù),。主控機(jī)收到信息后,,通過串口把數(shù)據(jù)發(fā)給直接控制機(jī) 89C51。

 ?。ㄒ唬?單片機(jī)系統(tǒng)的硬件組成部分

 ?。?) 以 89C51 為微處理器的為核心,,擴(kuò)展 RAM6254、鎖存器,、時(shí)鐘電路,、復(fù)位電路等。

 ?。?) 串口通訊電路:主控機(jī)向 89C51 傳送數(shù)據(jù)時(shí),,采用串口通信,常用的串行通信總線接口是美國電氣協(xié)會(huì) EIA 制定的 RS-232C,。鑒于單片機(jī)串行口 TXD,,RXD 均為 TTL 電平,而 PC 機(jī)配置的是 RS-232C 標(biāo)準(zhǔn)串行接口,,在應(yīng)用時(shí),,必須進(jìn)行電平轉(zhuǎn)換。在作業(yè)機(jī)械手控制系統(tǒng)中,,采用 MAX232 作為接口轉(zhuǎn)換芯片,。

  (3) 數(shù)模轉(zhuǎn)換電路:通過串口,,主控機(jī)把機(jī)械手的動(dòng)作指令數(shù)據(jù)發(fā)送給 89C51,,89C51 通過總線把數(shù)據(jù)發(fā)送給 D/A 轉(zhuǎn)換電路數(shù)據(jù)端口,在該系統(tǒng)中采用 DA0832 數(shù)模轉(zhuǎn)換芯片來實(shí)現(xiàn),。

 ?。?) 驅(qū)動(dòng)電路:機(jī)械手的作業(yè)動(dòng)力來自液壓系統(tǒng),采用伺服閥來實(shí)現(xiàn)對機(jī)械手的回路控制,,為驅(qū)動(dòng)伺服閥,,設(shè)計(jì)相應(yīng)的驅(qū)動(dòng)電路

  (5) 模數(shù)轉(zhuǎn)換電路:用角度電位計(jì)和位移傳感器采集機(jī)械手的實(shí)際操作數(shù)據(jù),,傳感器標(biāo)定之后,,采集的位移量和角度模擬信號要轉(zhuǎn)換數(shù)字信號傳送給 89C51,再向上發(fā)送,,該系統(tǒng)中采用 AD0809 模數(shù)轉(zhuǎn)換芯片來實(shí)現(xiàn),。

  (二) 主控機(jī)與單片機(jī)軟件系統(tǒng)的實(shí)現(xiàn)

 ?。?) 主控機(jī)程序

  主控機(jī)由 PC 機(jī)擔(dān)任,,用 VC++開發(fā)操縱界面,通過串口控件 MSComm 對串口通訊協(xié)議進(jìn)行串口初始化,,從后臺數(shù)據(jù)庫 SQLServer 中提出從 WEB 發(fā)送的控制機(jī)械手的數(shù)據(jù),,控制機(jī)械手各個(gè)關(guān)節(jié)的執(zhí)行的角度量,同時(shí)等待接收 89C51 回送回來的數(shù)據(jù)。軟件系統(tǒng)的流程圖如圖 3 所示,。

3.png

 ?。?) 89C51 單片機(jī)主程序

  89C51 作為直接控制計(jì)算機(jī),用 C 語言來編寫主程序,,初始化串口,,分配內(nèi)存緩沖區(qū)存放接收數(shù)據(jù),開中斷,,等待外部以中斷形式進(jìn)行數(shù)據(jù)的發(fā)送和接收,。89C51 的主程序流程圖如圖 4 所示。

 ?。?) 89C51 中斷處理子程序

  中斷子程序中首先清除中斷標(biāo)志,,然后判斷是接收還是發(fā)送引起的中斷,根據(jù)相應(yīng)的中斷源進(jìn)行處理,。89C51 中斷處理子程序的流程圖如圖 5 所示,。

4.png

  3、 結(jié)束語

  本文作者創(chuàng)新點(diǎn)在于把 89C51 單片機(jī)與機(jī)械手的作業(yè)聯(lián)系起來,,通過網(wǎng)絡(luò)遠(yuǎn)程通信達(dá)到了遠(yuǎn)程控制機(jī)械手實(shí)驗(yàn)室的實(shí)現(xiàn),,為遠(yuǎn)程控制作業(yè)的研究提供了一個(gè)具體的實(shí)例參考,目前該系統(tǒng)實(shí)現(xiàn)了網(wǎng)上發(fā)送數(shù)據(jù)到主控機(jī),,存儲在數(shù)據(jù)庫中,,需要手工在主控機(jī)調(diào)動(dòng)數(shù)據(jù)來實(shí)現(xiàn)對機(jī)械手的控制。能夠完全脫離人的介入,,直接通過網(wǎng)絡(luò)來控制作業(yè)還在進(jìn)一步的研究中,。實(shí)驗(yàn)應(yīng)用和市場證明,在網(wǎng)絡(luò)現(xiàn)代化的今天和未來,,遠(yuǎn)程通信必將出現(xiàn)在未來的人類生活中,,有可觀的研究意義和實(shí)用價(jià)值。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。