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