李亮 吳杰 石道勝
【摘 要】本設計采用模塊化編程,便于移植、二次開發(fā)??刂拼a對PID算法進行優(yōu)化,控制精度高、系統(tǒng)反應靈敏,同時采用CRC校驗方式進行數(shù)據(jù)發(fā)送,保證了數(shù)據(jù)完整性和準確性??蓪崿F(xiàn)飛行器定高、定位飛行。
【關鍵詞】無人機;PID控制;MPU6050
中圖分類號: V279;V249.1 文獻標識碼: A 文章編號: 2095-2457(2018)24-0014-002
DOI:10.19694/j.cnki.issn2095-2457.2018.24.006
【Abstract】The design adopts modular programming,which is easy to transplant and redevelop.The code of PID algorithm is optimized with high control precision and sensitive response in the control system.At the same time,The CRC checking mode is used to send data and ensure the data integrity and accuracy.The aircraft can complete flight at fixed altitude and position.
【Key words】UAV;PID Control;MPU6050
0 前言
無人機是無人駕駛飛機(Unmanned Aerial Vehicle)的簡稱,是由無線電遙控設備和自備程序控制裝置的不載人飛機構成。包括無人直升機、固定翼機、多旋翼飛行器、無人飛艇、無人傘翼機。從某種角度來看,無人機可以在無人駕駛的條件下完成復雜空中飛行任務和各種負載任務。四旋翼在很早之前就已經(jīng)有人研究,但是限于當時的科技還不夠發(fā)達,因此并沒有引起大家的重視。進入21世紀之后,隨著科學技術的不斷發(fā)展,以及微機電、微導航技術的出現(xiàn),引來了四旋翼發(fā)展的新時代,各國都開設有相關的研究機構來對四旋翼飛行器展開研究。四旋翼擁有控制靈活、體積小、重量輕、穩(wěn)定性好、可垂直起降和定點懸停等特點,不論是在軍事上還是民用上都擁有非常廣泛的應用前景[1]。本簡易四軸飛行器,去除以往其它飛行控制軟件的復雜性,并且保留了基本的四軸飛行器的功能。
1 四軸飛行器平衡設計
四軸飛行器與普通的飛行器飛行原理不同,是通過調節(jié)四個電機的轉速來改變旋翼轉速,實現(xiàn)升力的變化,從而控制飛行器的姿態(tài)和位置。由于飛行器是通過改變旋翼轉速實現(xiàn)升力變化,這樣會導致其動力不穩(wěn)定,所以需要一種能夠長期保穩(wěn)定的控制方法。我們選用PID控制算法對四旋翼的四個螺旋槳的輸出進行控制。利用MPU6050進行采集當前環(huán)境的三軸加速度、三軸角速度。為此需要大量測試來解決數(shù)據(jù)采集與處理,控制等時間的分配問題[2]。通過MPU6050采集的陀螺儀和加速度數(shù)據(jù)進行姿態(tài)控制,使飛行器在有外部干擾的情況下依然保持四槳向上的的直立姿態(tài)保持飛行。
當系統(tǒng)運行后,先進行系統(tǒng)初始化,包括微處理器的定時器、中斷、串口,以及傳感器的初始化。傳感器測量數(shù)據(jù),經(jīng)轉化后讀入程序中。根據(jù)讀入的數(shù)據(jù)計算出當前的飛行器姿態(tài)。讀取控制信號,并且計算出控制需要的目標姿態(tài)。比較實際姿態(tài)與目標姿態(tài),利用PID算法計算出每個電機的調整量,根據(jù)計算出的調整量來調整微處理器的PWM模塊,使PWM模塊產(chǎn)生的PWM波的占空比發(fā)生變化,從而調整電機的轉速,進而調整了飛行器的姿態(tài)[3]。這樣系統(tǒng)通過以上的循環(huán)實現(xiàn)了對飛行器姿態(tài)的動態(tài)控制。
2 四軸飛行器定高設計
本四軸飛行器定高采用超聲波模塊控制,模塊使用方法簡單,工作電壓5V,只要給模塊一個10μs左右的高電平即可在模塊內(nèi)部自動生成8個40KHz的方波進行測距,收到回波后的高電平時間通過比例計算即可得到相應的距離測量值。使用時不允許超過5.5V電壓,功耗電流:最小1mA,最大20mA,測量范圍1cm-5m。在環(huán)境惡劣的室外,超聲波依然可以保持較為準確的測量穩(wěn)定性,作為穩(wěn)定的飛行高度測量模塊較為合適[4]。
3 四軸飛行器控制器設計
本簡易四軸控制軟件主要分兩部分。分別為軟硬件初始化部分和控制主循環(huán)部分。第一部分,上電初始化,包括電機控制模塊,超聲波,六軸傳感器,串口,電子羅盤等等。初始化后等待發(fā)送接收的數(shù)據(jù),為接下來的控制部分提供必要的準備。第二部分,主要接收遙控器傳輸過來的信息,主控芯片對信息進行解碼,做出相應的控制動作,此外當四軸懸停在空中時,系統(tǒng)根據(jù)超聲波、加速度傳感器等的數(shù)據(jù)對四軸的無刷電機的轉速做出調整,控制四軸的飛行姿態(tài)以保持飛行器平穩(wěn)運行[5]。飛行器采用模塊化編程實現(xiàn),流程圖1所示。四軸飛行器系統(tǒng)上電后定時器初始化,GPS和超聲波以及藍牙等傳感器初始化,初始化成功后,手機APP進行陀螺儀和加速度計校準,能夠選擇定高模式,自由模式。MPU6050傳感器傳過來三軸數(shù)據(jù),通過反饋調節(jié)PID參數(shù),以達到系統(tǒng)整體保持平衡、平穩(wěn)的作用。
4 總結
本設計的四軸飛行器展示了四軸的飛行原理,控制驅動原理等。同時設計實現(xiàn)了四軸飛行器的起飛,降落,定高,平衡,加油門,減油門,旋轉等動作,首先各個系統(tǒng)初始化,超聲波定高初始化,定高PID初始化,油門PWM初始化,定時器初始化,GPS初始化。該四軸飛行器的代碼,運用了定時器的四個PWM通道,軟件通過緩慢調節(jié)PWM實現(xiàn)慢慢加速,軟啟動,實現(xiàn)了起飛,在利用MPU6050六軸傳感器進行PID調節(jié),實現(xiàn)了平衡,這里主要是利用PID反饋調節(jié)PWM。利用超聲波傳感器,調節(jié)PID來定高,NRF遙控器和手機APP來遙控。
【參考文獻】
[1]王鋒,吳江,周國慶等.多旋翼飛行器發(fā)展概況研究[J].科技視界,2015(13):6-7.
[2]張權權,王立,成李浩.微型四旋翼飛行控制器設計[J].科技視界,2016(27):435-435.
[3]張新英,余發(fā)軍,劉聰.基于模糊PID控制的四旋翼無人機設計[J].實驗室研究與探索,2017,36(4):56-59.
[4]劉祥,林維昌.多功能環(huán)境監(jiān)測無人機系統(tǒng)設計[J].科技視界,2016(12):55-56.
[5]潘春榮,許化.基于STM32的X型四旋翼無人機設計[J].工程設計學報,2017,24(2):196-202.