i.MX RT跨界處理器具有實時操作和應用處理器級的功能,其已經實際應用在智能交互、工廠自動化、智能支付終端、語音處理和語音識別等領域,這些應用場景已經足以證明i.MX RT的強大與廣泛的適應性。
除了前述的應用方向之外,今天小編再為大家介紹一個典型的應用場景——無人機。
玩無人機的小伙伴們都知道,四旋翼無人機的BLDC電調電機,通常需要單獨的MCU進行控制,如果用更加節能的FOC控制方式,那么對MCU的性能要求就比較高。一般講,這顆MCU除去控制電機外,還會處理一些其它事情并留有余量,所以生產無人機的廠商,大都喜歡用Cortex-M4的MCU來做FOC控制(NXP的高主頻+硬件除法器的M0+也完全可以勝任),也就是四旋翼無人機需要四顆較高性能的MCU,來分別控制四個電機。
除此之外,還需要一個至少是Cortex-M4級別的MCU做飛控,它需要讀取傳感器數據、控制飛行姿態、完成通訊等任務。
所有這些控制和操作,現在用一顆i.MX RT就都可以搞定了。i.MX RT性能強悍,以Cortex-M7為內核,主頻高達600MHz,片內512KB RAM,同時具有4組PWM模塊、適合多電機模擬信號采樣的ADC_ETC模塊,及豐富靈活的通訊接口,所以搞定飛控+4個BLDC電機控制自然不在話下。
我們接觸到很多使用i.MX RT做無人機的實例,下面為各位展示兩個優秀的方案。
基于i.MX RT1052的飛行學習板
這是一個由ZLG技術研發中心設計的,“4個無刷電機FOC驅動 + 飛控算法”的單芯片解決方案,按競賽級設計,有實力在無人機飛行大賽上爭金奪銀的!
其中的ZLG-Soar飛控軟件庫具有如下特點:
采用四元數互補濾波融合算法,和基于角速度環與角度環的串級PID姿態控制算法,在i.MX RT下控制頻率可達2KHz(一般飛控頻率為0.5KHz)。
支持自動校準功能,支持9軸或6軸IMU(慣量測量傳感器)。
支持SBUS航模串口協議,適用于支持該協議的任意無線收發器。
支持常用的IIC/SPI/UART接口,可以擴展不同的傳感器。
飛行學習板可以通過藍牙模塊,使用NXP的FreeMaster軟件邊飛邊進行參數的調試。
提供的軟件接口,可以讓用戶快速移植自己的飛控軟件,或BetaFlight,ClenFlight,PX4,OpenPiliot,RaceFlight等軟件。
下圖是i.MX RT飛行學習板的真身!產品級軟硬件設計,既可直接用于無人機,也可用于多電機FOC的應用評估,例如穩拍器、機器人、工業縫紉機等等。
下圖則是i.MX RT飛行學習板的電路結構:
核心是i.MX RT1052跨界處理器;
外接4路功率模塊,用無感FOC算法驅動4個無刷電機;
外擴IMU傳感器和氣壓計,可同時運行飛行控制算法;
同時預留了4個油門脈沖接口,可外接飛行控制器,學習板僅作為“4無刷電機FOC驅動”使用。默認整機7-12V/16A,可根據需求修改。
i.MX RT飛行學習板,提供多種配套軟件,包括:ZLG-FOC電機庫、簡易飛行控制算法、i.MX RT外設基礎例程等。用戶可快速搭建無人機產品,或其他多電機FOC的產品,例如穩拍器、機器人、工業縫紉機、IoT創新產品等等。
基于i.MX RT1052的開源AutoQuad飛控
這是一位網絡牛人(姑且稱他為老J)參加RT-Thread應用作品征集賽的一個作品。
AutoQuad是德國的一款老牌開源飛控(硬件閉源),其旨在提供穩定、動態飛行和自動駕駛功能的飛控控制器。
由于AutoQuad硬件閉源的特性,國內的玩家很少,但AutoQuad 的ukf算法“獨步天下”,絕對是一絕。15年時老J自己做出了Autoquad的M4版本硬件,并可以運行官方源碼。
2017年時他又將Autoquad移植到MDK環境下,并且將其RTOS替換為RT-Thread。后續玩這個玩了蠻久時間。他的體會是這個版本的AutoQuad由于UKF算法占用了很多CPU資源,使得整個系統CPU占用率太高,再者就是片內RAM資源捉襟見肘。
對于這個版本的AutoQuad目前有挺多模友想繼續深入的開發,比如網名為“我的世界觀”的網友,想將L1自適應控制算法加入到其中,但這個L1自適應算法也是極耗費CPU資源的。在這個背景下,老J開始著手了AutoQuad在i.MX RT1052上的實現,以期留出足夠的資源來給模友們做深入開發,同時也借機熟悉下RT-Thread的3.x版本。
硬件板子目前基于野火1052 mini開發板,傳感器是從馬家買的現成模塊,采用飛線的形式固定在開發板上(后期會重新設計一款小的適合飛控的板子)。
主控+傳感器
全部的連接都使用飛線
完成后的效果
系統框圖如下
本設計的特點是:
首先,作者對AutoQuad非常熟悉,已經清楚地看到了軟件對CPU高性能,與對大容量RAM的要求。剛好i.MX RT可以在這兩方面滿足他的升級要求。
其次,作者使用了現成的實時操作系統——RT-Thread,及其RT-Thread在i.MX RT上的現成BSP,依托i.MX RT豐富的外設接口和RT-Thread提供的標準設備驅動框架,能夠快速地移植整個軟件系統到i.MX RT平臺上。
第三,整個硬件環境尤其是主控板,采用了現成的野火開發板,省卻了研究適配開發i.MX RT1052硬件平臺的時間和精力。
關于該設計的詳細信息,可以參看原文:
NXP在i.MX RT105x上的方案
以上兩個方案都是充分地利用了i.MX RT1052的高性能、多端口和方便開發的特性,用一顆MCU實現了以前需要4-5顆MCU,甚至更多MCU,才能實現的功能,大大地簡化了硬件系統的復雜度,即降低了總體成本又縮小了系統的整體尺寸,同時減小了重量和功耗,進一步提高了無人機的性價比。
目前NXP還沒有在i.MX RT上的專用無人機方案,在多電機應用方面,有一個單片i.MX RT同時驅動三個電機的機械臂方案,如下圖所示:
接下來會通過攝像頭實時自動地識別物體,再直接驅動機械臂執行動作,所有這些也將會通過i.MX RT實現。
i.MX RT電機控制第三方學習板預告
恩智浦有個MAPS學習評估板系列,是按照原來的TOWER板重新設計的,目前有廣受客戶歡迎的MAPS-DSC系列,同時支持雙電機的伺服或步進。
如果需要評估i.MX RT的電機控制性能,除了官方發布的評估板之外,第三方合作伙伴正在建造中的MAPS-RT是個非常實用的評估板,不但支持伺服或步進電機,還可以支持工業中廣泛使用的EtherCAT(與友商合作),值得期待。
-
mcu
+關注
關注
146文章
17356瀏覽量
352788 -
電機控制
+關注
關注
3542文章
1898瀏覽量
269290 -
無人機
+關注
關注
230文章
10529瀏覽量
182599
原文標題:一顆MCU可以搞定無人機的電機驅動+飛控算法!
文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
基于NXP i.MX RT1021跨界MCU實現一個簡單的波形采集
![基于NXP <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1021跨界<b class='flag-5'>MCU</b>實現<b class='flag-5'>一</b><b class='flag-5'>個</b>簡單的波形采集](https://file1.elecfans.com/web2/M00/A4/41/wKgaomUBgAeATlVvAADbe9uvaqA984.jpg)
小四軸無人機設計四個空心杯電機
無人機MCU驅動的相關資料分享
恩智浦i.MX RT1170開創GHz MCU時代
恩智浦推出核跨界MCU的第二款產品i.MX RT1160
一顆MCU可以搞定無人機的電機驅動+飛控算法!
![<b class='flag-5'>一顆</b><b class='flag-5'>MCU</b><b class='flag-5'>可以</b>搞定<b class='flag-5'>無人機</b>的<b class='flag-5'>電機</b>驅動+<b class='flag-5'>飛</b>控算法!](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
i.MX RT開發筆記-08 | i.MX RT1062嵌套中斷向量控制器NVIC(按鍵中斷檢測)
![<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>開發筆記-08 | <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1062嵌套中斷向量<b class='flag-5'>控制</b>器NVIC(按鍵中斷檢測)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論