基于ARM11+CPLD的小型無人機(jī)飛行控制器設(shè)計(jì)
1 引言
小型無人機(jī)具有重量輕、使用費(fèi)用低、機(jī)動靈活等特點(diǎn),在軍用、民用領(lǐng)域有著廣泛的應(yīng)用。在民用領(lǐng)域,無人機(jī)可搭載不同任務(wù)載荷完成諸如國土資源保護(hù)、城市規(guī)劃、電視臺航拍、大氣監(jiān)測、交通監(jiān)察、邊境及海岸線巡邏、災(zāi)情監(jiān)視等任務(wù);在軍事上,可以執(zhí)行空中偵察、充當(dāng)靶機(jī)、導(dǎo)彈攻擊、充當(dāng)誘餌、戰(zhàn)場損傷評估和電子站等任務(wù),已成為許多國家軍隊(duì)的主要武器裝備。
飛行控制器承擔(dān)著無人機(jī)的姿態(tài)控制、導(dǎo)航控制、與地面控制站的通信、任務(wù)載荷控制等任務(wù),是小型無人機(jī)的核心。評價(jià)小型無人機(jī)的飛行控制器的優(yōu)劣的指標(biāo)之一是其控制的精度。提高飛行控制器的控制精度的方法有:提高獲取飛機(jī)狀態(tài)信息的精度;采用先進(jìn)的控制算法提高控制性能[1-3];提高控制指令輸出的實(shí)時性等。而要實(shí)現(xiàn)以上目標(biāo)就須有高性能的MCU和合理的硬件電路設(shè)計(jì)。
本文針對這一問題,設(shè)計(jì)了基于ARM11(S3C6410)+CPLD(EPM1270)的飛行控制器。ARM11架構(gòu)的MCU S3C6410接口豐富、運(yùn)算速度快;CPLD芯片的應(yīng)用提高了系統(tǒng)的實(shí)時性。以下將闡述該飛行控制器的設(shè)計(jì)。
2 飛行控制器硬件系統(tǒng)的設(shè)計(jì)
本文飛行控制器以S3C6410和CPLD(EPM1270)為核心,將無人機(jī)系統(tǒng)各部分有機(jī)整合,硬件構(gòu)架具體如圖1所示。
S3C6410采用ARM1176JZF-S的核,該核在電壓為1.2V的情況下,可以運(yùn)行到667MHz[4],高主頻保證了飛控有較強(qiáng)的計(jì)算能力。S3C6410擁有豐富的接口,本文通過UART串口通訊連接了GPS模塊和數(shù)傳電臺;SPI通訊接口連接了ADIS16365慣性系統(tǒng)傳感器(含加速度、角速度傳感器),兩個MS5540氣壓傳感器。S3C6410可連接大容量內(nèi)存和FLASH,本設(shè)計(jì)中配置了256M 的DDR RAM和1G的NAND FLASH,大容量的內(nèi)存是飛控進(jìn)行大量計(jì)算及數(shù)據(jù)存儲的保證。
而CPLD模塊選用ALTERA公司的EPM1270芯片,該模塊完成遙控接收機(jī)控制指令的接收及解碼;多路PWM控制指令的解碼及輸出;任務(wù)載荷的控制管理。CPLD的應(yīng)用,使得飛行控制器在處理遙控指令、姿態(tài)控制上具備了運(yùn)算速度快、實(shí)時性強(qiáng)的特點(diǎn)。
基于上述兩模塊構(gòu)建的飛行控制器,按其功能可分為:導(dǎo)航功能模塊、姿態(tài)控制功能模塊、通信功能模塊、任務(wù)載荷功能模塊。本文選取導(dǎo)航功能模塊和姿態(tài)控制功能模塊的硬件設(shè)計(jì)進(jìn)行闡述。
2.1 導(dǎo)航功能模塊硬件設(shè)計(jì)
導(dǎo)航功能模塊主要實(shí)現(xiàn)無人機(jī)按設(shè)定航點(diǎn)、航線飛行的功能,這需要計(jì)算無人機(jī)當(dāng)前的位置和目標(biāo)位置之差。本文設(shè)計(jì)了GPS、氣壓傳感器來獲取無人機(jī)當(dāng)前的位置信息,即經(jīng)度、緯度、高度、速度、航向等。在硬件設(shè)計(jì)上,設(shè)計(jì)了UART口與GPS模塊連接,氣壓傳感器與GPIO口連接的外圍硬件電路。
飛控的GPS模塊采用的是UBLOX公司的型號為LEA-5H的GPS模塊,本設(shè)計(jì)中GPS模塊采用的是外接的形式,即GPS模塊可根據(jù)機(jī)體的實(shí)際情況放置在合適位置,所以設(shè)計(jì)時在飛控主板的接口中預(yù)留TX、RX、VDD5V、GND四個引腳,這四個引腳連接到MCU的UART口。
飛控的兩個氣壓傳感器都采用瑞士INTERSEMA公司的MS5540芯片,一個用以測量飛機(jī)的高度,另一個用來測量飛機(jī)的空速。本設(shè)計(jì)中利用S3C6410的GPIO,模擬SPI通訊接口方式來實(shí)現(xiàn)通訊。MS5540需要外接工作時序脈沖,利用CPLD分頻后產(chǎn)生相應(yīng)工作脈沖,接入MS5540。其余MS5540通訊引腳都與普通IO相連。
2.2 姿態(tài)控制功能模塊硬件設(shè)計(jì)
姿態(tài)控制功能模塊主要由采集姿態(tài)數(shù)據(jù)和輸出姿態(tài)控制指令兩部分構(gòu)成。
本文姿態(tài)傳感器采用ADI公司的ADIS16365慣性傳感器。ADIS16365內(nèi)部集成3個陀螺儀和3個加速計(jì),測量范圍可達(dá)為±300°/sec,±18g,角度分辨率為±80°/sec。應(yīng)用ADI的iMEMS Motion Signal Processing(運(yùn)動信號處理)技術(shù),對電壓變化、溫度變化及其它影響進(jìn)行校準(zhǔn),具有動態(tài)補(bǔ)償功能[5]。ADIS16365提供一個串行外部接口SPI。硬件電路設(shè)計(jì)上,連接SPI通訊端口、片選腳,如圖2所示。ADIS16365對于電壓的穩(wěn)定性要求較高,其工作電壓為4.75V-5.25V,系統(tǒng)板電源設(shè)計(jì)上要考慮到電壓的輸出范圍。
姿態(tài)控制是通過控制無人機(jī)上各數(shù)字舵機(jī)的轉(zhuǎn)角大小和動力大小來實(shí)現(xiàn)。本文無人機(jī)以鋰聚合物電池作為動力電源,由電子調(diào)速器來控制直流無刷電機(jī)的轉(zhuǎn)速,電子調(diào)速器通過輸入的PWM信號控制。數(shù)字舵機(jī)的轉(zhuǎn)動角度由輸入到舵機(jī)信號線的PWM信號決定。本文無人機(jī)上的4路PWM控制信號,周期為20ms,脈寬范圍為1ms至2ms,都由CPLD產(chǎn)生,其內(nèi)部實(shí)現(xiàn)過程如圖3所示,各模塊功能介紹如下:
(1) SPI數(shù)據(jù)接收模塊,負(fù)責(zé)對MCU發(fā)出的數(shù)據(jù)及指令進(jìn)行實(shí)時的接收。實(shí)現(xiàn)的基本原理是模擬從設(shè)備SPI通訊協(xié)議,數(shù)據(jù)通訊采用的是16位數(shù)據(jù)結(jié)構(gòu),另外SPI接收模塊只負(fù)責(zé)對MCU數(shù)據(jù)的接收,不負(fù)責(zé)對CPLD內(nèi)部數(shù)據(jù)的發(fā)送操作,目的是增加了模塊實(shí)現(xiàn)的可能性。從SPI接收模塊的端口引腳可以大致將其定義為一個由串口通訊轉(zhuǎn)化為并口通訊的轉(zhuǎn)換模塊。
pid控制器相關(guān)文章:pid控制器原理
評論