

本系統采用單片機AT89S52為控制核心,實現電子秤的基本控制功能。系統的硬件部分包括最小系統板,數據采集、人機交互界面大部分。最小系統部分主要是擴展了外部數據存儲器,數據采集部分山稱重傳感器、信號的前級放大A/D轉換部分組成。人機界面部分為鍵盤輸入,128x64 點陣式液品顯示,可以直觀的顯示中文,使用方便。
軟件部分應用單片機C語言實現了本設計的全部控制功能,包括基本的稱重功能,和發揮部分能預存10種商品的單價,可以隨意調出使用的功能。可以顯示期和時間,由于系統資源豐富,還可以方便的擴展其應用。
目錄
設計并制作一個多功能電子計價秤。

(1)能用鍵盤設置單價,稱重后能同時顯示重量、單價和總額;
(2)電子計價秤:最大稱重為15.000公斤,重量誤差不大于±0.1%;
(3)具有數碼顯示,顯示重量、單價、總額等信息。
a.重量顯示為5位數碼,單位為公斤,最大重量顯示值為99.999公斤;
b.單價金額顯示為5位數碼,單位為元,最大單價金額顯示值值為999.99元;
c.總價金額顯示為6位數碼,單位為元,最大總價金額顯示值值為9999.99元,總價金額誤差不大于0.01元;
1.2.2發揮部分(1)具有實時時鐘顯示并具有掉電保護,可顯示日歷時鐘(年、月、日、時、分、秒);
(2)擴展高精度A/D轉換器,提高電子計價秤測量精度,測量誤差不大于±0.01%;
(3)能預存10種商品的單價;可以隨意調出使用。
(4)其他
二、系統方案論證:2.1總體方案設計2.1.1系統方案論證與選擇通過以上分析,擬定以下兩種方案:
方案一:采用ATmega16單片機作為系統主控制器。Atmel公司的ATmega16單片機具有先進的RISC(精簡指令集計算機)結構、非易失性程序和數據存儲器,16 kB可編程Flash存儲器、512 B的EEPROM和1 kB片內SRAM,具有豐富的外設接口,其USART(通用同步和異步接收器和轉發器)是一個高度靈活的串行通信設備,SPI(串行外設接口)允許ATmega16與外設或其他AVR器件進行高速的同步數據傳輸。內部集成高精度10位A/D轉換器。系統原理框圖如圖2所示。

方案二:采用AT89S52單片機作為系統主控制器。AT89S52單片機是一種低功耗高性能的CMOS8位微控制器,內置8KB可在線編程閃存。片內程序存儲器允許重復在線編程,允許程序存儲器在系統內通過SPI串行口改寫或用同用的非易失性存儲器改寫。通過把通用的8位CPU與可在線下載的Flash集成在一個芯片上,AT89S52便成為一個高效的微型計算機。系統原理框圖如圖3所示。

方案一主控制系統內部集成了A/D轉換器,可以節省外部器件,簡化外部電路,但是MEGA16單片機價格較貴,運用技術不夠成熟。方案二AT89S52單片機的應用范圍廣,可用于解決復雜的控制問題,且成本較低。它需要外接A/D轉換電路,相對比較復雜,但是成本低。綜合比較,考慮到成本和設計需要,10位A/D能夠滿足題目需求,因此采用方案二。
三、各模塊方案選擇及論證:3.1控制器部分本系統基于51系列單片機來實現,因為系統需要大量的控制液晶顯示和鍵盤。不宜采用大規模可編程邏輯器件來實現。另外系統沒有其他高標準的要求最終選擇了AT89S52通用的比較普通的單片機來實現系統設計。內部帶有8kb的程序存儲器,在外面拓展了32kb數據存儲器,以滿足系統要求。
方案一:采用雙孔懸壁梁式(電阻應變式)稱重傳感器。孔懸臂梁式稱重傳感器是電子計價秤中廣泛使用的傳感器。這種傳感器的彈性體具有上下兩個平行梁,它的最大特點就是具有抗偏載的力學特性。它的稱量范圍為300g至數千kg, 計量準確度達1/1000~1/10000,結構較簡單,可靠性較好。
方案二:采用電磁力式傳感器。它利用承重臺上的負荷與電磁力相平衡的原理工作。當承重臺上放有被測物時,杠桿的一端向上傾斜;光電件檢測出傾斜度信號,經放大后流入線圈,產生電磁力,使杠桿恢復至平衡狀態。對產生電磁平衡力的電流進行數字轉換,即可確定被測物質量。電磁力式傳感器準確度高,可達1/2000~1/60000,但稱量范圍僅在幾十毫克至10千克之間。
綜合比較兩種傳感器的結構、力學特性和稱重范圍等,采用方案一。
3.2.2前級放大器部分的選擇壓力傳感器輸出的的電壓信號為毫伏級,所以對運算放大器要求很高,我們有以下幾種方案:
方案一:采用普通低溫漂運算放大器構成多級放大器。普通低溫漂運算放大器構成多級放大器會引入大量噪聲。由于A/D轉換器需要很高的精度,所以幾毫伏的干擾信號就會直接影響最后的測量精度。所以此方案不宜采用。
方案二:由高精度低漂移運算放大器構成差動放大器。差動放大器具有高輸入阻抗,增益高的特點,可以利用普通運放做成一個差動放大器,如圖2.2.3.1

