Hallo Ich verstehe irgendwie die RS485 nicht glaube ich. Also ich habe mir einige Thermometer Module gebaut (Avr, SN75176 und Stepdown auf Platine) Diese Platinen 5 Stück davon habe ich mit je 4 Leitungen verbunden Vcc Gnd Rs485 + und Rs485 - Auf dem Bus liegen 24V als Versorgung. Jedes Modul hat einen 5v Stepdown. Als Daten verwende ich 9600 Seriell. Alle Teilnehmer sind auf Empfang und warten darauf antworten zu dürfen. Erst dann schalten sie den 75176 auf senden, senden 8 byte und gehen dann wieder auf empfangen. Ich habe zwei 120 Ohm Endwiderstände. Leitungen da noch auf dem Schreibtisch unter 1 Meter Soweit sogut. Es funktioniert aber nur wenn der PC USB RS485 Mit angeschlossen und am USB hängt. Trenne ich die erbindung zum PC kommen keine Signale mehr durch. Ich habe auch schon widerstände von Vcc und Gnd zum Bus versucht weil das in vielen Beispielen gemacht wird aber leider auch ohne Erfolg. Habt ihr eine Idee was ich da Falsch machen könnte?
Du hast die RS485 Massse vergessen. Solange es über usb verbunden ist, ist es über die Usb Masse verbunden. Steckst du ab fehlt in deinem System der Massebezug. Auch wenn es rs485 ist, so ist die Common Mode Range eines RS485 Transceivers nicht sehr groß. Zieh eine masseverbindung nach ...
Bitte mal Schaltpläne als Bild und nicht als Text anfügen. Dann schauen wir weiter.
Bias-Widerstände einsetzen? https://de.wikipedia.org/wiki/EIA-485#/media/File:Rs485-bias-termination.svg
Reiner schrieb: > Soweit sogut. Es funktioniert aber nur wenn der PC USB RS485 Mit > angeschlossen und am USB hängt. Trenne ich die erbindung zum PC kommen > keine Signale mehr durch. Was für Signale sollen denn da "durchkommen", wenn Du den RS485-Master entfernst? Deine Geräte warten darauf, daß ihnen jemand etwas sendet - dieser Jemand ist Dein PC. Wenn der nicht da ist ...
Danke schon mal für die Antworten. Also Masse habe ich doch dadurch das ich alle Geräte aus einem Gemeinsamen 24V Netz versorge? Welche Daten da noch durchkommen sollen habe ich vergessen zu erzählen. Ein Avr hat ein Display und fragt die anderen ab. Also es gib einen "Master". ge-nka schrieb: > Bias-Widerstände einsetzen? Das habe ich schon versucht leider ohne erfolg. Versucht habe ich 470Ohm und 4,7k Weil das Internet da sehr großzügig ist von 300 Ohm bis 10K habe ich schon alles gesehen.
Reiner schrieb: > Also Masse habe ich doch dadurch das ich alle Geräte aus einem > Gemeinsamen 24V Netz versorge? Kommt darauf an, was der DC/DC zur Erzeugung der 5V mit der Masse macht. Reiner schrieb: > Jedes Modul hat einen 5v > Stepdown. Es gibt solche DCDC-Wandler mit Potentialtrennung (da geht der Massebezug verloren) und welche ohne Potentialtrennung (da bleibt er erhalten). Ansonsten kann ich nur empfehlen, was auch andere schon gesagt haben: mach eine Skizze von deinem Netzwerk: damit wird das Problem viel klarer als mit deiner Beschreibung in Textform.
Klingt für mich alles danach daß Du den USB RS485 Adapter vom USB trennst aber nicht vom Bus. Der wird nicht Tristate sein wenn er stromlos ist. Vermutlich geht einfach alles an Datensignal über die Schutzdioden auf dem Treiber des Adapters flöten und versorgt den Converter Chip im Adapter.
Die Stepdown leiten Masse durch habe ich grade nochmal durchgemessen. Wenn ich den USB Wandler vom PC abziehe oder aus dem Rs485 oder beides macht keinen unterschied. Ich habe noch einen 75176 mit nur einer Led am Ausgang gebaut, Normal leuchtet diese und geht aus im Takt wenn Daten übertragen werden. Trenne ich die Verbindung zum PC geht sie aus und geht an wenn Daten gesendet werden. Irgendwie inventiert?!
Reiner schrieb: > Trenne ich die Verbindung zum PC Wo trennst du die Verbindung zum PC? Nimmst du den Teinehmer weg vom RS485 Bus, oder steckst du nur den USB aus und lässt den Teilnehmer ohne Stromversorgung am RS485 Bus? (wurde zwar schon gefragt, aber noch nicht beantwortet...) Und falls du ein Messgerät dein Eigen nennst: welche Spannungen has du denn im "OK"-Fall und im Fehlerfall an den Datenleitungen gegen Masse?
:
Bearbeitet durch Moderator
Ein Schaltbild gibt es nicht. Ich kann es nur beschreiben. Im Ok fall habe ich 5,06v und 4,82v auf dem Bus während keine Daten unterwegs sind. Ohne Usb 4,62v und 4,86v. Ich trenne Die zwei Busleitungen vom Usbstick. Es gibt dann nur noch die von mir gebauten Teilnehmer. Es gibt keine Verbindung Masse von meinen Geräten zu Masse Pc.
Moin, Reiner schrieb: > Ein Schaltbild gibt es nicht. Ich kann es nur beschreiben. Keine Arme, keine Kekse. Haeng' ein Scope dran, guck' dir die Signale an. Wenn's mit drangehaengtem Scope auch wieder funktioniert, wirds schon was mit Masse zu tun haben. Wenn nicht, wirst du schon irgendwelche Unterschiede auf dem Scope erkennen, wenn der PC-USB Adapter dranhaengt oder nicht. Gruss WK
Ich habe eben den Usb Stick in meinen Laptop gesteckt und auch dann geht es. Laptop nur über Akku. Ein Scope habe ich leider nicht.
Und auch mit dem Usb Stick in einem 5v Netzteil funktioniert es. Also irgendwie muss es wohl mit der Versorgung Zutun haben. Also doch Bias? Welche Widerstände würdet ihr da vorschlagen? 470Ohm und 4,7K habe ich schon versucht
Reiner schrieb: > Im Ok fall habe ich 5,06v und 4,82v auf dem Bus während keine Daten > unterwegs sind. > Ohne Usb 4,62v und 4,86v. Die absolute Spannung scheint mir in beiden Fällen zu hoch und die Differenz zu gering. Eigentlich ist erst eine Differenz >300mV ein gültiger Pegel. Welche Transceiver verwendest du denn? Wie sind die versorgt? Welcher treibt denn da eine solch hohe Spannung auf den Bus? Jetzt wirds dann tatsächlich langsam Zeit für den öfters geforderten Schaltplan...
Reiner schrieb: > Im Ok fall habe ich 5,06v und 4,82v auf dem Bus während keine Daten > unterwegs sind. > Ohne Usb 4,62v und 4,86v. Das ist dann einmal 0 und das andere mal 1 Pegel, so kann das nicht funktionieren. Die 75176 sind übrigens wahre Stromfresser, da gibt es (viel) besseres.
Reiner schrieb: > Im Ok fall habe ich 5,06v und 4,82v auf dem Bus während keine Daten > unterwegs sind. > Ohne Usb 4,62v und 4,86v. Das klingt für mich nach einem prinzipiellen Fehler in deinem Busaufbau. der SN75176 ist ein 5V Typ. Wenn du nun schon Experimente mit einem Bias Netzwerk + Bus Abschluss gemacht hast. Denn ansonsten müsste sich ja hier im Bus open Fall ca. 2.5V +/- 0.2V für A/B einstellen. Also scheint hier irgendwas kräftig A&B in eine Richtung zu ziehen.
Johannes schrieb: > Also scheint hier irgendwas kräftig A&B in eine Richtung zu ziehen. Oder da ist doch noch irgendein Masseproblem auf der ganzen Geschichte... Es gibt welche, die lassen die beiden Busleitungen tatsächlich irgendwie vor sich hinbaumeln wie im Beitrag "Re: Datenübertragung über >100m"
:
Bearbeitet durch Moderator
Als Treiber verwende ich SN75LBC176 Die Hohe Spannung war der Passende Hinweis. Dankeschön :) Ich habe erst nur meinen Master mit dem Usb Stick vermessen und hatte ca 200mV auf dem Bus Dann habe ich sie nacheinander zugesteckt und bei einem hatte ich dann wieder 4,v. Wenn man diesen raus lässt klappt die Verbindung auch ohne den Usb Stick. Also vermutlich ein defekter Treiber. Dankeschön ;) Und ja ich werde noch einen Schaltplan machen
Reiner schrieb: > Ich habe erst nur meinen Master mit dem Usb Stick vermessen und hatte ca > 200mV auf dem Bus Auch das ist zu wenig, da ist noch was faul! Der SN75LBC176 treibt am Ausgang normalerweise eine Differenzspannung von größer 1,5V! Und du hast ganz speziell Glück, dass er mit sich deiner Differenzspannung von 0,2V am Eingang zufrieden gibt. Der RS485-Standard verlangt da mindestens(!) 0,3V für einen gültigen Pegel.
:
Bearbeitet durch Moderator
Aber mehr gibt es ja in dem Bus nicht. Dann müssten ja schon alle Treiber fehlerhaft sein? oder wodurch wird das beeinflusst? Ich habe ja jetzt im Bus nur 5 Identische Treiber und zwei 120 Ohm's am ende. Alles über 5v Versorgt (Ich habe eben zum testen die Stepdown raus genommen und alles zusammen am Labornetzteil) Auf dem Usb wandler sitzt auch schon so ein Treiber da ich den Original mal gebraten hatte. Ausschießen kann ich aber Fehlerhafte Treiber nicht weil ich die aus China bestellt habe und recht wenig dafür bezahlt habe.
Wie sehen Deine Signale aus? Wie sehen die Betriebsspannungen aus? Was ist mit Deinen Enable-Signalen? Gibt es Kurzschlüsse oder Unterbrechungen? Ist alles richtig verschaltet? (Überprüft mittels Schaltplan!!!)
Die Signale sind Sauber 5v aus einem AVR Betriebsspannung ein Gutes Analoges Labornetzteil 5v Nahezu perfekt Enable Signale werden nur gesetzt wenn jemand sendet. Die 0,2v Sind gemessen als keine Daten übertragen wurden. Also kein Master aktiv. Kurzschlüsse und Fehler ich hoffe nicht ;) es Funktioniert jetzt ja auch wieder wie es sollte. Nur sind die Pegel nicht da wo sie sein sollten.
Reiner schrieb: > Enable Signale werden nur gesetzt wenn jemand sendet. Da haben wir den "Messfehler"... Reiner schrieb: > Die 0,2v Sind gemessen als keine Daten übertragen wurden. Also kein > Master aktiv. Du solltest natürlich schon die aktiven Signale bei einer Übertragung messen und angeben, denn die Übertragung geht ja schief, und nicht der Ruhezustand, oder? Ich war bisher davon ausgegangen, dass der Bus auch ohne Übertragung vom "Master aller Master" aktiv gehalten und getrieben wird, dass also immmer 1 Teilnehmer aktiv auf dem Bus ist. Wenn das nicht der Fall ist, dann solltest du den Bus mit Widerständen auf definierte Pegel "vorspannen". Reiner schrieb: > Funktioniert jetzt ja auch wieder wie es sollte. Mir würde das nicht reichen. > Nur sind die Pegel nicht da wo sie sein sollten. Wo sollten sie denn sein, wenn auf dem Bus kein Transceiver treibt?
:
Bearbeitet durch Moderator
Reiner schrieb: > Es funktioniert aber nur wenn der PC USB RS485 Mit > angeschlossen und am USB hängt. Reiner schrieb: > Irgendwie inventiert?! Reiner schrieb: > Also vermutlich ein defekter Treiber. Reiner schrieb: > es Funktioniert jetzt ja auch > wieder wie es sollte. Nach meinem Verständnis gibt es hier Widersprüche.
Lothar M. schrieb: >> Funktioniert jetzt ja auch wieder wie es sollte. > Mir würde das nicht reichen. Hmm ist ein Defekter Bustreiber nicht Grund genug? Nein der Bus ist die meiste Zeit ohne einen Aktiven Master. Lothar M. schrieb: > dann solltest du den Bus mit Widerständen > auf definierte Pegel "vorspannen". Wir würde ich das anstellen? Über Bias? Ich muss noch viel Lernen glaube ich ...
Reiner schrieb: > Nein der Bus ist die meiste Zeit ohne einen Aktiven Master. Dann läuft da ja nie was los, weil alle bis zum Sanktnimmerleinstag warten, denn Reiner schrieb: >>> Alle Teilnehmer sind auf Empfang und warten darauf antworten zu dürfen. Irgendwer muss doch die Hosen anhaben und die Abfrage starten... Reiner schrieb: > Wir würde ich das anstellen? Über Bias? Ja. Neben den beiden Busabschlusswiderständen noch 2 hochohmigere, die den floatenden Bus auf ca, 2,5V ziehen, und trotzdem mehr als 300mV Spannungsabfall an den Abschlusswiderständen erzeugen, damit die Eingangstreiber nicht dauernd hin- und herschalten.
Reiner schrieb: > Lothar M. schrieb: >> dann solltest du den Bus mit Widerständen >> auf definierte Pegel "vorspannen". Wieso? Sobald der Master senden möchte, wird er vorher enabled. Damit stimmt der Pegel auf dem Bus (d.h. ca. +2,5...+3V) und er kann mit dem Senden beginnen. Danach darf die Spannung wieder auf 0V abfallen. Erst wenn nun ein Slave antworten möchte, muss er vorher (mittels enable) wieder für die Spannung auf dem Bus sorgen.
szung schrieb: > Wieso? > > Sobald der Master senden möchte, wird er vorher enabled. Damit stimmt > der Pegel auf dem Bus (d.h. ca. +2,5...+3V) und er kann mit dem Senden > beginnen. Danach darf die Spannung wieder auf 0V abfallen. Erst wenn nun > ein Slave antworten möchte, muss er vorher (mittels enable) wieder für > die Spannung auf dem Bus sorgen. Du brauchst aber einen definierten Ruhepegel, wenn keiner sendet. Denn der Empfänger ist ja üblicherweise ein UART, und der braucht zum Starten eine passende Flanke bei Beginn des Startbits. Ist der Ruhepegel falsch, fehlt diese Flanke.
Lothar M. schrieb: > Dann läuft da ja nie was los, weil alle bis zum Sanktnimmerleinstag > warten, Das ist korrekt. Eine handvoll Sensoren warten auf ein Signal mit Identifikation, Daraufhin antwortet der Teilnehmer mit seinen Daten. Dann ist wieder Ruhe. Der Master schaltet das Senden aus damit eventuell auch ein Zweiter Master die Daten abfragen könnte.
Dietrich L. schrieb: > Du brauchst aber einen definierten Ruhepegel, wenn keiner sendet. Denn > der Empfänger ist ... im Differenzspannungsbereich zwischen -200V..+200mV nicht definiert. Und wenn da jetzt irgendeine Störeinkopplung auf diesen floatenden Bus kommt, dann zappeln die Ausgänge der Empfänger beliebig vor sich hin- und her. Und der dahinter kommende UART-Eingang meint ab&zu, ein Startbit zu erkennen. Kuriose Effekte sind dadurch vorprogrammiert. Reiner schrieb: > Der Master schaltet das Senden aus damit eventuell auch ein Zweiter > Master die Daten abfragen könnte. Mal generell: wie fängst du denn da eine mögliche Kollision ab? Was passiert, wenn beide Master "zufällig" mal ziemlich zeitgleich den Bus benutzen wollen?
:
Bearbeitet durch Moderator
Nochwas. Schmeiss die 75176 raus. die verheizen 40mA das Stueck ohne Last, waehrend neue Typen weniger als 1mA verbrauchen. Die Neuen sind Pinkompatibel.
Name H. schrieb: > Nochwas. Schmeiss die 75176 raus. Deswegen habe ich schon die SN75LBC176 Die sind recht genügsam. Aber für andere Ideen bin ich offen Lothar M. schrieb: > Mal generell: wie fängst du denn da eine mögliche Kollision ab? Garnicht. Wenn keine Antwort kommt wird einfach nochmal angefragt. Das könnte ich ggf noch durch eine Zufallszeit verbinden. Aber Multimaster ist erstmal noch nicht
Reiner schrieb: > Aber für andere Ideen bin ich offen ST485. Ist Pinkomatibel und braucht unter 1mA wenn Ruhe auf dem Bus ist. Aus eigener Erfahrung kann ich zudem sagen das er auch mal grob fahrlässige Behandlung am Bus übersteht ^^
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.