基于單片機(jī)的無人機(jī)真空速測(cè)量系統(tǒng)設(shè)計(jì)
3.2 單片機(jī)處理電路
本設(shè)計(jì)的使用C8051F352單片機(jī)采用32管腳的LQFP封裝,是由美國(guó)Cygnal公司推出的具有高速度、高性能、高集成等特點(diǎn),并能與8051兼容的單片機(jī),除了具有標(biāo)準(zhǔn)8052的數(shù)字外設(shè)部件以外,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設(shè)及功能部件。
本系統(tǒng)設(shè)計(jì)中使用了C8051F352微控器中的AIN0和AIN1兩個(gè)模擬通道,分別用于靜壓和動(dòng)壓的模擬/數(shù)字轉(zhuǎn)換。單片機(jī)的AD將輸入的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),然后送入CPU進(jìn)行數(shù)據(jù)處理。
3.3 串口通信
解算后的真空速要通過串口發(fā)送至上位機(jī),在顯示界面顯示。真空速由單片機(jī)串口經(jīng)RS-232接口發(fā)送至上位機(jī),并使用MAX232芯片實(shí)現(xiàn)單片機(jī)電平轉(zhuǎn)換從而能與上位機(jī)進(jìn)行正常通信。單片機(jī)CPU采用異步串行輸出UART0,工作在方式1,中斷方式,定時(shí)器1設(shè)置為自動(dòng)重裝載方式產(chǎn)生115 200的波特率。
3.4 顯示界面
上位機(jī)通訊程序主要使用Visual C++編程,該顯示界面用于顯示大氣靜壓、動(dòng)壓和真空速值。程序界面如圖2所示。本文引用地址:http://m.butianyuan.cn/article/171556.htm
在上位機(jī)程序編寫時(shí),需要使用MSComm控件,通過設(shè)置控件的各個(gè)屬性來完成串口的參數(shù)設(shè)置以及數(shù)據(jù)的接收。真空速顯示界面所使用的MSComm控件屬性主要有以下幾個(gè):CommPort屬性(用于設(shè)置串口號(hào)),PortOpen屬性(用于打開或關(guān)閉串口),SetSettings屬性(用于設(shè)置或返回串口波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位參數(shù)),InBufferCount屬性(設(shè)置或返回接收緩沖區(qū)中等待計(jì)算機(jī)接收的字符數(shù)),Input屬性(從接收緩沖區(qū)中讀取數(shù)據(jù)并清空接收緩沖區(qū))。
4 真空速解算方法設(shè)計(jì)
4.1 線性插值原理
分段低次插值是函數(shù)插值方法的一種,將比較復(fù)雜的函數(shù)f(x)的插值區(qū)間[a,b]分成一系列子區(qū)間,在每一個(gè)子區(qū)間[xi,xi+1]上,用一個(gè)簡(jiǎn)單的函數(shù)來近似原函數(shù)。當(dāng)每個(gè)子區(qū)間采用的近似函數(shù)為一次函數(shù)時(shí),就成為常用的線性插值法。
子區(qū)間的線性插值公式為:
h即為插值步長(zhǎng)。在計(jì)算函數(shù)值時(shí),系統(tǒng)采集到x值,然后找到值所在的插值區(qū)間[xi,xi+h]及相應(yīng)函數(shù)值[yi,yi+h],便可根據(jù)插值公式計(jì)算出y值。
4.2 插值節(jié)點(diǎn)計(jì)算
由公式(1)看出真空速計(jì)算公式比較復(fù)雜,如果直接用單片機(jī)進(jìn)行計(jì)算,則會(huì)占用大量?jī)?nèi)存資源,從而降低計(jì)算速度。因此,在系統(tǒng)允許誤差范圍內(nèi),對(duì)原函數(shù)采用插值,將復(fù)雜函數(shù)用一個(gè)簡(jiǎn)單的函數(shù)來近似。由于真空速計(jì)算式有兩個(gè)變量,無法直接采用分段線性插值來解算,考慮到實(shí)際運(yùn)算的方便,使用公式(6)來計(jì)算真空速值。
則公式(6)中的真空速分為兩部分:一部分是只包含動(dòng)壓PD變量的指示空速Vi,另一部分是只含有靜壓PH變量的氣壓高度H的函數(shù)式H’,通過計(jì)算可得1≤H’≤1.289 9。
指示空速Vi和氣壓高度日的計(jì)算公式分別如公式(7)和公式(8)所示。
接地電阻相關(guān)文章:接地電阻測(cè)試方法
評(píng)論