最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

自制MWC無人機(jī)飛控教程

2023-07-03 14:53 作者:丁丁愛飛無人機(jī)  | 我要投稿


MWC固件簡介

MWC是MultiWii Copter的縮寫,它并不是指硬件產(chǎn)品,而是開源固件。此固件的原創(chuàng)作者是來自法國的Alex,他為了打造自己的Y3飛行器而開發(fā)了最初的MWC固件(原創(chuàng)交流帖與官網(wǎng)的鏈接在最下方)。幾年來經(jīng)過許多高手的參與及共同努力,開發(fā)進(jìn)度越來越快?,F(xiàn)在MWC已經(jīng)基本成熟,可以支持更廣泛的硬件平臺、外圍設(shè)備及更多飛行模式,讓運(yùn)行MWC的飛控硬件成為國外開源飛控市場上占有率最高之一的產(chǎn)品。

?

MWC固件支持的硬件平臺

MWC固件是用Arduino IDE來編寫,支持Arduino發(fā)布的幾種主要的AVR開發(fā)板Pro Mini/Pro Micro/Mega等,也可支持使用STM32的Arduino兼容平臺,但STM32目前無法體現(xiàn)出任何性能與端口上的優(yōu)勢,所以仍以AVR為主流,成熟、夠用且穩(wěn)定。

?

MWC固件支持的外圍設(shè)備

1 藍(lán)牙調(diào)參模塊 - 用安卓手機(jī)/平板電腦來調(diào)試參數(shù)(推薦使用)

2 OLED顯示屏模塊 - 可作為機(jī)載狀態(tài)/參數(shù)顯示器,也可搭配遙控器進(jìn)行參數(shù)調(diào)試(不建議使用)

3 I2C-GPS導(dǎo)航板 - 328P飛控可通過它連接GPS,用于定點(diǎn)/自動返航以及航點(diǎn)飛行功能

4 GPS - 用于定點(diǎn)/自動返航

5 OSD - FPV必備,可顯示飛控與GPS數(shù)據(jù)

6 數(shù)傳模塊 - APC2XX/Xbee/3DR Radio等,用于遙測功能

7 光流模塊 - 用于定點(diǎn)飛行

8 聲吶模塊 - 用于低空高精度定高飛行

MWC固件支持的飛行器模式

下載最新的固件可支持以下飛行器模式,可自由在源代碼中選擇所需的模式并上傳到飛控。

◆GIMBAL - 獨(dú)立的云臺穩(wěn)定器(非飛控用途)

◆SINGLECOPTER - VTOL單軸

◆BICOPTER - 2軸阿凡達(dá)飛行器

◆Tricopter - Y型3軸

◆QUADP - 經(jīng)典4軸+模式

◆QUADX - 4軸×模式

◆Y4 - Y型4軸

◆Y6 - Y型6軸

◆HEX6 - 6軸+模式

◆HEX6X - 6軸×模式

◆OCTOX8 - 8軸×4模式

◆OCTOFLATP - 8軸水平+模式

◆OCTOFLATX - 8軸水平×模式

◆FLYING WING - 飛翼

◆VTAIL4 - V型尾翼4軸(飛行方式同×模式,轉(zhuǎn)向更靈活,主要作為固定翼來飛行)

◆AIRPLANE - 固定翼

◆HELI_120_CCPM - 直升機(jī)/120°傾斜盤,開發(fā)中,不建議使用

◆HELI_90_DEG - 直升機(jī)/90°傾斜盤,開發(fā)中,不建議使用

?

MWC固件對遙控器的規(guī)格要求

◆MWC需要至少4通道,但4通道遙控器無法切換飛行模式,強(qiáng)烈推薦6通道以上并帶有至少兩個開關(guān)通道

◆需具有子微調(diào)(Sub Trim)及通道行程(ATV)調(diào)整功能

◆需支持固定翼模式(無混控模式) ?CRIUS SE標(biāo)準(zhǔn)版飛控用于多軸飛行器時可實(shí)現(xiàn)以下基本功能

◆ACRO(無自穩(wěn),與KK類似)

◆自穩(wěn)

◆定高

◆鎖定航向

◆HeadFree(無頭模式,MK稱"CareFree",ACM稱"Simple")

可通過遙控器開關(guān)通道指定為幾項(xiàng)基本功能的組合,例如:

自穩(wěn)+定高+鎖定航向,可短時間脫控;

自穩(wěn)+定高+鎖定航向+定點(diǎn)懸停*,可完全脫控

自穩(wěn)+定高+鎖定航向+自動返航*

帶有*表示需要連接I2C-GPS導(dǎo)航板與GPS接收機(jī),可以另咨詢

?

MWC飛控N年歷史了,玩過航模的很多都做過,成本不高,制作簡單,穩(wěn)定性挺好,設(shè)置方便,易于上手等不少優(yōu)勢注定這款飛控對新手來說經(jīng)久不滅?。?/strong>百度搜索教程雖然也不少,沒有幾個系統(tǒng)的詳細(xì)的,如果一點(diǎn)不懂的小白,要費(fèi)很大功夫整理才能摸索出來。

這款飛控支持很多模型:三軸、四軸、六軸、八軸、單旋翼、雙旋翼、固定翼、V尾、甚至云臺等,都支持!這里就整理了常用的四軸無刷、四軸有刷、固定翼固件。鑒于很多重復(fù)的設(shè)置,這三樣一塊寫,想做的仔細(xì)看,注意代碼修改和接線區(qū)分就行了。末尾附件也有修改好的三種代碼,各位可以測試下,我們用的是pro mini 328p和gy521最低配置,這種DIY的飛控練手玩玩即可,再貴了真不如買成品了,成品有大把的好飛控。

????教程最下面有需要用到的所有工具下載!

一、焊接模塊

就兩個模塊,焊接只需要簡單接線就行,下面把各種飛機(jī)的接線上圖,按照圖示接好線就行。


MWC無刷四軸接線圖

MWC有刷四軸接線圖

有刷電機(jī)的正極直接連動力電池,負(fù)極連MOS管,還有有刷電機(jī)盡量并聯(lián)104電容和二極管,圖中沒畫,當(dāng)時忘了。

MWC固定翼接線圖


、刷固件
刷固件我用的是CH340,另外也可用PL2303引出了DTRData Terminal Ready數(shù)據(jù)終端就緒,表示終端設(shè)備準(zhǔn)備好了可以接受數(shù)據(jù)接口,一般的串口模塊也能刷,不過必須要把握時間重啟。我有修改過的模塊沒用過其他的,沒手動重啟過,具體怎樣手動重啟,這個百度下吧,應(yīng)該也很多。CP2102我也有,不過不好用,就沒用。
CH340和PL2303很便宜,不過一般買回來是沒有DTR接口的,這個芯片有這個接口,一般沒引出而已,我百度下了引腳定義,引出了DTR。這樣直接連接PRO MINI 328P就行,不用重啟,CH340或PL2303驅(qū)動請自行百度。具體引出效果看下圖:

?

PL2303DTR引出圖


這樣分別連上 5V-VCC? ?GND-GND? ?RX-TX? ?TX-RX? ?DTR-DTR,一共5根線,連好就可以刷固件了。

刷固件圖:

?

刷固件時的Arduino軟件設(shè)置

?三、電腦安裝所需要的編程軟件JAVA和arduino
附件的工具中有JAVA和arduino安裝程序,32位系統(tǒng)和64位系統(tǒng)的程序都有,注意區(qū)分安裝即可,這里就不詳細(xì)說了。先安裝JAVA再安裝arduino。

1.下 載arduino的軟件,在http://arduino.cc/hu/Main/Software

2.解壓縮上面的包,運(yùn)行arduino.exe,查看配置一下自己的sketch目錄

3.用USB線把Arduino nano連上PC之后(或者用USB to TTL模塊插入PC的USB口之后),應(yīng)該會“發(fā)現(xiàn)新硬件”

4.在arduino中找一個Blink的sample,選擇正確的端口和arduino板,編譯上傳,你可以發(fā)現(xiàn)Arduino nano就按照程序的指示,一閃一閃

5.下載最新版本的MWC固件,在http://code.google.com/p/multiwii/downloads/list

6.解壓到arduino的sketch目錄

7.重新打開arduino,打開MWC的sketch

8.以上幾步有問題的,請查找arduino的入門介紹資料。

、arduino設(shè)置MWC飛控

下面連接中有修改好的,可以省略修改步驟直接刷到mega328用,也有官方原版的2.3和2.4程序。由于當(dāng)時用2.4固件時不正常,修改好的全是2.3版本的,一樣用。

