Frage:
Verdrahtung eines Arduino mit einem 12V TTY
Aaron
2010-05-21 21:39:31 UTC
view on stackexchange narkive permalink

Ich habe ein DSC-1555-Alarmsystem, das ich mit einem Arduino-Mega verbinden möchte. Das Problem, auf das ich gestoßen bin, ist, dass der DSC 12-V-TTL zur Konsole und der Arduino 5-V-TTL verwendet.

Ich habe nur geraten, einige Widerstände zu verwenden, aber ich möchte dies vor dem Versuch noch einmal überprüfen.

Was bedeutet TTY? Meinst du TTL?
Ich dachte aus irgendeinem Grund an Unix, die serielle Ausgabe an das Alarmmumpad ist das, woran ich dachte.
Das Problem, das Sie erwähnen, ist ein Hardwareproblem (nicht übereinstimmende Logikpegel) und kein Softwareproblem. Daher würde ich das System in diesem Fall nicht als TTY bezeichnen.
Ein TTY ist ein Teletyp. Ich denke hier bedeutet es RS232 aka serielle Schnittstelle, 12V ist die Standardspannung dafür.
Drei antworten:
#1
+4
J. Polfer
2010-05-21 21:52:10 UTC
view on stackexchange narkive permalink

Sie müssen die 12-V-Pegel des DSC-1555-Alarmsystems auf etwas umwandeln, das der Arduino verarbeiten kann.

Ohne vorherige Kenntnisse über die Funktionsweise der seriellen Hardware des DSC-1555 gibt es nicht viel I. kann sagen. Ich würde das Datenblatt in die Hand nehmen und weitere Informationen erhalten.

Ist es RS-232C (oder eine andere Revision) kompatibel? In diesem Fall sollten Sie einen 12V RS-232 -> 5V Leitungswandler erwerben. Sie könnten versuchen, die Spannung mit Widerständen auf etwas zu "senken", das der Arduino verarbeiten kann. Dies ist jedoch mit Problemen behaftet, da die Signale wahrscheinlich invertiert werden und außerhalb des Bereichs liegen, den der CMOS-Chip verarbeiten kann, was möglicherweise zu Schäden führen kann. Wenn es RS-232-kompatibel ist, besorgen Sie sich einen Konverter und Ihre Kopfschmerzen werden weitaus geringer sein.

Ich bin mir nicht sicher, ich bin ziemlich neu in der Hardwareelektronik, daher könnte dieses Projekt über meinen Kopf gehen. Danke trotzdem
@Aaron - Da es sich bei der DSC-1555 um ein Gerät für die Sicherheit / Automatisierung zu Hause handelt, finden Sie möglicherweise weitere Tipps / Hilfe zu einer Website für Heimwerker- oder Heimautomation, da diese möglicherweise mehr über die Funktionsweise der DSC-1555 wissen. Die Leute hier beschäftigen sich hauptsächlich mit Elektronik und eingebetteten Dingen, aber nicht mit solchen Besonderheiten.
@Aaron - Ein weiterer Gedanke: Versuchen Sie, das Nummernblock an eine serielle PC-Schnittstelle anzuschließen und einen Terminalemulator zu verwenden, der an dieser Schnittstelle mit verschiedenen Optionen (Baudrate, Bits, Parität, Flusskontrolle usw.) ausgeführt wird, um festzustellen, ob Sie Daten herausholen können . Möglicherweise müssen Sie ein Nullmodem verwenden, um die beiden miteinander zu verbinden, da die TX / RX-Leitungen möglicherweise vertauscht werden müssen.
Wenn es sich um RS232 handelt, verwenden Sie einen MAX232 als Pegelwandler.
#2
+4
JustJeff
2010-05-22 03:13:43 UTC
view on stackexchange narkive permalink

Es ist ein wenig unklar, mit was genau Sie sich verbinden, aber wenn es darum geht, 12 V RS-232-Pegel in & aus einem Arduino (oder einer anderen 5 V-Logik) herauszuholen, ist es gar nicht so schwierig.

Normale RS-232-Pegel werden für den 'Markierungs'-Zustand (logisch' 1 ') auf -3 V bis -12 V und für den' Leerzeichen'-Zustand (logisch '0') auf + 3 V bis +12 V festgelegt. . Ein typisches Gerät deckt nicht den gesamten Bereich ab. Beispielsweise kann eine serielle PC-Schnittstelle eine Markierung von -11,5 V und einen Speicherplatz von + 11,2 V aufweisen, während ein anderes Gerät möglicherweise -9 und +9 liefert.

TTL-Pegel werden andererseits bei einer logischen 0 von weniger als 0,8 V und einer logischen 1 von mehr als 2,4 V angegeben, obwohl bei CMOS-Geräten die Logik '1' so nahe an der Versorgung sein möchte Schiene, wie Sie es bekommen können.

Es gibt eine Reihe von Chips, die zwischen 5-V-Logikpegeln und +/- 12-V-RS-232 wechseln. Diese sind recht billig und funktionieren sogar ohne zusätzliche 12-V-Versorgung. Sie können Teile wie die von Maxim herstellen.

#3
  0
Christopher Biggs
2010-05-30 13:42:21 UTC
view on stackexchange narkive permalink

"Echte" serielle Schnittstellen verwenden den EIA-RS232-Standard von +/- 12 V Volt, der ziemlich lange Kabel ermöglicht. Viele eingebettete Geräte verwenden die TTL-Logikpegel von 0 / 5V, da dies viel einfacher ist, aber nur einen Meter oder so betrieben werden kann. Manchmal können Sie TTL-Ausgänge betrügen und mit einem RS232-Eingang verbinden, obwohl dies gegen die RS332-Spezifikation verstößt. Ich würde jedoch nicht empfehlen, in die andere Richtung zu gehen und 12 V an ein wehrloses uC anzuschließen, das 5 V erwartet.

Der Grund für die Verwendung von 12 V und -12 V ist die Störfestigkeit. Serielle 5-V-Leitungen funktionieren nur über kurze Entfernungen, bevor das Rauschen das Signal überfordert, während RS232 bis zu 10 m oder mehr laufen kann.

Traditionell benötigen die Leitungstreiber / -empfänger, die zur Umwandlung von TTL in RS232 verwendet werden, eine Stromversorgung von +/- 12 V. Dies ist der Hauptgrund dafür, dass an einem PC-Netzteil eine -12-V-Leitung vorhanden ist. Für 5-V-Systeme ist der Maxim MAX232 der Defacto-Standard für die RS232-Schnittstelle. Dieser Chip verwendet Kondensatorladungspumpen, um +/- 12 V aus einer einzelnen 5-V-Versorgung zu erzeugen.

Wenn Sie nicht dazu bereit sind Wenn Sie eine MAX232-Schnittstellenschaltung bauen, können Sie eine von futurlec vorgefertigte für etwa 5 US-Dollar kaufen: http://futurlec.com/Mini_RS232_TTL_5V.shtml

Ich kann eine Arbeit anbieten einseitiges Leiterplattenlayout für einen TTL<-> RS232-Konverter, falls jemand interessiert ist, wie ich ihn vor einiger Zeit gebaut habe, um ihn beim Prototyping von Projekten mit serieller Schnittstelle zu verwenden.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 2.0-Lizenz, unter der er vertrieben wird.
Loading...