1. Willkommen im Forum! Registriere dich, um eigene Beiträge zu schreiben.

Modifikation Mavlink2Walkera Telemetrie-Übersetzer 0.9 [Arduino]

Dieses Thema im Forum "Arducopter und Pixhawk (Walkera und andere)" wurde erstellt von Bobness, 5. Mai 2015.

  1. Bobness

    Bobness Starker Walkerafan

    Beiträge:
    73
    Zustimmungen:
    71
    Ort:
    Münster
    Hallo zusammen,

    ich war wieder fleißig. Hier mein zweiter Telemetrie-Übersetzer. Dieser wird benötigt, um Arducopter oder Pixhawk-Telemetrie für einen RX705-Empfänger zu übersetzen!
    Alle Werte, die über dieses Protokoll möglich sind, werden übertragen: Spannung, GPS-Koordinaten, Höhe, Speed. Koordinaten passen auf den Meter genau! :)

    Da ich bereits in meinem ursprünglichen FrSky-Projekt das Walkera-Telemetrie-Protokoll "entschlüsselt" habe, war dieses etwas einfacher umzusetzen!

    Die Details stehen hier (auf Englisch), Download des Hex-Files gibt's dort auch im Doc-Order:
    bobness09/Mavlink2Walkera · GitHub

    Wenn ihr Fragen habt, fragt mich gerne!

    Hier noch zwei Fotos, wie es fertig verkabelt aussieht:
    20150829_131945.jpg
    20150829_132022.jpg

    Viel Spaß damit und beste Grüße,
    Bobness
     
    Zuletzt bearbeitet: 6. Sep. 2015
  2. lichtimc

    lichtimc Walkerafan

    Beiträge:
    23
    Zustimmungen:
    15
    Wow, wie cool... :)
    Freu mich schon riesig aufs Basteln und Flashen...

    Danke für deine Arbeit!
     
  3. Bobness

    Bobness Starker Walkerafan

    Beiträge:
    73
    Zustimmungen:
    71
    Ort:
    Münster
    Hey lichtimc, bevor du den Arduino & TTL-Adapter bestellst, zeig mir doch eben, was du dir ausgeguckt hast. Denk dran, dass du einen Stecker brauchst, der in den Telemetrie-Port von Rx705 passt.

    So viel gibt's übrigens gar nicht zu basteln, da muss ich dich "enttäuschen". Den Arduino flashen und die Kabel dranlöten, das wars - zumindest was meine Modifikation anbelangt. Auch hier: Frag mich zur Sicherheit, wenn was unklar ist ;)

    Getestet habe ich das Ganze übrigens erfolgreich mit Pixhawk 2.4.5 und Devo 10 (meine) & Devo 12 meines Kollegen.
     
  4. lichtimc

    lichtimc Walkerafan

    Beiträge:
    23
    Zustimmungen:
    15
    Hi Bobness,

    ich hab den Arduino (Klon) daheim liegen gehabt und ihn gleich mal geflasht... :)
    Nach dem Flashen verhält er sich so, ich glaube das ist nicht so verkehrt, meine LED die zuerst schnell und dann langsam blinkt ist halt blau statt grün...
    http://www.mediafire.com/watch/8la8s3gmx89vaqm/arduinopromini.mp4

    Ja, mit der Bastelei hast du recht... ist nicht viel zu tun... :)
    Das nächste Video lade ich hoch, sobald ich fertig bin, damit man die Funktion sieht... :)

    Aja... eine Frage hätte ich tatsächlich:
    Die beiden Telemetrie-Ausgänge meines Pixhawks sind schon besetzt:
    Telemetrie 1: 3dr telemetrie
    Telemetrie 2: osd
    Kann ich beispielsweise einfach die Kabel zum osd splitten? Oder müsste ich auf eines der beiden Dinge verzichten?
    Edit 27: OK hab grade gelesen, dass es angeblich funktionieren soll, die Daten abzugreifen, indem man die Telemetrie-Kabel splittet...

    Danke dir nochmal für die Zeit, die du ins Projekt investiert hast... :thumbsup:

    lg, lichtimc
     
    Zuletzt bearbeitet: 13. Mai 2015
    Bobness gefällt das.
  5. Bobness

    Bobness Starker Walkerafan

    Beiträge:
    73
    Zustimmungen:
    71
    Ort:
    Münster
    Hey,
    genau, das schnelle Blinken zeigt an, dass der Arduino auf den Boot des Pixhawk wartet. Danach erscheinen direkt Telemetrie-Werte auf der Funke, wenn alles korrekt angeschlossen wurde.

    Versuche erst mal, den Arduino direkt anzuschließen.
    Wenn alles klappt, kannst du versuchen, nur den Tx-Pin des Pixhawk-Telemetrieports zur 3DR-Telemetrie zu splitten und an den Arduino Rx-Pin zu führen. Die Mavlink-Daten, die die 3DR-Telemetrie anfordert und der Pixhawk sendet, sollten auch parallel vom Arduino verstanden werden.
    Der Tx-Pin des Arduinos wird nicht verbunden (dieser fordert ja im Normalfall die Mavlink-Daten an). Strom bezieht der Arduino bei diesem Setup z.B. von den 5V-Pins des RX705 (dann musst du nicht alle Kabel vom Pixhawk-Telemetrie-Port splitten).

    Beste Grüße,
    Bobness
     
  6. HAL

    HAL Moderator Mitarbeiter

    Beiträge:
    765
    Zustimmungen:
    665
    Ort:
    47269 Duisburg
  7. Bobness

    Bobness Starker Walkerafan

    Beiträge:
    73
    Zustimmungen:
    71
    Ort:
    Münster
    gektor gefällt das.
  8. HAL

    HAL Moderator Mitarbeiter

    Beiträge:
    765
    Zustimmungen:
    665
    Ort:
    47269 Duisburg
    Vielen Dank!
    VG HAL
     
  9. fentermichel

    fentermichel Walkerafan

    Beiträge:
    8
    Zustimmungen:
    2
    Hallo,
    da ich einen Pixhawk und ein Rx705 Empfänger habe, so wie eine Devo10,
    würde ich gerne den Telemetrie Übersetzer einbauen.
    Ich habe den oben empfohlenen Arduino Pro Mini:http://www.amazon.de/Arduino-kompatibles-ATmega-16MHz-ATmega328/dp/B00CE6ZVWK/
    und diesen Konverter: USB zu TTL-Konverter-Modul mit eingebautem in CP2102: Amazon.de: Computer & Zubehör
    Meine Versuche mit den Xloader zu Flashen klappen aber nicht.
    Egal ob RX an TX und TX an Rx oder TX an TX und RX an RX sind.
    DTR angeschlossen ist oder nicht.
    Den Treiber cp2102 habe ich auch installiert

    Welche Einstellung muß ich im Xloader mache?
    Einen Pro Mini gibt es da nicht.

    MfG Fentermichel
     
    Bobness gefällt das.
  10. Bobness

    Bobness Starker Walkerafan

    Beiträge:
    73
    Zustimmungen:
    71
    Ort:
    Münster
    Hi Fentermichel,

    schön dass dich mein Projekt interessiert.
    Hast du das Problem schon lösen können? Arduino und das Flash-Modul sind korrekt. RX und TX müssen gedreht sein (und natürlich 5V und Masse angeschlossen). Ich nehme an, der Arduino blinkt wenigstens.

    Einstellen musst du den Xloader auf 57600 Baud (und den richtigen COM-Port):
    image001.png
    In der Sekunde (oder 1-3 Sekunden später) nachdem du auf Upload geklickt hast, musst du den Reset-Schalter am Arduino drücken, damit der Arduino in den Bootloader-Modus kommt. Timing ist in dieser Hinsicht alles. Versuche ein bisschen zu experimentieren, wenn es nicht auf Anhieb klappt.

    Wenn das alles nicht hilft: Vielleicht hast du ein Treiber-Problem. Dieses Kommunikationsproblem tritt häufiger auf, es wird vermutlich durch irgendwelche zusätzlich installierten Programme/Treiber ausgelöst. Mein Kollege hatte ähnliche Effekte.
    Falls möglich, versuche einen anderen Rechner, oder (funktioniert super für mich) eine leere 32-Bit Windows 7-Maschine im VMware Player.

    Bin gespannt auf dein Feedback.

    Beste Grüße
    Bobness
     
    gektor gefällt das.
  11. fentermichel

    fentermichel Walkerafan

    Beiträge:
    8
    Zustimmungen:
    2
    Hi Bobness
    ich konnte zwischen zeitlich mal über das Arduino IDE Programm und über die Kommandozeile auch als .hex Datei,
    das Led Blinken verändern.
    Das aufspielen deiner .Hex Datei klappte nicht. Es kann aber an den falschen PROGRAMMER gelegen haben.
    Leider habe ich dann beim Versuch die Libraries von Compiling Grbl · grbl/grbl Wiki · GitHub zuladen,
    irgendwas zerschossen. (Ich bin Anfänger und weiß nicht immer wirklich was ich mache, außerdem ist mein Englisch nicht das Beste.)
    Auf jeden Fall blinkt die Led jetzt gar nicht mehr, und ich bekomme nichts mehr auf den Arduino geladen.
    Fehlermeldung:
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xc8

    Ich glaube er ist hin, und ich muß einen neuen bestellen.

    Danke für die Antwort Fentermichel
     
  12. Bobness

    Bobness Starker Walkerafan

    Beiträge:
    73
    Zustimmungen:
    71
    Ort:
    Münster
    Hey Fentermichel,

    wofür brauchst du denn die Libraries von Grbl? Da ist nur die Anleitung interessant, wie man ein Hexfile auf den Arduino bekommt :)
    Wenn du das Blinken geändert hast, hast du ja offensichtlich den Code aus dem Blink-Beispiel angepasst, und ihn dann geflasht. Wenn das klappt, solltest du auch meine Hex-Datei auf den Arduino flashen können. Mehr ist ja auch garnicht notwendig (außer die Verkabelung zwischen Pixhawk und RX705).

    programmer is not responding: Könnte heißen, dass du den falschen COM-Port ausgewählt hast. Oder ein Treiberproblem?
    Not in Sync: Könnte heißen, dass die 4 Kabel nicht korrekt angeschlossen sind, oder du nicht zum rechten Zeitpunkt Reset gedrückt hast.

    Ich glaube es ist nicht möglich, ohne Zusatzhardware den bestehenden Bootloader zu modifizieren oder zu zerstören - solange du nicht die Stromkabel falsch herum angeschlossen hast, sollte vermutlich alles ok sein.

    Beste Grüße
     
  13. fentermichel

    fentermichel Walkerafan

    Beiträge:
    8
    Zustimmungen:
    2
    Hey Bobness,

    ich habe einen neuen Arduino Pro Min, dieses mal von Ebay, aber es ist wohl genau der gleich.
    Das Hochladen deiner Hex Datei lief bis 94% , dann kam die oben schon geschriebene Fehlermeldung.
    Jetzt ist alles wie beim anderen Arduino, er blinkt nicht mehr und man kann auch nichts hochladen.
    Ich werde es jetzt mal mit einen der Usb hat versuchen.


    Bis dann Fentermichel
     
  14. Bobness

    Bobness Starker Walkerafan

    Beiträge:
    73
    Zustimmungen:
    71
    Ort:
    Münster
    Hey Fentermichel,
    das ist blöd! Ich würde eher auf den Flasher tippen, vielleicht hat der ne Macke. Vor allem wenn 2 unterschiedliche Arduinos nicht klappen.
    Messe doch mal den Stromoutput mit einem Multimeter, der sollte 5V betragen (und nicht 3,3). Der Flasher hat da wohl einen Lötpunkt für. Mache sonst mal ein hochauflösendes Bild von deinem Flash-Setup.
    Vielleicht ist auch was mit deinen USB-Ports nicht in Ordnung?
    Es muss schon ein Pro Mini mit 16MHz sein, da das Hexfile genau für diesen Chip kompiliert wurde. Auf einem anderen Arduino mit USB müsstest du den Code selbst neu kompilieren für ein anderes Ziel.
    Wenn das nicht fruchtet: Schicke mir eben die beiden Arduinos, ich flashe sie dir. Wenn sie tatsächlich kaputt sind, flashe ich dir einen neuen.

    Beste Grüße
     
    gektor gefällt das.
  15. fentermichel

    fentermichel Walkerafan

    Beiträge:
    8
    Zustimmungen:
    2
    Hallo Bobness,
    erst mal viel Dank für deine Hilfe.
    Der Flasher hat laut Multimeter 5,13V
    Es klappt auch am Windows Tablet nicht.
    hier die Bilder:
    MD001363.JPG MD001363.JPG

    Warten wir mal ab es mit den nächsten Arduinos klappt.

    Nochmal vielen Dank für deine Mühe
    Fentermichel
     

    Anhänge:

  16. Bobness

    Bobness Starker Walkerafan

    Beiträge:
    73
    Zustimmungen:
    71
    Ort:
    Münster
    Hey,
    falls noch nicht geschehen, lasse DTR weg. Der Pin ist zum Flashen nicht notwendig, der Reset wird ja über den kleinen Button ausgeführt. Das könnte sich in die Quere kommen.
    Noch etwas, was du versuchen kannst: Verbinde nur GND mit dem Flasher, und versorge den Arduino mit 5V von einer anderen Quelle (VCC und ein zweiter GND Pin).

    Beste Grüße
     
    gektor gefällt das.
  17. fentermichel

    fentermichel Walkerafan

    Beiträge:
    8
    Zustimmungen:
    2
    Hallo,
    es ist hat geklappt.
    Nein war das eine schwierige Geburt, aber ich habe
    GPS Koordinaten auf der Devo 10.
    Jetzt kann der Bau des X8 weiter gehen.
    Die Fehlermeldung:"avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xc8"
    kommt von einen defekten Bootloader.
    Erst konnte ich den Arduino ProMini mit einen anderen Arduino ProMini als ISP wieder beleben.
    Dann aber habe sich beide aufgehangen.
    Das kompilieren, mit Hilfe eines Freundes für einen Arduino ProMicro klappte nicht.
    Den Arduino ProMicro davon zu überzeugen, daß er als ISP den Bootloader auf die Mini's flashen soll,
    hat 2 Tage gedauert.
    Den Erfolg, um deine Hex Datei zu Flashen, brachte letzt endlich das Flashen, mit den Arduino ProMicro als ISP
    direkt nach dem Bootlader flashen.

    Danke für den Telemetrie-Übersetzer und deine Hilfe.

    Frohes Neues
     
    Bobness gefällt das.
  18. Bobness

    Bobness Starker Walkerafan

    Beiträge:
    73
    Zustimmungen:
    71
    Ort:
    Münster
    Hey Fentermichel,

    das ist doch super, Hartnäckigkeit zahlt sich aus!
    Wenn du magst, kannst du ja ein paar Fotos vom fertigen Kopter-Setup hier rein stellen, würde mich sehr darüber freuen!

    Ich bin allerdings sehr erstaunt, was dazu geführt hat, dass sich bei 2 Arduinos der Bootloader zerlegt. Als ich dieses und mein anderes Telemetrie-Projekt mithilfe der Arduinos programmiert habe, habe ich sie dutzende bis hunderte Mal neu geflasht, ohne irgend ein Problem.
    Falls du noch ein Kompilat für den ProMicro haben möchtest, erzeuge ich dir gerne ein Hex-File (ohne Funktionsgarantie, so einen habe ich hier nicht rumliegen :) )

    Beste Grüße
    Bobness
     
  19. fentermichel

    fentermichel Walkerafan

    Beiträge:
    8
    Zustimmungen:
    2
    Hey Bobness
    hatte heute meinen ersten Testflug in einer Halle. Er flog sich gut bis er durch Batterie Failsafe in RTL ging.
    Er schoss nach oben in die Balken.
    1. Man sollte besonders in Halle Landing RTL vorziehen.
    2. Der Lipo-Warner sollte höher als dasBatterie Failsafe eingestellt sein.

    Bilder stelle ich rein, wenn ich 4 neuen Propeller und 2 neue Proppellerschütze montiert habe.

    Bis dann Fentermichel
     
  20. Bobness

    Bobness Starker Walkerafan

    Beiträge:
    73
    Zustimmungen:
    71
    Ort:
    Münster
    Hey Fentermichel,
    gut dass meine Telemetrie-Übersetzung nur Read-Only ist. ;)
    Mit Abstürzen und Fly-Aways habe ich also nichts am Hut :D
    Hoffe es ist nicht zu viel kaputt gegangen...

    Beste Grüße