基于STM32設計的四軸飛行器飛控系統(tǒng)
引言
本文引用地址:http://www.biyoush.com/article/201609/296521.htm四軸飛行器是一種結(jié)構(gòu)緊湊、飛行方式獨特的垂直起降式飛行器,與普通的飛行器相比具有結(jié)構(gòu)簡單,故障率低和單位體積能夠產(chǎn)生更大升力等優(yōu)點,在軍事和民用多個領域都有廣闊的應用前景,非常適合在狹小空間內(nèi)執(zhí)行任務。因此四旋翼飛行器具有廣闊的應用前景,吸引了眾多科研人員,成為國內(nèi)外新的研究熱點。
本設計主要通過利用慣性測量單元(IMU)姿態(tài)獲取技術(shù)、PID電機控制算法、2.4G無線遙控通信技術(shù)和高速空心杯直流電機驅(qū)動技術(shù)來實現(xiàn)簡易的四軸方案。整個系統(tǒng)的設計包括飛控部分和遙控部分,飛控部分采用機架和控制核心部分一體設計增加系統(tǒng)穩(wěn)定性,遙控部分采用模擬搖桿操作輸入使操作體驗極佳,兩部分之間的通信采用2.4G無線模塊保證數(shù)據(jù)穩(wěn)定傳輸。飛行控制板采用高速單片機STM32作為處理器,采用含有三軸陀螺儀、三軸加速度計的運動傳感器MPU6050作為慣性測量單元,通過2.4G 無線模塊和遙控板進行通信,最終根據(jù)PID控制算法通過PWM方式驅(qū)動空心杯電機來達到遙控目標。
1、系統(tǒng)總體設計
系統(tǒng)硬件的設計主要分要遙控板和飛控板兩個部分,遙控板采用常見羊角把游戲手柄的外形設計,控制輸入采用四向搖桿,無線數(shù)據(jù)傳輸采用2.4G無線模塊。飛控板采用控制處理核心和機架一體的設計即處理器和電機都集成在同一個電路板上,采用常規(guī)尺寸能夠采用普通玩具的配件。系統(tǒng)軟件的設計同樣包括遙控板和飛控板兩部分的工作,遙控板軟件的設計主要包括ADC的采集和數(shù)據(jù)的無線發(fā)送。飛控板的軟件的設計主要包括無線數(shù)據(jù)的接收,自身姿態(tài)的實時結(jié)算,電機PID增量的計算和電機的驅(qū)動。整個四軸飛行器系統(tǒng)包括人員操作遙控端和飛行器控制端,遙控端主控制器STM32通過ADC外設對搖桿數(shù)據(jù)進行采集,把采集到的數(shù)據(jù)通過2.4G無線通信模塊發(fā)送至飛控端。飛控板的主要工作就是通過無線模塊進行控制信號的接收,并且利用慣性測量單元獲得實時系統(tǒng)加速度和角速度原始數(shù)據(jù),并且最終解算出當前的系統(tǒng)姿態(tài),然后根據(jù)遙控板發(fā)送的目標姿態(tài)和當姿態(tài)差計算出PID電機增量,然后通過PWM驅(qū)動電機進行系統(tǒng)調(diào)整來實現(xiàn)飛行器的穩(wěn)定飛行。系統(tǒng)的總體設計框圖如圖1所示。
圖1 系統(tǒng)總體設計框圖
2、四軸飛行器的硬件設計
2.1主控單元選擇
從成本和性能綜合考慮,飛控板和遙控板的主控單元都采用意法半導體公司的增強型高速單片機STM32F103作為主控的,STM32F103是基于的ARM 32位的Cortex-M3內(nèi)核架構(gòu),穩(wěn)定工作頻率可達72MHz,是一個具有豐富資源、高速時鐘的精簡指令的微處理器。STM32F103擁有從64K或128K字節(jié)的閃存程序可選存儲器,高達20K字節(jié)的SRAM,2個12位模數(shù)轉(zhuǎn)換器多達16個輸入通道,7通道DMA控制器,多達80個快速I/O端口,串行單線調(diào)試(SWD)和JTAG接口調(diào)試模式,多達7個定時器,多達2個I2C接口(支持SMBus/PMBus),多達3個USART接口(支持ISO7816接口,LIN,IrDA接口和調(diào)制解調(diào)控制),多達2個SPI接口(18M位/秒),CAN接口(2.0B主動),USB2.0全速接口。主控單元原理圖如圖2所示。
圖2 主控單元原理圖
2.2 飛控板電路設計
飛控板的核心設計是MPU6050測量傳感器、NRF2401無線模塊以及飛控板電機驅(qū)動等模塊的設計。飛控系統(tǒng)的慣性測量單元采用MPU6050作為測量傳感器,MPU6050的驅(qū)動方式采用IIC接口,時鐘引腳SCL連接到STM32的PB10,數(shù)據(jù)引腳連接到STM32的PB11引腳,數(shù)據(jù)中斷引腳連接到PB5,為了增強驅(qū)動能力在每個引腳上都加入了10K的上拉電阻,原理圖的設計如圖3所示。
圖3 飛控板慣性測量單元原理圖
相對于其他模塊電系統(tǒng)也是比較重要的部分,飛控系統(tǒng)采用3.7V高放電倍率鋰電池進行供電。主控芯片供電部分和IMU傳感器部分采用各自獨立的LDO進行供電,這樣確保了系統(tǒng)的穩(wěn)定性和IMU傳感器數(shù)據(jù)采集的準確性,穩(wěn)壓直流電源模塊的原理圖設計如圖4所示。
圖4 飛控板電源穩(wěn)壓原理圖
飛控板與遙控板數(shù)據(jù)的通信同樣采用的是基于2.4G頻段的NRF2401模塊,確保了數(shù)據(jù)的穩(wěn)定傳輸。STM32的SPI1外設對2.4G模塊進行操作驅(qū)動,引腳的連接如下表1所示。
評論