儲玉芬
智能在線分選系統是將自動化、機械化和信息化結合在一起的新的技術設備,近年來,隨著大批量生產速度的增長和市場對產品質量穩定性要求的提高,人工分揀的方式已經不能滿足市場需求。智能在線分選系統的研制具有重要的工程意義和廣闊的應用前景,并且隨著物聯網技術的高速發展,在線分選裝置正朝著智能化、數字化、網絡化的方向發展。快速、準確、方便、誤差小、多功能化已經成為現代檢測技術的發展趨勢。但仍然存在一些不足,主要在以下幾個方面:1)理論研究存在不足;2)制造工藝及制造技術與國外存在差距;3)產品技術方面與國外相比較為落后;4)互聯網、物聯網技術高速發展,在分選設備上卻未能得到很好的利用。針對以上背景,設計了一種基于視覺識別和稱重的在線智能分選系統,該系統可實現高精度高速度的實時在線分選,并且具備可視化的、可移動的人機交互界面。可滿足高速大批量的生產,具有較高的精度、速度和穩定性,并且在其基礎上增加在線實時管理系統是將現今流行的“互聯網+”的管理模式運用到企業生產線上。
如圖1所示,系統采用STM32F407作為主控制器,獲取Android端發來的圖像識別結果,結合稱重傳感器,確定產品的重量和包裝體積,發送控制指令給分選裝置進行產品分選;同時獲取光電計數器發送的計數值,統計各類產品的數量并返回給Android監控平臺。在Android平臺上,利用Java-OpenCV庫進行圖像識別,計算產品包裝大小,與下位機傳送來的數據結合,對包裝進行分類,發送分選控制指令給下位機,對分選臺進行控制。同時,在Android平臺上可以對產品類別進行設置,并統計不同類型產品的數量,并實現多機通信,可同時對多個生產線進行監控。STM32通過WiFi模塊將生產管理數據上傳至云平臺,可由移動端遠程監管操控。

圖2 機械系統設計圖
系統機械結構如圖2所示,不同型號產品由傳送帶送入分揀裝置,首先由光電開關對通過的產品進行計數,分揀臺上方有CCD對產品進行拍照,傳入Android平臺進行圖像處理,將識別結果送入下位機。下方稱重傳感器對產品進行稱重,兩路數據由下位機采集,綜合圖像處理結果進行計算、存儲,根據用戶設置將產品的重量、體積進行對應分類,計算相應撥桿啟動和執行的時間,控制撥桿完成分選。
稱重傳感器選用HBM傳感器公司的單點稱重傳感器型號為PW6DC3MR,該傳感器適用于動態測量,其量程為20kg,符合該分揀系統的量程要求,系統采用5V的激勵電壓,靈敏度為2.0±0.2mV/V,滿量程的輸出電壓為10mV,采用四線制連接。稱重傳感器的輸出電壓由AD7190采集,該模數轉換器集成了隔離、濾波、放大電路,內置可編程增益,可將毫伏級的稱重傳感器輸出信號放大到可以轉換的電壓級別,具有精度高,低噪聲等特點,AD7190通過SPI總線與STM32通信,放大增益采用128倍,采用連續轉換方式,以外部中斷方式傳遞給STM32。

圖3 STM32采集控制模塊
計數模塊采用OMRON對射式E3Z-Laser NPN光電開關進行檢測,將激光發射器和光電管安裝在工作臺,當物品經過時,接收管接收到的光發生明暗變化,STM32通過定時中斷來讀取光電開關狀態,并記錄遮擋次數,通過光線被遮擋和恢復的時間節點,可判斷物品經過的時間和大致寬度,并通過傳感器位置和皮帶運動速度計算稱重傳感器的稱重采樣時刻。
采集光電開關數據之后,通過50Hz的AD采樣頻率,產生外部中斷采樣稱重數據,根據數據的變化大小判斷稱重數據為靜態數據或動態數據,若為動態數據,則比對計算行程結果,確定有效稱重數據,進行存儲。
STM32接收Android發來圖像識別分類結果后,根據分類,稱重數據控制撥桿啟動,完成分選。同時將分類計數數據傳遞給Android,STM32與Android通過串口進行通信。模塊原理如圖3所示。微控制器程序設計流程圖如圖4所示,程序初始化后,通過中斷讀取光電開關、AD采樣數據,根據兩路數據判斷是否開始存儲稱重數據,直至產品離開稱重臺。通過動態稱重和光電開關遮擋時間計算出有效稱重值,并讀取Android平臺的圖像處理結果,控制撥桿并完成分選。

圖4 STM32微控制器程序流程圖
對于在線識別技術,傳統的方式是基于PC機,采用OpenCV由VC++實現的,由于PC機體積較大,不能滿足便攜式的要求,操作上不如Android直觀方便,因此圖像識別基于Android平臺采用Java OpenCV-3.2.0視覺庫進行開發。模塊設計流程分為物品實時圖像采集、預處理、邊緣提取、映射四個部分,在攝像頭打開后調用打開攝像頭方法獲取實例,再獲取預覽幀數據。再對其進行預處理、圖像轉矩陣,將圖像灰度化、圖像增強、平滑去噪、二值化,數學形態學及邊緣提取,求矩形框輪廓、特征點,對面積進行計算等。
具體方法如下:獲取圖像后,判斷像素點是否超越邊界,若超出重新拾取,直至均為超出,輸出灰度值。之后采用直方圖均衡化的方法對灰度圖像增強處理,即統計每個灰度出現的次數,進行歸一化處理,替換為新的灰度值。得到新的灰度圖像后,進一步對其進行中值濾波進行降噪,重新抽取像素點,取平均值進行替換,程序流程如圖5所示。再對灰度圖像進行二值化處理得到黑白圖像。
獲取二值化圖像后,采用低錯誤率的Canny算法進行邊緣檢測。先對二值化圖像進行高斯濾波,再計算像素點梯度值,判定是否為局部最大,設置灰度值。計算高低閾值判斷邊緣點,將邊緣點連續得到輪廓,最后求出物品映射在工作臺上的面積,由此判定物品的分類。將分類結果發送至STM32。

圖5 圖像預處理流程圖
在視覺識別的基礎上設計了用于生產管理的Android可視化人機操作平臺,如圖6所示,在側邊欄中具備多條生產線的監控選項,生產線管理員登錄后,根據登錄的用戶級別,可按管理員權限實時顯示產品總數,產品包裝類別及其圖像、重量、大小,高級別管理權限的用戶點擊設置可以進入產品分類、重量的設置,以及選擇是否自動發送消息至手機端。

圖6 Android人機操作平臺
本系統采用云服務器作為數據存儲和移動端通信的服務平臺,與傳統的物聯網開發相比,具有較多優勢,傳統開發需要搭建基礎設備,和額外開發部署安全措施,服務器等基礎設施成本較高。云服務在設備接入上,提供了不同環境的SDK,支持度廣,服務器穩定,且一站式管理,簡單易用。
STM32微控制器作為主控平臺的同時也作為網關,通過串口連接ESP8266-wifi模塊,接入云服務,本系統采用機智云服務器作為產品開發的云平臺,其服務平臺提供完善的SDK和App框架,支持移動端的Android、IOS、和微信小程序的應用,且能自動生成MCU工程代碼框架,快速實現感知層-應用層的快速銜接。在開發者中心中創建產品,添加新建產品分類的規格,生產線統計的分類結果等數據點,采用Wi-Fi/移動網絡方案,數據傳輸為定長方式。設置完成后輸入產品密鑰下載MCU代碼包與原代碼進行整合。下載移動端開發的SDK,導入原工程項目。
圖7為手機App測試截圖,用戶登錄后,進入生產線管理系統界面,可以顯示出當前分選的產品分類和數量,并且可以對分類產品進行重量設置調整。

圖7 移動端生產線管理系統界面
實現了以STM32F407為主控制器的互聯網+定量包裝產品的在線分選系統,通過動態稱重、視覺識別對多種產品進行分選,利用行程與動態稱重計算出有效重量,采用基于Android平臺的Java-OpenCV庫實現圖像識別,確定包裝尺寸。主控制器將分類信息和統計的產品數量傳入Android平臺用于生產線管理,同時發送至機智云服務器,用于移動端的實時監控。經過測試表明,產品識別分選正常穩定,通信模塊工作狀態較好,云端服務能夠實現實時交互。能夠滿足生產要求。