Interesse an Adapter zwischen Arducopter und HoTT?

#1
Hey!

Ich programmier gerade an einer Klasse mit der es möglich ist, sämtliche Daten (aktuell statisch) über die Rx/Tx Schnittstelle eines Arduino (mini pro) über den GR-12/16/24/... an die Fernsteuerung zu senden. Die Daten sind für alle Module (General Air, Electric Air, GPS, Vario) aufbereitet.

Der zweite Schritt wäre die Implementierung des Mavlink Protokolls. Hierüber würde man die realen Flugdaten erhalten, die man nur noch gegen die derzeit statischen Werte austauschen müsste.

Traum wäre natürlich noch PID settings via Smartbox zu realisieren...

Besteht grundsätzlich an solch Adapter/Platine interesse? Parallel dazu habe ich beim AC Team angefragt, ob sie die Klasse nicht direkt implementieren können, denn dann spart man sich die Hardware mit dem Mavlink gedöhns... und würde mit einem Adapterkabel z.B. vom Telem2-Port zum GR-Empfänger Telemetrie-Port direkt gehen können (wenn es 3,3v Pegel sind).
 

efliege

Erfahrener Benutzer
#4
Ich hatte mit meiner MX20/GR16 Empfänger auch Interesse - und dann etwas funktionierendes für ab 3.1 APM Firmware aufwärts!

Gruss,

Matthias
 
#7
Die Firmware des Copters wäre soweit unabhängig, so lange sich das Protokoll nicht wesentlich ändert. Es wäre ja ein separater Arduino. Bei meinem Testversuch habe ich den Empfänger GR-16 mit 5/6V versorgt und +- aus dem Telemetrieport über einen Spannungswandler auf 3,3V gebracht und versorge damit den Arduino. Die Rx/Tx-Leitung ist mit dem Telemetrieport verbunden.

Nach aktueller Lage wollte ich das Tx-Signal vom Copter (zum minimOSD/433 MHz Telemetriesender) anzapfen und am Arduino anschließen und entsprechend auswerten. Vielen Dank für den Tipp Peter - ich werde mir dieses die Tage mal anschauen. Beim Eingang vom Copter habe ich noch das Problem, dass Rx vom Arduino bereits belegt ist. Ich muss mal schauen, ob ich es über die FastSerial-Klasse (oder so ähnlich) gelöst bekomme. Alternativ wäre noch die Idee mit einem Multiplexer: Dass ich Rx/Tx vom Arduino permanent zwischen RTx vom GR-16 und Copter wechseln lasse.

Vielleicht haben wir auch Glück und das AC Team integriert die Klasse in den Core mit der Option die HoTT-Ausgabe auf Telem-Port 1/2 (Pixhawk) ein-/auszuschalten. *Traum*
 

Yups

Erfahrener Benutzer
#8
Super, das wäre echt eine tolle Sache. Am besten gleich noch mit Arduplane Unterstützung :)

Ich hatte soetwas auch mal angefangen und es lief zum Teil auch. Codes aus dem jdronesIO.Board Rep und vom Autoquad Mavlink2Hott Adapter zusammenkopiert.

http://code.google.com/p/arducodes/downloads/list

Allerdings hat meine Programmiererfahrung dann irgendwann nicht mehr ausgereicht, um das ganze wirklich stabil zum laufen zu bekommen.
 

micropet

Erfahrener Benutzer
#9
HoTT Ausgabe vom PX4 haben wir ja schon über PX4NuttX fertig. Das würde sich leicht auf ein PIXHAWK portieren lassen. APM wäre aber aussen vor.

Der Vorteil der Teensy Lösung ist, dass sie den Mavlink Bereich betreffend schon fertig ist. Sie funktioniert mit APM, PX4 und PIXHAWK. Du brauchst keine FastSerial-Klasse und keinen Multiplexer.

Die Ausgabe der Daten erfolgt momentan für FrSky. Da müsstest Du nur Deine HoTT Ausgabe integrieren.
Die Lösung ist natürlich auch für andere Protokolle offen, z.B. Jeti.

Gruss Peter
 
#10
Mit dem PX4/PX4NuttX habe ich mich nie intensiv beschäftigt. So tief möchte ich auch gar nicht gehen. Dass APM außen vor wäre, wäre natürlich schade, da ich selber eine Pixhawk und eine alte APM 2.0 mein eigen nennen darf. Insofern ist die externe Lösung ja die Universellste - auch wenn der direkte Anschluss des Empfängers an dem Serial-Out des Copters das einfachste wäre (aber nur für Pixhawk).

Was meinste Du genau mit Teensy Lösung?

