Catalyst MachineWorks Tazmanian V2 #
12S HD-XClass Rig. Go full send!
Hintergrundwissen zur Hochstrom/ XClass Quadcopter findet Ihr hier.
Disclaimer:
Specs: #
- Frame: Catalyst MachineWorks Tazmanian V2, Gewicht 2490g, AUW inkl. 4x 1550mAh 6S + 1x 850mah 4S Akku 3690g
- Motoren: Demon Power Systems, Omen Series 4220 400KV
- ESC: 4x APD 120A F-Series, Kondensator 4x 62V 330µf Panasonic
- PDB: APD 500A PDB, Kondensator 2x 62V 1000uF Panasonic
- FC: SP Racing H7 Extreme, Kondensator 35V 470µf Rubycon, 4S Lipo (separate Spannungsversorgung)
- Propeller: Gemfan 13x10x3 Nylon oder HQ 13x9x3 Carbon-Nylon
- VTX+Cam: DJI FPV Air Unit + DJI FPV Kamera
- Receiver: ExpressLRS Happymodel EP2, 250Hz
- Vifly Finder 2, BN220 GPS
- Akku: 4x Tattu V3 6S 1550 mAh in einer 12S2P Konfiguration
Build-Pics #
Initiales Setup #
- Aufbau kontrolliert, wackelnde Kabel, lose Schrauben/ Muttern
- Initiales Setup, Failsafe-Check, ELRS Einstellungen kontrolliert, prearm Routine
- Betaflight 4.3; ELRS 250Hz Preset Freestyle; DShot Idle 8%; bidirectonal DShot 300; ESC Telemetrie
- PIDs sehr weit runter stellen: Masterslider 0.4, schon im Testhover I-Wobble, daher Drift-Wobble-Slider auch auf 0.4
- Filterung erstmal Standard
- Tuningflug mit BBLog
bidirectional DShot #
Um in den Genuss von RPM Filterung zu kommen muss bidirektionales DShot verwendet werden. Nutzt man keine RPM Filterung sollte man statt DShot 600 ProShot 1000 verwenden. Siehe auch Sonderfall XClass Quadcopter.
Leider ist es mir nicht gelungen DShot 600 fehlerfrei zum laufen zu bekommen. Wahrscheinlich sind zu viele Kondensatoren auf dem ESC im Bereich der Signal-Leitung verbaut. Im Motor-Tab von Betaflight hatte immer mindestens ein ESC eine Fehlerquote von über 1% in der Telemetriedatenübertragung. Auch nach direktem Anlöten der Signal-Kabel von den ESCs zum FC auf möglichst kurzem Weg gelang keine fehlerfreie Verbindung. Sobald man DShot 300 einstellt klappt die Verbindung tadellos und es treten keine Telemetriefehler auf. DShot 300 räumt der Telemetriedatenübertragung mehr Zeit ein.
kein BF 3.5.7 mit Radix-FC und ProShot #
Vor der Planung und dem Bau habe ich mich natürlich ausgiebig mit XClass Piloten ausgetauscht. Die meisten schwören auf Betaflight 3.5.7 in Verbindung mit einem Radix FC und ProShot. Grund ist der Bosch BMI 160 Gyroskopchip. Dieser nimmt weniger Signalstörungen auf als MPU oder ICM-Serie Gyroskope. Dafür samplet er langsamer und hat mehr hardware-interne Filterung, welche ebenfalls eine höhere Latenz erzeugen. Da XClass Builds ein sehr starken Signalstörungen durch die großen Motoren ausgesetzt sind waren diese Eigenschaften vor der Ära der RPM Filterung gewünscht. Dank RPM Filterung kann man die Signalstörungen sehr effektiv herausfiltern und die niedrigere Latenz der ICM Gyroskope ausnutzen.
Filtertuning #
Zur Sicherheit werden die PIDs und Filter für den Maiden-Flug ganz weit runter gestellt. P/I/D – 20/10/10; Lowpass Filter 1 und 2 von Gyroskop und D-Term auf 40Hz untere cutoff-Frequenz und als Filtermodus habe ich BiQuad ausgewählt (sehr viel Filterung). Da beim Maiden-Flug keine Probleme auftraten, taste ich mich vorsichtig an schnellere Manöver und mehr Gas heran. Wundersamer Weise blieb das Biest die ersten 2 Akkus heil. Daher setze ich mal alle Filtereinstellungen auf default zurück und schaue was passiert. Anschließend folgte also der erste komplette Tuning-Flug.
In den ungefilterten Gyroskopdaten sehen wir (fast) ausschließlich Störungen der Motoren. Die während der Planung und des Baus ergriffenen Maßnahmen zur Störungsunterdrückung haben Ihre Wirkung nicht verfehlt. Die Amplitude der Motorbänder ist erwartet heftig und die Störungen gehen runter bis 85Hz. Dies ist der, im Vergleich zu 5 Zoll Quadcoptern, langsameren Drehzahl der Motoren zuzuschreiben. Der RPM-Filter leistet tolle Arbeit. Stellen wir also ein: der RPM Filter soll schon ab 80 Herz beginnen zu arbeiten. Der dynamic notch bleibt bei eins und soll von 65 Hz bis 400 Herz arbeiten. Gyroskop-Lowpass Filter machen wir aus, da treten eh keine großen Störungen auf. D-Term lassen wir erstmal so.
Im ungefilterten D-Term kommen die ersten Störungen durch. Daher setzte ich den D-Term Filter Slider auf 0.8. Nun widme ich mich erstmal dem Rest, aber ich will euch nicht das Spectrum des finalen echt harten Testfluges vorenthalten.
PID Tuning #
Ausgehend von den oben genannten Werten taste ich mich nun langsam an die PIDS heran, zwischendurch erstelle ich immer mal ein Log eines Tuningfluges.
Schon beim ersten Hovern und leichten Kurven merkt man den heftigen I-Bounceback (ganz langsames nachstellen nach der Bewegung). Daher habe ich gleich zu Anfang I-Gain ganz runter gedreht. I-Term relax gleich auf 5, im späteren Verlauf auf 3. Natürlich merkt man mit so niedrigen PIDs dass die Kiste fliegt wie ein überladener Dacia Duster. Zuerst suchen wir die P/D Balance, die mit den defaults recht gut abgedeckt ist. Pitch muss gegenüber der Roll Achse nur minimal nachjustiert werden. Ziel ist hier die gleiche Latenz. Anschließend wir der Masterslider hochgezogen. Die Reaktion wird deutlich besser. Feed Forward will allerdings nicht so richtig aus dem Knick kommen und steigt nur leicht. Bei Flips und Rolls sollte dies schon mindestens so hoch sein wie der P-Term. Also landet der Slider stufenweise bei 2.0. Als erfahrener Tuner fertige ich nicht für alles ein Log an sondern schau nur rein um mal einen Zwischenstand zu sehen. Vieles geht per LUA-Scipt an der Fernbedienung und nach Gefühl.
Thrust Linear #
XClass Quadcopter sind trotz der äußerst leistungsfähigen Motoren im Bezug auf ihr Gewicht schwächer motorisiert als 5 Zoll Racecopter (Power to weight ratio). Die große Spannweite erfordert zudem mehr Kraft um die gewünschte Drehrate zu erzeugen. Daher muss man von der PID-Tuning Seite her diese Quadcopter zu der untermotorisierten Kategorie zählen. Um dies zum Teil zu kompensieren macht es Sinn die PIDs im tiefen Drehzahlbereich zu boosten. Dies übernimmt Thrust Linearisation. Für diesen Build habe ich 30% gewählt. Dies verbessert die Manöver bei niedriger Gashebelstellung deutlich.
Antigravity #
Bei Throttle-Pumps habe ich ganz leichtes Nose-Dipping, typisch für untermotorisierte Quadcopter. Aber schon eine Erhöhung auf „nur“ 4.0 löst das Problem komplett. Der P-Gain-Einfluss hilft hier deutlich. (Zu hoher I-Term war bei 4.2 hier ein limitierender Faktor).
dynamic und dshot idle #
Das initiale dshot idle von 8% ist konservativ ausgelegt um desyncs zu vermeiden. Laut Motortab entspricht dies einer RPM von 1300. Ein dynamic idle von 10 sollte also gut funktionieren, aber schon bei kleinsten Manövern kommt es zu desyncs. Daher lasse ich hier dynamic idle erstmal aus, auch wenn mich dies etwas wurmt. DShot idle senke ich Schrittweise. Bei 5% konnte ich bei einem Flip einen Desync auslösen, daher lasse ich die Einstellung bei 6%.
Hier eine Zusammenfassug der step-Response Flüge. Man sieht, dass die letzte Erhöhung des Mastersliders keine Besserung mehr brachte. Schaut man in BBE ins Log sieht man, dass die Motoren einfach am Limit sind. Ab der Stelle kann man an den PIDs schrauben wie man will. Es müssten stärkere Motoren oder Propeller mit mehr Pitch her. Da aber bei längerem Punch-Out die Akkus schon zu tun haben die Spannung zu halten wäre hier dann das nächste Nadelöhr. Größere Akkus würden wieder mehr Gewicht bedeuten und noch stärkere Motoren fordern. Daher ist hier für mich erstmal Schluss. An Yaw könnte ich noch etwas arbeiten, dass aber beim nächsten Mal. Jetzt wird einfach ein paar Packs gerippt bis die Akkus glühen.
Diff all #
Ich möchte euch die relevanten finalen Einstellungen nicht vorenthalten. Kleine Änderungen werden noch folgen, aber so fliegt die Kiste schon mal ganz gut.
# master set gyro_lpf1_static_hz = 0 set gyro_lpf2_static_hz = 0 set dyn_notch_count = 1 set dyn_notch_q = 500 set dyn_notch_min_hz = 65 set dyn_notch_max_hz = 400 set gyro_lpf1_dyn_min_hz = 0 set gyro_lpf1_dyn_max_hz = 700 set rc_smoothing_auto_factor = 52 set serialrx_provider = CRSF set dshot_idle_value = 600 set dshot_bidir = ON set motor_pwm_protocol = DSHOT300 set yaw_motors_reversed = ON set small_angle = 180 set rpm_filter_min_hz = 80 profile 0 # profile 0 set dterm_lpf1_dyn_min_hz = 60 set dterm_lpf1_dyn_max_hz = 120 set dterm_lpf1_static_hz = 60 set dterm_lpf2_static_hz = 120 set anti_gravity_gain = 4000 set iterm_relax_cutoff = 3 set p_pitch = 57 set i_pitch = 10 set f_pitch = 254 set p_roll = 64 set i_roll = 11 set d_roll = 47 set f_roll = 287 set p_yaw = 70 set i_yaw = 15 set f_yaw = 200 set d_min_roll = 35 set thrust_linear = 30 set feedforward_averaging = 2_POINT set feedforward_smooth_factor = 45 set feedforward_jitter_factor = 8 set simplified_pids_mode = RP set simplified_master_multiplier = 120 set simplified_i_gain = 10 set simplified_pi_gain = 120 set simplified_feedforward_gain = 200 set simplified_pitch_d_gain = 85 set simplified_pitch_pi_gain = 85 set simplified_dterm_filter_multiplier = 80