Hallo, beschäftige mich bisher nur theoretisch mit dem RS485-Bus wobei mir einige Fragen in den Sinn gekommen sind. Würde gern den MAX487 aufgrund seiner Unempfindlichkeit gegenüber Störungen von aussen und der Möglichkeit von bis zu 128 Knoten nutzen. Ziel ist ein RS485-Bus mit mehreren Teilnehmern, jeder erledigt andere Aufgaben (andere Sensoren, andere Aktoren) die natürlich von der Spannungsversorgung her komplett andere Ansprüche haben. Idee ist also, zusätzlich über das RS485-Kabel die Versorgungsspannung (10-30VDC) mitzuführen und an jeden Knoten mit einem eigenen Spannungsregler auf die benötigte Spannung reduzieren, grobe Systemskizze im Anhang. Probleme: - Welche Auswirkungen auf die Signalpegel gäbe es wenn am Bus einige Transceiver mit 3.3V und andere mit 5V versorgt werden würden? - Kann überhaupt eine vernünftige Kommunikation zustande kommen? Bei LOW < 0.8V sowie HIGH > 2V sollte es funktionieren, bin mir allerdings unsicher. - Wie muss dann der Bus terminiert werden? Pullup an 5V? Pullup an 3.3V? Danke schonmal für eure Hilfe und Ideen!
EDIT: Meinst du die Spannungsversorgung oder die Bus-Spannung? Bei letzterem: Kann laufen muss aber nicht, such mal im Datenblatt nach dem Stichwort 3,3 Volt tolerant & 5 Volt tolerant oder ähnlich. Eine optimale Lösung ist es mit Sicherheit nicht, mit zunehmender Länge kann es natürlich zu mehr Problemen kommen.
So viel ich weiss ist RS485 nicht in Abhängigkeit von der Versorgungsspannung der Transceiver definiert. Bei RS232 gibt es ja auch Transceivers, die mit 5V versorgt werden und solche mit 3.3V. Das ändert prinzipiell aber an den RS232 nichts (es gibt kein RS232-5V und ein RS232-3.3V!!!).
@ hansw (Gast) >- Welche Auswirkungen auf die Signalpegel gäbe es wenn am Bus einige >Transceiver mit 3.3V und andere mit 5V versorgt werden würden? Gar keine. >- Kann überhaupt eine vernünftige Kommunikation zustande kommen? Bei LOW >< 0.8V sowie HIGH > 2V sollte es funktionieren, bin mir allerdings >unsicher. RS485 ist differentiell! Die Betriebsspannung der Tranceiver ist da vollkomen egal. >- Wie muss dann der Bus terminiert werden? Pullup an 5V? Pullup an 3.3V? Weder noch. Typisch 100..120 Ohm differentiell, je nach Leitungstyp. Deine Dimensionierung ist falsch. Bisweilen sieht man eine Schaltung mit den Werten (ca.) R2=150 R1=R3 = 600 MFG Falk
@sunflower_seed: Die zusätzlichen Leitungen des RS485-Kabels sollen lediglich der Spannungsversorgung dienen. Bin mir allerdings nicht sicher ob der MAX487 überhaupt mit 3.3V versorgt werden kann. Habe auch folgende Transceiver entdeckt: MAX3483E, MAX3485E, MAX3486E, MAX3488E, MAX3490E, MAX3491E - "3.3V Powered, ±15kV ESD-Protected, 12Mbps, Slew-Rate-Limited True RS-485/RS-422 Transceivers", werde mir mal einige zulegen zum Testen. @severino: Ja, das ist klar. Nur benötige ich beim MAX232 noch zusätzliche Kondensatoren um vom geringen Vcc auf die Spannung des Signalpegels zu gelangen (Ladungspumpe). Beim MAX485 benötige ich diese Zusatzbeschaltung nicht. Dennoch ist bei RS485 die differentielle Übertragung mit Pegeln zwischen maximal -7V und +12V festgelegt, oder? Irgendwie muss ja der Pegel von max. 12V erzeugt werden. Mein Gedankengang war da zeimlich einfach: - wenn keine externen Kondensatoren benötigt werden, so beinhaltet der IC keine Ladungspumpe - d.h. dass Vcc ungefähr dem Signalpegel entspricht - d.h. bei gemischter Nutzung von 3.3V- und 5V-Transceivern passiert irgendetwas unschönes
@falk: Hatte meine Widerstandsdimensionierung von folgender Webseite: http://www.wiki.elektronik-projekt.de/w/index.php/RS485_Bus#Der_Bus Wie kommen denn aber die Signalpegel zustande? Ohne externe Beschaltung mit zusätzlichen Kondensatoren? Vereinheitlicht der Transceiver-Baustein diese trotz unterschiedlicher Betriebsspannungen? Und vor allem: Welche Spannung lege ich an den Abschlusswiderstand R1? Sind da 5V ausreichend?
@ hansw (Gast) >Spannungsversorgung dienen. Bin mir allerdings nicht sicher ob der >MAX487 überhaupt mit 3.3V versorgt werden kann. Sicher, warum nicht? >Ja, das ist klar. Nur benötige ich beim MAX232 noch zusätzliche >Kondensatoren um vom geringen Vcc auf die Spannung des Signalpegels zu >gelangen (Ladungspumpe). RS232 arbeitet mit typ. 12V, single ended. > Beim MAX485 benötige ich diese >Zusatzbeschaltung nicht. Dennoch ist bei RS485 die differentielle >Übertragung mit Pegeln zwischen maximal -7V und +12V festgelegt, oder? Nein, das ist der Gleichtaktbereich, sprich die Spannung der einzelnen Signale gegen Masse. Die Empfänger kommen damit klar, die Sender erzeugen sie aber nicht. Die Spannung entsteht jedoch "aus Versehen", wenn grosse Ströme auf der Masse fliessen. Die Information steckt aber differentiell als DIFFERENZ zwischen den beiden Datenleitungen. >Irgendwie muss ja der Pegel von max. 12V erzeugt werden. Mein Nö. >- wenn keine externen Kondensatoren benötigt werden, so beinhaltet der >IC keine Ladungspumpe Richtig. >- d.h. dass Vcc ungefähr dem Signalpegel entspricht Fast. >- d.h. bei gemischter Nutzung von 3.3V- und 5V-Transceivern passiert >irgendetwas unschönes Nö. MfG Falk
Nochmal zum Verständnis Gleichttakt- und Gegentaktsignale (Common Mode and Differential Mode Signals) http://pdfserv.maxim-ic.com/en/an/AN1137.pdf http://pdfserv.maxim-ic.com/en/an/AN2045.pdf
Ok, vielen Dank für die Infos. Bin erstmal optimistisch und werde es wohl einfach mal ausprobieren!
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.