Turnigy 5x - Arduino RcLib Hacking-Mainboard

Status
Nicht offen für weitere Antworten.
sieht ja wunderbar aus, deine T5x. sehr aufgeräumt!

hmm, kein Flashen wenn der Arduino im Board steckt?
Kann eigentlich nur sein, daß Du irgendwo dem Board zu viel Strom entziehst.
Meldet sich dann das Board eigentlich irgendwie gegenüber dem Betriebssystem?
Sollte aber neben LED und Knüppel/Schalter ziehen fast nix, Buzzer ein wenig, ist bei meinem Board aber wurscht.
Versuch mal einzelne Verbraucher abzunabeln, sollte nämlich schon gehen.
Wär ja ziemlich umständlich, immer den Arduino rausnehmen zu müssen.
Bei eingeschaltenem Sender müsste man wiederum Telemetrie trennen, da die sonst dazwischenfunkt...

Wegen deinen Mischern; da muß man wohl oder übel in den Source Code der T5x rein, sollte aber keine wirkliche Hexerei sein, wenn Du Dir meinen VFM-Switch ansiehst.

Warte allerdings noch ein wenig, bald gibts eine Version 2.0 von der T5x-Firmware mit EEPROM-Speicherverwaltung und bunter Config-GUI mit Live-View.

Kleiner Vorgeschmack:
 

Anhänge

schnellmaleben

Erfahrener Benutzer
Hallo Christian!

die Screenshots sehen super aus!

Bei mir gehts endlich auch weiter. Ich bin am Wochenende die 5x mit Auslieferungszustand geflogen. Man gewöhnt sich schnell an die Größe, allerdings muss ich wirklich drauf achten nicht zu stark drauf rum zu drücken, auch das Gehäuse verwindet sich leicht, insgesamt ist es alles merkbar schwammiger als eine ausgewachsene Funke. Trotz sorgfältigen "Trimmen" aller Kanäle auf 1500 zuhause und am Feld hat es nie ganz geklappt dass der Copter sauber in der Luft steht. Je nach dem von welcher Seite man den Knüppel los läßt, bleibt er manchmal bei 1495 und dann wieder bei 1510 "stehen". Mein Ziel ist hier, die mechanischen Trimmer zu blockieren und die Kalibrierung über die Software zu machen (evtl. bekommt man mit einem Deadband auch den Rest weg).

Die letzten Tage ist genug Hühnerfutter eingetrudelt, die 5x habe ich gerade zerlegt, das original Innenleben ist raus :) Nun geht's an den Umbau…

Grüße,
Ruben
 
Ich habe bei mir auch die Trimmer mit Heißkleber "gesichert".
Das mit der schlechten Rückstellung ist mir relativ egal, das steuere ich eh aus wenn ich mal im ACC fliege. Ich habe die Rückstellfedern sogar noch etwas geweitet damit die Knüppel leichter gehen. ACC Trimmung ist eh bei den kleinen Koptern für die Füße da diese bei Wind und Co eh immer driften. Hauptsache er hält sich halbwegs gerade und kippt nicht eigenständig weg wenn man mal als Notoption aufs ACC umschaltet.
 
So, ich habe es auch geschafft.
Das größte Problem ist wirklich die lange Lieferzeit der 5x. Der Umbau selbst ist, dank der perfekt passenden Platine von kornetto, ein echtes Vergnügen. Super Arbeit, dafür noch mal Danke, auch für die stetige Pflege und weiterentwicklung der Software.

Die Bedienelemente habe ich etwas anderst angeortnet, das Handling von dem kleinen Ding macht aber echt Laune.
Leider habe ich noch niemand gefunden der mir eine maßgeschneiderte Abdeckung lasert :)

Grüße

Bernd
 

Anhänge

Die Bedienelemente habe ich etwas anderst angeortnet, das Handling von dem kleinen Ding macht aber echt Laune.
Leider habe ich noch niemand gefunden der mir eine maßgeschneiderte Abdeckung lasert :)
Schick und Glückwunsch zum Bau!
Die GElaserte Abdeckung ist auch nur ein Passender Aufkleber aus Deko-Folie. Ich kann bei Gelegenheit das SVG in der richtigen Größe mal hochladen, dann kann sich jeder das selbst ausdrucken und aus Folie ausschneiden.
 
Super, freut mich die ersten Nachbauten zu sehen. Sehr schön geworden!