(一)MWC程序的概況

首先我們從整體上了解一下MWC程序的概況,MWC 程序開源,但是并不簡單。它里面的內(nèi)容不單單針對四旋翼,而是涵蓋了小型無人機(jī)中幾乎所有的內(nèi)容,四軸,八軸,直升機(jī),阿凡達(dá)等等。

研究程序的意義就不多說了,喜歡某種硬件的可以看看硬件程序;喜歡算法的可以研究其導(dǎo)航算法, 控制算法;喜歡應(yīng)用的可以在此基礎(chǔ)上附加功能等。簡而言之就是任何方面的愛好者都可以各取所好。這里分析的內(nèi)容基于 MWC2.3 版本(2.4 版本已經(jīng)放出,但并非穩(wěn)定版本),希望能對愛好無人機(jī)及開源的朋友提供一些參考內(nèi)容。自己也“趁機(jī)”整理一下所學(xué)內(nèi)容。

大家對四旋翼比較有興趣,因?yàn)槠涫前诵淼鹊幕A(chǔ),同時比較容易入手,不會像直升機(jī)那樣機(jī)械結(jié)構(gòu)比較復(fù)雜。

MWC2.3 版本改動內(nèi)容比較大,


2.3 文件個數(shù)增多,結(jié)構(gòu)更加合理。2.3 版本之前文件數(shù)更少,很多聲明和函數(shù)都積壓在一個文件下。以 MultiWii.cpp 和 MultiWii.h 為例,.h 文件定義大量重復(fù)使用,多文件使用的變量和結(jié)構(gòu)體,使得 cpp 文件可讀性提高。

2.3 版本當(dāng)中每個文件都有相應(yīng)的作用,知道文件的作用對于分析算法,尋找變量,修改算法等都有著比較重要的意義。

MultiWii 文件中包括重要參數(shù)聲明和初始化,main 函數(shù)

GPS 文件中包含不同硬件下,不同模式的導(dǎo)航算法

IMU 文件中包含姿態(tài)算法,以及涉及到傳感器部分的功能算法,如 baro 定高算法等

Output 文件中涉及到輸出表格,即將控制算法計算值轉(zhuǎn)換為 PWM 波輸送給電調(diào)控制電機(jī)響應(yīng)。RX 文件中涉及到接收并處理由接收機(jī)傳回的遙控器信號。

Config 文件對整個軟件系統(tǒng)進(jìn)行配置,包括無人機(jī)模型類型,傳感器類型,控制算法類型等內(nèi)容。這個文件是了解和使用 MWC 的關(guān)鍵文件之一。

def 文件對程序中進(jìn)行判斷的標(biāo)志進(jìn)行定義。從該文件中可以了解到整個結(jié)構(gòu)框架。

了解 MWC 各個文件的作用是必要的,尤其對于想要分析算法的朋友來講。這樣會省去很多的麻煩。

(二)MWC程序代碼的修改步驟
修改的具體步驟按以下圖示一步一步操作就行,有需要注意的地方我會說明:

?


如果是固定翼要修改下這里


如果是有刷四軸要修改下這里。

這里是調(diào)整舵機(jī)方向的,比如用在固定翼上時,舵機(jī)的左右擺動不對,可以修改這里。
哪項(xiàng)不對,就改哪項(xiàng)的符號(X或Y前面的負(fù)號),例如發(fā)現(xiàn) ACC里PITCH方向不對,那就把上面的accADC[PITCH]??= -Y改成accADC[PITCH]??= Y,其他同理。

?


修改完保存后驗(yàn)證一下,如果有改的不對的地方,軟件會有提示!
驗(yàn)證通過后就可以準(zhǔn)備刷固件了。

?

五、GUI調(diào)試MWC飛控
固件刷完,等待重啟,然后打開附件中MultiWii_2_3(***) \ MultiWiiConf文件夾,里面有各系統(tǒng)的調(diào)試軟件,按自己電腦系統(tǒng)打開就行。

??

不要接電調(diào),也不要裝上四軸,把已經(jīng)上傳好軟件的飛控板,插上USB接口,再打開MultiWiiConf(MultiWiiConf_2_0.exe),選擇飛控板對應(yīng)的串口,按一下Start,傳感器數(shù)據(jù)就應(yīng)該出來了。見軟件的左下方和下方圖表。這一步不正確者,請檢查代碼和傳感器連線。

