Telemetrie-Konverter: HOTT->FrSky

Status
Nicht offen für weitere Antworten.

Tempo

Erfahrener Benutzer
#42
@nachbrenner

Freut mich, daß Dich der Teensy3.0 glücklich macht :)

Ich suche noch folgende Infos:
Wo gibt es außer bei openxvario Informationen zum Protokoll des "Smart Port" ?
Wo gibt es Informationen, wie man in die Telemetriesoftware direkt in der Taranis eingreift ?
 

sandmen

Erfahrener Benutzer
#43
@nachbrenner

Freut mich, daß Dich der Teensy3.0 glücklich macht :)

Ich suche noch folgende Infos:
Wo gibt es außer bei openxvario Informationen zum Protokoll des "Smart Port" ?
Wo gibt es Informationen, wie man in die Telemetriesoftware direkt in der Taranis eingreift ?
Die Doku der FW des X8R somit auch dem SPort, habe ich momentan nicht gefunden.
Angeblich gibt es Sie unter NDA!

Am Sender, ist es relativ einfach. Hier wird in der Telemetry class, decodiert.
Es gibt auch die TelemetryView class, hier ist der Bildschirm Aufbau beschrieben.
Die Verbindung zwischen String List ( Eingabe Felder und Selector ist etwas komisch !)
Gibt auch nen einfachen Simulator für die modifizierte firmware. Siehe unter wiki bei OpenTX.

Ich möchte nach und nach, Informationen von der FC auf dem Display darstellen.
Eigentlich benötige ich keine zusätzliche Sensoren. Ist etwas anderes als es nachbrenner haben möchte.

Gruß
 

nachbrenner

Erfahrener Pfuscher
#44
Und wieder ein Stück weiter: Jetzt werden schon insgesamt 7 Sensorwerte angezeigt:

frsky_unilog.JPG
Klick für groß. Auf dem oberen Display die Ausgaben des Unilog2 und unten die FrSky-Telemetrie-Anzeige.

Als Telemetrie-Protokoll verwende ich noch M-Link. Wenn da alles was ich brauche läuft werde ich mir wahrscheinlich HOTT ansehen.
 

nachbrenner

Erfahrener Pfuscher
#46
Hier nochmal ein Vergleich wie stark der Teensy 3.0 als Konverterhardware auftragen wird:

1_Oben.jpg

2_Seite.jpg

Ich plane ihn direkt auf das Unilog2 zu schnallen. Vom Platz her müsste das zu verkraften sein.

Eigentlich schade, hatte gehofft dass es sich für das Projekt lohnt eine eigene Platine zu entwerfen ;)

Nächste Schritte: Software etwas polieren und dann auf Google Code oder so stellen.


(Seitenbemerkung: Als Oszi habe ich ja ein günstiges DS1052E. Das Teil ist für den Preis super, nur der laute Lüfter nervt. Laut eevblog kann man aber einfach einen 80er Lüfter rein bauen -> werde ich wohl mal machen, nervt sonst doch ziemlich ...)
 
Zuletzt bearbeitet:

nachbrenner

Erfahrener Pfuscher
#49
Schaut jetzt ganz gut aus. Hier mal ein Beispiel der Aufzeichnung Geschwindigkeit für Logview (Unilog2) und Taranis.

Unilog2:
logview.JPG


Taranis:
taranis.JPG

Es funktioniert:

* Spannung
* Strom
* Höhe
* Vario (nur grob)
* Geschwindigkeit
* Genutzte Lipo-Kapazität
* Drehzahl (RPM)
 
Zuletzt bearbeitet:

nachbrenner

Erfahrener Pfuscher
#50
Tester gesucht. Das Projekt ist jetzt hier live, inklusive Quellcode:

https://code.google.com/p/telemetry-convert/


Ihr braucht ein Unilog2 oder ein Unisens-E oder einen M-Link Sensor den ihr live anzeigen möchtet. Dazu müsstet ihr einen Teensy 3.0 kaufen und selbst anschließen und Programmieren. Die Anleitung ist auf der Projektseite. Wer es nicht zum Laufen bekommt dem helfe ich auch gern hier im Thread.
 
Zuletzt bearbeitet:

nicodh

Neuer Benutzer
#51
Hello, sorry for writing in english but i'm not german speaker.

I'm trying to use your dev (very good as a mater of fact) to read the telemetry data from mikrokopter (HOTT telemetry) without success. The unilog2 is sending the data as HOTT right?

Maybe i'm doing something wrong, i need to test a little more I think.
I will keep trying. Thank you for this.
 
#52
Hallo nachbrenner,
herzliche Gratulation zu Deinem wirklich coolen Projekt. War schon einige Zeit auf der Suche nach genau so einem System. Ich fliege Futaba und hab vor langer Zeit mal einen Bluetooth Link für mein Unilog 1 gebastelt. Siehe: http://goldeneye.ethz.ch/elektronik/flight_data und http://goldeneye.ethz.ch/elektronik/flight_data/btunilog

Mittlerweile hab ich mir ein UniSense und einen GPS Logger zugelegt und bin sehr zufrieden damit. Weil man den Com-Port für die Verbindung zwischen UniSense und GPS braucht, funktioniert der BT-Link-Trick nicht mehr - deswegen bin ich auf der Suche nach einer Lösung um die Telemetriedaten auf den Boden zu funken. Entweder wieder auf das Unidisplay (o.ä. z.B. http://www.4dsystems.com.au/product/1/7/4D_Intelligent_Display_Modules/uLCD_24PTU/ ) oder eine Spachausgabe - aber soweit bin ich noch nicht...

Noch ein paar kleine Fragen: hast Du Deinen Code jemals auf dem Ardunio Mega zum Laufen gebracht ?
Bei mir läuft der Code, aber es kommt nur Datenmüll - vermute, dass der UniSense nicht richtig auf MLINK/MSB Mode umschaltet.

Irgendwie habe ich Deine Erklärungen zum invertierten Seriellen Port nicht ganz verstanden. Braucht man das am Unilog oder auf dem FrSky System.

Nochmals herzliche Gratulatation zu Deiner Arbeit und vor allem dafür, dass Du Deine Erkenntnisse mit uns teilst !

Viele Grüsse,
Wolfgang
 
#54
Hallo,
angeregt durch nachbrenner's erfolgreiche Experimente und angesichts der Tatsache, dass ich wegen der Feiertage nicht so schnell an einen Teensy3 komme, habe ich noch ein wenig mit Arduinos experimentiert.

Ergebnisse bis jetzt:
1. der Code läuft nach kleinen Anpassungen auf dem Arduino Mega und auf meinem Zielsystem, dem Arduino Pro Mini 3.3V.
2. Am Arduino Pro Mini kann ich den UniSense nur über Hardwareserial ansteuern - Softwareserial lieferte falsch Werte (keine Ahnung wieso ...). Das ist beim Entwickeln mühsam, aber im Betrieb egal.
3. Entscheidend ist offenbar die Verbindung zwischen der seriellen Schnittstelle und dem Single-Wire MSB.
Die passende Schaltung (2 Widerstände, 1 Diode) findet Ihr hier:
http://www.zier-net.de/mfg/technik/usbkabel/empfaenger.htm
4. Wenn man den Unisense eine zeitlang mit der richtigen Baudrate MLINK Andressen schickt, schaltet er zuverlässig in den MLINK/MSB Modus (Tipp des Entwicklers ...)

Das ist der Code, der in setup() abläuft, bevor die eigentliche Kommunikation beginnt:
// sends an address (0x00 to 0x0f) to the bus every 6ms to switch the Unilog device to MLINK/MSB mode
for (int n=1; n< 100; n++) {
for (byte i=1; i< 16; i++) {
MSB.write(i); // send sensor address
MSB.flush(); // make sure send is complete
delay(6); // wait up to 6ms for answer
}
}


Viele Grüsse,
Wolfgang
 

nachbrenner

Erfahrener Pfuscher
#55
Hello, sorry for writing in english but i'm not german speaker.

I'm trying to use your dev (very good as a mater of fact) to read the telemetry data from mikrokopter (HOTT telemetry) without success. The unilog2 is sending the data as HOTT right?

Maybe i'm doing something wrong, i need to test a little more I think.
I will keep trying. Thank you for this.
Hi, thanks for your interest. Unfortunately the converter only accepts Multiplex M-Link Format as input. I may extend it for Hott later if I have the time. However M-Link currently fills my own needs. Since it is open source everybody is welcome to extend it :)
 

nachbrenner

Erfahrener Pfuscher
#56
Hallo,
angeregt durch nachbrenner's erfolgreiche Experimente und angesichts der Tatsache, dass ich wegen der Feiertage nicht so schnell an einen Teensy3 komme, habe ich noch ein wenig mit Arduinos experimentiert.

Ergebnisse bis jetzt:
1. der Code läuft nach kleinen Anpassungen auf dem Arduino Mega und auf meinem Zielsystem, dem Arduino Pro Mini 3.3V.
2. Am Arduino Pro Mini kann ich den UniSense nur über Hardwareserial ansteuern - Softwareserial lieferte falsch Werte (keine Ahnung wieso ...). Das ist beim Entwickeln mühsam, aber im Betrieb egal.
3. Entscheidend ist offenbar die Verbindung zwischen der seriellen Schnittstelle und dem Single-Wire MSB.
Die passende Schaltung (2 Widerstände, 1 Diode) findet Ihr hier:
http://www.zier-net.de/mfg/technik/usbkabel/empfaenger.htm
4. Wenn man den Unisense eine zeitlang mit der richtigen Baudrate MLINK Andressen schickt, schaltet er zuverlässig in den MLINK/MSB Modus (Tipp des Entwicklers ...)

