Turnigy 9X UART0 Probleme

Status
Nicht offen für weitere Antworten.

Julzz112

Neuer Benutzer
#1
Turnigy 9X Telemetrie UART0 Probleme

Hallo liebe Gemeinde,

bin neu hier im Forum und hoffe hier an der richtigen Stelle zu sein.
Ich bin gerade dabei, einen Quadcopter (inkl. Software) zu bauen/entwickeln und habe als Fernsteuerung dafür eine Turnigy 9X mit FrSky DJT Telemetrie Modul und OpenTX Firmware.
Die notwendigen Hardwaremodifikationen habe ich durchgeführt. Einen Link zu der verwendeten Anleitung:
- DJT-Modul -> http://myrcflight.com/turnigy-9xr.html
- 9x -> http://blog.oscarliang.net/turnigy-...atedposts_origin=3155&relatedposts_position=1
Es handelt sich dabei um einen Umbau ohne RS232/TTL-Konverter.

Vom Prinzip hat der Umbau funktioniert. Die beiden Schalter, die ich umlegen musste, um MISO/MOSI freizulegen funktionieren, das Flashen der Firmware hat funktioniert, und auch das Senden von Signalen an den
D8R-II Receiver funktioniert.
Nur die Telemetrie funktioniert nicht (Habe Jumper auf A1 vom Receiver für Receiver-Spannung) ... Auf dem Display steht "No Data".
Also schnappte ich mir mein DSO138 China Oszi (welches erstaunlich gut funktioniert!) und habe mir die Signale angeschaut.
Wenn ich die Rx/Tx-Verbindung zwischen Funke und FrSky-Modul trenne, erhalte ich vom Modul saubere Signale mit 3.3V (oder auch 5V, weiß gerade nicht mehr genau) Pegel. Der Umbau des Moduls scheint also funktioniert zu haben!
Sobald ich die Rx/Tx-Verbindung allerdings wieder herstelle und direkt an den Lötpads nahe der CPU messe, wird das Signal enorm gedämpft! Dort messe ich nur noch ca. 80mV Amplitude!

Also habe ich die Verbindung nochmals getrennt und den Pegel nun an den offenen Lötpads an der CPU gemessen: -5V gegen GND.
Soweit ich informiert bin und das Datenblatt des Prozessors verstehe, müsste der Idle-Pegel bei +5V gegen GND liegen, oder nicht?
Achja, der Prozessor ist ein Atmega128p.
Um Fehler im HW-Mod des Mainboards auszuschließen, habe ich die Programmierschnittstelle und auch die umgelöteten Schalter wieder ausgelötet, aber gleiches Phänomen.
Schlechte Lötstellen oder andere Fehler konnte ich auf der Platine nicht entdecken, habe also keine Erklärung für den negativen Pegel an den Pins 2 & 3 sowie für die Abdämpfung bzw. sogar schon Unterdrückung der Telemetriesignale.
Könnte der UART0-Baustein eventuell gestorben sein?

Seit bald 2 Wochen durchforste ich das Netz, habe aber nichts hilfreiches finden können. Es gab zwar Foreneinträge mit gleicher Beschreibung, jedoch gab es darauf keine Antworten.

Deshalb wende ich mich hoffnungsvoll an euch, mit der Bitte um Hinweise, Vorschläge, Ideen und Kritiken.
Fotos von den Umbaumaßnahmen, Messaufbauten und Oszilloskopbildern werde ich nachreichen, wenn ich wieder zuhause bin. Vielleicht schaffe ich es heute abend, oder spätestens Sonntag.
Sollte ich weitere Informationen unterschlagen haben, fragt gerne nach.

Ich danke schon mal allen, die sich die Zeit nehmen meinen Betrag zu lesen und mir hoffentlich hilfreich in die Seite treten können! :cool:

Liebe Grüße,

Julian
 
Zuletzt bearbeitet:

dulouie

Neuer Benutzer
#2
Hallo Julian,

hast du vielleicht den 470 Ohm Widerstand bei der 9x sowie beim DJT Modul verbaut?
Weil den brauchst du nur einmal, der Oscar Liang verbaut den in der 9x und Myrcflight verbaut das ganze im DJT Modul also würde ich mir die ganze Geschichte mal näher anschauen.
 

Julzz112

Neuer Benutzer
#3
Hallo Leute,

jetzt kommen endlich die versprochenen Bilder, hatte es leider nicht eher geschafft.
Das Problem, dass ich an den Sender-CPU Rx/Tx Pins-5V gegen GND gemessen habe, hat sich nun behoben. Es lag an einem falschen Widerstand im Oszi. Der Hersteller hat mir Bauteile und Pläne einer älteren Version geschickt, aber darauf muss man erstmal kommen ....
Wie dem auch sei - das ursprüngliche Problem besteht weiterhin, nun eben mit dauerhaftem +5V-Pegel an den Rx/Tx Pins.

Im Anhang habe ich euch die Messaufbauten und Ergebnisse aufgeführt.
Wenn ich die Signalleitungen mittels Stecker trenne, messe ich am FrSky-Tx Pin ein wunderbares Signal mit 3.3V Pegel gegen GND.
Verbinde ich die Signalleitungen jedoch wieder, so messe ich am Sender-CPU-Rx Pin einen dauerhaften 5V Pegel mit leichtem "Krisseln". Das kommt von den Telemetriedaten, man sieht immer im gleichen Takt des Telemetriesignals ganz leichte Anhebungen des Pegels um wenige mV. (Wird auf dem Foto natürlich nicht sichtbar ..)

@dulouie: Vielen Dank für deinen Hinweis! Bei mir sind in der Tat beide 470R Widerstände verbaut, was mich schon ein wenig stutzig machte. Habe sie aber sicherheitshalber erstmal drin gelassen, damit bei geringerem Widerstand (wenn ich einen entfernte) nichts passiert.
Womöglich ist das schon der Knackpunkt! Ich vermute, dass das Telemetriesignal von 3.3V auf 5V angehoben wird, wenn ich einen der beiden 470R entferne. Werde ich heute abend ausprobieren!
Vorstellen kann ich es mir aber nicht, da das Telemetriesignal ja von den 5V überlagert wird. Eigentlich müsste das FrSky Modul die 5V dann ja auf Masse ziehen, wenn es eine "0" übertragen möchte.

Ich werde berichten!

Edit: Bildanhang hat irgendwie nicht funktioniert...Jetzt aber!
 

Anhänge

Julzz112

Neuer Benutzer
#4
Schönen guten Morgen,

Ich habe deinen Hinweis befolgt, Dulouie, es war aber leider nicht des Rätsels Lösung...
Habe mir zum Testen einfach mal einen 3.3-5V LLC bestellt, vielleicht hilft das ja.
Wenn nicht, werde ich die Modifikationen am FrSky Modul rückgängig machen und den Umbau mit der RS232-TTL Konverter Variante probieren. Das RS232 Signal kann ich ja zunächst für einen Testaufbau ganz einfach auf der Rückseite des Moduls vom 4-Pin Header abgreifen.

Für weitere Ideen und Vorschläge eurerseits bin ich dankbar und offen. Halte euch auf dem Laufenden.

Mir fällt gerade ein: dass MISO/MOSI an der Sender CPU dauerhaft an 5V hängen wird ja mit an Sicherheit grenzender Wahrscheinlich daran liegen, dass die internen Pullups dort aktiviert sind.
Würde es eventuell Sinn machen, diese zu deaktivieren? Wenn Empfänger und Receiver nicht gebunden sind, kann es dann aber natürlich sein, dass die Pins floaten ... Obwohl ne eigentlich ja nicht, der Idle- Pegel ist ja high, also müssten die Pins immer ein definierten Pegel haben...
 

Julzz112

Neuer Benutzer
#5
Moin moin,

das Problem ist gelöst!
Falls es noch jemanden interessieren sollte: Der 3.3-5V Logic Level Converter hat Abhilfe geschaffen. Habe ihn in die Datenleitungen zwischen FrSky-Modul und Sender gesetzt, +5V und GND noch vom Mainboard abgegriffen und siehe da, es geht.
Der Umbau hätte laut Anleitung eigentlich komplett ohne irgendwelche Konverter funktionieren sollen (es gibt ja die Variante mit RS232-TTL Umsetzer und ohne), aber nun gut, Hauptsache es funzt! :D

Schematischer Aufbau:
[FrSky Rx/Tx] <------> [LLC Low Voltage .......LLC High Voltage] <------> [Sender Mainboard Atmega128 MISO/MOSI]
^--------> [Sender Mainboard +5V / GND]

IMG_3999.jpg
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten