- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 14

Thema: Übertragungsprobleme bei DX6i und Deltang rx31b

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.03.2007
    Beiträge
    13

    Übertragungsprobleme bei DX6i und Deltang rx31b

    Hallo!

    Ich habe seit einiger Zeit ein paar Probleme mit der Inbetriebnahme des Miniaturempfängers rx31b von Deltang (http://www.deltang.co.uk/rx31b.htm) und ich sehe gerade keinen anderen Weg, euch mein Problem zu schildern. Eine intensive Websuche und langes Rätselraten brachten mich nicht weiter. Ich beschreibe mein Problem so ausführlich wie möglich, auch wenn es vielleicht auf lasten der Textlänge geht. Ich hoffe auf einen motivierten Helfer, der sich des ganzen Problems annimmt

    Ich verwende die Fernbedienung DX6i von Spektrum. Das Binden von Empfänger und Fernsteuerung funktioniert problemlos, allerdings gibt es Probleme bei der Übertragung.

    Den Empfänger rx31 habe ich so konfiguriert, dass er an Pin3 serielle Daten aller sieben Kanäle ausgibt. Diesen seriellen Datenstrom lese ich von einem Mikrokontroller (XMega32) ein, der die weitere Verarbeitung übernimmt und die empfangenen Hex-Werte an meinen Computer schickt.

    Laut Hersteller sieht der serielle Datenstrom folgendermaßen aus:
    - 16 byte RS-232 serial output at 115200 baud, 8 bit, no parity, 2 stop bits, LSB first.
    - Byte 1: Checksum - sum of other 15 bytes cast to 1 byte
    - Byte 2: Signal quality - 1st bit (MSB) 1=new data, 0='hold' data/signal not validated; next 2 bits not used; last 5 bits (LSB) = RSSI (31 max, 0=no signal/timeout)
    - Bytes 3-16: Payload - 7 channels, 2 bytes per channel - 1st 3 bits notused, next 3 bits = channel number, last 10 bits = servo position
    - Frame rate is 22ms
    So wie ich das versetehe kommt also alle 22ms ein Datenframe an, wobei die eigentlichen RC-Daten ab dem dritten Paket starten und ein Kanal immer zwei aufeinanderfolgende Paketebelegt. Nach http://www.rcgroups.com/forums/showthread.php?t=1482559 sollte das Format ungefähr wie folgt aussehen:
    byte 1 = Checksum
    byte 2 = Signal quality
    byte 3 = Throttle High Byte
    byte 4 = Throttle Low Byte
    byte 5 = Ail High Byte
    byte 6 = Ail Low Byte
    byte 7 = Elev High Byte
    byte 8 = Elev Low Byte
    byte 9 = Rudder High Byte
    byte 10 = Rudder Low Byte
    byte 11 = Flaps High Byte
    byte 12 = Flaps Low Byte
    byte 13 = Gear High Byte
    byte 14 = Gear Low Byte
    byte 15 = Aux1 High Byte
    byte 16 = Aux1 Low Byte
    Soweit so gut. Meinen Mikrokontroller habe ich nach den oben gelisteten Vorraussetzungen eingestellt (115200B, 8N2), er empfängtdie Daten, allerdings in einem für mich unverständlichem Format. Originaldaten von meinem Mikrokontroller sehen bei mir so aus (mit allen Knüppeln der Funke in der Nullposition außer Throttle auf Min):
    0x00 0x9f 0x7f 0x7f 0x26 0x7f 0x00 0xff 0x0d 0xff 0x00 0x9b 0x10 0x99 0x18 0x00 0x00
    Bewege ich die Knüppel, kann ich durch das Ändern der Bytes erkennen, welche Kanäle auf den Bytes liegen. Folgende Zuordnung zeigt, welche Bytes sich ändern, wenn ich die Steuerknüppel bewege:
    byte 1 = immer 0x00 (falls dieser Wert tatsächlich die Checksum ist,
    sollte er sich immer ändern, wenn ein Knüppel bewegt wird. Ändert sich
    aber nicht)
    byte 2 = signal quality (Werte nehmen ab, wenn ich mich mit meiner Funke
    entferne, oder ich die Funke in die (ausgeschaltete) Mikrowelle lege )
    byte 3 = Pitch
    byte 4 = Yaw
    byte 5 = Gear/F Mode
    byte 6 = Throttle (wenn Flugmodell Helikopter), immer 0x7f (wenn Flugmodell Airplaine)
    byte 7 = immer 0x00
    byte 8 = Pitch
    byte 9 = Yaw (ändert sich nicht merklich zwischen 0x0c und 0x0f)
    byte 10 = Yaw
    byte 11 = Throttle (ändert sich nicht merklich zwischen 0x00 und 0x03)
    byte 12 = Throttle
    byte 13 = Gear/F Mode
    byte 14 = Gear/F Mode
    byte 15 = immer 0x00
    byte 16 = immer 0x00
    Ist euch aufgefallen, dass Roll nicht aufgeführt ist? Seltsam, oder? Bewege ich den Roll-Knüppel, ändert sich kein einziges Byte. Ich muss zugeben, dass ich nicht wirklich Ahnung von meiner Fernsteuerung DX6i habe. So viele Knöpfchen verwirren mich ein bisschen. Lege ich alle möglichen Knöpfe und Hebel an der Fernsteuerung um, ändert sich das Verhalten der Datenpakete allerdings nicht.

    In der Bedienungsanleitung steht außerdem, dass beim Binden der DX6i und dem Emfpänger ausgemacht wird, welches Datenformat zwischen den beiden verwendet wird. Also kann es ja eigenlich nicht Schuld einer falschen Einstellung der Fernsteuerung sein.

    Zu guter letzt möchte ich noch erwähnen, dass ich mit einem anderen Empfänger und einem Oszilloskop überprüft habe, dass meine Fernsteuerung funktioniert und auf jedem Kanal sendet. Ich vermute also, dass das Problem eher beim rx31 oder dem Mikrokontroller liegt. Dazu habe ich im Anhang das Programm für den Mikrokontroller angehängt. Vielleicht gibt es hier einen schlauen Typen, der den Fehler auf Anhieb entdeckt

    Nun die großen Fragen: Woher kommt die Abweichung zum vom Hersteller angegebenen Datenframe? Warum ändern sich die Bytes des Frames nicht, wenn ich den Roll-Knüppel bewege? Wo ist meine Checksumme? Und was haben die vielen Nuller (0x00) im Datenframe zu suchen?

    Ich jedenfalls bin ziemlich ratlos.

    Achja, noch eine Sache: Die Einstellung der Baudrate des Mikrokontrollers scheint richtig zu sein. Die Kommunikation zum Empfänger läuft in einem weiten Bereich weitestgehend stabil (zwischen 110000B und 130000B). Stellt man eine niedrigere oder höhere Baudrate als 110000B oder 130000B ein, empfängt der Mikrokontroller nur noch Mist, was ich daran erkenne, dass sich mehr als drei Bytes des Datenframes beim Bewegen eines Steuerknüppels ändern. Außerdem funktioniert ja auch die Kommunikation zum Computer mit 19200B, woraus ich schließe, dass der Mikrokontroller richtig eingestellt ist, bzw. mit der korrekten Frequenz läuft.

    Ich danke euch vielmals für die Bereitschaft mir zu Helfen!
    Viele Grüße
    Matthais
    Angehängte Dateien Angehängte Dateien
    • Dateityp: c main.c (10,4 KB, 0x aufgerufen)

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 01.04.2014, 07:49
  2. HBridge bei 3.3V und 1.5A?
    Von pininety im Forum Motoren
    Antworten: 6
    Letzter Beitrag: 11.12.2011, 15:35
  3. übertragungsprobleme
    Von asuroer im Forum Asuro
    Antworten: 5
    Letzter Beitrag: 11.02.2007, 20:31
  4. telco2108 bei 7,2V und 3500 mA ?
    Von phreak im Forum Motoren
    Antworten: 12
    Letzter Beitrag: 05.07.2005, 20:06
  5. wo ist + und - bei Dioden und Elko
    Von cyby im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 28.11.2004, 14:58

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress