稱重傳感器的原理及應用_第1頁
稱重傳感器的原理及應用_第2頁
稱重傳感器的原理及應用_第3頁
稱重傳感器的原理及應用_第4頁
稱重傳感器的原理及應用_第5頁
已閱讀5頁,還剩69頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、稱重傳感器的原理及應用隨著技術的進步,由稱重傳感器制作的電子衡器已廣泛地應用到各行各業,實現了對物料的快速、準確的稱量,特別是隨著微處理機的出現,工業生產過程自動化程度化的不斷提高,稱重傳感器已成為過程控制中的一種必需的裝置,從以前不能稱重的大型罐、料斗等重量計測以及吊車秤、汽車秤等計測控制,到混合分配多種原料的配料系統、生產工藝中的自動檢測和粉粒體進料量控制等,都應用了稱重傳感器,目前,稱重傳感器幾乎運用到了所有的稱重領域。1高速定量分裝系統本系統由微機控制稱重傳感器的稱重和比較,并輸出控制信號,執行定值稱量,控制外部給料系統的運轉,實行自動稱量和快速分裝的任務。系統采用MCS-51單片機和

2、V/F電壓頻率變換器等電子器件,其硬件電路框圖如圖1所示,用8031作為中央處理器,BCD拔碼盤作為定值設定輸入器,物料裝在料斗里,其重量使傳感器彈性體發生變形,輸出與重量成正比的電信號,傳感器輸出信號經放大器放大后,輸入V/F轉換器進行A/D轉換,轉換成的頻率信號直接送入8031微處理器中,其數字量由微機進行處理。微機一方面把物重的瞬時數字量送入顯示電路,顯示出瞬時物重,另一方面則進行稱重比較,開啟和關閉加料口、放料于箱中等一系列的稱重定值控制。 圖1 原理框圖在整個定值分裝控制系統中,稱重傳感器是影響電子秤測量精度的關鍵部件,選用GYL-3應變式稱重測力傳感器。四片電阻應變片構成全橋橋路,

3、在所加橋壓U不變的情況下,傳感器輸出信號與作用在傳感器上的重力和供橋橋壓成正比,而且,供橋橋壓U的變化直接影響電子稱的測量精度,所以要求橋壓很穩定。毫伏級的傳感器輸出經放大后,變成了0-10V的電壓信號輸出,送入V/F變換器進行A/D轉換,其輸出端輸出的頻率信號加到單片機8031定時器1的計數、輸入端T1上。在微機內部由定時器0作計數定時,定時器0的定時時間由要求的A/D轉換分辯率設定。定時器1的計數值反映了測量電壓大小即物料的重量。在顯示的同時,計算機還根據設定值與測量值進行定值判斷。測量值與給定值進行比較,取差值提供PID運算,當重量不足,則繼續送料和顯示測量值。一旦重量相等或大于給定值,

4、控制接口輸出控制信號,控制外部給料設備停止送料,顯示測量終值,然后發出回答令,表示該袋裝料結束,可進行下袋的裝料稱重。圖2所示為自動稱重和裝料裝置。每個裝料的箱子或袋子沿傳送帶運動,直到裝有料的電子稱下面,傳送帶停止運動,電磁線圈2通電,電子稱料斗翻轉,使料全部倒入箱子或袋子中,當料倒完,傳送帶馬達再次通電,將裝滿料的箱子或袋子移出,并保護傳送帶繼續運行,直到下一次空袋或空箱切斷光電傳感器的光源,與此同時,電子稱料箱復位,電磁線圈1通電,漏斗給電子秤自動加料,重量由微機控制,當電子秤中的料與給定值相等時,電磁線圈1斷電,彈簧力使漏斗門關上。裝料系統開始下一個裝料的循環。當漏斗中的料和傳送帶上的

5、箱子足夠多時,這個過程可以持續不斷地進行下去。必要時,*作人員可以隨時停止傳送帶,通過拔碼盤輸入不同的給定值,然后再啟動,即可改變箱或袋中的重量。圖2 自動稱重和裝料裝置本系統選用不同的傳感器,改變稱重范圍,則可以用到水泥、食糖、面粉加工等行業的自動包裝中。2傳感器在商用電子秤中的應用目前,商用電子計價秤的使用非常普及,逐漸會取代傳統的桿稱和機械案秤。電子計價秤在秤臺結構上有一個顯著的特點:一個相當大的秤臺,只在中間裝置一個專門設計的傳感器來承擔物料的全部重圖3 計價秤內部結構示意圖量,如圖3所示。常用的電子計價秤傳感器的結構如圖4所示,其中圖4(a)為雙連橢圓孔彈性體,秤盤用懸臂梁端部上平面

6、的兩個螺孔緊固;圖4(b)為梅花型四連孔彈性體,秤盤用懸臂梁端部側面的三個螺孔堅固,中間支桿上粘貼補償用的應變片。這兩種形式的傳感器,在計價秤中用得最多。圖4(c)為三梁式彎曲彈性體,采樣彎曲應力,對重量反應敏感,宜用來制作小稱量計價秤。圖4(d)為三梁式剪切彈性體,采樣中間敏感梁的剪切應力,宜用來制作幾百公斤稱量范圍計價秤。圖4 計價秤用彈性體結構用這些復梁型高精度傳感器來支承一個大的稱重平臺,被稱重物又可能放置在任何稱臺的任意位置上,必然會產生四角示值誤差,對圖4(a),(b)兩種結構形式的傳感器,可通過銼磨的形式進行角差修正。對圖4(c),(d),它有上下兩根局部削弱的柔性輔助梁,使傳感

7、器對側向力、橫向力和扭轉力矩具有很強的抵抗能力,可以通過銼磨輔助梁的柔性部位來調整傳感器的靈敏系數和四角誤差。圖5為一種商用電子計價秤的電路框圖。傳感器采用的是圖4(b)所示的梅花型四連孔結構,該秤具有置零、自動清除單價、零位自動跟蹤、自動去皮、次數累計和金額累計、打印輸出等功能,7段綠色熒光數碼管顯示,使用十分方便。圖5 電子計價秤的電路框圖圖6是采用CHBL3型號S型雙連孔彈性體稱重傳感器制作的便攜式家用電子手提秤的原理圖,由稱重傳感器、放大電路、A/D轉換和液晶顯示四部分組成。圖中,E為9V的疊層電池,R1-R4是稱重傳感器的4個電阻應變片,R5、R6與W1組成零點調整電路。當載荷為零時

8、,調節RW1使液晶顯示屏顯示為零。A1,A2為雙運放集成電路LM358中的兩個單元電路,組成了一個對稱的同相放大器,A/D轉換器采用ICL7106雙積分型A/D轉換器,液晶顯示采用3 1/2液晶顯示片。該電子秤精度高,簡單實用,攜帶方便。稱重傳感器是一種高精度的傳感器,必須按規定的規格使用。若不按規定的規格使用,不僅不能發揮稱重的作用,而且容易損壞,尤其是絕對不準超過負荷安全值使用。圖6 手提秤的電路框圖對于因溫度變化對橋接零點和輸出,靈敏度的影響,即使采用同一批應變片,也會因應變片之間稍有溫度特性之差而引起誤差,所以對要求精度較高的傳感器,必須進行溫度補償,解決的方法是在被粘貼的基片上采用適

9、當溫度系數的自動補償片,并從外部對它加以適當的補償。非線性誤差是傳感器特性中最重要的一點。產生非線性誤差的原因很多,一般來說主要是由結構設計決定,通過線性補償,也可得到改善。滯后和蠕變是關于應變片及粘合劑的誤差。由于粘合劑為高分子材料,其特性隨溫度變化較大,所以稱重傳感器必須在規定的溫度范圍內使用。在露天下使用傳感器,還應考慮陽光直射產生的溫度影響和風壓的影響。AD7705在電子秤中的應用作者:屈新芬摘 要:本文結合AD7705在電子秤稱重系統中的應用,詳細介紹了AD7705在51系列單片機系統應用中的硬件設計和軟件編程;重點介紹了軟件設計中應主要關注的4個方面;詳細給出了主程序流程圖及程序,

10、實現讀、寫模式下通信的一種方法的流程圖及程序。 關鍵詞:精度、時序、中斷、AD轉換、有效分辨率、濾波Abstract:Incorporating with the application of AD7705 in the electronic balances,this article introduces the hardware and software design of the AD7705 applied in the 51 series SCM system. Four aspects of software design are highlighted. The main and

11、 the communication flowcharts and programs are given .Keywords:precision、Timing、Interrupt、AD conversion、Peak-to-peak resolution、filter 1 引言國家三級秤標準要求:稱重數據與重物的絕對精度小于1/10001/5000,因此,經AD轉換后輸出數據的有效位應在13位以上。AD公司推出的由緩沖器和增益可編程放大器(PGA)、調節器、可編程數字濾波器等組成的16位AD7705/06能直接將傳感器檢測到的微小信號進行A/D轉換,其具有高分辨率、寬動態范圍、自校準、優良的抗

12、噪聲性能以及低電壓低功耗等特點,適合于稱重系統中下微機信號處理的需要。設計中,我們確定AD7705的相應參數取:輸出數據更新速率:50Hz;系統增益:64;有效分辨率:15位。2 硬件設計要滿足前面確定的AD7705參數,設計中AD7705的主時鐘取:fCLK =2.4576MHz。AD7705的串行數據接口包括5個:片選輸入口 ,串行施密特邏輯輸入時鐘SCLK,數據輸入口DIN,轉換數據輸出口DOUT,指示數據準備就緒的狀態信號輸出口 。其中當 為低電平時,轉換數據可讀取;否則不可讀取。設計中 可由AT89C51選中實現,也可接地;本設計中將 接地。SCLK有兩種基本的接線方式:SCLK接A

