將單片機項目實訓——51單片機電子秤(語音播報版)分享出來,如有不足,敬請指出。
【項目實訓】51單片機電子秤(語音播報版)44.png (1.36 MB, 下載次數(shù): 15)
下載附件
2022-7-25 16:12 上傳
一、設(shè)計要求1.利用單片機對數(shù)字電子秤的各種功能進行控制。 2.數(shù)字電子秤能夠顯示商品的重量、單價,且自動完成商品總價的計算,可通過語音播報商品總價。 3.數(shù)字電子秤的測量范圍要求達到5KG,測量精度要求達到1g。 二、方案設(shè)計 (1)設(shè)計思路 根據(jù)設(shè)計要求,首先要實現(xiàn)電子秤的稱重基本功能,需要通過稱重傳感器采集到重量信號,經(jīng)放大電路處理后,由模數(shù)轉(zhuǎn)換成數(shù)字量,因此每一數(shù)字量就對應(yīng)著一個物體的質(zhì)量(在一定精度范圍內(nèi)),所以只要將轉(zhuǎn)換成的數(shù)質(zhì)量與物體質(zhì)量建立映射關(guān)系,即可完成稱重的要求。而其他的功能則可以通過程序運算來實現(xiàn),并通過鍵盤進行控制。 總體結(jié)構(gòu)框架圖如下所示:
【項目實訓】51單片機電子秤(語音播報版)1642.png (367.9 KB, 下載次數(shù): 14)
下載附件
2022-7-25 16:12 上傳
原理圖如下所示:
【項目實訓】51單片機電子秤(語音播報版)1653.png (38.85 KB, 下載次數(shù): 22)
下載附件
2022-7-25 16:13 上傳
(2)控制器 本系統(tǒng)基于51單片機來實現(xiàn),因為系統(tǒng)需要控制液晶顯示和鍵盤,不宜采用大規(guī)模可編程邏輯器件,如CPLD、FPGA來實現(xiàn)。因為大規(guī)模可編程邏輯器件一般是使用狀態(tài)機方式來實現(xiàn)的,即所解決的問題都是有規(guī)則的有限狀態(tài)轉(zhuǎn)化問題。本系統(tǒng)狀態(tài)較多,難度較大。另外系統(tǒng)沒有其他高標準的要求,最終選擇STC89C52RC單片機來實現(xiàn)系統(tǒng)設(shè)計,其內(nèi)部帶有8K的程序存儲器,可以滿足系統(tǒng)設(shè)計需求。
【項目實訓】51單片機電子秤(語音播報版)1849.png (1.24 MB, 下載次數(shù): 20)
下載附件
2022-7-25 16:12 上傳
(3)數(shù)據(jù)采集部分 (1)傳感器。傳感器是測量機構(gòu)最重要的部件,本系統(tǒng)選擇的是電阻應(yīng)變式壓力傳感器,電阻應(yīng)變式壓力傳感器主要有彈性體、電阻應(yīng)變片電纜線等組成。內(nèi)部線路采用惠斯通電橋,當彈性體承受載荷產(chǎn)生的變形時,電阻應(yīng)變片受到拉伸或壓縮應(yīng)變片變形后,它的阻值將會發(fā)生變化(增大或減小),從而電橋失去平衡,產(chǎn)生相應(yīng)的差動信號,供后續(xù)電路測量和處理。本系統(tǒng)要求測量范圍是0~4.999Kg,考慮到秤臺自重、振動和沖擊分量,還要避免超重損壞傳感器,所以傳感器量程必須大于額定稱重(4.999Kg),我們選擇的稱重傳感器量程為5Kg,實物如下圖所示。
【項目實訓】51單片機電子秤(語音播報版)2123.png (1.83 MB, 下載次數(shù): 19)
下載附件
2022-7-25 16:12 上傳
(2)A/D轉(zhuǎn)換器。所謂A/D轉(zhuǎn)換器,是將輸入的模擬信號轉(zhuǎn)換成數(shù)字信號的器件,本設(shè)計采用的是HX711,HX711是24位高精度的A/D轉(zhuǎn)換芯片,是一款專為高精度電子秤設(shè)計的,具有兩路模擬通道輸入,內(nèi)部集成128倍增益可編程放大器,是一款理想的高精度、低成本的設(shè)計方案。
【項目實訓】51單片機電子秤(語音播報版)2258.png (1.33 MB, 下載次數(shù): 24)
下載附件
2022-7-25 16:12 上傳
(3)液晶顯示部分 由于顯示需要,本系統(tǒng)選擇1602液晶顯示屏。
【項目實訓】51單片機電子秤(語音播報版)2293.png (1014.51 KB, 下載次數(shù): 21)
下載附件
2022-7-25 16:12 上傳
(4)鍵盤輸入 選用帶有16個按鍵的矩陣鍵盤,其中0 ~ 9數(shù)字按鍵、小數(shù)點按鍵用于輸入單價;去皮按鍵用于僅顯示物品凈重;刪除按鍵用于刪除物品單價;校準+/校準-按鍵用于調(diào)節(jié)矯正系數(shù),播報按鍵用于播報物品總價,矩陣鍵盤布局如圖所示。
【項目實訓】51單片機電子秤(語音播報版)2412.png (854.14 KB, 下載次數(shù): 20)
下載附件
2022-7-25 16:12 上傳
(5)語音模塊 方案一:采用OTP語音芯片(一次性語音芯片)。一次性的語音芯片在廠家完成燒錄后,語音內(nèi)容就無法進行更改,所以需要事先和廠家溝通好,需要播報的語音內(nèi)容,例如:
【項目實訓】51單片機電子秤(語音播報版)2501.png (2.22 MB, 下載次數(shù): 19)
下載附件
2022-7-25 16:12 上傳
先將自己可能用到的語音,全部寫入到語音芯片,然后燒寫到語音芯片中。雖然OTP語音芯片不能重復(fù)燒寫,但低成本的優(yōu)勢也讓它占有了一定的市場份額,OTP語音芯片被廣泛應(yīng)用在兒童玩具、汽車電子、醫(yī)療器械、安防報警等行業(yè)。作者之前用到的一款OTP語音芯片,成本不超過2元,對于固定內(nèi)容的播報,建議使用該方案,其硬件連接也很簡單,比如如下圖。
【項目實訓】51單片機電子秤(語音播報版)2669.png (1.17 MB, 下載次數(shù): 18)
下載附件
2022-7-25 16:12 上傳
方案二:采用集成的語音模塊,最好可以支持支持 FAT 文件系統(tǒng)、操作簡單類似U盤,但成本是OTP芯片的幾倍。考慮到作者后期作品可能涉及到語音播報,需要為后期作品預(yù)留可延續(xù)性實驗,所以作者選擇了該方案,電子秤作品中使用的是JQ8400-FL,只需制作好音頻文件,通過類U盤操作拷貝至模塊內(nèi)存,然后“一線串口”發(fā)送文件名(數(shù)字)即可播報語音內(nèi)容。 此芯片最大的優(yōu)勢在于能夠靈活的更換 SPI-flash 內(nèi)的語音內(nèi)容,省去了傳統(tǒng)語音。芯片需要安裝上位機更換語音的麻煩,SPI FLASH 直接模擬成 U 盤,跟拷貝 U 盤一樣,非常方便。使得產(chǎn)品研發(fā)和生產(chǎn)變得便捷簡單。一線串口控制模式、RX232 串口控制可選,為研發(fā)提供更多的選擇性。
【項目實訓】51單片機電子秤(語音播報版)2989.png (2.14 MB, 下載次數(shù): 20)
下載附件
2022-7-25 16:12 上傳
三、軟件設(shè)計(1)主程序
【項目實訓】51單片機電子秤(語音播報版)3005.png (598.65 KB, 下載次數(shù): 19)
下載附件
2022-7-25 16:12 上傳
(2)流程圖 <1>主程序流程圖
【項目實訓】51單片機電子秤(語音播報版)3024.png (273.42 KB, 下載次數(shù): 21)
下載附件
2022-7-25 16:12 上傳
<2>鍵盤掃描程序流程圖
【項目實訓】51單片機電子秤(語音播報版)3039.png (936.29 KB, 下載次數(shù): 19)
下載附件
2022-7-25 16:12 上傳
四、圖片展示(1)PCB-3D視圖
【項目實訓】51單片機電子秤(語音播報版)3061.png (894.47 KB, 下載次數(shù): 20)
下載附件
2022-7-25 16:12 上傳
【項目實訓】51單片機電子秤(語音播報版)3064.png (827.13 KB, 下載次數(shù): 24)
下載附件
2022-7-25 16:12 上傳
【項目實訓】51單片機電子秤(語音播報版)3070.png (1.3 MB, 下載次數(shù): 18)
下載附件
2022-7-25 16:12 上傳
【項目實訓】51單片機電子秤(語音播報版)3067.png (1.31 MB, 下載次數(shù): 22)
下載附件
2022-7-25 16:12 上傳
(2)實物演示
【項目實訓】51單片機電子秤(語音播報版)3080.png (1.36 MB, 下載次數(shù): 24)
下載附件
2022-7-25 16:12 上傳
【項目實訓】51單片機電子秤(語音播報版)3083.png (1.36 MB, 下載次數(shù): 19)
下載附件
2022-7-25 16:12 上傳
【項目實訓】51單片機電子秤(語音播報版)3086.png (1.36 MB, 下載次數(shù): 22)
下載附件
2022-7-25 16:12 上傳
【項目實訓】51單片機電子秤(語音播報版)3089.png (1.36 MB, 下載次數(shù): 21)
下載附件
2022-7-25 16:12 上傳
【項目實訓】51單片機電子秤(語音播報版)3092.png (1.36 MB, 下載次數(shù): 19)
下載附件
2022-7-25 16:12 上傳
五、資料鏈接(1)作品演示視頻鏈接 (2)硬件電路分析視頻: (3)軟件程序分析視頻: 六、設(shè)計要點 (1)如何實現(xiàn)數(shù)據(jù)的穩(wěn)定輸出? 數(shù)據(jù)的穩(wěn)定輸出主要依靠兩個方面:①硬件電路;②軟件程序。 ①先分析硬件電路,HX711為24位的AD模塊,對微量的變動非常敏感,所以硬件電路部分一定要注意:
【項目實訓】51單片機電子秤(語音播報版)4442.png (1.08 MB, 下載次數(shù): 18)
下載附件
2022-7-25 16:12 上傳
這是作者在設(shè)計第一版的電路板的時候的硬件鏈接,設(shè)計后完成發(fā)現(xiàn)數(shù)據(jù)輸出不是很穩(wěn)定,而在E+和E-之間連接一個電解電容,數(shù)據(jù)的穩(wěn)定性會有所改善,具體實驗過程如下如下: ①首先,E+和E-之間不連接電解電容,然后放置200g標準砝碼,采用串口打印相關(guān)信息,采集20000次數(shù)據(jù),重量數(shù)據(jù)作圖得到:
【項目實訓】51單片機電子秤(語音播報版)4590.png (931.79 KB, 下載次數(shù): 20)
下載附件
2022-7-25 16:12 上傳
可以看到,數(shù)據(jù)穩(wěn)定性不好,數(shù)據(jù)范圍在0.199Kg~0.202Kg,上下起伏為0.003Kg,即3g左右誤差。具體統(tǒng)計如下: 也就是正確數(shù)據(jù)占比為76.295%。(實際上,經(jīng)過作者實驗,獲取337143次數(shù)據(jù),得到的正確數(shù)據(jù)僅占比46.647%) ②在E+和E-之間連接電解電容,再次實驗,采集20000次數(shù)據(jù),數(shù)據(jù)穩(wěn)定性如下所示:
【項目實訓】51單片機電子秤(語音播報版)4851.png (1.02 MB, 下載次數(shù): 18)
下載附件
2022-7-25 16:12 上傳
可以看到,數(shù)據(jù)穩(wěn)定性有所好轉(zhuǎn),具體統(tǒng)計如下: 也就是正確數(shù)據(jù)占比為99.990%。在E+和E-之間連接電解電容,20000次數(shù)據(jù)中只有2次數(shù)據(jù)出現(xiàn)異常,數(shù)據(jù)誤差只是1g,數(shù)據(jù)準確性達到99.99%,穩(wěn)定性較好。 綜上所述,建議在E+和E-之間連接電解電容,有利于數(shù)據(jù)穩(wěn)定性。 ②再分析軟件程序,對單片機獲取到的重量值,可以采用軟件濾波的方式,獲取到較為穩(wěn)定的數(shù)據(jù),比如多次求值,然后求平均值,當然還有其他很多濾波方式,都可以去實驗,本作品中作者未涉及,有興趣的可以去試著做。 (2)如何保留小數(shù)點后兩位有效數(shù)字?
【項目實訓】51單片機電子秤(語音播報版)5160.png (338.64 KB, 下載次數(shù): 18)
下載附件
2022-7-25 16:12 上傳
該作品程序中,有這樣兩部分代碼,摘抄這兩句代碼在一起。具體舉例分析,假設(shè)money最開始等于22.986元,通過
【項目實訓】51單片機電子秤(語音播報版)5219.png (75.92 KB, 下載次數(shù): 19)
下載附件
2022-7-25 16:12 上傳
得到money等于22.991元,再通過:
【項目實訓】51單片機電子秤(語音播報版)5243.png (119.25 KB, 下載次數(shù): 19)
下載附件
2022-7-25 16:12 上傳
注意這里包含兩次數(shù)據(jù)類型轉(zhuǎn)換,第一次money先乘以100得到2299.1,然后強制轉(zhuǎn)換為unsigned long類型數(shù)據(jù),得到的就是2299元,然后再將其類型轉(zhuǎn)換為float,得到2299.0元,然后除以100,得到的就是22.99元,得到的結(jié)果就是四舍五入后保留小數(shù)點后兩位的結(jié)果。這里巧妙通過加法、兩次數(shù)據(jù)類型轉(zhuǎn)換就可以達到想要的結(jié)果,注意這些操作很有技巧性。(該方法是作者現(xiàn)有知識體系下較好的方法,如果有其他方法,歡迎留言評論分享) 七、關(guān)于作者
【項目實訓】51單片機電子秤(語音播報版)5474.png (1.05 MB, 下載次數(shù): 21)
下載附件
2022-7-25 16:12 上傳
|