劉璇
摘要:近年來,四旋翼飛行器在軍事和民用領(lǐng)域的使用越來越廣泛。微型四旋翼飛行器能夠?qū)崿F(xiàn)垂直起降、自由懸停等功能。但是四旋翼飛行器具有欠驅(qū)動(dòng)、強(qiáng)耦合、非線性、多變量和干擾敏感等特性,為飛行器的設(shè)計(jì)和控制帶來困難。本論文采用 ARM 架構(gòu)的主控芯片,設(shè)計(jì)制作了一個(gè)四旋翼飛行器的控制實(shí)驗(yàn)平臺(tái)。介紹了在構(gòu)建四旋翼飛行器實(shí)驗(yàn)平臺(tái)的過程中遇到的難題,并提供了相應(yīng)的解決辦法。
關(guān)鍵詞:四旋翼飛行器; STM32F103; PID
一、引言
四旋翼飛行器是在旋翼飛行器中算是比較簡(jiǎn)單的一種,其包涵了旋翼飛行器的基本硬件結(jié)構(gòu)框架,可以以較低的成本實(shí)現(xiàn)旋翼飛行器平臺(tái)的搭建,進(jìn)行四旋翼飛行器的學(xué)習(xí)和開發(fā)。
四旋翼飛行器的四組電機(jī)及機(jī)翼分別位于十字形結(jié)構(gòu)機(jī)身的各個(gè)頂點(diǎn)。相對(duì)機(jī)翼的電機(jī)旋轉(zhuǎn)方向相同,相鄰機(jī)翼的電機(jī)旋轉(zhuǎn)方向相反,這樣使得四個(gè)機(jī)翼旋轉(zhuǎn)產(chǎn)生的扭矩相互抵消,產(chǎn)生的重力相互疊加,從而克服機(jī)身重力,使得四旋翼飛行器可以實(shí)現(xiàn)飛行的功能。通過分別控制四個(gè)電機(jī)不同的轉(zhuǎn)速,就可以實(shí)現(xiàn)對(duì)飛行器姿態(tài)和高度的控制。
與傳統(tǒng)的固定翼飛行器相比,四旋翼飛行器具有體積小、噪聲低、機(jī)械結(jié)構(gòu)對(duì)稱、動(dòng)力學(xué)模型簡(jiǎn)單的特點(diǎn),能夠做出垂直起降、自由懸停等動(dòng)作,具備了良好的靈活性,能夠在有限的空間內(nèi)垂直運(yùn)動(dòng)、低速飛行。在超低空近地飛行當(dāng)中能夠發(fā)揮極大地作用。因而可以應(yīng)用于更多的軍事、生產(chǎn)生活場(chǎng)景中。它可為海上、廢墟等不適合人員進(jìn)入的環(huán)境提供偵察、救援、繪圖等服務(wù)[1]。
目前,世界上人們研究的四旋翼飛行器一般體積不大,屬于微小型四旋翼飛行器,一般來說分為三類:遙控航模四旋翼飛行器、微型四旋翼飛行器和小型四旋翼飛行器。
二、飛行動(dòng)力學(xué)原理
偏航角、俯仰角、滾轉(zhuǎn)角在四旋翼飛行器飛行過程中,我們需要控制其飛行高度和姿態(tài)。所謂高度,就是飛行器重心相對(duì)于地面的垂直高度。而姿態(tài),我們這里通過三個(gè)角度來定義和描述(為方便說明概念,這里采用固定翼飛行器圖示):偏航角(Yaw):以機(jī)翼所在直線為軸的旋轉(zhuǎn)運(yùn)動(dòng)俯仰角(Pitch):以豎直方向(垂直于機(jī)身所在平面)為軸的旋轉(zhuǎn)運(yùn)動(dòng)滾轉(zhuǎn)角(Roll):以機(jī)艙所在直線為軸的旋轉(zhuǎn)運(yùn)動(dòng)。
“+”模式和“x”模式這兩種模式的飛行器在飛行過程所呈現(xiàn)的布局類型不同,對(duì)應(yīng)的電機(jī)轉(zhuǎn)速控制策略也不相同。比如現(xiàn)在想要將飛行器從水平飛行的姿態(tài)改變?yōu)闄C(jī)頭向上的姿態(tài)(即改變飛行器的俯仰角)。如果是“+”模式,需要將 3 號(hào)電機(jī)轉(zhuǎn)速升高,1 號(hào)電機(jī)轉(zhuǎn)速降低;如果是“x”模式,需要 2、3 號(hào)電機(jī)轉(zhuǎn)速同時(shí)升高,1、4 號(hào)電機(jī)轉(zhuǎn)速同時(shí)降低。顯然“x”模式 4 個(gè)電機(jī)同時(shí)變速,動(dòng)作更加靈活,單控制起來比較復(fù)雜,“+”模式只有 2 個(gè)電機(jī)變速,動(dòng)作靈活性變差,但是控制簡(jiǎn)單容易實(shí)現(xiàn)。
四旋翼飛行器有四個(gè)控制量,即四個(gè)電機(jī)的轉(zhuǎn)速,通過控制電機(jī)轉(zhuǎn)速可以改變升力大小,從而控制四旋翼飛行器的姿態(tài)和高度。當(dāng)飛行器自由懸停時(shí),電機(jī) 1 和電機(jī) 3 轉(zhuǎn)向相同,電機(jī) 2 和電機(jī) 4 轉(zhuǎn)向相同,四個(gè)電機(jī)轉(zhuǎn)速均相同,這樣四個(gè)旋翼產(chǎn)生的扭矩相互抵消,而產(chǎn)生的升力相互疊加,與飛行器重力相平衡。當(dāng)飛行器處于動(dòng)態(tài)過程中時(shí),四個(gè)電機(jī)的轉(zhuǎn)向不變,但轉(zhuǎn)速不再保持一致.
三、系統(tǒng)硬件框架
本實(shí)驗(yàn)平臺(tái)的主控芯片采用 ARM 架構(gòu)的 STM32F103 系列芯片進(jìn)行信號(hào)的運(yùn)算和控制算法的實(shí)現(xiàn),運(yùn)算結(jié)果以 PWM 波的形式輸出,驅(qū)動(dòng)無刷電子調(diào)速器。無刷電子調(diào)速器一方面負(fù)責(zé)三相無刷直流電機(jī)的功率驅(qū)動(dòng),另一方面為主控板提供 5V 電源,實(shí)現(xiàn)了主電路到控制電路的電力電子變換。實(shí)驗(yàn)平臺(tái)是執(zhí)行機(jī)構(gòu)是四個(gè)直流無刷電機(jī),控制量是電機(jī)轉(zhuǎn)速,調(diào)節(jié)四個(gè)電機(jī)不同的轉(zhuǎn)速?gòu)亩鴮?shí)現(xiàn)姿態(tài)和高度的調(diào)節(jié)。反饋環(huán)節(jié)采用姿態(tài)傳感器和超聲波高度測(cè)量單元,實(shí)時(shí)測(cè)量飛行器的當(dāng)前姿態(tài)角和高度值。給定信號(hào)通過專用的航模遙控器給出,將給定信號(hào)與實(shí)時(shí)測(cè)量結(jié)果的差值作為主控芯片的輸入,將此差值經(jīng)過積分分離 PID 算法計(jì)算,得到主控芯片的輸出。這樣就實(shí)現(xiàn)了整個(gè)系統(tǒng)的閉環(huán)。在實(shí)際飛行過程中,飛行器可能會(huì)受到風(fēng)力干擾、電磁干擾、安裝誤差等多種擾動(dòng)信號(hào),閉環(huán)控制是必不可少的。
由于飛行器的慣性與其半徑的 5 次方成正比,半徑越小,飛行器的慣性越小,調(diào)節(jié)起來靈活性就會(huì)比較高,原則上選用比較小的機(jī)架。考慮到適當(dāng)?shù)陌惭b尺寸,同時(shí)螺旋槳之間旋轉(zhuǎn)產(chǎn)生的亂流可能互相影響降低效率,最終選擇 f450 機(jī)架。
四旋翼飛行器的四個(gè)槳葉為了平衡扭矩有兩種相反的轉(zhuǎn)向,但是要保證順時(shí)針、逆時(shí)針兩種轉(zhuǎn)向旋翼的風(fēng)都向下吹這樣才能得到最大的升力以克服重力,顯然同一種旋向的槳是不能滿足這種需求的,所以需要正反槳。
本實(shí)驗(yàn)中使用的 2 對(duì) 1045 正反槳,前兩位數(shù)字代表槳的直徑(單位:英寸 1英寸=2.54 厘米),即 1045 槳的直徑為 25.4 厘米,后兩位數(shù)字代表槳的進(jìn)角。槳葉采用尼龍混碳材料,具有更高的強(qiáng)度(是普通尼龍槳的 3 倍),具有更高的效率,在高負(fù)載下,槳不容易變形.此系列螺旋槳具有很好的平衡性.會(huì)很大程度使飛行器的驅(qū)動(dòng)更加靈活,減少飛行噪音,提高效能。
F450 機(jī)架對(duì)角電機(jī)軸距為 450mm,機(jī)身重量為 282g,采用 PA66+30%超高強(qiáng)度塑膠材料制成,耐摔、耐撞擊。主體采用集成式的 PCB 板連線,配備鍍金復(fù)合 PCB電路板,使電源、電調(diào)的連線更加快捷、安全。經(jīng)過優(yōu)化設(shè)計(jì)的超大安裝空間,為各種飛控系統(tǒng)保證充足的安裝空間。采用非標(biāo)的 M2.5 階梯螺絲,這樣能使 PCB 板和力臂穩(wěn)固連接[2]。我們采用無刷直流電機(jī),它本質(zhì)上是一種交流電機(jī),但是通過一些電力電子技術(shù)使其調(diào)速特性和直流電機(jī)完全一樣,無刷直流電機(jī)很好的滿足了高速線性調(diào)速的需求,目前已經(jīng)成為四旋翼飛行器的主流,價(jià)格也相對(duì)較高。
四旋翼飛行器中選用無刷直流電機(jī)時(shí)要考慮電機(jī)和槳葉的配合問題。槳葉越大,轉(zhuǎn)動(dòng)時(shí)提供的升力越大,也因此需要更大的力量來驅(qū)動(dòng),槳葉轉(zhuǎn)速越高,升力也越大。對(duì)與帶動(dòng)槳葉轉(zhuǎn)動(dòng)的無刷電機(jī)而言,kv 值越高,所能提供的轉(zhuǎn)動(dòng)力量越小。這樣,高 KV 值的電機(jī)需要選用小槳葉,一次轉(zhuǎn)動(dòng)的升力較小,但轉(zhuǎn)速較高;低 KV 值的電機(jī)需要選用大槳葉,轉(zhuǎn)動(dòng)速度較低,但是每次轉(zhuǎn)動(dòng)可以提供較大的升力。如果低 KV 值的電機(jī)帶小槳葉,可能提供的升力不足,無法起飛或者飛行不穩(wěn);如果高 KV 值的電機(jī)帶大槳葉,電機(jī)會(huì)處于低速運(yùn)轉(zhuǎn)狀態(tài),容易燒毀電機(jī)和電調(diào)。一般來時(shí),10 英寸的槳配合 1000k 左右的無刷直流電機(jī)使用。endprint
功率驅(qū)動(dòng)單元采用的是好贏天行者 30A 無刷電調(diào),接受主控板的輸出信號(hào),對(duì)電機(jī)速度進(jìn)行調(diào)節(jié),同時(shí)輸出一路 5V(2A)電源為控制板供電。實(shí)際上該電調(diào)內(nèi)部是一個(gè) DSP 變頻器,將主控板輸出的 PWM 信號(hào)采集、編碼,以 4096 的分辨率測(cè)量脈寬得到相應(yīng)轉(zhuǎn)速值,再由變頻器控制變頻,從而實(shí)現(xiàn)電機(jī)轉(zhuǎn)速調(diào)節(jié)。
四旋翼飛行器四個(gè)升力是分散的,一旦受到外部干擾就不能保持穩(wěn)定,只有不斷通過反饋調(diào)節(jié)才能保持系統(tǒng)穩(wěn)定或者按照期望的方式進(jìn)行姿態(tài)調(diào)整,這就對(duì)元器件的反應(yīng)速度提出了很高的要求。常規(guī)的 PPM 電調(diào)更新頻率只有 50Hz,滿足不了四旋翼轉(zhuǎn)速快速變化的需要。好贏天行者 30A 無刷電調(diào)是旋翼飛行器的專用快速電調(diào),使用 IIC 總線傳輸轉(zhuǎn)速信號(hào),可達(dá)到每秒上千次的變化能力,保證了飛行器對(duì)于突加擾動(dòng)的抑制能力。30A 是電調(diào)能夠提供的最大持續(xù)電流值,完全可以滿足電機(jī)需求。
在實(shí)際使用電調(diào)時(shí),可以對(duì)電調(diào)的功能進(jìn)行設(shè)置,這就是所謂的電調(diào)編程。具體使用時(shí)可以參照說明書進(jìn)行設(shè)置,可以使用遙控器編程,也可以購(gòu)買廠家的編程卡。需要注意的是,四個(gè)電調(diào)的啟動(dòng)模式必須是一樣的,否則會(huì)在一開始四個(gè)電機(jī)有很大轉(zhuǎn)速差,可能導(dǎo)致摔機(jī)。進(jìn)行電調(diào)編程時(shí)要連接電機(jī)才能進(jìn)行。
可見,電調(diào)是四旋翼飛行器整個(gè)硬件架構(gòu)中十分重要的部分,產(chǎn)品的功能完善和高度集成,在很大程度上保證了系統(tǒng)的可靠性。
控制器是四旋翼飛行器硬件架構(gòu)的核心部分,接收傳感器的姿態(tài)和高度信息,輸出電調(diào)模塊的驅(qū)動(dòng)信號(hào)。很多數(shù)據(jù)傳輸和數(shù)據(jù)處理過程都是在控制器內(nèi)部進(jìn)行的,控制思想也主要體現(xiàn)在控制器內(nèi)部的程序代碼。四旋翼飛行器具有干擾敏感性,必須進(jìn)行閉環(huán)控制,而且要求系統(tǒng)具有很快的調(diào)節(jié)能力,這就要求控制器具有很快的數(shù)據(jù)處理能力。
本實(shí)驗(yàn)中采用的主控芯片是 STM32F103RCT6 芯片。采用 ARM 架構(gòu)的 Cortex-M3 32 位 CPU,工作頻率最高可達(dá) 72MHz,計(jì)算能力 1.25 DMIPS/MHz,256kB Flash 存儲(chǔ)器,48kB SRAM,51 個(gè) GPIO 口,3 個(gè) SPI 接口,5 個(gè) USART 接口,2 個(gè) I2S 接口,2 個(gè) I2C 接口,1 個(gè) CAN 總線接口,1 個(gè) USB 接口。3 個(gè) 12 位 ADC,具有 1MHz的轉(zhuǎn)換速率,12 通道的 DMA。滿足該實(shí)驗(yàn)的控制器要求。
本實(shí)驗(yàn)中采用的基本是模塊化元器件,電路設(shè)計(jì)較為簡(jiǎn)單,只需要考慮各部分的信號(hào)接口和供電即可,所以直接采用了萬(wàn)用板進(jìn)行電路搭建,方便了今后添加模塊時(shí)的線路改造,缺點(diǎn)是焊接時(shí)要保證每一條線路的可靠連接,整體的抗干擾性能較差。為了適應(yīng)模塊化設(shè)計(jì)的需要試驗(yàn)中選用了 Core103R 核心板。Core103R 核心板在 STM32F103RCT6 芯片外部添加了基本的外圍電路,包括晶振電路,USB 控制電路,USB 接口等 引出了 I/O 資源 帶 JTAG/SWD 調(diào)試下載接口 排針間距 2.54mm,體積較小,適合接入用戶系統(tǒng)。
MPU6050 模塊是整合性 6 軸運(yùn)動(dòng)處理組件,整合了 3 軸陀螺儀、3 軸加速度計(jì),以及一個(gè)可擴(kuò)展的數(shù)字運(yùn)動(dòng)處理器 DMP,可通過 I2C 接口連接一個(gè)獨(dú)立的數(shù)字傳感器,比如磁力計(jì)。擴(kuò)展之后就可以通過其 I2C 接口輸出一個(gè) 9 軸的信號(hào)[3]。與分立的陀螺儀和加速度計(jì)相比,免除了組合陀螺儀與加速度計(jì)之間的軸間測(cè)量誤差的問題,減少了大量的包裝空間。模塊內(nèi)部采用的陀螺儀測(cè)量范圍是± 2000°/s,加速度計(jì)測(cè)量范圍是±16g,芯片內(nèi)置 16 位 AD 轉(zhuǎn)換器,16 位原始數(shù)據(jù)輸出。通信方式采用標(biāo)準(zhǔn)的 I2C 通信協(xié)HC-SR04 超聲波模塊利用聲音傳播的原理來實(shí)現(xiàn)測(cè)距功能。有兩個(gè)功能引腳,Trig 稱為控制信號(hào)輸入,引腳在內(nèi)部接一個(gè) 10K 的上拉電阻,使用時(shí)用單片機(jī)的IO 口拉低 Trig 引腳,然后給一個(gè) 10us 以上的脈沖信號(hào)。模塊會(huì)通過發(fā)射口自動(dòng)發(fā)出 8 個(gè) 40kHz 周期信號(hào)并檢測(cè)回波。一旦檢測(cè)到有回波信號(hào)則回響信號(hào)輸出引腳Echo 就會(huì)輸出一高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間[4]。這樣,所測(cè)距離就可以利用聲速公式計(jì)算:測(cè)試距離=(高電平時(shí)間*聲速(340M/S))/2
該模塊的供電電壓為 5V,輸出高電平為 5V,低電平為 0V,可以直接和主控芯片 IO 口相連接,探測(cè)距離為 2cm-450cm,有 2cm 的盲區(qū),精度可達(dá) 0.3cm,基本上滿足控制系統(tǒng)的需求。天地飛 7 遙控器是一款深圳天地飛科技有限公司生產(chǎn)的專門面向于無人機(jī)航模的遙控器,支持中文界面。本實(shí)驗(yàn)中采用遙控器進(jìn)行信號(hào)給定,通過手動(dòng)調(diào)節(jié)的方式在很大程度上降低了對(duì)實(shí)驗(yàn)平臺(tái)的參數(shù)要求。天地飛 7 遙控器和接收機(jī)之間在全球免申請(qǐng)的 2.4G 頻段內(nèi)以 PPM 通信方式進(jìn)行通信,調(diào)頻通信技術(shù)避免了空間電磁干擾,保證了信號(hào)的穩(wěn)定可靠傳輸。WFT07s 有 7 個(gè)通道,本實(shí)驗(yàn)中使用的是 1 2 34 通道,通過對(duì)這 4 個(gè)通道的編程來實(shí)時(shí)對(duì)飛行器姿態(tài)進(jìn)行調(diào)整,遙控器的教練模式、混控編程給飛行器的調(diào)試帶來很大便利,電壓檢測(cè)、失控保護(hù)等功能增加了系統(tǒng)的可靠性。
本實(shí)驗(yàn)中使用鋰電池供電,重 178g,質(zhì)量輕,起飛效率高。鋰電池 1 節(jié)標(biāo)準(zhǔn)電壓為 3.7v,3s 代表 3 節(jié)電池串聯(lián),即供電電壓為 11.1V;2200mah 是指電池容量,如果電池以 2200ma 的容量放電,可持續(xù)放電 1 小時(shí);30C 是放電系數(shù),表示電池最高可以 2200ma*30=66A 的電流持續(xù)放電,朗宇 x2212-980kv 無刷電機(jī)的工作電流可達(dá) 15A 左右,該電池可以給 4 個(gè)朗宇 x2212-980kv 無刷電機(jī)持續(xù)供電。該電池容量較小,質(zhì)量輕,但如果要長(zhǎng)時(shí)間飛行可以在重量允許范圍內(nèi)搭配容量更大的電池。3s 電池是 3 節(jié)電池串聯(lián),由于制造工藝的原因,無法保證 3 塊電池內(nèi)阻完全相同,如果按照普通方式充電,必然會(huì)導(dǎo)致電壓分配不均勻,這樣,在一塊電池充滿的同時(shí),其它電池不能同時(shí)充滿,容易引起充電不滿或者過度充電的現(xiàn)象。解決辦法是對(duì)單節(jié)電池分別進(jìn)行充電。鋰電池有兩組引出線,一組是輸出線,另一組是單節(jié)鋰電池引出線,充電時(shí)將電池按照說明書和 B6 平衡充相連接,就可以實(shí)現(xiàn)對(duì)單節(jié)鋰電池充電,充滿電時(shí)平衡充會(huì)自動(dòng)發(fā)出提示音。
參考文獻(xiàn):
[1]樊冬雪,成怡,金海林,修春波.四軸飛行器視覺導(dǎo)航設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(8):140-142.
[2]楊浩. 基于嵌入式 Linux 實(shí)時(shí)控制 的四軸飛行器設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安交通大學(xué),2015.
[3]谷麗華,崔暢,高松巍,許會(huì). 基于 MPU-6050 的步態(tài)信號(hào)采集系統(tǒng)[J].沈陽(yáng):沈陽(yáng)工業(yè)大學(xué)學(xué)報(bào),2015,37(2):176-183.
[4]丁鷺飛.超聲原理(第 3 版)[M].西安:西安電子科技大學(xué)出版社,2002.endprint