13、T89C51的P2口中未用的管腳(比如接P2.2),數據輸入、輸出端DIN、DOUT一同接P2口中未用的另一管腳(比如:P2.3)。在該種連接方式下,只能用手工編程模擬AD7705的通信時序以實現對AD7705的操作。SCLK接AT89C51的同步脈沖輸出端TXD,AD7705的數據輸入、輸出端DIN、DOUT一同接AT89C51的串行數據輸入、輸出端RXD。在該種連接方式下,對AD7705的數據的讀取可按51系列單片機串行口的工作方式0完成,也可按中的讀寫方式完成。本設計中按中介紹的方式接線。可接普通P1、P2口中未用的管腳,通過程序查詢該管腳是否為低電平,從而實現對AD7705中寄存器數據

14、的讀取。也可接AT89C51的外部中斷1或中斷0管腳,通過中斷方式或中斷查詢方式實現對AD7705中寄存器數據的讀取。本設計中接外部中斷1管腳。圖1 稱重傳感器信號處理電路圖AD7705在稱重系統中的連接方式見圖1。當在此傳感器上施加滿標度重量5噸重物時,傳感器在5V工作電壓下取得30 mV的滿標度輸出電壓。5V工作電壓經分壓后為AD7705提供基準電壓,因此工作電壓的變化不會產生系統誤差。分壓電阻為24k和15k,產生的基準電壓為1.92V。當器件的可編程增益為64時,對應的滿標度輸入電壓即為 30 mV。3 軟件設計軟件設計需主要考慮以下四個方面:AT89C51的初始化:硬件設計中如果用到

15、中斷,則需對單片機的中斷系統進行初始化;軟件設計中如果用到串口,則需對單片機的串口進行初始化。AD7705與51系列單片機的數據交換順序:在讀寫操作模式下,51系列單片機的數據要求LSB在前,而AD7705希望MSB在前,所以對AD7705寄存器進行配置之前必須將命令字重新排列方可寫入,同樣要將從AD7705數據寄存器中讀取到緩沖器后的數據進行重新排列方可使用。對AD7705寄存器進行操作的時序:AD7705通訊必須嚴格按圖2、圖3時序操作。對AD7705進行通信的子程序流程見圖4、圖5。當然,還可以考慮用串行口通信方式0的工作方式來實現。AD7705的初始化和配置:AD7705的配置與設計的

16、硬件緊密相關,只有在正確配置的情況下硬件才能正常工作。同時,對AD7705內每一個寄存器的配置都必須從寫通信寄存器開始,通過寫通信寄存器完成通道的選擇和設置下一次操作的寄存器的選擇。圖6所示為此稱重傳感器數據采集主流程圖。其程序清單見附錄。圖2 讀周期時序圖 圖3 寫周期時序圖4 結束語AD7705以其本身的低價格、高精度、可編程增益、自校準、小信號的轉換不需附加另外的器件而使得其在數據檢測領域具有很大的應用前景。其在電子秤中的應用也是顯而易見的。我們應用AD7705設計的電子信號處理線路,其性能指標達到預期的效果。參考文獻1.Analog Devices.Preliminary techni

17、calInformation,AD7705/062.胡志高,AD7705/06及其應用,電子產品世界,2000.10附錄:程序清單ORG 0000HAJMP MAINORG 0013HAJMP ADINTORG 0030HMAIN: ;對AT89C51初始化MOV IP,#04H;定義INT1為優先級MOV TCON,#00H ;INT1采用低電平圖4 寫周期時序流程圖圖5讀周期時序流程圖;觸發MOV IE,#84H;允許外部中斷1;對AD7705進行初始化MOV SCON,#00000000B;禁用SCONMOV A,#20HACALL WRITEMOV SCON,#00000000BMOV

18、 A,#05HACALL WRITEMOV SCON,#00000000BMOV A,#010HACALL WRITEMOV SCON,#00000000BMOV A,#70HACALL WRITE MOV SCON,#00000000BA2: JNB 00H,A2 ;等待INT1中斷MOV A,#38HACALL WRITERDATADPROCESSAJMP A2 圖6 主程序流程圖WRITE:NOPMOV R0,#08HACALL NU1RETNU1: RLC AJNC NU2CLR 0B1HSETB 0B0HSETB 0B1HSJMP NU3NU2: CLR 0B1HCLR 0B0HSE

19、TB 0B1HNU3: DEC R0DJNZ R0,NU1RETRDATA:MOV R2,#02HMOV R3,#08HMOV R4,#20HCLR CMOV A,#00HRD1: CLR 0B1HMOV C,0B0HSETB 0B1HRLC ADJNZ R3,RD1MOV R4,AINC R4DJNZ R2,RD1RETDPROCESS:RETADINT:SETB 00HRETIEND 作者簡介:屈新芬(1971-),四川鄰水人,碩士,工程師,現從事引信方面的工作。如何用24位-模數轉換器CS1240設計電子秤   CS1240是一款中國本土開發的精密模數轉換(ADC)芯

