樊 毅,秦會(huì)斌
(杭州電子科技大學(xué) 電子信息學(xué)院,浙江 杭州 310018)
電子天平是高精度質(zhì)量計(jì)量儀器,廣泛應(yīng)用于科研機(jī)構(gòu)、高等院校和實(shí)驗(yàn)室,具有稱量準(zhǔn)確度高、響應(yīng)速度快、穩(wěn)定性好等特點(diǎn)[1]。目前,國內(nèi)生產(chǎn)的電子天平,電路集成度低,研究者多采用分離的A/D轉(zhuǎn)換器加放大器的電路,且采用模擬電路實(shí)現(xiàn)非線性修正和溫度補(bǔ)償,存在電路復(fù)雜、準(zhǔn)確度低、可靠性差等問題[2]。國外生產(chǎn)的一些電子天平能夠達(dá)到很高的準(zhǔn)確度和可靠性,但是它們使用的稱重傳感器的成本都非常高,這樣就使得整機(jī)的成本過高。
針對(duì)這些問題,本研究設(shè)計(jì)一種高精度、低成本的電子天平。該設(shè)計(jì)采用HX 711芯片對(duì)傳感器的輸出信號(hào)進(jìn)行放大和模數(shù)轉(zhuǎn)換,采用滑動(dòng)均值濾波法進(jìn)行濾波[3]。
該設(shè)計(jì)選用了成本較低而且使用廣泛的電阻應(yīng)變式稱重傳感器來進(jìn)行物理量的變換,把重量變換成電信號(hào)[4]。
HX711為稱重傳感器提供一個(gè)激勵(lì)電壓,有重物加載到稱重傳感器上時(shí),它輸出一個(gè)比較小的電壓信號(hào);HX711在接收到這個(gè)電壓信號(hào)后,對(duì)其進(jìn)行放大,然后進(jìn)行A/D轉(zhuǎn)換,直接變換成數(shù)字信號(hào)送給STM32進(jìn)行處理;STM32對(duì)HX711送過來的數(shù)字信號(hào)先進(jìn)行數(shù)字濾波,然后進(jìn)行曲線擬合、標(biāo)定等等一系列的處理,并轉(zhuǎn)換為代表重物質(zhì)量的數(shù)字量,送給12864液晶進(jìn)行顯示。
另外,在重物超過稱重傳感器的量程時(shí),超載報(bào)警電路會(huì)發(fā)出報(bào)警的聲音和光信號(hào),以便讓用戶快速進(jìn)行處理,避免損壞稱重傳感器;矩陣鍵盤輸送相應(yīng)的按鍵信號(hào)給STM32,以便實(shí)現(xiàn)去皮和單位轉(zhuǎn)換等功能。
該設(shè)計(jì)主要由主控制器STM32、稱重傳感器、A/D轉(zhuǎn)換模塊HX711、超載報(bào)警電路、矩陣鍵盤、液晶顯示模塊12864這幾部分組成[5]。
天平主要部分的電路圖如圖1所示。
圖1 電子天平主要部分電路圖
該設(shè)計(jì)使用的電阻應(yīng)變式稱重傳感器的具體參數(shù)如表1所示。
表1 電阻應(yīng)變式傳感器的各項(xiàng)參數(shù)
電子天平程序流程圖如圖2所示。
圖2 電子天平程序流程圖
為了達(dá)到較快的稱量速度和較高的精度,該電子天平采用了幾個(gè)具有創(chuàng)新性的設(shè)計(jì)。實(shí)驗(yàn)結(jié)果證明,這些設(shè)計(jì)使整個(gè)系統(tǒng)達(dá)到了預(yù)期的要求。
目前市面上的電子天平多采用分離的A/D轉(zhuǎn)換器和放大器組成的電路,對(duì)傳感器輸出的模擬信號(hào)進(jìn)行處理。這樣,不但增加了電路的復(fù)雜度,使電路穩(wěn)定性降低,并且容易受到外界的干擾[6]。對(duì)于高精度電子天平來說,這種電路的復(fù)雜度造成的不穩(wěn)定性會(huì)更加明顯[7]。
為了避免以上問題,本研究采用了海芯科技集團(tuán)生產(chǎn)的HX711芯片。該芯片是一款專為高精度電子天平而設(shè)計(jì)的24位Delta-Sigma型A/D轉(zhuǎn)換器芯片。與同類型其他芯片相比,該芯片集成了放大器、穩(wěn)壓電源和片內(nèi)時(shí)鐘振蕩器等其它同類型芯片所需要的外圍電路,具有響應(yīng)速度快、抗干擾性強(qiáng)等優(yōu)點(diǎn),降低了電子天平的整機(jī)成本和電路的復(fù)雜度,提高了整機(jī)的可靠性。
該芯片內(nèi)提供的穩(wěn)壓電源可以直接向外部傳感器和芯片內(nèi)的A/D轉(zhuǎn)換器提供電源。如果使用該芯片內(nèi)提供的穩(wěn)壓電源給外部傳感器供電,就不需為A/D轉(zhuǎn)換器提供參考電壓,這樣就采用了電壓比例測(cè)量法進(jìn)行測(cè)量,整機(jī)的穩(wěn)定性進(jìn)一步提高,使整個(gè)電子天平能夠達(dá)到較高的精度。并且,為了防止電源電壓的波動(dòng)造成過高的輸入電壓,而燒壞HX711芯片,本研究在電路中安裝了一個(gè)5.1 V的穩(wěn)壓管。
目前的電子天平多采用51單片機(jī)這類功能較簡單、時(shí)鐘頻率較低的單片機(jī)[8],這樣,就存在稱量速度慢、不易擴(kuò)展復(fù)雜功能的弊端,為此,該設(shè)計(jì)采用目前市面上使用廣泛的以ARM Cortex-M3為內(nèi)核的STM32單片機(jī)作主控制器。
該設(shè)計(jì)采用的STM32F103“增強(qiáng)型”系列單片機(jī),時(shí)鐘頻率達(dá)到72 MHz,是同類產(chǎn)品中性能最高的產(chǎn)品。其功耗為36 mA,是32位市場(chǎng)上功耗最低的產(chǎn)品,相當(dāng)于0.5 mA/MHz。其工作溫度范圍為-40℃~+85℃,在溫度變化較大時(shí),仍能保持穩(wěn)定的性能,使得該設(shè)計(jì)對(duì)溫度變化的適應(yīng)性增強(qiáng)。
實(shí)測(cè)結(jié)果表明,該設(shè)計(jì)稱量速度快,充分預(yù)熱后,10 s左右即可達(dá)到穩(wěn)定讀數(shù)。
為了降低電路復(fù)雜度,降低功耗,提高電路穩(wěn)定性,本研究沒有采用硬件濾波的方法,而是采用將A/D轉(zhuǎn)換器輸出的模擬信號(hào)直接數(shù)字化,再進(jìn)行數(shù)字濾波的方法,降低了電路復(fù)雜度,提高了設(shè)計(jì)的穩(wěn)定性。另外,該設(shè)計(jì)采用了滑動(dòng)均值濾波法來進(jìn)行濾波[9]。
滑動(dòng)均值濾波法,屬于數(shù)字濾波器中的有限脈沖響應(yīng)濾波器。其原理是:把N個(gè)測(cè)量數(shù)據(jù)看成一個(gè)隊(duì)列,隊(duì)列的長度固定為N,每進(jìn)行一次新的采樣,把采樣結(jié)果放入隊(duì)尾,而去掉原來隊(duì)首的一個(gè)數(shù)據(jù),這樣在隊(duì)列中始終有N個(gè)“最新”的數(shù)據(jù),對(duì)比普通的均值濾波法(每次都必須讀入N個(gè)數(shù)據(jù)的方法),速度提高了很多。滑動(dòng)均值濾波法的優(yōu)點(diǎn)是,對(duì)周期性干擾有良好的抑制作用,平滑度高,適用于高頻振蕩的系統(tǒng);缺點(diǎn)是,靈敏度較低。但是,對(duì)電子天平來說,它的靈敏度已經(jīng)足夠了。另外,該濾波法對(duì)偶然出現(xiàn)的脈沖性干擾的抑制作用差[10],本研究改進(jìn)了滑動(dòng)均值濾波法,增加了去除N個(gè)數(shù)據(jù)中的最大值和最小值的算法,提高了對(duì)脈沖性干擾的擬制作用,克服了滑動(dòng)均值濾波法本身的弱點(diǎn)。改進(jìn)后的濾波公式為:
式中:—濾波后的結(jié)果,XΚ—第K次的A/D轉(zhuǎn)換結(jié)果,M A X—N個(gè)數(shù)據(jù)中的最大值,M IN—最小值。
經(jīng)過多次實(shí)驗(yàn)比較發(fā)現(xiàn),N取12比較合適。如果N取值過小,那么濾波的平滑效果不好;如果N取值過大,那么雖然濾波的平滑效果較好,但是數(shù)據(jù)處理速度變慢,不能滿足設(shè)計(jì)要求。
本研究編寫STM32的串口通信程序,并用串口連接到電腦,通過串口調(diào)試助手顯示單片機(jī)從A/D轉(zhuǎn)換器得到的數(shù)據(jù)。對(duì)傳感器突然施加一個(gè)壓力,模擬脈沖干擾后,可得到A/D轉(zhuǎn)換器的讀數(shù),沒有濾波算法的讀數(shù)如圖3所示,有濾波算法的讀數(shù)如圖4所示。
圖3 突然施加壓力時(shí)無濾波算法的讀數(shù)
圖4 突然施加壓力時(shí)有濾波算法的讀數(shù)
在圖3、圖4中,總共讀數(shù)50個(gè),每過500 ms讀一次,在第2行第1個(gè)數(shù)據(jù)時(shí),突然加一個(gè)壓力在稱重傳感器上,然后,馬上撤去壓力,以此來模擬脈沖干擾。
從圖中可以看到,在沒有濾波算法時(shí),第2行第1個(gè)讀數(shù),突然變大為13 770 022,在撤去壓力后,經(jīng)過大約讀入5個(gè)數(shù)據(jù)后就恢復(fù)到以前的穩(wěn)定讀數(shù)。可見,在沒有濾波算法時(shí),讀數(shù)的變化是陡變的。而在有濾波算法時(shí),第2行第1個(gè)讀數(shù)為8 898 114,比加壓力前的讀數(shù)8 898 081只增加了33,幾乎沒有變化。在撤去壓力后,由于稱重傳感器的抖動(dòng)等原因,使讀數(shù)一度波動(dòng)到最大值,第3行最后一個(gè)讀數(shù)為8 898 237,但是,在經(jīng)過大約讀入12個(gè)數(shù)據(jù)后,又恢復(fù)到了以前的穩(wěn)定水平,例如第5行最后一個(gè)讀數(shù)為8 898 088。在整個(gè)過程中數(shù)據(jù)的波動(dòng)范圍不超過156(最大讀數(shù)8 898 237減去加壓力前的一個(gè)讀數(shù)8 898 081),比沒有濾波算法的波動(dòng)范圍4 871 453(加壓力后的讀數(shù)13 770 022減去加壓力前的讀數(shù)8 898 569)小了很多,而且,有濾波算法時(shí),數(shù)據(jù)變化緩慢,對(duì)讀數(shù)幾乎沒有影響。可見,改進(jìn)后的滑動(dòng)均值濾波算法有很好的擬制脈沖干擾的作用。
為了驗(yàn)證滑動(dòng)均值濾波算法對(duì)短時(shí)間內(nèi)多次脈沖干擾的濾波效果,以較快的速度對(duì)稱重傳感器連續(xù)施加4次較大的壓力,可得到A/D轉(zhuǎn)換器的讀數(shù),沒有濾波算法的讀數(shù)如圖5所示,有濾波算法的讀數(shù)如圖6所示。
在圖5、圖6中,總共讀數(shù)50個(gè),每過500 ms讀一次,在讀第2行第1個(gè)數(shù)據(jù)時(shí),較快地連續(xù)施加4次壓力在稱重傳感器上,來模擬短時(shí)間內(nèi)連續(xù)的多次脈沖干擾。
圖5 連續(xù)施加4次壓力時(shí)無濾波算法的讀數(shù)
圖6 連續(xù)施加4次壓力時(shí)有濾波算法的讀數(shù)
從圖中可以看出,在沒有濾波算法時(shí),從第2行第1個(gè)讀數(shù)開始,讀數(shù)突然增大,連續(xù)出現(xiàn)了4個(gè)很大的讀數(shù),依次為10 965 292,9 337 284,9 743 113,13 381 052。在結(jié)束施加壓力后,經(jīng)過大約讀入4個(gè)數(shù)據(jù)后就恢復(fù)到以前的穩(wěn)定讀數(shù)??梢?,在沒有濾波算法時(shí),讀數(shù)的變化是陡變的,而在有濾波算法時(shí),第2行第1個(gè)讀數(shù)為8 900 869,比施加壓力前的讀數(shù)8 900 839只增加了30,幾乎沒有變化。在結(jié)束施加壓力后,由于這次施加壓力的次數(shù)是4次,次數(shù)較多,在經(jīng)過讀入了29個(gè)數(shù)據(jù)后,才恢復(fù)到?jīng)]有施加壓力時(shí)的讀數(shù)水平,例如,第6行最后一個(gè)讀數(shù)為8 900 928。沒有濾波算法時(shí),由于施加壓力而造成的數(shù)據(jù)波動(dòng)范圍是4 478 720(施加4次壓力造成的4個(gè)很大的讀數(shù)中最大的一個(gè)讀數(shù)13 381 052減去施加壓力前的讀數(shù)8 902 332)。而有濾波算法時(shí),數(shù)據(jù)波動(dòng)范圍是1 359 584(施加4次壓力過程中造成的最大讀數(shù)10 260 423減去施加壓力前的讀數(shù)8 900 839),比沒有濾波算法的波動(dòng)范圍小了很多。但是,由于是連續(xù)施加4次壓力,比施加1次壓力有濾波算法時(shí)的數(shù)據(jù)波動(dòng)范圍還是大了很多。總的說來,在連續(xù)施加4次壓力有濾波算法時(shí),數(shù)據(jù)變化緩慢,對(duì)讀數(shù)有較小的影響??梢?,在短時(shí)間內(nèi)發(fā)生多次脈沖干擾時(shí),改進(jìn)后的滑動(dòng)均值濾波算法依然有較好的擬制脈沖干擾的作用。
該設(shè)計(jì)的電子天平實(shí)物圖如圖7所示。
圖7 電子天平實(shí)物圖
該設(shè)計(jì)的電子天平要求最大允許誤差小于等于0.02 g,根據(jù)《JJG 1036-2008電子天平檢定規(guī)程》的檢定要求,在20℃室溫環(huán)境下,電子天平充分預(yù)熱后,本研究采用精度為0.001 g的標(biāo)準(zhǔn)砝碼對(duì)電子天平的重復(fù)性和示值誤差進(jìn)行了實(shí)驗(yàn)測(cè)試。
對(duì)載荷為200 g的砝碼進(jìn)行10次重復(fù)檢定,電子天平重復(fù)性檢定結(jié)果如表2所示。由表2可見,最大誤差為0.02 g,滿足設(shè)計(jì)要求。
表2 重復(fù)性檢定實(shí)驗(yàn)結(jié)果
電子天平示值誤差檢定結(jié)果如表3所示。本研究選取了0 g、5 g、10 g、20 g、50 g、100 g、150 g、200 g、250 g、300 g等10個(gè)不同的測(cè)量點(diǎn)。實(shí)驗(yàn)方法是:載荷從零開始,逐漸地往上加載,直至加到電子天平的最大稱量,然后逐漸地卸下載荷,直到零載荷為止。由表3可見,電子天平的最大示值誤差為0.02 g,滿足設(shè)計(jì)要求。
表3 示值誤差檢定實(shí)驗(yàn)結(jié)果
本研究對(duì)電子天平的基本工作原理進(jìn)行了深入研究,并且通過調(diào)研發(fā)現(xiàn)目前市面上的電子天平精度較低、成本較高的問題。為此,本研究設(shè)計(jì)了一種基于STM32的高精度、低成本的電子天平,簡化了電路連接,提高了電路的穩(wěn)定性。大量實(shí)驗(yàn)結(jié)果表明,該天平設(shè)計(jì)量程為300 g,能夠達(dá)到0.01 g的精度,誤差小于等于0.02 g,稱量速度快,10 s左右即可達(dá)到穩(wěn)定讀數(shù),而且性能穩(wěn)定、重復(fù)性好、準(zhǔn)確度高。
但是,由于稱重傳感器和算法的原因,該設(shè)計(jì)的精度受到了限制。今后的改進(jìn)中,研究者將使用精度更高的稱重傳感器和更優(yōu)秀的算法,以進(jìn)一步提高稱量精度。
(References):
[1] 張民慧.電子天平顯示值漂移問題的解決[J].衡器,2009,38(6):30-33.
[2] 楊 敏,滕召勝,陳良柱,等.CS5532的高精度電子天平設(shè)計(jì)[J].儀表技術(shù)與傳感器,2010(1):14-18.
[3] 郭懷天,李寶華.基于電阻應(yīng)變式稱重傳感器的電子天平的研制[D].長春:吉林大學(xué)電子科學(xué)與工程學(xué)院,2006.
[4] SLATTERY C,NIE M.A reference design for high-perfor?mance,low-cost weigh scales[J].Analog Dialogue,2005(12):1-6.
[5] 王盛奎,紀(jì)尚安,吳賀榮.小型電子稱電路的研究[J].儀表技術(shù),1999(6):31-33.
[6] GONZALEZ A G,HERRADOR M A.The assessment of electronic balances for accuracy of mass measurements in the analytical laboratory[J].Accreditation and Quality Assurance,2007,12(1):21-29.
[7] 馬元群.智能型、大量程、精密電子天平設(shè)計(jì)[J].衡器,2009,38(8):42-44.
[8] 鮑丙豪,趙 湛,楊凱峰.基于厚膜力傳感器的電子秤設(shè)計(jì)[J].儀表技術(shù),2005(2):49-50.
[9] 蘇堡瑩,金 偉,曹建偉,等.高精度力傳感器信號(hào)直接數(shù)字化技術(shù)研究[J].機(jī)電工程,2005,22(5):19-22.
[10] 朱亞萍,陳 偉,吳炎彪,等.標(biāo)簽檢測(cè)抗干擾數(shù)字濾波方法研究[J].傳感技術(shù)學(xué)報(bào),2009,22(12):1722-1726.