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