,,
(北京航空航天大學(xué) 自動化科學(xué)與電氣工程學(xué)院,北京 100191)
目前嵌入式系統(tǒng)已廣泛應(yīng)用于生產(chǎn)生活的眾多方面,嵌入式工業(yè)控制系統(tǒng)在工業(yè)自動化控制領(lǐng)域也發(fā)揮著越來越重要的作用[1]。傳統(tǒng)工業(yè)控制主要采用的是可編程邏輯器件(Programmable Logic Controller,PLC),而隨著技術(shù)的發(fā)展,其局限性也逐步凸顯,如兼容性差、計算能力弱、可擴展性差等。嵌入式系統(tǒng)的突出特點是在復(fù)雜的環(huán)境下的抗干擾性強、可擴展性好以及計算能力強等,基于嵌入式技術(shù)開發(fā)的工業(yè)控制系統(tǒng),能很好地彌補PLC的不足。隨著圖像識別與人工智能等新技術(shù)的快速發(fā)展,在工業(yè)自動化控制中也逐步將這些新技術(shù)與嵌入式系統(tǒng)結(jié)合,嵌入式技術(shù)或基于嵌入式的PLC技術(shù)成為未來工業(yè)控制的發(fā)展方向。
本文提出的基于TMS320DM368的自動測量系統(tǒng),結(jié)合視頻識別技術(shù),將原來采用PLC控制的半自動化系統(tǒng),改造為基于嵌入式技術(shù)的全自動化測量系統(tǒng)。
本系統(tǒng)是一套高精度角度自動測量系統(tǒng),主要由電子經(jīng)緯儀、龍門系統(tǒng)、轉(zhuǎn)臺系統(tǒng)三部分組成,如圖1所示。其中電子經(jīng)緯儀為測量設(shè)備,可以測量水平和垂直角度,由自身的兩個電機控制;龍門系統(tǒng)為放置經(jīng)緯儀的平臺,可從垂直、水平、橫向、縱向等多個方向調(diào)整經(jīng)緯儀的位置,分別由多個高精度伺服電機控制;轉(zhuǎn)臺系統(tǒng)為被測物承載平臺,根據(jù)需要調(diào)整被測角度,通過一臺電機控制。
圖1 測量系統(tǒng)示意圖
龍門系統(tǒng)采用LUST公司的LSMx-Servo Motors系列交流永磁同步電機,電機驅(qū)動為LUST公司的ServoOne junior[2]伺服驅(qū)動器,系統(tǒng)內(nèi)部采用Profibus[3]總線協(xié)議進行通信。轉(zhuǎn)臺系統(tǒng)的普通電機使用松下的VF0變頻器控制,通過正余弦角度編碼器獲取轉(zhuǎn)臺角度數(shù)據(jù),并需要經(jīng)過解碼器盒解碼,與轉(zhuǎn)臺系統(tǒng)的數(shù)據(jù)通信采用485串口。電子經(jīng)緯儀為Leica公司的TPS1000型經(jīng)緯儀,使用自帶電機控制,內(nèi)部通信采用GSI(Geo Serial Interface)端口,控制系統(tǒng)通過串口直接與其控制盒進行數(shù)據(jù)交互。
測量時,從客戶端輸入轉(zhuǎn)臺和龍門以及經(jīng)緯儀的理論角度數(shù)據(jù),從經(jīng)緯儀目鏡可看到亮十字與中間的黑十字,調(diào)整龍門系統(tǒng)和經(jīng)緯儀各個電機,使得兩個十字重合,即可得到最終的角度測量數(shù)據(jù)。
整個測量系統(tǒng)包括Windows端的人機交互系統(tǒng)、嵌入式軟件系統(tǒng)以及底層硬件支持,總體方案如圖2所示。
圖2 系統(tǒng)總體設(shè)計
PC端人機交互界面以C#語言開發(fā),實現(xiàn)與嵌入式控制平臺的信息交互以及電子經(jīng)緯儀目鏡的實時畫面顯示。借助網(wǎng)絡(luò)傳輸將人機交互系統(tǒng)與嵌入式控制系統(tǒng)解耦,實現(xiàn)便捷、高效、友好的交互界面。
嵌入式軟件系統(tǒng)是整個測量系統(tǒng)的核心,是實際的控制中心。操作系統(tǒng)采用Linux,充分發(fā)揮嵌入式Linux系統(tǒng)的優(yōu)勢。嵌入式軟件完成視頻圖像的處理和電機控制算法的計算,實現(xiàn)與上層PC端的數(shù)據(jù)交互以及對底層電機驅(qū)動的控制。
底層硬件包括AR0330圖像采集模塊和電機驅(qū)動。AR0330模塊負責采集經(jīng)緯儀目鏡圖像,電機驅(qū)動根據(jù)上層指令完成對各個電機的實際操作控制。此外還有電源電路、時鐘電路、網(wǎng)絡(luò)接口電路、DDR2 SDRAM[6]接口電路等外圍電路和接口。
硬件系統(tǒng)的核心芯片TMS320DM368[4](以下簡稱DM368)為TI達芬奇系列芯片,該芯片內(nèi)含一個ARM9的核心以及2個圖像協(xié)處理器,具有強大的視頻處理能力。同時擁有豐富的外部接口,包括高速的DDR存儲器接口、視頻處理接口、SPI、UART、MMC/SD/SDIO接口、10/100M網(wǎng)絡(luò)接口等,DM368架構(gòu)如圖3所示。
圖3 DM368架構(gòu)框圖
其中,視頻處理子系統(tǒng)VPSS包括視頻輸入接口(VPFE)用于外部圖像數(shù)據(jù)的獲取,視頻輸出接口(VPBE)進行視頻編碼,能很好地滿足對從電子經(jīng)緯儀目鏡采集的圖像進行處理。
圖4 系統(tǒng)硬件框圖
各個子系統(tǒng)的硬件連接關(guān)系如圖4所示。使用APTINA公司的AR0330模塊采集經(jīng)緯儀目鏡圖像;使用UART轉(zhuǎn)RS485與經(jīng)緯儀進行數(shù)據(jù)交互;與轉(zhuǎn)臺系統(tǒng)的連接則需要同時使用UART和GPIO,UART從角度編碼器的解碼模塊完成角度數(shù)據(jù)的讀取,GPIO完成變頻器的控制。嵌入式系統(tǒng)與龍門各個伺服驅(qū)動器以及PC端
的通信通過網(wǎng)絡(luò)實現(xiàn)。網(wǎng)絡(luò)接口采用RTL8201CP[5],它是一個單端口的物理層收發(fā)器,通過網(wǎng)絡(luò)變壓器接RJ45來實現(xiàn)全部的10/100M以太網(wǎng)物理層功能,其物理層電路實現(xiàn)如圖5所示。
圖5 網(wǎng)絡(luò)接口電路
嵌入式端的軟件完成真正的測量控制邏輯,包括采集圖像的處理、PC端數(shù)據(jù)的接收和解析,以及電機控制算法的具體實現(xiàn)三大部分。一次完整的自動測量流程如圖6所示。
圖6 自動測量流程圖
首先需要接收PC端發(fā)送的理論數(shù)據(jù),控制轉(zhuǎn)臺和龍門系統(tǒng)的各個電機運轉(zhuǎn)到指定理論位置。通過AR0330模塊完成經(jīng)緯儀目鏡圖像采集;采用開源的ffmpeg庫實現(xiàn)視頻編碼,得到壓縮編碼的H.264視頻流,再傳輸給PC端實時顯示;圖像識別部分完成圖像的分析以及角度偏差的計算。
圖像分析采用二值化方法??紤]到中間的黑色十字絲線是固定的,在采集圖像時,通過調(diào)整采集模塊位置,使得黑色十字絲線中心位于圖像中心,故而只需要識別亮十字即可。由于整個圖像背景較為簡單,可以對圖像進行二值化處理。首先將彩色圖像灰度化,由于灰度范圍為0~255,求取所有像素值的均值,大于均值的灰度值置為255,小于均值的設(shè)為0,再逐行和逐列掃描,得到灰度值為255且連續(xù)的行或列,即亮十字中心位置。角度計算原理如圖7所示,以圖像為16:9的720P視頻為例,將像素點距離轉(zhuǎn)化為實際距離,再結(jié)合光的反射原理得到偏差角度計算公式如下:
圖7 角度計算原理
至此,可以得到水平和垂直角度偏差,計算出各個系統(tǒng)對應(yīng)每個電機需要調(diào)整的角度。在電機具體控制上,龍門的伺服電機通過伺服驅(qū)動器控制,系統(tǒng)按照Profibus協(xié)議與驅(qū)動器完成對應(yīng)數(shù)據(jù)和指令交互,驅(qū)動器負責具體的電機控制。電子經(jīng)緯儀也有自己的GSI控制協(xié)議。而對轉(zhuǎn)臺的控制,由于變頻器無法實現(xiàn)自動控制功能,需要在軟件中采用PID控制算法實現(xiàn)控制,故而需要循環(huán)通過視頻識別,逐步達到指定效果,實現(xiàn)高精度控制。
PC端人機交互界面采用C#開發(fā),包括實時視頻顯示、數(shù)據(jù)交互和電機控制界面三大部分。同時,考慮到實際控制的需求,還增加了圖8所示的單電機控制界面。交互系統(tǒng)與嵌入式端的通信采用網(wǎng)絡(luò)實現(xiàn),其中指令和測量數(shù)據(jù)采用TCP傳輸,保證通信的可靠性,而實時視屏數(shù)據(jù)則采用UDP傳輸,保證實時性[7]。自動測量時交互界面如圖9所示。
圖8 單電機控制界面
圖9左上方為實時視頻顯示,采用ffmpeg和SDL(Simple Direct Media Layer)技術(shù),通過ffmpeg庫完成H.264視頻的解碼,SDL完成圖形顯示,在軟件內(nèi)嵌了一個簡易視頻播放器。左下方的灰色區(qū)域為理論數(shù)據(jù)輸入和測量數(shù)據(jù)的輸出,可同時輸入多組理論數(shù)據(jù),且支持Excel文本直接導(dǎo)入。右側(cè)則提供了各個電機狀態(tài)的監(jiān)控及基本的操作按鈕。整個交互系統(tǒng)界面簡單、功能完善。
圖9 自動測量界面
[1] 張坤平,李艷.嵌入式PLC在控制領(lǐng)域的應(yīng)用研究[J].山東工業(yè)技術(shù),2017(3):225.
[2] LUST. ServoOne Parameter Description,2007.
[3] LUST. Profibus ServoOne user manual,2007.
[4] Texas Instruments.TMS320DM36x DMSoC Video Processing Front End User's Guide,2010.
[5] Realtek. RTL8201CP Single-Chip/Single-Port 10/100M Fast Ethernet Phyceiver. JATR-1076-21,2004.
[6] TMS320DM36x DMSoC DDR2/mDDR Memory Controller User’s Guide,2009.
[7] Douglas E Comer,David L Stevens.Internetworking with TCP/IP:Client-Server Programming and Applications[M].Upper Saddle River: Prentice Hall,2002.