時間:2008-10-22 09:53:00來源:ronggang
圖2 L298N驅動模塊[/align]
為方便操作,使用了液晶顯示模塊LCMxxZK,其繪圖顯示畫面提供一個64*256 點的繪圖區域,電源操作范圍寬(2.7V to 5.5V),此外,低功耗設計可滿足產品的省電要求同時與單片機的接口界面非常靈活。如圖3所示,利用設計的單片機控制系統,根據液晶顯示屏的提示通過鍵盤操作可以實現對機械臂的控制,同時操作結果通過液晶顯示屏反饋給操作者。
[align=center]
圖3 液晶屏與鍵盤[/align]
1.2基于串口通信的上位機控制
為了構建基于TCP/IP網絡的遠程控制系統,需要在本地建立服務器端控制器。本例中采用PC機作為遠程控制的服務器,同時作為單片機控制系統的上位控制器。
該上位機系統采用DB9-RS232串口線作為數據總線,通過串行通信與下位機建立聯系。PC機通過數據總線把位選、轉向、轉速等信息傳遞給下位單片機AVR Mega128,通過對I/O口置1或清零來控制相應電機的轉向,并通過改變PWM信號占空比來控制轉速。
由于數據總線的使用,各部分都相互獨立,只需要遵守相同的數據傳輸協議即可工作,使得擴展功能變得十分容易。有時候甚至不需對芯片進行重編程或電路板進行大幅度修改,只需要更換部分模塊就可以實現功能升級。在Visual C++ 6.0環境下運用串口類編寫了上位機控制程序[3],通過該程序,可利用個人PC實現對機械臂的控制。
2.基于TCP/IP網絡的遠程控制
通過設計本地端控制系統后,可以在本地端實現七自由度機械臂的各關節速度控制,從而實現機械手運動到適當位置抓取物體,并傳送到另一位置。為了實現異地遠程控制,需要設計遠程控制系統?;赥CP/IP的以太網絡進行遠程控制是一個好的選擇。本例中構建了一個基于C/S(Client/Server)結構的遠程控制體系,該體系包含服務器端和客戶端,服務器端接收到客戶端程序發來的數據后,對數據進行處理,進而發出相應的指令通過串口通信控制主控單片機,從而控制各關節的相應動作。
服務器端程序功能如下:
?。?)創建監聽Socket進行監聽,當有客戶端請求連接時建立一個新的接收Socket處理這個客戶的數據發送與接收;
?。?)接收客戶端發來的數據并向客戶端返回相應信息;
?。?)對接收到的數據進行處理,然后向下位單片機發送控制命令。
客戶端程序功能如下:
(1)建立與服務器程序的連接
(2)向服務器程序發送數據信息,接收從服務器程序返回的信息
?。?)關閉與服務器程序的連接
在Visual C++ 6.0環境下運用WinSockets類來編寫基于TCP/IP的遠程控制程序,其中服務器端監聽程序如下。
if(Accept(*pSocket))
?。?pDlg->m_pAcceptList.AddTail(pSocket);
CString strAddr,strAddr1;
UINT unPort,unPort1; pSocket->GetPeerName(strAddr1,unPort1); //得到遠程IP地址和端口號 pSocket->GetSockName(strAddr,unPort); //得到本地IP地址和端口號
pDlg->m_strNetMsg.Format("本地IP%s端口%d連接上遠程客戶IP%s端口%d", strAddr,unPort,strAddr1,unPort1);
pDlg->UpdateMsgData();
?。?
else
?。?
delete pSocket;
?。?
CSocket::OnAccept(nErrorCode);
其部分界面如圖4所示:
[align=center]
圖4 服務器端界面[/align]
由圖4可知,該服務端控制程序既可以由操作人員單擊圖中按鈕實現本地端對七自由度機械臂的控制,也可以通過客戶端發送相應信息由服務端響應后自動調用相應的函數實現對機械臂的控制。
3.基于視頻網絡服務器的遠程控制
為了監控七自由度機械臂遠程控制的操作結果,利用視頻網絡服務器將機械臂運動的實時圖像通過Internet網絡傳送到客戶端。
視頻網絡服務器是一種對視頻數據進行編碼處理并完成網絡傳輸的專用設備,它將攝像機輸入的模擬信號轉換為數字信號,再通過Internet傳輸,客戶端便可在任何地方通過上網來瀏覽圖像。它具有獨立完成傳輸的功能,不需要另外設置計算機,能實現簡單的IP方式組網,是傳統的模擬監控所無法實現的。
本例中采用RILAN-F1004四路視頻網絡服務器,通過以太網將實時的圖像通過網絡傳輸。該服務器采用了先進的操作系統和視頻壓縮算法,使得圖像傳輸更加流暢,并且顯示更加清晰細膩;系統調度效率高,運行穩定可靠,支持通過Internet瀏覽器進行遠程圖像訪問。由于用于操作控制的服務器端和視頻服務器地址相互獨立,為了便于遠程操作和監控,把兩個服務端的登錄集成在一個客戶端界面中。當服務器端啟動服務器后,客戶端首先可以通過Internet瀏覽器登錄視頻網絡服務器,從圖5中可以看到,位于機械臂不同位置的四路視頻圖像實時顯示在界面的左側;此時可以向控制服務器端發出請求,服務器端響應后,返回允許操作的信號,操作者即可根據右側控制面板進行七自由度機械臂的遠程控制,同時可以實時觀察機械臂動作,圖中所示為機械手抓住一小物體正準備釋放。
[align=center]
圖5 客戶端界面[/align]
4.結論
本文作者創新點:提出兩種不同方法,利用高端ARV單片機與PC機實現了七自由度機械臂本地端控制。構建了一個融串口類對象和WinSockets類對象于一體的基于C/S(Client/Server)結構的遠程控制體系,通過視頻網絡服務器反饋的視頻信息,有效地實現了七自由度機械臂遠程控制。
參考文獻
1. http://www.rhinorobotics.com[EB/OL]
2. http://www.zlgmcu.com/philips/hotic/ZLG7289.asp[EB/OL]
3. 朱培武、熊光明、彭波、龔建偉.基于Rabbit 2000的無線調度系統液晶漢字顯示方法.微計算機信息.2005,21卷,8期
標簽:
傳動網版權與免責聲明:凡本網注明[來源:傳動網]的所有文字、圖片、音視和視頻文件,版權均為傳動網(www.cdcst56.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-12-15
2025-12-12
2025-12-12
2025-12-10
2025-11-20
2025-11-10