











摘"要:當下實體企業的物流包裹處理工序繁多且主要依靠人力,針對物流設備功能單一,人工靜態稱重導致的稱重效率不高的問題,該文設計了一種基于STM32F103系列單片機的物流動態稱重系統。該系統設計了以STM32芯片為主,結合電源模塊、信號采集模塊、信號處理模塊和通信模塊,配合相應的軟件設計,實現了物流質量信息的采集、數據處理、數據傳輸、多平臺監管等功能的動態稱重系統。系統的設計著重于動態稱重以及多平臺監管功能的實現,方便形成數字化管理系統。經現場測試,系統對包裹的處理效率每小時可達3600件,這對企業而言有著降本增效的作用。
關鍵詞:動態稱重;STM32F103;串行通信;多平臺監管
中圖分類號: TH715.1"""""文獻標識碼: A""""""文章編號:20959699(2024)03013007
稱重裝置從古至今一直是社會生產和商品貿易過程中重要的度量工具。隨著疫情后國內經濟逐步回歸常態,物流需求持續恢復。稱重是物流包裹處理工序中重要的一環,傳統的人工靜態稱重耗費大量人力物力,成本偏高。傳統桿秤和彈簧秤的稱重速度慢,精度低;應運而生的電子秤雖然提高了稱重速度和精度,但其仍為靜態的工作方式,不適用于高度自動化的流水線作業。盡管可以使用多組設備同時作業來提高生產效率,但其成本必然倍增。相比之下,利用動態稱重采集數據則是更優的解決方案。
動態稱重技術的應用領域廣泛,針對物流業中與電子皮帶秤相關的動態稱重系統設計,國內學者做了大量的研究。熊慧群[1]設計了一款基于STM32的動態稱重系統,能夠實時控制和調整電子皮帶秤的啟停和運行速度,且通過和QT(跨平臺C++圖形用戶界面應用程序開發框架)上位機的通信完成對物體的實時在線動態稱重和顯示等功能。儲玉芬[2]利用嵌入式、視覺識別、Android開發等技術,設計了一種基于STM32的在線圖像識別+動態稱重的智能分揀系統,實現對小定量包裝產品的外形、重量的精確分揀,將數據通過Wi-Fi模塊上傳至云平臺進行存儲并實現手機移動端的遠端監管。周書[3]設計了一種動態分選系統,分為系統監控、稱重控制、執行機構三部分,滿足工廠對生產過程中的數據整合、統一管理的需求。宋文強[4]利用DSP(Digital Signal Processing)+ARM雙核架構技術,設計了基于動態稱重技術的罐裝制品分選系統,其搭載了RTLinux操作系統,測試表明該系統的稱重準度和速度以及分選正確率均達到預期。甕嘉民等[5]設計了基于STM32F105的動態自動稱重系統,并成功應用到碳化硅砂子領域,實現了砂子的高精度定量動態稱重、自動倒料的功能。李銀平[6]設計了一種基于STM32的嵌入式在線實時監測稱重分選控制系統,達到了多級分選的目標。
以上文獻研究的系統都能夠實現物體的動態稱重功能,但缺少對多平臺監管系統接入的支持。結合單片機技術、動態稱重技術和通信技術,文章設計了一種基于STM32的物流動態稱重系統。該系統利用動態稱重技術實現對物流包裹的重量數據的采集,結合通信技術,以有線和無線的通信方式,支持與觸摸屏、顯示器、PC端和移動安卓端等平臺的監管系統通信,以方便數字化管理。系統總體設計框圖如圖1所示。
1"系統硬件電路設計
該系統的硬件電路主要包括:主控芯片電路、電源電路、信號采集及處理模塊電路和通信模塊電路。
1.1"主控芯片電路
選取STM32F103VCT6作為整個系統的主控芯片。STM32F103VCT6是一款32位基于ARMCORTEX M3核的增強型微控制芯片,具有性能優越、功耗小、成本低、片內資源充足等特點,滿足各種電路模塊的接入和設計需求,主頻最高能達72 MHz,能夠快速地對外界傳感器模塊輸入的信號做出處理。
1.2"電源電路
電源模塊為整個硬件系統提供運轉所需要的電壓。文中采用金升陽的開關電源模塊,為系統提供電路所需的3.3 V電壓。采用AMS11173.3穩壓芯片,將開關電源的5 V電壓轉換為3.3 V;采用共模濾波器,抑制開關電源提供電壓產生的共模干擾。電源電路設計如圖2所示。
金升陽開關電源具有高效率、高隔離電壓、過流、過壓保護等優點。系統外部供電直流24 V,經過瞬態吸收保護和濾波后,給外部的工業觸摸屏和連接電機的繼電器供電;系統及其他芯片則需要33 V的工作電壓,為保證稱重芯片測量的精確度和芯片的正常供電,系統采用兩塊AMS1117-3.3芯片來構建所需要的電路,該芯片內部集成過熱保護和限流電路,同時兩個降壓模塊兩邊都有濾波電容,組成兩路電源電路,一路單獨設計給稱重模塊供電,另一路則為主控芯片及其他模塊供電。
1.3"信號的采集及處理模塊
(1)重量采集模塊
該模塊主要實現稱重和數據采集功能,其外接壓力傳感器,為了確保稱重的精確度,采用了24位A/D轉換芯片HX711,與其他同類型芯片相比,該芯片內部有上電自動復位功能,簡化了開機初始化功能,響應速度更快,該芯片具有集成度高、響應速度快、抗干擾能力強等優點[7]。該芯片有4通道并行的信息采集,外部的壓力傳感器將采集到的信號傳輸到HX711中進行A/D轉換。內部光電耦合電路與外部的光電傳感器相連接,當物流包裹經過光電傳感器時,傳輸重量數據到系統,由系統判斷并執行對應的命令。A/D轉換電路如圖3所示。
(2)信號處理模塊
信號處理模塊是指對上述電路中產生的信號進行處理,主要指對稱重傳感器采集的A/D信號進行數據轉換,光電傳感器識別并將信號導入系統中進行處理。信號處理電路主要通過輸出光電耦合電路與繼電器相連接控制3臺無刷直流電機,三個輸出口用于控制電機的開關,另外三個輸出口用于控制電機的運動方向。外接4個光電傳感器,判斷包裹在運送過程中的位置,從而讓主控系統判斷包裹的位置并進行相應的處理。
1.4"通信模塊
該系統使用多種通信模塊進行通信,包括RS232、RS485有線通信模塊和藍牙、WiFi通信模塊。多種通信方式實現系統對包裹信息的采集和處理,通信模塊電路設計,如圖4所示。
RS485模塊與稱重顯示器通信,連接過程中主系統將獲取到的數據經過串口傳輸到物流稱重專用顯示器上,實現系統對重量數據的顯示;使用RS232模塊與觸摸屏和“PC端物流管理系統”通信,觸摸屏能夠對該系統起到監管作用,當工作人員要對該設備進行控制和監測時,可以通過觸摸屏調節所需要的工作模式。觸摸屏發送的信號,通過串口實時與系統通信,能夠控制電機的運行狀態,還支持WiFi模塊與上位機通信;支持藍牙模塊與移動設備通信。
2"系統軟件設計
系統軟件基于Keil MDK集成開發環境,采用C語言進行編寫,主要包括主控制程序設計、動態稱重程序設計、ModbusRTU協議及其實現和自定義串口通信協議的設計及實現。實現系統的傳送、動態稱重以及通信等功能。
2.1"主控程序設計
主控程序主要包括系統初始化程序、按鍵掃描程序、光電傳感器掃描程序、電機控制程序、A/D轉換和通信等子程序。主控程序流程圖如圖5所示。
該系統的初始化默認電機正轉,執行自動模式,即實現傳送、分揀和動態稱重的功能。其中按鍵分為啟動、直通、復位和急停四種。啟動按鍵使系統執行初始化的內容;直通按鍵僅實現傳送、分揀的功能;復位按鍵則在人工處理完異常包裹后使系統復位到正常工作狀態;急停按鍵在任意時刻按下均能使系統設備停止工作。光電傳感器共有四個,為圖5中的IN5IN8,且分別對應設備結構圖6中的傳感器14,用于檢測包裹所在的位置。系統設備結構圖如圖6所示。
物流動態稱重是一種用于實時測量物流包裹重量的技術,相較于靜態稱重,動態稱重可以在包裹運動過程中進行稱重,無需停止物體,從而提高稱重效率和準確性。
當一個包裹完全進入稱重段,執行動態稱重程序,稱重段內置應變式稱重傳感器,通過應變片形變時產生的阻值變化測量重量,稱重專用芯片HX711分別連接傳感器和主控芯片,STM32與HX711進行同步串行通信,獲取到原始的A/D轉換值,經程序處理后得到瞬時重量,再進行濾波處理即可得到有效的重量數據。
為了確保物流包裹的重量、體積、條碼等數據的齊全,本系統與“PC端物流管理系統”通信進行信息交互,獲取并處理完包裹重量數據后,上傳至管理系統。管理系統根據獲取包裹數據的種類發送控制信息給本系統,兩個系統相互配合實現物流包裹的數據采集功能。其中系統總體程序流程圖5中的虛線表示本系統與“PC端物流管理系統”的通信信號。
2.2"動態稱重程序設計
動態稱重程序包括稱重自檢、獲取皮重、獲取瞬時重量和濾波算法四部分。其中獲取包裹皮重和瞬時重量的程序設計類似,稱重自檢具體流程如圖7所示,濾波算法具體流程如圖8所示。
系統在自動模式下執行動態稱重程序,設備啟動前先進行超重自檢。STM32F103的運算速度非常快,在稱重時間段內,首先不斷采集從HX711獲取的初始A/D轉換值并進行處理,得到包裹的瞬時重量數據,借鑒滑動窗口算法的思想,采集稱重結束前200個瞬時數據,使用系統滴答定時器SysTick和中斷進行計時;稱重結束后,進行濾波處理,將瞬時數據進行升序,并根據稱重時間取尾部不同數量的瞬時重量進行均值濾波計算。
給出部分A/D采集與轉換處理的代碼如下:
Weight_Shiwu = (s32)((float)(Weight_Shiwu/GapValue+0.05)*19.231);
//對單個重量數據的預處理
void weight_cal(void)
//將重量數據轉存到call數組
{call[abdata]=Weight_Shiwu;
abdata++;if(abdata==200)abdata=0; }
2.3"ModbusRTU協議及其實現
ModbusRTU是一種串行通信協議,在工業自動化領域有著廣泛的應用,如RS232或RS485[8]。該系統中控制板作為通信從站(slave),從站使用串口DMA接收主站的通信幀,無需CPU的干預,節省CPU資源;信捷TG765SMT工業觸摸屏作為主站(master),通訊基本參數為:波特率9600bps、8位數據位、1位停止位、無奇偶校驗位,并設置各寄存器的ModbusRTU通訊地址。另外,該系統還支持與PC和安卓端的上位機通過有線或無線的方式進行ModbusRTU的通信。協議中使用到的寄存器的詳細分配見表1和表2。
2.4"自定義串口通信協議的設計及實現
該控制系統與“PC端物流管理系統”通信使用基于USART3的自定義串口通信協議,該通信協議定義了8種握手信號,具體定義如表3所示。
幀格式如下:
幀頭+命令類型+幀長度+數據+幀尾;
除數據字段外其他字段長度固定為1字節,無校驗字段。其中幀頭和幀尾分別固定為0x88、0x16;命令類型規定低四位0x000x06和0x09對應8種命令信號,高四位只能取值為0和8,分別表示MCU端和PC端管理系統作為發送方的情況;幀長度字段規定只能取值為0x00和0x01,分別表示數據幀總長度為5字節(重量數據信號除外)和6字節的情況;數據字段在不同的命令信號中有著不同的作用,且長度可變,用法靈活。核心用法:比如在重量數據信號中表示重量數據,在數據處理應答信號中區分采集的數據種類是否齊全以及是否僅缺少條碼數據,在結束命令中區分正常和異常包裹的結束命令。
通信幀示例:
發送重量數據信號:0x88,0x02,0x00,0x02,0x08,0x01,0x06,0x16;
獲取重量數據應答:0x88,0x82,0x00,0x00,0x16;
上述示例為一組握手信號,重量數據信號表示MCU端發送重量為28.16 kg的數據幀,其應答信號表示PC端管理系統接收到重量數據后發送的應答數據幀。
3"結語
針對目前物流包裹數據采集自動化的不足,文章設計并實現了基于STM32的物流動態稱重系統。從硬件到嵌入式軟件設計,該系統著重實現了對包裹的傳送、分揀以及動態稱重的功能;與“PC端物流管理系統”配合使用還可實現體積、條碼數據的采集。另外,該系統還支持通過有線或無線的方式將多平臺的上位機接入并實施監管。該系統目前已在相關物流企業中投入使用,運行穩定可靠,大大減輕了工人負擔,提高了生產效率,降低了企業設備支出的成本。
參考文獻:
[1]熊慧群.基于STM32的動態稱重系統設計[D].長沙:湖南大學,2021.
[2]儲玉芬.基于嵌入式系統的智能在線分揀系統研究[J].科技傳播,2020, 12(10):146148.
[3]周書.分選秤的動態稱重研究[D].長沙:湖南大學,2021.
[4]宋文強.基于動態稱重技術的罐裝制品分選系統的設計[D].哈爾濱:哈爾濱理工大學,2021.
[5]甕嘉民,陳志武.基于STM32F105的動態自動稱重系統設計[J].儀表技術與傳感器,2012(11):111113,144.
[6]李銀平.基于STM32的動態稱重分選系統的研發與實現[D].重慶:重慶大學,2017.
[7]梁芳芳.基于HX711多功能的智能電子秤的設計[J].工程技術研究, 2021,6(15):136140.
[8]謝景一.基于Modbus/RTU通信協議的工業控制系統[J].信息技術,2019, 43(04):121123,127.
責任編輯:肖祖銘
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