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