Servowege über Input pauschal begrenzen funktioniert nicht (für Spektrum BNF)

Status
Nicht offen für weitere Antworten.

meute

Erfahrener Benutzer
#1
Hallo,

ich will Spektrum BNF-Modelle von der alten DX7 zur Taranis übertragen.
Spektrum mit 100% Weg bedeutet bei Taranis 80% Weg (genauer 78% laut Helles Anleitung), damit die übertragenen "µs" identisch sind.

Ich wollte pauschal alle Inputs auf 78% begrenzen (im Screenshot noch 80%).
Spektrum80_01_Inputs.jpg


Die Pitch-Kurven kann ich damit immer bis 100% gehen lassen, die Gas-Kurven dann auch entsprechend, weil ja die Begrenzung über die Inputs schon erfolgt ist.
Spektrum80_01_Mischer.jpg


Dachte mir, dann kommt bei der Taranis am Servo nur 78% (= 100% Spektrum) an.
Aber weit gefehlt.
Anscheinend interessiert einer Kurve kein Input-Wert.

Der Wert in der Kurve wird auch genau so im Servomonitor ausgegeben.
Und nicht nur 78% davon (was logisch wäre, weil vorher über Input begrenzt).

Habe ich einen Denkfehler?
Wo begrenzt man idealerweise pauschal alle Wege, damit das passt?


Gruß
meute
 

Bussard

Erfahrener Benutzer
#2
Also, habs mal am Sender schnell probiert, bei QR-Input 78% eingestellt, Mischer auf 100% gelassen, und es kommt wie erwartet 78% an den QR-Ausgängen an.
Habe Version 2.0.17 drauf

Gruß
 

helle

Erfahrener Benutzer
#3
Hy meute,

ich glaube das (Verständnis)-Problem ist, wenn im Mischer eine Kurve verwendet die keine Gerade durch Null ist.


Hier mal ein einfaches, lineare Beispiel mit Kurve 4 im Mixer

Gas an Inputs mit Gewichtung50% damit man das schön rechnen kann was da passiert.
Mischer 100%, mit Kurve 4


Wenn man das eingibt, passiert folgendes:
Max-Wert = +60%
Mid-Wert = +20%
Min-Wert = -20%

Warum?
die Kurve 4 hat bei X= 0 einen Wert Y=20

Bei X=+100 ist Y= +100
von Y=+20 bis Y=+100 sind es 80 %,
-->davon 50% Input von 80% = 40%

Bei X= -100 ist Y= -60
von Y=+20 bis Y= -60% sind es -80%,
-->davon 50% Input von 80% = -40%


Damit ergeben sich folgende Werte nach dem Mixer an die Servos

Max: 20% + 40% = 60%

Mid: 20% +0% = 20%

Min: 20% -40% = -20%


Damit wäre es jetzt so, wie wenn man 100% Inputs hat
und 100% im Mixer und eine Kurve von -100 / -20 bis +100 / +60 ( siehe Kurve 5)


Ergebnis:
Gewichtungen wirken wie ein zusätzlicher Steigungsfaktor auf eine Gerade / Kurve
Es wird bei X=0 mit dem Kurvenoffset berechnet, Drehpunkt ist der Kurvenoffset.
Solange die Kuve durch Null geht, ist alles einfach zu rechnen und anzupassen.

----
 

Anhänge

Zuletzt bearbeitet:

meute

Erfahrener Benutzer
#4
Hallo,

habe eben noch mal getestet.
Vorhin hatte ich nur die Gaskurve (Gerade) im Servomonitor beachtet.

ich glaube sein Problem ist, wenn er im Mischer eine Kurve verwendet die keine Gerade durch Null ist.
Hier die Gaskurve.
Damit rechnet OpenTX falsch.

Spektrum80_03_Kurve3.jpg


Hier eine Pitchkurve.
Damit rechnet OpenTX richtig.

Spektrum80_04_Kurve6.jpg


Hier eine abgeänderte Pitchkurve.
Damit rechnet OpenTX auch falsch.
Sobald die Kurve keine Gerade ist, stimmt die Berechnung nicht.

Spektrum80_04_Kurve6-2.jpg


Das das ein Bug oder habe ich einen Denkfehler?

Lösung?


[EDIT1]
Helle hat seinen Beitrag angepasst. Muss erst mal lesen, ob ich das verstehe.
[EDIT2]
Hole erst mal ein Bier. Das zu verstehen dauert länger. ;)


Gruß
meute
 
Zuletzt bearbeitet:
#5
Hallo zusammen,

das einfache Multiplizieren einer Eingangsgewichtung mit einer Kurve ist nicht ganz ohne bei beliebigen Kurven.
Mathematisch lässt sich das halt nur für Geraden durch den Nullpunkt einfach abbilden, indem die Steigung gemäß Gewichtung verändert wird.

Bei einer horizontalen Gasgeraden gibt OpenTX unabhängig von einer Eingangsgewichtung den konstanten Gaswert der Kurve aus.
Mathematisch völlig korrekt, denn es ist ja gerade die Definition der konstanten Kurve, dass der Ausgang einen konstanten Wert annimmt, unabhängig vom Eingangssignal.
Man könnte natürlich per Definition festlegen, dass bei einer Gewichtung am Eingang der Konstantwert entsprechend abgeändert wird.
Das ist aber bei OpenTX offensichtlich nicht der Fall

