Seite 1 von 2

#1 CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 11:05:50
von sungamer
Guten morgen Alle zusammen,

hab mal eine Frage an die Tüftler unter euch! (Nicht an den Tüftler :wink: )
Wisst ihr wie man den 120° CCPM Mixer der Fernsteuerung "demixt"? Also so, dass wieder die rohen "Knüppel-Informationen" raus kommen?
Benutze im Moment diesen Codeschnippsel von Calli (danke nochmal!):

Code: Alles auswählen

rcFunktion1 = (rcChannel1-rcChannel2)/2;
rcFunktion2 = (rcChannel1+rcChannel2+rcChannel3)/3;
rcFunktion3 = rcChannel3 - rcFunktion2;
rcFunktion4 = rcChannel4 ;
Helicopter 120°:
1: Roll-1-Servo
2: Roll-2-Servo
3: Nick-Servo
4: Heck-Servo

Funktions Zuordnung Heli
rcFunktion1: Roll
rcFunktion2: Pitch
rcFunktion3: Nick
rcFunktion4: Heck

Funktioniert soweit gut! Einziges Problem ist, dass der TS-Mixer nicht beachtet wird. Daher kommt beim Pitch maximal 60% raus, da die drei TS Servos nicht über 60% gehen.
Wisst ihr wie man das berechnen kann?
Danke schonmal für eure Hilfe!

#2 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 11:10:57
von echo.zulu
Alternativ könntest Du drei freie Mischer im Sender einsetzen. Diese gemischt auf noch freie Kanäle und Du hat die Daten direkt, ohne dass Du umrechnen musst.

#3 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 11:16:36
von frankyfly
wie wäre es mit

Code: Alles auswählen

rcFunktion2 = (rcChannel1+rcChannel2+rcChannel3)/3 * 100/60 ;
edit: ich habe sowiso das Gefühl das da noch was nicht stimmt mit den Hebelverhältnissen , aber dazu müsste man sich mal eine 120° TS aufzeichnen und die Hebellängen ausrechnen.

er könnte auch gleich mech.-Mischung einstellen, aber ich vermute das wird nicht gehen,

#4 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 11:16:54
von sungamer
echo.zulu hat geschrieben:Alternativ könntest Du drei freie Mischer im Sender einsetzen. Diese gemischt auf noch freie Kanäle und Du hat die Daten direkt, ohne dass Du umrechnen musst.
Alternativ wäre das möglich, aber viele Sender haben diese Mixer nicht.
frankyfly hat geschrieben:wie wäre es mit

Code: Alles auswählen

rcFunktion2 = (rcChannel1+rcChannel2+rcChannel3)/3 * 100/60 ;
er könnte auch gleich mech.-Mischung einstellen, aber ich vermute das wird nicht gehen,
GENAU das habe ich auch schon gemacht. Leider funktionierte es nur bei 100% :wink:, sobald man mit dem Pitch Knüppel runter geht stimmt 100/60 ja nicht mehr...

#5 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 11:22:21
von fireball
Hö wieso? Wenn Du vorher einen Bereich von 0-60 hast und den Faktor dazuhängst, hast du danach 0-100. -60 bis +60 funktioniert genauso - gibt -100 bis 100.

#6 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 11:27:18
von sungamer
fireball hat geschrieben:Hö wieso?
Okay, werde es nochmal testen. Gestern gab es dabei aber irgendwelche Probleme :oops: Im Anhang mal noch die aktuelle Testtabelle

#7 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 11:28:52
von fireball
Mal blöd und neugierig gefragt: Was hast Du eigentlich vor? :)

Ein Hinweis noch: genaugenommen könntest Du gleich mit Winkelfunktionen arbeiten, dann kannst Du Werte direkt berechnen anhand des Mischertyps (90°/120°/140°) - sogar mit beliebigen Winkeln. Streng genommen sind die Formeln oben auch nicht ganz korrekt. Bei 120°-Anlenkung hast Du auf den beiden Rollservos nicht den selben Weg wie auf dem Pitchservo, daher ist ein einfaches Aufaddieren und durch 3 Teilen falsch :)

Ins blaue gesschrieben (ohne groß drüber nachzudenken) müsstest Du die Summe bilden aus cos(60°) * Roll1 + cos(-60°) * Roll2 + cos(180°) * Nick, um auf Pitch zu kommen (grob - evtl. sind da noch Vorzeichenfehler drin). Wie Du siehst, sind da schon die Montagewinkel der Servos vorgesehen.