20、片,分辨率為24位,有效精度高達21位,可以廣泛應用于工業過程控制、電子秤、氣體/液體檢測儀和血液計等各種應用。本文描述了該芯片的主要特點,并以普通和高精度電子秤為例,討論了CS1240的典型應用電路。 芯海科技有限公司自主研發的CS1240是一款24位高精度、低功耗-模數轉換芯片,其分辨率為24位,有效精度高達21位,可以在2.7V-5.5V電源電壓條件下工作。 CS1240具有8個模擬輸入端、8個數字輸入輸出通道, 可以選擇輸入通道模擬緩沖器或者直接將信號輸入模數轉換器,模擬緩沖器可以有效提高芯片的輸入阻抗。芯片提供內部測試電流(2微安),可以檢測輸入端開路或短路情況。

21、集成的8位數模轉換器(DAC)可以通過寄存器控制來調節輸入信號的偏置電壓,有效擴大輸入信號的范圍,最大可以調整滿幅度(FS)的50%。 圖1:CS1240芯片功能結構圖。  CS1240/1241帶有片內1128倍可編程增益放大器(PGA),在128倍時,有效分辨率可達19位。調制器是一個二階-調制器,芯片的FIR濾波器提供50Hz和60Hz陷波濾波,有效提高芯片的抗干擾性能。 CS1240/1241提供兼容串行外圍接口(SPI)的串行接口總線,并且可以通過配置使用多達8個數字I/O,只需要少量的外圍元件就可以構成多種多樣的應用電路。CS1240的功能結

22、構圖如圖1所示。 典型應用電路 電子秤是目前常用的計量儀器,廣泛應用在人們的日常生活中,圖2示出了電子秤的基本原理圖。由于CS1240豐富的功能,并且帶有SPI接口可以方便的與MCU進行通訊,因此只需極少量的外圍元件就可以構成多種應用方案,特別適合應用在電子秤中。例如,由于片內自帶PGA,因此就可以不需要外部的放大電路,這樣可減小系統的噪聲,降低成本。芯片帶有自糾正電路和系統糾正電路,可以糾正芯片及系統的增益誤差和失調誤差,進一步提高了精度。CS1240的參考電壓輸入可以直接用電源電壓,這樣就不需要額外的參考源,可以簡化電路設計、降低成本。 圖2:電子秤系統的基本

23、組成。  1普通電子秤設計方案 圖3是采用CS1240實現的普通電子秤電路原理圖。傳感器出來的信號經過外部的無源濾波器濾波后,送入到CS1240中。濾波器包括兩個部分:第一部分是由電感和電容組成的EMI濾波器,用來減小外部環境對于電路的影響;第二部分是由電阻和電容組成的RC濾波器,用來限制輸入信號的帶寬,降低輸入信號的噪聲。 由于CS1240內部自帶有PGA電路,所以圖2中所示的放大部分在本電路中不需要。PGA的增益一般設置為64或者128。參考電壓輸入可以直接接在電源和地上,因此不需要額外的參考電壓。為了減小參考源的噪聲,需要在參考源的輸入端加入10uF的濾波電

24、容,這個電容越靠近芯片越好。在電路正常工作以前,可以通過自糾正和系統糾正來糾正芯片和系統的增益誤差以及失調誤差來提高整個系統的精度。 圖3:普通電子秤電路電氣原理圖。  CS1240通過SPI接口與MCU進行通訊。SPI接口為標準的四線SPI接口,包括片選信號CS、串行時鐘SCLK、串行輸入SDI和串行輸出SDO。通過SPI接口,可以讀寫CS1240內的各個控制寄存器和數據寄存器。可以看出,整個電路只需極少量的外圍元件(主要是一些起濾波作用的電容、電感以及電阻等無源器件),實現起來非常簡單。在設計電路時需要注意的是,因為CS1240是數模混合芯片,為了防止數字部分的噪聲對模

25、擬電路造成影響,最好使用單獨的數字電源和模擬電源,在電容的輸入端要加入旁路電容來減少電源噪聲對于電路的影響。在制作PCB板時,數字地和模擬地要分開,最后通過單點接觸連接起來。2高精度電子秤設計方案一般說來,傳感器輸出的電壓值都非常小,基本上都是毫伏級甚至微伏級。在設計高精度電子秤時,需要外部放大電路來獲得足夠的增益。圖4給出了高精度電子秤的電路原理圖。與圖3顯示的方案相比,這個電路主要是增加了由兩個運算放大器(簡稱運放)及電阻RG和RF組成的放大電路。這個放大電路的增益為: 圖4:高精度電子秤電氣原理圖。 通過調節RG和RF的值,就可以獲得所需要的增益,配合CS1240提供的最大128倍增益,

26、可以將輸入信號放大到所需要的幅度。選擇運放時要注意,由于輸入信號的幅度很小,因此對運放的噪聲性能和失調電壓要求非常高,應選擇低噪聲、低失調的運算放大器。本文小結目前,電子秤正朝著小型化、高精度、智能化方向發展。CS1240采用外形為10.2×5.3mm的SSOP28腳封裝,尺寸很小,所需的外圍器件也很少,滿足了電子秤小型化的需求;它還提供了24位無失碼,21位有效精度的高性能,滿足了電子秤高精度的需求;其內置各種控制寄存器和數據寄存器,并且可以通過SPI接口方便地控制和讀取這些寄存器,滿足了電子秤智能化的需求。因此CS1240是電子秤中模數轉換器的理想選擇。作者:萬巍,深圳市芯海科技

27、有限公司山東省電子設計大賽 ( 2004 年)  參賽學校: 山東大學 指導教師: 萬 鵬 姚福安 設計者: 劉永勝 杜 輝 楊媛媛 2004 年 9 月 13 號  摘 要 本系統采用單片機 AT89S52 為控制核心,實現電子秤的基本控制功能。系統的硬件部分包括最小系統板,數據采集、人機交互界面三大部分。最小系統部分主要是擴展了外部數據存儲器,數據采集部分由壓力傳感器、信號的前級處理和 A/D 轉換部分組成。人機界面部分為鍵盤輸入 , 128 64 點陣式液晶顯示,可以直觀的顯示中文,使用方便。 軟件部分應用單片機 C 語言實現了本設計的全部控制功能,包括基本的稱重功能

28、,和發揮部分的顯示購物清單的功能,可以設置日期和重新設定 10 種商品的單價,具有超重報警功能,由于系統資源豐富,還可以方便的擴展其應用 第一部分: 方案論證與比較 一、控制器部分 本系統基于 51系列單片機來實現,因為系統需要大量的控制液晶顯示和鍵盤。不宜采用大規模可編程邏輯器件:CPLD、FPGA來實現。(因為大規模可編程邏輯器件一般是使用狀態機方式來實現,即所解決的問題都是規則的有限狀態轉換問題。本系統狀態較多,難度較大。)另外系統沒有其它高標準的要求,我們最終選擇了AT89S52通用的比較普通單片機來實現系統設計。內部帶有8KB的程序存儲器,在外面擴展了32K數據存儲器,以滿足系統要求

29、。 二、數據采集部分 ( 1 )、傳感器 題目要求稱重范圍 9.999Kg ,重量誤差不大于 Kg ,考慮到秤臺自重、振動和沖擊分量,還要避免超重損壞傳感器,所以傳感器量程必須大于額定稱重 。我們選擇的是 L-PSIII 型傳感器,量程 20Kg ,精度為 ,滿量程時誤差 0.002Kg 。可以滿足本系統的精度要求。其原理如下圖所示: 稱重傳感器主要由彈性體、電阻應變片電纜線等組成,內部線路采用惠更斯電橋,當彈性體承受載荷產生變形時,輸出信號電壓可由下式給出: ( 2 )、前級放大器部分 壓力傳感器輸出的電壓信號為毫伏級,所以對運算放大器要求很高。 我們考慮可以采用以下幾種方案可以采用: 方案

30、 一 、利用普通低溫漂運算放大器構成多級放大器。 普通低溫漂運算放大器構成多級放大器會引入大量噪聲。由于 A/D 轉換器需要很高的精度,所以幾毫伏的干擾信號就會直接影響最后的測量精度。所以,此中方案不宜采用。 方案二、由高精度低漂移運算放大器構成差動放大器。 差動放大器具有高輸入阻抗,增益高的特點,可以利用普通運放 ( 如 OP07) 做成一個差動放大器。 電阻 R1 、 R2 電容 C1 、 C2 、 C3 、 C4 用于濾除前級的噪聲, C1 、 C2 為普通小電容,可以濾除高頻干擾, C3 、 C4 為大的電解電容,主要用于濾除低頻噪聲。 優點:輸入級加入射隨放大器,增大了輸入阻抗,中間

31、級為差動放大電路,滑動變阻器 R6 可以調節輸出零點,最后一級可以用于微調放大倍數,使輸出滿足滿量程要求。輸出級為反向放大器,所以輸出電阻不是很大,比較符合應用要求。 缺點:此電路要求 R3 、 R4 相等,誤差將會影響輸出精度,難度較大。實際測量,每一級運放都會引入較大噪聲。對精度影響較大。 方案 三 :采用專用儀表放大器,如: INA126,INA121等。 此類芯片內部采用差動輸入,共模抑制比高,差模輸入阻抗大,增益高,精度也非常好,且外部接口簡單。 以 INA126為例,接口如下圖所示: 放大器增益 ,通過改變 的大小來改變放大器的增益。 基于以上分析,我們決定采用制作方便而且精度很好

32、的專用儀表放大器 INA126 。 ( 3 )、 A/D 轉換器 由上面對傳感器量程和精度的分析可知: A/D 轉換器誤差應在 以下 12 位 A/D 精度: 10Kg/4096=2.44g 14 位 A/D 精度: 10Kg/16384=0.61g 考慮到其他部分所帶來的干擾 ,12 位 A/D 無法滿足系統精度要求。 所以我們需要選擇 14位或者精度更高的A/D。 方案一、逐次逼近型 A/D轉換器,如:ADS7805、ADS7804等。 逐次逼近型 A/D轉換,一般具有采樣/保持功能。采樣頻率高, 功耗比較低,是理想的高速、高精度、省電型 A/D 轉換器件。 高精度逐次逼近型 A/D轉換器

33、一般都帶有內部基準源和內部時鐘,基于89C52構成的系統設計時僅需要外接幾個電阻、電容。 但考慮到所轉換的信號為一慢變信號,逐次逼近型 A/D轉換器的快速的優點不能很好的發揮,且根據系統的要求,14位AD足以滿足精度要求,太高的精度就反而浪費了系統資源。所以此方案并不是理想的選擇。 方案二、雙積分型 A/D轉換器:如:ICL7135、ICL7109等。 雙積分型 A/D轉換器精度高,但速度較慢(如:ICL7135),具有精確的差分輸入,輸入阻抗高(大于 ),可自動調零,超量程信號,全部輸出于TTL電平兼容。 雙積分型 A/D轉換器具有很強的抗干擾能力。對正負對稱的工頻干擾信號積分為零,所以對5

34、0HZ的工頻干擾抑制能力較強,對高于工頻干擾(例如噪聲電壓)已有良好的濾波作用。只要干擾電壓的平均值為零,對輸出就不產生影響。尤其對本系統,緩慢變化的壓力信號,很容易受到工頻信號的影響。故而采用雙積分型A/D轉換器可大大降低對濾波電路的要求。 作為電子秤,系統對 AD的轉換速度要求并不高,精度上14位的AD足以滿足要求。另外雙積分型A/D轉換器較強的抗干擾能力,和精確的差分輸入,低廉的價格。綜合的分析其優點和缺點,我們最終選擇了ICL7135。 三、人機交互界面 ( 1 )、鍵盤輸入 鍵盤輸入是人機交互界面中最重要的組成部分,它是系統接受用戶指令的直接途徑。 我們采用了專用的鍵盤顯示芯片 ZL

35、G 7289。 Intel8279 是一種比較成熟的可編程鍵盤 / 顯示芯片,可以滿足小系統的要求。 ZLG7289 是周立功單片機公司設計的串行輸入輸出可編程鍵盤 / 顯示芯片有強大的鍵盤顯示功能,支持 64 鍵控制。可以比較方便的擴展系統。另外 ZLG7289 內部有譯碼電路,大大簡化了程序。 我們選擇功能更好的 ZLG7289 作為鍵盤掃描顯示芯片 ( 2 )、顯示輸出 雖然 ZLG7289 具有控制數碼管顯示的功能,但考慮到本題目要求中文顯示,數碼管無法滿足,只能考慮用帶有中文字庫的液晶顯示器。由于可以分頁顯示,無需太大屏幕,我們選擇了點陣式 128 × 64 型 LCD O

36、CM4X8C 。第二部分:具體實現方案 一、硬件組成: (一)、硬件結構框圖如下: ( 二)、各部分硬件電路實現 (1)、基于AT89S52的主控電路圖 主控電路以 89C52為核心擴展32K RAM;單片機使用6M晶振,P0口外接上拉電阻,增大了帶負載能力;A12A15接74LS138譯碼器,輸出作外部片選信號。 擴展了幾個接口用于其它部分于單片機的通信 ( 2)前端信號處理 INA126構成的放大器及濾波電路: 通過調節 的阻值來改變放大倍數。微弱信號Vi1和Vi2被分別放大后從INA126的第6腳輸出。A/D轉換器ICL7135的輸入電壓變化范圍是-2V+2V,傳感器的輸出電壓信號在02

37、0mv左右,因此放大器的放大倍數在200300左右,可將 接成 的滑動變阻器。 由于 ICL7135對高頻干擾不敏感,所以濾波電路主要針對工頻及其低次諧波引入的干擾。因為壓力信號變化十分緩慢,所以濾波電路可以把頻率做得很低。 ( 3)A/D轉換器 基于 ICL7135的A/D轉換器實現電路: 基準源選用芯片 MC1403 2.5V分壓得到: 由于 ICL7135內部沒有振蕩器,所以需要外接。但A/D轉換器精度與時鐘頻率的漂移無關。正向積分時間T1和反向積分時間T2按相同比例增加并不影響測量的結果。ICL7135的時鐘頻率典型值為200kHz最高允許為1200kHz,時鐘頻率越高,轉換速度越快。

