www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RS485 Bus: Fehlerdiagnose


Autor: Pepe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
habe mehrere ADM483 an einem Half-Duplex-Bus hängen.
( Siehe Schaltplan )
Über die Enable-Leitungen wählt der Master jeweils
den Slave aus, schickt seine Anfrage zum Slave,
nimmt die Enable-Leitung wieder zurück und wartet
dann 20ms auf die Antwort vom Slave.

Jetzt mein Problem:
Habe gelegentlich mal defekte Ausgangsstufen bei den ADMs, die
sich während des Betriebs beim Kunden einfach verabschieden.
( Warum die defekt werden, kann ich nicht sagen )

Habe ich mal dieses Problem verabschieden sich immer gleich
einige weitere Treiber, bis ich alle defekten Ausgangstreiber
ausgetauscht habe.

Insgesamt habe ich 6 Busse mit jeweils max. 25 Slaves.
Die Slaves können frei auf den Bussen vom Kunden
verteilt werden. Somit gestaltet sich die Fehlerdiagnose wirklich
schwierig.

Wie kann ich alle defekten ADMs rausfinden, ohne dass ich mir alle
Slaves vom Kunden zurückschicken lasse ?
( Findet der Kunde irgendwie garnicht witzig :-) )

Pepe.

Autor: Sascha Weber (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

sind die Stromversorgungen des Slaves miteinander verbunden?

RS485 verwendet man doch eher zur Überbrückung "größerer" Entfernungen - 
wieso gehen dann wieder Leitungen vom Master extra zu jedem Slave ohne 
irgendwelche Treiber?

Sascha

Autor: Pepe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Entfernungen sind < 50cm. RS485 wurde damals
wegen der Busfähigkeit genommen.

Die Slaves hängen über die Busverteiler-Leiterplatten
an den gleichen Spannungsversorgung.

Autor: Sascha Weber (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
werden die Slaves gelegentlich vom Bus getrennt oder hängen die immer 
dran?

Evl. ein Softwarefehler der sporadisch dafür sorgt das mehrere auf 
einmal senden? Die Dinger liefern ja doch allerhand Ausgangsstrom und 
die kurzen Leitungen im Bus sorgen nicht nennenswert für Widerstand.

Sascha

Autor: Pepe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Slaves werden regelmäßig getrennt.
Die Kontaktierung ist so gelöst, dass eigentlich
zuerst die Versorgungsspannungen, dann die RS485 Kontakte
( die ADMs haben einen PullDown auf der Enable-Leitung )
und dann erst die Slave-Enable-Leitung kommen.

Diesen Softwarefehler hatten wir schon. War keine schöne Geschichte...

Mittlerweile ist es so gelöst, dass die Slaves immer ihre
Seriennummer bei jeder Antwort mitschicken und der Master
überprüft, ob der richtige Slave geantwortet hat.
Sollte die falsche Serial zurückkommen, gibts eine Meldung.
Ist bisher aber noch nichts aufgefallen.

Pepe

Autor: Sascha Weber (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pepe schrieb:
> Die Slaves werden regelmäßig getrennt.
> Die Kontaktierung ist so gelöst, dass eigentlich
> zuerst die Versorgungsspannungen, dann die RS485 Kontakte
> ( die ADMs haben einen PullDown auf der Enable-Leitung )
> und dann erst die Slave-Enable-Leitung kommen.
ist denn zu beobachten das der Defekt nach dem verbinden eines Slaves 
auftritt?

> Diesen Softwarefehler hatten wir schon. War keine schöne Geschichte...
>
> Mittlerweile ist es so gelöst, dass die Slaves immer ihre
> Seriennummer bei jeder Antwort mitschicken und der Master
> überprüft, ob der richtige Slave geantwortet hat.
> Sollte die falsche Serial zurückkommen, gibts eine Meldung.
> Ist bisher aber noch nichts aufgefallen.
Wenn zwei gleichzeitig senden ist es eigentlich eher unwarscheinlich das 
überhaupt sinnvolle Daten empfangen werden, dann eher noch FrameErrors.

Sascha

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halbduplex mit extra enable Leitungen ist murks. Die RS485 Treiber 
ueberstehen gegeneinander zu arbeiten. Ich wuerde auf ein EMV Problem 
tippen.

Autor: Pepe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@hacky:
Ich muss aber wissen an welchem Einsteckplatz die Slaves stecken und
der Bediener kann die Slaves leider bunt mischen. Somit bleibt
leider nur die Möglichkeit über eine weitere Leitung...

@Sascha:
Könnte sein, dass ich mein Problem gefunden habe.
Beim Einstecken der Slaves gibt es manchmal eine kurze Spannungspitze
 < 100ns von bis zu 13V auf der Versorgung der ADMs.
( Absolute Max VCC = 6V laut Datenblatt!!!)
Hab einen L293 auf den Slaves als Übeltäter ausgemacht.
Kann an dessen VCC-Pin die Spitze messen, wenn keine 5V
Versorgung anliegen.

Werd mir jetzt mal Gedanken zu den 24V machen bzw. Absicherung von 
VCC(TVS)...

Danke,
Pepe.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.