重慶郵電大學移通學院 譚麗蕊
重慶力華自動化技術有限責任公司 董加付
在大多摩托車數字儀表中燃油表是在LCD上分段顯示油量。例如小于13歐姆是滿油,顯示六格,大于75歐姆是燃油報警,顯示1格。燃油傳感器大多是電阻信號輸入到儀表中,儀表電路通過電阻分壓輸入到單片機,進行A/D轉換,通過運算LCD顯示出對應的油位格數。當摩托車行駛中,燃油面難免會隨著整車顛簸傾斜而忽高忽低,這樣就導致燃油傳感器輸出的電阻在不停上下變化。這就需要一個良好的遲滯比較器軟件算法來抑制干擾。為了更好地闡述遲滯比較器的軟件算法,先介紹遲滯比較器的硬件原理。

圖1 遲滯比較器基本電路及電壓傳輸特性
遲滯比較器基本電路及電壓傳輸特性如圖1所示。在單門限比較器的基礎上,本電路增加了正反饋電阻RF,其門限電壓EM為:

由上述公式可知,當輸出電壓為UOH時,門限電壓變為EMH,當輸出電壓為UOL時,門限電壓變為EML,不難看出,當輸出狀態一旦轉換后,只要在跳變電壓值附近的干擾不超過ΔE,輸出電壓的值就是穩定的。
遲滯比較器的軟件算法與硬件電路原理如出一轍,且能夠在程序中根據需要自由設置EMH和EML的值,使其更具靈活性。
在本儀表項目中,燃油表電路處理見圖2,燃油傳感器的阻值范圍是8~98Ω,其阻值區間在LCD上顯示的格數對應見表1:

圖2 燃油表電路

表1 燃油傳感器阻值與LCD格數對應表
為了抑制在閾值12、21、31、51、74Ω等處出現的電阻瞬間變化對顯示結果造成的干擾,采用以下的思路處理:當油位下降、電阻增大變化時,取閾值(以下稱A組閾值):11、20、30、50、73Ω。當油位上升,電阻減小變化時,取閾值(以下稱B組閾值):13、22、32、52、75Ω。
那么在軟件中定義閾值變量 Oil_Div[5]、閾值常量Oil_Div1_Const[5](對應B組閾值)、Oil_Div2_Const[5](對應A組閾值);

核心代碼如下:(Oin是經過軟件濾波處理好的10位AD值;OilAd.Oil是計算出來的油位格數)

由上述代碼可知,當Oin<=Oil_Div[0],LCD顯示6格時,門限電壓變為Oil_Div1_Const[0](相當于EMH);當Oin>Oil_Div[0],LCD顯示5格時,門限電壓變為Oil_Div2_Const[0](相當于EML),不難看出,當輸出狀態一旦轉換后,只要在跳變門限值附近的干擾不超過Oil_Div1_Const[i]與Oil_Div2_Const[i]的差值,輸出狀態就是穩定的。
上述算法與遲滯比較器硬件電路功能相同,實現抑制油位液面波動的干擾。遲滯比較器的軟件算法優勢在于極大的簡化了電路的設計,并能獲得較其它算法更好的抗干擾效果,具有很大的應用價值。
[1]高錦秀,翟俊祥,周曉華,等.遲滯比較器在蓄電池備用電源中的應用[J].半導體技術,2001,26(6):25-26.
[2]劉曉巍,張紅南.一種自適應遲滯性比較器的設計[J].現代電子技術,2006(4):6-8.
[3]張明述.運算放大器做電壓比較器的實驗探討[J].實驗室研究與探索,2005,24(2):39-41.