# ══════════════════════════════════════════════════════════════ # BETAFLIGHT 2025.12 CLI-SKRIPT v4.0 — BASIEREND AUF ECHTEN FLUGDATEN # Flywoo Flylens 75 HD O4 2S — GOKU F405 BGA · ROBO 1003 (echte KV: ~1960) # TBS Crossfire Empfänger · DJI O4 Air Unit # Stand: Juni 2026 # Datenquelle: Eigene Blackbox-Logs (5 Flüge, BTFL_BLACKBOX_LOG_FLYLENS75_ # 20260620_164906) + CLI-Dump (BTFL_cli_FLYLENS75_20260620_165757) # ══════════════════════════════════════════════════════════════ # # WICHTIGSTE KORREKTUR GEGENÜBER v3.0: # # 1. MOTOR-KV RICHTIGGESTELLT: Die ROBO 1003 Motoren haben laut eigener # RPM-Telemetrie (motor_kv im Blackbox-Header) tatsächlich ~1960KV, # NICHT 14800KV wie in den Dokumenten v1.0-v3.0 fälschlich angegeben. # Das war ein Fehler in der ursprünglichen Recherche. # # 2. SIMPLIFIED TUNING SYSTEM AKTIV: Die echte Konfiguration nutzt # simplified_pids_mode = RPY (nicht manuelles Filter-Tuning wie in # v1.0-v3.0 angenommen). Dieses Skript respektiert das und nutzt die # Simplified-Tuning-Multiplikatoren statt einzelner Filter-Befehle. # # 3. GEFLOGENE PID-WERTE WAREN AGGRESSIVER ALS JEDE BISHERIGE EMPFEHLUNG: # P 45/47/45, FF 120/125/120 — das übertrifft sogar die in v2.0 als # "zu hoch" erkannten Werte. v4.0 reduziert auf Basis der v3.0-Analyse # (echte Werks-Dumps vergleichbarer Quads) UND der jetzt vorliegenden # eigenen Flugdaten. # # 4. CHIRP SIGNAL GENERATOR WURDE BEREITS GENUTZT: 5 Logs mit aktivem # debug_mode=50 zeigen, dass der in Kapitel "FPV Master Guide" # empfohlene Chirp-Tuning-Workflow bereits angewendet wurde — sehr gut! # Dieses Skript baut darauf auf. # # WICHTIG VOR DEM EINSPIELEN: # Dieses Skript ändert PID-Werte und Idle-Konfiguration. Filter werden # NICHT manuell überschrieben, da Simplified Tuning aktiv ist und das # automatisch handhabt — stattdessen werden die Simplified-Multiplikatoren # gesetzt. # # ══════════════════════════════════════════════════════════════ # 1. KORRIGIERTE EMPFEHLUNGEN FÜR GRUNDKONFIGURATION # ══════════════════════════════════════════════════════════════ # PID-Loop auf volle Geschwindigkeit (war: pid_process_denom=2 → nur 4kHz # effektiv trotz 8kHz-Looptime). Volle 8kHz für reaktionsschnelleren Loop. set pid_process_denom = 1 # CRSF Negotiated Baud aktivieren (war: OFF in der geflogenen Config) — # verbessert Telemetrie-Stabilität ohne Nachteil bei der Steuerlatenz. set crsf_use_negotiated_baud = ON # Dynamic Idle aktivieren (war: dyn_idle_min_rpm=0, also komplett AUS). # Für 2S-Whoops wichtig gegen Strömungsabriss/Stottern bei Low-Throttle- # Manövern und schnellen Gas-Reduzierungen. set dyn_idle_min_rpm = 30 # ══════════════════════════════════════════════════════════════ # 2. PID-KORREKTUR — BASIEREND AUF ECHTEN FLUGDATEN + v3.0-ANALYSE # ══════════════════════════════════════════════════════════════ # # Die tatsächlich geflogenen Werte (P 45/47/45, FF 120/125/120) waren # noch deutlich aggressiver als die v2.0-Schätzung, die in v3.0 bereits # als zu hoch identifiziert wurde (Vergleich mit echten Werks-Dumps # von BetaFPV Air65/75 Champion: P sollte bei 33-37 liegen, FF bei # 27-65, nicht bei 45-47 / 120-125). # # v4.0 nähert sich diesen evidenzbasierten Werten weiter an, aber nicht # abrupt auf einen Schlag, da der Pilot bereits mit den hohen v_real- # Werten geflogen ist und sich daran gewöhnt haben könnte. Empfehlung: # Schrittweise testen, mit dem Chirp-Generator nach jedem Schritt prüfen. set p_pitch = 40 set i_pitch = 70 set d_pitch = 30 set f_pitch = 70 set p_roll = 38 set i_roll = 68 set d_roll = 27 set f_roll = 65 set p_yaw = 38 set i_yaw = 68 set d_yaw = 0 set f_yaw = 60 # D_max: war 40/46/0 (Roll/Pitch) bei d_max_gain=37 — sehr hohes # Boost-Verhältnis. Auf moderateren Wert reduziert, passend zu den # niedrigeren Basis-D-Werten. set d_max_gain = 30 # ══════════════════════════════════════════════════════════════ # 3. ANTI-GRAVITY & ITERM (kleinere Korrektur) # ══════════════════════════════════════════════════════════════ # anti_gravity_gain war bereits 90 — das ist plausibel und wird # beibehalten (siehe v3.0-Begründung: konservativer Wert ist sinnvoll) set anti_gravity_gain = 80 # iterm_relax war korrekt auf RP/SETPOINT mit cutoff 15 — unverändert set iterm_relax = RP set iterm_relax_type = SETPOINT set iterm_relax_cutoff = 15 # ══════════════════════════════════════════════════════════════ # 4. FEEDFORWARD — GRÖSSTE KORREKTUR # ══════════════════════════════════════════════════════════════ # # ff_weight war 120/125/120 — extrem hoch für diese Quad-Klasse. # feedforward_smooth_factor war bereits niedrig (22) UND ff_weight # hoch — diese Kombination (wenig Glättung + hoher Grundwert) ist # in der Praxis besonders unruhig/nervös im Stick-Verhalten. set feedforward_smooth_factor = 35 set feedforward_jitter_factor = 7 set feedforward_boost = 12 set feedforward_max_rate_limit = 90 # ══════════════════════════════════════════════════════════════ # 5. SIMPLIFIED TUNING — RESPEKTIERT DEN AKTIVEN MODUS # ══════════════════════════════════════════════════════════════ # # Da simplified_pids_mode=RPY bereits aktiv ist (Filter werden # automatisch berechnet), wird hier NICHT in einzelne Filter-Werte # eingegriffen. Stattdessen über die Simplified-Multiplikatoren # fein nachjustiert: set simplified_pids_mode = RPY set simplified_master_multiplier = 90 set simplified_d_max_gain = 90 set simplified_feedforward_gain = 80 set simplified_dterm_filter = ON set simplified_gyro_filter = ON set simplified_gyro_filter_multiplier = 100 # ══════════════════════════════════════════════════════════════ # 6. UNVERÄNDERT — diese Werte aus der echten Config waren bereits gut # ══════════════════════════════════════════════════════════════ # # Folgende Werte aus der geflogenen Konfiguration sind plausibel # begründet und werden NICHT geändert: # dshot_bidir=ON, motor_poles=12, motor_pwm_protocol=DSHOT300 # rpm_filter_harmonics=3, rpm_filter_q=450 — passend zur Motorklasse # tpa_rate=65, tpa_breakpoint=1350 — sinnvoller Bereich # rates_type=ACTUAL mit rc_rates=5/5/5, rates=25/25/25 — moderate, # gut kontrollierbare Raten für diese Quad-Klasse set dshot_bidir = ON set motor_poles = 12 set motor_pwm_protocol = DSHOT300 set rpm_filter_harmonics = 3 set rpm_filter_q = 450 set tpa_rate = 65 set tpa_breakpoint = 1350 save # ══════════════════════════════════════════════════════════════ # HINWEIS ZUR MOTOR-KV-KORREKTUR (wichtig für zukünftige Recherche) # # Die ROBO 1003 Motoren des Flylens 75 haben laut eigener RPM-Telemetrie # tatsächlich ca. 1960KV — NICHT 14800KV, wie in früheren Dokumenten # fälschlich angegeben. Diese Korrektur betrifft nur die Dokumentation, # nicht die CLI-Werte selbst (motor_poles=12 bleibt unverändert korrekt). # # ══════════════════════════════════════════════════════════════ # NACH DIESEM UPDATE: CHIRP-TEST WIEDERHOLEN # # Da bereits 5 Chirp-Test-Flüge mit der alten (aggressiveren) Config # vorliegen, empfiehlt sich ein erneuter Chirp-Test mit dieser v4.0- # Konfiguration zum direkten Vergleich. Die debug_mode=50-Konfiguration # kann unverändert beibehalten werden: # chirp_lag_freq_hz=3, chirp_lead_freq_hz=30 # chirp_amplitude_roll=230, chirp_amplitude_pitch=230, chirp_amplitude_yaw=180 # chirp_frequency_start_deci_hz=2, chirp_frequency_end_deci_hz=6000 # chirp_time_seconds=20 # ══════════════════════════════════════════════════════════════