OTX OpenTX Taranis Programmierung - Tips und Tricks

MarenB

Runter kommen sie immer!
Moin Sepp,
gut das Ihr mir geholfen habt.
Der Klügere gibt nach und bleibt bei seiner Meinung.
Danke für die Hilfe
Thomas
Thomas,

deine Idee wäre sicher umsetzbar, das würde aber bedeuten, dass die Taranis einen Eingang "Quer" mit einem Servo "Quer" automatisch verknüpfen würde, es also einen vorgefertigten Pfad gibt.

Wenn du einen Input differenzierst, bedeutet das, dass dieser in die eine Richtung den vollen Ausschlag macht und in die andere Richtung einen reduzierten. Nehmen wir mal an, Knüppel rechts ergibt 100%, Knüppel links 70%. Diese Quellsignale gehen nun in die Mischer.
Ein Kanal, dessen Funktion im Modell die Taranis nicht kennen kann (!), soll daraus jetzt in die eine Richtung 100% Weg und in die andere Richtung 70% Weg machen. Das funktioniert natürlich erstmal.
Ein anderer Kanal aber, der das identische Quell-Signal erhält, soll nun in die eine Richtung 70% und in die andere 100% machen. Woher soll er das wissen, wenn nicht über eine eigene Zeile mit invertierter Berechnung, die der Nutzer selbst angelegt? Das ginge alternativ nur mit vordefinierten Mischern - und genau das will das OpenTX-Konzept ja eben NICHT!

OpenTX selbst weiß zu keinem Zeitpunkt, welche Ruderfunktion an welchem Ausgang hängt, weshalb eine automatische Interpretation oder Wirkungsumkehr, wie du sie möchtest, einfach nicht funktionieren kann.
 

strgaltdel

Erfahrener Benutzer
Hallo Flyman,

so wie ich dich verstehe geht es dir doch im wesentlichen darum, dass du den Diff Anteil nicht bei jedem einzelnen Ruder separat einstellen möchtest, sondern über eine zentrale Option justieren willst.
Das ist nachvollziehbar & legitim.
Daraufhin findest du "deine persönliche Lösung" im Umfeld der Inputs
Darin liegt der Fehler, du kannst der Software nicht deinen Willen aufzwingen, die ist sturer als wir hier alle zusammen und ignoriert das !

Dieser Ansatz ist ein Bruch des OpenTx Konzeptes bezüglich der Signalverarbeitung.
Eine Differenzierung in einem Inputkanal würde per Definition das identische "differenzierte Gebersignal" an alle davon anhängigen Mischerkanäle weiterleiten.
Beispielsweise Du hast zwei Höhenruderservos.
Dann macht es schon Sinn den Ausschlag nach oben und unten SYNCHRON für beide Servos separat einzustellen.
Die QR Differenzierung ist ein vollkommen anderer Anwendungsfall.
Nach deinem Ansatz müsste die Software quasi anhand Vorzeichendeklaration eine Vorhersage für die Mischerkanäle treffen, welches der Ruder zur linken oder rechten Fläche gehört.
Das kann bei asymetrischen Anlenkungen auch mal zu Fehlinterpretationen führen.
Stelle Dir das ganze mal im Umfeld eines 8 Klappen Seglers vor...
Eine derartige Herangehensweise würde kein mir bekannte Programmierer umsetzen.
Das Konzept herkömmlicher Sendersoftware besitzt "festverdrahtete" Mischerabhängigkeiten, kann man nicht miteinander vergleichen.
Aber man kehrt gerne in diese alten Denkweisen zurück.....

Um an "zentraler Stelle" die Differenzierung einzustellen sind meines Erachtens nach GVs "die Waffe der Wahl".
Je mehr Klappen der Flieger hat, umso mehr Arbeit erspart man sich durch deren Verwendung.
Durch Anpassung einer einzelnen GV, die den Wert für Quer-Differenzierung auf alle notwendigen Flaps vorgibt, lassen sich im Flug dann auch direkt alle Ruder optimieren.
Waere halt mein Vorschlag.

Wenn du unbedingt deine Version umsetzen möchtest müsstest du dir das Opentx Coding runterladen, deine Wunschlogik entsprechend reincodieren & für dich neu compilieren.
Kannst du natürlich gerne machen. aber die Änderung musst du dann aber für jede neue Version auch wieder einbauen.....
 

AIRLinde

Erfahrener Benutzer
Empfindlichkeit von AIL für Rollen(Sei) und Ele für Pitch(H8h) über Poti S1 regelbar

Moin

Gibt es eine Übersichtsseite (link) zu den -alle- diskutierten Funktionen?

