唐凱
(青島市城陽區(qū)計(jì)量測(cè)試所,山東青島,266109)
由于稱量范圍、功能不同,目前市面上所見到的電子秤種類繁多,在生活中的應(yīng)用也十分廣泛,需求比較大?;诖耍Y(jié)合實(shí)際需求,本文采用單片機(jī)來作為控制核心,設(shè)計(jì)一款具備稱重、顯示、語音播報(bào)、日歷、價(jià)格計(jì)算的多功能數(shù)字化電子秤,它不僅能夠?qū)ω浳锏闹亓窟M(jìn)行稱量,還能顯示相關(guān)的信息,比如稱重?cái)?shù)值、具體時(shí)間,還能設(shè)置商品單價(jià),當(dāng)貨物超出稱量范圍時(shí),可以警示使用者。
本設(shè)計(jì)要求實(shí)現(xiàn)對(duì)物品重量檢測(cè),該具有重量檢測(cè)、顯示重量值,以及重量不在范圍報(bào)警,主要實(shí)現(xiàn)的功能如下:重量檢測(cè)功能,實(shí)現(xiàn)重量的進(jìn)行檢測(cè),檢測(cè)范圍0到10kg;顯示功能,顯示重量報(bào)警值和檢測(cè)的實(shí)時(shí)重量值;按鍵設(shè)置報(bào)警值,可以實(shí)時(shí)對(duì)重量報(bào)警值進(jìn)行加和減設(shè)置,同時(shí)還具有去皮,計(jì)數(shù)以及切換設(shè)置功能;報(bào)警功能,實(shí)際重量值大于設(shè)定的界限值時(shí)會(huì)發(fā)出聲音對(duì)重量異常進(jìn)行預(yù)警;語音播報(bào)功能,檢測(cè)到物品重量后,計(jì)算出單價(jià)后,通過語音模塊對(duì)價(jià)格進(jìn)行播報(bào);時(shí)間顯示功能,當(dāng)系統(tǒng)不工作時(shí),實(shí)時(shí)顯示當(dāng)前的日歷信息??傮w設(shè)計(jì)方案如圖1所示。
圖1 總體設(shè)計(jì)方案
按照上文所述總體設(shè)計(jì)方案,本設(shè)計(jì)的硬件電路圖如圖2所示。
圖2 硬件電路圖
(1)單片機(jī)控制電路。本文的控制核心是STC89C52單片機(jī),該單片機(jī)由美國(guó)的Atmel公司研發(fā)生產(chǎn),具有性能強(qiáng)大、額定電壓小等優(yōu)點(diǎn),包含了數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器、Flash存儲(chǔ)器,具備40個(gè)引腳。
(2)重量檢測(cè)電路。本設(shè)計(jì)采用HX711模塊。該模塊是一款精度非常高的24位AD轉(zhuǎn)換芯片,集成度高,控制簡(jiǎn)單可靠,引腳結(jié)構(gòu)包括三路差分輸入,通道的選擇是通過編程實(shí)現(xiàn),所以其用在電子秤整機(jī)中不會(huì)給帶來干擾,數(shù)據(jù)模塊DT與單片機(jī)的P2.1連接,實(shí)現(xiàn)對(duì)重量數(shù)據(jù)的交換,SCK時(shí)鐘引腳與單片機(jī)的P2.0連接實(shí)現(xiàn)通道選擇與數(shù)據(jù)轉(zhuǎn)換等。
(3)重量顯示電路。本文通過LCD1602作為顯示模塊。VCC和VSS采用典型的5V供電設(shè)計(jì);RS、R/W、E,三個(gè)控制引腳來實(shí)現(xiàn)選擇、讀寫、顯示使能等功能。本設(shè)計(jì)中,單片機(jī)的P1.0、P1.1、P1.2被分配來控制LCD1602的3個(gè)引腳,實(shí)現(xiàn)讀寫時(shí)序控制,單片機(jī)的8個(gè)P0.0到P0.7引腳被分配來控制數(shù)據(jù)傳送引腳,實(shí)現(xiàn)數(shù)據(jù)傳送。
(4)聲音報(bào)警電路。按照設(shè)計(jì)要求,當(dāng)電子秤稱量的重量大于10kg時(shí),設(shè)備會(huì)通過聲音報(bào)警。在本設(shè)計(jì)中,單片機(jī)控制核心通過P2.7實(shí)現(xiàn)對(duì)蜂鳴器控制,當(dāng)引腳輸出高電平時(shí),系統(tǒng)會(huì)自動(dòng)發(fā)出聲音來示警。
(5)按鍵電路。矩陣按鍵的主要功能就是實(shí)現(xiàn)重量閾值的設(shè)置,通過按鍵,本文設(shè)計(jì)的電子秤可以滿足報(bào)警重量值加減操作。按下相應(yīng)的按鍵之后,系統(tǒng)會(huì)進(jìn)入到功能設(shè)置環(huán)節(jié),如數(shù)值調(diào)節(jié)、去皮功能以及數(shù)字0到9的輸入。除此之外,還可以設(shè)置密碼操作,分別有設(shè)置、刪除、服務(wù)以及確認(rèn)等,P1口實(shí)現(xiàn)對(duì)控制按鍵功能,列控制按鍵引腳對(duì)應(yīng)的是P30到P33,行對(duì)應(yīng)的P34到P37,采用列或者行的模式,對(duì)按鍵狀態(tài)判斷,以行控制為例,首先是所有引腳單片機(jī)在內(nèi)部都置低,如果將某一行控制引腳輸出高,按鍵按下后,對(duì)應(yīng)的列引腳就會(huì)檢測(cè)到低,那么就表示按鍵按下。
(6)語音播報(bào)電路。本設(shè)計(jì)采用WTD588實(shí)現(xiàn)語音播報(bào)功能,(PWM+) /(PWM-) 同/反相模擬輸入端,前者在輸入信號(hào)時(shí)時(shí)有兩種方式,一種時(shí)單端輸入,由耦合的電容輸入32mV峰峰值的信號(hào),同時(shí)與本段的3kΩ電阻對(duì)截止頻率進(jìn)行設(shè)置。另外一種是差分輸入,與單端不同輸入的時(shí)16m V峰峰值信號(hào);反向時(shí)只有差分輸入一種模式,信號(hào)通過耦合電容輸出16mV峰峰信號(hào),對(duì)負(fù)載進(jìn)行驅(qū)動(dòng),最大負(fù)載5kΩ。(SCLK)WTD是一個(gè)輸入給WTD的時(shí)鐘端,一般時(shí)由與WTD連接的MCU產(chǎn)生。在SPI通信額下一個(gè)周期進(jìn)行置位。OVF是一個(gè)錄音和放音快到末尾數(shù)據(jù)的指示狀態(tài),也就是表示馬上結(jié)束,通過RINT也能實(shí)現(xiàn)讀取。EOM 表示一個(gè)內(nèi)部放音標(biāo)志,高電平有效。RAC行地址時(shí)鐘,也是采用的開路輸出,主要時(shí)根據(jù)RAC的周期來對(duì)來對(duì)WTD中功2400個(gè)行地址進(jìn)行操作,RAC運(yùn)行一個(gè)周期代表一行數(shù)據(jù)運(yùn)行完成。該時(shí)鐘高低電平持續(xù)時(shí)間不一樣周期為200ms,高電平為175ms,這是在正常運(yùn)行模式時(shí)的推進(jìn)速度,在快進(jìn)模式時(shí),運(yùn)行達(dá)到us級(jí)別,周期時(shí)250μs,高電平持續(xù)時(shí)間是218.75μs。(XCLK) 外部時(shí)鐘,通常對(duì)外部時(shí)鐘未使用;(AMCAP) 引腳用來對(duì)聲音進(jìn)行自動(dòng)靜噪處理,尤其是在錄音的時(shí)候,當(dāng)信號(hào)低于設(shè)定閾值時(shí),其自動(dòng)的實(shí)現(xiàn)對(duì)信號(hào)衰減,一般都是通過一個(gè)1μF電容來實(shí)現(xiàn)。
在本設(shè)計(jì)中,單片機(jī)的P1.4引腳與RESET連接實(shí)現(xiàn)復(fù)位功能,P1.3時(shí)與WTD連接作為一個(gè)反饋信號(hào)來表示W(wǎng)TD正常,P1.5和P1.6與CS和CLK連接,實(shí)現(xiàn)對(duì)WTD通訊時(shí)序控制;P1.7與P0.3引腳連接,控制播報(bào)內(nèi)容。
主程序是整個(gè)系統(tǒng)運(yùn)行時(shí)一直循環(huán)的程序。首先需要對(duì)引腳進(jìn)行配置,比如LCD的時(shí)序控制引腳由單片機(jī)的P1.0到P1.2控制,按鍵引腳配置,同時(shí)對(duì)重量異常的閾值進(jìn)行設(shè)置,比如初始設(shè)置10kg,對(duì)同時(shí)對(duì)顯示的值和顯示的初始化位置進(jìn)行設(shè)置,之后進(jìn)入一個(gè)不斷循環(huán)的程序,如圖3所示的主程序流程圖,實(shí)時(shí)讀取AD轉(zhuǎn)換的數(shù)字信號(hào),實(shí)現(xiàn)對(duì)重量的讀取,一方面與設(shè)定重量值比較,一方面進(jìn)行對(duì)重量進(jìn)行顯示。
圖3 主程序流程圖
在LCD1602首先根據(jù)LCD的控制指令,比如定位指令將地址寄存器設(shè)為00H,設(shè)置SH值對(duì)移動(dòng)指令進(jìn)行設(shè)計(jì),通過對(duì)內(nèi)部的儲(chǔ)存器進(jìn)行地址讀取,來控制顯示內(nèi)容。具體如圖4所示。
圖4 顯示程序
在本子程序中,HX711傳感器首先讀取重量數(shù)據(jù),然后在傳感器內(nèi)部對(duì)該數(shù)據(jù)進(jìn)行去皮處理,并將所得數(shù)據(jù)轉(zhuǎn)換為kg數(shù)值,如果超出重量預(yù)設(shè)閾值,就進(jìn)行聲音報(bào)警,如果在范圍內(nèi),就通過語音播報(bào)進(jìn)行處理后的數(shù)據(jù)。子程序流程圖如圖5所示。
圖5 重量檢測(cè)子函數(shù)
矩陣按鍵子函數(shù)主要是實(shí)時(shí)檢測(cè)掃描按鍵是否被按鍵,然后通過算法執(zhí)行對(duì)應(yīng)的功能,子程序如圖6所示。
圖6 矩陣按鍵子函數(shù)
對(duì)該多功能的電子秤進(jìn)行焊接,對(duì)硬件和軟件進(jìn)行聯(lián)合調(diào)試對(duì)主要功能進(jìn)行驗(yàn)證,搭建完成的實(shí)物模型如圖7所示。
圖7 實(shí)物圖
對(duì)重量的顯示,聲音報(bào)警功能,按鍵設(shè)置功能進(jìn)行測(cè)試,具體如圖8所示。
圖8 實(shí)物測(cè)試圖
通過以幾組實(shí)驗(yàn),結(jié)果顯示,本設(shè)計(jì)檢測(cè)精度高,報(bào)警精度高和顯示準(zhǔn)確,實(shí)現(xiàn)了預(yù)期功能。
本文設(shè)計(jì)了一款具有物品質(zhì)量檢測(cè),聲音報(bào)警,價(jià)格換算,語音播報(bào)和重量顯示功能的電子稱重器系統(tǒng)采用蜂鳴器實(shí)現(xiàn)聲音報(bào)警,采用LCD1602實(shí)現(xiàn)重量顯示功能,設(shè)計(jì)矩陣按鍵實(shí)現(xiàn)重量設(shè)置功能,本文主要完成了以下工作:一是完成對(duì)應(yīng)變電阻實(shí)現(xiàn)對(duì)電子稱重器系統(tǒng)的最新現(xiàn)狀技術(shù)的學(xué)習(xí),選擇基于單片機(jī)的控制方式,然后對(duì)功能進(jìn)行分析,對(duì)單片機(jī)模塊,顯示模塊方案之間的優(yōu)缺點(diǎn)進(jìn)行比較,確定模塊。二是根據(jù)選擇模塊,設(shè)計(jì)硬件電路,對(duì)各個(gè)硬件電路與單片機(jī)的引腳連接,工作原理都進(jìn)行詳細(xì)介紹。三是對(duì)軟件設(shè)計(jì)邏輯設(shè)計(jì),主要以流程圖形式給出,最后對(duì)實(shí)物調(diào)試,實(shí)現(xiàn)了對(duì)電子稱重器系統(tǒng)的功能。雖然完成了對(duì)電子稱重器系統(tǒng)的功能,但是本電子稱重器系統(tǒng)功能還可以繼續(xù)完善,比如增加語音播報(bào)的功能,能實(shí)現(xiàn)電子稱重器系統(tǒng)的遠(yuǎn)程操作等,同時(shí)市場(chǎng)還出現(xiàn)很多新型的遠(yuǎn)程控制的電子稱重器傳感器,因此還可以增加藍(lán)牙實(shí)現(xiàn)按鍵的功能,實(shí)現(xiàn)對(duì)電子稱重器系統(tǒng)的遠(yuǎn)程控制功能。