儲玉芬
智能在線分選系統(tǒng)是將自動化、機(jī)械化和信息化結(jié)合在一起的新的技術(shù)設(shè)備,近年來,隨著大批量生產(chǎn)速度的增長和市場對產(chǎn)品質(zhì)量穩(wěn)定性要求的提高,人工分揀的方式已經(jīng)不能滿足市場需求。智能在線分選系統(tǒng)的研制具有重要的工程意義和廣闊的應(yīng)用前景,并且隨著物聯(lián)網(wǎng)技術(shù)的高速發(fā)展,在線分選裝置正朝著智能化、數(shù)字化、網(wǎng)絡(luò)化的方向發(fā)展??焖佟?zhǔn)確、方便、誤差小、多功能化已經(jīng)成為現(xiàn)代檢測技術(shù)的發(fā)展趨勢。但仍然存在一些不足,主要在以下幾個(gè)方面:1)理論研究存在不足;2)制造工藝及制造技術(shù)與國外存在差距;3)產(chǎn)品技術(shù)方面與國外相比較為落后;4)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)技術(shù)高速發(fā)展,在分選設(shè)備上卻未能得到很好的利用。針對以上背景,設(shè)計(jì)了一種基于視覺識別和稱重的在線智能分選系統(tǒng),該系統(tǒng)可實(shí)現(xiàn)高精度高速度的實(shí)時(shí)在線分選,并且具備可視化的、可移動的人機(jī)交互界面。可滿足高速大批量的生產(chǎn),具有較高的精度、速度和穩(wěn)定性,并且在其基礎(chǔ)上增加在線實(shí)時(shí)管理系統(tǒng)是將現(xiàn)今流行的“互聯(lián)網(wǎng)+”的管理模式運(yùn)用到企業(yè)生產(chǎn)線上。
如圖1所示,系統(tǒng)采用STM32F407作為主控制器,獲取Android端發(fā)來的圖像識別結(jié)果,結(jié)合稱重傳感器,確定產(chǎn)品的重量和包裝體積,發(fā)送控制指令給分選裝置進(jìn)行產(chǎn)品分選;同時(shí)獲取光電計(jì)數(shù)器發(fā)送的計(jì)數(shù)值,統(tǒng)計(jì)各類產(chǎn)品的數(shù)量并返回給Android監(jiān)控平臺。在Android平臺上,利用Java-OpenCV庫進(jìn)行圖像識別,計(jì)算產(chǎn)品包裝大小,與下位機(jī)傳送來的數(shù)據(jù)結(jié)合,對包裝進(jìn)行分類,發(fā)送分選控制指令給下位機(jī),對分選臺進(jìn)行控制。同時(shí),在Android平臺上可以對產(chǎn)品類別進(jìn)行設(shè)置,并統(tǒng)計(jì)不同類型產(chǎn)品的數(shù)量,并實(shí)現(xiàn)多機(jī)通信,可同時(shí)對多個(gè)生產(chǎn)線進(jìn)行監(jiān)控。STM32通過WiFi模塊將生產(chǎn)管理數(shù)據(jù)上傳至云平臺,可由移動端遠(yuǎn)程監(jiān)管操控。
圖2 機(jī)械系統(tǒng)設(shè)計(jì)圖
系統(tǒng)機(jī)械結(jié)構(gòu)如圖2所示,不同型號產(chǎn)品由傳送帶送入分揀裝置,首先由光電開關(guān)對通過的產(chǎn)品進(jìn)行計(jì)數(shù),分揀臺上方有CCD對產(chǎn)品進(jìn)行拍照,傳入Android平臺進(jìn)行圖像處理,將識別結(jié)果送入下位機(jī)。下方稱重傳感器對產(chǎn)品進(jìn)行稱重,兩路數(shù)據(jù)由下位機(jī)采集,綜合圖像處理結(jié)果進(jìn)行計(jì)算、存儲,根據(jù)用戶設(shè)置將產(chǎn)品的重量、體積進(jìn)行對應(yīng)分類,計(jì)算相應(yīng)撥桿啟動和執(zhí)行的時(shí)間,控制撥桿完成分選。
稱重傳感器選用HBM傳感器公司的單點(diǎn)稱重傳感器型號為PW6DC3MR,該傳感器適用于動態(tài)測量,其量程為20kg,符合該分揀系統(tǒng)的量程要求,系統(tǒng)采用5V的激勵(lì)電壓,靈敏度為2.0±0.2mV/V,滿量程的輸出電壓為10mV,采用四線制連接。稱重傳感器的輸出電壓由AD7190采集,該模數(shù)轉(zhuǎn)換器集成了隔離、濾波、放大電路,內(nèi)置可編程增益,可將毫伏級的稱重傳感器輸出信號放大到可以轉(zhuǎn)換的電壓級別,具有精度高,低噪聲等特點(diǎn),AD7190通過SPI總線與STM32通信,放大增益采用128倍,采用連續(xù)轉(zhuǎn)換方式,以外部中斷方式傳遞給STM32。
圖3 STM32采集控制模塊
計(jì)數(shù)模塊采用OMRON對射式E3Z-Laser NPN光電開關(guān)進(jìn)行檢測,將激光發(fā)射器和光電管安裝在工作臺,當(dāng)物品經(jīng)過時(shí),接收管接收到的光發(fā)生明暗變化,STM32通過定時(shí)中斷來讀取光電開關(guān)狀態(tài),并記錄遮擋次數(shù),通過光線被遮擋和恢復(fù)的時(shí)間節(jié)點(diǎn),可判斷物品經(jīng)過的時(shí)間和大致寬度,并通過傳感器位置和皮帶運(yùn)動速度計(jì)算稱重傳感器的稱重采樣時(shí)刻。
采集光電開關(guān)數(shù)據(jù)之后,通過50Hz的AD采樣頻率,產(chǎn)生外部中斷采樣稱重?cái)?shù)據(jù),根據(jù)數(shù)據(jù)的變化大小判斷稱重?cái)?shù)據(jù)為靜態(tài)數(shù)據(jù)或動態(tài)數(shù)據(jù),若為動態(tài)數(shù)據(jù),則比對計(jì)算行程結(jié)果,確定有效稱重?cái)?shù)據(jù),進(jìn)行存儲。
STM32接收Android發(fā)來圖像識別分類結(jié)果后,根據(jù)分類,稱重?cái)?shù)據(jù)控制撥桿啟動,完成分選。同時(shí)將分類計(jì)數(shù)數(shù)據(jù)傳遞給Android,STM32與Android通過串口進(jìn)行通信。模塊原理如圖3所示。微控制器程序設(shè)計(jì)流程圖如圖4所示,程序初始化后,通過中斷讀取光電開關(guān)、AD采樣數(shù)據(jù),根據(jù)兩路數(shù)據(jù)判斷是否開始存儲稱重?cái)?shù)據(jù),直至產(chǎn)品離開稱重臺。通過動態(tài)稱重和光電開關(guān)遮擋時(shí)間計(jì)算出有效稱重值,并讀取Android平臺的圖像處理結(jié)果,控制撥桿并完成分選。
圖4 STM32微控制器程序流程圖
對于在線識別技術(shù),傳統(tǒng)的方式是基于PC機(jī),采用OpenCV由VC++實(shí)現(xiàn)的,由于PC機(jī)體積較大,不能滿足便攜式的要求,操作上不如Android直觀方便,因此圖像識別基于Android平臺采用Java OpenCV-3.2.0視覺庫進(jìn)行開發(fā)。模塊設(shè)計(jì)流程分為物品實(shí)時(shí)圖像采集、預(yù)處理、邊緣提取、映射四個(gè)部分,在攝像頭打開后調(diào)用打開攝像頭方法獲取實(shí)例,再獲取預(yù)覽幀數(shù)據(jù)。再對其進(jìn)行預(yù)處理、圖像轉(zhuǎn)矩陣,將圖像灰度化、圖像增強(qiáng)、平滑去噪、二值化,數(shù)學(xué)形態(tài)學(xué)及邊緣提取,求矩形框輪廓、特征點(diǎn),對面積進(jìn)行計(jì)算等。
具體方法如下:獲取圖像后,判斷像素點(diǎn)是否超越邊界,若超出重新拾取,直至均為超出,輸出灰度值。之后采用直方圖均衡化的方法對灰度圖像增強(qiáng)處理,即統(tǒng)計(jì)每個(gè)灰度出現(xiàn)的次數(shù),進(jìn)行歸一化處理,替換為新的灰度值。得到新的灰度圖像后,進(jìn)一步對其進(jìn)行中值濾波進(jìn)行降噪,重新抽取像素點(diǎn),取平均值進(jìn)行替換,程序流程如圖5所示。再對灰度圖像進(jìn)行二值化處理得到黑白圖像。
獲取二值化圖像后,采用低錯(cuò)誤率的Canny算法進(jìn)行邊緣檢測。先對二值化圖像進(jìn)行高斯濾波,再計(jì)算像素點(diǎn)梯度值,判定是否為局部最大,設(shè)置灰度值。計(jì)算高低閾值判斷邊緣點(diǎn),將邊緣點(diǎn)連續(xù)得到輪廓,最后求出物品映射在工作臺上的面積,由此判定物品的分類。將分類結(jié)果發(fā)送至STM32。
圖5 圖像預(yù)處理流程圖
在視覺識別的基礎(chǔ)上設(shè)計(jì)了用于生產(chǎn)管理的Android可視化人機(jī)操作平臺,如圖6所示,在側(cè)邊欄中具備多條生產(chǎn)線的監(jiān)控選項(xiàng),生產(chǎn)線管理員登錄后,根據(jù)登錄的用戶級別,可按管理員權(quán)限實(shí)時(shí)顯示產(chǎn)品總數(shù),產(chǎn)品包裝類別及其圖像、重量、大小,高級別管理權(quán)限的用戶點(diǎn)擊設(shè)置可以進(jìn)入產(chǎn)品分類、重量的設(shè)置,以及選擇是否自動發(fā)送消息至手機(jī)端。
圖6 Android人機(jī)操作平臺
本系統(tǒng)采用云服務(wù)器作為數(shù)據(jù)存儲和移動端通信的服務(wù)平臺,與傳統(tǒng)的物聯(lián)網(wǎng)開發(fā)相比,具有較多優(yōu)勢,傳統(tǒng)開發(fā)需要搭建基礎(chǔ)設(shè)備,和額外開發(fā)部署安全措施,服務(wù)器等基礎(chǔ)設(shè)施成本較高。云服務(wù)在設(shè)備接入上,提供了不同環(huán)境的SDK,支持度廣,服務(wù)器穩(wěn)定,且一站式管理,簡單易用。
STM32微控制器作為主控平臺的同時(shí)也作為網(wǎng)關(guān),通過串口連接ESP8266-wifi模塊,接入云服務(wù),本系統(tǒng)采用機(jī)智云服務(wù)器作為產(chǎn)品開發(fā)的云平臺,其服務(wù)平臺提供完善的SDK和App框架,支持移動端的Android、IOS、和微信小程序的應(yīng)用,且能自動生成MCU工程代碼框架,快速實(shí)現(xiàn)感知層-應(yīng)用層的快速銜接。在開發(fā)者中心中創(chuàng)建產(chǎn)品,添加新建產(chǎn)品分類的規(guī)格,生產(chǎn)線統(tǒng)計(jì)的分類結(jié)果等數(shù)據(jù)點(diǎn),采用Wi-Fi/移動網(wǎng)絡(luò)方案,數(shù)據(jù)傳輸為定長方式。設(shè)置完成后輸入產(chǎn)品密鑰下載MCU代碼包與原代碼進(jìn)行整合。下載移動端開發(fā)的SDK,導(dǎo)入原工程項(xiàng)目。
圖7為手機(jī)App測試截圖,用戶登錄后,進(jìn)入生產(chǎn)線管理系統(tǒng)界面,可以顯示出當(dāng)前分選的產(chǎn)品分類和數(shù)量,并且可以對分類產(chǎn)品進(jìn)行重量設(shè)置調(diào)整。
圖7 移動端生產(chǎn)線管理系統(tǒng)界面
實(shí)現(xiàn)了以STM32F407為主控制器的互聯(lián)網(wǎng)+定量包裝產(chǎn)品的在線分選系統(tǒng),通過動態(tài)稱重、視覺識別對多種產(chǎn)品進(jìn)行分選,利用行程與動態(tài)稱重計(jì)算出有效重量,采用基于Android平臺的Java-OpenCV庫實(shí)現(xiàn)圖像識別,確定包裝尺寸。主控制器將分類信息和統(tǒng)計(jì)的產(chǎn)品數(shù)量傳入Android平臺用于生產(chǎn)線管理,同時(shí)發(fā)送至機(jī)智云服務(wù)器,用于移動端的實(shí)時(shí)監(jiān)控。經(jīng)過測試表明,產(chǎn)品識別分選正常穩(wěn)定,通信模塊工作狀態(tài)較好,云端服務(wù)能夠?qū)崿F(xiàn)實(shí)時(shí)交互。能夠滿足生產(chǎn)要求。