(北京航天新立科技有限公司,北京 100039)
摘 要:電子產(chǎn)品生產(chǎn)所需物料種類多數(shù)量大,人工計數(shù)降低了生產(chǎn)效率,設計電子計數(shù)秤,通過對物料進行測量直接顯示個數(shù),有利于提高生產(chǎn)效率?;赟TM32和HX711模塊及平行梁應變式稱重傳感器的電子計數(shù)秤,存在傳感器分辨率限制、測量和轉(zhuǎn)換誤差及噪聲等問題,造成測量偏差。針對此問題,首先對采樣二進制值進行濾波,提高數(shù)據(jù)穩(wěn)定性;然后利用均值濾波算法進一步降噪,減小噪聲的影響;采用最小二次乘法建立一次函數(shù)線性模型,實現(xiàn)采樣值與重量的轉(zhuǎn)換。通過實驗驗證,將重量誤差控制在±1 g,個數(shù)偏差1%,能滿足生產(chǎn)所需。
關鍵詞:稱重傳感器;STM32;HX711模塊;軟件濾波;最小二乘法
中圖分類號:TH715 文獻標識碼:A 文章編號:2096-4706(2024)13-0015-04
Design and Error Processing of the Electronic Counting Scale Based on
Least Square Method
WANG Hong, HU Kedi, YANG Zaohong, NIU Zongxia, XIN Guisuo, ZHAO Shan
(Beijing Shiny Co., Ltd., Beijing 100039, China)
Abstract: The production of electronic products requires a large variety of materials, and manual counting reduces the production efficiency. The electronic counting scale is designed to directly display the number by measuring the materials, and it is beneficial to improve the production efficiency. The electronic counting scale based on STM32 and HX711 module and parallel beam strain weighing sensor has problems such as sensor resolution limitations, measurement and conversion errors, and noise, which will cause measurement deviation. Aiming at the problems, this paper firstly filters the sampled binary value to improve the data stability, then uses the mean filter algorithm to further reduce noise and minimize the impact of noise. It uses the least square method to establish a linear model of the linear function to realize the conversion of sampled value and weight. Through experimental verification, the weight error is controlled within ±1 g, and the number deviation is 1%, which can meet the needs of production.
Keywords: weighing sensor; STM32; HX711 module; software filtering; least square method
0 引 言
隨著科技和經(jīng)濟的發(fā)展,電子產(chǎn)品批量生產(chǎn)所需元器件、標準件等物料的種類和數(shù)量日益增多。物料的分配、入庫等工作量也隨之增重[1]。依靠人工計數(shù)進行物料發(fā)放,不僅工作量繁重,不方便庫存的管理,而且延長了生產(chǎn)周期、降低了生產(chǎn)效率。為提高生產(chǎn)效率,電子秤被應用于生產(chǎn)過程[2-3]。目前對電子秤的應用主要分兩種,一種是將物料單重信息存儲于電子秤中,測量個數(shù)時調(diào)取相關物料的信息,實現(xiàn)個數(shù)的顯示;但在使用過程中只能測量已錄入信息的物料,對于新物料使用不方便[4]。另一種是等量天平計數(shù)法,首先人工拾取一定數(shù)量的物料放于天平上,清零后拿下,再隨機拿取物料放于天平,當顯示示數(shù)最接近于0時,此時所測物料個數(shù)為之前標定的數(shù)量;這種標定方法只能稱取確定數(shù)量的物料,當所需物料個數(shù)變化時則需重新標定[5-6]。這兩種方法用于生產(chǎn)過程物料計數(shù)均有一定的局限性。
考慮到生產(chǎn)應用以及使用的便利性、成本等因素,基于STM32和HX711模塊及平行梁應變式稱重傳感器設計電子計數(shù)秤,實時采集重量數(shù)據(jù)計算單重,進行物料個數(shù)顯示。由于電子計數(shù)秤依靠傳感器進行重量數(shù)據(jù)采集,并轉(zhuǎn)換為個數(shù)進行顯示,數(shù)據(jù)的傳遞和變換過程受噪聲影響,并引入誤差,因此利用軟件對數(shù)據(jù)處理,首先對采樣二進制值進行濾波,提高數(shù)據(jù)穩(wěn)定性;然后利用均值濾波算法進一步降噪,減小噪聲的影響;采用最小二乘法建立一次函數(shù)線性模型,實現(xiàn)采樣值與重量的轉(zhuǎn)換。此電子計數(shù)秤可以實時對所稱物料進行個數(shù)顯示,沒有數(shù)量限制,為生產(chǎn)中物料計數(shù)提供了便利,提高了生產(chǎn)效率。
1 電子計數(shù)秤硬件設計
電子計數(shù)秤通過對物料進行測量,得到所測物料的個數(shù),方便了物料的領取、發(fā)放以及入庫等。本文設計電子計數(shù)秤主要實現(xiàn)稱重、計數(shù)、顯示以及按鍵標定、清零等功能,主要包括STM32控制器、HX711、A/D轉(zhuǎn)換模塊、平行梁應變式稱重傳感器以及LCD12232顯示屏、功能選擇按鍵等。
1.1 STM32控制器
電子計數(shù)秤作為一種小型自動化設備,需要自行運算與控制,而微控制器STM32不僅性能優(yōu)、穩(wěn)定性好,而且體積小、外設多,滿足所需[7-8]??刂破麟娐吩O計圖如圖1所示,所選用STM32F103C8T6單片機是一款基于ARM Cortex-M內(nèi)核STM32系列的32位微控制器,具有64 KB程序存儲器容量,且有37個IO口用于外設擴展,性價比高,滿足電子計數(shù)秤設計需求。
1.2 平行梁應變式稱重傳感器
稱重傳感器是電子計數(shù)秤的關鍵部件,懸臂梁上的電阻應變片在受到重力作用發(fā)生形變時,阻值會發(fā)生變化,使得惠更斯電路輸出微弱的電壓信號,達到將重量信息轉(zhuǎn)化成電信號的目的[9]。由于電子計數(shù)秤需要以精準的單重為基準,所以選擇的稱重傳感器在量程能滿足要求、控制成本的情況下,精度盡可能高,因此選用全橋差動濾波電路的平行梁應變式稱重傳感器,其量程為3 kg,靈敏度為2 mV/V,不僅精度高、抗偏載能力強,而且結(jié)構(gòu)簡單緊湊,易于安裝[10]。電子計數(shù)秤整體結(jié)構(gòu)如圖2所示。
1.3 HX711AD轉(zhuǎn)換模塊
HX711AD轉(zhuǎn)換模塊是一款高精度24位AD轉(zhuǎn)換芯片,其內(nèi)部集成了電源、時鐘振蕩器等電路,具有集成度高、響應速度快、抗干擾性強等優(yōu)點。利用HX711 AD轉(zhuǎn)換模塊的128增益通道將稱重傳感器輸出的微弱電壓信號進行放大,并將其轉(zhuǎn)化為24位二進制數(shù)值,以一定頻率傳入單片機進行后續(xù)處理,滿足電子計數(shù)秤精度要求。
1.4 電子計數(shù)秤原理圖
如圖3所示,稱重傳感器將感受到的重量信息轉(zhuǎn)化為電壓信號,HX711將來自傳感器的電壓模擬信號傳遞給A/D模塊轉(zhuǎn)化為二進制數(shù)值,并輸入單片機;單片機進行數(shù)據(jù)處理和運算,得到物料重量和數(shù)量,將數(shù)據(jù)發(fā)送到顯示屏進行顯示;同時,利用按鍵中斷進行清零、計算單重、顯示數(shù)量等功能的選擇,滿足電子計數(shù)秤的工作要求。
2 算法改進
在硬件電路設計完成的情況下,對電子計數(shù)秤的算法進行改進,提高其準確性和穩(wěn)定性。受環(huán)境影響和傳感器自身工作原理約束,數(shù)據(jù)采集過程會引入噪聲,影響到電壓信號,使其在測量值附近波動。均值濾波算法只能在一定程度降低噪聲的作用,效果有限。而以往研究,為節(jié)省存儲空間,將采集到的數(shù)據(jù)除以固定數(shù)值,而未考慮對其分辨率的影響。本文在此基礎上,研究零點漂移(零漂)對采集數(shù)據(jù)的影響程度,從而確定數(shù)值變化范圍,確定軟件數(shù)值處理方法,進一步濾波,之后進行數(shù)值變換。過程如圖4所示。
2.1 軟件濾波
以往研究,只是簡單地為節(jié)省存儲空間,將采集到的數(shù)據(jù)除以固定數(shù)值,縮小數(shù)據(jù)范圍,減小數(shù)據(jù)存儲空間,而未考慮縮小倍數(shù)的大小對其分辨率以及準確性的影響。本文通過多次試驗,采集傳感器的零漂范圍從而確定軟件濾波時數(shù)據(jù)縮小的倍數(shù),數(shù)據(jù)如表1所示。
如表1所示,零輸入時,零點漂移會使采集數(shù)據(jù)的低7位不斷波動從而影響傳感器讀數(shù),多次采集后選取20個數(shù)據(jù)進行展示說明,其中最大值為70,而低7位數(shù)值最大位可變化128;同時利用此傳感器和AD轉(zhuǎn)換模塊搭建的電子計數(shù)秤變化1 g對應的AD值變化為1 432,0.1 g對應的AD值為143,低7位數(shù)值的變化所導致的誤差在0.1 g以內(nèi)。因此,在所需精度大于0.1的情況下舍棄低7位數(shù)值,以實現(xiàn)傳感器讀數(shù)一定程度的穩(wěn)定。
將AD值傳入單片機后,進行數(shù)據(jù)處理,主要程序如下:
u32 buffer=0;
u32 deta=0;
u32 weight0;
deta=buffer%27;
weight=buffer&0xffffff80;屏蔽低7位數(shù)值
if(deta>26)
weight=weight+26;
其中,buffer為稱重傳感器讀入AD值,deta為讀取AD值的低7位,weight為軟件處理后的AD值,用于進行重量轉(zhuǎn)換。軟件濾波主要對采樣AD值的后7位進行處理,當后7位值小于64時,認為主要由噪聲導致而舍棄,大于64時認為時重量值,進而加到待轉(zhuǎn)換讀數(shù)。
經(jīng)處理后的采樣值能一定程度減少噪聲,且保持穩(wěn)定,為示數(shù)顯示提供了穩(wěn)定重量讀數(shù)。主要算法流程如圖5所示。
2.2 均值濾波算法
由于隨機噪聲的存在,使得傳感器采樣具有波動性,需要進行濾波以得到平滑的結(jié)果。均值濾波算法是典型的線性濾波算法,能平滑采樣中的“尖銳”變化,降低噪聲。均值濾波算法的原理是:多次采樣后,剔除樣本中的最大值和最小值,然后求取平均值作為采樣結(jié)果。計算方式如式(1)所示:
HX711模塊頻率選用10 Hz,均值濾波時選擇10次采樣值,去除最大、最小值后取平均值作為重量值,進行稱量個數(shù)的計算。
2.3 最小二乘線性擬合
全橋差動電路使得傳感器輸入輸出具有很好的線性,但對于高精度來說,還存在著不可忽略的增益誤差,是由于電阻應變片的非完全線性特性以及隨機誤差導致的。在電子計數(shù)秤中對單重的要求更是精確,因此采用最小二乘法進行線性擬合,通過修正減小誤差?,F(xiàn)稱重傳感器的研究中,對于采樣數(shù)值與重量間的轉(zhuǎn)化多采用正比例函數(shù),形如y = kx,而由于傳感器所用電阻應變片并非完全線性,因此本文采用一次函數(shù)形如y = ax + b作為兩者的轉(zhuǎn)化關系,以補償偏差。
借助所設計硬件及砝碼進行數(shù)據(jù)測量,在保證環(huán)境條件基本一致,經(jīng)過多次測量求平均值后,得到數(shù)據(jù)部分如表2所示。
參考文獻:
[1] 周文彬.標準件入廠驗收管理與質(zhì)量控制 [J].科技經(jīng)濟市場,2020(11):74-75.
[2] 龍順宇,傅啟才,楊偉,等.基于應變電橋與CS1237的高精度電子秤設計 [J].電子制作,2021(11):46-49.
[3] 程望斌,劉碩卿,王曾盛,等.多功能電子秤的優(yōu)化設計與實現(xiàn) [J].湖南理工學院學報:自然科學版,2019,32(3):23-25.
[4] 安民軍.基于Python的最小二乘法在電子天平中的應用 [J].品牌與標準化,2023(6):175-177.
[5] 黃丹平,羅玉梅.新型焊條自動計數(shù)檢測系統(tǒng) [J].儀表技術與傳感器,2012(10):58-60.
[6] 鄒吉祥.一種等量計數(shù)稱重機:CN203053549U [P].2013-07-10.
[7] 秦玉偉.一種懸臂梁結(jié)構(gòu)的高精度電子秤 [J].自動化與儀器儀表,2020(4):97-99.
[8] 楊杰,余紅英,劉輝.基于STM32的智能稱重系統(tǒng)優(yōu)化設計 [J].曲阜師范大學學報:自然科學版,2020,46(1):71-76.
[9] 崔國強,詹寧,羅德雨,等.基于STM32和AD7791實現(xiàn)電子秤設計 [J].儀器儀表用戶,2020,27(2):5-8.
[10] 葛海江.基于HX711的高精度電子稱重研究 [J].電子測試,2019(10):31-32.
作者簡介:王宏(1992—),女,漢族,河北唐山人,工程師,碩士研究生,研究方向:軟件設計、電裝工藝研究。