ich hoffe noch vor dem Wochenende die Version 2.0 der Software samt Configurator online stellen zu können.
Mein Perfektionismus steht da leider mit der mir zur Verfügung stehenden Zeit in Konflikt.

Gruß aus Wien,
Christian
 
finally!

Version 2.0 out now!

first version that supports t5x configurator
no need to recompile the binary to do configuration changes, yeah!

doing that way we gained more than 500bytes free RAM, while the ROM is still below 15k.

fixed:

throttle trigger threshold for flight timer is now tied to the throttle output rather than A2 input.
new:

if there is no valid telemetry frame for certain time (currently 100ms) Frsky object interprets this as telemetry link is no longer alive. Main program raises an alarm during regular telemetry checks if it detects loss of telemetry.
when connecting transmitter via serial without powering on the transmitter, it will automatically turn into so-called "setup mode".
setup mode turns off buzzer and uses LED instead. LED is used to signal apply action and save action from the configuration software.
HINT: If you want - there is no need to - you can comment out after the first successful boot of the t5x in config.h the line

#define T5X_CONDITIONAL_INITIALIZE_EEPROM

compile again and upload to the transmitter. doing that way results in smaller ROM-file and more RAM available.
if you have problems with the configurator, or just want a simple setup with all that bells and whistles, config.h allows to disable EEPROM handling by commenting out the line

#define T5X_USE_EEPROM

when doing that, configuration can be done hardcoded via TxDeviceProperties.h and Profile.h by modifying the default structures for both.
parallel dazu natürlich der t5x configurator

An configuration GUI for the Arduino based t5x RC transmitter.

t5x configurator is based on the processing language and heavily uses the controlp5 library. Processing has the big advantage since it is based and built with java it supports multiple platforms, such as Windows32, Windows64, MacOS and Linux.

Instructions:

download and install processing
download and install controlp5 library
place t5x_configurator.pde into your Processing Project folder, e.g. C:\Users<your username>\Documents\Processing
update your t5x transmitter with the latest firmware
ensure the t5x is turned off and connect it to your computer
start the application, select the COM-port and do your configuration.
the apply button applies the settings to the RAM of the t5x. doing that way you can try your settings and play around with them.
the save button stores the settings into the EEPROM flash of the t5x.
note, that there are profile specific settings and t5x device specific settings. the device specific settings are global and hence shared by all profiles the profile specific settings are intended to be adapted to certain model-specific needs
Fragen einfach hier im Forum,
Für Bugs bitte direkt auf github issues erstellen.

Viel Spass und Gruß aus Wien,
Christian
 
Schön, dass es geklappt hat, ich wünschr Dir weiterhin viel Erfolg.

Persönlich habe ich zum ersten und letzten bei Hobbyking bestellt.
Zwei Sendungen in Deutschland beim Zoll, eine davon seid über 4 Wochen, eine verschütt mit den unterschiedlichsten Trackingauskünften.

Allerdings habe ich nu eine Sammlungs unterschiedlichster Arduini Klone, dazu noch was armiges.
Zunächst baue ich aber ein oder zwei 3Drucker, deren softe Ware ist noch nicht ausgereift.
Bis zum Herbst haben mich diese FRSky und Konsortenteile hoffentlich erreicht..

Für FRSKY habe ich mehrere alternative Chinaquellen gefunden, für "Turnigy" leider nicht.
Ist das mittlerweile die Hausmarke vom Hobbykönig?
Ich meine mich dunkel zu erinnern, dass es früher auch bei Elektronikspielzeugversendern so was gegeben hat.
 
Die t5x-Software dieses Projekts ist in keinster Weise an die Turnigy Funke gebunden, auch wenn der Name dies vermuten lässt.
Die Platine (abgesehen von den Montage-Bohrungen) ist ebenfalls unabhängig.
Das ganze lässt sich wunderbar auch in anderen billigen (Hand)sendern einsetzen, die man rasch mal mit Frsky (oder auch andere) kombatibel bekommen möchte.

Man kann sich ja auch selbst was nach eigenem Wunsch basteln. Sind ja nur Schalter und Potis die da an der Platine hängen.
Im Endeffekt wird hier von der Turnigy Funke ja nur das Gehäuse verwendet. Die Gimbals sind soweit für den Preis ok, Schalter auch.