Das ist der Code, der in setup() abläuft, bevor die eigentliche Kommunikation beginnt:
// sends an address (0x00 to 0x0f) to the bus every 6ms to switch the Unilog device to MLINK/MSB mode
for (int n=1; n< 100; n++) {
for (byte i=1; i< 16; i++) {
MSB.write(i); // send sensor address
MSB.flush(); // make sure send is complete
delay(6); // wait up to 6ms for answer
}
}


Viele Grüsse,
Wolfgang
Hi Wolfgang, super dass es für dich funktioniert :) Ich bin am Softwareserial verzweifelt - das lief bei mir unzuverlässig, auf dem Teensy mit 3HW-UARTS dagegen ging es gleich perfekt und man braucht keine Zusatzschaltung für das half Duplex serial. Meinen Respekt dass du es mit dem Atmega zum Laufen bekommen hast!

Gruß,
Jochen

Edit: Der invertierte serielle Port wird für die Verbindung zur Frsky-Empfänger gebraucht
 
#57
Hallo Jochen,
an der SoftwareSerial des Arduinos bin ich leider auch verzweifelt - ich werd mir demnächst einen Teensy bestellen - die Leistungsdaten sind echt überzeugend!
Hast Du mal gemessen, wieviel Strom sich das Ding im Betrieb genehmigt ?

Wirklich interessant würde ich eine Kombination aus Deiner Idee und dem da finden:
www.imsb.ch

D.h. Unilog im MSB Modus -> Arduino/Teensy & Link via WiFi oder BT -> iPhone :confused:

Ich werd' den Kollegen von imsb mal schreiben ....

Viele Grüsse,
Wolfgang
 

ufo-hans

Neuer Benutzer
#58
Hallo nachbrenner!

Schönes Projekt!

Ich habe die letzten Tage so etwas Ähnliches mit einem Propeller-Chip realisiert, um die Telemetrie vom ARM-o-Kopter auf die Taranis zu bekommen (und von dort weiter in den Antennentracker) und bin dabei in eine Falle getappt, die auch in deinem Projekt drinnen ist... Die Zeichen 0x7D und 0x7E müssen bei der Übertragung in die Zwei-Byte-Werte 0x7D 0x5D und 0x7D 0x5E umgewandelt werden, da sonst die Übertragung zu haken beginnt. Aufgefallen ist mir das erst, als ich feststellen musste, dass manche Zahlenwerte nicht und nicht im Display der Taranis ankommen wollten.

Viel Erfolg weiterhin (und im Nachhinein Frohe Weihnachten!), Hans.

PS: Hier gibts "meinen" Code: http://www.armokopter.at/forum/viewtopic.php?p=27246#p27246
 

nicodh

Neuer Benutzer
#59
Hello nachbrenner, thanks. I just had some mixed results...sometimes it reads. But as i saw in the unilog configuration the hott/jeti stuff i thought it would be direct. Anyway i will try to find some documentation for the hott protocol and try to add the code. If i succeed i will put the code here. thanks!
 
#60
Hallo Jochen,
ich habe mittlerweile gute Fortschritte mit meinem iPhone Telemetrieprojekt gemacht.

Die Verbindung:
Unilog im MSB Modus -> Teensy -> WiFi -> iPhone funktioniert.

Als Software verwende ich http://www.imsb.ch/ (ganz neue Version seit gestern im App-Store, Sprachausgabe, Sprachsteuerung, cooles Design - ein wirklich sehenswertes Ding :cool: )
Diese Kombination wäre dann für alle Piloten interessant, die keinen Telemetriesender/-display und keinen MPX Empfänger haben.

Ich hätte da noch eine Frage zum Setup der seriellen Schnittstelle, die den Teensy mit dem MSB verbindet.


#define _inputSerial Serial2
#define _input_C1 UART1_C1 <--- UART1_C1 bezieht sich auf Port 2 ??? Funktion ???
#define _input_C3 UART1_C3
....
void setup()
....
_input_C1 |= 32+128; // Single wire mode <--- wird damit Port 2 in den 1-wire Modus geschaltet ? Welchen Pin muss man verbinden ?


Hab' in der Doku leider nichts gefunden ...

Gruss & Dank
Wolfgang
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten