欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: DIY MWC四軸飛行器的裝配與調試 [打印本頁]

作者: 51黑ww    時間: 2016-4-11 15:34
標題: DIY MWC四軸飛行器的裝配與調試
各相關論壇里關于四軸飛行器的帖子很多,我從中也學到了很多東西,前段時間一直在忙別的工作,趁這幾天有點空,將之前做過的一些工作整理出來,對實際操作自我感覺有價值的帖子(或部分內容)匯總在此,并對一些本人覺得不妥的地方加以說明和修正。

一、四軸飛行器的組裝(轉:請參考相關內容)
二、MWC的硬件設計
三、MWC的固件配置
四、MWC的連接
五、四軸飛行器整機調試(一)
六、四軸飛行器整機調試(二)
七、其他
八、視頻
九、Q250 + MINI_MWC






二、MWC的硬件設計
1、原理圖

2、PCB布局圖

3、實物照片

4、材料清單

這種配置完全是為那些沒有多少經費的初學者選配的!!!

遙控器選擇的是MC6H航模遙控器 6通道2.4g 帶接收器

MC6H.pdf (1.08 MB, 下載次數: 37)

MC6遙控器.zip (932.06 KB, 下載次數: 33)



三、MWC的固件配置
1、Arduino IDE的安裝
Arduino集成開發環境下載:http://pan.baidu.com/s/1o9XCU(1.6.3下載)
如果你下載的是windows 安裝版(exe后綴),那么直接安裝即可,其他則直接解壓即可使用。

運行后的界面如下:


2、MulltiWii程序配置
MWC2.3官方原程序
MultiWii.zip (152.07 KB, 下載次數: 45)


雙擊運行MultiWii.ino程序。

初始界面顯示如下:


選擇config.h文件,選擇后如下:

按Ctrl+F,尋找“QUADX”


將“//#define QUADX”前面的雙斜杠刪除掉,變為:

其他后續部分作同樣的處理,見圖,沒有特殊情況,就不加以說明了。


對于簡單的6軸傳感器(三軸陀螺儀+三軸加速度)GY_521,請選擇“#define GY_521”,對于10DOF模塊(三軸陀螺儀+三軸加速度+三軸磁場+氣壓)的GY-86傳感器,則選擇“#define GY_86”。

注意:低通濾波頻率設置為20Hz,有些情況下,這個頻率設高了的話,油門推到最大都飛不起來。

關閉串口GPS。

如果使用GPS,就要開啟I2C_GPS;如果使用超聲波測距,就要開啟I2C_GPS_SONAR。

如果你想使用 GPS 自動返航等功能,一定要設置磁偏角,查詢磁偏角的最好方法是在手機GUI上查看。首先運行下圖中的MultiWii EZ-GUI程序,點擊“GPS信息”按鈕,最下面倒數第二行即為你所處地方的磁偏角。




飛控解鎖后,馬達不轉。這個功能,有好有壞,馬達旋轉可以提示你,飛控已經解鎖,注意安全。我習慣解鎖后馬達不轉。


四、MWC的連接
1、遙控器對頻

2、接收機連接

注:這里只有D2是通過GVS的3P線連接到飛控板的,其他通過單P線連接即可。因為遙控的所有接收端 GND和VCC是相通的。
3、電調連接

數字與飛控板舵機控制部分數字標號一一對應,數字周圍的箭頭,表示這個位置的電機旋轉方向,請與圖示標注保持一致。

4、電調校準

去掉//#define ESC_CALIB_CANNOT_FLY這句代碼前面的兩條斜線,啟用這句代碼,并將改過的程序燒錄到飛控板里。斷開USB下載線,接上飛行器的電池,在一段音調之后,等待一分鐘左右,拔掉電池。將#define ESC_CALIB_CANNOT_FLY這句代碼注釋掉,接上USB下載線,重新下載程序到飛控板里,至此校準電調完成。電調校準時不要安裝螺旋槳!!!
5、GPS連接
按照原理圖和PCB板圖上的5V、GTX、GRX、GND分別與GPS模塊的相應端子相連接,注意GTX與GPS模塊的RX相連,GRX與GPS模塊的TX相連。
6、超聲波連接
按照原理圖和PCB板圖上的V、T、E、G分別與超聲波模塊的VCC、Trig、Echo、GND對應相連。


五、四軸飛行器整機調試(一)
1、MultiWii GUI啟動、連接
請先安裝JAVA插件:
http://www.java.com/zh_CN/download/windows_ie.jsp?locale=zh_CN
安裝即可(注意:需要連接網絡才可以安裝此安裝文件),如果你的電腦是win7 64位的系統,安裝了JAVA虛擬機后GUI仍然運行不了,那你就需要到C:Program Files(x86)Javajre7in找到并復制javaw.exe,然后粘貼到C:WindowsSysWOW64這個文件夾下面,再重新運行GUI即可。
接著運行“application.windows32 MultiWiiConf.exe”。
application.windows32.zip (1.98 MB, 下載次數: 31)
點擊“READ”和“START”按鈕,就可看到飛控的默認初始數據和傳感器的數據曲線圖了。

2、傳感器校準與測試
a、加速度計校準

加速度計(ACC)在飛行器靜止時,三軸讀數會相對穩定,如果前后/左右/上下移動飛行器,對應的PITCH / ROLL / Z會有讀數變化,這表面加速度計工作正常。這時如果需要校準加速度計,請將飛行器放在盡量平的地面上,點按CALIB_ACC按鈕,等待大約5秒鐘,加速度計校準完成后,ROLL/PITCH會顯示為0,校準完成。校準完成后別忘了點擊“WRITE”保存。
b、陀螺儀測試
陀螺(GYRO)在飛行器靜止的時候,ROLL / PITCH / YAW三組數據都為0,拿起飛行器,分別朝向三個軸向擺動,會看到三組數據會跟隨變化,同時右邊的狀態圖會跟著擺動的方向做指示。左右傾斜飛行器,右邊的ROLL不會保持水平狀態,會有對應的傾斜動作,前后傾斜飛行器,PITCH也會產生相應變化,轉動飛行器,有圖中的四軸飛行器也會有對應動作。
c、磁場計校準
磁阻(MAG)讀數中我們只需關心ROLL這一項,當水平轉動飛行器指向北的時候,此讀數與下面的HEAD都為0,同時右邊的指北針也指向N位置,說明磁阻工作正常。如需校準磁阻,請點按CALIB_MAG按鈕,在30秒鐘內把飛行器朝三個軸向分別旋轉至少一圈再放回地面,即可完成校準。
d、氣壓計測試
氣壓計(ALT)讀數并不是絕對值,每個飛控都有可能不一樣,請不用擔心,我們只是需要相對的數據。測試氣壓計時可以上下移動飛行器超過1米高度差,或者用手按著氣壓計的金屬蓋,會看到讀數出現變化,當氣壓變高時,顯示海拔下降,這時正常情況。
3、GPS設置
源程序: I2C_GPS_NAV_v2_2.zip (32.52 KB, 下載次數: 34)
a、導航程序配置
導航板軟件  I2C_GPS_NAV_v2_2的config.h文件中修改下列代碼,打開SONAR部分。



下載導航程序到GPS Arduino模塊。
b、飛控軟件 MWC2.3代碼修改
代碼修改
(1)config.h文件,打開I2C_GPS和I2C_GPS_SONAR的設置
  #define I2C_GPS
    // If your I2C GPS board has Sonar support enabled
  #define I2C_GPS_SONAR
(2)IMU.cpp 文件,增加邏輯:當超聲波讀數低于3米時,代替氣壓計讀數
  uint16_tcurrentT = micros();
  uint16_tdTime;
  static int32_t tmpEstAlt = 0; //in cm 用于替換原氣壓高度的LPF運算,方便與超聲波讀數切換

  dTime =currentT - previousT;
  if(dTime < UPDATE_INTERVAL) return 0;
previousT = currentT;

if(calibratingB > 0) {
   logBaroGroundPressureSum = log(baroPressureSum);
   baroGroundTemperatureScale = (baroTemperature + 27315) *  29.271267f;
    calibratingB--;
  }

  //baroGroundPressureSum is not supposed to be 0 here 氣壓地面壓力和不應為0
  // see:https://code.google.com/p/ardupi ... AP_Baro/AP_Baro.cpp
  BaroAlt= ( logBaroGroundPressureSum - log(baroPressureSum) ) *baroGroundTemperatureScale;

  // 用tmpEstAlt變量替換原alt.EstAlt變量進行氣壓高度低通濾波
tmpEstAlt = (tmpEstAlt * 6 + BaroAlt * 2) >> 3; //additional LPF to reduce baro noise (faster by 30 μs)

  //在這里給alt.EstAlt賦值
if(sonarAlt>0 && sonarAlt<300 ) {
         alt.EstAlt = sonarAlt; //來自聲吶的值
  }
  else {
         alt.EstAlt = tmpEstAlt; //來自氣壓計的值
  }

  #if(defined(VARIOMETER) && (VARIOMETER != 2)) ||!defined(SUPPRESS_BARO_ALTHOLD)
c、GPS模塊設置
安裝u-center軟件,將GPS模塊通過USB轉TTL模塊與PC機相連,并運行u-center。

按F6、F7、F8打開三個窗口,觀察GPS是否有數據輸出。


選擇不同的波特率,看看選擇哪個波特率時,窗口有數據不斷的輸出,就說明GPS模塊的波特率就是所選的值。

如果波特率不是115200,進行如下設置。點擊 ViewMessages View,調出該窗口,然后點擊 UBXCFG(Config)RT(Ports),設置 Baudrate 為 115200。同時設置串口1的輸出格式為NMEA。

在配置好了之后,點擊窗口左下角的 Send 按鈕,就可以將配置發往 ATK-NEO-6M GPS模塊。這樣,我們就設置模塊波特率為 115200 了,此時 u-center 必須重新設置串口波特率為115200,才可以和模塊進行通信。
設置好之后, u-center 即可與模塊重新通信,但是模塊的波特率數據,并沒有保存在EEPROM 里面,只要模塊一斷電,下次上電,波特率就還是以前的出廠設定值。
因此我們還需要對剛剛的配置進行一個保存操作, 在 Messages View 窗口,選擇UBXCFG(Config)CFG(Configuration),選擇 Save current configuration, Device 選擇: 2-I2C-EEPROM。在設置好了之后,點擊窗口左下角的 Send 按鈕,就可以將指令發往 ATK-NEO-6M GPS模塊,從而將當前的模塊配置信息,保存在 EEPROM 里面。

GPS輸出信息設定,MWC的導航部分僅需要GGA、GSA、RMC,在 Messages View 窗口,選擇NMEA,首先,鼠標右鍵點擊NMEA,選擇Disable Child Message,這是沒有任何信息輸出。再分別選擇GxGGAGPGGA,鼠標右鍵點擊選擇Enable Message;GxGSAGPGSA和GxRMCGPRMC按同樣方法設置使能輸出。
下面設置測量頻率,還是在 Messages View 窗口,點擊 UBXCFG(Config)RATE(Rates), 設置 Measurement Period 為 200ms。

在配置好了之后,點擊窗口左下角的 Send 按鈕,就可以將配置發往 ATK-NEO-6M GPS模塊。然后,可以看到其他信息窗口的數據更新速度明顯變快了,說明我們的設置成功了。同樣,如果要保存該設置,前面波特率設置時所介紹的保存操作方法,進行保存。
4、超聲波測距測試
超聲波沒什么可調式的,如果硬件、軟件沒有什么問題,直接在MultiWii GUI的界面上就可以看到超聲波的高度數據。


六、四軸飛行器整機調試(二)
5、參數調整
a、PID參數調整
MWC是用PID算法進行飛行穩定性控制的程序,三個字母分別代表比例(P)-積分(I)-微分(D)。
PID三個參數的直觀作用:
P(比例):這是一個增益因子,當多軸飛行器受風等的影響發生向一邊傾斜時,P值直接決定多軸飛行器的抵抗這種傾斜的力的大小。P越大,多軸飛行器抵抗意外傾斜的能力越強,但P過于大時會引起多軸飛行器抖動甚至猛烈側翻。P越小,多軸飛行器抵抗意外傾斜的能力越弱,但P過小時會引起多軸飛行器自平衡能力不足甚至朝一邊側翻(如順著風的方向)。
I(積分):這個參數決定了飛行控制器對過往飛行狀態的依賴程度。如果I值太小,會使飛行器過度依賴當前的誤差,不能抑制“過敏”現象,從而造成飛行顛簸;如果I值太大,則會過度削弱系統對誤差的反應能力,造成反應遲緩。
D(微分):一旦多軸飛行器發生傾斜,則認為多軸飛行器會繼續向同一方向傾斜,合適的D參數的能有效抑制未來可能發生的傾斜。如果D值太小,您會覺得多軸飛行器反應不夠靈敏;如果D值太大,也會引起“過敏”。相較于P而言,D反映得更多的是靈敏度,而P反映的是糾正誤差的力度。
具體操作:將鼠標定位在待調整的PID參數上,按住鼠標左鍵左右移動鼠標即可調整該數值。初期PID參數默認即可,不必調整,默認參數就能飛的很穩。
b、油門曲線調整
如果你在試飛過程中發現四軸懸停非常難,油門非常不好把握,一拉油門就升老高,一降油門就直接落到地上,那你應該調整油門曲線。比如MID設為0.4,EXPO設為0.7等。遙控曲線不必設置,默認參數就很好。
6、遙控器設置
a、MWC的遙控動態范圍設定
如果遙控器的動態范圍不夠,也就是調整范圍最小無法小于1100,最大無法超過1900,則可以通過在MWCMultiWii.h中修改下列兩個參數,即可解決此問題。
#define MINCHECK 1150 //遙控器動態范圍最小設定值
#define MAXCHECK 1850 //遙控器動態范圍最大設定值
b、通道設置
打開遙控器開關。這時觀察GUI上遙控器各通道示數會有變化。
首先檢查各通道正反是否正確。推動前四個通道的搖桿,正反設置正確的標志如下。

若正反向不正確,則在遙控器設置里進行舵機相位的正反相設置即可。
正反設置完成之后需要校準各通道行程,要求各通道最小值在1050以下,最大值在1950以上。
然后升降舵、副翼、方向舵三個通道需要校準中立點(即搖桿自動回中那個值),利用遙控器各通道旁邊的微調開關,將以上三通道的中立點校準到1500左右,偏差不超過正負4。
c、飛行模式設定
設置完遙控器各通道的行程和中立點后,可進入飛行模式設置,操作界面如下:

右側中部淺藍色框中“ACC”、“BARO”、“MAG”、“GPS”和“SONAR”均為綠色,說明這些傳感器均設置為工作狀態。
上面黃色框中為飛行模式設定,框的左側由上往下依次為:

設置方法用鼠標點擊“灰色”小方塊,使其變為“白色”,對應功能即變成有效。
譬如AUX2的MID列對應的功能為:自穩+定高+鎖定航向。設置完成后需要點擊“WRITE”按鈕保存。這時你可改變遙控器輔助通道的狀態,相應的飛行模式就由暗紅色變成了綠色。
注意: GPS沒有衛星信號的時候,不管你怎樣操作遙控器上的開關,GPS Hold 和 GPS Home都無法激活。
MAG:航向保持功能,是指通過磁阻來保持航向,可以避免飛行器的非操控原因的自旋,第一次打開時,機頭會自動轉向(指向解鎖時還是上電時或真北我沒注意,因為我們的飛場三個方向是一樣的)。
HEADFREE:CF功能,也就是俗稱的無頭功能,不需要同時激活MAG,是指飛行器的傾斜與橫滾根據飛行器解鎖時機頭指向關聯,與飛行器實際的機頭指向無關。例如,無論飛行時機頭如何指向,往前推桿,飛行器就向解鎖時機頭指向的前方飛去。注意,是解鎖時機頭指向。(具體無頭模式功能的詳細說明你可以看其他帖子)
另外,打開GPSHOME或GPSHOLD時,都需要磁阻的輔助,不需要同時打開MAG,也不會自動打開MAG。但需要打開ANGLE功能,否則不工作。
在GPSHOME時,打開MAG,機頭會自動轉向HOME點方向后開始返航,到HOME點后,機頭再轉向到解鎖時的方向。

d、解鎖
油門搖桿打到右下角為解鎖,左下角為加鎖。解鎖后ARM為綠色,加鎖后為暗紅色。
7、電機測試
飛行器上電,打開遙控器電源,解鎖,推油門,看看電機轉速是否正常,槳葉安裝是否牢靠。


七、其他
1、電機不同時轉
油門推到60%的時候只有兩個電機轉,另外兩個不轉,當油門繼續加大第三個電機開始旋轉,再繼續加大油門第四個電機才轉起來。最后發現是“MultiWii”與“MultiWiiConf(MultiWii GUI)”不配套造成的。運行相應的配套“MultiWii GUI”程序,重新校準加速度計后,一切均正常了。

2、GPS導航部分出現的問題
I2C_GPS_NAV_v2_2 程序的 config.h 中下面這段:
……
//#define NMEA
#define UBLOX
//#define MTK_BINARY16
//#define MTK_BINARY19
//#define INIT_MTK_GPS
……

如果設置為“UBLOX”,編譯是通不過,我在一些論壇上也求助過,沒有人回答,后來通過我自己試驗,選擇“NMEA”成功了!
……
#define NMEA
//#define UBLOX
//#define MTK_BINARY16
//#define MTK_BINARY19
//#define INIT_MTK_GPS
……

參見:MWC接GPS和聲納的方法經驗以及我遇到的問題

3、入門級的其他部件選型
有很多人都說 XXD 的不好,絕對不要用,其實對于沒有多少錢的入門者,我感覺還是可以用的,對于我來說,錢不是問題,但做個簡單的,也就是嘗試一下而已,也沒有必要非得選那么好的,從使用角度上來看,也沒發現什么問題。
如果沒有配自鎖槳的新手,一定要注意槳葉一定要安裝牢靠(具體標準大家自己網上找吧),否則要是射槳(百度看射槳)了的話,問題就大了……

4、電調輸出并聯問題
線性降壓電調的輸出并聯沒有什么問題,但開關降壓電調的輸出是不能并聯在一起的!!!


八、視頻

MWC四軸飛行器



作者: 51黑ww    時間: 2016-4-11 15:35
1、2.4G的接收模塊與主機的連接在 "四、MWC的連接 --> 2、接收機連接" 中給出了;
2、遙控器與接收模塊的資料在 “二、MWC的硬件設計” 的最后有壓縮文件;
3、下圖中紅色框中是2.4G的接收機模塊。



這里再次給出,如有那里不清楚,請提出問題的細節。


2.4G的接收模塊與主機的連接表‘
MC6遙控器.zip (932.06 KB, 下載次數: 17)




飛控部分,3.5cm x 3.6cm

飛控板 + 擴展板



作者: 猴子哥的故事    時間: 2016-4-26 22:05
很贊啊
作者: lcr39101    時間: 2016-6-21 19:19
厲害,厲害,學習學習謝謝
作者: q542345231    時間: 2016-10-22 22:14
進來學學
作者: q542345231    時間: 2016-10-22 22:18
有誰能共享下文件給我,新手沒黑幣,QQ我的名稱
作者: dxa572862121    時間: 2016-12-20 07:19
很詳細了
作者: jilinzhang    時間: 2017-1-27 13:31
謝謝分享!!
作者: jilinzhang    時間: 2017-1-29 11:57
謝謝分享!!
作者: dpj121    時間: 2017-5-18 01:00
感謝分享
作者: gametheworld    時間: 2017-7-5 21:21
電路圖是否可以發我一份,淘寶店家需要CAM文件,我是搞軟件編程的,不知道這個東西怎么弄
作者: 黑黑—坤    時間: 2017-10-11 22:24
在嗎?  我看了你的"DIY MWC四軸飛行器的裝配與調試"非常開心,我只新手不懂這些.關于"聲吶"的問題,我不知道怎么修改IMU.cpp文件,請解釋一下可以嗎?     在此表示感謝!
作者: 昆明曾誠    時間: 2018-2-8 10:03
很詳細的教程,感謝分享。
作者: 昆明曾誠    時間: 2018-2-8 11:16
很感興趣,有時間研究下。謝謝分享。
作者: GZB    時間: 2018-5-10 18:30
很詳細的教程,感謝分享!!
作者: 騰飛的龍    時間: 2018-11-6 07:56
很好的資料,感謝分享!!!!
作者: 騰飛的龍    時間: 2018-11-6 08:02
樓主還在嗎?怎么編譯不通過啊
作者: 騰飛的龍    時間: 2019-2-21 11:09
感謝樓主分享超詳細的資料。樓主可以在具體說一下超聲波定高代替氣壓計那塊是怎么在固件里設置的嗎?
作者: 西邊的天    時間: 2019-3-4 23:16
準備研究一下
作者: Dragon6663    時間: 2019-8-1 11:58
樓主GPS部分的程序有錯誤啊,GPS_distance_cm是怎么回事
作者: gowin31581191    時間: 2019-8-30 00:22
很棒的內容,有過程。
作者: tom663    時間: 2020-6-25 22:45
學習了,很好!




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1