Auch komme ich gedanklich gerade nicht mit, wie ich das IO-Board anschließen muss. Ich gehe mal davon aus, dass das IO-Board auch nur ein Serial-Port (RxTx) hat. An meinem jetzigen RxTx-Anschluss habe ich ja schon den Empfänger angeschlossen. Eine Trennung Rx/Tx erfolgt mit einer einfachen Diode, da der Empfänger ja nur eine Datenleitung für In und Out hat.

Wo schließe ich das Mavlink an? Oder wird bei dem IOBoard das Mavlink an den Rx/Tx konnektiert und der FrSky-Anschluss woanders? Oder sitzen sowohl FrSky (dann HoTT) als auch Mavlink parallel am Rx/Tx? Wobei das dürfte in die Grütze gehen. Oder wird FrSky über I2C (SDA/SDL) mit Daten gefüttert? Problem ist doch, dass sowohl Mavlink als auch HoTT einen seriellen Anschluss benötigen und es ja nur einen gibt (am Atmega328).

VG
 
#12
ahhh. ich sehe. arm32. cpp ist ja recht universell ;-) kann ich diesen chip auch noch mit der arduino ide bespielen oder welche opensource ide benötige ich? komme durch studi status auch an vieles kostenlos ran, aber darf gerne opensource bleiben.

habe mir mal eine platine bestellt. finde sie aber noch recht teuer. nen atmega ist dagegen ja geschenkt... für diesen zweck wäre er ja sogar absolut ausreichend - wenn das mit dem seriellen port gelöst ist.

vielen dank für die top tipps!
 

micropet

Erfahrener Benutzer
#13
Naja, ca. 17 EUR finde ich schon OK.

Du kannst die Arduino IDE mit Teensy addon verwenden.
Suche nach Teensy 3.1.

Gruss Peter
 
#14
habe bei amazon 25... aber wo gibt es die denn für 17 euro (exp-tech gefunden)? weißt du Zufällig wieviel volt die rxtx pegel haben - wenn ich es richtig raus gelesen habe sind die pegel 3.3 und die Betriebsspannung ist 5v korrekt?
 
Zuletzt bearbeitet:
#16
Hehe... Um so mehr ich lese, um so mehr bin ich geneigt hier ein SMD-Streifen mit etlichen Atmegas zu verkaufen. :D Diese Variante ist echt interessant. Wären sie nur halb so teuer... ;-)
 

Ziege-One

Erfahrener Benutzer
#17

Terminus

Erfahrener Benutzer
#19
32bit für nen Sniffer, buja das ist ja wie mit dem Panzer und nem Airbus zur täglichen Arbeit zu pendeln ;-)
Wobei JTAG ja was Feines ist, und das Teensy ist auch süß, dass geb ich ja auch zu. Aber mit Arduino-IDE :confused: Ist schon schlimm genug das die Entwickler auf so eine Bastlerplattform stehen, jetzt mit 32Bit artet es aber langsam aus. Will aber nicht zudoll vom Thema abweichen...

Ich bau mir demnächst nen Mavlink-Jeti-Sniffer, wenn ich mal wieder in wenig mehr Zeit habe und ich keine Kauflösung finde. Aber dann auf einen Atmega88 welche ich hier noch zuhauf rumliegen hab. Letzten Endes brauch man doch nur 1000Zeilen

Greez Termi
 
#20
Hey Terminus: Ich gebe Dir vollkommen recht. 32 Bit und 48/96MHz sind overdresst. Die 8MHz des Atmegas mit 8 Bit tun es auch. ;-) Das Einzige was ich an dem Teensy in der Projektierung gut finde, sind die 3 echten seriellen Schnittstellen. Aber ich sah bereits in dem verlinkten Arduplane Projekt, dass dort die zweite benötigte Schnittstelle mit dem FastSerial simuliert wird. Von daher tendiere ich auch eher zum Atmega, da er einfach deutlich billiger ist.

Ja, die IDE von Arduino ist nun wirklich nicht der Hit. Aber es funktioniert soweit, dass ich meine paar Zeilen Cpp damit kompilieren kann. Gerne lasse ich mir aber auch eine andere kostenlose IDE empfehlen?! Ich möchte wie gesagt nur mit möglichst einfachen Mitteln Atmega328, Teensy u.ä. programmieren können....

Aber so wie es Dir ergeht, ergeht es mir auch - es fehlt die Zeit Cpp o.ä. vollumfänglich neu zu lernen. Ich muss gerade Java für die OOP Klausur lernen. Und Inhalt ist nicht mal eben eine Klasse zu entwerfen sondern wie der Compiler den Code übersetzt, was gebunden/aufgelöst wird, Stub-Objekte, usw. :-/

VG
 
Zuletzt bearbeitet:
FPV1

Banggood

Oben Unten