38、每輸出一位BCD碼的時間為200個時鐘周期,選通脈沖位于數據脈沖的中部,如果時鐘頻率太高,則數據的接受程序還沒有接受完畢,數據就已經消失了。考慮到此系統頻率要求不是太高,且單片機的工作頻率也不是很高,因此我們取時鐘頻率的典型值:200kHz。由于頻率比較低,對時鐘漂移要求不高,我們采用阻容方式實現了基本的振蕩電路。如下: 振蕩頻率約為 160kHz。 此外 ICL7135外部還需要外接積分電阻、積分電容,但A/D轉換器精度與外接的積分電阻、積分電容的精度無關,故可以降低對元件質量的要求。不過積分電容和積分電容的介質損耗會影響到A/D轉換器的精度,所以應采用介質損耗較小的聚丙乙烯電容 ICL71

39、35還需要外接基準電源,這是因為芯片內部的基準源一般容易受到溫度的影響,而基準電源的變化會直接影響轉換精度。所以當精度要求較高時,應采用外接基準源。一般接其典型值1V。 (4) 、人機交互界面 (a) 、鍵盤接口圖: 鍵盤控制芯片 ZLG7289 控制鍵盤的掃描,當監測到有鍵按下后 ZLG7289 的 9 腳便產生一個低電平通知單片機,單片機可以采用查詢或者中斷方式將數據通過 P1.5 以串行方式讀入。因為查詢方式會浪費大量的時間 , 所以本系統采用的是中斷方式。 (b) 、 LCD 顯示接口電路 . LCD 復位信號通過反相器接到單片機的 RESET 上,上電或手動復位時將隨單片機同時復位。

40、由于復位后并行口輸出高電平, LCD 處于選中狀態,此時 LCD 將輸出內部狀態字,將會影響數據總線上的數據傳輸。所以外接一個反相器。 二、軟件組成: (一)、流程圖  主程序流程如圖所示: 中斷服務程序流程圖如下:  ( 2)、軟件說明 由于涉及到大量數據的運算,程序不宜采用匯編語言, C語言大大縮短了開發時間,且程序可讀性非常好。 程序中對 AD采入的數據進行了數字濾波,進一步減小AD讀入數據的誤差。 7289鍵盤控制采用中斷方式,加快了程序的執行效率。 詳細的操作過程見使用說明。第三部分:測試及結果分析   測試結果及誤差分析: 砝碼重量( g ) 實際顯示

41、重量 1 ( g ) 實際顯示重量 2 ( g ) 實際顯示重量 3 ( g ) 100 99 99 98 150 148 147 149 200 195 197 198 250 244 246 244 300 295 296 294 350 342 344 343 400 393 395 396 450 443 443 444 500 493 494 495 550 552 551 553 600 590 593 594 650 641 641 642 700 689 692 693 750 740 740 741 800 790 791 790 850 839 840 842 900 88

42、7 888 888 950 938 938 938 1000 986 987 987 注:由于傳感器和其他器件本身并非理想線性,程序中對實測數據進行了線性補償。 誤差分析:經校準,非線性補償后,誤差已基本達到要求。 所用測量儀器:總重 1Kg的砝碼,萬用表,示波器 第四部分:使用操作說明 本系統采用 32鍵鍵盤來實現,分為數字鍵:0-9,商品1-商品10,6個控制鍵。 本系統開機顯示公司名稱,后提示輸入收銀員編號和當前日期。正確輸入后,進入稱重顯示。 數字鍵和小數點鍵:用于輸入單價; 累加鍵:相當于確認,可以將當然信息保存至購物清單;并且將金額累加,得到所購買商品的總金額。 去皮鍵:用于去除皮

43、重; 清單價:用于輸入的單價錯誤的時候,重新輸入; 購物清單鍵:當需要顯示當前顧客的總的購物清單時,可以連續按下購物清單鍵,分頁顯示所購買的商品信息,并且若以達到最后一頁,則顯示總計金額,收銀員編號,和公司名稱,當然日期。 運行中如果顧客購買已存入的 10種商品,只需按下相應的商品鍵,既可以將商品的名稱和單價以中文的形式顯示,同樣累加鍵保存此商品的信息,包括其重量,金額和當前累計金額。 另外,已存入的 10種商品的單價均可重新設置,直接輸入其單價即可,方便實用。如果所稱重物超過了系統最大量程10Kg,則蜂明器發出報警聲音。 第五部分:附錄 電子秤的信號采集、處理、顯示的程序 . #includ

44、e <reg52.h> #include<absacc.h> /ad 控制線 #define ad_244 XBYTE0xbfff; sbit ad_stb=P33; sbit ad_start=P11; /lcd 控制線 sbit lcd_di=P17; sbit lcd_rw=P12; sbit lcd_e=P10; /7289 控制線 sbit cs7289=P13; sbit clk7289=P14; sbit dio7289=P15; /sbit key7289=P16; /7289 查詢方式 sbit key7289=P32; /7289 中斷方式 sbit

