2016年TI杯大學(xué)生電子設(shè)計競賽(圖片都在附件里面)
簡易電子秤(G題)【本科組】
2016 年 7 月28 日
簡易電子秤(G題)
【本科組】
0.png (208.21 KB, 下載次數(shù): 45)
下載附件
2018-8-26 15:51 上傳
摘要:該系統(tǒng)以單片機(jī)STM32F103RC為控制核心,由電阻應(yīng)變式稱重傳感器將壓力轉(zhuǎn)換為電壓信號,采用 HX711 內(nèi)部自帶的差分集成運(yùn)算放大器將微弱的電壓信號放大后送人 HX711 內(nèi)部的24 位 A/D 轉(zhuǎn)換器將此模擬電壓值轉(zhuǎn)化為數(shù)字量,輸送給單片機(jī)。由單片機(jī)對該數(shù)值處理后得到實際重量及控制相應(yīng)附加功能,最后通過 LCD12864 液晶屏進(jìn)行相應(yīng)的顯示。
本課題所采用的電路簡單,算法合理。經(jīng)過實際制作和測試,完全達(dá)到了題目基本部分和發(fā)揮部分的所有要求,效果很好
1 系統(tǒng)方案
1.1 比較與選擇
1.1.1 控制部分的方案論證與選擇
方案一:采用 51 作為控制核心。51 單片機(jī)主頻為 12M,擁有三十二個 I/O 引腳,8Kflash 程序
存儲空間,256 byte RAM ,三個定時器,三個計數(shù)器,五個中斷源,價格低廉,但其運(yùn)行速度較慢,
無內(nèi)部 SRAM 等。
方案二:采用 STM32,其具有 512Kflash 程序存儲空間,主頻 72M,三個定時器,四個外部中
斷,內(nèi)部 RTC 等,內(nèi)置高速存儲器。在運(yùn)算速度和存儲容量上滿足要求,豐富的外設(shè)也簡化了系統(tǒng)
的硬件設(shè)計。
方案選擇:本系統(tǒng)采取 STM32F103RC 控制器。ARM32 系列比 89c52 單片機(jī)具有更強(qiáng)大的控制
功能、更快的運(yùn)行速度,可更快捷地進(jìn)行高精度的測量。因此綜合考慮選擇STM32F103RC 作為控
制部件。
1.1.2 模數(shù)轉(zhuǎn)換及顯示部分的方案論證與選擇
方案一:將放大后的信號輸入 A/D 轉(zhuǎn)換芯片 TLC2573 進(jìn)行 A/D 轉(zhuǎn)換,由于此芯片可直接用于
數(shù)字顯示,故轉(zhuǎn)換后的數(shù)字量直接用數(shù)碼管等顯示器進(jìn)行顯示。此方案的優(yōu)點是外部電路非常簡單,
能實現(xiàn)較高的精度。缺點是無法對 A/D 轉(zhuǎn)換進(jìn)行控制,同時需要前置放大電路。其方案如圖 1 所示。 file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg
前置放大電路
TLC2573數(shù)碼管顯示A/D轉(zhuǎn)換
圖 1 TLC模數(shù)轉(zhuǎn)換電路框圖
方案二:將放大后的信號輸入到 HX711 進(jìn)行模數(shù)轉(zhuǎn)換,再將得到的數(shù)字信號送至單片機(jī)進(jìn)行處
理后送入 LCD12864 液晶顯示。此方案的優(yōu)點是可控制性好,可通過軟件的編程實現(xiàn)放大倍數(shù)選擇,
且電路簡單,液晶的硬件電路也比數(shù)碼管的簡單,且技術(shù)領(lǐng)先于數(shù)碼管,可顯示的內(nèi)容豐富。采用
單片機(jī)對數(shù)據(jù)稍加處理,即能通過軟件在一定程度上彌補(bǔ)與調(diào)節(jié)硬件電路所無法避免的數(shù)據(jù)抖動,
使最終所測得的數(shù)據(jù)更可靠、參考性更強(qiáng),且其內(nèi)部集成差分運(yùn)放,使得電路比較簡單。其方案圖
如圖 2 所示。 file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg
綜合考慮,本次設(shè)計選擇方案二。
1.1.3 電阻應(yīng)變片橋式接法方案論證
方案一:采用半橋式接法。這種方法線性度、準(zhǔn)確性很高,使用簡單,適用于大多數(shù)測量,但是抗
干擾性不高,原理圖如圖 3 所示。
方案二:采用全橋式接法。全橋式能兼容半橋式接法的優(yōu)點,即是準(zhǔn)確性,線性度高。但它比
半橋接法的抗干擾性更強(qiáng),原理圖如圖 4 所示。 file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg
圖 3 半橋接法 圖 4 全橋接法
1.2 方案描述 file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg 形變量傳感模 按鍵輸入模塊 蜂鳴器模塊 塊
信號采集放大 | 主控模塊 | 液晶顯示模塊 |
| AD轉(zhuǎn)換模塊 |
|
|
|
|
系統(tǒng)供電
圖 5 系統(tǒng)框圖
如上所示,系統(tǒng)由以下主要模塊構(gòu)成: Ø 形變量傳感模塊:負(fù)責(zé)將鐵質(zhì)懸臂梁的形變信號轉(zhuǎn)化成電信號。
Ø 信號采集放大以及 A/D 轉(zhuǎn)換模塊:將微弱的電信號進(jìn)行放大處理并將模擬量轉(zhuǎn)換成數(shù)字量。
Ø 主控模塊:主控采用 STM32F103RCT6,使用它實現(xiàn)輸入輸出控制,數(shù)據(jù)處理等功能。
Ø 顯示模塊:采用 LCD12864 來顯示重量,單價總價等關(guān)鍵信息。 2
Ø 按鍵模塊:通過按鍵來進(jìn)行功能的選擇,以及輸入電子秤所需要的關(guān)鍵信息。
Ø 蜂鳴器模塊:當(dāng)按鍵按下后通過模塊發(fā)出聲音來提示此按鍵已經(jīng)按下,防止用戶誤使用。
2 理論分析與計算
2.1 電阻應(yīng)變片選擇
國家標(biāo)準(zhǔn)中電阻應(yīng)變片的阻值規(guī)定為 60、120、120、200、350、500、1000。應(yīng)變片阻值越大,
則其相同形變量時得到的電壓值就越大,即精度越高,綜合考慮成本與實際要求本次選用的應(yīng)變片
為 350Ω。
2.2 稱重傳感裝置理論分析
電阻應(yīng)變式壓力傳感器主要由彈性體、電阻應(yīng)變片、電纜線等組成,內(nèi)部線路采用惠更斯電橋,
當(dāng)彈性體承受載荷產(chǎn)生變形時,電阻應(yīng)變片(轉(zhuǎn)換元件)受到拉伸或壓縮而變形后,它的阻值將發(fā)
生變化(增大或減小),從而使電橋失去平衡,產(chǎn)生相應(yīng)的差動信號,供后續(xù)電路測量和處理。電阻
應(yīng)變式傳感器測量原理如圖 6 所示。 file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image011.jpg
圖 6 電阻應(yīng)變式傳感器測量原理
當(dāng)垂直正壓力 P 作用于梁上時,梁產(chǎn) file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image013.jpg 生形變,電阻應(yīng)變片 R1、R3 受壓彎拉伸,
阻值增加;R2、R4 受壓縮,阻值減小。
電橋失去平衡,產(chǎn)生不平衡電壓,不平衡
電壓與作用在傳感器上的載荷 P 成正比,
從而將非電量轉(zhuǎn)化成電量輸出。
R1、R2、R3 和R4 組成惠更斯電橋,
將兩對電阻應(yīng)變片的阻值變化轉(zhuǎn)變成輸
出電壓,其工作原理圖如圖 4 所示。 圖 7 HX711 外部管腳圖
2.3 檢測算法及功能實現(xiàn)
HX711與后端 MCU 芯片的接口和編程非常簡單,所有控制信號由管腳驅(qū)動。輸入選擇開關(guān)可
任意選取通道 A 或通道 B,與其內(nèi)部的低噪聲可編程放大器相連。通道A 的可編程增益為 128 或
64,對應(yīng)的滿額度差分輸入信號幅值分別為±20mV 或±40mV。通道 B 則為固定的 32 增益,用于
系統(tǒng)參數(shù)檢測。芯片內(nèi)提供的穩(wěn)壓電源可以直接向外部傳感器和芯片內(nèi)的 A/D 轉(zhuǎn)換器提供電源,系
統(tǒng)板上無需另外的模擬電源。芯片內(nèi)的時鐘振蕩器不需要任何外接器件。上電自動復(fù)位功能簡化了
開機(jī)的初始化過程。其外部管腳如圖 7 所示。
3 電路與程序設(shè)計
3.1 信號采集部分
電阻應(yīng)變傳感器在懸臂梁上發(fā)生形變的過程中電阻變化非常小,這樣小的電阻變化用一般測量
電阻的儀表很難測出,必須用一定形式的測量電路將微小的電阻變化率轉(zhuǎn)變成電壓或電流的變化,
才能用二次儀表顯示出來,在電阻應(yīng)變式稱重傳感器中,通過橋式電路將電阻的變化轉(zhuǎn)換為電壓的
變化,電阻應(yīng)變式稱重傳感器的原理框圖如圖 8。
載荷 P |
| 應(yīng)變 x |
| 電阻變化 |
| 輸出 |
| 敏感元件 | 應(yīng)變片 | 測量電橋 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image015.jpgfile:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image017.jpgfile:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image019.jpgfile:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image021.jpg 圖 8電阻應(yīng)變式稱重傳感器的原理框圖
3.2 差動放大電路與模數(shù)轉(zhuǎn)換電路
本次設(shè)計采用了 HX711 作為模數(shù)轉(zhuǎn)換芯片,其內(nèi)部集成了差動放大器與模數(shù)轉(zhuǎn)換器,內(nèi)部集成
了包括穩(wěn)壓電源、片內(nèi)時鐘振蕩器等其他同類型芯片所需要的外圍電路。 file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image023.jpg 圖 9 為 HX711 芯片應(yīng)用于
電子秤的電路圖。該方案使用
內(nèi)部時鐘振蕩器(XI=0),電源
(2.7~5.5V)直接取用與 MCU
芯片相同的供電電源。通道 A
與傳感器相連,通道 B 通過片
外分壓電阻與電池相連,用于
檢測電池電壓。
圖 9 HX711 電子秤應(yīng)用電路圖
3.3 主控電路
4
file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png
STM32是意法半導(dǎo)體推
出 的 32 位 基 于 ARM
Cortex-M3 核心的帶 512K 字
節(jié)閃存的微控制器。其具有
最高 72MHz 的工作頻率,擁
有 512K 的閃存程序存儲器,
高達(dá) 64K 的 SRAM,擁有并
行 LCD 接口(兼容 8080/6800
模式),3 個 12 位模數(shù)轉(zhuǎn)換
器,4 個 16 位定時器,2.0-3.6
伏供電,具有 VBAT 為 RTC
和后備寄存器供電。其最小
系統(tǒng)電路圖如圖 10 所示。
圖 10 STM32最小系統(tǒng)
3.4 外圍電路設(shè)計
3.4.1 LCD12864 顯示電路 file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image027.jpg 12864 內(nèi)置8192 個 16*16 點漢字,和 128 個
16*8 點 ASCII 字符集.利用該模塊靈活的接口方式
和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互
圖形界面?梢燥@示 8×4 行 16×16 點 陣的漢字. 也
可完成圖形顯示.低電壓低功耗是其又一顯著特點。
由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣
液晶 顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序
都要簡潔得多,且該模塊的價格也略低于相同點陣
的圖形液晶模塊。其電路圖如圖 11 所示。 圖 11 液晶顯示接口電路
3.4.2 蜂鳴器與按鍵電路
系統(tǒng)利用蜂鳴器進(jìn)行提示,從而使得系統(tǒng)操作更加友好,通過 4*5 按鍵進(jìn)行輸入,矩陣鍵盤能
夠節(jié)省更多 IO 口。其電路圖如圖 12、13 所示。
圖 12 矩陣鍵盤圖 圖 13 蜂鳴器電路
3.5 程序結(jié)構(gòu)與設(shè)計
3.5.1 主程序流程圖
程序經(jīng)過各個模塊初始化后分時處
理重量取值與顯示和按鍵處理。其流程圖
如圖 13 所示。
3.5.2 HX711 讀值與處理
HX711 與單片機(jī)采用類似與IIC 的方
式通訊,所用到的數(shù)據(jù)線為 SCK 與 DO,
需要讀值時發(fā)送 25-26 個時鐘脈沖啟動,
之后就可進(jìn)行讀值,時鐘信號默認(rèn)為低電
平。其流程圖如 14 所示。
3.5.3 flash 存儲流程圖
我們將 flash 用于存儲單價以及校準(zhǔn)
后的分度值,將此功能作為本次題目的擴(kuò)
展部分。flash 即 STM32 的程序存儲器,
我們選擇將分度值存儲在 100K 開始的位
置,而將單價存儲在 96K 開始的位置,流
程圖如圖 15 所示。
file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image033.png
開始 |
|
| 按下設(shè)單價 | N |
|
|
| 按鍵 | N |
|
|
| Y |
|
| 計算輸入單價值 |
|
|
開始 file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image035.jpg
發(fā)送啟動脈沖
讀取返回值
釋放總線
累加ad值
按下存單價按鍵
Y
調(diào)用寫flash函數(shù)存儲
結(jié)束
圖 14 flash存儲流程圖
file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image037.jpg
結(jié)束
圖 15 HX711程序處理流程圖
4 測試方案與測試結(jié)果
4.1 測試方案及測試條件
4.1.1 測試儀器
使用標(biāo)準(zhǔn)砝碼進(jìn)行標(biāo)定,然后測量相應(yīng)的砝碼值。
4.1.2 測試方案
1. 確定分度值
由于懸臂梁的形變和重物的實際變化量并非對應(yīng)嚴(yán)格的線性變化,即是同一個分度值在不同質(zhì)
量的重物值的擬合情況不同,所以要采用分段測試分度值來修正線性的變化誤差,讓懸臂梁的形變
和重物的質(zhì)量成一個嚴(yán)格的線性關(guān)系。
本系統(tǒng)測試是采用標(biāo)準(zhǔn)砝碼來測試 AD 值,砝碼從 0 克變化到 50 克,記錄對應(yīng)的 AD 值,最后
利用 Orignpro 繪制坐標(biāo)圖來分析擬合關(guān)系,確定分度區(qū)間,并設(shè)置相應(yīng)分度值,將對應(yīng)關(guān)系加到程
序中修訂。
2. 測量誤差范圍
當(dāng)分度值確定后再重新對重量值進(jìn)行測試,以確定誤差范圍。
通過 0-500g 范圍內(nèi)測量三次從而求得誤差的平均值。
4.2 測試結(jié)果
4.2.1 AD 分度值擬合結(jié)果
經(jīng)過擬合,其擬合出來的函數(shù)關(guān)系為 y=0.23122x-7476.4,該圖僅為一個 0-50g 的測試圖,而其
余分度值依次求值即可。
file:///C:/Users/朱春橋/AppData/Local/Temp/msohtmlclip1/01/clip_image039.jpg
20 |
|
|
| 0 |
|
|
| 32300 | 32400 | 32500 | 32600 |
B
圖 16 AD 分度值擬合結(jié)果
誤差測量結(jié)果如表 1 所示
|
| 表 1 | 誤差測量結(jié)果 |
|
|
|
|
|
|
|
|
| 砝碼重量/g | 顯示值 1/g | 顯示值 2/g |
| 顯示值 3/g | 誤差總值 | 誤差平均值 |
|
|
|
|
|
|
| 0 | 0.0 | 0.0 |
| 0.0 | 0.0 | 0.00 |
|
|
|
|
|
|
| 1 | 0.9 | 1.0 |
| 0.9 | 0.2 | 0.06 |
|
|
|
|
|
|
| 2 | 1.9 | 1.9 |
| 1.9 | 0.3 | 0.10 |
|
|
|
|
|
|
| 5 | 4.9 | 5.0 |
| 5.1 | 0.2 | 0.06 |
|
|
|
|
|
|
| 10 | 10.0 | 10.1 |
| 10.1 | 0.2 | 0.06 |
|
|
|
|
|
|
| 20 | 19.8 | 19.9 |
| 20.0 | 0.3 | 0.10 |
|
|
|
|
|
|
| 30 | 30.0 | 29.9 |
| 29.9 | 0.2 | 0.06 |
|
|
|
|
|
|
| 40 | 40.1 | 40.1 |
| 40.0 | 0.2 | 0.06 |
|
|
|
|
|
|
| 50 | 50.0 | 50.0 |
| 50.1 | 0.1 | 0.03 |
|
|
|
|
|
|
| 60 | 59.9 | 60.0 |
| 60.0 | 0.1 | 0.03 |
|
|
|
|
|
|
| 70 | 69.9 | 69.9 |
| 70.0 | 0.2 | 0.06 |
|
|
|
|
|
|
|
|
|
| 8 |
|
|
80 | 80.0 | 80.1 | 79.9 | 0.2 | 0.06 |
|
|
|
|
|
| 90 | 89.8 | 90.0 | 90.1 | 0.3 | 0.10 |
|
|
|
|
|
| 100 | 99.8 | 99.7 | 100.1 | 0.6 | 0.20 |
|
|
|
|
|
| 150 | 150.0 | 149.9 | 150.3 | 0.4 | 0.13 |
|
|
|
|
|
| 200 | 200.3 | 200.3 | 200.1 | 0.7 | 0.23 |
|
|
|
|
|
| 250 | 250.2 | 250.1 | 250.2 | 0.5 | 0.16 |
|
|
|
|
|
| 300 | 300.2 | 300.2 | 300.2 | 0.6 | 0.20 |
|
|
|
|
|
| 350 | 350.2 | 350.1 | 350.2 | 0.5 | 0.16 |
|
|
|
|
|
| 400 | 400.3 | 400.1 | 400.2 | 0.6 | 0.20 |
|
|
|
|
|
| 450 | 450.1 | 450.2 | 450.1 | 0.4 | 0.13 |
|
|
|
|
|
| 500 | 500.3 | 500.0 | 500.3 | 0.6 | 0.20 |
|
|
|
|
|
|
4.3 測試結(jié)果分析
由以上表格可知,本作品的精度完全能達(dá)到題目的要求。但是每次測試的值會產(chǎn)生一個波動。
波動的來源于有幾方面,首先是托盤的震動,托盤震動會使懸臂梁產(chǎn)生動態(tài)的形變從而使顯示值產(chǎn)
生變化。其次鐵質(zhì)懸臂梁不能嚴(yán)格恢復(fù)形變也會使值產(chǎn)生波動。這種誤差是不能避免的,只能通過
函數(shù)進(jìn)行補(bǔ)償,從而減小誤差。
5 總結(jié)
根據(jù)題目要求,經(jīng)過 4 天 3 夜的艱苦奮斗,最終完成了題目的所有要求,并做了相應(yīng)擴(kuò)展,具
體功能如下。
要求 | 完成內(nèi)容 |
|
| 數(shù)字顯示被稱物體的重量,單位克(g) | 可以顯示被稱量物體重量(單位:g),精確到小 |
| 數(shù)點后一位 |
|
| 電子秤稱重范圍 5.00g~500g;重量小于 50g,稱重誤差小 | 稱重范圍 1-500g;重量小于 50g,稱重誤差約為 | 于 0.5g;重量在 50g 及以上,稱重誤差小于 1g | 0.1g;重量在 50g 及以上,稱重誤差約為 0.2g |
|
| 電子秤可以設(shè)置單價(元/克),可計算物品金額并實現(xiàn)金 | 可以設(shè)置單價,精確到小數(shù)點后一位,可計算物 | 額累加 | 品金額并可累加,且可存儲單價,實現(xiàn)快速計算 |
|
| 電子秤具有去皮功能,去皮范圍不超過 100g | 具有去皮功能 |
|
| 擴(kuò)展要求 | Flash 存儲單價與校準(zhǔn)分度值 |
|
|
參考文獻(xiàn)
[1] 吳光杰,傳感器與檢測技術(shù),重慶大學(xué)出版社,2011.7
[2] 龔運(yùn)新.,單片機(jī) C 語言開發(fā)技術(shù),北京:清華大學(xué)出版社,2006.10
[3] 歐陽駿,瘋狂 STM32 實戰(zhàn)講學(xué)錄,中國水利水電出版社,2013.12
[4] 謝龍漢,魯力.Altium Designer 原理圖與 PCB 設(shè)計及仿真,北京:電子工業(yè)出版社,2011.
附錄
實物圖(見附件)
源碼下載:
電子秤完整版.rar
(304.64 KB, 下載次數(shù): 87)
2018-8-26 04:01 上傳
點擊文件名下載附件
stm32程序 下載積分: 黑幣 -5
論文.pdf
(1000.48 KB, 下載次數(shù): 65)
2018-8-26 09:42 上傳
點擊文件名下載附件
電子秤論文 下載積分: 黑幣 -5
|