-         

Ergebnis 1 bis 9 von 9

Thema: UART funktioniert nur einseitig

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    23.06.2007
    Ort
    Königswinter
    Alter
    27
    Beiträge
    17

    UART funktioniert nur einseitig

    Anzeige

    Mittlerweile funktioniert bei uns die Kommunikation zwischen dem RN-Control und dem PC.
    Man kann die Sachen, die der Controller sendet, problemlos auf dem PC empfangen, wenn man es allerdings anders herum probiert (also vom PC an den Controller) geht es nicht.

    Wir haben den Eingang und den Ausgang des AVRs verbunden, dabei werden die Sachen, die der Controller sendet, auch wieder empfangen.
    Wenn man den Eingang und den Ausgang des PC's miteinander verbindet, kommen die Sachen auch an.
    Es scheint also so, dass sowohl am PC als auch am Controller UART funktioniert...


    Code:
    ISR (USART_RXC_vect) {}
    Mit dieser Funktion kontrollieren wir, ob etwas ankommt, indem wir die LEDs anschalten lassen.

    Danke schon mal für eure Hilfe!
    Lg, Jasmin

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Wow, das ist ja mal ein ausführlicher Sourcecode.
    Sorry, aber wenn du nicht mehr postest (am besten alles), kann dir auch niemand sagen, ob du einen Fehler im Programm hast.

    Wenn allerdings das hier
    Wir haben den Eingang und den Ausgang des AVRs verbunden, dabei werden die Sachen, die der Controller sendet, auch wieder empfangen.
    bei gleicher Software funktioniert, kann es auch nicht an der Software liegen. Dann ist es sehr wahrscheinlich ein Verdrahtungsfehler.
    MfG
    Stefan

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    23.06.2007
    Ort
    Königswinter
    Alter
    27
    Beiträge
    17
    ja so ist es, dass einzige Problem ist, die direkte Verbindung von PC und AVR.

    Kurze Zwischenfrage: Von dem UART-Anschluss braucht man nur RX und TX? Oder auch den dritten Anschluss?

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Und Masse nicht vergessen.
    MfG
    Stefan

  5. #5
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hallo

    Welcher Kontrollertakt (16MHz?) und welche Baudrate? Laut atmel haben manche Kombinationen sehr hohe Fehlerquoten. (Datenblatt Seite 165ff) Wenn man Ausgang auf Eingang klemmt macht sich der Fehler natürlich nicht bemerkbar.

    Oder auch den dritten Anschluss?
    Wenn du damit GND meinst, ja, das braucht man auch.

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    23.06.2007
    Ort
    Königswinter
    Alter
    27
    Beiträge
    17
    Also.. das mit der Masse hab ich völlig vergessen bisher.
    Der serielle UART benötigt 2 Daten-Leitungen:

    * "TxD" (Tranceive Data = Daten Senden)
    * "RxD" (Receive Data = Daten Empfangen)

    Bei synchroner Übertragung (USART) kommt eben erwähnte Taktleitung dazu.
    deshalb bin ich davon ausgegangen, dass ich die dritte (ist wohl GND) nicht benötige. Ich habe die Masse jetzt mal mit der Masse des Empfängers verbunden - danach funktioniert die Kommunikation gar nicht mehr.
    Ich habe auch irgendwann mal was davon gelesen, dass man die Masse nicht benötigt, wenn sowohl Sender als auch Empfänger die gleiche Spannung haben....

    Achja: ich benutze als Empfänger übrigens den mySmartUsb ein.
    http://myavr.de/shop/article.php?artDataID=36
    den kann man eben auch als USB-UART-Bridge verwenden, ich habe nämlich keinen RS232 an meinem Laptop.

    lg Jasmin

    P.S.: ich habe einen 16MHz-Quarz und habe 9600bd eingestellt - da man die Einstellung für beide Richtungen gelten, müssen die eigentlich richtig sein oder?
    DIe Kombination hat nach dem Datenblatt von Amtel übrigens ne Fehlerrate von 0,2% - das ist nicht zu viel, oder?

  7. #7
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn das myavr board aus der selben spannung gespeißt wird wie der Controller ist da schon eine Masseverbindung varhanden. Die Masse noch mal zu verbinden ist dann tatsächlich nicht nötig, aber es sollte eigentlich auch keinen Unterschied machen. Wenn sich dann was verschlechtert, läßt das auf eine falscher Verkabelung oder starke elektrische Störungen (z.B. fehlenden Entkopplung) schließen.

    Die 0,2 % fehler sind unproblematisch. Normal gehen bis 2 % Fehler noch, zumindest wenn die Gegenseite gut ist und nicht genausoviel Fehler macht.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    23.06.2007
    Ort
    Königswinter
    Alter
    27
    Beiträge
    17
    Zitat Zitat von Besserwessi
    Wenn das myavr board aus der selben spannung gespeißt wird wie der Controller ist da schon eine Masseverbindung varhanden. Die Masse noch mal zu verbinden ist dann tatsächlich nicht nötig, aber es sollte eigentlich auch keinen Unterschied machen.
    Ok, die sind wirklich nur seeehr indirekt über die gleiche Spannung versorgt. Ich hatte es so verstanden, dass es egal ist, wenn die z.B. beide mit 5V laufen...

    Wenn sich dann was verschlechtert, läßt das auf eine falscher Verkabelung oder starke elektrische Störungen (z.B. fehlenden Entkopplung) schließen.
    Ja, ich denke dann mal, dass es an der falschen Verkablung liegt. Was meinst du mit starken elektrischen Störungen? Könnten die durch irgendwas normales verursacht werden? (also ich hab hier wirklich nix ungewöhnliches...)

    Die 0,2 % fehler sind unproblematisch. Normal gehen bis 2 % Fehler noch, zumindest wenn die Gegenseite gut ist und nicht genausoviel Fehler macht.
    Die gegenseite ist, nehme ich mal an ähnlich aber 0,4% gehen ja dann auch noch.

    Also.. ich habe mal überlegt was bei der Verkablung falsch sein könnte. Da ich hier noch ein Strommessgerät rumliegen hatte, habe ich mal die Lötverbindungen getestet und die sind alle ok und berühren sich eindeutig nicht.
    Außerdem habe ich mal versucht die Spannung zwischen den beiden Massen der Controller zu messen (natürlich wenn sie nicht verbunden sind - sonst wäre die ja 0). Im idealfall müsste diese doch 0V sein oder?
    Das Ergeniss der Messung war allerdings so um die 10V (mein Messgerät ist leider etwas sehr ungenau - schon ein paar Jährchen alt), dadurch bin ich auf die Vermutung gekommen das irgendwo was falsch gepolt ist oder so?

    Ich habe nicht so super viel Ahnung von Elektronik und habe keine Ahnung ob meine Denkansätze irgendwie richtig sind. Ansonsten sag mir mal kurz welche Infos ihr braucht damit ihr helfen könnt!

    Danke
    Jasmin

  9. #9
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn da 10 V zwischen den "massen liegen" kann da keine richtige Verbindung sein.

    Nochmal zum klarstellen: Auf die Masseverbindung kann man nur verzichten, wenn die Masse schon über die gemeinsam genutzte Spannungsversorgung verbunden sind. Die Gemeinsame Versorgungs heißt hier in der Regel der selbe Trafo bzw. Akku. Nur weil beide mal 5 V benutzt werden, muß da noch keine Verbindung sein.
    Bei fehlender Masseverbindung können über das Signal durchaus Spannungen von etwas 10 V zustandekommen. Das Messgerät wird hochohmiger als die Signaleingänge sein.
    Was wird denn gemessen wenn auch die Signale (TX,RX) nicht verbunden sind ? Sonst müßte mal kurz die Schaltung beschreiben werden.

    Mit elekrischen Störungen waren besonders fehlende Entkopplekondensatoren am Controller oder Regler gemeint. Auch ein aktives Handy in der Nähe kann Störungen verursachen.

Berechtigungen

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