于雯雯
(大連職業(yè)技術(shù)學(xué)院,遼寧大連 116037)
電子秤在日常生活中有著廣泛的應(yīng)用,由于其測量精度高、使用簡單、重量值和價(jià)格讀取直觀,因此取代了傳統(tǒng)的以桿平衡為原理的機(jī)械秤。隨著電子技術(shù)的不斷發(fā)展,人們對于電子秤的功能要求也越來越多,除了能夠稱量物體以外,還需要能夠計(jì)算和顯示價(jià)格。以單片機(jī)作為核心控制芯片,設(shè)計(jì)一款電子秤,應(yīng)用Altium Designer 18 軟件設(shè)計(jì)電子秤的硬件電路,運(yùn)用Keil 軟件設(shè)計(jì)出電子秤的控制程序,使用該電子秤能夠精確測量0~5 kg 的物體。該電子秤不僅能夠精確測量物體重量,還能輸入單價(jià)、計(jì)算物體總價(jià)并顯示出來。
所設(shè)計(jì)的電子秤可實(shí)現(xiàn)基本的稱重功能,稱重范圍為0~5 kg,重量誤差≤±0.005 kg;能夠輸入物體的單價(jià),準(zhǔn)確計(jì)算出被秤物體的總價(jià);被稱物體的重量、單價(jià)、總價(jià)可以通過顯示屏顯示出來;當(dāng)被秤物體的重量超過最大測量范圍5 kg 時(shí),電子秤能夠發(fā)出報(bào)警信號。為了實(shí)現(xiàn)上述功能,電子秤應(yīng)包含數(shù)據(jù)采集模塊、信號放大模塊、A/D 轉(zhuǎn)換模塊、顯示模塊和按鍵處理模塊,電子秤設(shè)計(jì)方案框圖如圖1 所示。
圖1 電子秤系統(tǒng)框圖
基于單片機(jī)的電子秤除了控制核心單片機(jī)以外,還包括單片機(jī)最小系統(tǒng)、由稱重傳感器構(gòu)成的數(shù)據(jù)采集電路、由A/D 轉(zhuǎn)換芯片構(gòu)成的信號放大和A/D 轉(zhuǎn)換電路、由LCD1602 構(gòu)成的顯示電路、矩陣鍵盤電路和報(bào)警電路,其硬件電路如圖2 所示。
圖2 電子秤硬件電路
電子秤的核心控制單元采用STC89C52 單片機(jī)。數(shù)據(jù)采集模塊、信號放大模塊和A/D 轉(zhuǎn)換模塊由壓力傳感器和A/D 轉(zhuǎn)換芯片組成。本設(shè)計(jì)選擇雙孔懸臂平行梁電阻應(yīng)變式稱重傳感器,量程為5 kg,精度為0.01%,它利用電阻應(yīng)變效應(yīng),將各種力學(xué)量轉(zhuǎn)換為電信號的結(jié)構(gòu)型傳感器。稱重傳感器采集的壓力信號是模擬量,且傳感器應(yīng)變產(chǎn)生的電信號也比較弱,通常只有幾十mV;單片機(jī)系統(tǒng)內(nèi)部運(yùn)算處理的都是數(shù)字信號,因此單片機(jī)無法直接處理運(yùn)算模擬量,必須將傳感器產(chǎn)生的微弱信號進(jìn)行放大處理,再將處理過的模擬量轉(zhuǎn)換為數(shù)字量,提供給微處理器處理。模數(shù)(A/D)轉(zhuǎn)換芯片就是將輸入的模擬信號轉(zhuǎn)換成數(shù)字信號的電路,采用HX711 作為A/D 轉(zhuǎn)換芯片,這是電子秤常用的一種A/D 轉(zhuǎn)換芯片,它是24 位的高精度A/D 轉(zhuǎn)換芯片,與單片機(jī)的接口和編程都比較簡單,所有控制信號都是由單片機(jī)引腳驅(qū)動(dòng),不需要對HX711 內(nèi)部的寄存器進(jìn)行編程。單價(jià)的輸入需要通過按鍵完成,因?yàn)榘存I較多,使用獨(dú)立鍵盤會占用較多I/O口,因此采用矩陣鍵盤。HX711 的PD_SCK 引腳與單片機(jī)P2.0引腳連接在一起,DOUT 引腳與單片機(jī)P2.1 引腳連接。電子秤采用LCD1602 顯示被稱量物體的重量、單價(jià)和總價(jià),第一行顯示重量和單價(jià),第二行顯示總價(jià)。LCD1602 的VSS 引腳接地,VDD 引腳接電源,VEE 引腳接103 電位器的中間,電位器兩端分別接電源和地??刂埔_RS 接單片機(jī)P1.0 引腳,RW 接單片機(jī)P1.1,E 接單片機(jī)P1.2。數(shù)據(jù)引腳D0~D7 分別接單片機(jī)的P0.0~P0.7。背光控制引腳15 接電源,16 引腳接地。矩陣鍵盤連接在單片機(jī)的P3 口上,P3.0~P3.3 連接矩陣鍵盤的行線,P3.4~P3.7 連接矩陣鍵盤的列線。鍵盤要能完成單價(jià)的輸入,即數(shù)值輸入,當(dāng)輸入錯(cuò)誤時(shí)可以撤銷錯(cuò)誤輸入并修改;單價(jià)輸入后系統(tǒng)可以根據(jù)物體的重量計(jì)算出總價(jià)。所設(shè)計(jì)電子秤稱重范圍是0~5 kg,為了防止稱量物體超過稱重范圍,設(shè)計(jì)超重報(bào)警電路,該電路由蜂鳴器和PNP 型三極管組成。蜂鳴器發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅(qū)動(dòng)振動(dòng)膜發(fā)聲的,因此需要一定的電流才能驅(qū)動(dòng)它,單片機(jī)I/O 引腳輸出的電流較小,驅(qū)動(dòng)不了蜂鳴器,需要增加一個(gè)電流放大的電路,這里采用三極管作為驅(qū)動(dòng)電路,通過三極管放大驅(qū)動(dòng)電流,從而可以讓蜂鳴器發(fā)出聲音。報(bào)警電路的連接如原理圖2所示,蜂鳴器正極與三極管集電極連接,蜂鳴器負(fù)極接地,三極管發(fā)射極接電源,基極接單片機(jī)P1.3 引腳。當(dāng)P1.3 引腳為低電平的時(shí)候,蜂鳴器響;當(dāng)P1.3 引腳為高電平時(shí),蜂鳴器不響。這樣通過控制P1.3 引腳輸出狀態(tài)可以控制蜂鳴器的工作。
電子秤程序主要有3 部分重要內(nèi)容:①將稱重傳感器上獲得的模擬電壓信號通過A/D轉(zhuǎn)換芯片轉(zhuǎn)換成數(shù)字信號,再通過程序處理轉(zhuǎn)換成重量值,并寫入到LCD1602 中顯示出來;②通過按鍵可以輸入被稱量物體的單價(jià),輸入錯(cuò)誤時(shí)可以撤銷輸入;③可以根據(jù)被稱量物體的重量和單價(jià)計(jì)算出物體的總價(jià)。
主程序流程如圖3 所示,程序開始應(yīng)該先對LCD1602 液晶顯示器進(jìn)行初始化,然后顯示器顯示電子秤初始畫面,界面包括重量、單價(jià)和總價(jià)3 個(gè)部分,初值都為0;單片機(jī)讀取在沒有重物的情況下A/D 傳感器輸出值,即皮重;蜂鳴器響一次提示電子秤準(zhǔn)備好了。接著單片機(jī)循環(huán)讀取A/D 輸出值并轉(zhuǎn)換成重量值寫入LCD1602 顯示出來。系統(tǒng)查詢矩陣鍵盤中是否有鍵按下,如果有鍵按下執(zhí)行相應(yīng)的按鍵程序。
圖3 主程序流程
設(shè)計(jì)一種基于單片機(jī)控制的小型電子秤,其稱重范圍在0~5 kg,重量誤差≤±0.005 kg,能夠稱量物體重量并顯示,能夠輸入物體的單價(jià)并顯示,能夠計(jì)算物體的總價(jià)并顯示。該電子秤測量精確度高,使用簡單直觀,電子秤電路所使用的芯片和材料成本低廉,可滿足日常稱重需求。