?

此時晃動遙控器的搖桿,右上方的控制區(qū)相應(yīng)的數(shù)值應(yīng)該是跟著相應(yīng)變化的,如果變化的方向反了,請修改遙控器的設(shè)置,如果是搞錯了通道,那就要檢查一下焊接了。

最初的調(diào)試要解決幾個問題:傳感器姿態(tài)和遙控器行程

?

觀察右下方的ROLL、PITCH和3D模型,他們應(yīng)該是和你手上的飛控板的姿態(tài)是一致的,如果是這樣:

(1)短時間內(nèi):晃動ROLL橫滾,但PITCH俯仰發(fā)生變化,是GYRO_ORIENTATION的ROLL和PITCH錯了交換。

(2)短時間內(nèi):晃動ROLL或者PITCH,相應(yīng)的姿態(tài)是變化了,但反了,那是GYRO_ORIENTATION的ROLL或者PITCH的正負(fù)符號錯了。

(3)短時間內(nèi)沒問題,但保持一個姿態(tài)一會兒ROLL或者PITCH發(fā)生異常,那是ACC_ORIENTATION寫錯了,參照以上兩點(diǎn)修改。

(4)因?yàn)橛玫氖荕PU-6050,加速度傳感器和角速度傳感器是固定的,因此,不需要做任何代碼修改,只要把你的線路板的“正前”定義好就行了。

?

?不接電機(jī),僅通過電調(diào)給飛控板供5V電,USB轉(zhuǎn)串口數(shù)據(jù)線接到飛控板上,打開遙控器,飛控板通電。再打開GUI調(diào)試窗口,搖動手柄,看這里的油門通道(THROTTLE)、方向通道(YAW)、升降通道(PITCH),副翼通道(ROLL)的最高值,最小值和中立點(diǎn)值。要求各通道最小值小于1100,最大值大于1900,中立點(diǎn)1500+-10。達(dá)不到這個要求,請調(diào)節(jié)遙控器的通道行程設(shè)置ATV(EPA),120-125%,及微調(diào)中心點(diǎn)或SUB TRIM,來達(dá)到以上要求。

?MWC 通道檢查

?MWC 通道低值

??????

?????

???MWC 通道高值

??? 如果不能滿足這個要求,就得改動原程序了,一般多數(shù)是最大值不能滿足要求,在1850-1900之間,用Arduion打開原程序,

在主程序模塊里用Find命令找到這里,


?MWC 原程序解鎖門限

把MAXCHECK 1900 改為1850 ,重新給板子寫程序,不到10秒鐘的事,呵呵。

各通道的正反向一般是,油門最低,方向最左,升降最下,副翼最左,此時各通道對應(yīng)最低值,小于1100。經(jīng)過這些調(diào)整,板子的解鎖、閉鎖,各通道正反向及中立點(diǎn)就沒問題了。

?

開啟MWC飛控自穩(wěn)模式。

? ? 不開啟自穩(wěn)模式,那就和KK沒區(qū)別了。如果沒有接飛控5通道,這里就設(shè)置為?


用鼠標(biāo)直接點(diǎn)亮那個方塊,再點(diǎn)擊??

,寫到飛控的EEPROM里。表示任何時候都開啟自穩(wěn)。


? ? 如果接的是2段開關(guān),設(shè)置為??,表示在開關(guān)低高位開啟自穩(wěn)。接的是3段開關(guān),

就設(shè)置為全亮,表示在開關(guān)低中高位開啟自穩(wěn)。下面的依次為BARO氣壓定高M(jìn)AG

磁定向 云臺舵機(jī),快門等功能,設(shè)置方法與自穩(wěn)功能類同。

??

??

?
MWC I參數(shù)歸零



MWC 調(diào)試PID.
MWC 默認(rèn)參數(shù)
MWC 校準(zhǔn)ACC.
?MWC 增大P參數(shù).

?5、在GUI里通過點(diǎn)擊??,初步校準(zhǔn)ACC。方法是盡可能水平放置飛控板,點(diǎn)擊CALIB_ACC,幾秒后,ACC ROLL和PITCH值歸零,Z 值回到500(BMA180)或250(BMA020)或200(NK,雞腿),此時板子左右前后傾斜超過15度左右,那個狀態(tài)指示燈閃動,說明ACC初步校準(zhǔn)好了。還有,那個狀態(tài)指示燈閃動時候,是不能解鎖和閉鎖的。也說明此時板子未水平或未校準(zhǔn)ACC。

