電子秤作為生活中最常見(jiàn)的測(cè)量?jī)x器,被廣泛應(yīng)用于各種場(chǎng)所。隨著日用設(shè)備自動(dòng)化水平的快速發(fā)展,人們所用的電子秤也不斷更新。但 是,市場(chǎng)上的電子秤大多存在功能單一,人機(jī)界面不友好,測(cè)量誤差大等缺點(diǎn)。為此,本文以STM32單片機(jī)為控制基礎(chǔ),使用四片箔式應(yīng)變片組成惠斯登 電橋與高精度集成轉(zhuǎn)換芯片HX711相連接,設(shè)計(jì)一種可語(yǔ)音播報(bào)、連續(xù)測(cè)量、單價(jià)輸入、總價(jià)計(jì)算、總價(jià)累計(jì)、校準(zhǔn)清零、液晶顯示、觸摸輸入以 及高精度的電子秤。
1.引言
物體質(zhì)量的測(cè)量,價(jià)格的計(jì)算,價(jià)格的累計(jì)存在于生產(chǎn)生活的 各個(gè)方面。一種具有多種功能,人機(jī)界面友好,測(cè)量精度高的電子秤 可在很大程度上提高使用效率。
本文采用四片箔式應(yīng)變片組成一個(gè)惠斯登電橋。運(yùn)用集成芯片 HX711對(duì)稱重傳感器的模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換,完成測(cè)量數(shù)據(jù)的采 集,后經(jīng)單片機(jī)對(duì)數(shù)據(jù)處理完成高精度的測(cè)量,隨后加上各種算法, 完成多種功能的計(jì)算;最后在配合液晶顯示,觸摸輸人,語(yǔ)音播報(bào)等 完成友好的人機(jī)交互。
2.系統(tǒng)組成
根據(jù)設(shè)計(jì)的需求,硬件上需要有稱重傳感器,AD轉(zhuǎn)換電路,單 片機(jī)最小系統(tǒng),按鍵輸人,顯示輸出,語(yǔ)音播報(bào),以及電源模塊,其組 成的系統(tǒng)框圖如圖1。
3.稱重傳感器的設(shè)計(jì)
3.1懸臂梁的設(shè)計(jì)
采用優(yōu)質(zhì)的鋁合金材質(zhì)(長(zhǎng),寬,高分別為:190mm,20mm, 3mm),鋁合金具有塑造性強(qiáng),硬度適中,彈性好等特點(diǎn),常作為電阻 應(yīng)變式稱重傳感器的懸臂梁。本次設(shè)計(jì)中對(duì)懸臂梁做了如下處理, 使其機(jī)械形變更加合理。
(1)在懸臂梁靠近支點(diǎn)(約1/3處),下表面開(kāi)約1.5mm深的小槽。 使其產(chǎn)生的形變集中在一條線上,獲得更好的線性應(yīng)變。
⑵在支點(diǎn)的另外一端,中間處固定一根5cm,下端具有通孔的螺絲釘。好處在于可使測(cè)量物體的重心集中在一個(gè)點(diǎn)上,便于提高 精度。
3.2測(cè)量電路的設(shè)計(jì)
設(shè)計(jì)中采用惠斯登電橋中的四臂測(cè)量接線法,此接線法能對(duì)系 統(tǒng)進(jìn)行包括溫度,濕度等外界干擾因素的補(bǔ)償。使系統(tǒng)不易受外界 因素的干擾,提高測(cè)量精度。
將R1和R4應(yīng)變片粘貼于凹槽對(duì)應(yīng)的上表面,R2和R3應(yīng)變片粘 貼于下表面,這樣就完成了稱重傳感器的設(shè)計(jì)。
4 .AD轉(zhuǎn)換器的設(shè)計(jì)
通過(guò)惠斯登電路可以得到極其微小的電壓差信號(hào),一般情況下 我們需要再設(shè)計(jì)一個(gè)差分放大電路對(duì)信號(hào)進(jìn)行放大,然后再用精度 很高的AD轉(zhuǎn)換芯片進(jìn)行轉(zhuǎn)換,這樣得到的數(shù)據(jù)才能被單片機(jī)所能 使用。而市場(chǎng)上有了一款針對(duì)電子秤開(kāi)發(fā)的集成芯片HX711,由于 具有較高的精度,低廉的價(jià)格,故本次設(shè)計(jì)采用這款芯片。
HX711是一款專為高精度稱重傳感器而設(shè)計(jì)的24位A/D轉(zhuǎn)換 器芯片。與同類型其它芯片相比,該芯片集成了包括穩(wěn)壓電源、片內(nèi) 時(shí)鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、 響應(yīng)速度快、抗干擾性強(qiáng)等優(yōu)點(diǎn)。
將HX711的模塊與惠斯登電橋、單片機(jī)連接;通過(guò)HX711,就可 以將惠斯登電路所測(cè)微弱形變信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),傳送給STM32 單片機(jī)進(jìn)行數(shù)據(jù)處理。
5.單片機(jī)、液晶屏以及語(yǔ)音模塊的設(shè)計(jì)
單片機(jī)采用的是STM32F407ZGT6為處理器,該芯片具有運(yùn)行 速度快,高達(dá)168M。大容量,1M的Flash, 196KB的RAM,以及自帶 FSMC接口。
電源模塊的設(shè)計(jì)采用DC-DC轉(zhuǎn)換芯片MP2359,該芯片具有寬 電壓輸人(6V-16V),穩(wěn)壓5V輸出,電流可高達(dá)1A,這樣就不會(huì)因?yàn)?/span> LCD功耗較大而驅(qū)動(dòng)不了。3.3V電壓的得到采用AMS117-3.3三端 穩(wěn)壓芯片完成,這樣電源就設(shè)計(jì)完成。
L⑶液晶屏模塊采用的是ALIENTEK的4.3寸屏,控制器IC為 ILI9341,分辨率為480*800,16色真彩顯示,自帶觸摸屏。
語(yǔ)音模塊采用的是WT588D語(yǔ)音模塊,設(shè)計(jì)中采用一線串口控 制模式。該模式下,只需使用一個(gè)I/O口向模塊發(fā)送需要播報(bào)的語(yǔ)音 地址即可。為了便于編寫(xiě)程序代碼,可把語(yǔ)音‘0’加載到模塊的地址 0上,語(yǔ)音‘1’加載到地址1上,以此類推,最后語(yǔ)音‘點(diǎn)’加載到地址10 上,語(yǔ)音‘元’加載到地址11上,這樣需要播報(bào)時(shí),發(fā)送相應(yīng)的地址就 可以了。
通過(guò)液晶觸摸屏和語(yǔ)音模塊就可以很好的完成人機(jī)交互界面的設(shè)計(jì)。
6.軟件設(shè)計(jì)
6.1物體質(zhì)量處理
通過(guò)HX711轉(zhuǎn)換可以得到數(shù)字信號(hào)量,此時(shí),就可以用單片機(jī) 獲取數(shù)據(jù)。HX711模塊的輸出接口類似于IIC接口,只有時(shí)鐘線和數(shù) 據(jù)線,按照該芯片的使用手冊(cè),就可以讀出數(shù)據(jù)。
從HX711模塊獲取的數(shù)據(jù)并不能直接使用,它只是經(jīng)24位AD 轉(zhuǎn)換后的值。所以,需要處理,24位AD轉(zhuǎn)換除去最高位的標(biāo)志位,其 有效數(shù)據(jù)位只有23位。滿量程為2A23次方,等于8388608。在測(cè)試中發(fā) 現(xiàn)低兩位可作為無(wú)效位去除,其原因在于AD轉(zhuǎn)換的精度過(guò)于高,在 不加砝碼的時(shí)候低兩位數(shù)值變化的厲害,因而將其舍去。最后可利 用的數(shù)據(jù)最大為83886。處理后的AD轉(zhuǎn)換值也不是我們需要的物體 質(zhì)量。因此,還需要對(duì)數(shù)據(jù)進(jìn)行處理,利用每一克質(zhì)量對(duì)應(yīng)一個(gè)AD 轉(zhuǎn)換值,可以把這種對(duì)應(yīng)關(guān)系通過(guò)數(shù)學(xué)方法擬合成一個(gè)函數(shù),這樣 當(dāng)測(cè)量物體質(zhì)量時(shí),就可以利用該函數(shù)求解出物體對(duì)應(yīng)的質(zhì)量。試 驗(yàn)中,通過(guò)對(duì)0-500克砝碼的多次測(cè)試,擬合出的函數(shù)如式1。
WEIGHT=1945.5-0.0238*AD_Value ⑴
可以看出該函數(shù)為一條單調(diào)遞減函數(shù),通過(guò)該表達(dá)式就可以快 速求解出物體的質(zhì)量。
為了滿足多功能的需求以及減小系統(tǒng)自身的誤差,需要設(shè)置扣 重,校準(zhǔn)功能。其程序?qū)崿F(xiàn)代碼如式2。
REAL_WEIGHT=WEIGHT-XIAOZHENG-KOUZHONG
(2)
當(dāng)需要校準(zhǔn)時(shí),把REAL?EIGHT賦值給XIAOZHENG即可 實(shí)現(xiàn)校準(zhǔn),當(dāng)需要扣重時(shí),把REAL?EIGHT賦值給KOUZHONG 即可實(shí)現(xiàn)扣重。
總價(jià)計(jì)算及總價(jià)累計(jì)計(jì)算,利用觸摸屏輸人的單價(jià)值即可計(jì)算 出當(dāng)前物體的總計(jì)價(jià)格,當(dāng)需要累加時(shí),按下觸摸屏上對(duì)應(yīng)的按鍵 區(qū)域即可實(shí)現(xiàn)累計(jì)。
6.2人機(jī)交互界面的實(shí)現(xiàn)
LCD顯示的最基本原理在于可以在指定的位置畫(huà)一個(gè)點(diǎn),利用 這種原理,可以先對(duì)需要顯示的字符取模,再利用畫(huà)點(diǎn)實(shí)現(xiàn)顯示字 符。配合需要顯示的顏色,最終就可以設(shè)計(jì)出所需要的界面。
根據(jù)表1描繪過(guò)溫調(diào)節(jié)關(guān)斷時(shí)間TOTR時(shí)間隨溫度變化曲線如 圖6所示,從圖6可見(jiàn)TOTR時(shí)間和高溫時(shí)的溫度基本成線性關(guān)系。
觸摸按鍵的設(shè)計(jì)在于利用當(dāng)用手指觸碰到屏幕時(shí),單片機(jī)會(huì)接 收到兩個(gè)數(shù)據(jù),分別為X軸的坐標(biāo)值,Y軸的坐標(biāo)值。根據(jù)觸碰的點(diǎn) 在哪一個(gè)區(qū)域內(nèi)就可以判斷出是哪個(gè)按鍵被觸發(fā),進(jìn)而實(shí)現(xiàn)按鍵輸 人功能。
當(dāng)需要語(yǔ)音模塊播報(bào)時(shí),把需要播報(bào)數(shù)字的每個(gè)位的數(shù)值解析 出來(lái)作為地址發(fā)送給語(yǔ)音模塊,當(dāng)解析出‘點(diǎn)’時(shí),發(fā)送地址10,最后 再發(fā)送地址11,播報(bào)‘元'就完成了語(yǔ)音播報(bào)的功能。
7.測(cè)量結(jié)果及誤差分析
根據(jù)擬合出的的函數(shù)可以將處理后的AD轉(zhuǎn)換值代人方程中, 求解出物體的質(zhì)量。測(cè)試中發(fā)現(xiàn),在沒(méi)有加砝碼前,電子稱重儀還是 有讀數(shù),這為系統(tǒng)誤差,為此,需要在每次開(kāi)機(jī)時(shí)按下‘校正’按鍵清 零。另一方面由于應(yīng)變片產(chǎn)生的形變是非直線的,但是因?yàn)槭遣捎?曲線擬合的方法得到函數(shù)關(guān)系,測(cè)量結(jié)果的誤差是非常小的。因此, 產(chǎn)生的誤差來(lái)源最主要的就是物體重心的偏移,測(cè)量時(shí)物體晃動(dòng)。
8.結(jié)語(yǔ)
通過(guò)硬件與軟件的結(jié)合,可以很好的完成本次設(shè)計(jì)。而所選用 的STM32單片機(jī)自帶浮點(diǎn)數(shù)運(yùn)算單元,可以大大提高小數(shù)運(yùn)算能 力;LCD液晶屏的使用為人機(jī)交互界面提供了很好的顯示效果,極 大方便了用戶的使用。通過(guò)對(duì)不同質(zhì)量砝碼的多次測(cè)量,獲取多組 數(shù)據(jù),然后用MATLAB或EXCEL軟件擬合出一個(gè)函數(shù),這樣能明顯 提高測(cè)量的精度,減小測(cè)量誤差。在測(cè)試中發(fā)現(xiàn)0-50克,測(cè)量誤差穩(wěn) 定在0.1%內(nèi),50-500克穩(wěn)定在0.2%內(nèi),所以本設(shè)計(jì)實(shí)現(xiàn)了一種基于 STM32的多功能精密電子秤。