電阻R1、R2電容C1、C2、C3、C4用于濾除前級的噪聲,C1、C2為普通小電容,可以濾除高頻干擾,C3、C4為大的電解電容,主要用于濾除低頻噪聲。
優點:輸入級加入射隨放大器,增大了輸入阻抗,中間級為差動放大電路,滑動變阻器R6可以調節輸出零點,最后一級可以可以用于微調放大倍數,使輸出滿足滿量程要求。輸出級為反向放大器,所以輸出電阻不是很大,比較符合要求。
缺點:電路要求R3、R4相等,誤差將會影響輸出精度,難度較大。實際測量,每一級運放都會引入較大噪聲。對精度影響較大。
結合本題對精度的要求,我們采用方案二。
3.2.3顯示器的論證與選擇
方案一:采用七段數碼管顯示。數碼管,顯示大亮度高,驅動部份的軟件簡單,但是耗電和功耗比較大。題目要求最高顯示6位數碼,對數碼管而言硬件電路較復雜,還要顯示萬年歷,因此數碼管不適合完成此功能。
方案二:采用LCD12864液晶顯示。12864是一種圖形點陣液晶顯示器,它主要由行驅動器/列驅動器及128×64全點陣液晶顯示器組成。可完成圖形顯示,也可以顯示8×4個(16×16點陣)漢字。具有很好的人機界面。
方案三:采用LCD320*240液晶顯示。該液晶屏具有更大的顯示界面,可以實現多層次顯示,更具人性化。
綜合比較,考慮到需顯示的量比較多,因此同時采用方案二和方案三。12864主要顯示時間和時鐘,320*240大屏顯示重量價格、菜單等。
3.2.4A/D轉換器由上面對傳感器量程和精度的分析可知:A/D轉換器誤差應在15g以下,對于80kg的量程,只有14位的A/D轉換器能夠完成。
14位A/D精度:80kg/16384=4.89kg;
選用HX711,24 位 A/D 轉換器芯片,顯然可以完成任務。

四、系統硬件設計:4.1系統框架

STC89C51是一種低功耗、高性能CMOS 8位微控制器,具有4K 在系統可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術制造,與工業80C51 產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統可編程Flash,使得STC89C51在眾多嵌入式控制應用系統中得到廣泛應用。
主要功能列舉 :
1、擁有靈巧的8位CPU和在系統可編程Flash
2、晶片內部具時鐘振蕩器(傳統最高工作頻率可至 12MHz)
3、內部程序存儲器(ROM)為 4KB
4、內部數據存儲器(RAM)為 256字節
5、32 個可編程I/O 口線
6、8 個中斷向量源
9、全雙工UART串行通道
10、低功耗空閑和掉電模式
11、掉電后中斷可喚醒
12、看門狗定時器
13、雙數據指針
14、掉電標識符
外形如圖8所示:


本系統采用平行梁稱重傳感器。實驗電子秤、郵政電子秤、廚房電子秤等一般選用雙孔懸臂平行梁應變式稱重傳感器。它的特點是: 精度高、易加工、結構簡單緊湊、抗偏載能力強、固有頻率高。外形如圖5所示。

稱重傳感器主要由彈性體、電阻應變片電纜線組等組成,內部電路采用惠更斯電橋。當彈性體(彈性元件、敏感梁)在外力作用下產生彈性變形,是粘貼在他表面的電阻應變片(轉換元件)也隨同產生變形,電阻應變片變形后,他的阻值將發生變化(增大或減小)經相應的測量電路把這一電阻變化轉換成電信號(電壓或電流),再經放大電路將電信號傳遞給處理器。
電阻應變式傳感器是將被測量的力,通過它產生的金屬彈性變形轉換成電阻變化的元件。由電阻應變片和測量線路兩部分組成,其主要參數如附錄1所示。電阻應變片產生的誤差,主要來源于溫度的影響,本設計主要在實驗室內進行,溫度的影響可不考慮。
當貼有電阻應變片的彈性平衡梁受到載荷F作用時,電阻應變片R1和R3受到拉伸作用,阻值增加;R2和R4受到壓縮作用,阻值減小,電橋失去平衡,產生的不平衡電壓U的大小與所受作用力F成正比。電橋的輸出電壓反映了電阻應變片相應的受力狀態。電橋電路如圖6所示。

