桂林電子科技大學(xué)信息科技學(xué)院 孫天一 廖敦強 韓桂明 趙英作
隨著當代工業(yè)自動化的發(fā)展,越來越多的智能設(shè)備逐步進入工業(yè)生產(chǎn)環(huán)節(jié)來代替昂貴的人工生產(chǎn),提高效率的同時也降低了人工生產(chǎn)的諸多不確定性。在生產(chǎn)紡織成原始的面料環(huán)節(jié)中經(jīng)常會出現(xiàn)織針損壞、斷線、織針橫向偏移等問題造成紡織出的面料出現(xiàn)疵點。傳統(tǒng)的面料疵點檢測還是依靠人工檢測完成,效率低。為此本設(shè)計使用了基于FPGA的高速圖像采集系統(tǒng),處理器能快速采集經(jīng)編機的產(chǎn)出面料并對圖像進行處理,并做出判斷。相比人工觀察布面疵點,本系統(tǒng)擁有更高的識別速率和準確度,極大的提高了檢測效率,提高工廠的實際產(chǎn)量,并且減少的人工費用的支出。
考慮實際生產(chǎn)線中的待檢面料寬度不一,圖像處理核心主控需要滿足可掛載多攝像頭終端的同時數(shù)據(jù)處理及判斷,并且本設(shè)計基于實用性及易于維護性的考慮,綜合以上因素考慮決定采用賽靈思公司(Xilinx)的ZYNQ7000系列芯片作為攝像頭數(shù)據(jù)采集及處理中心。ZYNQ全稱是Zynq-7000 All Programmable SoC,是賽靈思公司推出的新一代全可編程片上系統(tǒng)(APSoC),Zynq-7000采用ARM+FPGA SOC技術(shù),在ARM和FPGA上分別具有豐富的硬件資源和外圍接口可滿足復(fù)雜嵌入式系統(tǒng)的高性能、低功耗、多核處理能力等要求,非常符合應(yīng)用于此次項目研究。
圖像采集攝像頭選用500萬像素的OV5642雙目攝像頭,它與Zynq-7000的PL端相連接獲得實時圖像數(shù)據(jù)。圖像提取步驟之后將從攝像頭提取的圖像轉(zhuǎn)化為RGB888格式使用AXI4-Stream Subset Converter核心,此IP核為AXI4流子集轉(zhuǎn)換器。主ZYNQ核心將讀取的分辨率傳給高層次綜合生成的IP核,寫入誤差和預(yù)設(shè)疵點的像素數(shù)量,并進行初始化工作。接著將轉(zhuǎn)換過后的圖像數(shù)據(jù)輸入邊緣檢測的HLS核心,將圖像數(shù)據(jù)轉(zhuǎn)化為灰度圖,再對灰度圖進行邊緣檢測,然后對檢測的結(jié)果進行二值化,再將二值化結(jié)果輸出給Stream2mem的HLS核心,讀取二值化圖像數(shù)據(jù),然后對圖像進行檢測判斷,檢測二值化后黑點的數(shù)量,判斷是否超出設(shè)定的閾值加誤差值。為了進一步提升系統(tǒng)的運行效率,在精確度不變的情況下,我們將像素點合并運算4個像素放在3個int型數(shù)據(jù)中,然后把數(shù)據(jù)存入DDR中,此HLS內(nèi)核如圖1所示。在Mem2stream核中如圖2先從DDR中讀取數(shù)據(jù),解析后輸出。通過HDMI視頻輸出口即可觀察到初步處理后的圖像,其中把圖像存儲進DDR中再讀取可以解決圖像刷新率造成的圖像割裂問題。

圖1 Stream2mem

