摘要
電子秤是將檢測與轉換技術、計算機技術、信息處理、數字技術等技術綜合一體的現代新型稱重儀器。它與我們日常生活緊密結合息息相關。
電子稱主要以單片機作為中心控制單元,通過稱重傳感器進行模數轉換單元,在配以鍵盤、顯示電路及強大軟件來組成。電子稱不但計量準確、快速方便,更重要的自動稱重、數字顯示,對人們生活的影響越來越大,廣受歡迎。
本系統的設計主要從硬件電路設計,軟件編程調試,實物焊接調試三部分進行詳細闡述。硬件電路主要是基于單片機為核心的控制單元實現數據的處理,采用壓力傳感器對數據進行采集,電子秤專用24位AD轉換芯片HX711對傳感器采集到的模擬量進行AD轉換,轉換后的數據送到單片機進行處理顯示,數據顯示由LCD1602液晶實現,液晶顯示效果穩定無閃爍。
1緒論
稱重技術自古以來就被人們所重視,作為一種計量手段,廣泛應用于工農業、科研、交通、內外貿易等各個領域,與人民的生活緊密相連。電子秤是電子衡器中的一種,衡器是國家法定計量器具,是國計民生、國防建設、科學研究、內外貿易不可缺少的計量設備,衡器產品技術水平的高低,將直接影響各行各業的現代化水平和社會經濟效益的提高。稱重裝置不僅是提供重量數據的單體儀表,而且作為工業控制系統和商業管理系統的一個組成部分,推進了工業生產的自動化和管理的現代化,它起到了縮短作業時間、改善操作條件、降低能源和材料的消耗、提高產品質量以及加強企業管理、改善經營管理等多方面的作用。稱重裝置的應用已遍及到國民經濟各領域,取得了顯著的經濟效益。
電子秤是稱重技術中的一種新型儀表,廣泛應用于各種場合。電子秤與機械秤比較有體積小、重量輕、結構簡單、價格低、實用價值強、維護方便等特點,可在各種環境工作,重量信號可遠傳,易于實現重量顯示數字化,易于與計算機聯網,實現生產過程自動化,提高勞動生產率。從世界水平看,衡器技術已經經歷了四個階段,從傳統的全部由機械元器件組成的機械稱到用電子線路代替部分機械元器件的機電結合秤,再從集成電路式到目前的單片機系統設計的電子計價秤。我國電子衡器從最初的機電結合型發展到現在的全電子型和數字智能型。現今電子衡器制造技術及應用得到了新發展:電子稱重技術從靜態稱重向動態稱重發展;計量方法從模擬測量向數字測量發展;測量特點從單參數測量向多參數測量發展。常規的測試儀器儀表和控制裝置被更先進的智能儀器所取代,使得傳統的電子測量儀器在遠離、功能、精度及自動化水平定方面發生了巨大變化,并相應的出現了各種各樣的智能儀器控制系統,使得科學實驗和應用工程的自動化程度得以顯著提高。
電子稱重的實現首先是通過壓力傳感器采集到被測物體的重量并將其轉換成電壓信號。輸出電壓信號通常很小,需要通過前端信號處理電路進行準確的線性放大。放大后的模擬電壓信號經A/D轉換電路轉換成數字量被送入到主控電路的單片機中,再經過單片機控制譯碼顯示器,從而顯示出被測物體的重量。按照設計的基本要求,系統可分為三大模塊,數據采集模塊、控制器模塊、人機交互液晶顯示界面模塊。其中數據采集模塊由壓力傳感器、信號的前級處理和A/D轉換部分組成。轉換后的數字信號送給控制器處理,由控制器完成對該數字量的處理,驅動顯示模塊完成人機間的信息交換。此部分對軟件的設計要求比較高,系統的大部分功能都需要軟件來控制。在擴展功能上,本設計增加了一個過載報警提示功能使本電子稱的設計更人性化智能化。
2 系統硬件方案設計
2.1系統總體設計方案比較與論證
在設計系統時,針對各個模塊實現的功能來設計電子秤的方案有以下幾種:
方案一 數碼管顯示:
圖1 數碼管顯示方案
此方案利用數碼管顯示物體重量,簡單可行,可以采用內部帶有模數轉換功能的單片機。由此設計出的電子秤系統,硬件部分簡單,接口電路易于實現,并且在編程時大大減少程序量,在電路結構上只有簡單的輸出輸入關系。缺點是:硬件部分簡單,雖然可以實現電子稱基本的稱重功能,但是不能實現外部數據的輸入,無法根據實際情況靈活地設定各種控制參數。由于數碼管只能實現簡單的數字和英文字符的顯示,不能顯示漢字以及其他的復雜字符,不能達到顯示購物清單的要求。又因為采用了具有模數轉換功能的單片機,系統電路過于簡單,系統硬件的擴展必受到限制,電子秤的功能過于單一,達不到設計的標準。
方案二 在前一種方案的基礎上進行擴展,增加一鍵盤輸入裝置,增加外界對單片機內部的數據設定,使電子稱實現稱重計價的功能。
結構簡圖如圖2所示:
圖2帶有鍵盤輸入的結構簡圖
此方案設計的電子秤,可以實現稱物計價功能,但是局限于數碼管的功能,在顯示時只能顯示單價、購物總額以及簡單的貨物代碼等。在顯示重量時,如果數碼管沒有足夠的位數,那么稱量物體重量的精度必受到限制,所以此方案需要較多的數碼管接入電路中。這樣在處理輸入輸出接口時需要另行擴展足夠多的I/O接口供數碼管使用,比較麻煩。
方案三 前端信號處理時,選用放大、信號轉換等措施來增加信號采集強度但會增加相應的設計成本;顯示方面采用具有字符圖文顯示功能的LCD顯示器。這種方案不僅加強了人機交換的能力,而且滿足設計要求,可以顯示購物清單、所稱量的物體信息等相關內容,當需要增加擴展功能時可以通過切換液晶顯示界面的方式來實現。
結構簡圖如下圖3所示:
圖3帶有鍵盤輸入及液晶顯示的結構簡圖
鑒于上述三種方案的優缺點,本系統在設計時充分考慮到系統的實用性及成本的可行性的前提下,設計完成了最終的電子稱方案,最終的硬件設計方案圖如圖4所示,
圖3系統設計硬件框圖
2.2系統元器件選型及器件參數介紹
2.2.1單片機選型
單片機的選擇在整個系統設計中至關重要,要滿足大內存、高速率、通用性、價格便宜等要求,鑒于以上考慮本課題選擇ST89C52作為整個系統的主控芯片。
STM32是一個低功耗,高性能CMOS 32位單片機,片內的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,芯片內集成了通用32位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的STM32可為許多嵌入式控制應用系統提供高性價比的解決方案。
stm32f103zet6芯片:
最高72MHz工作頻率
–內嵌經出廠調教的8MHz的RC振蕩器
–串行單線調試(SWD)和JTAG接口
–多達8個定時器
–3個16位定時器,每個定時器有多達4個用于輸入捕獲/輸出比較/PWM或脈沖計數的通道和增量編碼器輸入
–2個看門狗定時器(獨立的和窗口型的):防止程序跑飛,單片機自動復位
–系統時間定時器:一種簡單的,24位寫清零、遞減、自裝載同時具有可靈活控制機制的計數器。
–2個I2C接口(支持SMBus/PMBus):一種簡單、雙向二線制同步串行總線
–3個USART接口(支持ISO7816接口,LIN,IrDA接口和調制解調控制):通用同步/異步串行接收/發送器USART是一個全雙工通用同步/異步串行收發模塊
–2個SPI接口(18M位/秒):總線系統是一種同步串行外設接口,它可以使MCU與各種外圍設備以串行方式進行通信以交換信息。
Stm32f103zet6硬件資源說明如下:
WIRELESS 模塊接口 這是開發板板載的無線模塊接口(U2)
W25Q128 128M FLASH
SD 卡接口
USB 串口/串口 1
JTAG/SWD 接口
24C02 EEPROM
USB 轉串口
啟動選擇端口
復位按鈕
STM32F103ZET6 這是開發板的核心芯片(U1),型號為:STM32F103ZET6。
該芯片具有 64KB SRAM、512KB FLASH、 2 個基本定時器、 4 個通用定時器、 2 個高級定時器、 2 個 DMA 控制器(共 12 個通道)、 3 個 SPI、2 個 IIC、5 個串口、1 個 USB、1 個 CAN、3 個 12 位 ADC、1 個 12 位 DAC、1 個 SDIO 接口、1 個 FSMC 接口以及 112 個通用 IO 口。
3.3V 電源輸入/輸出
5V 電源輸入/輸出
RS485 選擇接口 這是開發板板載的 RS485 選擇接口(P5), MAX3485 通過這個接口來決定是否連接到 STM32 的串口 2(USART2),當這里斷開的時候:串口 2 可以用來做普通串口使用,而 RS485 則可以用來實現 RS485 轉 TTL 的功能;當這里接上時:串口 2 連接 MAX3485,就可以實現 RS485 通信。
引出 IO 口(共 2 組) 這是開發板 IO 引出端口,總共有 2 組主 IO 引出口:P1 和 P2。它們采用 2*27 排針引出,總共引出 106 個 IO 口。而 STM32F103ZET6 總共只有 112 個 IO,除去 RTC 晶振占用的 2 個 IO ,還剩下 110 個,這 2 組排針,總共引出:106 個 IO,剩下的 4 個 IO 分別通過:P3 和 P5 引出。
LCD 接口 這是開發板板載的 LCD 模塊接口
RS485 接口 這是開發板板載的 RS485 總線接口(RS485),通過 2 個端口和外部 485 設備連接。這里提 醒大家,RS485 通信的時候,必須 A 接 A,B 接 B。否則可能通信不正常!另外,開發板自帶 了終端電阻(120Ω)。
CAN 接口 這是開發板板載的 CAN 總線接口(CAN),通過 2 個端口和外部 CAN 總線連接,即 CANH 和 CANL。這里提醒大家:CAN 通信的時候,必須 CANH 接 CANH,CANL 接 CANL,否則 可能通信不正常!
2.2.2傳感器選擇
壓電傳感器是一種典型的有源傳感器,又稱自發電式傳感器。其工作原理是基于某些材料受力后在其相應的特定表面產生電荷的壓電效應。
壓電傳感器體積小、重量輕、結構簡單、工作可靠,適用于動態力學量的測量,不適合測頻率太低的被測量,更不能測靜態量。目前多用于加速度和動態力或壓力的測量。壓電器件的弱點:高內阻、小功率。功率小,輸出的能量微弱,電纜的分布電容及噪聲干擾影響輸出特性,這對外接電路要求很高。
電阻應變式傳感器是一種利用電阻應變效應,將各種力學量轉換為電信號的結構型傳感器。電阻應變片式電阻應變式傳感器的核心元件,其工作原理是基于材料的電阻應變效應,電阻應變片即可單獨作為傳感器使用,又能作為敏感元件結合彈性元件構成力學量傳感器。
導體的電阻隨著機械變形而發生變化的現象叫做電阻應變效應。電阻應變片把機械應變信號轉換為△R/R后,由于應變量及相應電阻變化一般都很微小,難以直接精確測量,且不便處理。因此,要采用轉換電路把應變片的△R/R變化轉換成電壓或電流變化。其轉換電路常用測量電橋。
直流電橋的特點是信號不會受各元件和導線的分布電感及電容的影響,抗干擾能力強,但因機械應變的輸出信號小,要求用高增益和高穩定性的放大器放大。
圖5為一直流供電的平衡電阻電橋,接直流電源E:
圖5 傳感器內部連接圖
當電橋輸出端接無窮大負載電阻時,可視輸出端為開路,此時直流電橋稱為電壓橋,即只有電壓輸出。
當忽略電源的內阻時,由分壓原理有:
= (2.1)
當滿足條件R1R3=R2R4時,
(2.2)
=0,即電橋平衡。式(2.2)稱平衡條件。
應變片測量電橋在測量前使電橋平衡,從而使測量時電橋輸出電壓只與應變片感受的應變所引起的電阻變化有關。
若差動工作,即R1=R-△R,R2=R+△R,R3=R-△R,R4=R+△R,按式(2.1),則電橋輸出為
(2.3)
應變片式傳感器有如下特點:
(1)應用和測量范圍廣,應變片可制成各種機械量傳感器。
(2)分辨力和靈敏度高,精度較高。
(3)結構輕小,對試件影響小, 對復雜環境適應性強,可在高溫、高壓、強磁場等特殊環境中使用,頻率響應好。
(4)商品化,使用方便,便于實現遠距離、自動化測量。
通過對壓力傳感器與電阻應變式傳感器比較分析,最終選擇了第二種方案。題目要求稱重范圍0~5Kg,滿量程量誤差不大于0.005Kg,考慮到秤臺自重、振動和沖擊分量,還要避免超重損壞傳感器,所以傳感器量程必須大于額定稱重5Kg。我們選擇的是電阻應變片壓力傳感器,量程為5Kg,精度為0.01% ,滿足本系統的精度要求。
2.2.3 顯示器選擇
方案一 數碼管顯示
數碼管是一種半導體發光器件,其基本單元是發光二極管。數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發光二極管單元(多一個小數點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數碼管;按發光二極管單元連接方式分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極管的陽極接到一起形成公共陽極(COM)的數碼管。共陽數碼管在應用時應將公共極COM接到+5V,當某一字段發光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陰數碼管是指將所有發光二極管的陰極接到一起形成公共陰極(COM)的數碼管。共陰數碼管在應用時應將公共極COM接到地線GND上,當某一字段發光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮。
數碼管顯示信息有限,當顯示信息較多時需要多個數碼管級聯方可,這樣會造成硬件連接復雜,成本增加;數碼管對大部分字符不能很好的顯示,動態掃描時處理不好易出現閃爍現象。
方案二 LCD字符液晶顯示
采用點陣字符型 LCD 液晶顯示,液晶顯示模塊具有體積小、功耗低、顯示內容豐富等特點,現在字符型液晶顯示模塊已經是單片機應用設計中最常用的信息顯示器件,但采用LCD液晶顯示會造成設計成本增加。
LCD1602可以顯示2行 16 個字符,有 8 位數據總線 D0-D7,和 RS、R/W、 EN 三個控制端口,工作電壓為 5V,并且帶有字符對比度調節和背光。
具體引腳說明如表圖6所示。
圖6 LCD1602字符液晶引腳定義
LCD1602 液晶模塊內部的字符發生存儲器(CGROM)已經存儲了 160 個不同 的點陣字符圖形,如表 1 所示,這些字符有:阿拉伯數字、英文字母的大小寫、 常用的符號、和日文假名等,每一個字符都有一個固定的代碼,它的讀寫操作、 屏幕和光標的操作都是通過指令編程來實現的。
最后綜合了多方面因素的考慮采用了方案二,選擇 LCD1602 顯示器作為系統的顯示界面。
2.2.4 AD轉換芯片選擇
HX711是一款專為高精度電子秤而設計的24位A/D轉換器芯片。與同類型其它芯片相比,該芯片集成了包括穩壓電源、片內時鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應速度快、抗干擾性強等優點。降低了電子秤的整機成本,提高了整機的性能和可靠性。該芯片與后端MCU 芯片的接口和編程非常簡單,所有控制信號由管腳驅動,無需對芯片內部的寄存器編程。輸入選擇開關可任意選取通道A 或通道B,與其內部的低噪聲可編程放大器相連。通道A 的可編程增益為128 或64,對應的滿額度差分輸入信號幅值分別為±20mV或±40mV。通道B 則為固定的64 增益,用于系統參數檢測。芯片內提供的穩壓電源可以直接向外部傳感器和芯片內的A/D 轉換器提供電源,系統板上無需另外的模擬電源。芯片內的時鐘振蕩器不需要任何外接器件。上電自動復位功能簡化了開機的初始化過程。芯片管腳圖如圖7所示。
圖7 HX711管腳定義
HX711典型應用電路如圖8所示。
圖8 HX711典型應用電路
3系統硬件電路設計
3.1系統電源電路設計
由于該系統中 32 單片機及 AD 轉換芯片及液晶顯示器所需供電電壓均為 5V 電壓,所以要保證系統穩定可靠的工作,需要設計一個可以穩定提供 5V 電壓的供電系統。本設計采用USB供電方式,USB 接口供電方便程序調試,電源輸接口加上LED 電源指示燈,用來判定電源是否正常工作。該系統電源電路設計如圖 11 所示。
3.3單片機控制電路設計
系統主控電路由STM32單片機及晶振電路和復位電路組成,該電路作為整個系統功能實現的核心單元。
晶振全稱為晶體振蕩器,其作用在于產生原始的時鐘頻率,這個頻率經過頻率發生器的放大或縮小后就成了電腦中各種不同的總線頻率。晶振一般叫做晶體諧振器,是一種機電器件,是用電損耗很小的石英晶體經精密切割磨削并鍍上電極焊上引線做成。這種晶體有一個很重要的特性,如果給它通電,它就會產生機械振蕩,反之,如果給它機械力,它又會產生電,這種特性叫機電效應。他們有一個很重要的特點,其振蕩頻率與他們的形狀,材料,切割方向等密切相關。由于石英晶體化學性能非常穩定,熱膨脹系數非常小,其振蕩頻率也非常穩定,由于控制幾何尺寸可以做到很精密,因此,其諧振頻率也很準確。根據石英晶體的機電效應,我們可以把它等效為一個電磁振蕩回路,即諧振回路。他們的機電效應是機-電-機-電..的不斷轉換,由電感和電容組成的諧振回路是電場-磁場的不斷轉換。在電路中的應用實際上是把它當作一個高Q值的電磁諧振回路。由于石英晶體的損耗非常小,即Q值非常高,做振蕩器用時,可以產生非常穩定的振蕩,作濾波器用,可以獲得非常穩定和陡削的帶通或帶阻曲線。
復位電路是用來讓單片機返回到初始狀態的輔助電路,其作用是當單片機程序跑飛或系統出現死機狀態時可以讓系統從新恢復工作。本系統復位電路的設計為上電復位復位方式。按鍵復位就沒有太大必要使用看,所以沒有設計按鍵復位。
3.4系統顯示電路設計
顯示部分采用LCD1602液晶顯示模塊,液晶板上排列著若干 5×7或 5×10點陣的字符顯示位,每個顯示位可顯示1個字符,從規格上分為每行 8、16、20、24、32、40位,有一行、兩行及四行三類。其與單片機的連接電路如圖15所示
圖15系統狀態顯示電路圖
1腳和2腳為液晶1602地和電源引腳,3腳為背光調節引腳,通過10K電位器接地,背光可通過電位器來調節亮度;4腳、5腳、6腳為液晶片選控制引腳,7~14腳為數據接口,與單片機相連實現數據的傳輸,15、16、腳為液晶的背光控制腳,分別接到電源和地。
3.5超重報警提示電路設計
報警指示電路用來在稱重測量超出最高值時報警提示,以免重量太高的情況下損壞傳感器。報警指示電路由PNP三極管9S8550驅動蜂鳴器來實現,單片機IO口控制三極管的基極,當單片機的IO口輸出為低電平時,三極管導通,蜂鳴器的正極與電源接通,蜂鳴器通電發出報警聲,當單片機IO口輸出高電平時,三極管截止,蜂鳴器停止報警。報警指示電路如圖16所示。
圖16報警指示電路
3.6按鍵輸入電路設計
按鍵輸入電路用來在電子稱測量過程中輸入單價值,按鍵輸入電路采用4*4矩陣鍵盤實現,矩陣鍵盤電路如圖17所示。
圖17按鍵輸入電路
電子稱按鍵功能分配如下表所示:
此電子秤是開機檢測托盤重量,并將托盤重量清零(即電子秤每次開機后檢測托盤重量,并程序中自動將托盤重量保存在一個變量中,稱量過程中每次都將獲得的重量減去托盤重量,而得到所要稱量物體的真正的重量),
計算功能:在正確輸入了單價之后,按下計算按鍵,將會計算出金額,并在液晶顯示器上顯示出重量、單價、總價。
4 系統軟件設計
Keil5 是美國Keil Software 公司出品的stm32系列兼容單片機C 語言軟件開發系統,和匯編相比,C 在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。
Keil 軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows 界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到keil 5 生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。
Keil 5 可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用IDE 本身或其它編輯器編輯C 或匯編源文件,然后分別有stm32編輯器編譯連接生成單片機可執行的二進制文件(.HEX),然后通過單片機的燒寫軟件將HEX 文件燒入單片機內。軟件主要三個方面:一是初始化系統;二是按鍵檢測;三是數據采集、數據處理并進行顯示。這三個方面的操作分別在主程序中來進行。程序采用模塊化的結構,這樣程序結構清楚,易編程和易讀性好,也便于調試和修改。
4.1系統主程序軟件流程圖
系統軟件部分主程序流程圖如圖20所示。
圖20 系統主程序流程圖
4.2系統顯示部分流程圖
顯示子程序主要是來判斷是否需要顯示,以及如何去顯示,也是十分重要的程序之一。設計流程圖如圖21所示。
圖21 系統顯示部分流程圖
4.3系統按鍵檢測部分流程圖
鍵盤電路設計成4X4矩陣式,在程序中可以先判斷按鍵編碼,然后根據編碼將鍵盤代表的數值送到相應的存儲單元,再進行功能選擇或數據處理。設計流程圖如圖22所示。
圖22 按鍵檢測部分流程圖
5 系統整體調試
5.1硬件電路調試中遇到的問題
1、電子電路的設計中對各種影響因素的考慮不夠完全,比如在對過電壓情況的處理中未作防范措施。
2、系統設計不夠優化,有待改善。比如系統的超量程信號直接由單片機送入報警電路,沒有設計保護電路再入單片機處理后送入報警電路。
3、沒有擴展更多電路,如溫度顯示功能,通訊接口電路與上位機(PC機)進行通訊,上位機顯示功能從而將大量的商品數據存于上位機,然后通過串口或并口通訊與電子稱相連,達到遠距離控制的目的。
4、對各種實用芯片價格了解不夠,選擇上任有欠缺,如所選的稱重傳感器價格較貴。
這些都為我今后的學習和工作留下了積極的影響。
圖23 效果圖
5.2系統設計總結
在此課程設計過程中,鞏固了我在課堂內學過的知識,尤其是單片機和C語言編程方面的知識,同時通過這次畢設提高了單片機編程的能力,尤其是獲得的軟件調試經驗,同時了解到了其它相關領域的知識,對今后的工作學習有著極大的幫助。
由于時間太倉促,經驗不足,理論方面也相應的存在不足,加上條件有限,仍存在著一些設計方面的問題,個人技能也有待提高。理論知識還要鞏固加強。但是寶貴的實踐經驗還是對自己的提高有著極大的幫助。
6 仿真結果
-
傳感器
+關注
關注
2552文章
51359瀏覽量
755651 -
單片機
+關注
關注
6041文章
44616瀏覽量
637396 -
計算機
+關注
關注
19文章
7530瀏覽量
88417 -
STM32
+關注
關注
2270文章
10921瀏覽量
356989 -
電子秤
+關注
關注
23文章
214瀏覽量
44402
發布評論請先 登錄
相關推薦
評論