盧 軍 劉 杰 胡 凡
(陜西科技大學機電工程學院,陜西 西安 710021)
?
基于Android和物聯網的四軸運動平臺控制系統設計與實現
盧軍劉杰胡凡
(陜西科技大學機電工程學院,陜西 西安 710021)
針對多工位工件自動裝配系統,設計并實現了一種基于Android和物聯網的四軸運動平臺控制系統,完成了系統軟硬件的設計開發與搭建。對四軸運動平臺進行了三維建模,加工并搭建出樣機。系統硬件主體搭建分三部分:Android智能控制終端、單片機中央控制器和電動機運動控制模塊。軟件開發包括Android手機APP及單片機主控程序開發。系統采用成熟的C/S架構,智能手機作為客戶端,通過WIFI與服務器端即中央控制器實現通信和數據傳輸。主控程序中,設計并實現了自動控制及手動控制兩種模式,采用S型加減速曲線,對電動機軸進行單一及聯動控制,實現對四軸運動平臺的控制。經實際測試,系統界面友好、操作靈活,且穩定可靠、實時性好。
自動裝配;Android;物聯網;單片機;WIFI通信
近年來,工業智能化的發展步伐加快,2011年4月在德國舉辦的漢諾威工業博覽會上,“工業4.0”的概念首次被提出,其宗旨是支持工業領域新一代革命性技術的研發與創新[1-2]。將嵌入式系統生產技術與智能生產過程相結合,這在很大程度上提高了物聯網技術的推進速度。四軸運動平臺,由于其快速、高效、重復定位精度高,廣泛應用于家電、電子電氣及智能儀器儀表等的工業自動化裝配領域。裝配速度與精度是衡量四軸運動平臺的一個重要標準,而這又進一步取決于電動機的運動速度與精度,因此研究與改進電動機控制系統對提高裝配速度、精度以及生產效率有著工業實踐意義[3-4]。隨著工業智能化及物聯網技術的發展,對電動機遠程聯網實時控制成為發展的趨勢。目前對電動機遠程實時控制,主要基于PC機通過串行通信控件RS-485總線實現,同時遠程系統會將電動機狀態信息反饋回PC機,從而達到對電動機的遠程實時控制。但基于PC機的RS-485總線控制系統存在布線復雜困難、后期維護成本高、通信距離有限及不便于移動控制等缺點[5-6]。
隨著Android智能終端及各種無線通信技術的發展,智能手機作為移動控制終端應用于工業遠程控制系統中成為未來發展的必然趨勢[7]。由于手機的方便攜帶性和良好的可視、可觸界面,本系統選擇Android智能手機作為控制終端,針對多工位自動裝配系統,設計并實現了一種基于Android和物聯網技術的四軸運動平臺控制系統,通過WIFI網絡通信,實現對電動機運動的遠程控制,從而實現對多工位自動裝配系統中四軸運動平臺的智能化遠程實時控制。系統支持單軸獨立控制和多軸聯動控制,操作靈活,控制方便,人機交互界面友好。
在裝配系統中,待裝配元件與裝配母板之間的相對位姿是隨機的。為實現不同位姿元件的自動化精準裝配,隨主軸配置一臺高清工業相機,用來確定元件與母板之間的裝配參數。運動平臺選擇由4臺步進電動機驅動,X、Y軸電動機的往復運動確定工件的裝配位置,Z軸電動機的上下運動確定元件的裝配高度,C軸即主軸通過旋轉確定元件的裝配姿態。為模擬實際多工位自動裝配,設計了多工位裝配母板及對應的裝配元件(T型、三角形和工字型),裝配元件安裝在元件夾持機械手上。在SolidWorks環境下對四軸運動平臺進行了三維建模,并加工搭建出樣機,平臺實物圖如圖1所示。

