馮澤霖


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