電橋電路是最常用的非電量電測電路中的一種,當電橋平衡時,橋路對臂電阻乘積相等,電橋輸出為零,在橋臂四個電阻R1、R2、R3、R4 中,電阻的相對變化率分別為△R1/ R1、△R2/ R2、△R3/ R3、△R4/R4,當使用一個應變片時,有
;當使用兩個應變片時有
;用四個應變片組成2個差動對工作。有
,且R1=R2=R3=R4=R。當電橋后面接放大器時,放大器的輸入阻抗都很高,比電橋的輸出電阻大很多,因此可以把電橋輸出端看成是開路。若電橋不平衡,即R1R3≠R2R4時,電橋輸出:
平行梁式稱重傳感器使用時要按懸臂梁方式安裝,具體安裝方式可以參見圖7。傳感器的變形量是很微小的,在安裝、使用過程中要特別注意,不要超載。如果在外力撤除后不能恢復原形狀,發生塑性變形,則傳感器就損壞了。傳感器有四根線連接外電路,紅線為電源正極輸入,黑線為電源負極輸入,白線為信號輸出 1,藍(或綠)線為信號輸出 2。為保正精度,一般不要隨意調整線長。

A/D轉換的目的是進行模數轉換,把接收的到的模擬信號轉換成數字信號輸出。題目要求稱重數值位數為5位,因此對A/D轉換器的精度要求很高。A/D轉換器的位數確定與整個測量控制系統所需測量控制的范圍和精度有關,系統精度涉及的環節很多,包括傳感器的變換精度、信號預處理電路精度A/D轉換器以及輸出電路等。本系統采用HX711集成放大器及數模轉換模塊。電路圖如附錄1,實物圖如附錄2所示。
4.4.1簡介HX711 采用了海芯科技集成電路專利技術,是一款專為高精度電子秤而設計的 24 位 A/D 轉換器芯片。與同類型其它芯片相比,該芯片集成了包括穩壓電源、片內時鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應速度快、抗干擾性強等優點。降低了電子秤的整機成本,提高了整機的性能和可靠性。
4.4.2特點• 兩路可選擇差分輸入
• 片內低噪聲可編程放大器,可選增益為32,64和128
• 片內穩壓電路可直接向外部傳感器和芯片內A/D 轉換器提供電源
• 片內時鐘振蕩器無需任何外接器件,必要時也可使用外接晶振或時鐘
• 上電自動復位電路
• 簡單的數字控制和串口通訊:所有控制由管腳輸入,芯片內寄存器無需編程
• 可選擇10Hz或80Hz的輸出數據速率
• 同步抑制50Hz和60Hz的電源干擾
• 耗電量(含穩壓電源電路):
典型工作電流:< 1.6mA, 斷電電流:< 1µA
• 工作電壓范圍:2.6 ~ 5.5V
• 工作溫度范圍:-40 ~ +85℃
• 16 管腳的 SOP-16 封裝
在鍵盤中按鍵數量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P1口)就可以構成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數越多,區別越明顯,比如再多加一條線就可以構成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數比較多時,采用矩陣法來做鍵盤是合理的。電路圖如附錄3。
液晶顯示模塊是128×64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內置8192個中文漢字(16*16點陣)、128個字符(8*16點陣)及64*256點陣顯示RAM(GDRAM)。可與CPU直接接口,提供兩種界面來連接微處理機:8-位并行及串行兩種連接方式。具有多種功能:光標顯示、畫面移位、睡眠模式等。
4.6.2參數點陣式液晶顯示模塊(LCD)廣泛應用于單片機控制系統,比數碼管、段式液晶能模塊顯示更多、更直觀的信息。12864LCD屬于點陣圖形液晶顯示模塊,不但能顯示字符,還能顯示漢字和圖形,顯示面積大,數字和漢字顯示容易實現,程序要求不是很高,更加容易操作。點陣液晶顯示模塊集成度很高,一般都內置控制芯片、行驅動芯片和列驅動芯片。
本設計的軟件設計采用的是C語言。C語言是一種高級程序設計語言,它提供了十分完備的規范化流程設計控制結構。因此,采用C語言設計單片機應用系統程序時,要盡可能的采用結構化的程序設計方法,這樣可使整個應用系統結構清晰,易于調試和維護。



多功能數字電子計價秤 (夏鑫、鄧海洋、沈婷婷).doc
(2.01 MB, 下載次數: 16)
| 歡迎光臨 (http://m.raoushi.com/bbs/) | Powered by Discuz! X3.1 |