對四軸運動平臺的控制,核心在于對4臺步進電動機的運動控制。本控制系統包括電動機自動控制及手動控制兩種模式。自動控制模式中,用戶可以選擇不同的運動模式(高速、低速),也可以根據實際需求自行配置模式,實現元件自動裝配;手動控制模式中,可根據實際情況對每個軸電動機的行程和速度等運動參數進行設定,實現單軸或多軸聯動控制,手動控制模式主要用于機器的調試。
如圖2,系統采用成熟的C/S架構:客戶端為Android智能手機或平板電腦,支持WIFI聯網功能,作為上位機控制終端與用戶進行交互;服務器端為單片機中央控制器,作為下位機主控單元,外圍集成WIFI通信模塊,與控制終端進行通信即數據與指令的傳輸,同時通過電動機控制模塊對電動機進行運動控制[8],最終實現運動平臺的響應控制。

基于物聯網架構思想,系統工作原理及流程為:Android手機通過WIFI與遠程中央控制器互連,等待數據傳輸并為遠程控制做好準備;用戶在客戶端交互界面對系統進行初始化配置;通過工業相機實時獲取元件與母板的相對位姿數據,經處理后將裝配參數回傳給客戶端;根據裝配參數,用戶選擇自動或手動控制裝配模式,并在主控制界面配置電動機參數及運動模式;根據用戶操作,手機發出相應控制指令,經WIFI傳輸由中央控制器接收、解析并轉發給電動機控制模塊,進而驅動對應電動機軸的運動,最終實現對四軸運動平臺的遠程實時控制。
為提升整個系統結構及功能的完整性,使系統操作更加靈活,工作更加穩定可靠,對硬件及電路進行精心設計與搭建,系統硬件設計及整體電路連接如圖3所示。

2.1中央控制器的設計與搭建
中央控制器在整個系統中起信息處理和控制的作用,本系統中選用普中科技的增強型51單片機開發板—STC90C516RD+單片機,是基于8051內核的新一代超強抗干擾、高速、低功耗的單片機,支持ISP下載,極大地降低了程序燒寫的復雜程度。
為實現手機與單片機之間數據及控制指令的無線傳輸,在單片機外圍集成WIFI通信模塊。本系統選用有人科技USR-WIFI232-D2串口WIFI模塊,該模塊采用工業級高性能嵌入式結構,針對手持設備、工業控制等數據傳輸領域的應用,做了專業的優化,頻率高、功耗低、尺寸小、傳輸快。通過該模組,中央控制器可以方便地接入WIFI無線網絡,從而實現手機對運動平臺的遠程實時控制。
2.2電動機控制模塊的設計與搭建
電動機控制模塊包括電源模塊、步進電動機驅動器和步進電動機。步進電動機是整個系統的終端執行機構,本系統選用Leadshine86HS35步進電動機,為兩相8線步進電動機,能夠靈活高效地驅動四軸運動平臺運動。選定電動機后,配套選用S-350-48H電源模塊和LeadshineME872步進電動機驅動器。S-350-48H電源模塊輸出48V為ME872驅動器供電。
為提高步進電動機輸出力矩及性能,本系統采用電動機線圈并行接法。電源模塊、步進電動機驅動器與步進電動機的電路設計如圖4所示。

本系統軟件設計開發工作主要包括Android客戶端軟件和單片機主控程序的設計開發。客戶端開發主要包括系統功能與人機交互界面的設計,以及與中央控制器通信、數據傳輸單元的實現。單片機主控程序實現了WIFI-串口通信以及各電動機的運動控制。下面按照系統的控制流程,以自上而下的原則對軟件開發工作進行闡述。
3.1客戶端功能與交互界面的設計開發
Android客戶端軟件在Eclipse環境下使用Java語言進行開發。基于系統的工作原理與要實現的功能,主要設計并實現了系統配置、控制功能的實現等UI交互界面,部分主要界面如圖5所示。

