基于單片機(jī)的氣壓式高度計(jì)設(shè)計(jì)
摘要:采用集成度高的壓阻式硅氣壓傳感器,運(yùn)用模塊化設(shè)計(jì)方法完成了基于C8051F353單片機(jī)的數(shù)字式氣壓高度計(jì)的設(shè)計(jì)。通過(guò)仿真軟件采用分段插值方法優(yōu)化提高測(cè)量精度,實(shí)現(xiàn)了數(shù)字式氣壓高度計(jì)的智能化。實(shí)驗(yàn)表明,本文設(shè)計(jì)的氣壓式高度計(jì)能夠顯著提高測(cè)量精度,非常適合對(duì)體積和功耗有要求的小型飛行器上使用,也可使用在地面儀表上,進(jìn)行大氣數(shù)據(jù)采集。
關(guān)鍵詞:氣壓傳感器;誤差補(bǔ)償;C8051F353;非線性校正
高度是載體到某一基準(zhǔn)水平面的垂直距離,是導(dǎo)航的一個(gè)重要依據(jù)。氣壓傳感器是氣壓式高度計(jì)的重要器件。傳統(tǒng)的氣壓傳感器信號(hào)調(diào)理電路校準(zhǔn)和補(bǔ)償電路復(fù)雜,穩(wěn)定性差,不能直接用于計(jì)算機(jī)數(shù)字化處理,也不便于在便攜式設(shè)備中集成。本氣壓式高度測(cè)量系統(tǒng)使用微型壓阻式傳感器,通過(guò)對(duì)靜壓的測(cè)量,經(jīng)過(guò)模/數(shù)變換后由單片機(jī)進(jìn)行數(shù)字濾波,函數(shù)解算出載體當(dāng)前的絕對(duì)高度,具有較高精度和抗干擾能力。
1 高度測(cè)量系統(tǒng)的設(shè)計(jì)
大氣壓力在數(shù)值上等于所在海拔高度往上直到大氣上界整個(gè)空氣柱的重量,因此理想情況下,大氣壓力與海拔高度具有一一對(duì)應(yīng)的關(guān)系。在海平面附近,海拔高度每升高100 m,氣壓下降大約0.7 kPa。由于空氣具有可壓縮性,大氣壓力與海拔高度具有非線性關(guān)系。
高度和氣壓之間的函數(shù)關(guān)系較為復(fù)雜。如果照搬氣壓公式來(lái)制作電路,電路將變得十分復(fù)雜,現(xiàn)實(shí)起來(lái)非常困難。因此,設(shè)計(jì)該高度計(jì)時(shí),可以將高度按區(qū)段劃分,分別進(jìn)行數(shù)據(jù)的解算。
1.1 氣壓高度計(jì)設(shè)計(jì)的理論基礎(chǔ)
氣壓與高程的關(guān)系模型:H=T0/L×(P/P0)∧(1/(N-1))(近似公式)。以標(biāo)準(zhǔn)海平面為基準(zhǔn):T0=288.15K;P0=101.325kPa;N=5.2558 8;L=-0.006 5℃/m,通過(guò)計(jì)算結(jié)果可見(jiàn)表1。從表中數(shù)據(jù)可以看出,傳感器的漂移等引起的誤差對(duì)高端和低端的影響是不同的。為提高測(cè)量精度,設(shè)計(jì)時(shí)要考慮這一點(diǎn)。根據(jù)氣壓公式可以得出0~6 000 m量程內(nèi)的壓力變化范圍在47.18~101.325 kPa。據(jù)此可確定硅壓阻式傳感器量程。為充分利用傳感器的精度,選擇硅壓阻式傳感器量程要盡量接近測(cè)量范圍。
1.2 高度計(jì)的硬件設(shè)計(jì)
硬件結(jié)構(gòu)由微型硅壓阻式傳感器、單片機(jī)、A/D轉(zhuǎn)換、精密參考電壓、顯示驅(qū)動(dòng)模塊、串口通信模塊、電源模塊等幾部分組成。元器件選取主要考慮設(shè)計(jì)精度和體積功耗,并留有一定的余量。
1.2.1 單片機(jī)
數(shù)據(jù)處理要求體積小功耗低,內(nèi)部帶有16位ADC和溫度傳感器。此處選用C8051F353型單片機(jī),是美國(guó)Silicon Labs公司最新推出的一款混合信號(hào)片上系統(tǒng)型單片機(jī)芯片,可以工作在-40~+85℃溫度范圍,28引腳LQFP封裝,帶有最大放大倍數(shù)128的可編程增益放大器(PGA)。非常適用于多路模擬數(shù)據(jù)采集系統(tǒng)。
1.2.2 壓阻式傳感器
氣壓傳感器在氣壓計(jì)中占據(jù)核心位置。設(shè)計(jì)時(shí)可根據(jù)測(cè)量精度、測(cè)量范圍、溫度補(bǔ)償、測(cè)量絕對(duì)氣壓值等幾個(gè)性能指標(biāo)來(lái)選取氣壓傳感器。選用傳感器量程要盡量與測(cè)量的范圍相符,以利于同樣的精度條件下減小誤差。傳感器選用體積較小的飛思卡爾公司的MPX2100D型絕壓傳感器,量程為100~0 kPa。線性度為±0.25%FS。滿量程輸出為40 mV(10 V供電)。它用單個(gè)由離子注入工藝形成并經(jīng)激光修整的X型電阻代替一般用4個(gè)電阻構(gòu)成的惠斯登電橋,避免了由4個(gè)電阻的不匹配而引起的誤差。
1.2.3 ADC芯片
根據(jù)量程和分辨率選擇A/D轉(zhuǎn)換器位數(shù)和精度。ADC芯片的位數(shù)N根據(jù)公式N≥log2(1+Umax/Umin)計(jì)算(式中:Umax為ADC芯片的滿度輸入電壓;Umin為ADC芯片最小能分辨出的電壓),為達(dá)到1 m以上的氣壓高度分辨率,A/D轉(zhuǎn)換器的位數(shù)要在15位以上。為簡(jiǎn)化電路,縮小體積,這里A/D轉(zhuǎn)換器采用C8051F353自帶的16位ADC0。參考電壓使用單片機(jī)內(nèi)部自帶的2.5 V基準(zhǔn)。通過(guò)將寄存器ADCOMD中的ADOEN位置“1”和將寄存器ADCOCF中的ADOVREF位清“0”來(lái)使能內(nèi)部電壓基準(zhǔn)。使用時(shí)應(yīng)在VREF和AGND之間接入0.1μF和4.7μF的旁路電容。
1.2.4 顯示通信電路
由于使用4個(gè)單個(gè)LED進(jìn)行顯示的連線比較復(fù)雜,同時(shí)單片機(jī)的端口驅(qū)動(dòng)能力也難以保證,此處選用專門(mén)的驅(qū)動(dòng)芯片。顯示驅(qū)動(dòng)選用可編程8位SPI串行LED接口的MAX7219。串口通信電路主要用來(lái)實(shí)現(xiàn)該系統(tǒng)與上位計(jì)算機(jī)的通信,利用C8051F353型單片機(jī)的UART串口總線通過(guò)SP3 232芯片的電平轉(zhuǎn)換與上位計(jì)算機(jī)進(jìn)行通信。工作于9 600 b/s,1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位,奇校驗(yàn)。
1.2.5 電源與抗干擾設(shè)計(jì)
使用了低壓差穩(wěn)壓器LM1117A分別為微處理器和為其余電路供電。采用了基準(zhǔn)電壓源MAX6350來(lái)穩(wěn)定對(duì)壓力傳感器的供電,以保證傳感器輸出的穩(wěn)定性。將基準(zhǔn)電壓分壓后作為C8051F353型單片機(jī)的電壓參考。PCB板設(shè)計(jì)時(shí)每個(gè)芯片有電源退耦電路。模擬數(shù)字分開(kāi)布線。為了避免傳感器產(chǎn)生的信號(hào)在進(jìn)入A/D采樣前發(fā)生失真并減少傳感器的功耗,在ADC的輸入端連接了濾波器,降低噪聲并作為緩沖器隔離前后級(jí),避免其他電路對(duì)ADC采樣的影響。儀器采用干電池供電不存在電源或電網(wǎng)干擾問(wèn)題。但現(xiàn)場(chǎng)使用不可避免地會(huì)受到自然放電干擾和其他電氣設(shè)備的放電干擾。為不增加過(guò)多的硬件屏蔽措施,設(shè)計(jì)采用軟件采用了采用了改進(jìn)的平均值濾波算法。
評(píng)論