馮澤霖
摘要:隨著自動(dòng)化技術(shù)的普及,無(wú)人機(jī)在軍事、攝影、高空作業(yè)等相關(guān)行業(yè)已經(jīng)成為必不可少的一部分,但是現(xiàn)有飛控仿真平臺(tái)收費(fèi)高昂且比較單一,不能對(duì)飛行姿態(tài)進(jìn)行仿真同時(shí)對(duì)專業(yè)水平要求較高,降低了用戶體驗(yàn)感。本設(shè)計(jì)通過(guò)LabVIEW軟件與單片機(jī)來(lái)對(duì)飛行姿態(tài)進(jìn)行讀取和分析。通過(guò)LabVIEW軟件進(jìn)行數(shù)據(jù)讀取,數(shù)據(jù)分析,數(shù)據(jù)仿真等一系列位功能實(shí)現(xiàn)對(duì)飛行姿態(tài)的精準(zhǔn)仿真本設(shè)計(jì)邏輯層次分明,投入成本低廉,同時(shí)具有人機(jī)交互性強(qiáng)、實(shí)時(shí)性好等優(yōu)點(diǎn)。
關(guān)鍵詞:LabVIEW;單片機(jī);數(shù)據(jù)處理
為了讀取飛行過(guò)程中的位姿數(shù)據(jù),筆者結(jié)合單片機(jī)開(kāi)發(fā)板,運(yùn)用六軸陀螺儀模塊和VISA串口等相關(guān)知識(shí),進(jìn)行對(duì)飛行姿態(tài)數(shù)據(jù)的實(shí)時(shí)采集與顯示,并在LabVIEW2018軟件上搭建信息采集的前面板與子程序,成功實(shí)現(xiàn)了對(duì)飛行姿態(tài)的讀取與仿真,經(jīng)過(guò)測(cè)試,仿真效果與實(shí)際符合良好,可滿足基本的飛行控制要求。
1軟硬件的設(shè)計(jì)思路
1.1 位姿數(shù)據(jù)采集模塊設(shè)計(jì)
利用MPU6050實(shí)現(xiàn)對(duì)飛行器俯仰角、航向角、翻滾角以及各個(gè)方向上角加速度的測(cè)量。陀螺儀可測(cè)范圍為±250,±500,±1000°/秒(dps),加速度計(jì)可測(cè)范圍為±2,±4,±8??筛鶕?jù)不同需求設(shè)定不同的精度。和其他設(shè)備寄存器之間的通信采用400kHz的I2C接口或1MHz的SPI接口(SPI僅MPU-6000可用)。對(duì)于需要高速傳輸?shù)膽?yīng)用,對(duì)寄存器的讀取和中斷可用20MHz的SPI。另外,片上還內(nèi)嵌了一個(gè)溫度傳感器和在工作環(huán)境下僅有±1%變動(dòng)的振蕩器。
1.2軟硬件通信設(shè)計(jì)
LabVIEW是由美國(guó)NI公司推出的一種圖形化的編程語(yǔ)言和開(kāi)發(fā)環(huán)境,它廣泛的被工業(yè)界,學(xué)術(shù)界和研究實(shí)驗(yàn)室所接受,被公認(rèn)為標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件,相較于C++或匯編語(yǔ)言而言由于其圖形化編程方式具有簡(jiǎn)單易學(xué),直觀方便,功能強(qiáng)大等特點(diǎn)。
運(yùn)用STM32F103芯片構(gòu)成的單片機(jī)對(duì)MPU6050進(jìn)行數(shù)據(jù)通信,將收集到的數(shù)據(jù)通過(guò)串口通信與PC建立連接。單片機(jī)和PC的通信,是通過(guò)單片機(jī)串口和PC串口之間的硬件連接實(shí)現(xiàn)的。在本設(shè)計(jì)中,上、下位機(jī)分工明確,作為下位機(jī)核心器件的單片機(jī)負(fù)責(zé)數(shù)據(jù)的采集和通信,而上位機(jī)主要負(fù)責(zé)將單片機(jī)傳遞過(guò)來(lái)的數(shù)據(jù)進(jìn)行分析以及處理,在本設(shè)計(jì)中表現(xiàn)為對(duì)飛行姿態(tài)的仿真。為便于數(shù)據(jù)分析以及處理,還需要數(shù)據(jù)庫(kù)的支持,這種應(yīng)用的核心是數(shù)據(jù)通信,其包括單片機(jī)和上位機(jī)之間、客戶端和服務(wù)器之間,以及客戶端和客戶端之間的通信,而單片機(jī)和上位機(jī)之間的數(shù)據(jù)通信則是整個(gè)系統(tǒng)的基礎(chǔ)。
單片機(jī)與PC之間的通信主要采取并行通信,其優(yōu)點(diǎn)為傳輸速度快,誤差不累計(jì)、信號(hào)之間不會(huì)互相影響以及可根據(jù)需求設(shè)定信號(hào)傳輸頻率,具有較高的自由度,為PC端讀取提供了便利。
本設(shè)計(jì)的硬件連接采用3線制為了方便信號(hào)的驗(yàn)證,我在本設(shè)計(jì)中添加了TFTLCD顯示屏,以便于和上傳到PC端的數(shù)據(jù)進(jìn)行誤差檢驗(yàn)。
在保證單片機(jī)能夠順利通信之后,才能實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)采集和存儲(chǔ)。
2.1 LabVIEW前面板設(shè)計(jì)
該設(shè)計(jì)需要有飛行姿態(tài)數(shù)據(jù)、飛行狀態(tài)的3D仿真,并能夠根據(jù)飛行姿態(tài)的數(shù)據(jù)不斷展示飛行狀態(tài),采集頻率的快慢能夠更改,儲(chǔ)存的位置與形式可以選擇,并使串口通信所發(fā)送的數(shù)據(jù)參數(shù)與單片機(jī)開(kāi)發(fā)版(主要包括波特率、奇偶校驗(yàn)位、數(shù)據(jù)位數(shù)等)保持一致。運(yùn)用labview前面板的功能對(duì)這些功能進(jìn)行布局,設(shè)計(jì)其主界面。
其具有的功能顯示信號(hào)的傳輸形式并能對(duì)格式進(jìn)行更改來(lái)確保與單片機(jī)發(fā)送過(guò)來(lái)的信號(hào)形式一致,飛行位姿的數(shù)據(jù)、以及3D顯示窗口等,并可向單片機(jī)發(fā)送目標(biāo)飛行姿態(tài),配合電機(jī)可實(shí)現(xiàn)對(duì)飛行狀態(tài)的控制。
運(yùn)行l(wèi)abview之前,將單片機(jī)的串口參數(shù)設(shè)置正確,并選擇信號(hào)的格式。點(diǎn)擊開(kāi)始按鍵,單片機(jī)就發(fā)送收集來(lái)的飛行姿態(tài)數(shù)據(jù),PC端根據(jù)設(shè)定的波特率結(jié)合角度變化量算出角加速度,以上過(guò)程處理完畢后,LabVIEW界面上可以看到無(wú)人機(jī)的飛行姿態(tài)。
2.2 LabVIEW子程序設(shè)計(jì)
建立主界面顯示,需要建立連接單片機(jī)與仿真圖形的框架,為此通過(guò)對(duì)LabVIEW相關(guān)VISA功能的引用使之能夠接受串口發(fā)送來(lái)的數(shù)據(jù),通過(guò)VISA打開(kāi)功能使串口打開(kāi),之后用VISA配置串口對(duì)串口的波特率,奇偶校驗(yàn)位,位數(shù)等參數(shù)進(jìn)行設(shè)置,為接收數(shù)據(jù)做好準(zhǔn)備,通過(guò)VISA讀取對(duì)串口發(fā)送來(lái)的數(shù)據(jù)進(jìn)行接收,具體程序框圖如圖1所示:
首先,串口傳輸設(shè)定一個(gè)固定的參數(shù),通過(guò)串口傳輸?shù)絣abview前面板上顯示。程序開(kāi)始運(yùn)行后,如果滿足通訊協(xié)議,就進(jìn)入數(shù)據(jù)的讀取階段,執(zhí)行接下來(lái)的數(shù)據(jù)處理。之后進(jìn)入while循環(huán),在循序結(jié)構(gòu)圖中,不斷接收單片機(jī)發(fā)送來(lái)的數(shù)據(jù),并將發(fā)送來(lái)的數(shù)據(jù)作為全局變量。為接下來(lái)的數(shù)據(jù)分析以及仿真做準(zhǔn)備。全局變量提取完畢后進(jìn)入仿真階段,在仿真階段中可以對(duì)單片機(jī)發(fā)送來(lái)的數(shù)據(jù)進(jìn)行由字符串到數(shù)字的轉(zhuǎn)化,根據(jù)處理好的數(shù)據(jù)進(jìn)行仿真,通過(guò)繪制3D圖形并根據(jù)位姿數(shù)據(jù)便可繪制出飛行器的飛行姿態(tài)。后面板設(shè)計(jì)如圖2所示。
3 結(jié)語(yǔ)
文章所闡述的飛行姿態(tài)仿真設(shè)計(jì)充分利用VISA相關(guān)功能對(duì)數(shù)據(jù)進(jìn)行讀取,方法簡(jiǎn)單而且通用性強(qiáng),對(duì)無(wú)人機(jī)飛控的門檻降低了一個(gè)層次,誠(chéng)然,本設(shè)計(jì)在精準(zhǔn)度方面無(wú)法實(shí)現(xiàn)高精度測(cè)量,但是功能齊全,是一種在低成本下研究飛控的方法。
參考文獻(xiàn):
[1]袁媛.基于LabVIEW的虛擬儀器技術(shù)研究與應(yīng)用[J].農(nóng)業(yè)網(wǎng)信息,2005,(04).
[2]吳成東,等.LabVIEW虛擬儀器程序設(shè)計(jì)及應(yīng)用[M].北京:人民郵電出版社,2008.
[3]豐偉偉,等.LabVIEW中TDMS文件和SQL數(shù)據(jù)庫(kù)數(shù)據(jù)處理速度的研究[J].儀器儀表與分析檢測(cè),2011,(01):10-12.
[4]章佳榮,等.精通LabVIEW虛擬儀器程序設(shè)計(jì)與案例實(shí)現(xiàn)[M].北京:人民郵電出版社,2013.
[5]NationalInstrumentsCorporation,LabVIEWReportGenerationVIsHelp,2004,12(10):45-48.