打開客戶端,在圖5a系統登錄界面中,輸入用來識別遠程服務器身份的IP地址和端口號,點擊“connect”與服務器建立遠程連接后,進入圖5b系統配置界面,進行包括工業相機參數配置以及電動機參數、回原點等的系統初始化配置,此處不再贅述。系統配置成功后,在5b界面中點擊“獲取裝配參數”,通過工業相機遠程實時獲取裝配系統中元件及裝配母板的位姿信息,經系統程序處理后將裝配參數返回到客戶端并自動保存。選擇“自動控制裝配”或“手動控制裝配”,系統會分別跳轉到圖5c或5d所對應的主控制界面。在自動控制模式下,系統會根據已獲取的裝配參數對四軸電動機運動參數進行自動填充,用戶只需選擇相應的“運動模式”實現高速或低速自動裝配。在手動控制模式下,用戶可根據實際情況自行設定四軸電動機的位移和速度等運動參數,實現手動裝配或系統調試。
3.2客戶端與服務器的通信程序開發
基于串口WIFI通信模塊,客戶端與服務器通過WIFI建立遠程連接,實現數據、控制指令等的傳輸,系統實現了WIFI模塊用于收發數據的sendData()和onReceive()函數[9]。為保證客戶端與服務器之間通信穩定可靠和系統控制的實時性,本系統采用基于TCP/IP協議的Socket通信機制,分別實現了客戶端和服務器的通信單元開發。
系統運行前,首先將遠程服務器接入Internet,并提供用于身份識別的IP地址和端口號。圖6完成了服務器工作模式及參數的配置,并接入網絡。

完成服務器網絡搭建后,客戶端通過服務器提供的IP和端口號,經WIFI遠程連接到服務器上,實現客戶端與服務器連接的主要代碼如下:
// 連接服務器
mSocketClient=newSocket(sIP,sPort);
// 獲取輸入、輸出流
mBufferedReaderClient=newBufferedReader(
newInputStreamReader(
mSocketClient.getInputStream()));
mPrintWriterClient=newPrintWriter(
mSocketClient.getOutputStream(),true);
. . .
在網絡互聯的狀態下,客戶端與服務器之間進行循環通信,實現數據及控制指令的實時傳輸[10],部分實現代碼如下:
while(isConnecting) { // 連接狀態下循環通信
If(
(count=mBufferedReaderClient
.read(buffer)) > 0) {
recvMessageClient=
getInfoBuff(buffer,count);
Messagem=newMessage();
m.what= 1;
mHandler.sendMessage(m);
. . .
}
}
3.3單片機主控程序開發
單片機系統主控程序在KeiluVision4下使用C語言進行開發,主要涉及單片機的初始化、關閉以及步進電動機運動功能的具體實現。首先,編寫了單片機程序中用來實現系統初始化以及電動機運動控制的函數庫,在主控程序中按照系統工作流程調用相應的函數。部分程序代碼如下:
voidinitMCU() {
stc_mcu_init(); // 初始化單片機
}
voidstopMCU() {
stc_emg_stop(); // 緊急停止所有軸
stc_mcu_close(); // 關閉單片機,釋放資源
}
/*X、Y軸聯動 */
voidlink_XY(longX,longY,longhighLev) {
. . .
// 設定起始、運行速度和加速、減速時間
stc_set_vector_profile(0,highLev, 0.1, 0);
// 設定X、Y軸移動的位移(脈沖數)
stc_line2(Axis[0],X,Axis[1],Y, 0);
// 若到達限位,則停止運動,關閉單片機
If((stc_axis_io_status(0) & 0x3000) |
(stc_axis_io_status(1) & 0x3000)) {
stc_imd_stop(0); //X軸立即停止
stc_imd_stop(1); //Y軸立即停止
stc_mcu_close(); // 關閉單片機
}
. . .
}
在電動機啟停及換向時,為解決工作臺的沖擊問題,本系統采用S加減速曲線的算法對電動機啟動、停止時的速度進行控制。電動機換向時按照S曲線先減速后反向加速,實現平穩換向。以上代碼中通過加減速時間的設置實現了S型曲線的運動控制。
本系統中,為提高系統裝配精度,電動機運動的所有參數均以脈沖為基本單位。在程序中集成了數據預處理模塊,通過數據轉換比率,將mm級別的位姿參數轉換為pixel級別的像素參數,再轉換為PUL級別的脈沖參數,進而驅動電動機的運動。由于此模塊涉及視覺系統,此處不再贅述。
搭建好裝配樣機和控制系統軟硬件,以T型元件為例進行系統裝配測試。聯網后,對系統進行初始化配置:相機參數配置完成后,PUL與像素轉換比率為0.096 7,像素與mm轉換比率為0.064 180 9;電動機驅動器采用16細分,即每6 400個脈沖驅動電動機轉動一圈。通過視覺系統獲取裝配參數后,選擇自動裝配控制模式,并選擇快速裝配模式,系統裝配前后的元件與母板的位姿信息圖像如圖7所示。

