張 鋒,歐陽鑫玉,趙一帆,趙楠楠
(遼寧科技大學(xué) 電子與信息工程學(xué)院,遼寧 鞍山 114051)
隨著網(wǎng)絡(luò)電商的發(fā)展,物流快件訂單也逐年增長,這對快遞包裹的分揀效率與準(zhǔn)確性提出了更高的要求[1-2]。在這種趨勢下,自動化輸送分揀裝備出現(xiàn)爆炸式增長,出現(xiàn)了很多研究成果[3]。江源[4]提出了一種基于PLC的物料分揀系統(tǒng),該系統(tǒng)驅(qū)動電機使物料間等距排序后再進行分揀,需要對物料間進行距離檢測,增加了系統(tǒng)的復(fù)雜性。韓瀚[5]提出了一種以RFID(Radio frequency identification)射頻技術(shù)為基礎(chǔ)的智能快遞分揀系統(tǒng),該系統(tǒng)通過掃描RFID電子標(biāo)簽獲取快遞信息實現(xiàn)快遞的分揀,但RFID系統(tǒng)成本高,很多小型分揀中心無力購置。楊麗[6]提出了基于 STM32F103的智能快遞分揀控制系統(tǒng),該系統(tǒng)符合中小城市的分揀中心需求,但該系統(tǒng)以RS485總線作為連接主控系統(tǒng)與分揀系統(tǒng)的橋梁,總線通信容易受外界干擾。針對這些問題,本文從系統(tǒng)復(fù)雜性、生產(chǎn)成本和系統(tǒng)穩(wěn)定性的角度出發(fā),設(shè)計了基于STM32F429的快遞包裹智能分揀主控系統(tǒng),將載貨小車的車號作為一個分揀標(biāo)準(zhǔn),解決了因為操作復(fù)雜、成本高和通信不穩(wěn)定所帶來的局限性。
快遞包裹智能分揀系統(tǒng)的結(jié)構(gòu)如圖1所示。軌道上布滿載貨小車,載貨小車承載快遞包裹的尺寸不超過500 mm×400 mm×350 mm,都按順時針方向運動,每個小車上都裝有區(qū)分車號ID的碼盤,如圖2所示。相機安裝在A點,光電耦合器安裝在B點。當(dāng)有小車經(jīng)過B點時,主控系統(tǒng)檢測到載貨小車碼盤,延時后觸發(fā)相機進行拍照,相機通過數(shù)據(jù)線將圖像傳送到上位機,然后通過圖像處理算法,識別出條形碼以及三段碼字符,并將結(jié)果返回給主模塊,主控模塊根據(jù)三段碼信息和車號ID去匹配分揀口,匹配成功后將對應(yīng)的車號ID通過CAN總線發(fā)給分揀模塊;當(dāng)分揀模塊檢測到該載貨小車時,驅(qū)動對應(yīng)電機,轉(zhuǎn)動傳送帶將貨物卸下,若未匹配到分揀口,則將貨物運送到人工分揀口。
快遞包裹智能分揀主控系統(tǒng)電氣結(jié)構(gòu)如圖3所示。本系統(tǒng)以ARM作為核心處理器來實現(xiàn)對車號識別、相機使能、串口通信和CAN總線通信的控制。載貨小車車號的檢測是進行貨物分揀的重要環(huán)節(jié),車號檢測的準(zhǔn)確性直接影響分揀的結(jié)果。
圖1 分揀系統(tǒng)結(jié)構(gòu)模型Fig.1 Structure model of sorting system
圖2 載貨小車碼盤圖Fig.2 Schematic diagram of cargo car code plate
圖3 分揀系統(tǒng)電氣結(jié)構(gòu)圖Fig.3 Electrical structure diagram of sorting system
圖4 載貨小車ID識別裝置整體結(jié)構(gòu)Fig.4 Structure of ID identification device of cargo trolley
載貨小車ID識別裝置整體結(jié)構(gòu)如圖4所示,主要包括載貨小車碼盤和檢測裝置,載貨小車的碼盤是具有多個長條型通孔的鐵片,檢測裝置采用光耦紅外收發(fā)傳感器。當(dāng)載貨小車的碼盤通過光耦紅外收發(fā)傳感器時,紅外接收器將間隔地接收到紅外發(fā)射器發(fā)出的紅外光信號,該信號經(jīng)過濾波后送入ARM核心處理器,由程序生成載貨小車的ID。因此,該系統(tǒng)無需在載物小車上安裝任何其它電氣裝置,即可通過分揀口主動識別載貨小車ID來判斷是否需要對其進行分揀。相機控制電路是由三極管構(gòu)成的電平轉(zhuǎn)換電路,通過編寫主控芯片中斷程序來控制IO口輸出脈沖,完成對相機的使能控制;主控裝置還支持CAN總線接口和RS232串口,CAN總線接口用于連接外部CAN總線設(shè)備,RS232串口連接PC機。
考慮涉及的外部電路較多,CPU處理速度以及穩(wěn)定性等問題,以ARM為核心控制器,設(shè)計了ARM最小系統(tǒng)電路,主要由STM32F429IGT6TR芯片、晶振電路和復(fù)位電路等構(gòu)成[7]。其中STM32F429IGT6TR芯片是主控制器,具有176個引腳、內(nèi)嵌1M字節(jié)的FLASH和豐富的內(nèi)部資源,能夠滿足本設(shè)計需求。
系統(tǒng)是否能夠穩(wěn)定、高效的運行與電源模塊有著密切的關(guān)聯(lián)[8]。電源電路設(shè)計時要考慮到各個模塊的供電,該系統(tǒng)中的模塊需要+24 V、+5 V和+3.3 V電壓供電,系統(tǒng)外部采用24 V/5 V雙路直流開關(guān)電源供電。通過MP1584降壓芯片將DR_24V電壓轉(zhuǎn)換成為串口電路、載貨小車ID采樣電路和數(shù)字隔離器的一端供電的DR_5V電壓,該芯片具有輸入電壓范圍寬、開關(guān)頻率可調(diào)、內(nèi)部軟啟動、電流過載保護、最大輸出電流可達3 A等特點,電路如圖5所示。通過MP2143降壓芯片將VCC_5V電壓轉(zhuǎn)換成為中央處理器和CAN接口電路供電的VCC_3.3V電壓,該芯片可在2.5~5.5 V電壓下實現(xiàn)高達3 A的連續(xù)輸出電流,電路如圖6所示。
本設(shè)計利用CAN總線作為主控模塊和分揀模塊之間的橋梁,CAN總線的通信距離可達到10 km,懸掛在總線上的節(jié)點之間采用截面積為0.5 mm2的雙絞線進行連接。STM32F429IGT6TR芯片內(nèi)部有CAN控制器,本設(shè)計選用的CAN收發(fā)器的型號為SN65HVD230D,負(fù)責(zé)將TTL電平轉(zhuǎn)換為CAN總線上的顯性和隱性電平,數(shù)據(jù)傳輸速率高達1 Mbps,最多支持120個節(jié)點。為了保證數(shù)據(jù)通信的可靠性,在CAN總線終端各連接一個120 Ω的終端反射電阻,進行總線阻抗匹配[9]。STM32的CAN1_TX和CAN1_RX兩個引腳與CAN收發(fā)器相連,同時將收發(fā)器使用CANH及CANL引腳連接到CAN總線網(wǎng)絡(luò)中。CAN總線接口電路如圖7所示。
圖5 MP1584降壓電路Fig.5 MP1584 buck circuit
圖6 MP2143降壓電路Fig.6 MP2143 buck circuit
圖7 CAN接口電路Fig.7 CAN interface circuit
外部拍照相機的觸發(fā)電壓為24 V,其控制信號由主控制器發(fā)出,經(jīng)過數(shù)字隔離器后傳遞給三極管,通過控制三極管的導(dǎo)通與截止,便可實現(xiàn)輸出相機需要的觸發(fā)電壓。隔離芯片Si8642BB-BIS需要雙端供電[10],左側(cè)為MP2143輸出的VCC_3.3V,右側(cè)為MP1584輸出的DR_5V,傳輸速率高達150 Mbps,傳輸延遲低至10 ns。J8插座用于連接相機的電源端口。相機觸發(fā)電路如圖8所示。
載貨小車車號ID濾波電路由LM2903電壓比較器構(gòu)成。系統(tǒng)通過光電耦合器去檢測透光度不同的碼盤來實現(xiàn)載貨小車ID車號的檢測。光電耦合器的輸出引腳(ENCODER1和ENCODER2)接到比較器的反向輸入端(2腳和6腳)。小車的碼盤經(jīng)過光電耦合器時,光電耦合器輸出變化的電壓信號,該信號經(jīng)過濾波后,結(jié)果由電壓比較器的1腳和7腳傳遞給中央處理器,經(jīng)過中央處理器的數(shù)字化處理后得到區(qū)分載貨小車的ID。載貨小車ID濾波電路如圖9所示。
圖8 相機觸發(fā)電路Fig.8 Camera trigger circuit
通用異步收發(fā)器UART是目前使用較多的串口數(shù)據(jù)傳輸方式,本設(shè)計使用UART通訊完成中央處理器與PC機之間的數(shù)據(jù)交換,選用9幀的DB9接口。stm32f429采用的是TTL電平,需要專用的芯片完成電平的轉(zhuǎn)換。本設(shè)計采用TRS3232EIDB作為電平轉(zhuǎn)換芯片,在3 V至5.5 V電源下穩(wěn)定工作,最高運行速度可達250 kbit/s,可以支持兩路串口通信。為了保護器件免受高壓危害并消除總線上的接地回流,在stm32f429與TRS3232EIDB之間加入數(shù)字隔離器,隔離芯片與相機觸發(fā)電路所用相同。串口通信電路如圖10所示。
圖9 載貨小車ID濾波電路Fig.9 ID detection circuit for cargo trolley
圖10 串口通信電路Fig.10 Serial communication circuit
結(jié)合分揀系統(tǒng)的工作流程,對系統(tǒng)軟件進行了詳細(xì)設(shè)計。利用外部中斷技術(shù)實現(xiàn)了載貨小車ID的識別,利用系統(tǒng)中斷輸出相機的拍照控制信號;通過改編ICAN協(xié)議實現(xiàn)了與外部CAN設(shè)備的通信。
主程序流程如圖11所示。首先進行系統(tǒng)的初始化,包括初始化數(shù)據(jù),對定時器、URAT、CAN總線的配置,中斷的分配以及操作參數(shù)和系統(tǒng)報告的讀取。隨后,系統(tǒng)進行CAN總線上ID節(jié)點的檢測,并建立CAN總線上的連接,接著建立與PC機之間的連接,并在CAN總線上發(fā)送廣播同步命令,此時系統(tǒng)啟動完成,等待程序中斷到來,完成載貨小車的ID檢測與分揀口分配。
圖11 主程序流程圖Fig.11 Main program flow chart
本設(shè)計采用串口作為連接主控系統(tǒng)和PC機之間的橋梁,同時使能串口的DMA提高二者之間的傳輸速率。如果主控系統(tǒng)先于PC啟動,主控模塊上電后完成自檢,等待PC機查詢自檢結(jié)果命令,應(yīng)答PC機后主控模塊完成與PC端的數(shù)據(jù)鏈接。如果系統(tǒng)后于PC啟動,PC將一直發(fā)送通信自檢結(jié)果查詢命令,直到收到主控模塊發(fā)送的通信自檢結(jié)果數(shù)據(jù)才可以執(zhí)行后續(xù)的應(yīng)用程序。
主控模塊和PC機之間大多數(shù)以請求應(yīng)答的方式進行數(shù)據(jù)交換,二者間的部分命令如表1所示。
表1 串口通信命令表Tab.1 Serial communication command table
本次設(shè)計將外部0號中斷分配為載貨小車碼盤中斷,載貨小車ID的編碼信息以結(jié)構(gòu)體的形式進行保存。載貨小車的ID為8位二進制數(shù)。
載貨小車ID編碼解析過程如圖12所示。載貨小車的碼盤是具有多個長條型通孔的鐵片,主要包括起始遮擋區(qū)域,該區(qū)域用于產(chǎn)生載貨小車碼盤識別程序的開始確認(rèn)信息,除該遮擋區(qū)域,剩下的鏤空與遮擋區(qū)域成對出現(xiàn),包括成對出現(xiàn)的窄鏤空區(qū)域、寬遮擋區(qū)域、寬鏤空區(qū)域和窄遮擋區(qū)域。每組寬窄組合經(jīng)過檢測裝置后產(chǎn)生1位信息。載貨小車ID由8位二進制數(shù)組成,取值范圍在1至254之間。
當(dāng)遮擋區(qū)域經(jīng)過光耦紅外收發(fā)器時,主控制器ARM對應(yīng)引腳為低電平信號,鏤空區(qū)域經(jīng)過光耦紅外收發(fā)器時,主控制器ARM對應(yīng)引腳為高電平。當(dāng)高電平持續(xù)時間小于低電平時,所對應(yīng)的鏤空和遮擋組合經(jīng)過主控制器數(shù)字化信號處理后表示為0,當(dāng)高電平持續(xù)時間大于低電平時,所對應(yīng)的鏤空和遮擋組合經(jīng)過主控制器數(shù)字化信號處理后表示為1。圖12所示的載貨小車碼盤經(jīng)過數(shù)字化信號處理后為二進制數(shù)00000011,即對應(yīng)的3號車。
本設(shè)計按照需求對CAN總線進行配置,使能CAN的自動離線管理、報文自動重傳、報文優(yōu)先級判別功能,關(guān)閉了CAN的時間觸發(fā)通信模式、自動喚醒模式,鎖定FIFO功能,工作模式選為正常模式,重新同步跳躍寬度1個時間單元,時間段1占用了12個時間單元,時間段2占用了2個時間單元,CAN外設(shè)的分頻配置為24分頻,故CAN總線的比特率為125 kbps。
CAN總線是主控模塊與分揀模塊通信的橋梁,雙方遵循改編的iCAN協(xié)議,主控模塊可以對分揀模塊進行讀寫、控制分揀模塊操作、設(shè)置分揀模塊的分揀碼等。iCAN協(xié)議相關(guān)定義見表2。
表2 iCAN協(xié)議相關(guān)定義Tab.2 Definition of iCAN protocol
系統(tǒng)將載貨小車的ID號和PC發(fā)來的三段碼數(shù)據(jù)作為分揀依據(jù),PC機會將識別處理后的三段碼數(shù)據(jù)通過串口發(fā)送給主控系統(tǒng),系統(tǒng)根據(jù)該數(shù)據(jù)匹配對應(yīng)的分揀口,隨后將裝有該快遞包裹小車的ID發(fā)給對應(yīng)的分揀模塊,分揀模塊檢測到該小車到來,驅(qū)動電機,卸下快遞包裹。假設(shè)識別到的碼段信息為“202 E158 2088”,而一號分揀口的分揀ID為2088,則主模塊將該小車ID發(fā)給1號分揀模塊。分揀流程如圖13所示。
本設(shè)計采用的是交叉帶式分揀機構(gòu),適用于不同形狀的物品,且可以進行兩側(cè)分揀。實際分揀系統(tǒng)如圖14所示。
圖13 分揀流程圖Fig.13 Sorting flow chart
圖14 實際分揀系統(tǒng)Fig.14 Actual sorting system
圖像采集軟件界面如圖15所示。主控系統(tǒng)觸發(fā)相機拍照后,相機采集到的快遞面單圖片經(jīng)過數(shù)據(jù)線傳到圖像采集軟件,圖像采集軟件可以對相機的參數(shù)進行調(diào)節(jié)并通過圖像識別技術(shù)得到快遞面單的條碼和三段碼信息。這兩部分信息通過TCP/IP協(xié)議傳遞給物流分揀信息管理系統(tǒng)。
圖15 圖像采集軟件界面圖Fig.15 Interface of image acquisition software
圖16 物流分揀信息管理系統(tǒng)界面圖Fig.16 Interface of logistics sorting information management system
快遞面單的條碼、三段碼以及運載該快遞包裹小車的車號ID在物流分揀信息管理系統(tǒng)中匯總,物流分揀信息管理系統(tǒng)界面如圖16所示。在系統(tǒng)運行中,載貨小車的車號ID、車上快遞單的條形碼信息、三段碼信息和所對應(yīng)的分揀口完整的顯示出來?;赟TM32的快遞包裹智能分揀系統(tǒng)經(jīng)過實際的運行和檢測,系統(tǒng)能夠穩(wěn)定運行,實現(xiàn)了快遞分揀的智能化、高效化。
本文設(shè)計了基于ARM的快遞包裹智能分揀主控系統(tǒng),通過硬件電路設(shè)計與軟件程序設(shè)計,完成了車號檢測、與PC機的通信、相機的拍照控制以及同外部CAN總線設(shè)備通信等功能。本設(shè)計將載貨小車車號作為分揀標(biāo)準(zhǔn)之一,克服了單一掃描條碼進行分揀的局限性;采用CAN總線連接分揀模塊,使得二者之間通信的穩(wěn)定性得到保障。通過實際測試,本系統(tǒng)能夠高效完成快遞包裹的自動分揀控制。該系統(tǒng)有效地切合了市場需求,具有良好的推廣價值和廣闊的市場前景。