Servus ich wöllte mir eine ca. 400m lange Leitung stellen, mit seriellem Kabel rs232. Am ende soll aber auch noch was ankommen. Kann es Probleme geben?
Hallo, du wills wirklich eine Leitung von 400m haben für eine RS232-Schnittstelle? Glaube kaum dass das geht, die Leitung sollte nicht länger als 8 bis 10m maximal sein. Oder wenn die Bedingungen hervorragend sind können maximal bis zu 30m überbrückt werden.
Eine mögliche Alternative wäre, die Spannungs- in Stromimpulse umzuwandeln und umgekehrt.
Wäre nicht RS485 nicht das richtige soll bis 1200m gehen ?
Hallo Sebastian Eine andere Variante ist die RS485. Mit der müsste man diese Distanzen schaffen. Wenn nur ab und zu Daten übertragen werden, dann wäre eine möglichkeit auch über Mobilfunk auf RS232 oder Festnetz auf RS232. Dann dürfen es auch grössere Distanzen sein. Alleine 400 Meter Kabel für diese Verbindung kosten eine Stange Geld Beste Grüsse GeriB
...fange mit 110 baud an.... am Ende wirst Du wohl RS422 / RS485 nehmen gut fuer 1 Km.
He Leute, danke für die Infos. Ist folgendes Möglich?: SPS-->7805-->Atmel-->MAX485--------400m------->7812-->RS232(=PC) 24V =>5V 5V ? V Verluste =>12V Die Datenraten sind sehr gering... etwa jede 2 Sek eine Übertragung, und auch nur halbduplex (zum PC). andere Mglk: SPS--------- 400m -------------->7805-->Optokoppler-->Atmel-Port-->usw 24V Verluste =>5V Ich weis nicht wie man in Visual Basic RS485 ansteuert. Ich kenne mich nur mit rs232 aus, deswegen bin ich für rs232 am Ende.
Die Spannungsregler der 78xx-Serie sind zum Levelshiften von Datenleitungen schon mal überhaupt nicht geeignet. Die Ausgänge der SPS steuern z.B. Transistoren an, welche die Eingänge des MC versorgen. Vom MC dann mit einem TTL-RS484-Wandler auf RS484-Level. Am PC wird dann nur noch ein RS484-RS232-Wandler benötigt. SPS<->Transistoren<->Atmel<->TTL-RS484-Wandler<----400m----->RS484-RS232 -Wandler<->PC Die Ansteuerung von RS232/RS484 ist absolut gleich, nur die Übertragungsart auf Drahtebene ist unterschiedlich (diff. statt sigle ended)...
@sascha:
"Die Ansteuerung von RS232/RS484 ist absolut gleich, nur die
Übertragungsart auf Drahtebene ist unterschiedlich (diff. statt sigle
ended)..."
Das stimmt so nicht. Zumindest im meist üblichen Halbduplex-Betrieb ist
eine Umschaltung der Richtung notwendig. Kann man über die
RS232-Steuersignale, das benötigt dann andere Steuersoftware. Der
andere Weg ist die automatische Umschaltung (Transceiver sind auf
Empfang, das Startbit einer Übertragung schaltet den Transceiver auf
senden, zurückschaltung über ein nachtriggerbares Monoflop (Aktivzeit
>=10*Bitdauer). Im Duplex-Betrieb braucht man das nicht, braucht
allerdings 4 Leitungen.
das war ein tippfehler. Ich meinte RS485. Der Hersteller Maxim (www.maxim-ic.com) biete eine große Menge von Transceivern an. Schaul mal hier: http://www.maxim-ic.com/appnotes.cfm/appnote_number/723 und hier: http://www.maxim-ic.com/appnotes.cfm/appnote_number/367
>Das stimmt so nicht. Zumindest im meist üblichen Halbduplex-Betrieb
ist
eine Umschaltung der Richtung notwendig.
Was meist üblich ist, das ist hier irrelevant.
Man kann auf Full-Duplex-Betrieb gehen und dann brauch man sich nicht
um eine TX-RX-Umschaltung kümmern.
Wenn natürlich feststeht, dass fast ausschließlich in eine Richtung
gesendet wird oder wenn Leitungen knapp sind, dann könnte man natürlich
auf HDX gehen...
Hallo Sebastian, so wie ich das sehe willst Du Signale von einer SPS mit einem Mikrocontroller abgreifen und diese dann auf seriellem Wege über die 400m zum PC schicken (bzw anders herum). Also zunächst ist es so, daß bei der RS232 bzw RS485/422 nur die Hardwareebene unterschiedlich ist. An der Ansteuerung (sowohl vom PC als auch vom µC) ändert sich nichts. Auf der µC-Seite verwendest Du einfach einen anderen Treiberbaustein (MAX485 oder MAX488/489 statt MAX232). Für die PC-Seite gibt es fertige RS232<->RS485 Wandler. Aber auch hier kannst Du mit einem MAX232 und MAX485 Dir selber etwas bauen. Gruß, Markus_8051
hey super. danke euch. scheint ja einfach zu sein, wenn ichs wie von Markus_8051 beschrieben, mache. Als RS232<->RS485 Wandler dann z.B. MAX3162 Meld mich wieder...
entweder das oder einfach erst ein MAX232 und dann ein MAX485 dahintergeschaltet, dürfte leichter erhältlich sein und billiger werden. Michael
Und wie wärs mit nem Modem? Die braucht keiner mehr, deswegen bekommst du die nachgeschmissen und damit kommste ewig weit. Und bis zu 56k... Musst halt nur die paar AT-Befehle zum Verbindungsauf- und -abbau zusätzlich senden...
hmm ist natürlich ne Idee, schon allein wegen der wenigen Leitungen. Brauch ich da nur ein 2-adriges?
Vollduplex erfordert 4 Leitungen. Halbduplex nur 2. Dafür darf immer nur einer senden...
achso: laut "Norm" (RS = recommended standard) darf eine RS232-Leitung ca. 15 Meter lang sein. Eine RS422- bzw. RS485-Leitung liegt mit entsprechender Terminierung bei 1200m. Maxim hat noch Chips, die mehr können...
>Vollduplex erfordert 4 Leitungen. >Halbduplex nur 2. Dafür darf immer nur einer senden... In Bezug auf was meinst du das jetzt? Beim Modem hast du immer nur 2 Leitungen zum Amt - is halt nur halbduplex, aber wenn das langt ist ein Modem optimal. Praktisch wär da noch ne alte Telefonanlage für die Spannungsversorgung und das Freizeichen, ohne gehts zur Not auch, siehe folgenden Thread: http://www.mikrocontroller.net/forum/read-1-248723.html#249162
ich würde einfach mit höheren Spannungen operieren als es RS232 macht. Negative Spannung wird auch nciht benötigt. Außerdem sind die angegebenen 10 Meter ja wohl auf ne bestimmte Datenrate bezogen. Über welche Datenmenge reden wir hier eigentlich? Aber alleine die Kabelkosten würden hier eher für Funktechnik sprechen.
Hallo, > Beim Modem hast du immer nur 2 Leitungen zum Amt - is halt nur > halbduplex, aber wenn das langt ist ein Modem optimal. Ein Modem hat keine Gabelschaltung? Ciao, Werner
Zitat: "achso: laut "Norm" (RS = recommended standard) darf eine RS232-Leitung ca. 15 Meter lang sein." Das ist richtig, gilt aber bei maximaler übertragunsrate, bei der niedrigsten kommt man auch ca. 1km weit. es gibt da eine formel. in der die leitungslänge und die leitungskapazität und die frequenz vorkommt. wenn ihr die ma haben wollt dann such ich die mal raus. einfach e-mail schreiben. es kommt also auf die leitungskapaziät und die übertragunsrate an wie lang die leitung sein darf. mfg daniel
neidrigste Leitungskapazität wird ein koaxiales Sat-Kabel haben
"laut "Norm" (RS = recommended standard) darf eine RS232-Leitung ca. 15 Meter lang sein." Bis RS232C war die Leitungslänge auf 15m begrenzt. In der RS232E werden nur noch die Spezifikationen der Leitungswerte beschrieben, keine maximale Leitungsmenge (OK, das ist Haarspalterei, auf 400m kommt man da nie)
ich würde einfach mal versuchen selber ne treiberstufe zu bauen. zuerst wandelst du es auf TTL pegel, (MAX232) dann gibst du das auf nen Transistor mit ordentlich dampf, auf der anderen Seite macht eine einfache schaltung wieder TTL pegel draus und dann auf nen MAX232. wenn du auf der einen seite n rechteck mit derfrequenz von deinem RS232 signal draufgibst kannst du prima einfach messen was hinten ankommt.
> Ein Modem hat keine Gabelschaltung?
Ich rede hier ja von der Leitung zum Amt - die besteht aus zwei
Leitungen die interessieren, die Echokompensation etc. geschieht ja
schon im Modem selbst.
Aber die Verbindung der beiden Modems geschieht über zwei Drähte und
das ist ja das Ausschlaggebende...
Hallo Ithamar, > Aber die Verbindung der beiden Modems geschieht über zwei Drähte und > das ist ja das Ausschlaggebende... und warum beschrängt das die Komunikation auf Halbduplex? Ciao, Werner
Ach so meinen ;) Okay, sorry mein Fehler... klar die Verbindung der Modems untereinander läuft Vollduplex ab...
wie bringst du saft auf die leitung? oder werden die automatisch von den modems erzeugt?
Siehe meinen Beitrag oben bzw. den Link: http://www.mikrocontroller.net/forum/read-1-248723.html#249162 Am besten is ne alte Telefonanlage, die sich drum kümmert und Freizeichen etc. erzeugt, notfalls gehts auch mit ner 9V-Batterie, da musst du lediglich ein paar AT-Befehle mehr absetzen...
Was nehme ich für Kabel bei den 400m mit rs485? EInfache Litze oder geschirmt und gedrillt?
Verdrillte 2-Drahtleitung oder einfach Telefon-Installationskabel sollte tun.
Moin Moin. Es gibt auch fertige Wandler von RS232 nach RS485. Die, die ich kenne werden 4-adrig miteinander verbunden und sind als einfache Zwischenstecker (wie ein alter Dongle) ausgeführt. Auf der Strecke reicht dann tatsächlich das einfachste Telefonkabel und das bis etwa 1Km. Die Lösung mit den Modems ist aber auch nicht schlecht. Wenn man die Dinger per Default in den Dumb-Modus programmiert kommt man mit nem einzelnen AT Befehl aus um die Strecke zu aktivieren. Ich rate an dieser Stelle dringend zu einer einfachen Telefonanlage, da in den Dingern üblicherweise auch Schutzeinrichtungen gegen Überspannungen drin sind, was bei 400m Strecke schon nicht schlecht sein kann und gebrauchte Kisten kosten ja nun wirklich nicht viel. bye Frank
Wie sieht es eigentlich mit einer 20mA Schnittstelle aus? Hab da irgendwie was in Erinnerung dass diese auch recht weit gehen soll! Gibts da auch treiberbausteine? Gruß Matthias
Laut TI ~1km bei 2400 baud, ~300m bei 4800 baud: http://www.lammertbies.nl/comm/info/RS-232_specs.html
Wie kann ich denn die Abschlusswiderstände berechnen? Gibt es da eine Formel, die Leitungslänge berücksichtigt?
@Sebastian Gaertner Du verwendest doch eine SPS. Die haben doch schon fast alle den Profibus. (Process Field Bus) Die können doch normalerweise bis zu 400m bei 500kbit/s und 100m bei 12Mbit/s. Wenn du einen Repeater dazwischenhängst gehts noch weiter. Du mußt dir eigentlich nur einen Profibus to RS232 oder Profibus to USB Konverter für deinen PC besorgen und gut ist. Wenn deine SPS so alt ist dass sie noch keinen Profibus hat dann wird dir das Basteln nicht erspart bleiben. mfg Sepp
Ich hab vergessen zu schreiben dass der Profibus eine Reichweite von bis zu 1,2Km hat wenn man mit der Datenrate noch weiter runtergeht.
ja ich kenne Profibus, diese Baugruppe kostet aber zusätzlich. Für meine Zwecke ist das Basteln noch OK.
Bis jetzt ist es einfach. Eine Seite sendet, die andere empfängt nur. So kann man die max485 Treiber für Sender bzw. Empfänger festlegen. Ein Treiber kriegt High-Pegel am DE und /RE und der andere Treiber Low (Masse). Ein Problem tritt auf, wenn ich mir überlege, dass ab und zu auch mal die Gegenseite senden soll. Dann müsste man die Pegel (s.oben) an beiden Treibern invertieren. Nur wie automatisiert?
Dann guck mal nach RS422-Transceivern z.B. bei Reichelt im Katalog.
versteh ich nicht, was nützen mir die? Also hier nochmal das Problem: PC-MAX232-MAX485===================================MAX485-AVR ^ Empfang 2-Draht TP Sender Wenn nun der linke MAX485 senden soll, muss man die 2 speziellen Pins daran invertieren, Gegenseite auch. Das könnte man dem AVR anvertrauen, der über die Ferne dort links per Transistor die Pegel umschaltet, doch brauch ich dazu ne Leitung mehr (teuer)... Aber ich glaub das geht nur so!?
hi Dann nimm CAN-Bustreiber PCA82C250(Reichelt). Die haben eine automatische Umschaltung beim Senden. Die Übertragung ist ähnlich RS485. Mfg HG
OK, danke, das wäre eine gute Lösung Sieht das dann so aus? PC-MAX232-PCA82C250===================================PCA82C250-AVR ^ Empfang/Senden 2-Draht TP Senden/Empfang d.h. kann ich den zusammen mit nem max232 verwenden?
hab ganz übersehen, dass ich ja nur 2400Baut verwende (geht sogar noch weniger). Ist da nicht 4000ft möglich (1200m) ???? Brauche also garkein rs485 oder CAN?
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.