圖7顯示,系統快速自動裝配模式下,T型元件精準的裝配到T型母板中,順利完成了遠程自動裝配任務。通過數據預處理轉換模塊,大大提升了系統的裝配精度。
本控制系統基于目前流行的Android智能平臺和物聯網技術框架設計,采用WIFI通信實現對步進電動機的集中管理和遠程實時控制,進而實現對自動裝配系統四軸運動平臺的遠程實時控制。經測試,系統穩定可靠,操作靈活,且實時性較好,實現了預期控制目標,相對其他控制終端有明顯優勢,對于人不適宜進入的場所和偏遠地區的遠距離動力驅動具有一定的借鑒意義。系統設計過程涵蓋了Android應用開發的相關技術,通用性好,易于移植,對Android嵌入式開發也具有一定的借鑒意義。本系統仍有很多可以改進提升之處,比如利用高清工業相機監控裝配作業并實時更新裝配參數,并通過算法實現電動機運動控制參數的實時更新調整,以實現真正的智能化自動裝配。
[1]丁純,李君揚.德國“工業4.0”:內容、動因與前景及其啟示[J].德國研究,2014(4):49-66,126.
[2]王喜文.工業4.0:智能工業[J].物聯網技術,2013(12):3-4,6.
[3]孫永新.遠程多軸步進電機控制驅動系統的研制[D].哈爾濱:哈爾濱工業大學,2007.
[4]AcarnleyPP.Steppingmotors:aguidetotheoryandpractice(4thed)[M].London:TheInstitutionofElectricalEngineers,2002.
[5]潘濤.基于嵌入式系統的步進電機控制方法的分析與研究[D].武漢:武漢科技大學,2009.
[6]王玉琳,王強.步進電機的速度調節方法[J].電機與控制應用,2006(1):53-56,+64.
[7]燕飛.基于Android平臺的移動機器人遠程控制系統[D].杭州:浙江理工大學,2013.
[8]王晨光,孫運強,許鴻鷹.步進電機的單片機控制設計分析[J].國外電子測量技術,2008(9):39-41,60.
[9]鄭萌.Android系統移植和驅動開發[M].北京:電子工業出版社,2013.
[10]沈紅衛.單片機通信與組網技術實例詳解[M].北京:電子工業出版社,2014.
(編輯譚弘穎)
如果您想發表對本文的看法,請將文章編號填入讀者意見調查表中的相應位置。
Designandimplementationoffour-axismotionplatformcontrolsystembasedonAndroidandInternetofThings
LUJun,LIUJie,HUFan
(CollegeofMechanicalandElectricalEngineering,ShaanxiUniversityofScience&Technology,Xi’an710021,CHN)
Formulti-stationworkpieceautomaticassemblysystem,acontrolsystemoffour-axismotionplatformisdesignedandimplementedbasedonAndroidandInternetofThings(IOT),includingsoftwareandhardware.The3Dmodelingofthefour-axismotionplatformisaccomplished,andtheprototypeisbuilt.Hardwarebuildingmainlyconsistsofthreeparts:Androidintelligentcontrolterminal,centralmicrocontrollerandmotorcontrolmodule.SoftwaredevelopmentincludestheprogrammingofAndroidAPPandmicrocontroller.ThesophisticatedC/Sarchitectureisused,thesmartphoneasaclienttocommunicateviaWIFIwithcentralcontrollerastheserver.BasedonS-Curveofaccelaration/decelaration,themainprogramproposesandimplementstheautomaticandmanualcontrolmodesofmotors′singleandlinkagecontrolsoastocontrolthefour-axismotionplatform.Throughpracticaltest,thesystemhasfriendlyinterface,flexibleandstableoperationandgoodreal-timeperformance.
automaticassembly;Android;InternetofThings;microcontroller;WIFIcommunication
TP273;TP368
A
盧軍,男1961年生,教授,碩導,主要研究方向為計算機機器視覺,智能機器人技術物聯網智能家居。
2015-12-08)
160216