45、 baoj=P35; /7289 子程序 void ini_7289(void); void send7289(short); short receive(void); void keyin(void); /lcd 子程序 void ini_lcd(void); void lcdd_send(short); void lcdi_send(short); void chk_busy(void); /ad 子程序 void ad(void); void baojing(void); void d_change(long); / 初始化,編號,日期 void ini(); void error1(v

46、oid); void nop1() void change(s) int dealy; / 全局變量 short sh=0; / 商品號 short dot=0; / 小數點標志 bit list=0; short qb=0; char xdata shuju7="" short xdata bcd5; char xdata s116=" 單價 : 元 " char xdata s216=" 重量 : Kg" char xdata s316=" 金額 : 元 " char xdata s416=" 累計

47、: 元 " char code message0=" 信息學院 山東大學 " char code message1=" 輸入收銀員代號 :" char code message2=" 輸入日期 :" char code message316=" - 山東大學 - " char code message516=" 垃圾公司歡迎您 !" char xdata bianhao16=" 收銀員: " char xdata riqi16=" - - " l

48、ong int xdata zongjia=0,jine=0,jine1=0; int xdata shizhong=0,pizhong=0,zhongliang=0; long int xdata qingdan204; char code shangpin114=" 單價 "," 蘋果 "," 梨 "," 花生 "," 大米 ", " 桃子 "," 塑料 "," 瓜子 "," 桔子 "," 香蕉 &qu

49、ot;," 玉米 " long int xdata danjia11= 0,2000,3635,5502,6660,3320,5502,660,3210,6600,5600; char xdata jiage6=0x0,0x0,0x0,0xfe,0x0,0x0; / 0.00 short xdata xiuzheng=0,2,5,6,7,8,9,12,13; char s16; s6=shuju0; s7=shuju1; s8=shuju2; s9=shuju3; s10=shuju4; s11=shuju5; s12=shuju6; /* void main() shor

50、t i,j; long int x,z; int y; int xdata duilie3=0; P1=0xff; ini_lcd(); / 初始化 LCD lcdi_send(0x8a); while(message0i) lcdd_send(message0i+); ini_7289(); / 初始化 7289 pizhong=ad1(); lcdi_send(0x1); / 總清 屏 ini(); / 初始頁面 , 收銀員編號,日期 lcdi_send(0x1); / 總清 屏 EA=1;EX0=1; / 中斷 /EX1=1; /ad_start=1; while(1) if(list)

51、lcdi_send(0x80); / 顯示單位名稱 for(i=0;i<16;i+) lcdd_send(message3i); x=qingdan00; / 商品名 單價 for(i=0;i<4;i+) s1i=shangpinxi; x=qingdan01; d_change(x); change(s1); lcdi_send(0x90); for(i=0;i<16;i+) lcdd_send(s1i); x=qingdan02; / 顯示重量 d_change(x); change(s2); s210=s29;s29='.' if(s28=32) s28

52、=0x30; lcdi_send(0x88); for(i=0;i<16;i+) lcdd_send(s2i); x=qingdan03; d_change(x); change(s3); lcdi_send(0x98); for(i=0;i<16;i+) lcdd_send(s3i); / 以上為第一頁 EA=0;EX0=0; / 關鍵盤中斷 for(j=1;j<qb;j+) while(key7289); x=qingdanj2; d_change(x); change(s2); / 顯示數據 s210=s29; s29='.' if(s28=32) s2

53、8=0x30; lcdi_send(0x90); for(i=0;i<16;i+) lcdd_send(s2i); x=qingdanj1; d_change(x); change(s1); x=qingdanj0; for(i=0;i<4;i+) s1i=shangpinxi; lcdi_send(0x80); for(i=0;i<16;i+) lcdd_send(s1i); x=qingdanj3; d_change(x); change(s3); lcdi_send(0x88); for(i=0;i<16;i+) lcdd_send(s3i); lcdi_send

54、(0x98); for(i=0;i<16;i+) lcdd_send(0x20); lcdi_send(0x98); while(key7289=0); while(key7289); d_change(zongjia); change(s4); lcdi_send(0x80); for(i=0;i<16;i+) lcdd_send(s4i); lcdi_send(0x90); for(i=0;i<16;i+) lcdd_send(bianhaoi); lcdi_send(0x88); for(i=0;i<16;i+) lcdd_send(message5i); lcd

55、i_send(0x98); for(i=0;i<16;i+) lcdd_send(riqii); list=0; while(key7289=0); while(key7289=1); while(key7289=0); EA=1;EX0=1; else y=0; /* duilie2=duilie1; / 數字濾波 duilie1=duilie0; y=ad1(); duilie0=y>>1; x=duilie0; x=x<<1; x=x+duilie1+duilie2; */ zhongliang=ad1(); shizhong=zhongliang-pizhong; / 數據轉換 x=danjiash; jine1=shizhong*x; jine=jine1/1000; d_change(shizhong); change(s2); / 顯示數據 s210=s29; s29='.' if(s28=32) s28=0x30; lcdi_send(0x90); for(i=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論