- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 3 von 3

Thema: RS485- Pegel

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    17.02.2004
    Beiträge
    23

    RS485- Pegel

    Anzeige

    Praxistest und DIY Projekte
    Guten morgen ...

    ich bastele gerade ein wenig an einem underwater rov...
    dabei bin ich auf www.aquaticus.info gestoßen..
    dort gibt es einen rs232-rs485 converter der genau meinen erwartungen entsprach.. nachgebaut (da ich keine platinen ätzen kann, RS232-TTL von pollin erweitert..)
    RS485 möchte ich halb-duplex mit 2 adern aufbauen..
    in diesem zusammenhang sind mehrere Fragen aufgetreten die ich auch nach längerer recherche nicht beantworten kann:

    - muss ich vom MAX485 den RX mit dem TX von TTL verbinden oder TX-TX ? (vor allem wegen der kombination von Pollin-RS232-TTL-Wandler mit MAX485)
    - den gesamten wandler habe ich mal an ein oszilloskop angeschlossen..
    resultat: wenn ich beide RS485 adern differentiell messe, kommt nichts raus (sollte zur definition passen) -> also gegen masse. dann allerdings habe ich kein invertiertes signal sondern zwei identische signale..
    was in meinen augen der definition widerspricht..
    muss ich jetzt einen gegen masse messen und den anderen gegen 5V um die invertierung zu erreichen ?
    Das würde allerdings bedeuten, dass im kabel selber zwei identische signale fließen und das würde der idee der störungsverhinderung entgegenstehen oder ? (hoffe, dass ist noch verständlich )
    - und dann habe ich auf einer seite der links der wikipedia seite zu rs485 gelesen, dass die polung wichtig ist.. heißt das, dass ich immer den pol 6 des MAX485 mit der selben ader verbinden muss und identisches auch für pin 7 ?
    - zum abschluss: da für RS485 kein protokoll definiert wurde, muss man sich das selber bauen.. kein problem allerdings wird beim vorschlag für ein protokoll meistens vorgeschlagen das erste packet mit 9 bit zu senden (8 für adresse und 1 für identifikation als adresse) -> später dann die 8-bit variante für daten.. dann müsste ich ja auch die uarts umschalten oder ?
    könnte ich nicht in die datenpackete (bzw. nur ins erste) den adressaten einbauen..? es "lesen" ja eh alle mit und können dann entscheiden, ob sie was tuen müssen oder nicht .. bzw. ich könnte einfach einen kommando standard entwickeln der in die 8-bit ein kommando steckt (zum beispiel alle 26 buchstaben) und dann nur der betroffene Slave darauf reagiert.. somit würde die adressierung wegfallen.. Frage: ist das möglich ?

    Vielen dank für die antwort im voraus..

    MfG
    ngb

    P.S.: hoffe, dass ist noch halbwegs verständlich

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    also, das mit den 9 Bit hat halt einfach praktische Gründe.
    Was unterscheidet ein Datenbyte von einem Adressbyte ?
    Beide sind 8 Bit lang, können nen Wertebereich von 0 - 255
    annehemen ... hmmm. Daher eben aha, hier kommt ein 9-Bit
    ergo hier beginnt Protokoll, ab hier gehts los. Ne alternative
    wär auch über Timer möglich, von wegen aha, 5ms keine Daten,
    das nächste Byte müssen dann Adressen sein.
    Aber für Version B muss halt das Timing stimmen, sprich durch
    die Timeouts verlierste was an möglicher Übertragungsrate, dafür
    muss halt bei Variante A n Bit mehr übertragen werden.
    Wichtig ist, dass alle Empfänger merken wann wo das Paket
    anfängt und wo aufhört um verstehen zu können ob sie jeweils
    gemeint sind, auch wenn mal n Byte irgendwie verloren geht
    muss der Empfänger sich immer neu orientieren können.
    Ach so, auch ein Buchstabe hat nur einen Zahlenwert der ihn
    als solchen identifiziert (Siehe ASCII).

    Die Pegel der 485 sollten gegenläufig sein, denn genau darauf
    beruht die Funktion der 485 und auch die tollen Eigenschaften
    bezüglich Reichweite. Der Häufigste Fehler bei nem 485-Netz
    ist der AB-Tausch, sprich vertauschen der LEiter.
    Witzigerweise erhält der µC noch Daten, nur stimmt eben nix mehr.

    Dout auf RX Din auf TX werden die Dinger angeschlossen. Dann noch
    zu berücksichtigen, der Busteilnehmer muss den Bus aktiv belegen
    und auch wieder freigeben wenn er mit seiner Übertragung fertig ist.
    Auch ein häufiger fehler, sprich Busteilnehmer sendet Daten drauf,
    obwohl Bus noch von anderem Teilnehmer belegt. Dafür hat der Max485
    extra 2 Pins, die Ihm die Datenrichtung eingeben. Ein passiver Teilnehmer
    muss immer auf Horchmodus stellen.

    PS: Zum Protokoll: Für Single-Master reicht ne Empfängeradresse,
    für Multimaster geht das so nicht mehr, da muss der Slave wissen,
    wer will was von wem.
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    17.02.2004
    Beiträge
    23
    vielen dank-..
    werde ich versuchen zu berücksichtigen..

    MfG
    ngb

Berechtigungen

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

LiFePO4 Speicher Test