Ich finde die Arduino RcLib samt Arduino eine günstige Variante um sich mit geringen Aufwand seine maßgeschneiderte Wunsch-Funke zu basteln.
Mit der hier bereitgestellten Software hat man mal eine Basis um darauf aufzubauen, wenn man Lust drauf hat.
Resourcen sind eigentlich noch reichlich da. ROM ist zzt. zur Hälfte ausgereizt, Loop-Time hat ebenfalls mit ~3ms noch genug Luft nach oben. RAM ist noch etwa ein Drittel frei, vom EEPROM/Flash ebenfalls.
 

nique

Legal-LongRanger
Hallo Christian

Tolle Leistung mit dem Configurator! Ist zwar im ersten Moment nicht so intuitiv, aber ich denke, ich habs verstanden.

Nun vermisse ich noch ein paar Dinge, die ich benötige:
- Expo und DR auch für Throttle (ich will ja einen RC-Car für die Kids, und die sollen nicht Vollgas geben können...)
- Ich habe SW1, mit dem würde ich auch gerne Profile wechseln können. Ok, ist nur ein 2-Pos-Switch. Aber damit könnte ich vermutlich zwischen Profil 1 und Profil 6 switchen, oder?
- Ich habe nicht rausgefunden, wie ich im Configurator die Profile wechsle
- Mit Sw2 möchte ich die Modi wechseln, das geht ja schon, oder? Ist ein 3-Pos-Switch

Mein Hauptproblem, ich möchte ja Throttle im einen Profil von 0 - +100% haben, und im anderen Profil von 0 - -100%. Hast Du mir da einen Lösungsansatz? Die Min/Max-Werte beim Input helfen wohl nicht, oder?

Siehst Du eine Lösung, oder muss ich da alles selbst machen?
 
Zuletzt bearbeitet:
Nun vermisse ich noch ein paar Dinge, die ich benötige:
Kein Problem. Ist ja OpenSource und via github recht leicht zu erweitern.


- Expo und DR auch für Throttle (ich will ja einen RC-Car für die Kids, und die sollen nicht Vollgas geben können...)
Man könnte das Profile um ein zusätzliches Array von Expo und Dualrate erweitern und dieses dann aben auf Throttle anwenden. Gleiches Strickmuster wie bei AIL, ELE und RUD.

Mein Hauptproblem, ich möchte ja Throttle im einen Profil von 0 - +100% haben, und im anderen Profil von 0 - -100%. Hast Du mir da einen Lösungsansatz? Die Min/Max-Werte beim Input helfen wohl nicht, oder?
Meinst Du wirklich Profil, oder FlightMode?

Wenns um Profil-Abhängige Reverse-Flags für die einzelnen Kanäle geht, dann ist das ohnehin was, das noch auf meiner ToDo-List steht...

- Ich habe nicht rausgefunden, wie ich im Configurator die Profile wechsle
Das Profil wird grundsätzlich mittels Schalterstellung zum Zeitpunkt des Einschaltens gewählt und bleibt dann bis zum nächsten Einschalen so.
Im Setup-Mode wird die Funke ja nicht eingeschalten, sondern einfach nur via USB verbunden. Hier gilt dann das selbe. Die Schalterstellung gibt das Profil vor.

- Mit Sw2 möchte ich die Modi wechseln, das geht ja schon, oder? Ist ein 3-Pos-Switch
Ja kein Problem. einfach im configurator in der Zeile "Flight mode switch" in der Spalte SW2 das Feld markieren, apply und dann save klicken.

- Ich habe SW1, mit dem würde ich auch gerne Profile wechseln können. Ok, ist nur ein 2-Pos-Switch. Aber damit könnte ich vermutlich zwischen Profil 1 und Profil 6 switchen, oder?
Hmm, hatte ich eigentlich nicht vorgesehen. Immerhin haben wir 9 Profile, da macht der 2-pos Switch SW1 ja keinen Sinn.
Warum verwendest Du hier nicht auch den SW2?
 

nique

Legal-LongRanger
Hallo Christian

Danke für die umfangreichen Antworten.

Ist deine Idee, dass ich in Github das mit dem Throttle erweitere?

Also, es muss nicht unbedingt ein Profilwechsel sein. Wenn das mit dem "Neustart" einhergeht, dann klappt das nicht.

Was ich will:
SW1 als Umschalter, dass einmal Throttle von 0-100% geht und einmal von 0--100%. In der Taranis habe ich dazu eine (lineare) Kurve erstellt....

SW2 beschränkt das GAS auf 100%, 50% und 25%. In der Taranis mache ich das mit dem Multiplikationsfaktor. Somit können die Kids maximal 25% Gas geben. Und das je nach SW1 vorwärts oder rückwärts.

