這里就寫一下MW Wiki里面我覺得不錯的東西。
如果你在戶外玩,你的 flyng rc 模型必須是抗風(fēng)的。
1.越重越好——動量和慣性越大
2.越小越好 -暴露在風(fēng)中的表面越少
此外,具有更快(更高 Kv)電機的小型道具將比更大的道具更抗風(fēng)。
這個是我們要看的代碼,很少的代碼
MultiWii 的第一個配置是在固件源的config.h文件中完成的。使用 Arduino 等編程 IDE 或簡單的文本編輯器,可以更改多旋翼飛行器、飛翼或直升機的多個選項。
這是通過添加或刪除#define參數(shù)前面的//來完成的,該參數(shù)注釋或取消注釋該行,以便它包含或不包含在最終固件中。
例如,在配置文件中選擇多旋翼的類型、電機的最小油門、i2c 速度、內(nèi)部上拉電阻(如果需要)、至少帶有陀螺儀的控制器板,刪除#define前面的//就可以了在ACRO模式下飛行的最簡單配置。無需更改任何其他行:
#define QUADX#define MINTHROTTLE 1180#define I2C_SPEED 400000L#define CRIUS_SE
下一步是使用 Arduino IDE 或其他方式(如 ISP 編程器)將固件上傳到控制器板.
飛控內(nèi)存使用:
需要注意的是,可以在 config.h 中啟用許多選項,這些選項會影響編譯代碼的最終大小以及運行時使用的 RAM。當(dāng)使用基于 ATmega 328p 的 multiwii 飛行控制器時,在 config.h 中選擇要啟用的內(nèi)容時應(yīng)特別小心,以免超出可用程序內(nèi)存或 RAM。目前 Arduino IDE 將無法編譯超過程序內(nèi)存大小的固件,但它只會警告可能的低 RAM。
這樣就是開啟了
http://www.multiwii.com/wiki/index.php?title=Config.h
這個是對宏定義的一個簡單的說明。
這里只能選擇一個飛機的類型
可以在這里看到不同的氣動布局
電機的最小油門
這是在啟動電機時選擇的最低油門速度。你必須根據(jù)你的 ESC(速度控制器)和電機配置該值。此設(shè)置將防止電機在飛行中停止并發(fā)生碰撞。測試該值是否正常,電機在沒有螺旋槳的情況下運行并移動飛機以查看在改變速度時是否有任何電機停止。
獨立傳感器
RC控制,你這里看,就找到BF用的人多了,都是按鈕,一點就好,這里得看半天。
MultiWii 使用閉環(huán)控制器來確保其穩(wěn)定性和可操作性。與大多數(shù)多旋翼一樣,它使用比例積分微分 (PID) 控制器。
當(dāng) MultiRotor 方向在任何俯仰/滾動/偏航軸上發(fā)生變化時,陀螺儀會指示其初始位置的角度變化。MultiRotor 控制器嘗試糾正控制器輸出測量值(由陀螺儀測量)和輸入設(shè)定點(搖桿位置)之間計算的誤差,并驅(qū)動電機嘗試將 MultiRotor 返回到其初始位置。
這種測量的角度偏差和隨時間變化的采樣的組合為控制器提供了足夠的信息來驅(qū)動電機僅使用陀螺儀返回平衡:這是默認(rèn)的Acro 模式。
使用陀螺儀,飛行控制器將使用角速度來保持當(dāng)前姿態(tài)。對可達(dá)到的態(tài)度沒有限制。所有其他飛行模式均基于此模式。在使用其他飛行模式之前,需要在特技模式下實現(xiàn)穩(wěn)定的行為。
找到飛機的重心,把電池移動到這里,接著,把RC桿打一半,電機功率的50%。
P 是 PID 的主要部分,可以讓你了解良好的飛行特性。
1.將 PID 設(shè)置為其默認(rèn)值
2.將 MultiRotor 牢牢固定在空中
3.將油門增加到開始感覺輕的懸停點
4.嘗試將 MultiRotor 向下傾斜到每個電機軸上
5.應(yīng)該感覺到對每個軸的壓力的反應(yīng)。
6.改變 P 直到難以對抗反應(yīng)。
7?,F(xiàn)在嘗試沿 Pitch 軸(從前到后)搖動 MultiRotor。增加 P 直到它開始振蕩,然后減少觸摸。對偏航軸重復(fù)?,F(xiàn)在應(yīng)該適合飛行。
高級調(diào)優(yōu) - 了解 P、I 和 D 的影響:
P : 這是用于將 MultiRotor 返回到其初始位置的校正力的大小。
力的大小與初始位置的偏差減去控制器輸入的任何改變方向的命令的組合成正比。較高的 P 值將產(chǎn)生更強的力來抵抗任何改變其位置的嘗試。如果 P 值過高,在返回初始位置時,會出現(xiàn)過沖,需要反作用力進(jìn)行補償。這會產(chǎn)生振蕩效應(yīng),直到最終達(dá)到穩(wěn)定性或在嚴(yán)重的情況下變得完全不穩(wěn)定。
增加 P 的值:
它會變得更加穩(wěn)固/穩(wěn)定,直到 P 太高,它開始振蕩并失去控制。
你會注意到對移動 MultiRotor 的任何嘗試都有很強的抵抗力。
P 的遞減值:
它會在控制中開始漂移,直到 P 變得非常不穩(wěn)定時太低。
對任何改變方向的嘗試的抵抗力都會降低。
特技飛行:需要稍高的P值
輕柔平穩(wěn)的飛行:需要稍低的P值
I :這是對角度變化進(jìn)行采樣和平均的時間段
施加到返回初始位置的力的量增加了 I 因子,偏差存在的時間越長,直到達(dá)到最大力值。更高的 I 將增加角度保持能力。
為 I 增加值:
增加保持整體初始位置的能力并減少漂移,但也會增加返回初始位置的延遲。
也會降低P的重要性。
I 的遞減值:
會改善對變化的反應(yīng),但會增加漂移并降低保持姿勢的能力。
也會增加P的重要性。
特技飛行:需要稍低的 I
平緩平穩(wěn)飛行:需要稍高的 I
D:這是 MultiRotor 返回到其原始位置的速度。
增加 D 的值:提高恢復(fù)偏差的速度
快速恢復(fù)速度帶來更高的過沖和振蕩概率
也會增加P的效果
D 的遞減值:
在將任何偏差返回到其初始位置時減少振蕩
恢復(fù)到初始位置變得更慢
也會降低P的效果
特技飛行:增加D
平緩飛行:減小 D
用于特技飛行
增加 P 的值直到振蕩開始,然后稍微后退
更改 I 的值,直到懸停漂移不可接受,然后稍微增加
增加 D 的值,直到從劇烈的控制變化中恢復(fù)導(dǎo)致不可接受的恢復(fù)振蕩
P現(xiàn)在可能需要稍微降低
穩(wěn)定飛行 (RC)
增加 P 的值直到振蕩開始,然后稍微后退
更改 I 的值,直到無法從偏差中恢復(fù),然后稍微增加
減小 D 的值,直到從劇烈的控制變化中恢復(fù)變得太慢。然后稍微增加 D
P現(xiàn)在可能需要稍微降低
穩(wěn)定飛行(AP / FPV)
增加 P 的值直到振蕩開始,然后稍微后退
更改 I 的值,直到無法從偏差中恢復(fù),然后稍微增加
減小 D 的值,直到從劇烈的控制變化中恢復(fù)變得太慢。然后稍微增加 D
P現(xiàn)在可能需要稍微降低。
有個簡單的調(diào)參窗口
其次支持的各種傳感器有:
陀螺儀:
L3G4200D
ITG3200
MPU6050
MPU3050
IDG-650、ISZ-650(Wii Motion Plus)
加速度計:
LIS3L02AL
MMA7455
ADXL345
BMA180a
BMA020
LIS3LV02
LSM303DLx
MPU6050
MPU3050
氣壓計/高度計:
BMP085
MS561101BA
磁力計
MAG3110
HMC5843
HMC5883
AK8975
全球定位系統(tǒng)
帶串行輸出的 GPS,支持以下協(xié)議:
UBLOX
NMEA
MTK 二進(jìn)制(v1.6 和 v1.9)
i2c 全球定位系統(tǒng)
這個飛控還帶給了我們一個串行的協(xié)議:
好東西
MSP 消息的一般格式為:
<前導(dǎo)>,<方向>,<大小>,<命令>,,
在哪里:
preamble= ASCII 字符 '$M'
direction= ASCII 字符“<”如果到 MWC 或“>”如果來自 MWC
size = 數(shù)據(jù)字節(jié)數(shù),二進(jìn)制。在向 MWC 提出數(shù)據(jù)請求的情況下可以為零
command = message_id 根據(jù)下表
data= 如下表。UINT16 值是 LSB 在前。
crc =
插表格太難看了
有需要看源網(wǎng)站
原來,MW是以這樣的一種方式活到了現(xiàn)代
-
控制器
+關(guān)注
關(guān)注
112文章
16332瀏覽量
177812 -
電機
+關(guān)注
關(guān)注
142文章
9001瀏覽量
145340 -
代碼
+關(guān)注
關(guān)注
30文章
4779瀏覽量
68525
原文標(biāo)題:BF固件:Multi WiiCopterh固件(PID調(diào)參)
文章出處:【微信號:TT1827652464,微信公眾號:云深之無跡】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論