Hallo zusammen, ich benötige ich Interface, um mit einem 3,3V-Mikrocontroller mit SDI12-Sensoren zu kommunizieren. SDI-12 ist ein offener Standard, arbeitet halbduplex mit 1200 baud bei normalerweise 5V Signalpegel. Hier ist der Standard beschrieben: http://www.sdi-12.org/current_specification/SDI-12_version-1_4-Jan-10-2019.pdf Es gibt drei Leitungen, eine zur Sensorversorgung (12V), eine Datenleitung (normalerweise 5V) und GND. Der Mikrocontroller ist der Master und fordert die Sensoren auf Daten zu senden. Auf Seite 45 unten ist ein Interface beschrieben, welches ich im Prinzip so übernommen habe. Nur bei dem Gasentladungsleiter, den ich verwendet habe, weiß ich nicht, ob das so passt. In meiner Anwendung gibt es auch Sensoren, die einen Signalpegel von 3,6V anstatt 5V nutzen. Daher habe ich die Schaltung nochmal eingezeichnet und speise in dieser die High-Seite des Pegelwandlers anstatt mit 5V mit 3,6V. SDI-12 hat bestimmte Andforderungen an die Impedanz. Auf Seite 3 des Standards(siehe oben) steht folgendes: "When an SDI-12 device has its transmitter on, its direct current (DC) source resistance must be greater than 1000 ohms and less than 2000 ohms. Due to this impedance, the maximum cable length depends on the capacitance of all cables connected to the data line. When any SDI-12 device's transmitter is off, including during a low-power standby mode, the DC resistance to ground must be within 160K to 360K ohms. If an SDI-12 sensor does not use the 12-volt line for power, its data line resistance to ground while powered down must be within 160K to 360K ohms. Figure 2 shows an equivalent circuit." Müsste bei der 3,6V-Schaltung noch etwas angepasst werden, damit die Impedanzanforderungen eingehalten werden? Hier reicht mein Wissen leider nicht mehr aus :( Auf der Mikrocontrollerseite (ESP32) habe ich die Möglichkeit entweder einen UART-Pin zu nutzen und zwischen RX und TX umzuschalten oder beides getrennt anzuschließen und eben beim Senden des ESP32s ein Echo auf RX zu haben. Was würdet ihr hier vorziehen? Fällt euch sonst noch etwas auf? Vielen Dank :-)
Roland B. schrieb: > Hallo zusammen, > > ich benötige ich Interface, um mit einem 3,3V-Mikrocontroller mit > SDI12-Sensoren zu kommunizieren. Gibt es dazu ein Datenblatt? > SDI-12 ist ein offener Standard, arbeitet halbduplex mit 1200 baud bei > normalerweise 5V Signalpegel. Also schnarchlangsam. > Hier ist der Standard beschrieben: > http://www.sdi-12.org/current_specification/SDI-12_version-1_4-Jan-10-2019.pdf > Auf Seite 45 unten ist ein Interface beschrieben, welches ich im Prinzip > so übernommen habe. Incl. der schwachsinnigen Ami-Notation von 0,0033uF. Der Rest der Welt schreibt da 3,3nF. > Nur bei dem Gasentladungsleiter, den ich verwendet > habe, weiß ich nicht, ob das so passt. Bist du sicher, daß der mit 20kA ausreichend dimensioniert ist? > In meiner Anwendung gibt es auch Sensoren, die einen Signalpegel von > 3,6V anstatt 5V nutzen. Daher habe ich die Schaltung nochmal > eingezeichnet und speise in dieser die High-Seite des Pegelwandlers > anstatt mit 5V mit 3,6V. Kann man machen, wenn der Rest des Busses mit 3,3V als HIGH klar kommt. > Müsste bei der 3,6V-Schaltung noch etwas angepasst werden, damit die > Impedanzanforderungen eingehalten werden? Nö, das sollte R2 machen. Allerdings fliegt dir R3 um die Ohren, wenn du mal WIRKLICH einen fetten Surge-Puls auf der Leitung hast. Naja, er wirkt dann halt als Sicherung ;-) > Auf der Mikrocontrollerseite (ESP32) habe ich die Möglichkeit entweder > einen UART-Pin zu nutzen und zwischen RX und TX umzuschalten Tu das. > oder beides > getrennt anzuschließen und eben beim Senden des ESP32s ein Echo auf RX > zu haben. Geht auch, braucht man aber eher nicht. > Fällt euch sonst noch etwas auf? Den MAX3378 würde ich nicht nehmen, denn das ist ein Biest, das bis zu 8Mbit/s schafft. Solche schnellen ICs machen tendentiell mehr Probleme als sie lösen. Nimm den langsamen MAX3372 oder MAX3377, die sind auf 230kbit/s optimiert, selbst das ist für dein Anwendung noch rasend schnell. Aber eine innere Stimme sagt mir, daß du damit Probleme haben wirst. Ich würde das nicht so machen sondern genau so wie im Standard mit einem Tristate-Treiber ala 74HCT125 die Leitung treiben. Den kann man dann auch mit 5V versorgen und trotzdem mit 3,3V ansteuren. Treiber und Pegelwandler in einem. Und vor allem kein "mysteriöser" Transimission Gate Pegelwandler. DIe DInger sind mir etwas suspekt.
Danke Falk! Für die 5V-Sensoren habe ich keinen extra Schaltplan. Diese halten sich an den offiziellen Standard, den ich verlinkt habe. Für die 3,6V-Sensoren gibe es hier einen Guide: http://publications.metergroup.com/Integrator%20Guide/18224%20TEROS%2011-12%20Integrator%20Guide.pdf Auf Seite 3 sind die Logikpegel und ein Ersatzschaltbild des Sensors. Beim offiziellen Standard wird ein High-Pegel ab 3,5V erkannt. Somit sollten eigentlich sowohl die 5V-Sensoren, als auch die 3,6V Sensoren zusammen funktionieren, wenn ich den BUS mit 3,6V speise. Wenn jedoch ein 5V-Sensor dann mit einem 5V-Pegel antworten würde (möglich durch externe Speisung), dann würde dies den erlaubten Pegel für die 3,6V-Sensoren überschreiten. Insofern würde ich dabei bleiben und den BUS in 3,6V und 5V splitten. Die Ami-Notation habe ich geändert :-) Mit den Gasentladungsleitern kenne ich mich nicht aus. Ich habe noch welche mit 40kA bei 90V oder 60kA bei 250V gefunden. Wäre einer hiervon besser? Wenn R3 im Normalbetrieb nicht durchbrennt, passt das. Oder würdest du R3 durch einen Widerstand mit einer höheren Leistung ersetzen? Als Pegelwandler habe ich jetzt den MAX3377 eingezeichnet. Der 74HCT125 würde erst ab 4,5V funktionieren und ich bräuchte noch beispielsweise einen Mosfet, um die Spannung in die andere Richtung zu wandeln, da der BUS auf der Datenleitung bidirektional ist. Oder verstehe ich hier etwas falsch? Vielen Dank! :)
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.