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