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