Frage zu einer Schaltung (3V3 SDI12)

Hallo zusammen,

ich möchte SDI-12 Sensoren mit einem MKR, also 3V3-Logik steuern. Der Spezifikation [1] nach senden die SDI-12 Sensoren ein 5V-Signal und werden über eine einzige Datenverbindung angesprochen (Lesen und Schreiben).

Ich muss also beim schreiben aus 3V3 5V machen und beim lesen aus 5V die 3V3. Da SDI-12 auch noch sehr langsam ist, also einen großen "Slew "hat, wird das ganze mit Schmitt-Trigger empfohlen.
Hierzu gibt es von TI einen Forenbeitrag, an den ich mich gehalten habe [2].

Soweit so gut. Die Spannungs-Logik funktioniert so auch gut, allerdings muss ich ja meine Lese und meine Schreib-Daten auftrennen (also zwei Pins) und dann zu dem BUS des Sensores zusammenführen. Hier habe ich einen Multiplexer genommen.
Die gesamte (kleine) Schaltung ist hier Schema (17.8 KB)

Das funktioniert so auch gut (mit Oszi gemessen), allerdings nur solange der Sensor nicht angeschlossen ist. Sobald ich den Sensor anschließe, erzeugt er eine +4,6V Spannung auf dem SDI-BUS, dies führt dazu, dass mein Schreib-Signal nicht unter 1,27V fällt (also 1,27V der neue Ground ist?!), interessanter Weise ist 4,6 - 3,3 = 1,3 (1,27).
Irgendwie zieht der Sensor den Output hoch, und ich weiß nicht warum oder wie, oder wie ich das verhindern könnte.

Hat hier irgendjemand eine Idee?

Beste Grüße
finkler

Und warum verwendest du keine Library?
Da wird der Sensor richtig angesprochen.
Zusätzlich brauchst du einen Levelshifter.

Es müsste hier ein Hardware-Problem sein, und kein Softwareproblem.
Die Lib funktioniert eben nicht, da das Signal nicht auf 0 gezogen wird.

Ich haben den Sensor nicht, würde es aber mit einem 5Volt AVR Arduino testen. Dann ist man erst mal sicher ob dieser funktioniert.

Ja, das geht.

Dann liegt es wohl an deiner Schaltung des Levelshifters.

Dies hier habe ich im Web gefunden, evtl. hilft es ja.

Danke Dir, ich versuche das mal auf meine Schaltung zu übersetzen.

Ok, der Fehler saß mal wieder vor dem Bildschirm. Hat in meinem Fall nicht geklappt weil der MKR Pin kein Interrupt hatte. Mit einem anderen Pin funktioniert die Library.
Sorry.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.