Bei komplizierteren und zusammengesetzten Kurven ist es dann natürlich auch Definitionssache, was bei der Verrechnung mit einer Gewichtung herauskommen soll.
Da kommt es dann eben darauf an, wie das bei OpenTX genau programmiert ist.
Bei der Pitchkurve im obigen Beispiel (mit 80% Gewichtung am Eingang) geht der Ausgangswert zunächst von -80% nach 0, bleibt dann bei Null gemäß der Kurve, und geht dann auf 30% hoch.
Letzteres muss ich nochmal genau nachvollziehen, aber die ersten beiden Anteile sind wie erwartet.


Gruß
Reinhardt
 

helle

Erfahrener Benutzer
#6
Hy,

man kann es auch noch allgemeiner ausdrücken.

Wenn du in den Inputs den vollen Geberweg -100% bis +100% per Gewichtung auf 50% umrechnest
kommen vom Input dort auch nur -50% bis +50% raus.

Dies ist der Eingang für den Mischer (als X-Achse)
Also dort geht die X_Achse nur noch von -50% bis +50%

Diese X-Achsen-Werte von -50% bis +50% ergeben dann den Kurvenwert (an der Y-Achse abtragen)

Anders ausgedrückt:
Deine Kurven im Mischer, die von -100% bis +100% gehen,
werden nur von -50% bis +50% abgefahren.
und geben nur dort auch Y-Werte aus.

Ich denke so ist es einfacher zu verstehen.

Somit gilt:
Deine Waagrechte Gerade1 mit Festwert 60% ist ok und gibt auch 60% aus

Deine Steigungs-Gerade2 gibt -50% bis +50% aus das ist ok

Deine Stufenkurve 3 gibt die auch die richtigen Werte aus
linke Seite -50% bis 0% als Steigung
rechte Seite 0% als Festwert

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

Du wolltest aber doch was anderes ereichen:

Deine vorhanden Kurven von der Spektrum behalten ( 1:1 die Werte übernehmen)
aber die Wege auf 78% der Sektrum umrechnen

Lösung:
In den Inptus Gewichtung auf 100% lassn
In dem Mischern Gewichtung 78%
deine ursprünglichen Kurven 1:1 aus Spektrumwerten eintragen und im Mischer verwenden
 
Zuletzt bearbeitet:

meute

Erfahrener Benutzer
#7
Hallo,

OK, jetzt wird es langsam klarer.

Für mich aber trotzdem unlogisch.
IMHO sollten die INPUTS nur den Geber beeinflussen und nicht die X-Achse einer Kurve.

Aus der Antwort von "Hartinger" lese ich, dass man es so oder so lösen kann.
Da sollten die OpenTX-Programmierer mal drüber nachdenken.


Aber zurück zum Thema.
Welche Lösung(en) gibt es für meine Frage im Eingangsposting?
Alle Servoendpunkte auf 78% stellen?
Alle Mischer Gewichtung=78%? Oder hakts dann auch?

Für mich heisst das ab sofort: Gewichtung bei INPUTS ungleich 100% besser meiden.


Gruß
meute
 
Zuletzt bearbeitet:

helle

Erfahrener Benutzer
#8
Hy,


das passt schon alles zusammen für eine 2-stufige Verarbeitung:

Inputs:
Geber (X-Achse von) +/ -100% * 50% Gewichtung in den Inputs
gibt halt auch nur +/-50% raus (auf der Y-Achse)

Mischer:
Das ist jetzt der Eingangswert für den Mischer ( auf der X-Asche)
Dort hast du stehen Gewichtung 100% und eine Kurve
Da die X-Achse nur von +50% bis -50% geht können auch nur in diesem Bereich die Kurvenwerte ausgegeben werden.

Servos:
mech Begrenuzngen Mittelstellungen

---------------------------------------------------
Für deine Spektrumumstellung:
Geber, Inputs auf 100% lassen
Mischer auf 78% stellen
Kurvenwerte 1:1 aus Spektrum übernehmen und diese Kurven in den Mischern verwenden

Servo Min und Max ist nur für die mech Begrenzung nötig


Du musst ja nicht per Inputs die Geber vorverarbeiten
Du kannst ja den Geber auch direkt im Mischern eingeben.
 
#9
Hallo,

ja so passt das zusammen und erklärt auch das Verhalten der obigen Pitchkurve bei verschiedenen Input-Gewichtungen.
Das heißt, der Ausgang des Mischers ist im Prinzip die Verkettung der Inputverarbeitung und der Mischerkurve.
Es handelt sich nicht um eine einfache Multiplikation, hat aber bei Geraden durch den Nullpunkt den gleichen Effekt.

Wenn also M(x) die Mischerkurve ist und I(x) die Eingangskurve, dann ist der Ausgang nicht I(x)*M(x), sondern M(I(x)).
Das werde ich mal anhand von etwas komplizierteren Beispielen nachstellen.


Gruß
Reinhardt
 

helle

Erfahrener Benutzer
#10
Hy,

das ist in diesem Fall so,
weil er in den Inputs nur die Gewichtung eingestellt hat und im Mischern nur die Kurve

Quelle==>
==> Inputgewichrung, Input Offset, Input Kurve ==>
==> Mischergewichtung, Mischeroffset, Mischerkurve==>Servowege
 
Zuletzt bearbeitet:

meute

Erfahrener Benutzer
#11
Hallo,

Für deine Spektrumumstellung:
Geber, Inputs auf 100% lassen
Mischer auf 78% stellen
Kurvenwerte 1:1 aus Spektrum übernehmen und diese Kurven in den Mischern verwenden

Servo Min und Max ist nur für die mech Begrenzung nötig


Du musst ja nicht per Inputs die Geber vorverarbeiten
Du kannst ja den Geber auch direkt im Mischern eingeben.
Danke.

In Inputs die Geber vorverarbeiten werde ich lassen.
Ist für Expo usw. wohl einfacher.


Gruß
meute
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten