摘要:本設(shè)計(jì)是采用AVR單片機(jī)作為微控制器,,結(jié)合壓力傳感器、AD7705,、LCD1602實(shí)現(xiàn)的一種高精度多功能數(shù)字電子秤,。文章詳細(xì)介紹了系統(tǒng)的硬件電路組成以及軟件的開發(fā)流程。本設(shè)計(jì)具有體積小,、成本低,、精確度高、可靠性高等特點(diǎn),。
關(guān)鍵詞:AVR,;稱重:AD轉(zhuǎn)換,;SPI;液晶
0 引言
隨著電子技術(shù)和自動化測量技術(shù)的不斷發(fā)展,,傳統(tǒng)的稱重系統(tǒng)在功能,、精度、性價比等方面已難以滿足人們的需要,,尤其在智能化,、便攜式、對微小質(zhì)量的測量方面更顯得力不從心,。近年來,,新型單片機(jī)的出現(xiàn)和集成電路技術(shù)的發(fā)展為更新產(chǎn)品設(shè)計(jì),研制高性價比的稱重控制器提供了條件,。本設(shè)計(jì)采用AVR單片機(jī)為控制核心,,結(jié)合電阻應(yīng)變式壓力傳感器和相應(yīng)的信號采集電路,設(shè)計(jì)出一種高精度,、多功能,、低成本的新型電子秤。
1 系統(tǒng)總體設(shè)計(jì)
首先由稱重傳感器采集因壓力變化而產(chǎn)生的電壓信號,,通過A/D轉(zhuǎn)換器將模擬信號轉(zhuǎn)換為數(shù)字信號,,把數(shù)字信號送入AVR單片機(jī),單片機(jī)做相應(yīng)的處理后,,得到當(dāng)前物體重量的數(shù)據(jù),,并通過LCD顯示出來。系統(tǒng)硬件結(jié)構(gòu)如圖1所示,。
系統(tǒng)硬件電路包括A/D轉(zhuǎn)換模塊,、4×4矩陣鍵盤模塊、LCD模塊和蜂鳴器報(bào)警模塊,;軟件模塊又可分為主程序模塊,、矩陣鍵盤掃描模塊、A/D轉(zhuǎn)換模塊和LCD1602模塊,。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 AVR單片機(jī)
本設(shè)計(jì)是選用AVR系列單片機(jī)中的ATmega16作為微控制器,。ATmega16是基于增強(qiáng)型AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集和單時鐘周期指令執(zhí)行時間,,ATmega16L的數(shù)據(jù)吞吐量高達(dá)1MIPS/MHz,,在片內(nèi)集成了16kB的可編程FLASH,512B的E2PROM,,1kB的片內(nèi)SDRAM。在外設(shè)方面,,具有兩個可編程的串行UART,,8路10位ADC,,四通道PWM,并支持SPI,、TWI,、JTAG接口,允許ATmega16L和其他外設(shè)進(jìn)行高速的數(shù)據(jù)傳輸,。
2.2 稱重傳感器
電阻應(yīng)變式稱重傳感器是把電阻應(yīng)變計(jì)粘貼在彈性敏感元件上,,然后以適當(dāng)方式組成電橋的一種將力(重量)轉(zhuǎn)換成電信號的傳感器。在電阻應(yīng)變式稱重傳感器中通過橋式電路將電阻的變化轉(zhuǎn)換為電壓變化,。電阻應(yīng)變式稱重傳感器工作原理如圖2所示,。
本設(shè)計(jì)選用湖南宇航公司的SB-B型懸臂式稱重傳感器,額定量程5kg,,靈敏度3mv/V,,非線性誤差0.03%ES,重復(fù)性誤差0.02%ES,,蠕變(30分鐘)O.03%F.S,,零點(diǎn)溫度漂移0.03%F.S./10℃,溫度補(bǔ)償范圍-10~60℃,。該系列傳感器采用懸臂單剪切結(jié)構(gòu),,過載能力強(qiáng),受力后自動調(diào)心好,,具有精度高,、長期穩(wěn)定性好、抗疲勞,、抗偏載能力強(qiáng)的特點(diǎn),。
2.3 高精度A/D轉(zhuǎn)換
稱重傳感器輸出的是mV級的電壓信號,本設(shè)計(jì)采用AD7705對信號進(jìn)行采集,。AD7705是AD公司推出的一種基于∑-△轉(zhuǎn)換技術(shù)的16位A/D轉(zhuǎn)換芯片,,它具有高分辨率、寬動態(tài)范圍,、自校準(zhǔn),、優(yōu)良的抗噪聲性能以及低電壓、低功耗等特點(diǎn),,適合于稱重系統(tǒng)中微機(jī)信號處理的需求,。其具有可編程增益放大器,增益范圍1~128,,可與壓力傳感器直接相連,,使用同步串行SPI接口,可以與AVR單片機(jī)的硬件SPI接口直接相連,,其電路連接圖如圖3所示,。
當(dāng)傳感器加上滿量程重量5kg時,,傳感器在5V的工作電壓下取得15mV的輸出電壓。5V工作電壓經(jīng)分壓后為AD7705提供基準(zhǔn)電壓,,因此工作電壓的變化不會產(chǎn)生系統(tǒng)誤差,。分壓電阻為24kΩ和15kΩ,產(chǎn)生的基準(zhǔn)電壓為1.92V,。當(dāng)器件的可編程增益為128時,,對應(yīng)的滿量程輸入電壓即為15mV。
2.4 人機(jī)通訊
人機(jī)通訊包括鍵盤掃描,、LCD,、蜂鳴器報(bào)警三個部分,鍵盤采用4×4矩陣掃描鍵盤,,接在單片機(jī)的PC口,;顯示部分采用的是LCD1602液晶,能夠同時顯示16×2即32個字符,。1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點(diǎn)陣字符圖形,,編程時可以用AS-CII碼直接賦值,還可以用字符型常量或變量賦值,;蜂鳴器的作用是當(dāng)稱重物品超出傳感器的量程時,,以鳴響報(bào)警提示用戶。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件開發(fā)平臺為WinAVR,,開發(fā)語言為C語言,。為了方便程序調(diào)試和提高可靠性,程序設(shè)計(jì)采用自上而下,、模塊化,、結(jié)構(gòu)化的程序設(shè)計(jì)方法。本設(shè)計(jì)按任務(wù)模塊劃分的程序主要有初始化程序,、主程序,、A/D轉(zhuǎn)換子程序、LCD顯示子程序,、鍵盤掃描子程序,。
系統(tǒng)工作時分為初始界面模式和稱重模式,可設(shè)一標(biāo)志位進(jìn)行更改以及判斷,。在初始界面中,,液晶屏第一行顯示"Place object!”,提示用戶可以在電子秤上放置想要稱重的物品,;第二行顯示"Price:”,,提示用戶輸入物品的單價。
隨后系統(tǒng)進(jìn)入鍵盤掃描狀態(tài),當(dāng)相應(yīng)的稱重按鍵被按下時,,單片機(jī)控制AD7705進(jìn)行AD轉(zhuǎn)換,,把得到的結(jié)果進(jìn)行處理后通過LCD顯示出來。顯示包括物品的重量和總價,,稱重精度為1g。以此不斷地循環(huán)完成對物品的實(shí)時測量,。主程序流程圖如圖5所示,。
4 結(jié)束語
文章提出了一種基于ATmega16單片機(jī)的數(shù)字電子秤的設(shè)計(jì),充分發(fā)揮了AVR單片機(jī)的強(qiáng)大的控制能力,,通過稱重傳感器和16位的AD7705轉(zhuǎn)換器實(shí)現(xiàn)了對重量的高精度測量,,具有成本低、穩(wěn)定性強(qiáng),、電路簡單等特點(diǎn),。系統(tǒng)在電子秤的實(shí)際應(yīng)用中得到了滿意的效果。