徐倫++鄧濤

摘要:電子秤作為生活中最常見的測量儀器,被廣泛應用于各種場所。隨著日用設備自動化水平的快速發展,人們所用的電子秤也不斷更新。但是,市場上的電子秤大多存在功能單一,人機界面不友好,測量誤差大等缺點。為此,本文以STM32單片機為控制基礎,使用四片箔式應變片組成惠斯登電橋與高精度集成轉換芯片HX711相連接,設計一種可語音播報、連續測量、單價輸入、總價計算、總價累計、校準清零、液晶顯示、觸摸輸入以及高精度的電子秤。
關鍵詞:STM32 人機界面 高精度 多功能
中圖分類號:TP274 文獻標識碼:A 文章編號:1007-9416(2016)10-0148-02
1 引言
物體質量的測量,價格的計算,價格的累計存在于生產生活的各個方面。一種具有多種功能,人機界面友好,測量精度高的電子秤可在很大程度上提高使用效率。
本文采用四片箔式應變片組成一個惠斯登電橋。運用集成芯片HX711對稱重傳感器的模擬信號進行A/D轉換,完成測量數據的采集,后經單片機對數據處理完成高精度的測量,隨后加上各種算法,完成多種功能的計算;最后在配合液晶顯示,觸摸輸入,語音播報等完成友好的人機交互。
2 系統組成
根據設計的需求,硬件上需要有稱重傳感器,AD轉換電路,單片機最小系統,按鍵輸入,顯示輸出,語音播報,以及電源模塊,其組成的系統框圖如圖1。
3 稱重傳感器的設計
3.1 懸臂梁的設計
采用優質的鋁合金材質(長,寬,高分別為:190mm,20mm,3mm),鋁合金具有塑造性強,硬度適中,彈性好等特點,常作為電阻應變式稱重傳感器的懸臂梁。本次設計中對懸臂梁做了如下處理,使其機械形變更加合理。
(1)在懸臂梁靠近支點(約1/3處),下表面開約1.5mm深的小槽。使其產生的形變集中在一條線上,獲得更好的線性應變。
(2)在支點的另外一端,中間處固定一根5cm,下端具有通孔的螺絲釘。好處在于可使測量物體的重心集中在一個點上,便于提高精度。
3.2 測量電路的設計
設計中采用惠斯登電橋中的四臂測量接線法,此接線法能對系統進行包括溫度,濕度等外界干擾因素的補償。使系統不易受外界因素的干擾,提高測量精度。
將R1和R4應變片粘貼于凹槽對應的上表面,R2和R3應變片粘貼于下表面,這樣就完成了稱重傳感器的設計。
4 AD轉換器的設計
通過惠斯登電路可以得到極其微小的電壓差信號,一般情況下我們需要再設計一個差分放大電路對信號進行放大,然后再用精度很高的AD轉換芯片進行轉換,這樣得到的數據才能被單片機所能使用。而市場上有了一款針對電子秤開發的集成芯片HX711,由于具有較高的精度,低廉的價格,故本次設計采用這款芯片。
HX711是一款專為高精度稱重傳感器而設計的24位A/D轉換器芯片。與同類型其它芯片相比,該芯片集成了包括穩壓電源、片內時鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應速度快、抗干擾性強等優點。
將HX711的模塊與惠斯登電橋、單片機連接;通過HX711,就可以將惠斯登電路所測微弱形變信號轉換成數字信號,傳送給STM32單片機進行數據處理。
5 單片機、液晶屏以及語音模塊的設計
單片機采用的是STM32F407ZGT6為處理器,該芯片具有運行速度快,高達168M。大容量,1M的Flash,196KB的RAM,以及自帶FSMC接口。
電源模塊的設計采用DC-DC轉換芯片MP2359,該芯片具有寬電壓輸入(6V-16V),穩壓5V輸出,電流可高達1A,這樣就不會因為LCD功耗較大而驅動不了。3.3V電壓的得到采用AMS117-3.3三端穩壓芯片完成,這樣電源就設計完成。
LCD液晶屏模塊采用的是ALIENTEK的4.3寸屏,控制器IC為ILI9341,分辨率為480*800,16色真彩顯示,自帶觸摸屏。
語音模塊采用的是WT588D語音模塊,設計中采用一線串口控制模式。該模式下,只需使用一個I/O口向模塊發送需要播報的語音地址即可。為了便于編寫程序代碼,可把語音‘0加載到模塊的地址0上,語音‘1加載到地址1上,以此類推,最后語音‘點加載到地址10上,語音‘元加載到地址11上,這樣需要播報時,發送相應的地址就可以了。
通過液晶觸摸屏和語音模塊就可以很好的完成人機交互界面的設計。
6 軟件設計
6.1 物體質量處理
通過HX711轉換可以得到數字信號量,此時,就可以用單片機獲取數據。HX711模塊的輸出接口類似于IIC接口,只有時鐘線和數據線,按照該芯片的使用手冊,就可以讀出數據。
從HX711模塊獲取的數據并不能直接使用,它只是經24位AD轉換后的值。所以,需要處理,24位AD轉換除去最高位的標志位,其有效數據位只有23位。滿量程為2^23次方,等于8388608。在測試中發現低兩位可作為無效位去除,其原因在于AD轉換的精度過于高,在不加砝碼的時候低兩位數值變化的厲害,因而將其舍去。最后可利用的數據最大為83886。處理后的AD轉換值也不是我們需要的物體質量。因此,還需要對數據進行處理,利用每一克質量對應一個AD轉換值,可以把這種對應關系通過數學方法擬合成一個函數,這樣當測量物體質量時,就可以利用該函數求解出物體對應的質量。試驗中,通過對0-500克砝碼的多次測試,擬合出的函數如式1。
WEIGHT=1945.5-0.0238*AD_Value (1)
可以看出該函數為一條單調遞減函數,通過該表達式就可以快速求解出物體的質量。
為了滿足多功能的需求以及減小系統自身的誤差,需要設置扣重,校準功能。其程序實現代碼如式2。
REAL_WEIGHT=WEIGHT-XIAOZHENG-KOUZHONG (2)
當需要校準時,把REAL_WEIGHT賦值給XIAOZHENG即可實現校準,當需要扣重時,把REAL_WEIGHT賦值給KOUZHONG即可實現扣重。
總價計算及總價累計計算,利用觸摸屏輸入的單價值即可計算出當前物體的總計價格,當需要累加時,按下觸摸屏上對應的按鍵區域即可實現累計。
6.2 人機交互界面的實現
LCD顯示的最基本原理在于可以在指定的位置畫一個點,利用這種原理,可以先對需要顯示的字符取模,再利用畫點實現顯示字符。配合需要顯示的顏色,最終就可以設計出所需要的界面。
觸摸按鍵的設計在于利用當用手指觸碰到屏幕時,單片機會接收到兩個數據,分別為X軸的坐標值,Y軸的坐標值。根據觸碰的點在哪一個區域內就可以判斷出是哪個按鍵被觸發,進而實現按鍵輸入功能。
當需要語音模塊播報時,把需要播報數字的每個位的數值解析出來作為地址發送給語音模塊,當解析出‘點時,發送地址10,最后再發送地址11,播報‘元,就完成了語音播報的功能。
7 測量結果及誤差分析
根據擬合出的的函數可以將處理后的AD轉換值代入方程中,求解出物體的質量。測試中發現,在沒有加砝碼前,電子稱重儀還是有讀數,這為系統誤差,為此,需要在每次開機時按下‘校正按鍵清零。另一方面由于應變片產生的形變是非直線的,但是因為是采用曲線擬合的方法得到函數關系,測量結果的誤差是非常小的。因此,產生的誤差來源最主要的就是物體重心的偏移,測量時物體晃動。
8 結語
通過硬件與軟件的結合,可以很好的完成本次設計。而所選用的STM32單片機自帶浮點數運算單元,可以大大提高小數運算能力;LCD液晶屏的使用為人機交互界面提供了很好的顯示效果,極大方便了用戶的使用。通過對不同質量砝碼的多次測量,獲取多組數據,然后用MATLAB或EXCEL軟件擬合出一個函數,這樣能明顯提高測量的精度,減小測量誤差。在測試中發現0-50克,測量誤差穩定在0.1%內,50-500克穩定在0.2%內,所以本設計實現了一種基于STM32的多功能精密電子秤。
參考文獻
[1]邸興,陳貝,韓俊.基于STM32的便攜式人機界面系統[J].電子設計工程,2011,19(5):94-97.
[2]胡美嬌,高美春.基于24位A/D轉換的高精度電子秤的設計[J].現代計算機:普及版, 2013(11):61-63.
[3]羅及紅.一種高精度的電子秤設計[J].計算機測量與控制,2010,18(8):1955-1958.
收稿日期:2016-08-28
作者簡介:徐倫(1982—),男,江蘇贛榆人,本科,實驗師,研究方向:智能控制與嵌入式系統應用;鄧濤(1993—),男,四川成都人,三江學院本科在
讀,研究方向:電氣工程及其自動化。