招妙妍
摘 ?要:智能儀表是含有微型計(jì)算機(jī)或者微處理器的測(cè)量?jī)x表,它擁有存儲(chǔ)數(shù)據(jù)、邏輯運(yùn)算及自動(dòng)化操作等功能?;趩纹瑱C(jī)的智能電子秤是智能儀表的一個(gè)重要研究方向,本文研究智能電子秤的數(shù)據(jù)采集和控制技術(shù),研制相關(guān)系統(tǒng),設(shè)計(jì)的智能電子秤能夠?qū)崿F(xiàn)稱(chēng)重、顯示、計(jì)算價(jià)格等功能。此外,增設(shè)人機(jī)接口模塊,這使得稱(chēng)重方便、讀數(shù)簡(jiǎn)單,拓展了電子秤的功能。采用單片機(jī)作為控制器,具有速度快、高精度、節(jié)能環(huán)保的特點(diǎn)。
關(guān)鍵詞:智能儀表;單片機(jī);電子秤
1. 引言
電子秤是一種由蓄電池、稱(chēng)重傳感器、微處理器(MCU)、承重系統(tǒng)等組成的電子稱(chēng)重衡器,通過(guò)人機(jī)接口裝置控制電子秤完成稱(chēng)重、計(jì)價(jià)、信息顯示功能,具有精度高、操作簡(jiǎn)單、體積小、效率高、節(jié)能環(huán)保的特點(diǎn),適用于生產(chǎn)過(guò)程、商業(yè)貿(mào)易、日常生活以及科研領(lǐng)域中使用。
從上個(gè)世紀(jì)70年代至今,傳感器技術(shù)、儀器儀表技術(shù)、計(jì)算機(jī)技術(shù)飛速發(fā)展,技術(shù)與技術(shù)相互融合,稱(chēng)重技術(shù)有了翻天覆地的變化,稱(chēng)重裝置有了很大的進(jìn)步,具體可以表現(xiàn)在它的智能化、網(wǎng)絡(luò)化、自動(dòng)化、數(shù)字化。新技術(shù)的出現(xiàn)給電子秤的研發(fā)提供了技術(shù)支持,使得研發(fā)出滿(mǎn)足人們不同需求的電子秤成為可能。人們生活水平的提高,人們對(duì)電子秤的要求在不斷提高。在購(gòu)買(mǎi)需要經(jīng)過(guò)稱(chēng)量才能出售的物品時(shí),人們希望電子秤可以增加打印的功能;在家里稱(chēng)量身體重量時(shí),人們希望電子秤可以增加分析人體是否健康的功能,或者可以方便家庭儲(chǔ)藏;在一些需要統(tǒng)計(jì)重量的場(chǎng)合,人們又希望電子秤有存儲(chǔ)數(shù)據(jù)的功能等等。人們對(duì)電子秤的需求是促進(jìn)電子秤產(chǎn)品不斷更新的源動(dòng)力。因此,有針對(duì)性地開(kāi)發(fā)出一套有實(shí)用價(jià)值的智能電子秤系統(tǒng)具有現(xiàn)實(shí)意義。
2總體方案設(shè)計(jì)
2.1 硬件架構(gòu)
電子秤系統(tǒng)的硬件框圖如圖1所示。
2.2 軟件架構(gòu)
電子秤系統(tǒng)在工作時(shí),控制器STC89C51需要接受來(lái)自HX711模數(shù)轉(zhuǎn)換模塊輸出的質(zhì)量采集信息、處理鍵盤(pán)模塊輸入的指令、控制LCD顯示模塊的數(shù)據(jù)顯示。因而,軟件架構(gòu)主要從實(shí)現(xiàn)這幾個(gè)功能出發(fā),考慮軟件編寫(xiě)。程序包括:系統(tǒng)初始化程序、數(shù)據(jù)采集程序、LCD顯示程序、按鍵模塊程序、低電壓報(bào)警和超量程報(bào)警程序。
在本課題中采用C語(yǔ)言編寫(xiě)軟件,C語(yǔ)言在編程方面有著巨大的優(yōu)點(diǎn)。普中科技有51單片機(jī)的開(kāi)發(fā)板,功能強(qiáng)大,滿(mǎn)足電子秤系統(tǒng)開(kāi)發(fā)的前期調(diào)試需求,直接減少了開(kāi)發(fā)時(shí)間和開(kāi)發(fā)難度。
3 電子秤系統(tǒng)硬件設(shè)計(jì)
3.1 STC89C51最小系統(tǒng)
最小系統(tǒng)是單片機(jī)運(yùn)行起來(lái)所必須的基本電路,是保證整個(gè)單片機(jī)硬件平臺(tái)正常運(yùn)行的最基本電路。其中包括電源電路,時(shí)鐘電路和復(fù)位電路。其中STC89C51的最小系統(tǒng)原理框圖如圖2所示。
3.2 A/D轉(zhuǎn)換電路設(shè)計(jì)
A/D轉(zhuǎn)換電路用到了電子秤系統(tǒng)專(zhuān)用的模擬/數(shù)字(A/D)轉(zhuǎn)化器芯片HX711,該芯片集成度高,內(nèi)部包括了穩(wěn)壓電源和時(shí)鐘振蕩器,外圍電路無(wú)需對(duì)這兩個(gè)部分進(jìn)行重復(fù)設(shè)計(jì)。電路如圖2所示。
3.3 LCD1602顯示電路設(shè)計(jì)
LCD1602的電路設(shè)計(jì)非常簡(jiǎn)單。第1、2引腳是顯示器的電源接口,第15、16引腳是背光燈的電源接口,首先將這兩組接口按正負(fù)要求接入+5V電源中。VL端是調(diào)整液晶顯示器對(duì)比度的端口,作用是使液晶可以清楚地顯示。接電源正極對(duì)比度最小,屏幕過(guò)暗;接地則過(guò)亮。故在這個(gè)端口接入滑動(dòng)變阻器調(diào)節(jié)電位從而改變對(duì)比度,選擇10kΩ的滑動(dòng)變阻器。RS、R/W、E端口是控制LCD1602的端口,接入單片機(jī)P1.1、P1.2、P1.3口,D0~D7是LCD1602的數(shù)據(jù)端口,接單片機(jī)的P0口。電路圖2如圖所示。
3.4 鍵盤(pán)電路設(shè)計(jì)
本課題采用鍵盤(pán)電路實(shí)現(xiàn)計(jì)算價(jià)格的功能,彈性按鍵具有“按下則通,松開(kāi)則斷”的特點(diǎn),適合本課題的需求。按鍵的一端接入單片機(jī)的某個(gè)I/O口,另一端接地,按鍵按下對(duì)應(yīng)的I/O口變成低電平。對(duì)I/O口賦予高電平,單片機(jī)檢測(cè)I/O口電平并判斷是否是低電平,低電平則表示按鍵按下。這是鍵盤(pán)的檢測(cè)原理,鍵盤(pán)電路的設(shè)計(jì)就是基于此原理上的。按鍵按下與松開(kāi)的過(guò)程,電路中的電壓值會(huì)出現(xiàn)抖動(dòng)現(xiàn)象,抖動(dòng)可以通過(guò)編寫(xiě)特定的程序來(lái)消除它的影響。
為實(shí)現(xiàn)計(jì)算價(jià)格這一功能,系統(tǒng)至少需要16個(gè)按鍵,假如采用上文中提到的按鍵電路,則會(huì)占用單片機(jī)的16個(gè)I/O口??紤]STC89C51單片機(jī)的I/O口數(shù)量有限,這樣的連接方式不僅占用I/O口資源,而且不利于程序的編寫(xiě)。因此,設(shè)計(jì)出如圖2所示的矩陣鍵盤(pán)電路,設(shè)置上拉電阻的目的是減小灌電流,使系統(tǒng)更加穩(wěn)定。矩陣鍵盤(pán)電路大大減少了的I/O口需求,而且按鍵越多,這一優(yōu)點(diǎn)越明顯。矩陣鍵盤(pán)有四行四列,同一行按鍵的左端連接到同一個(gè)I/O口,同一列按鍵的右端連接到同一個(gè)I/O口。所有的I/O口賦予高電平,檢測(cè)第一列時(shí),第一例對(duì)應(yīng)的I/O口賦予低電平,掃描行線(xiàn)判斷是否有低電平信號(hào),如果檢測(cè)到第一行是低電平,那么第一例第一行的按鍵被按下。編程中,用這樣的方式對(duì)每行每列進(jìn)行檢測(cè)并不斷循環(huán),單片機(jī)執(zhí)行程序的速度非??欤园聪氯我怄I都可以被檢測(cè)到,對(duì)每個(gè)按鍵賦予含義,按鍵程序返回按鍵所代表的含義給主函數(shù),主函數(shù)調(diào)用計(jì)算程序,實(shí)現(xiàn)預(yù)期功能。
3.5 總體電路
根據(jù)以上要求,完成基于單片機(jī)的電子秤硬件電路如圖2所示。
4 電子秤系統(tǒng)軟件設(shè)計(jì)
硬件和軟件的關(guān)系就像“秤桿不能離開(kāi)秤砣”,沒(méi)有軟件的系統(tǒng)不能正常運(yùn)行,軟件在使用者和硬件之間搭起橋梁,硬件執(zhí)行軟件中的命令完成使用者想要實(shí)現(xiàn)的功能,因而軟件的編寫(xiě)是根據(jù)用戶(hù)的需要而來(lái)的。電子秤系統(tǒng)的軟件主要功能是:系統(tǒng)初始化、液晶顯示器顯示、矩陣鍵盤(pán)輸入、重量值采集、A/D數(shù)據(jù)轉(zhuǎn)化和發(fā)送等。
4.1 系統(tǒng)程序流程
對(duì)于整個(gè)電子秤系統(tǒng)而言,首先要能滿(mǎn)足完成最基本的稱(chēng)重功能。當(dāng)被測(cè)物體放置在承重臺(tái)上時(shí),引起惠斯通電橋輸出電壓的變化,電壓的變化從電子秤專(zhuān)用模擬/數(shù)字(A/D)轉(zhuǎn)換芯片HX711的通道A輸入,轉(zhuǎn)換芯片對(duì)其采集并轉(zhuǎn)換成24位的數(shù)字量送入51單片機(jī)的P1.5管腳,單片機(jī)內(nèi)部程序?qū)@個(gè)數(shù)字量處理,轉(zhuǎn)換成質(zhì)量值,經(jīng)液晶顯示器顯示。稱(chēng)重過(guò)程結(jié)束后,使用者通過(guò)按鍵完成價(jià)格計(jì)算的功能。按鍵按下,單片機(jī)對(duì)矩陣鍵盤(pán)進(jìn)行掃描,讀入按鍵值,經(jīng)內(nèi)部程序?qū)Π存I值處理,得出稱(chēng)重結(jié)果,經(jīng)液晶顯示器顯示。系統(tǒng)程序流程如圖4.1所示。
4.2 數(shù)據(jù)采集與處理
電子秤系統(tǒng)的核心是對(duì)被測(cè)物體的質(zhì)量數(shù)據(jù)進(jìn)行采集與處理。質(zhì)量數(shù)據(jù)的采集通過(guò)稱(chēng)重傳感器采集,傳感器將重力轉(zhuǎn)換成模擬電壓量輸出,把輸出的模擬電壓量接入A/D轉(zhuǎn)換接口,轉(zhuǎn)換成數(shù)字電壓量輸出到STC89C51單片機(jī)中。對(duì)質(zhì)量數(shù)據(jù)的處理是指在單片機(jī)中把輸出的電壓值轉(zhuǎn)換成質(zhì)量。其中,為了方便對(duì)數(shù)據(jù)處理和標(biāo)定,也為了獲得與真實(shí)值盡可能相等的質(zhì)量值,需要把輸入輸出線(xiàn)性化或者引入非線(xiàn)性補(bǔ)償電路,從而使傳感器線(xiàn)性化。
4.3矩陣鍵盤(pán)掃描
單片機(jī)檢測(cè)按鍵是否被按下是根據(jù)這個(gè)按鍵對(duì)應(yīng)的單片機(jī)I/O口是否是低電平,矩陣鍵盤(pán)中的按鍵兩端都接在單片機(jī)的I/O口上,需要用軟件通過(guò)I/O口向按鍵的一端提供低電平,這樣按鍵按下才能被檢測(cè)到。先把矩陣鍵盤(pán)的第一列接入的I/O口即P1.0置低電平,其它列接入的I/O口置高電平,檢測(cè)P2.4~P2.7口的電平,倘若檢測(cè)到P2.7口為低電平,就可以確認(rèn)KEY1按下。倘若沒(méi)有檢測(cè)到低電平,用同樣的方法檢測(cè)第二列、第三列、第四列。
if語(yǔ)句只能處理兩路分支的問(wèn)題,雖然通過(guò)嵌套if語(yǔ)句可以實(shí)現(xiàn)多支路處理,但是太復(fù)雜不夠簡(jiǎn)單。C語(yǔ)言為處理多分支結(jié)構(gòu)提供了條件選擇語(yǔ)句,即switch語(yǔ)句,一般形式如下:
switch(<表達(dá)式>)
{case <常量1>:<語(yǔ)句1>
case <常量2>:<語(yǔ)句2>
...
case <常量n>:<語(yǔ)句n>
default:<語(yǔ)句n+1>}
對(duì)鍵盤(pán)掃描可以采用switch case 語(yǔ)句,思路簡(jiǎn)單,容易實(shí)現(xiàn)。
4.3 LCD1602顯示
液晶顯示器的原理是利用電流刺激液晶分子再配合背部的燈光顯示字符,1602液晶顯示器就是應(yīng)用這一原理的,它可以顯示兩行字符,每行不超過(guò)16個(gè)ASCII碼字符,而且多以并行操作方式。按本課題的使用要求,1602采用靜態(tài)顯示字符的方式。
5. 電子秤系統(tǒng)性能測(cè)試
測(cè)試電子秤系統(tǒng)的稱(chēng)重性能主要是檢定其在稱(chēng)重過(guò)程中的示值誤差,目的是查看本課題設(shè)計(jì)的電子秤系統(tǒng)是否能滿(mǎn)足性能指標(biāo),也是為電子秤系統(tǒng)的修正提供依據(jù)。示值是電子秤系統(tǒng)液晶顯示的被測(cè)物體的質(zhì)量值,示值誤差是電子秤的示值與被測(cè)物體的約定真值之差,它是能夠最直接地反映電子秤系統(tǒng)精確程度的指標(biāo)。采用砝碼組成以等比數(shù)列的形式遞增質(zhì)量值的測(cè)試點(diǎn),選取一定數(shù)量的測(cè)試點(diǎn),得到結(jié)果如表1所示。
比較上表中的這組示值誤差與最大允許誤差之間的大小關(guān)系可知,電子秤系統(tǒng)符合設(shè)計(jì)的要求。
總結(jié)
本課題的目的是設(shè)計(jì)一款基于單片機(jī)STC89C51的電子秤系統(tǒng),集稱(chēng)量、計(jì)價(jià)、顯示等功能于一身。這款電子秤小巧玲瓏,具有節(jié)能環(huán)保、實(shí)用性強(qiáng)的特點(diǎn)。本文從克服傳統(tǒng)稱(chēng)量工具的不足之處出發(fā),深入研究人們對(duì)稱(chēng)量工具提出的新的要求,在充分考慮目前智能儀表技術(shù)、微電子技術(shù)以及計(jì)算機(jī)技術(shù)的發(fā)展現(xiàn)狀后,慎重地提出電子秤系統(tǒng)的設(shè)計(jì)方案,并成功實(shí)現(xiàn)了這樣的電子秤系統(tǒng)。
“基于單片機(jī)的電子秤系統(tǒng)”是實(shí)用性非常大的研究課題,本設(shè)計(jì)的電子秤系統(tǒng)并不是十全十美的,它存在改進(jìn)的空間,具體為:如何降低電子秤的成本;如何消除溫度對(duì)電子秤的影響;如何防止電子秤作弊。
參考文獻(xiàn)
[1] ?董旭宇. 基于LPC1766的多功能電子秤設(shè)計(jì)[D]. 太原:太原理工大學(xué),2012.
[2] ?程勇. 電子衡器的技術(shù)現(xiàn)狀與發(fā)展趨勢(shì)[J]. 計(jì)量與測(cè)試技術(shù),2010,(4):57-58.
[3] ?吳瓊. 國(guó)內(nèi)稱(chēng)重儀表的應(yīng)用現(xiàn)狀及發(fā)展趨勢(shì)[J]. 衡器,2012,(6):1-3.
[4] ?唐立軍. 防作弊高精度電子秤研究[D]. 長(zhǎng)沙:湖南大學(xué),2011.
[5] ?胡翔宇. 淺析智能儀表技術(shù)的應(yīng)用討論[J]. 知識(shí)經(jīng)濟(jì),2013,(10):79.