Hallo liebes Forum, Ich versuche, UART über einige Meter zu realisieren. TTL ist auf Sende- und Empfangsseite vorgesehen. Empfangsseite ist ein Raspberry Pi (RPi). Relevant ist für mich aktuell nur die Empfangsrichtung, TX muss nicht zwingend übertragen werden. Hierfür habe ich von einem RPi den Serial Port (TTL/3,3V) verwendet, aber auch diverse USB/UART und USB/RS232 Wandler von FTDI oder Prolific. Es funktioniert natürlich, den RFID Reader ohne die Wandlung zu betreiben. Aus TTL wird TTL, lediglich ein Spannungsteiler (5V/3V3) wäre sinnvoll. Kommen jedoch zwei Max232 (oder UT232 etc..) zum Einsatz erhalte ich keine Daten mehr. Das Schema wäre: RFID -> TTL (5V) -> TTL(3,3V) -> Raspberry Pi Mit RS232: RFID -> TTL (5V)/RS232 -> Kabel 7-30 Meter -> RS232/TTL (3,3V) -> Raspberry Pi Da aktuell die Kabellänge nicht klar ist, wäre es sicherer RS232 zu nutzen. Als Kabel werden ISTY Leitungen zum Einsatz kommen, da auch die Spannungsversorgung des Readers darüber läuft, habe ich bereits Berechnungen zum Spannungsabfall angestrebt und auch einen Test erfolgreich durchgeführt. Ich habe bereits die pre-assembled MAX232 Module benutzt, wie auch hier im Forum schon diskutiert, eine Datenübertragung findet damit nicht statt. Beitrag "RS232 - TTL Wandlerproblem" Auch habe ich versucht, auf dem Breadboard die Schaltung aufzubauen. Hier könnte es natürlich dazu kommen, dass die Kondensatoren locker sitzen. Nachgemessen habe ich auch, ich erhalte valide Ergebnisse. Welche Probleme können eventuell auftreten bei der oben geschilderten Vorgehensweise? Gibt es Alternativen zu RS232? Eine Überlegung wäre es, einen kleinen Microcontroller beim Reader zu platzieren, dieser kann erste Wandlungen der RFID-Kennung vornehmen, zumal er ggf auch andere Signale aufbereiten kann oder Aktoren ohne Verwendung weiterer Adern ansteuern kann. (RS485 kommt mir in den Sinn) Vielen Dank für eure Hilfe Dominic
Dominic S. schrieb: > Da aktuell die Kabellänge nicht klar ist, wäre es sicherer RS232 zu > nutzen. Du könntest, sofern Du genügend Adern hast, auch RS422 nutzen. Das ist dank der differentiellen Übertragung weniger störanfällig als RS232, nur braucht es halt pro zu übertragender Signalleitung zwei Adern.
Dominic S. schrieb: > Kommen jedoch zwei Max232 (oder UT232 etc..) zum Einsatz erhalte ich > keine Daten mehr MAX232 und die hunderte ähnliche ICs sind reine Pegelwandler, dass die Hin- und Herwandlung durch ein Paar davon nicht funktioniert ist technisch ausgeschlossen. Es wurde also ein anderer Fehler eingebaut, z.B. die MAX232 falsch verdrahtet. Mit einem Oszilloskop käme man viel schneller auf das Problem als durch Ferndiagnose über das Internet. Georg
Für einen 3,3 Volt TTL Pegel gibt es von MAXIM die MAX3232 IC´s. Damit habe ich selbst schon 12 Meter per RS232 mit 9600 Baudrate hinbekommen. Die 12m waren aber absolut kein Problem. Die 12m waren aber auch verdrilltes abgeschirmtes Kabel. Wenn das nicht hilft und die Leitung wirklich sehr lange wird, dann gibt es die Möglichkeit per Komparator LM393 o.ä. selber auf höhere Spannungspegel zu gehen und am anderen Ende wieder per Komparator zurück auf TTL. So habe ich mal eine 110m Leitung ebenfalls mit einer Baudrate von 9600 Baud realisiert. Die 110m Leitung war aber ebenfalls kein billiges Kabel. Gruß Tom
Georg schrieb: > MAX232 und die hunderte ähnliche ICs sind reine Pegelwandler ... Denkst du. Invertieren tun sie das Signal auch noch.
Wolfgang schrieb: > Denkst du. Invertieren tun sie das Signal auch noch. Ja, aber das ist normgerecht. Und da eh zwei notwendig sind, hebt sich das wieder auf.
Wolfgang schrieb: > Invertieren tun sie das Signal auch noch. Ist invertieren etwa keine Pegelwandlung??? Was Georg meinte ist, dass die MAX nichts am Protokoll/Timing ändern. Und Alle ausser dir haben das auch verstanden!
Hallo, > Dominic S. schrieb: > Aus TTL wird TTL, lediglich ein Spannungsteiler (5V/3V3) wäre sinnvoll. Nur wenn der Eingang nicht 5V-tolerant ist > Kommen jedoch zwei Max232 (oder UT232 etc..) zum Einsatz erhalte ich > keine Daten mehr. Dann hast du irgend was falsch beschaltet. Sonst sind RS232-treiber bei der lahmen Baudrate von 9600 sehr gutmütig. Da kann man auch längere Leitungen mit mind. 50m mit betreiben. > Da aktuell die Kabellänge nicht klar ist, wäre es sicherer RS232 zu > nutzen. Auch TTL kann man mit 9600Baud sicher noch problemlso über 50m bringen. Man sollte nur einen ordentlichen Treiber dafür haben und evtl. am Leitungsende beim Empfänger einen Lastwiderstand setzen, so dass auch etwas Leistung übertragen wird. Das SNR (signal-noise-ratio) wird dadurch deutlich verbessert. > Als Kabel werden ISTY Leitungen zum Einsatz kommen, da auch die > Spannungsversorgung des Readers darüber läuft, habe ich bereits > Berechnungen zum Spannungsabfall angestrebt und auch einen Test > erfolgreich durchgeführt. Soweit so gut. Bei solchen Leitungslängen sollte man aber auch noch an Überspannungsschutz denken. Bei Blitzschlag in der Näher gibt es sonst regelmäßig kaputte Sender und Empänger. Das gilt auch für RS232 oder RS485, auch wenn diese schon einen gewissen Schutz integriert haben. > Nachgemessen habe ich auch, ich erhalte valide Ergebnisse. Wie nachgemessen? Zumindest die Pegel sollten sich statisch klar darstellen. > Gibt es Alternativen zu RS232? Sicher? Aber das wird immer nur komplizierter. > RS485 kommt mir in den Sinn. In starker Störumgebung bei industrieller Technik unverzichtbar. Aber brauchst du das? Gruß Öletronika
Dominic S. schrieb: > TX muss nicht zwingend übertragen werden. RX überträgt aber nichts ... Gruß Jobst
An Pin 2 des MAX232 sollte man etwa 10V messen (gegen Pin 15 = GND), an Pin 6 sollte man etwa -10V messen. Dann laufen schon mal die Ladungspumpen des MAX. Immer an die Belegung denken, der MAX232 erwartet die Betriebsspannung an Pin 16 und Masse an Pin 15.
Also, 485 ist natürlich besser. Und mit 3 Adern auch nicht viel aufwändiger. RS232 ist ein guter gemeinsamer Nenner, wenn es unterschiedliche Hersteller gibt. Weiter Ein- und Ausgangsbereich. Wenn Du beide Seiten gestaltest, tut es ausgangsseitig auch ein einfacher Treiber von 5 oder 10mA. Wenn Dein µC die nicht liefert, einfach ein HC-Gatter dazwischen. Ideal wäre etwa, was auch 50mA kann, dann reichen 100R Serienwiderstand (bzw. was halt Dein Kabel an Wellenwiderstand hat) Wenn der Sender weniger Leistung verbraten soll: Ausgang: 1K Serienwiderstand (und Climb-Dioden, falls nicht im Ausgang sowieso drin) Eingang, je nach Leistung, Platz und Kosten: - hochohmig (1k-Serie, >=10k nach Masse) direkt an ein HCT-Gatter oder Komparator oder an den µC - Transistor mit 1k Basiswiderstand, 10k Kollektor, Basis-Kollektor-Diode gegen Sättigung, 1k gegen GND am Eingang - Mit 100R gegen Masse, danach 1k Serienwiderstand und Schaltschwelle per Komparator Jeweils + Schutzbeschaltung je nach Umgebung und Einbaumöglichkeiten (Verpolung, >>12V, Surge, ...) Damit sind 1MBit über 12m problemlos möglich.
Achim S. schrieb: > Also, 485 ist natürlich besser. Und mit 3 Adern auch nicht viel > aufwändiger. Du meinst tatsächlich RS422. RS485 ist fast das gleiche, nur daß das mit Halbduplexbetrieb auf einem Leitungspaar sowohl empfängt als auch sendet, was aber a) eine zusätzliche Steuerleitung zur Sender-/Empfängerumschaltung benötigt und b) von der verwendeten Software unterstützt werden muss, die diese Steuerleitung korrekt ansteuern muss. Das hat mit "transparenter UART-Verlängerung" nicht mehr viel zu tun. RS422 definiert lediglich die symmetrische Signalübertragung mit je einem Leitungspaar pro Signal. Das ist es, was Du hier nutzen wollen könntest. Vielleicht gelingt es aber auch dem Threadstarter noch, seine Verschaltung genau zu beschreiben, denn da wird nur ein ganz banaler Fehler vorliegen.
Dominic S. schrieb: > RFID -> TTL (5V)/RS232 -> Kabel 7-30 Meter -> RS232/TTL (3,3V) -> > Raspberry Pi > Dominic S. schrieb: > Aus TTL wird TTL, lediglich ein Spannungsteiler (5V/3V3) wäre sinnvoll. Dir ist aber auch klar, dass ein MAX232 trotzdem 5V Versorgungsspannung braucht? Wenn nur 3V3 vorhanden sind, dann besser den MAX3232 nehmen.
Optokoppler, Transistor, Z Diode , Widerstand und daraus ne einfache Current Loop 20 mA Schnittstelle. Damit haben wir in den Neunzigern UNIX Terminals mit 38400 Baud über 2 KM Klingeldraht störsicher betrieben. Fertig
Beitrag #5083206 wurde von einem Moderator gelöscht.
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.