#8 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 11:38:02
von sungamer
fireball hat geschrieben:Was hast Du eigentlich vor? :)
Dreimal dürft ihr raten :lol: Das Projekt gab es schonmal hier im Forum und immer zur Winterzeit mache ich was dran :D
fireball hat geschrieben:enaugenommen könntest Du gleich mit Winkelfunktionen arbeiten, dann kannst Du Werte direkt berechnen anhand des Mischertyps (90°/120°/140°) - sogar mit beliebigen Winkeln.
Gibt es dazu vielleicht Pseudocode oder Zeichnungen etc.? Bei Winkelfunktionen war die 10. Klasse zu Ende :oops:

#9 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 11:38:43
von fireball
Siehe mein Edit oben :) Ista ber wie gesagt nur grob und nicht endgültig durchdacht. Ich erinnere mich nur dunkel an die Sachen, die ich mit McClean für seinen CCPM-ENcoder durchgerechnet hatte.

#10 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 11:46:46
von chris.jan
D
sungamer hat geschrieben:Daher kommt beim Pitch maximal 60% raus, da die drei TS Servos nicht über 60% gehen.
Ist doch klar. Wenn Du voll-Pitch gibst muß ja noch Reserve für Nick&Roll übrig bleiben.
Wenn Du dann immer noch keine 100% für den Servo kriegst, dann ist das eben die physische Begrenzung.
Denk dran, im TS-Menü hast Du ja schließlich auch schon Werte drin Zbsp: 35% - 35% - 30% => die mußt Du dann auch benutzen, um bei der Rückrechnung auf 100% zu kommen.

Für die Winkelfunktion brauchst Du den sinus/cosinus-Faktor. Guckst Du hier mal genauer.

#11 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 11:54:07
von sungamer
chris.jan hat geschrieben:Für die Winkelfunktion brauchst Du den sinus/cosinus-Faktor. Guckst Du hier mal genauer.
Von da kommt der Codeschnippsel oben :wink: Und jetzt rate mal wo dran ich baue :roll:
chris.jan hat geschrieben:Ist doch klar. Wenn Du voll-Pitch gibst muß ja noch Reserve für Nick&Roll übrig bleiben.
Wenn Du dann immer noch keine 100% für den Servo kriegst, dann ist das eben die physische Begrenzung.
Aber die 100% die raus kommen sollen, beziehen sich auf den PitchKNÜPPEL nicht auf die Servos. 100% für die Servos erwarte ich nicht.

#12 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 11:54:22
von acanthurus
Hi..

anbei mal Bild und einigermaßen genaue Formel für die Mischfunktion ganz allgemein in Abhängigkeit von hebelverhältnissen und Servo-Anordnung.

Die Gleichung schreibst du jeweils für alle drei Servos (unterschiedliche psi) auf und
brauchst das entstehende lineare Gleichugnssystem nur noch nach theta0 (=Pitch), theta_1s (Roll) und theta_1c (Nick) auflösen.

gruß

andi

Quellnachweis

#13 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 11:59:09
von fireball
Hehe - sehr ordentlich. Danke für den Scan, genauer wärs nun wirklich nicht mehr gegangen :)

#14 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 12:15:25
von chris.jan
sungamer hat geschrieben:Aber die 100% die raus kommen sollen, beziehen sich auf den PitchKNÜPPEL nicht auf die Servos. 100% für die Servos erwarte ich nicht.
Ich weiß. Ich wollte ja nur sagen, daß Du mit dem TS-Menü den Servo begrenzt. Also 100% Knüppel sind vllt. nur 80% Servo.
Und genau das mußt Du mit einbeziehen in deine Rechnung.
Andi's Funktion ist vollkommen korrekt, aber sie bezieht sich auf den Winkel der Servohebel/Anlenkung, nicht auf den Knüppelweg.

#15 Re: CCPM entmixen - wie angehen?

Verfasst: 10.11.2009 12:36:05
von acanthurus
Andi's Funktion ist vollkommen korrekt, aber sie bezieht sich auf den Winkel der Servohebel/Anlenkung, nicht auf den Knüppelweg
Hi..

Die o.G. Trafo-Matrix stellt einen Zusammenhang zwischen zyklischem Steuerwinkel getrennt für Roll und Nick (in Grad) und dem kollektiven Pitchwinkel (in Grad) dar. Wenn man daraus Knüppelwege machen will, dann muss man das (bzw. die Umkehrmatrix) nur noch mit dem Skalierungsfaktor (Pitchwinkel bei Vollpitch bzw. zyklischer Vollwinkel) runterskalieren udn erhält dann Werte im Wertebereich -100% bis + 100%.
Insofern würde ich sagen, DOCH, es bezieht sich auf den Knüppelweg.
Bitte zu beachten dass die Drehrichtung und Winkel-Nullpunkte gemäß der "deutschen" Notation (gegen UZS drehend) gemäß Just gemacht sind - bei den Modellhelis legt man ja oft die Drehrichtung IM UZS herum und setzt Azimutwinkel 0 VORNE statt hinten.