康盟
基于STM32單片機的四軸無人機設計
康盟
北京化工大學國際教育學院,北京 100000
當前世界范圍內,無人機的研發成為重點。當前已經研發出了固定翼無人機和同軸雙槳無人機。由于四軸無人機設計和制造簡單且容易操控,因此四軸無人機依舊為研發重點。基于對四軸無人機常用控制方式的研究,結合對硬件部分的了解,提出了基于STM32單片機的四軸無人機設計方式,以實現對無人機的穩定操控。
四軸飛行器;STM32;PID;飛行姿態
在四軸無人機的設計過程中,需要保證飛行器能夠被操控。由于PID控制模式經過多年發展和研究,性能更加穩定,因此可以應用到無人機控制系統中。另外,在無人機的設計過程中,合理的設計流程能夠減少設計過程的工作量,并提升設計的合理性。本文在設計過程中按照無人機用途確定云臺和其余硬件設施,在此基礎上設計確定電池參數和各電路系統,從而提升無人機續航能力。
四軸無人機整體設計主要包括外形硬件設計、電氣系統設計和動力結構設計等方面。
硬件設計中包括各類參數的確定以及制造材料的選擇。由于四軸無人機采用十字布局方式,因此設計中需要按照無人機的云臺重量和各類構件的總重量確定臂長,同時按照空氣動力學的知識確定螺旋槳葉片參數。另外,在螺旋槳轉動過程中,兩對槳葉的旋轉方向相反。這種方式能夠抵消無人機運行中產生的扭矩,保證無人機的平穩飛行[1]。另外,對于無人機的搭載云臺等系統,需要對攝像頭的視角、種類等方面進行確定,尤其是對于有測距、紅外成像要求的無人機,需要在云臺中架設多種探頭,并根據云臺重量確定電池容量、支撐機構強度、無人機整體重量、臂展和槳葉長度等參數。
對于四旋翼無人機來說,都會采用電池進行無人機供電,因此在設計過程中,需要硬件部分初步確定電池容量。在四旋翼無人機運行過程中,還需要建設信號傳輸系統、控制系統和通信系統。要實現這些功能,在電路設計中需要架設各類傳感器,因此在電氣系統設計過程中,需要在電路中架設控制芯片。通過對多種控制芯片的選擇,本文最終選擇了 STM32單片機作為無人機的主控芯片。另外,在電氣系統設計過程中,還需要設計通信系統。通信系統設計中包括藍牙通信模塊和無線通信模塊。
當前的四旋翼無人機飛行原理主要采用兩種方式。一種方式通過單一電機提供飛行動力和改變飛行姿態。這種方式將電機的前方設定為飛行器的飛行初始前方,以此為基準對飛行器的飛行狀態進行確定。采用這種方式的飛行器雖然會在一定程度上降低設計的復雜程度,但是無人機運行過程中會比較難以控制。另一種為對不同的槳葉提供獨立電機的方式。這種無人機將兩個電機方向設定為前方,另外兩個設定為后方。雖然這種方式設計較為復雜,且建設成本更高,但是能夠在很大程度上提升控制穩定性,并且飛行姿態的變化種類也獲得較大提升[2]。
PID控制方式是當前較為成熟的一種控制方式。這種控制系統模型為一個閉環回路,通過反饋信號實現對系統的控制。對于四軸無人機來說,要實現對姿態的調整,調整對象為俯仰角、偏航角和翻滾角。在控制無人機的過程中,這三個參數為確定值,并且相互獨立。在PID系統建設過程中,涉及兩個回路。其中一個回路為總回路,即將螺旋槳的運動狀態與運行飛行器姿態與期望值進行比較的回路。另一個為內部回路,將螺旋槳的運動狀態反饋給角速度環PID控制器。另外,在PID控制系統中還設置了一個角度環PID控制器。兩個控制器串聯,實現對無人機姿態的控制。
四軸無人機的動力來源為電池。另外電池還對所有電路中的設備進行供電,所以對于具有不同電壓要求的電子器件來說,需要在電路中設置電壓調節器件保證系統能夠處于正常的工作電壓下。本文中無人機的電機電壓為3.7 V,采用4電機提供動力模式,最終確定使用的鋰電池電壓為3.7 V,可以應用鋰電池直接供電。但是對于四旋翼無人機的姿態控制來說,姿態控制是通過對螺旋槳轉速的調整來實現的,所以需要由控制系統對電機的運行狀態進行調整,因為控制系統的發出信號無法直接對動力電路進行控制,所以在設計過程中,需要設置專用的動力控制電路,放大控制芯片發出的信號,從而實現對動力電路的控制。
通信電路的設計涉及兩個方面:一個是飛行器端;一個是遙控端。對于飛行器端的通信電路設計,需要通過程序編寫讓單片機能夠識別遙控端發出的各類信號,將信號放大后實現對無人機運行狀態的調整。對于遙控端,通常情況下已經較為完善,在設計中需要讓遙控端與飛行器端建立一一對應的指令關系,保證遙控端的指令能夠被飛行器端識別。當前的通信系統多采用藍牙和無線通信系統控制模式。因此在設計中,需要根據這兩種通信技術的異同點和特性進行電路設計。
在進行姿態傳感器的設計過程中,本文設計的四軸無人機電機配置方式為兩前兩后,結構更加復雜,對控制系統的要求更高,因此對姿態傳感器的功能性提出了更高要求。本文選用了MPU6050姿態傳感器,在該傳感器的應用過程中,能夠在I2C接口上接入第三方數字傳感器。應用這種傳感器能夠提升無人機姿態測量精度。在控制系統的運行過程中,主控芯片對姿態傳感器的控制方式有兩種。首先是軟件控制。這種方式原理為主控芯片通過I2C接口讀取姿態傳感器中的數據,通過程序處理讓數據與相應的控制情況相符,這種方式在很大程度上提升了計算量和計算時間。其次是硬件控制。硬件控制的原理為由姿態傳感器通過數字運動處理器進行飛行姿態數據的調整與計算,將轉換成歐拉角的數據放置在FIFO中,再由主控芯片讀取這些數據,通過數據比對等方式進行姿態調控,這種方式能夠縮短系統的調整時間[3]。
在控制芯片系統的設計過程中,除了要按照單片機的產品說明保證接口接入的正確性以外,還需要在系統設計過程中設計相應的輔助電路,其中最重要的就是電壓調整電路與振蕩電路。通過上文發現,本文設計的電氣系統電池電壓為3.7 V,而單片機的工作電壓為2.0~3.6V。通過各類系統的協調與設計,最終讓單片機工作電壓保持在3.3 V。因此在控制芯片系統設計過程中,需要使用降壓器時控制芯片處于正常的工作電壓下,最終應用MIC5205芯片進行穩壓操作。對于外振蕩電路,在控制芯片系統的設計中最終確定為8?MHz晶振。
單片機具有程序存儲和運行功能,可以將編寫完成的控制程序存放到單片機中,讓該程序能夠充分發揮應有功能。程序主要發揮的功能為電機工作狀態控制、數據采集和處理、通信這三個方面。在無人機的控制過程中,這三個方面的程序運行需要具有一定的時序性,保證整個控制過程能夠有條不紊地進行。在程序設計過程中,需要在不同的功能間合理設計時間間隔,通常情況下時間間隔都很小,在該時間間隔內讓程序能夠自動進行重復計算,保證計算和控制的精確度。
綜上所述,在四軸無人機的設計過程中,需要首先進行硬件部分設計,在設計過程中確定云臺和其余相關設施的重量,最終確定電機型號和電源容量。在電氣系統設計中,需要充分了解不同姿態調整方法的運行原理,并以此為依據進一步合理確定電源型號,在確定電源電壓的基礎上,進行動力電路和控制電路的設計。最后要進行控制程序編寫,將程序存儲到單片機中實現對飛行器的控制。
[1]周亮亮,汪列隆,張倩. 基于STM32的四軸飛行器設計[J]. 赤峰學院學報(自然科學版),2016,32(13):32-34.
[2]金薇. 基于STM32的四軸飛行器的研究與設計[J].山西電子技術,2016(1):92-93.
[3]王東平. 基于嵌入式的四軸飛行器控制系統研究與設計[D]. 泉州:華僑大學,2013.
Design of Four-Axis UAV Based on STM32 Single Chip Microcomputer
Kang Meng
School of International Education, Beijing University of Chemical Technology, Beijing 100000
At present, the development of drones has become the focus of the world. Fixed-wing UAV and coaxial twin-propellers have been developed, the design and manufacture of four-axis UAV is simple and easy to control, so the four-axis drone is still the focus of research and development. Based on the research on the common control methods of the four-axis UAV, combined with the understanding of the hardware part, the design method of the four-axis UAV based on STM32 single-chip microcomputer is proposed to realize the stable control of the UAV.
four-axis aircraft; STM32; PID; flight attitude
TP242
A
康盟(1997—),漢族,山西大同人,本科雙學位在讀,北京化工大學機械設計制造及其自動化專業,研究方向為自主移動式機器人。