《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 電子秤非線性自動修正方法

電子秤非線性自動修正方法

2009-04-16
作者:段 紅

  摘 要: 對電子計價秤系統(tǒng)的誤差進行分析,采用Z8單片機技術,用線性插值方法,總結出一種方便、準確、有效的非線性修正方法。
  關鍵詞: 電子秤 單片機 EEPROM 自動修正方法


  傳統(tǒng)的電子計價秤多采用MCS-51系列單片機,體積大成本高,加之調校辦法多采用微調開關,這種方法操作繁瑣,附加硬件多,特別在重力加速度差別比較大的地方,還要進行重力加速度的修正,給生產制造帶來很大不便。本文以高性價比的單片機Z86E08為核心,通過與EEPROM接口進行數據交換,用內碼自動標定來修正誤差,提高了測量精度,降低了成本,簡化了調校過程。
1 電子秤系統(tǒng)的組成
  電子秤系統(tǒng)由七部分組成(如圖1)。Z86E08單片機為18只引腳的8位OTP(ONE-TIME-PROGRAMMABLE)型單片機,是系統(tǒng)的核心部分。傳感器,放大器和A/D轉換電路組成了系統(tǒng)的重力測量電路。稱重傳感器為應變式傳感器,經過前置放大器OP07把輸入信號放大,又經雙積分A/D轉換電路進入單片機進行數據處理。標定數據交換電路采用ATMEL公司的串行EEPROM24C01,其特點是基于I2C總線,數據一旦寫入可長年保存,標定數據保存在其中。鍵盤輸入電路由74HC138與二個輸入口組成16個鍵盤,液晶顯示驅動電路選用NEC公司UPD7225集成電路,可驅動16位8段液晶顯示。


2 系統(tǒng)靜態(tài)誤差分析
  測量系統(tǒng)按其誤差性質分為系統(tǒng)誤差和隨機誤差。隨機誤差是服從大數統(tǒng)計規(guī)律的誤差。測量的精確度由系統(tǒng)誤差來表征。在這里只對系統(tǒng)誤差進行討論。由以上分析可知與測量精度有關的電子秤測量系統(tǒng)組成如圖2所示,由四個串聯環(huán)節(jié)組成。設:δ1為傳感器的相對誤差,δ2為放大器相對誤差,δ3為A/D轉換電路的相對誤差,δ4為單片機數據處理相對誤差,則系統(tǒng)總的相對誤差δ=δ1+δ2+δ3+δ4。對于理想系統(tǒng)δ=0,即δ1+δ2+δ3+δ4=0。由此可見只要調整δ4的相對誤差,使δ4=-(δ1+δ2+δ3)就可以消除系統(tǒng)的誤差,也就是說可以通過單片機軟件處理進行修正系統(tǒng)的相對誤差。


3 非線性誤差修正方法
3.1 線性插值法

  電子秤測量系統(tǒng)中,傳感器,放大器,A/D轉換電路總是存在非線性誤差。通過硬件很難達到要求,一般要通過軟件來實現。如圖3所示,被測量為X,顯示輸出數值為Y,用線性插值法可以實現實際曲線與理論曲線的擬合。線性插值的方法如下,把0到滿量程Xmax平均分為n段(n的大小由系統(tǒng)測量的精度不同而定),每段ΔX=Xman/n,相對于輸出0到Yman也同樣分為n段,每段為ΔY=Ymax/n。此時
  X1=ΔX,X2=2ΔX,X3=3ΔX,…Xn=nΔX。
  Y1=ΔY,Y2=2ΔY,Y3=3ΔY,…Yn=nΔY。


  圖中Y1,Y2,Y3,…Yn為理論輸出值,Y1’,Y2’,Y3’…Yn’為相對于理論輸出值的實際測量值。
  由此可以得出每段的修正值:
  
  這樣一來就可以得出修正后任一點的值
  Y=Yn-1+a2(Yn’-Yn-1’);(Yn-1’<Y’<Yn’)
  其中,Y為修正以后的測量值,Yn-1為對應于Xn-1點處的理論值,且Yx-1=(n-1)ΔY,Y’為任一點的實際測量值。這樣一來就實現了分段線性插值,可以根據不同的精度要求選取n的大小。
3.2 自動修正方法的實現
  根據以上分析可以看出用線性插值法結合單片機技術可以實現自動修正。方法如下:
  a)根據精度及測量范圍要求,平均分為n段,則每段的值為ΔY=Yman/n,每段分界點的理論數值為Y1=ΔY,Y2=2ΔY,…Yn=nΔY。
  b)測量每段分界點的數值Y1’,Y2’,Y3’,…Yn’。
  c)計算每段修正值
  
  d)保存修正值a1,a2,…an及相對應的每段分界點的數值Y1’,Y2’,…Yn’。以上四個步驟通過單片機軟件很容易實現。保存的數據可以通過外接的EEPROM加以保存,在掉電的情況下數據不會丟失。只需修正一次就可以進行工作。在測試過程中利用公式:Y=Yn-1+an (Y’-Yn-1’);Yn-1’<Y’<Yn’
  式中,Yn-1,an,Yn-1’在修正過程中為已知數,Y’為當前測量數值,通過比較判斷數值所在的區(qū)段,可以得到修正后的測量數值。在測量計算中,只用到比較判斷和加減乘除的運算,這在單片機中通過軟件能非常容易實現。值得注意的是n取值越大,修正的精度越高,但單片機的運算量增加,運算時間就越長。
4 實例
  電子計價秤的測量范圍為0~15Kg,分度值為e=5g,按三級標準滿量程誤差小于3.05g即12.25g,如表1所示,從測量的結果可以看出滿量程絕對誤差為30g,必須進行修正。取n=4,得出各分界點的數值Y1,Y2,Y3,Y4及各段的修正值a1,a2,a3,a4。把各點的修正值及數值保存在EEPROM中,通過軟件來實現。在測試階段,讀出EEPROM中的數據,利用公式就可以得出修正后的示值。
  對于電子稱重系統(tǒng)來說,系統(tǒng)是對物體的質量進行測量,而測量的方法是通過重力來進行的,由于重力加速度隨地區(qū)的不同對測量精度產生影響。如北京和杭州重力加速度分別為9.8015,9.7936。由于重力加速度不同產生的相對誤差為:
  
  對于15Kg的重力絕對誤差為2.099g,這在高精度測量中是不允許的。用自動修正的方法可在不知道當地重力加速度的情況下在當地用砝碼進行修正,因為自動修正方法是綜合性的調校,把外部環(huán)境與內部因素條件一起進行修正。
參考文獻
1 嚴鐘豪.非電量電測技術.北京:機械工業(yè)出版社,1996:14~15
2 施漢謙.電子秤技術.北京:中國計量出版社,1991:225~259
3 Discrete Z8 Microcontroller Databook Zilog,Inc,1995:1~43

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。