? ???6、第一次試飛前,陀螺和加速度傳感器(GYRO & ACC)一定要校準(zhǔn)。方法是:四軸盡可能地上水平放置,打開控,飛控板通電,不要動四軸,在最初的幾秒里,飛控板有個自檢過程,這個時候晃動四軸,可能導(dǎo)致自檢不成功,狀態(tài)指示燈會一直閃亮,不能解鎖。

待自檢完成后,那個燈停止閃亮,控油門最低,方向最左,升降最下,稍等,指示燈閃亮,陀螺校準(zhǔn)完成;接著油門最高(注意,現(xiàn)在飛控未解鎖哦),方向最左,升降最下,稍等,指示燈閃亮,加速度校準(zhǔn)完成;

? ???7、以上準(zhǔn)備工作完畢,可以解鎖試飛了。MWC飛控1.8版本后解鎖有2種方法:一是油門最低,副翼最右;二是油門最低,方向最右。解鎖后,狀態(tài)指示燈常亮,推油試飛吧。

? ???8、仔細(xì)調(diào)整通道微調(diào)和PID參數(shù),使四軸可以平穩(wěn)懸停

飛起來后,還得仔細(xì)調(diào)整方向、升降、和副翼通道的微調(diào),盡量使四軸可以保持平穩(wěn)懸停。如果微調(diào)到頭還不行,就得重新校準(zhǔn)ACC。這里有個竅門,四軸往哪個方向偏,校準(zhǔn)ACC時,把四軸在那個方向略墊高些。

MWC飛控源程序默認(rèn)的PID參數(shù)不一定適合你的四軸,還得根據(jù)你的四軸仔細(xì)調(diào)整。我的經(jīng)驗(yàn)是,四軸軸距大于300mm,ROLL、PITHCH、LEVEL等P參數(shù)可以調(diào)大些。

?

四軸按此圖設(shè)置:

?

?


固定翼按此圖設(shè)置:

?

?

另外此軟件的使用說明看下面幾張圖:

?

?

?


下面鏈接中還有MWC程序的中文注釋,想深入研究不懂英文的可以按照注釋研究下。教程到此結(jié)束。

?

1. MWC 程序最新版本,附帶對應(yīng)的GUI設(shè)置程序

http://code.google.com/p/multiwii/downloads/list

2. Arduino 編輯和上傳程序的必備工具

http://arduino.cc/en/Main/Software

3. FTDI USB轉(zhuǎn)TTL工具驅(qū)動

http://www.ftdichip.com/Drivers/VCP.htm

4. MWC GUI程序需要JAVA虛擬機(jī)支持,可前往JAVA官網(wǎng)下載

http://java.com/zh_CN/download/manual.jsp?locale=zh_CN

5. RCGruop論壇的MWC帖,最新消息及討論???http://www.rcgroups.com/forums/showthread.php?t=1261382

http://www.rcgroups.com/forums/showthread.php?t=1340771

6. MWC官網(wǎng),DIY指南、常見問題解答及官方論壇

http://www.multiwii.com/

7.工具及軟件網(wǎng)盤打包

http://pan.baidu.com/s/1i4JgD97 密碼:zz6w

?

備注:PID調(diào)參和藍(lán)牙模塊的教程后續(xù)再出。

最后感謝諸位網(wǎng)上MWC教程的寫作者,一些引用之處萬分感謝!


自制MWC無人機(jī)飛控教程的評論 (共 條)

分享到微博請遵守國家法律
淮安市| 阳东县| 台南市| 隆尧县| 武夷山市| 中江县| 永济市| 曲沃县| 藁城市| 阜南县| 闽侯县| 太仓市| 哈尔滨市| 长兴县| 卓资县| 莱芜市| 肇州县| 潜江市| 东阿县| 仪陇县| 湖口县| 北碚区| 合肥市| 滦平县| 若尔盖县| 睢宁县| 皮山县| 巨野县| 丰台区| 苍溪县| 扎赉特旗| 奈曼旗| 田阳县| 漠河县| 苍山县| 格尔木市| 永善县| 南投县| 汝州市| 望城县| 涞源县|