Könnt Ihr mir bitte die Funktion / die Umsetzung in Taransis plus OpenTX 2.1. in Editing "myQuadcopterYX" .. erklären?

Empfindlichkeit von AIL für Rollen(Sei) und Ele für Pitch(H8h) über Poti S1 regelbar

eine 9-Punktkurve (Expo) habe ich bereits drinne, allerdings ist die ja stationär.

Alles voll kompliziert
Danke und Gruss

Anhang anzeigen setupX220.pdf
die anderen Tabs sind leer
 

helle

Erfahrener Benutzer
Hy AirLinde,

von den Begrifflichkeiten:

willst du eine varabel einstellbare Expofunktion und umschaltbar
willst du eine variabel einstellbare Dualratefunktion und umschaltbar
willst du eine variabel einstellbare Gewichtung


Der Begriff:
Empfindlichkeit deutet auf eine variable Gewichtung hin
Auf der anderen Seite beschreibst du eine 9-Punkt Expo, die eventl variabel sein soll.
Expofunktion und Kurven sind zweierlei Dinge, man kann Expo mit Kurven machen,
man muss es nicht, das geht einfacher.

------------------------------------

Alles was mit "variabel einstellbar" zu tun hat funktioniert mit globalen Variablen, Gvar !!

Das geht immer in 3 Schritten:
1. Ein Geber (Poti z.B. S1) in einem freien Mischer so definieren und einschränken,
dass der gewünschte variable Bereich einstellbar ist.
z.B. von 50% bis 85% oder von 0% bis 40% oder -255 bis +40% usw.

2. In den Spezialfunktioen erhält eine globale Variable z.b. Gvar 1 die Ergebniswerte
diese Mischers.

3. Diese Globale Variable kann ich jetzt überall dort einsetzen wo,
bis jetzt ein fester Zahlenwert drinnen steht.
Also in der Gewichtung, als Expowert, als Dualratewert, als Differenzierungswert, als Offset usw.

------------------------------------------------------
In Kurzform:
Ein Poti bewegen
Ein freier Mischer mit Quelle Poti, errechnet aus diesem Potiwert etwas
Eine Globale Variable erhält diesen errechneten Wert mitgeteilt.
Im Zielmischer setze ich satt eines Festwertes diese globale Variable ein.
---------------------------------------------------


Nun kommen ein paar Feinheiten:
Gute, passenden Werte muss man erfliegen, im Flug einstellen und nachstellen
ich muss umschalten können von Festwert auf variablen Wert
ich will mir den variablen Wert ansagen/anzeigen lassen
Ganz zum Schluß will ich den variablen Wert als Festwert übernehmen können.
usw.

-------------------------------------------------
Alles Schritt für Schritt machen und ein Kanal nach dem anderen
Vor lauter Bäumen sieht man den Wald nicht mehr
Vor lauter Möglichkeiten sieht man die Funktionen nicht mehr

Klar definieren was man will:
Was ist die Signalquelle,
Was will ich damit tun,
Wo soll das Wie wirken

Keine Scheu einfach fragen!


Ich glaube ich muss da auch mal was zusammenstellen, eine Schritt für Schritt für globale Variablen und was man alles damit machen kann
(ist eigentlich im Handbuch schon ausführlich drinnen, so um die Seiten 150)


--
 
Zuletzt bearbeitet:

helle

Erfahrener Benutzer
Ist halt so in den letzten 3-4 Jahren reingewachsen

historische Fragen und Probleme führten zu historischen Lösungen und Beispiel
 
Zuletzt bearbeitet:

Flymann

Erfahrener Benutzer
Hallo strgalt,
ja super, genau du hast mich verstanden.
Klar ich unterlag
da auch einem Denkfehler, wahrscheinlich weil ich noch von den anderen Herstellern beeinflusst bin.
Die Idee mit der GV ist mir auch schon gekommen traue mich aber nicht so ran (Was der Bauer halt nicht kennt)
Werde mich dann demnächst mal daran wagen und eine entsprechende GV programieren.

Die Idee von Helle einer Step bey Step Anleitung mit der GV ist kein schlechter Gedanke.
Bis dahin Danke
Thomas
 

Sigimann

Erfahrener Benutzer
Hallo strgalt,
ja super, genau du hast mich verstanden.
Klar ich unterlag
da auch einem Denkfehler, wahrscheinlich weil ich noch von den anderen Herstellern beeinflusst bin.
Die Idee mit der GV ist mir auch schon gekommen traue mich aber nicht so ran (Was der Bauer halt nicht kennt)
Werde mich dann demnächst mal daran wagen und eine entsprechende GV programieren.

Die Idee von Helle einer Step bey Step Anleitung mit der GV ist kein schlechter Gedanke.
Bis dahin Danke
Thomas
Hallo Thomas

Die Verwendung einer GV löst aber überhaupt nicht deine Logik für Differenzierung in den Inputs.

Du must dich einfach von dem Gedanken lösen, die Differenzierung der Querruder bei den Gebern (Inputs) zu machen.
Von der Wirkung ist es doch völlig egal, ob du mit einer Variablen oder eine Festwert arbeitest.

Sigi

Sigi
 

helle

Erfahrener Benutzer
Hy,

Nochmal:
Eine Ruderdifferenzierung ist eine Funktion der Ruder und eben nicht der Inputs.
Das legt daran dass man jedes Ruder einzeln differenzieren können muss.
Ruder werden in den Mischern berechnet!

In den Servos werden dann nur noch die errechneten Mischerwerte in reale Bewegungen mit Wegbegrenzungen für die Ruder umgesetzt.


Inputs sind nur für Geber-Vorverarbeitng da!
Da kann man Expo und Dualrate machen, das sind Dinge die Geberwege und Geberkurven beeinflußen.


--
 
Zuletzt bearbeitet:

Sigimann

Erfahrener Benutzer
Änderung in Version 2.18

Das wurde unter anderm Geändert.

EDGE Logical Switch operation has changed. Users should check their setups, if they use EDGE with AND switch. This bug was introduced in version 2.1.2 and has been fixed in 2.1.8.

Kann mir jemand sagen was "EDGE Logical Switch Operation" ist.

Sigi
 

Bussard

Erfahrener Benutzer
Ohne Garantie:
Wenn Du logische Schalter verwendet hast, die auf einen Flankenwechsel reagieren, und die AND Verknüpfung benutzt hast, sollst Du sie überprüfen, ob sie noch wie gewünscht funktionieren.

Gruß
 

lmig

Erfahrener Benutzer
Moin,

vielleicht hat mal einer von Euch einen Tipp fuer mich.

So langsam fitze ich mich in die Taranis Programmierung ein. Ich habe zum Ziel Logische Schalter/Spezielle Funktionen fuer der Batterie Alaram und fuer einen Lap Timer einzurichten.. Das habe ich soweit auch geschafft und es funktioniert prinzipiell, aber es gibt da noch 2 Dinge die ich nicht hinbekomme oder nicht verstehe.

1. Wie kann ich die bisher abgebildete Logik (siehe Screennshot) noch mit einer weiteren Bedinung koppeln?
Hier im Beispiel der Spannungsueberwachung soll die ganze Logik nur dann greifen, wenn der Kopter scharf geschaltet ist (in meinen Falll SE nach vorne). Wenn ich die AND Bedinung oder Verknuepfungen verwende, funktioniert das nicht wie gedacht, einzelne Aktionen werden trozdem wahr, auch wenn der Kopter nicht gearmt ist.

Capture.PNG

Capturea.PNG


2. Das Gleiche wuerde ich gerne beim Timer realisieren. Die ganze Timer Logik (siehe Screenshot) soll nur wirken, wenn der Kopter gearmt ist.

Capture2.PNG

Captureb.PNG

Habt ihr einen Tipp?
 
Ein kleine Frage zwischendurch, hab leider absolut nichts gefunden:
Wie kann ich anstatt dem Rotation Button, zb. einen Trimmer zum einstellen der Daten verwenden,
wenn man mal größere Zahlen benötigt wäre es doch schön, das mit einer Taste auswählen zu können,
d.h. wenn ich lange drauf drücke, erhöhen sich die Werte auch schneller.
Mit dem Rad mal öfter von +100 auf -100 zu kommen ist mühsam, noch schlimmer bei der ID Vergabe von Telemetrie sensoren.
Gibts eine Möglichkeit, das parallel mit den(m) Trimmtaster(n) zu machen ?

LG, Dieter
 
Moin Jungs. Iwi steh ich grad auf dem Schlauch bei der Programmierung der Wölbklappen am Flieger.
Folgendes Problem:
Ich hätte gern die Flaps on Speed auf 5mm nach oben als Offset. Der positive (nach oben) Ausschlag soll nur 5mm sein, der nach unten ca. 20mm. Beide Flaps sollen zusammwn mit den Querrudern laufen. Ich bekomm das iwi nicht sauber programmiert. Mit Differenzierung reduziert ich ja eigentlich den Ausschlag nach unten. Hier möchte ich aber eben mehr Ausschlag nach unten als nach oben. Hat einer ne Idee? Lg Patrick!
 

heikop

Erfahrener Benutzer
Einfach die Wege getrennt nach positivem und negativem Ausschlag programmieren, dafür
gibt es die Operatoren ">" und "<". Hier ein Beispiel:

text.JPG
 
FPV1

Banggood

Oben Unten