電子秤作為生活中最常見的測量儀器,被廣泛應用于各種場所。隨著日用設備自動化水平的快速發展,人們所用的電子秤也不斷更新。但 是,市場上的電子秤大多存在功能單一,人機界面不友好,測量誤差大等缺點。為此,本文以STM32單片機為控制基礎,使用四片箔式應變片組成惠斯登 電橋與高精度集成轉換芯片HX711相連接,設計一種可語音播報、連續測量、單價輸入、總價計算、總價累計、校準清零、液晶顯示、觸摸輸入以 及高精度的電子秤。
1.引言
物體質量的測量,價格的計算,價格的累計存在于生產生活的 各個方面。一種具有多種功能,人機界面友好,測量精度高的電子秤 可在很大程度上提高使用效率。
本文采用四片箔式應變片組成一個惠斯登電橋。運用集成芯片 HX711對稱重傳感器的模擬信號進行A/D轉換,完成測量數據的采 集,后經單片機對數據處理完成高精度的測量,隨后加上各種算法, 完成多種功能的計算;最后在配合液晶顯示,觸摸輸人,語音播報等 完成友好的人機交互。
2.系統組成
根據設計的需求,硬件上需要有稱重傳感器,AD轉換電路,單 片機最小系統,按鍵輸人,顯示輸出,語音播報,以及電源模塊,其組 成的系統框圖如圖1。
3.稱重傳感器的設計
3.1懸臂梁的設計
采用優質的鋁合金材質(長,寬,高分別為:190mm,20mm, 3mm),鋁合金具有塑造性強,硬度適中,彈性好等特點,常作為電阻 應變式稱重傳感器的懸臂梁。本次設計中對懸臂梁做了如下處理, 使其機械形變更加合理。
(1)在懸臂梁靠近支點(約1/3處),下表面開約1.5mm深的小槽。 使其產生的形變集中在一條線上,獲得更好的線性應變。
⑵在支點的另外一端,中間處固定一根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三端 穩壓芯片完成,這樣電源就設計完成。
L⑶液晶屏模塊采用的是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位。滿量程為2A23次方,等于8388608。在測試中發 現低兩位可作為無效位去除,其原因在于AD轉換的精度過于高,在 不加砝碼的時候低兩位數值變化的厲害,因而將其舍去。最后可利 用的數據最大為83886。處理后的AD轉換值也不是我們需要的物體 質量。因此,還需要對數據進行處理,利用每一克質量對應一個AD 轉換值,可以把這種對應關系通過數學方法擬合成一個函數,這樣 當測量物體質量時,就可以利用該函數求解出物體對應的質量。試 驗中,通過對0-500克砝碼的多次測試,擬合出的函數如式1。
WEIGHT=1945.5-0.0238*AD_Value ⑴
可以看出該函數為一條單調遞減函數,通過該表達式就可以快 速求解出物體的質量。
為了滿足多功能的需求以及減小系統自身的誤差,需要設置扣 重,校準功能。其程序實現代碼如式2。
REAL_WEIGHT=WEIGHT-XIAOZHENG-KOUZHONG
(2)
當需要校準時,把REAL?EIGHT賦值給XIAOZHENG即可 實現校準,當需要扣重時,把REAL?EIGHT賦值給KOUZHONG 即可實現扣重。
總價計算及總價累計計算,利用觸摸屏輸人的單價值即可計算 出當前物體的總計價格,當需要累加時,按下觸摸屏上對應的按鍵 區域即可實現累計。
6.2人機交互界面的實現
LCD顯示的最基本原理在于可以在指定的位置畫一個點,利用 這種原理,可以先對需要顯示的字符取模,再利用畫點實現顯示字 符。配合需要顯示的顏色,最終就可以設計出所需要的界面。
根據表1描繪過溫調節關斷時間TOTR時間隨溫度變化曲線如 圖6所示,從圖6可見TOTR時間和高溫時的溫度基本成線性關系。
觸摸按鍵的設計在于利用當用手指觸碰到屏幕時,單片機會接 收到兩個數據,分別為X軸的坐標值,Y軸的坐標值。根據觸碰的點 在哪一個區域內就可以判斷出是哪個按鍵被觸發,進而實現按鍵輸 人功能。
當需要語音模塊播報時,把需要播報數字的每個位的數值解析 出來作為地址發送給語音模塊,當解析出‘點’時,發送地址10,最后 再發送地址11,播報‘元'就完成了語音播報的功能。
7.測量結果及誤差分析
根據擬合出的的函數可以將處理后的AD轉換值代人方程中, 求解出物體的質量。測試中發現,在沒有加砝碼前,電子稱重儀還是 有讀數,這為系統誤差,為此,需要在每次開機時按下‘校正’按鍵清 零。另一方面由于應變片產生的形變是非直線的,但是因為是采用 曲線擬合的方法得到函數關系,測量結果的誤差是非常小的。因此, 產生的誤差來源最主要的就是物體重心的偏移,測量時物體晃動。
8.結語
通過硬件與軟件的結合,可以很好的完成本次設計。而所選用 的STM32單片機自帶浮點數運算單元,可以大大提高小數運算能 力;LCD液晶屏的使用為人機交互界面提供了很好的顯示效果,極 大方便了用戶的使用。通過對不同質量砝碼的多次測量,獲取多組 數據,然后用MATLAB或EXCEL軟件擬合出一個函數,這樣能明顯 提高測量的精度,減小測量誤差。在測試中發現0-50克,測量誤差穩 定在0.1%內,50-500克穩定在0.2%內,所以本設計實現了一種基于 STM32的多功能精密電子秤。