2016年TI杯大學生電子設計競賽
賽題(G題):簡易電子秤
摘要
本系統以STC12C5A32S2為主控芯片,設計了全橋電路、OP07運算放大電路、單片機最小系統電路及數碼管顯示電路和鍵盤。采集并顯示測量結果功能:通過運算放大電路放對從全橋電路采集到的電壓進行放大,再經過STC12C5A32S2自帶的A/D轉換電路送到單片機進行處理,單片機處理完后,把數字信號輸送到顯示電路,由顯示電路輸出測量結果。鍵盤輸入及顯示功能:進入單片機外中斷,并對P3.3,P3.4.P3.5的高低電平進行掃描,進行相應的程序操作,并用數碼管顯示出來。
本設計硬件電路結構與程序簡單,靈敏度高,能實現對0~500g物品質量的測量,且可以手動輸入物品的單價,計算出所花費的金額。
關鍵字:橋式傳感器 差分運算放大電路 STC12C5A32S2
目錄
- 方案的論證和選擇.........................................3
1.1方案的選擇............................................3
1.2總體設計思想..........................................3
二、理論分析與計算...........................................4
2.1橋式稱重傳感器電路的靈敏度分析........................4
2.2 OP07差分放大電路的分析...............................4
三、電路與程序設計...........................................4
3.1全橋電路..............................................4
3.2 OP07差分放大電路.....................................4
3.3鍵盤電路..............................................5
3.4單片機STC12C5A32S2處理系統...........................5
3.4.1系統主函數.......................................5
3.4.2 A/D數據采集子函數...............................6
3.4.3 鍵盤輸入掃描函數.................................6
3.4.4 數碼管顯示子函數.................................6
四、測試方案與測試結果.......................................6
五、總結和體會...............................................6
六、參考文獻.................................................7
一、方案選擇與論證
1.1方案選擇與論證
方案一:差動半橋測量電路,三運放大電路,ADC0809A/D轉換電路,LED顯示電路,4X4按鍵電路。
方案二:差動全橋測量電路,OP07放大電路,單片機自帶A/D轉換電路,LED顯示電路,按鍵電路由3個撥碼開關與1個四腳輕觸開關組成。
綜上所示,與方案一相比,方案二的靈敏度更高,電路結構簡單,且編程也簡單,我們爭取用最簡單的設計實現大賽要求的功能,故選擇方案二為系統基本方案。
1.2總體設計思想
主要以單片機STC12C5A32S2為控制核心,實現電子秤的基本控制功能。系統主要可以分為單片機最小系統、數據采集、人機交互界面部分。最小系統部分主要包括STC12C5A32S2和經典復位電路;數據采集部分由差動全橋電路、信號放大和A/D轉換部分組成,信號放大由OP07的差分運算放大電路構成,A/D轉換部分主要由單片機內部自帶的A/D轉換器構成;人機交互界面為鍵盤輸入和數碼管顯示,可以方便的輸入數據和直觀的顯示數據。總體設計框圖如圖1。
1.001.jpg (29.75 KB, 下載次數: 96)
下載附件
2016-9-25 12:24 上傳
圖1
二、理論分析與計算
2.1橋式稱重傳感器電路的靈敏度分析
我們所用的電阻應變片是組委會要求的電阻應變片,一個橋臂工作時電路靈敏度為KE/4;兩個橋臂工作時電路靈敏度為KE/2;四個橋臂工作時電路靈敏度為KE。其中四個橋臂的電路線性程度更高,為了精確測量,我們選擇全橋電路。
2.2 OP07差分放大電路的分析
由于檢測到的電壓信號只有幾毫伏,而單片機I/O口輸入電壓也不應太高,所以我們所用的放大電路的放大倍數為56倍,根據UO=-Rf(U1-U2)/R,我們取R=1千歐,Rf=56千歐。
三、電路與程序設計
3.1全橋電路
應變式傳感器常用的測量電路有單臂電橋、差動半橋和差動全橋,其中差動全橋的靈敏度是單臂電橋的4倍,且能消除電橋的非線性誤差,并可消除溫度誤差等共模干擾,故本設計采用4片應變片組成差動全橋,如圖2所示。橋式測量電路有四個電阻,其中任何一個都可以是電阻應變片。電橋的一個對角線位接入工作電壓VCC,另一個對角線位輸出電壓V0。
1.002.jpg (8.68 KB, 下載次數: 96)
下載附件
2016-9-25 12:24 上傳
圖2
3.2 OP07差分放大電路
OP07差分放大電路將輸入信號放大56倍后輸入到單片機的A/D轉換電路。如圖3。
1.003.jpg (17.1 KB, 下載次數: 101)
下載附件
2016-9-25 12:24 上傳
圖3
3.3鍵盤電路
鍵盤電路由3個撥碼開關和1個按鍵開關構成,此種接法使得實現輸入單價的功能的編程簡單化,如圖4所示。
1.004.jpg (31.79 KB, 下載次數: 93)
下載附件
2016-9-25 12:24 上傳
圖4
3.4 單片機STC12C5A32S2處理系統
本設計采用STC12C5A32S2為主控芯片,用軟件進行調零和定標,即只需對程序進行修改。對比在AD轉換電路外加調理電路來說,用軟件調零方便,清晰,可以簡化整個設計。
在系統通電后,主程序首先完成系統初始化,其中包括系統變量定義和給系統變量賦初值等,然后調用A/D采集函數,將A/D采集模塊輸出的8位二進制串行數據轉化為十進制,接著進行調零和定標,最后分離出四位十進制數的千位、百位、十位和個位,調用數碼管顯示函數,將對應的數值送到對應的數碼管上進行顯示。系統主函數流程圖如圖5所示。
1.005.jpg (12.76 KB, 下載次數: 95)
下載附件
2016-9-25 12:24 上傳
圖5
A/D數據采集程序主要是采集經運算放大電路放大后的橋式傳感器輸出信號,然后單片機對此信號進行處理。
手動調節3個撥碼開關,按下按鍵開關后,進入外中斷,然后通過判斷不同的撥碼開關組合,執行相應的程序,以實現設置單價等功能。
(4)數碼管顯示子函數
數碼管顯示程序用LED動態顯示數據信息,依次掃描千位、百位、十位和個位,在延時程序中對延時時間的設置要到位,本設計中千位位選、百位位選、十位位選的延時時間為1ms。如果延時時間太長,因為視覺的暫留效果,會觀察到四位數碼管是從左到右依次地顯示,而不是同時顯示,如果設置的太短,數碼管亮度會變暗,不便于觀察實驗現象,程序中沒有對個位數據延時,因為個位位選打開以后,沒有立即關閉,接著執行數碼管顯示程序,起到了一定的演示效果。
系統硬件的調試,首先檢查電路的焊接是否正確,用萬用表檢測電路板是否存在短路或者斷路。經檢測后再接上電源,用萬用表測量電源部分的各個輸出電壓值,經調試正常后方可接到各部分電路。將單片機復位,調用數碼管顯示子函數顯示1234,顯示無誤后,接上全橋電路和放大電路,將全部程序燒到芯片中,觀察數碼管上是否顯示0000.如果沒有顯示,即進行軟件調零工作,待調零完成后,用手給傳感器慢慢施加壓力,看數碼管上的數值是否也隨著增大,當放手后,看數碼管的數值是否回到0000附近。
在軟件設計中,如果沒有加入清零程序,當沒有砝碼放在傳感器上時,數碼管顯示初值為130,接著依次放上10g,20g,40g,50g......,記下數碼管的示數,再通過MATLAB進行繪圖,得出數碼管的顯示值和砝碼值呈線性關系,未定標時的線性測試曲線如圖6所示。
1.006.jpg (12.12 KB, 下載次數: 77)
下載附件
2016-9-25 12:24 上傳
圖6
此時用最小二乘法進行擬合,求出k=1.463,b=104.04。接著在軟件設計中加入清零程序,定標過程就完成了,定標后的校驗曲線如圖7所示。
1.007.jpg (14.42 KB, 下載次數: 95)
下載附件
2016-9-25 12:24 上傳
圖7
從實驗測試數據可以看出最大偏差為1g。由于所采用的傳感器靈敏度很高,如果傳感器在水平方向固定的不是很好,會存在一定的誤差,另外傳感器的引線也很靈敏,稍微觸動一下,也會產生誤差。
通過這幾天的比賽,我們覺得比比賽更重要的是參與其中。我們在競賽的過程中遇到了很多問題,我們一度沮喪萬分,但是我們堅持了下來,最終完成了作品的制作。在這過程中也對自己有了重新的認識,了解到了自己的不足之處,也意識到了團隊合作的重要性。四天的比賽對我們來說是非常難得的人生體驗:熬夜調硬件,通宵寫程序,白天吃泡面,晚上睡實驗室,解決一個問題,遇到另一個問題……這段經歷,必將成為我們今后學習生活中一筆寶貴的財富。
黃志偉 常用電路模塊制作 北京:北京航空航天大學出版社,2011.1
龔建軍 電子電路精選圖集500例 北京:化學工業出版社,2012.4