基于PIC18F65K90的低功耗數字壓力表設計
基于保證數字壓力表工作狀態穩定性的同時要提高精度的目的,另外基于進一步降低功耗的目的,在設計壓 力表時,除了有常規的工作模式,還采用了 PIC18F65K90單片機的休眠模式增加一種低功耗模式方法,這是大部分數 字壓力表不具備的。主要是從硬件電路檢測和軟件語言調試兩個方面進行,洋細介紹了各個選取到的硬件器件的優 點,并且通過對軟件算法的描述介紹了數字壓力表各個功能的實現。通過與標準壓力表對比獲取數據的實驗,測試最 終的精度以及功耗,最終結果能夠達到設計目標。
在很多民用、工業或科研領域,如汽車胎壓檢測、高度測 量、天氣預報、家電等場合都有可能要進行壓力檢測,所以對 壓力傳感器的研究與應用也就越來越受重視。隨著壓力 測量的應用越來越廣泛,對壓力測量儀器的要求也越來越 高數字壓力表是工業、交通運輸、航空及其它許多領域和 部門廣泛應用的一種檢測儀表。為了給生產和科研提供質 量保證,要確保壓力表精度、可靠性等性能。
由此可見,數字壓力表運用范圍越來越廣泛了。此次基 于PIC18F65K90的低功耗數字壓力表設計除了保證工作的 穩定性和精確性外,最大特點在于添加了一種低功耗模式,大大增強了使用壽命,解決電池供電時間短的問題。
1總體設計
設計旨在設計一款高精度低功耗的數字壓力表,要在兩 節1.5 V的干電池供電時長時間工作,因此高精度和低功耗 是設計的重點和難點,必須從總體設計時就加以考慮。設計 的壓力表量程是0?1.000 MPA,精度是0.2%,所以對于壓力 校驗設備、壓力容器配套、自動化產線檢驗等更加適用,在測 量范圍之內,且準確度更加合適。設計總體框圖如圖1所示。
外圍電路主要包括由MCU模塊、壓力傳感器模塊、液晶顯示 模塊、電源數據采集和按鍵電路等。
壓力傳感器模塊采用的是NKP191型壓力傳感器,與目 前市場上大多數數字壓力表所使用的陶瓷壓阻式傳感器和 陶瓷電容壓力傳感器不同,它是擴散硅壓阻式傳感器。擴散 硅壓阻式傳感器要比陶瓷壓阻式傳感器內阻小,且穩定性和 精度更佳,與陶瓷電容壓力傳感器相比,其價格要相對表較 便宜,安裝更加簡便。總體來說NKP191型壓力傳感器各方 面比較平衡,而且由于設計的量程大于5 000 kPA,所以 NKP19是最佳選擇。
設計的壓力表另外一個優點是在液晶顯示模塊,LCD液 晶是由單片機直接驅動的,這樣可以去除LCD驅動芯片簡化 外圍電路,最重要的是PIC18F65K90可以在睡眠模式下驅動 液晶,這樣能夠大大降低數字壓力表的功耗,以達到最初的 設計目的。
設計包括硬件設計和軟件設計,下面依次進行介紹。
2.硬件組成
2.1 MCU模塊
PIC 18F65K90是一款在保持極具競爭力的價格的同時,將PIC18單片機固有的優點(即出色的計算性能和豐富的功 能)與通用片上LCD驅動器相結合的單片機。其工作電壓范 圍在1.8 V到5.5 V之間,所以采用兩節1.5 V的干電池供電 工作,且待機時間長。1024字節的數據EEPROM足夠保存所 需數據,且具有16路通道的12位A/D轉換器。
2.2壓力傳感器模塊
壓力傳感器模塊是用來把壓力信號轉換為電信號的,此次 的NKP191型壓力傳感器采用壓阻式原理,量程是0~3 500kPA, 精度為0.26%,它是輸出一個與壓力成線性正比變化的電壓信 號,而溫度補償和零點滿量程校正保證了傳感器的精度和穩定 性。此次的NKP191型壓力傳感器結構堅固,穩定性好,可測量 與不銹鋼材料兼容的各種介質,廣泛應用于現場儀表、液位測 量、制冷壓縮設備等場合。
2.3放大電路模塊
放大電路模塊主要是把傳感器的小信號進行放大,然后 輸送給單片機處理。放大電路選用的芯片是MCP6022,它是 —個運放芯片,低噪聲,穩定性比較好,而且電源電壓符合設 計要求。
PIC18F65K90的A/D轉換器能將一個模擬輸入信號轉 換成相應的12位有符號數字信號。如圖2是放大電路的電 路圖,U2是MCP6022放大器,J2是壓力傳感器,放大器和壓 力傳感器是有PIC18F65K90單片機的RC7腳供電的,同時 RC7腳還是壓力數據采集時A/D模塊的外部參考電壓。傳感 器的2腳正極輸出和4腳負極輸出經過放大器放大后,由放 大器MCP6022的1腳傳送給單片機的RA1腳,RA1腳被設 置為模擬通道,用來采集模擬壓力電信號。考慮到功耗問題, 單片機的RC7腳供電和A/D轉換器的開啟都是有時間限 制的。
2.4液晶顯示模塊
液晶模塊主要是要顯示當前的壓力值、單位、電量等主 要信息的,比起數碼管,液晶的是彩色顯示、顯示信息量、無 閃爍大且對人體無危害,它的驅動電壓低、功耗微小、可靠性 更高、生產過程自動化、成本低廉,同時還可以制成各種規格 和類型的液晶顯示器。
PIC18F65K90的LCD驅動模塊最多具有4個公共端和 32個段的面板,SP 132個像素。雖然單片機可以直接為LCD 液晶背光供電,但是考慮到芯片在送電的時候燒壞,可能是供電電流過大造成芯片損壞,最終調整一級三極管放大電路
來驅動液晶背光。
3.軟件設計
在正常工作狀態,程序是按照如圖3所示流程執行的。
設計出的壓力表最主要的功能就是顯示當前測量的壓 力值,而這一功能的軟件主要是在數據采集和處理、LCD顯 示中實現的。每隔100 ms,相應的定時器中斷標志位便會使 得程序進入數據采集部分,首先把放大后的傳感器信號采集 到單片機內部,然后把處理后的數據信息再顯示到LCD上 面。下面一段代碼主要是對新采集到的數據處理過程:
if ((temp1 -10) < (tennum [10])&& (tennum [10] <(temp1 +
10))) //判斷新采集到數據變化是否在10以內
{
if(tennum[10]>temp1)
{
tennum[10]=temp1+1;//偏大的數據被原數據自加后取代 }
else
{
if(tennum[10]==temp1)
{
tennum[10]=temp1 ;
}
else
{
tennum[10]=temp1-1;//偏小的數據被原數據自減后取代 }
}
}
£or(x=0;x<10;x++)//對數據進行先進先出式的處理 tennum[x]=tennum[x+1 ];
£or(x=0;x<10;x++)//對最近采集到的10個數據進行求和 temp2=temp2+tennum[x];
Temp3=temp2/10;//取平均
在數據處理工程中,利用新采集到的數據與原數據進行 判斷后自加、自減或者不變,這是為了使得數據變化更加穩 定,提高精度。而對長度為10的數組先進先出式處理則是使 數據變化更加連續。
為了達到低功耗的標準,就必須要實現休眠模式與正常 模式切換的功能,所以壓力表在長期沒有操作的狀態下會進 入如圖4所示的一種低功耗模式。單片機進入到休眠模式后 會在規定時間內被喚醒,而在休眠模式下其功耗會大大降 低,單片機被喚醒后會進工作狀態,工作完后會再次進入休 眠模式。這樣不僅不會影響單片機工作,還能延長電池的使 用壽命。
4.結果與分析
最后對設計的壓力表設計的精確性、穩定性等進行實 際測試,測試使用標準氣壓表與設計的壓力表進行了對比測 試,測試結果如下表1所示,P1是標準壓力表,P2基于PIC18F65K90設計的壓力表。
由表中數據可以看出,設計的壓力表線性是很穩定的與標準壓力表所測數據存在允許范圍內的細微誤差,且比 實際要小,分析產生誤差的主要原因為傳感器長時間通電 后的熱漂移造成的。只要單片機的AD響應足夠,采樣的數 據每次基本不會有誤差,而最終壓力表的測量精度可以達 到0.2%。除此之外,AD采用的電源參考源和傳感器運放電 源排版的距離會造成小范圍的電壓波動,使得測試數據的 微小誤差。
在功耗方面測量,以兩節1.5 V干電池作為電源,正常工 作模式下,背光開啟時電流為3.5 mA;在關閉背光情況下電 流2.5 mA;而在休眠模式下的低功耗工作模式下,電流是 0.006 mA。經過實驗計算,在2節5號干電池供電的情況下, 可正常連續工作時間2 500 h以上。
5.結束語
此次數字壓力表的設計緊扣高精度和低功耗,并分別從 硬件和軟件方面闡述了實現要求的方法,最后給出了實驗數 據顯示結果符合設計初的要求,具有廣泛的使用范圍和較高 的實用價值。
上一篇:提高指針式壓力表檢定效率方法研究
下一篇:水介質壓力表測試裝置的研制