圖2 Mem2stream
考慮到實際工業(yè)自動化生產(chǎn)線,遵循使用標準的Modbus通信協(xié)議進行上位機MCGS工業(yè)屏上位機和控制核心FPGA的通信,通信協(xié)議中規(guī)定當通訊命令發(fā)送至儀器時,符合相應(yīng)地址碼的設(shè)備接通訊命令,并除去地址碼,讀取信息,若沒有出錯,則執(zhí)行相應(yīng)的任務(wù),然后把執(zhí)行結(jié)果返送給發(fā)送者。在主控FPGA端使用Verilog HDL編寫符合通訊協(xié)議的握手程序,實時接收和發(fā)送數(shù)據(jù)與工業(yè)屏信號,上位機界面中設(shè)置了停車、開始、單步運行等模式。

圖3 整體框圖
通過OV5642雙目攝像頭采集圖像,將圖像讀取進行HLS高層次綜合生成的IP核中進行RGB轉(zhuǎn)化,然后轉(zhuǎn)化為灰度圖,接著進行邊緣檢測,再然后對檢測結(jié)果二值化輸出。再判斷每張圖像中像素為黑的數(shù)量,再判斷數(shù)量是否大于預(yù)設(shè)的疵點像素數(shù)量加誤差值。再將圖像存儲進DDR中進行緩沖,最后將結(jié)果傳輸報警裝置。昆侖通態(tài)MCGS工業(yè)顯示屏作為整體系統(tǒng)的上位機,發(fā)送或接收數(shù)據(jù)并與主控FPGA通信,主控直接與電機控制系統(tǒng)中心STM32F103進行信號的通信由此控制57步進電機的狀態(tài),整體設(shè)計框圖如圖3所示。
本設(shè)計主要需要對于二值化后的圖像進行輸出,方便調(diào)試的同時也可實現(xiàn)實時的便捷觀察。FPGA的PL端與HDMI接口相連,通過Xilinx官方提供的VDMA IP核心輸出視頻信號。制作輸出接口需要主控FPGA引出的端口制作PCB,視頻輸出HDMI理論上支持5Gbps的數(shù)據(jù)傳輸率,在程序中設(shè)定輸出的幀數(shù)為60幀,滿足人眼的畫面流暢判斷標準。在電機控制電路中為了防止通訊總線故障產(chǎn)生的工業(yè)事故,制作相應(yīng)的機械按鈕直接控制電機的控制電路與STM32F103相連。
在整體的系統(tǒng)中我們所使用的主控FPGA即現(xiàn)場可編程邏輯門陣列,實現(xiàn)真正意義上的多線程任務(wù)處理,可以在多個線程中同步執(zhí)行,無需跳轉(zhuǎn)。程序中為了達到圖像是快速的獲取與分析我們的攝像頭OV5642使用SCCB總線配置,使用RGB888輸出,在FPGA端再拼接完成像素數(shù)據(jù)。
該系統(tǒng)經(jīng)過反復(fù)測試,使用MCGS工業(yè)屏在10m的傳輸距離,可進行電機開始、停車、點動等狀態(tài)控制。HDMI可實時輸出被檢測面料的情況,若檢測到斷紗、織針損壞、鉤針位移造成等情況造成的疵點,報警模塊可發(fā)出警告。檢測報警時HDMI輸出的圖像如圖4所示。
結(jié)論:本設(shè)計方案從初始設(shè)計到最后的完成,完全按照實際工業(yè)化標準來制作的,通信標準以及圖像精準度可以直接接入自動化生產(chǎn)線中。根據(jù)實際考察,在現(xiàn)今的工業(yè)行業(yè)特別是紡織業(yè)中自動化的普及率還是處于一個相當?shù)偷谋壤洚a(chǎn)能以及效率完全比不上發(fā)達國家的全自動化工業(yè)流水生產(chǎn)線。這其中很大一部分原因是在實際的工業(yè)生產(chǎn)中工廠不愿承擔(dān)新機器帶來的風(fēng)險,工業(yè)自動化發(fā)展十分緩慢。此次設(shè)計使得機器檢測大量代替人工檢測,極大節(jié)約人工成本。擁有更快更精準的判斷,提升生產(chǎn)線良品率。考慮實際作用效果及技術(shù)難度的同時也兼顧了產(chǎn)品的成本,減小工廠的壓力。

圖4 HDMI輸出圖像