Im Prinzip ist das auch über die Flugmodi wechselbar. Respektive, ich denke, dass SW1 hier einen Reverse von einem Kanal machen sollte, anstelle der Modi. Reverse ist das Eine, aber man müsste (jedem) Kanal noch Min/Max-Werte mitgeben können, was de facto eine minimalistische Kurve beschreibt.

Bist Du bereit, noch soviel Funktionalität einzubauen? Oder siehst Du einen einfacheren Weg?

Der Configurator geht bei mir übrigens auch nur, wenn ich den Nano aus dem Board nehme. Schon komisch. Hast Du Dein Board auch voll bestückt? Ich mach dann mal noch ein Versuch mit dem zweiten Board. Aber da ist eben auch alles Vogelfutter drauf und ich habe fast den Verdacht, dass ich da was verbockt haben könnte.
 
naja, das mit github war so gedacht, daß jeder mitmachen kann was den Code betrifft.
Ich selbst für meinen Teil baue gerne Funktionen ein, für die ich selbst auch eine Anwendung sehe. Ansonsten kann jeder mittels github seinen eigenen Fork ziehen und dann wieder einreichen, so daß die Änderungen in die Main-Version einfließen.

Dachte ich mir schon fast, daß Du das mit der Throttle Reverse nicht Profilbezogen gemeint hast, obwohl Du es so geschrieben hattest.
Die RcLib hat eigens eine Curve-Klasse (https://github.com/ckonecny/t5x/blob/master/libraries/RC/Curve.h)
hier gibts ein Beispiel dazu:
https://github.com/ckonecny/t5x/blob/master/libraries/RC/examples/Curve_example/curve_example.pde

vielleicht würde das ja genau das Maß an Flexibilität in die Sache reinbringen.

Gebt mal euren Senf dazu wie das ganze aussehen könnte, so daß man hier weitgehendst flexibel einsetzen kann.
Bei Flexibilität lohnt sich das Implementieren mehr, als wenn man ganz was spezielles einbaut.
Sonst wird die Software ein einziger Wildwuchs.

Ich könnte mir sowas in der Art vorstellen, daß man in jedem Profil sagen wir mal als Hausnummer 4 Kurven anlegen kann.
Kurven bestehen in der RcLib aus 9 Punkten sowie min/mid/max-Trim Werten.
Nun könnten wir in weiterer Folge wiederum in pro Flightmode je einem analogen Input eine Kurve zuordnen. Beispielsweise im Flight mode 1 hätte dann Throttle keine (d.h. eine lineare) Kurve, im FM2 dafür eine invertierte Kurve.
Probleme an dieser Stelle sehe ich jedoch neben dem Umstand, daß es langsam unübersichtlich wird, was die Configurator-GUI angeht auch im EEPROM eng wird. wir müssten dann ein paar Modellspeicher opfern um für die dadurch weniger verbleibenden Modelle mehr Speicher zur Verfügung zu haben.

Da wäre es schon einfacher, Flugmodus bezogene Reverse-Flags für die einzelnen Kanäle zu implementieren. Das ist andererseits wiederum ein so spezieller Anwendungsfall, dass dadurch die Codebase und die GUI unübersichtlicher wird, aber wohl sonst nirgends Anwendung findet.
Ähnlich ist das mit dem von Dir angesprochenen Multiplikator.

Ich habe die T5x von Anfang an eher für den Einsatz von Multikoptern konzipiert.
Wenn es um komplexe Mischer, Kurven oder ähnliche Dinge geht, gelangt man doch recht rasch an die Grenzen den Atmega328p. ROM bietet noch etwas Luft, aber RAM und EEPROM ist doch recht knapp.

Ich würde an Deiner Stelle für Deinen ganz speziellen Anwendungsfall den umgekehrten Ansatz wählen und das ganze eher hardcoden. Du könntest Dir dazu eine frühere Version der T5x runterladen, am besten die v1.2.5 oder ein paar commits danach. Mit der EEPROM-Variante samt configurator wirds codemäßig doch etwas komplexer.

Das mit dem Configurator versteh ich nicht, daß der bei manchen nur geht, wenn der Arduino nicht am Board ist.
Findet bei Euch der PC/Mac den Arduino? ich meine, zeigt das Betriebssystem eine serielle Verbindung an?
Möglicherweise ist euer USB zu schwach...?
Ich hab mein Board was die Bauteile betrifft voll bestückt. lediglich nicht alle Stecker sind belegt...

Mein Fokus liegt derzeit - sobald ich wieder etwas Zeit finde - beim Arduino Sound-Modul. Wenn das so klappt, wie ich mir das vorstelle könnte das dann nicht nur in der T5x, sondern auch in anderen Projekten Einsatz finden.

Gruß aus Wien,
Christian
 
Zuletzt bearbeitet:

nique

Legal-LongRanger
Hey Christian

Das mit dem forken ist so ne Sache. Hab das noch nie gemacht und weiss grad nicht, ob ich mich da trauen soll...

Das mit den Kurven klingt gut. Ich bin ja auch dabei, mit einem Teensy einen Sender zu bauen - da habe ich mir zu beginn nun überlegt, komplett auf DR und Expo zu verzichten, dafür alles über Kurven zu machen. Denn mit Kurven braucht man die anderen Funktionen eigentlich gar nicht. 9-Punkte sind ausreichend.

Also wenn die Kurven drinn sind, dann kann ich damit arbeiten. Denn damit kann ich ja auch den Endausschlag bestimmen und auf 25% begrenzen. Wenn es "nur" 4 Kurven sind, könnte ich mich arrangieren. Mehr sind da immer besser. Aber Du hast schon recht. Nicht nur das Configurator-GUI wird unübersichtlicher mit der Funktionszunahme, auch der Code.

Zu wenig Strom am USB! Das könnte es sein! Ich mach dann auch mal Versuche mit einem nichtangeschlossenen Board. Wobei, viel ja nicht dran ist. die 4 Gimbals und 2 Schalter. Aber wer weiss, ich prüf das mal.
 
Die t5x-Software dieses Projekts ist in keinster Weise an die Turnigy Funke gebunden, auch wenn der Name dies vermuten lässt....
Das ganze lässt sich wunderbar auch in anderen billigen (Hand)sendern einsetzen, die man rasch mal mit Frsky (oder auch andere) kombatibel bekommen möchte.
Man kann sich ja auch selbst was nach eigenem Wunsch basteln...
Im Endeffekt wird hier von der Turnigy Funke ja nur das Gehäuse verwendet. ..
Genau so hatte ich das ja auch verstanden.
Nur habe ich zwei Probleme dabei, zum einen Hobbyking, zum anderen mangelnden Überblick bei den Alternativen.
Hobbyking hat sich in meinem Fall als Ausfall erwiesen, die Basis Turnigy 5x scheidet für mich daher aus.
Ich benötige eine Alternative.
Bei banggood findet man diverse Sender der Marke WLTOYS, entgegen einiger positiver Berichte auf rcgroups habe ich eher den Eindruck simpelsten Spielzeugs. Ansonsten finde ich noch Empfehlungen für die Devo 7e, allerdings widerstrebt es mir, einen Arm gegen einen pro nano & co zu tauschen.
 

Snap

Neuer Benutzer
Hallo alle zusammen,

Ich habe Heute meine Platine bekommen und aufgebaut, funktioniert soweit auch alles gut bis auf eine Kleinigkeit.

Ich habe folgendes Problem, meine Kreuzknüppel die ich hier noch liegen habe haben anscheinend 270 Grad Potis verbaut, bewegen sich mechanisch aber nur 60 Grad.
Das führt dann dazu, dass ich nur sehr geringe Aussschlagswerte im Configurator angezeigt bekomme.
Hat einer eine Idee wie ich den Sketch ändern kann, sodass meine analogwert in diesem Bereich ausgewertet wird?
 
Im sketch musst du dafür eigentlich gar nichts ändern.
Es sollte reichen, wenn du über den configurator die min /mid /max Werte angibst, die du über die Echtzeit Anzeige im configurator bekommst.
Natürlich wirst du durch den eingeschränkten mechanischen Wirkungsbereich und den daraus resultierenden geringeren Wertebereich möglicherweise eine gröbere Abstufung der Kanal Werte bekommen...
 

Snap

Neuer Benutzer
Vielen dank für die Info, ja die Abstufung wird um einiges gröber aber zum testen kann ich damit leben.Das ganze ist sehr schade da die Knüppel aus der Multiplex 3030 eigentlich mechanisch sehr schön sind.Dann kann es jetzt weitergehen mit testen.
Das ganze ist bei mir nicht für eine 5x, sondern ich baue mir meinen Sender in ein kleines Pelicase.
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten