Betaflght是穿越機中使用相當廣泛的一款開源飛控,為了讓國內(nèi)更多玩家了解betaflght的更新和調(diào)試,我現(xiàn)將官方wiki上的調(diào)試筆記翻譯過來。
官方鏈接在此:https://github.com/betaflight/betaflight/wiki/3.5-tuning-notes
Betaflight 3.5介紹:
****反重力改進
****錯誤修復(fù)和優(yōu)化
實際上,這些變化應(yīng)該:
****顯著改善偏航(yaw)性能并使調(diào)整更容易
****允許更集中的噪音接收和/或更少的延遲,特別是在制作工藝良好的四軸上。
3.5 RC1是實驗性的。 請在飛行前確認CLI中的所有PID更改。完整的配置器,Lua,Blackbox和OSD支持將會發(fā)生,但還不會出現(xiàn)。
Configurator 10.4和Log Viewer 3.2或更高版本即將推出,可與3.5配合使用。
我可以更新并飛行嗎?
是的,特別是直接使用默認值飛行......但是:
****如果您從3.4之前的版本進行更新,請閱讀Betaflight 3.4 Tuning Notes(),因為它們也適用于3.5。
****如果您有自定義的D weight和過渡,您對快速桿輸入的敏感度可能會有所不同。您可能需要修改新的前饋和前饋過渡值以反映舊設(shè)置。
****新的Anti Gravity代碼默認為SMOOTH,并且應(yīng)該比之前更好,但是如果你討厭它,你可以回到舊STEP方法。
****你將獲得比以前更好的動態(tài)陷波功能,但為了在一架良好的四軸上真正改善濾波,應(yīng)該從默認值修改設(shè)置。
****D weight設(shè)置(包括通過OSD或Lua進行的更改)將被忽略。
再見D Setpoint Weight:
您好前饋(Feed Forward)!
這可能是近年來最大的變化: 不再是D Setpoint Weight。
前饋(Feed Forward)現(xiàn)在接管D Setpoint Weight的作用,并且可以針對每個軸(俯仰,滾轉(zhuǎn)和偏航)單獨配置。
set f_pitch = 60,
set f_roll = 60,
set f_yaw = 60,
Allowed range: 0 - 2000
FF(即Feed Forward)的默認值(60)與之前的3.4默認值相當。
注意:在從先前版本更新時,在每個PID配置文件中,您的舊D重量設(shè)置將丟失。
要開始使用具有與舊D加權(quán)方法完全相同的前饋行為的3.5,請將FF計算為(D/26)*D_Weight,其中D是您的PID'D'值,D_Weight是D_Weight滑塊值的100倍,或者您的確切dterm_setpoint_weight值來自CLI。例如,如果你的D是26,你的D重量滑塊是1.0,那么等效的FF就是100.如果你的D是52,而D的重量是100,那么200的FF會在那個軸上飛行。Yaw FF被進一步覆蓋。
您可能還必須手動更新過渡值,但數(shù)值單位和操作方法是相同的。
前饋提供“動態(tài)打桿增強”或“動態(tài)打桿響應(yīng)”。當搖桿快速移動時,它會更快地將四軸推入轉(zhuǎn)彎響應(yīng)中。使用前饋,桿移動得越快,推動越大。并且它不會等待任何錯誤發(fā)展,響應(yīng)是瞬間的。
前饋效果通過過渡參數(shù)在中心桿周圍衰減,因此通過設(shè)置過渡到0.5或0.1,可以使四軸在自由式飛行中心周圍更加阻尼(更少抽搐)但是對于比賽和直接響應(yīng)它是最好將轉(zhuǎn)換保留為0。
零前饋允許D始終抑制四邊形,即使指示四軸快速轉(zhuǎn)動也是如此。前饋太多可能會使四軸過于抽搐,并可能導(dǎo)致過沖。
默認FF值為60是“中等范圍”值。
通常,對于響應(yīng)性競賽導(dǎo)向四軸,大約100的FF值是合理的量。
對桿輸入的總體響應(yīng)性取決于P和FF。不再需要或不希望保持增加P以改善瞬態(tài)桿響應(yīng)性。添加FF是一種比添加P更好的實現(xiàn)棒響應(yīng)的方法。
偏航前饋
偏航性能在歷史上一直弱于俯仰和滾轉(zhuǎn),導(dǎo)致人們偏航高水平的偏航P,導(dǎo)致噪音和搖擺,過沖和反彈的擺動。
不再! 在3.5中,偏航通常與俯仰和滾轉(zhuǎn)一樣響應(yīng)和精確。
在所有四軸上推薦至少50個偏航的FF。默認值為60。
為了獲得更好的偏航響應(yīng)性,P不需要超過40-60,實際上較低的P會降低偏航噪聲并反彈。
非常高的偏航我在大多數(shù)四軸上工作得很好,而且(奇怪的是)當與偏航前饋相結(jié)合時,實際上減少了反彈。
隨著這些變化,偏航響應(yīng)性將比俯仰和滾動更好或更好。使用前饋和偏航時的高I,反彈將是最小的,并且不需要在這些設(shè)置上運行iTerm_Relax。(I值釋放)
** Yaw D是實驗性的。對于普通四軸,不要向偏航添加任何D,否則你可能會發(fā)生偏航振動。** Yaw D 可能對于三軸有用。
這些是我個人推薦用于典型穿越機的偏航相關(guān)值:
set iterm_relax = RP
set p_yaw = 40
set i_yaw = 120
set d_yaw = 0
set f_yaw = 100
更平滑的Anti_Gravity(反重力)
四軸,特別是電池放在底部的穿越機,其重心低于推力中心,或者增加氣流傾向于使四邊形向后旋轉(zhuǎn)。這就需要累積i值以保持設(shè)定的俯仰角。穿越機向前飛行時,當油門桿在飛行中快速上下移動,這樣的穿越機(電池下置)可能會上下抬頭,即俯仰角不能保持。反重力是Betaflight功能,可幫助我們更快地適應(yīng)油門快速變化后所需的新i值。
在3.5之前,Anti_Gravity使用“全部或沒有”方法。每次新的油門值到達時,如果油門的步驟變化超過閾值,則乘以Anti_Gravity_Gain量。但如果下一步只是低于閾值,那么什么都不會發(fā)生。
由于RC步驟之間的時間間隔因無線電而異,因此每步的節(jié)流閥更改量可能會發(fā)生很大變化。因此,反重力效應(yīng)是否真正起作用是一種碰運氣的事。
新的默認set anti_gravity_mode = SMOOTH模式增加I與油門變化率的平滑比例。沒有突然的步驟,也沒有擔(dān)心的閾值 - 舊的閾值被忽略。
可以通過增加或減少anti_gravity_gain參數(shù)來改變效果的整體強度。您的舊值應(yīng)該是一個很好的起點,但建議使用默認值5000。
注意:當踩油門難以歸零時,流入道具可以反轉(zhuǎn),造成明顯的俯仰和滾動不穩(wěn)定,所以不要指望飛機在這些條件下保持的角度堅如磐石。
可以通過選擇選擇舊方法set anti_gravity_mode = STEP。
動態(tài)陷波濾波器調(diào)整
Dynamic Notch是有效噪聲管理的重要因素。
3.5改進了算法并允許通過CLI進行調(diào)整。在許多設(shè)置中,適當?shù)母淖兛梢詫?dǎo)致更少的延遲和/或甚至更好的噪聲控制。
使用默認值可保留舊行為。
具有相對堅硬的框架,良好的馬達和新道具的四軸飛行器通常具有干凈的噪聲曲線,除了一個噪聲峰值隨著電動機噪聲增加而增加。
在這些四軸上,舊的動態(tài)陷波代碼在高油門時段期間往往過低,在不消除噪聲的情況下顯著增加延遲。
對于嘈雜的四軸(自身噪聲大),舊的動態(tài)陷波最終保持在200到300Hz之間的范圍內(nèi),更像是一個固定的陷波。
代碼更改為:
對后置濾波器,后陷波輸入數(shù)據(jù)進行操作,這樣如果你添加一個陷波,動態(tài)就不會在同一點上結(jié)束
忽略有時將其推得太低的低頻輸入
更好地跟蹤峰值
如果沒有峰值,則達到最高值,以盡量減少延遲
允許用戶配置品質(zhì)因數(shù),以便它可以跟蹤更廣泛的輸入數(shù)據(jù)
允許用戶設(shè)置凹口的寬度,更窄,導(dǎo)致更少的延遲。
重要提示:電機發(fā)熱的自身噪聲大的四軸應(yīng)保留默認值。
調(diào)整動態(tài)過濾器 - 對于自身噪聲小的四軸
dyn_notch_quality是CLI值,用于設(shè)置允許陷波濾波器移動的范圍。從技術(shù)上講,這設(shè)置了輸入帶通濾波器的Q因子。
舊的動態(tài)陷波Q因子和當前默認值是70.這限制了動態(tài)到相對窄帶的移動范圍,通常在240和300Hz之間。將dyn_notch_quality設(shè)置為5可以將帶寬打開到150到600Hz之間的范圍。這在干凈的四邊形上非常有效,它具有明確的電機速度相關(guān)峰值,運行頻率高達600Hz。
dyn_notch_width_percent設(shè)定動態(tài)缺口的寬度。如果設(shè)置為20,則陷波將是中心頻率的+/- 20%。如果算法將中心頻率設(shè)置為300,則20%寬的陷波將覆蓋240到360的范圍。
當前默認值為50%,即舊動態(tài)過濾器的寬度。給定舊濾波器的典型中心值,這導(dǎo)致寬的陷波,這導(dǎo)致有意義的額外延遲。
在干凈的四軸(自身噪聲小的意思)上,動態(tài)可以縮小到20%,并且仍然可以很好地工作。
對于中等噪聲的四軸,請嘗試:
set dyn_notch_quality = 15
set dyn_notch_width_percent = 30
對于非常干凈的四邊形,請嘗試:
set dyn_notch_quality = 5
set dyn_notch_width_percent = 20
要查看缺口的中心頻率在黑盒中的每個軸上的作用,并記錄原始陀螺:
set debug_mode = FFT_FREQ
關(guān)于Feed Forward的更多細節(jié)3.5
在3.5之前,前饋因子包含在D計算中,并且每當您添加D時都會增加。
由于以下原因,舊的D weight方法是不合需要的:
從概念上講,這令人困惑。我們將一個提高棒響應(yīng)能力的因素與一個應(yīng)該抑制反應(yīng)的因素聯(lián)系起來。這有很好的理由,但確實很復(fù)雜。
以前,當在快速棒輸入之后添加D以調(diào)出擺動時,轉(zhuǎn)彎率同時增加,因此不可能“僅添加更多D”?,F(xiàn)在,當添加更多D時,你得到的只是......更多D.所以D可以通過添加它來控制P擺動的經(jīng)典方法進行調(diào)整。
以前,D的任何變化都會改變你的前饋或堅持響應(yīng)的程度?,F(xiàn)在他們完全獨立了。
我們現(xiàn)在可以在黑盒日志查看器中獨立繪制前饋和D元素,準確顯示D的作用,以及D和FF對pidSum的貢獻。這簡化了黑盒輔助調(diào)整。
前饋需要啟用RC平滑(濾波方法最好)。如果沒有RC平滑,前饋將在電機走線中產(chǎn)生尖峰,并防止固件在任何未平滑的通道上禁用前饋。因此,默認值已更改為啟用所有通道的平滑(rc_interp_ch = RPYT)。