摘"要:當(dāng)下實(shí)體企業(yè)的物流包裹處理工序繁多且主要依靠人力,針對(duì)物流設(shè)備功能單一,人工靜態(tài)稱重導(dǎo)致的稱重效率不高的問(wèn)題,該文設(shè)計(jì)了一種基于STM32F103系列單片機(jī)的物流動(dòng)態(tài)稱重系統(tǒng)。該系統(tǒng)設(shè)計(jì)了以STM32芯片為主,結(jié)合電源模塊、信號(hào)采集模塊、信號(hào)處理模塊和通信模塊,配合相應(yīng)的軟件設(shè)計(jì),實(shí)現(xiàn)了物流質(zhì)量信息的采集、數(shù)據(jù)處理、數(shù)據(jù)傳輸、多平臺(tái)監(jiān)管等功能的動(dòng)態(tài)稱重系統(tǒng)。系統(tǒng)的設(shè)計(jì)著重于動(dòng)態(tài)稱重以及多平臺(tái)監(jiān)管功能的實(shí)現(xiàn),方便形成數(shù)字化管理系統(tǒng)。經(jīng)現(xiàn)場(chǎng)測(cè)試,系統(tǒng)對(duì)包裹的處理效率每小時(shí)可達(dá)3600件,這對(duì)企業(yè)而言有著降本增效的作用。
關(guān)鍵詞:動(dòng)態(tài)稱重;STM32F103;串行通信;多平臺(tái)監(jiān)管
中圖分類號(hào): TH715.1"""""文獻(xiàn)標(biāo)識(shí)碼: A""""""文章編號(hào):20959699(2024)03013007
稱重裝置從古至今一直是社會(huì)生產(chǎn)和商品貿(mào)易過(guò)程中重要的度量工具。隨著疫情后國(guó)內(nèi)經(jīng)濟(jì)逐步回歸常態(tài),物流需求持續(xù)恢復(fù)。稱重是物流包裹處理工序中重要的一環(huán),傳統(tǒng)的人工靜態(tài)稱重耗費(fèi)大量人力物力,成本偏高。傳統(tǒng)桿秤和彈簧秤的稱重速度慢,精度低;應(yīng)運(yùn)而生的電子秤雖然提高了稱重速度和精度,但其仍為靜態(tài)的工作方式,不適用于高度自動(dòng)化的流水線作業(yè)。盡管可以使用多組設(shè)備同時(shí)作業(yè)來(lái)提高生產(chǎn)效率,但其成本必然倍增。相比之下,利用動(dòng)態(tài)稱重采集數(shù)據(jù)則是更優(yōu)的解決方案。
動(dòng)態(tài)稱重技術(shù)的應(yīng)用領(lǐng)域廣泛,針對(duì)物流業(yè)中與電子皮帶秤相關(guān)的動(dòng)態(tài)稱重系統(tǒng)設(shè)計(jì),國(guó)內(nèi)學(xué)者做了大量的研究。熊慧群[1]設(shè)計(jì)了一款基于STM32的動(dòng)態(tài)稱重系統(tǒng),能夠?qū)崟r(shí)控制和調(diào)整電子皮帶秤的啟停和運(yùn)行速度,且通過(guò)和QT(跨平臺(tái)C++圖形用戶界面應(yīng)用程序開(kāi)發(fā)框架)上位機(jī)的通信完成對(duì)物體的實(shí)時(shí)在線動(dòng)態(tài)稱重和顯示等功能。儲(chǔ)玉芬[2]利用嵌入式、視覺(jué)識(shí)別、Android開(kāi)發(fā)等技術(shù),設(shè)計(jì)了一種基于STM32的在線圖像識(shí)別+動(dòng)態(tài)稱重的智能分揀系統(tǒng),實(shí)現(xiàn)對(duì)小定量包裝產(chǎn)品的外形、重量的精確分揀,將數(shù)據(jù)通過(guò)Wi-Fi模塊上傳至云平臺(tái)進(jìn)行存儲(chǔ)并實(shí)現(xiàn)手機(jī)移動(dòng)端的遠(yuǎn)端監(jiān)管。周書(shū)[3]設(shè)計(jì)了一種動(dòng)態(tài)分選系統(tǒng),分為系統(tǒng)監(jiān)控、稱重控制、執(zhí)行機(jī)構(gòu)三部分,滿足工廠對(duì)生產(chǎn)過(guò)程中的數(shù)據(jù)整合、統(tǒng)一管理的需求。宋文強(qiáng)[4]利用DSP(Digital Signal Processing)+ARM雙核架構(gòu)技術(shù),設(shè)計(jì)了基于動(dòng)態(tài)稱重技術(shù)的罐裝制品分選系統(tǒng),其搭載了RTLinux操作系統(tǒng),測(cè)試表明該系統(tǒng)的稱重準(zhǔn)度和速度以及分選正確率均達(dá)到預(yù)期。甕嘉民等[5]設(shè)計(jì)了基于STM32F105的動(dòng)態(tài)自動(dòng)稱重系統(tǒng),并成功應(yīng)用到碳化硅砂子領(lǐng)域,實(shí)現(xiàn)了砂子的高精度定量動(dòng)態(tài)稱重、自動(dòng)倒料的功能。李銀平[6]設(shè)計(jì)了一種基于STM32的嵌入式在線實(shí)時(shí)監(jiān)測(cè)稱重分選控制系統(tǒng),達(dá)到了多級(jí)分選的目標(biāo)。
以上文獻(xiàn)研究的系統(tǒng)都能夠?qū)崿F(xiàn)物體的動(dòng)態(tài)稱重功能,但缺少對(duì)多平臺(tái)監(jiān)管系統(tǒng)接入的支持。結(jié)合單片機(jī)技術(shù)、動(dòng)態(tài)稱重技術(shù)和通信技術(shù),文章設(shè)計(jì)了一種基于STM32的物流動(dòng)態(tài)稱重系統(tǒng)。該系統(tǒng)利用動(dòng)態(tài)稱重技術(shù)實(shí)現(xiàn)對(duì)物流包裹的重量數(shù)據(jù)的采集,結(jié)合通信技術(shù),以有線和無(wú)線的通信方式,支持與觸摸屏、顯示器、PC端和移動(dòng)安卓端等平臺(tái)的監(jiān)管系統(tǒng)通信,以方便數(shù)字化管理。系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。
1"系統(tǒng)硬件電路設(shè)計(jì)
該系統(tǒng)的硬件電路主要包括:主控芯片電路、電源電路、信號(hào)采集及處理模塊電路和通信模塊電路。
1.1"主控芯片電路
選取STM32F103VCT6作為整個(gè)系統(tǒng)的主控芯片。STM32F103VCT6是一款32位基于ARMCORTEX M3核的增強(qiáng)型微控制芯片,具有性能優(yōu)越、功耗小、成本低、片內(nèi)資源充足等特點(diǎn),滿足各種電路模塊的接入和設(shè)計(jì)需求,主頻最高能達(dá)72 MHz,能夠快速地對(duì)外界傳感器模塊輸入的信號(hào)做出處理。
1.2"電源電路
電源模塊為整個(gè)硬件系統(tǒng)提供運(yùn)轉(zhuǎn)所需要的電壓。文中采用金升陽(yáng)的開(kāi)關(guān)電源模塊,為系統(tǒng)提供電路所需的3.3 V電壓。采用AMS11173.3穩(wěn)壓芯片,將開(kāi)關(guān)電源的5 V電壓轉(zhuǎn)換為3.3 V;采用共模濾波器,抑制開(kāi)關(guān)電源提供電壓產(chǎn)生的共模干擾。電源電路設(shè)計(jì)如圖2所示。
金升陽(yáng)開(kāi)關(guān)電源具有高效率、高隔離電壓、過(guò)流、過(guò)壓保護(hù)等優(yōu)點(diǎn)。系統(tǒng)外部供電直流24 V,經(jīng)過(guò)瞬態(tài)吸收保護(hù)和濾波后,給外部的工業(yè)觸摸屏和連接電機(jī)的繼電器供電;系統(tǒng)及其他芯片則需要33 V的工作電壓,為保證稱重芯片測(cè)量的精確度和芯片的正常供電,系統(tǒng)采用兩塊AMS1117-3.3芯片來(lái)構(gòu)建所需要的電路,該芯片內(nèi)部集成過(guò)熱保護(hù)和限流電路,同時(shí)兩個(gè)降壓模塊兩邊都有濾波電容,組成兩路電源電路,一路單獨(dú)設(shè)計(jì)給稱重模塊供電,另一路則為主控芯片及其他模塊供電。
1.3"信號(hào)的采集及處理模塊
(1)重量采集模塊
該模塊主要實(shí)現(xiàn)稱重和數(shù)據(jù)采集功能,其外接壓力傳感器,為了確保稱重的精確度,采用了24位A/D轉(zhuǎn)換芯片HX711,與其他同類型芯片相比,該芯片內(nèi)部有上電自動(dòng)復(fù)位功能,簡(jiǎn)化了開(kāi)機(jī)初始化功能,響應(yīng)速度更快,該芯片具有集成度高、響應(yīng)速度快、抗干擾能力強(qiáng)等優(yōu)點(diǎn)[7]。該芯片有4通道并行的信息采集,外部的壓力傳感器將采集到的信號(hào)傳輸?shù)紿X711中進(jìn)行A/D轉(zhuǎn)換。內(nèi)部光電耦合電路與外部的光電傳感器相連接,當(dāng)物流包裹經(jīng)過(guò)光電傳感器時(shí),傳輸重量數(shù)據(jù)到系統(tǒng),由系統(tǒng)判斷并執(zhí)行對(duì)應(yīng)的命令。A/D轉(zhuǎn)換電路如圖3所示。
(2)信號(hào)處理模塊
信號(hào)處理模塊是指對(duì)上述電路中產(chǎn)生的信號(hào)進(jìn)行處理,主要指對(duì)稱重傳感器采集的A/D信號(hào)進(jìn)行數(shù)據(jù)轉(zhuǎn)換,光電傳感器識(shí)別并將信號(hào)導(dǎo)入系統(tǒng)中進(jìn)行處理。信號(hào)處理電路主要通過(guò)輸出光電耦合電路與繼電器相連接控制3臺(tái)無(wú)刷直流電機(jī),三個(gè)輸出口用于控制電機(jī)的開(kāi)關(guān),另外三個(gè)輸出口用于控制電機(jī)的運(yùn)動(dòng)方向。外接4個(gè)光電傳感器,判斷包裹在運(yùn)送過(guò)程中的位置,從而讓主控系統(tǒng)判斷包裹的位置并進(jìn)行相應(yīng)的處理。
1.4"通信模塊
該系統(tǒng)使用多種通信模塊進(jìn)行通信,包括RS232、RS485有線通信模塊和藍(lán)牙、WiFi通信模塊。多種通信方式實(shí)現(xiàn)系統(tǒng)對(duì)包裹信息的采集和處理,通信模塊電路設(shè)計(jì),如圖4所示。
RS485模塊與稱重顯示器通信,連接過(guò)程中主系統(tǒng)將獲取到的數(shù)據(jù)經(jīng)過(guò)串口傳輸?shù)轿锪鞣Q重專用顯示器上,實(shí)現(xiàn)系統(tǒng)對(duì)重量數(shù)據(jù)的顯示;使用RS232模塊與觸摸屏和“PC端物流管理系統(tǒng)”通信,觸摸屏能夠?qū)υ撓到y(tǒng)起到監(jiān)管作用,當(dāng)工作人員要對(duì)該設(shè)備進(jìn)行控制和監(jiān)測(cè)時(shí),可以通過(guò)觸摸屏調(diào)節(jié)所需要的工作模式。觸摸屏發(fā)送的信號(hào),通過(guò)串口實(shí)時(shí)與系統(tǒng)通信,能夠控制電機(jī)的運(yùn)行狀態(tài),還支持WiFi模塊與上位機(jī)通信;支持藍(lán)牙模塊與移動(dòng)設(shè)備通信。
2"系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件基于Keil MDK集成開(kāi)發(fā)環(huán)境,采用C語(yǔ)言進(jìn)行編寫(xiě),主要包括主控制程序設(shè)計(jì)、動(dòng)態(tài)稱重程序設(shè)計(jì)、ModbusRTU協(xié)議及其實(shí)現(xiàn)和自定義串口通信協(xié)議的設(shè)計(jì)及實(shí)現(xiàn)。實(shí)現(xiàn)系統(tǒng)的傳送、動(dòng)態(tài)稱重以及通信等功能。
2.1"主控程序設(shè)計(jì)
主控程序主要包括系統(tǒng)初始化程序、按鍵掃描程序、光電傳感器掃描程序、電機(jī)控制程序、A/D轉(zhuǎn)換和通信等子程序。主控程序流程圖如圖5所示。
該系統(tǒng)的初始化默認(rèn)電機(jī)正轉(zhuǎn),執(zhí)行自動(dòng)模式,即實(shí)現(xiàn)傳送、分揀和動(dòng)態(tài)稱重的功能。其中按鍵分為啟動(dòng)、直通、復(fù)位和急停四種。啟動(dòng)按鍵使系統(tǒng)執(zhí)行初始化的內(nèi)容;直通按鍵僅實(shí)現(xiàn)傳送、分揀的功能;復(fù)位按鍵則在人工處理完異常包裹后使系統(tǒng)復(fù)位到正常工作狀態(tài);急停按鍵在任意時(shí)刻按下均能使系統(tǒng)設(shè)備停止工作。光電傳感器共有四個(gè),為圖5中的IN5IN8,且分別對(duì)應(yīng)設(shè)備結(jié)構(gòu)圖6中的傳感器14,用于檢測(cè)包裹所在的位置。系統(tǒng)設(shè)備結(jié)構(gòu)圖如圖6所示。
物流動(dòng)態(tài)稱重是一種用于實(shí)時(shí)測(cè)量物流包裹重量的技術(shù),相較于靜態(tài)稱重,動(dòng)態(tài)稱重可以在包裹運(yùn)動(dòng)過(guò)程中進(jìn)行稱重,無(wú)需停止物體,從而提高稱重效率和準(zhǔn)確性。
當(dāng)一個(gè)包裹完全進(jìn)入稱重段,執(zhí)行動(dòng)態(tài)稱重程序,稱重段內(nèi)置應(yīng)變式稱重傳感器,通過(guò)應(yīng)變片形變時(shí)產(chǎn)生的阻值變化測(cè)量重量,稱重專用芯片HX711分別連接傳感器和主控芯片,STM32與HX711進(jìn)行同步串行通信,獲取到原始的A/D轉(zhuǎn)換值,經(jīng)程序處理后得到瞬時(shí)重量,再進(jìn)行濾波處理即可得到有效的重量數(shù)據(jù)。
為了確保物流包裹的重量、體積、條碼等數(shù)據(jù)的齊全,本系統(tǒng)與“PC端物流管理系統(tǒng)”通信進(jìn)行信息交互,獲取并處理完包裹重量數(shù)據(jù)后,上傳至管理系統(tǒng)。管理系統(tǒng)根據(jù)獲取包裹數(shù)據(jù)的種類發(fā)送控制信息給本系統(tǒng),兩個(gè)系統(tǒng)相互配合實(shí)現(xiàn)物流包裹的數(shù)據(jù)采集功能。其中系統(tǒng)總體程序流程圖5中的虛線表示本系統(tǒng)與“PC端物流管理系統(tǒng)”的通信信號(hào)。
2.2"動(dòng)態(tài)稱重程序設(shè)計(jì)
動(dòng)態(tài)稱重程序包括稱重自檢、獲取皮重、獲取瞬時(shí)重量和濾波算法四部分。其中獲取包裹皮重和瞬時(shí)重量的程序設(shè)計(jì)類似,稱重自檢具體流程如圖7所示,濾波算法具體流程如圖8所示。
系統(tǒng)在自動(dòng)模式下執(zhí)行動(dòng)態(tài)稱重程序,設(shè)備啟動(dòng)前先進(jìn)行超重自檢。STM32F103的運(yùn)算速度非???,在稱重時(shí)間段內(nèi),首先不斷采集從HX711獲取的初始A/D轉(zhuǎn)換值并進(jìn)行處理,得到包裹的瞬時(shí)重量數(shù)據(jù),借鑒滑動(dòng)窗口算法的思想,采集稱重結(jié)束前200個(gè)瞬時(shí)數(shù)據(jù),使用系統(tǒng)滴答定時(shí)器SysTick和中斷進(jìn)行計(jì)時(shí);稱重結(jié)束后,進(jìn)行濾波處理,將瞬時(shí)數(shù)據(jù)進(jìn)行升序,并根據(jù)稱重時(shí)間取尾部不同數(shù)量的瞬時(shí)重量進(jìn)行均值濾波計(jì)算。
給出部分A/D采集與轉(zhuǎn)換處理的代碼如下:
Weight_Shiwu = (s32)((float)(Weight_Shiwu/GapValue+0.05)*19.231);
//對(duì)單個(gè)重量數(shù)據(jù)的預(yù)處理
void weight_cal(void)
//將重量數(shù)據(jù)轉(zhuǎn)存到call數(shù)組
{call[abdata]=Weight_Shiwu;
abdata++;if(abdata==200)abdata=0; }
2.3"ModbusRTU協(xié)議及其實(shí)現(xiàn)
ModbusRTU是一種串行通信協(xié)議,在工業(yè)自動(dòng)化領(lǐng)域有著廣泛的應(yīng)用,如RS232或RS485[8]。該系統(tǒng)中控制板作為通信從站(slave),從站使用串口DMA接收主站的通信幀,無(wú)需CPU的干預(yù),節(jié)省CPU資源;信捷TG765SMT工業(yè)觸摸屏作為主站(master),通訊基本參數(shù)為:波特率9600bps、8位數(shù)據(jù)位、1位停止位、無(wú)奇偶校驗(yàn)位,并設(shè)置各寄存器的ModbusRTU通訊地址。另外,該系統(tǒng)還支持與PC和安卓端的上位機(jī)通過(guò)有線或無(wú)線的方式進(jìn)行ModbusRTU的通信。協(xié)議中使用到的寄存器的詳細(xì)分配見(jiàn)表1和表2。
2.4"自定義串口通信協(xié)議的設(shè)計(jì)及實(shí)現(xiàn)
該控制系統(tǒng)與“PC端物流管理系統(tǒng)”通信使用基于USART3的自定義串口通信協(xié)議,該通信協(xié)議定義了8種握手信號(hào),具體定義如表3所示。
幀格式如下:
幀頭+命令類型+幀長(zhǎng)度+數(shù)據(jù)+幀尾;
除數(shù)據(jù)字段外其他字段長(zhǎng)度固定為1字節(jié),無(wú)校驗(yàn)字段。其中幀頭和幀尾分別固定為0x88、0x16;命令類型規(guī)定低四位0x000x06和0x09對(duì)應(yīng)8種命令信號(hào),高四位只能取值為0和8,分別表示MCU端和PC端管理系統(tǒng)作為發(fā)送方的情況;幀長(zhǎng)度字段規(guī)定只能取值為0x00和0x01,分別表示數(shù)據(jù)幀總長(zhǎng)度為5字節(jié)(重量數(shù)據(jù)信號(hào)除外)和6字節(jié)的情況;數(shù)據(jù)字段在不同的命令信號(hào)中有著不同的作用,且長(zhǎng)度可變,用法靈活。核心用法:比如在重量數(shù)據(jù)信號(hào)中表示重量數(shù)據(jù),在數(shù)據(jù)處理應(yīng)答信號(hào)中區(qū)分采集的數(shù)據(jù)種類是否齊全以及是否僅缺少條碼數(shù)據(jù),在結(jié)束命令中區(qū)分正常和異常包裹的結(jié)束命令。
通信幀示例:
發(fā)送重量數(shù)據(jù)信號(hào):0x88,0x02,0x00,0x02,0x08,0x01,0x06,0x16;
獲取重量數(shù)據(jù)應(yīng)答:0x88,0x82,0x00,0x00,0x16;
上述示例為一組握手信號(hào),重量數(shù)據(jù)信號(hào)表示MCU端發(fā)送重量為28.16 kg的數(shù)據(jù)幀,其應(yīng)答信號(hào)表示PC端管理系統(tǒng)接收到重量數(shù)據(jù)后發(fā)送的應(yīng)答數(shù)據(jù)幀。
3"結(jié)語(yǔ)
針對(duì)目前物流包裹數(shù)據(jù)采集自動(dòng)化的不足,文章設(shè)計(jì)并實(shí)現(xiàn)了基于STM32的物流動(dòng)態(tài)稱重系統(tǒng)。從硬件到嵌入式軟件設(shè)計(jì),該系統(tǒng)著重實(shí)現(xiàn)了對(duì)包裹的傳送、分揀以及動(dòng)態(tài)稱重的功能;與“PC端物流管理系統(tǒng)”配合使用還可實(shí)現(xiàn)體積、條碼數(shù)據(jù)的采集。另外,該系統(tǒng)還支持通過(guò)有線或無(wú)線的方式將多平臺(tái)的上位機(jī)接入并實(shí)施監(jiān)管。該系統(tǒng)目前已在相關(guān)物流企業(yè)中投入使用,運(yùn)行穩(wěn)定可靠,大大減輕了工人負(fù)擔(dān),提高了生產(chǎn)效率,降低了企業(yè)設(shè)備支出的成本。
參考文獻(xiàn):
[1]熊慧群.基于STM32的動(dòng)態(tài)稱重系統(tǒng)設(shè)計(jì)[D].長(zhǎng)沙:湖南大學(xué),2021.
[2]儲(chǔ)玉芬.基于嵌入式系統(tǒng)的智能在線分揀系統(tǒng)研究[J].科技傳播,2020, 12(10):146148.
[3]周書(shū).分選秤的動(dòng)態(tài)稱重研究[D].長(zhǎng)沙:湖南大學(xué),2021.
[4]宋文強(qiáng).基于動(dòng)態(tài)稱重技術(shù)的罐裝制品分選系統(tǒng)的設(shè)計(jì)[D].哈爾濱:哈爾濱理工大學(xué),2021.
[5]甕嘉民,陳志武.基于STM32F105的動(dòng)態(tài)自動(dòng)稱重系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器,2012(11):111113,144.
[6]李銀平.基于STM32的動(dòng)態(tài)稱重分選系統(tǒng)的研發(fā)與實(shí)現(xiàn)[D].重慶:重慶大學(xué),2017.
[7]梁芳芳.基于HX711多功能的智能電子秤的設(shè)計(jì)[J].工程技術(shù)研究, 2021,6(15):136140.
[8]謝景一.基于Modbus/RTU通信協(xié)議的工業(yè)控制系統(tǒng)[J].信息技術(shù),2019, 43(04):121123,127.
責(zé)任編輯:肖祖銘
Design of Dynamic Weighing System for Logistics Based on STM32
ZHONG Jing, LI Xiangquan, ZOU Zhengpeng, HUANG Wei, LIU Bo
(School of Information Engineering, Jingdezhen University, Jingdezhen 333400, China)
Abstract:At present, the logistics package processing procedures of entity enterprises are various and mainly rely on manpower. Aiming at the problems of low weighing efficiency caused by single function of logistics equipment and manual static weighing, this paper designs a logistics dynamic weighing system based on STM32F103 series single chip microcomputer. The system design is based on STM32 chip, combined with power module, signal acquisition module, signal processing module and communication module, with the corresponding software design, to achieve the logistics quality information acquisition, data processing, data transmission, multiplatform supervision and other functions of dynamic weighing system. The design of the system focuses on the realization of dynamic weighing and multiplatform supervision function, which is convenient to form a digital management system. The field test shows that the system′s processing efficiency of parcels can reach up to 3600 pieces per hour, which has a role in reducing costs and increasing efficiency for enterprises.
Keywords: dynamic weighing; STM32F103; serial communication; multiplatform supervision