LJ18A3-8-Z/Ax an Wemos D1 mini

Hi zusammen,

Ich knüpfe mal an einen vorherigen Post an und mach ein separates Thema auf.

Ich möchte einen LJ18A3-8-Z/AX an meinem Wemos D1 mini betreiben. Da der Sensor 12 Volt will und ich nur ein Netzteil für Wemos und Sensor haben möchte, hab ich mir einen Stepdown-Regler besorgt.

Nun messe ich am D2 leider bei Betätigung des Sensors 5.15 Volt was natürlich zuviel ist.

Kann ich über folgende Schaltung den Sensor sicher betreiben?

Das hier ist der Stepdown-regler:
https://www.amazon.de/dp/B07FXBXJC5/ref=cm_sw_r_apan_glt_i_E9BA4HZ0Y7T77C8F5PAE?_encoding=UTF8&psc=1

Und das der Sensor:

Lg Daniel

Vermutlich hängt die LED des Sensors mit am Ausgang und zieht damit den Ausgang des Sensors hoch.
Ich würde zuerst noch einen Test mit einer 1N4148 oder ähnlicher Diode machen. Ausgang des Sensors auf die Kathode der Diode, der Eingang des D1 an die Anode und den PullUp im D1 aktivieren. Der Sensor kann dann den Eingang nur gegen GND ziehen.

Gruß, Jürgen

1 Like

Hi Jürgen,

ok, teste ich aus, Danke dir.
Aber vom Prinzip her wäre meine Lösung auch möglich, oder?
Nur dass ich mal ein Erfolgserlebnis hab :wink:

Grüßle
Daniel

@Katsumi_S Du bist der Retter des Tages für mich! Genau das war es!

Auf die LED wäre ich jetz im Leben nicht gekommen. D.h. hätte der Sensor keine LED, könnte ich ihn direkt hinhängen...

Ich hab nun auch mal gemessen, wie sich die Spannung beim EInschalten und resetten am Pin verhält (mit Input_Pullup). Es sind immer genau 3,29 Volt, d.h. dann kann ich mir quasi den externen Pull-Up Widerstand sparen.

Danke Danke und schönen Nachmittag euch allen.
God safe the forum, ich hoffe ich bin irgendwann dann soweit, dass ich nicht nur fragen sondern auch helfen kann :wink:

Bei Deiner Schaltung hätte mindestens der Basis Widerstand des Transistors gefehlt. Die LED im Sensor würde vermutlich reichen das der Transistor durchschalten kann. Falls das nicht tut, wäre noch ein Widerstand von schwarz nach braun fällig.

Edit: Hmmm... Geht eventuell sogar doch ohne Basiswiderstand. Müsste man dann eventuell mal messen. Im Sensor hängt entweder die LED + Vorwiderstand am Ausgang oder mindestens ein PullUp, da Dein Eingang ja hochgezogen wurde. Müsste dann mal ermitteln wie groß der Strom ist. Dann wüsste man ob mit oder ohne Basiswiderstand.

Gruß, Jürgen

Hi,

ich geh dann aber doch wohl besser mit deiner Lösung, also der Diode.
Das sollte ja in Ordnung sein, oder wäre die Transistor-Variante "noch sicherer"?
Das attraktive an der Diode ist halt, dass es nur ein Bauteil ist :wink:

Ich hab ja nun mehrmals gemessen und hab mit deiner Lösung immer 3.3V am Pin (also sowohl bei Power-An, Reset und Sensor-Schalte).

LG
Daniel

Funktionieren sollte beides. Sicherer könnte höchstens die Transistorvariante sein, falls wir in die Nähe der Schaltschwelle des Schmitt-Triggers am Eingang kommen. Es gibt Schaltschwellen für HIGH und LOW. Wenn die Spannung niedriger als die LOW-Schwelle ist, ist der Eingang LOW. Wenn höher als HIGH-Schwelle, wird der Eingang als HIGH erkannt. Dazwischen bleibt der vorige Zustand erhalten. Wenn die Schaltschwelle z.B. bei 1V wäre und der Spannungsabfall am Sensor und an der Diode auch rund 1V beträgt, könnte es sein das manchmal kein LOW erkannt wird. Falls ich das Datenblatt des ESP8266 richtig deute, sollte die LOW-Schwelle bei ca. 0,825V liegen.

Diode ist halt einfacher und funktioniert normalerweise auch problemlos und sicher. Wenn der Ausgang des Sensors HIGH ist, also 12V anliegen, sperrt die Diode und am Eingang des D1 liegen die 3,3V des PullUp an. Wenn der Sensor den Ausgang Richtung GND zieht, leitet die Diode und zieht somit den Eingang des D1 auch gegen GND.

Du kannst ja eventuell mal messen welche Spannung am Eingang des D1 liegt wenn der Sensor schaltet.

Gruß, Jürgen

1 Like

Am D1 liegen immer ziemlich genau 3.3Volt an, manchmal sogar etwas weniger.
Von daher sollte das ja dann so passen.

LG und schönen Sonntag allen.

Hi zusammen,

obwohl meine Lösung nun ja super funktioniert, wollte ich das Thema nochmal kurz aufgreifen.
Im Moment habe ich ja einfach eine 1N4148 zwischen D2 und Sensor geschaltet und konnte damit erreichen, dass ich am D2 unter 3.3 Volt habe (ach ja...im Beitrag oben wars noch D1, mittlerweile bin ich auf D2 gewechselt ;-).

Nun bin ich noch auf das Thema "Zener-Diode" aufmerksam geworden (man lernt ja nie aus...besonders als Anfänger).

Daher die Frage an euch:
Wäre in dem Fall eine 3.3 Volt Zener-Diode (mit Anode gegen Ground) die noch bessere/sicherere Lösung? Also quasi so:

grafik

Wenn ich das richtig verstanden habe, würde die z-Diode ja dafür sorgen, dass am D2 immer genau 3.3 Volt (beim Schalten) abfallen würden, oder?

Oder bringt mir diese Lösung keinen Mehrwert zur 1N4148, bzw. birgt andere Nachteile?

Beste Grüße

Daniel

Die Zener-Diode braucht etwas Zeit um die Spannung einzustellen. Für einen Menschen gesehen Ultra schnell, für den Mikrocontroller wahrscheinlich zu langsam.

Auch ist die Spannung, die sich einstellt abhängig von Strom, sollte hier aber keine große Rolle spielen, da der Eingang etwas mehr ab kann als 3,3V. 3V Zener-Diode wäre optimaler.

Auch muss die Zener-Diode den Strom aushalten, der durch die fließt. Das ist größten Teils abhängig von der Bauform, und dem Datenblatt zu entnehmen.

Da dies aber auch alles auf die in Reihe liegende Diode gilt, sollte es nicht „falscher“ sein.

Ok, dann kann ich für mich quasi daraus schließen, dass mir die Zener-Diode keinen Vorteil bringt. Jetzt hab ich gedacht, das wäre ne besonders dufte Diode;-)

Schönen Sonntag allen

Hi zusammen,

ich hab mal wieder ne Frage, bzw. eigentlich zwei :wink:
Beide knüpfen direkt an das Thema hier an:

Ich hab einen induktiven Sensor der mit 5 Volt funktioniert, folgendermaßen angeschlossen

Wenn ich nun einen ganz einfach Sketch als Beispiel nehmen, z.B. den hier...

const int sensorPin = 4; 

int counter=0;
int counter_old=0;

bool counted=false;

void IRAM_ATTR sensor_auslesen();

void setup() {
  Serial.begin(115200);
  pinMode(sensorPin,INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(sensorPin), sensor_auslesen, CHANGE);
}

void loop() {
  // Nur Ausgeben, wenn der Zähler größer geworden ist...
  if(counter>counter_old) {
    Serial.println(counter);
    counter_old=counter;
  }
  delay(100);
}

void sensor_auslesen(){ 
  if (digitalRead (sensorPin)==LOW ) {
    if (!counted) {
      counter++;
      counted=true;
    }
  } else {
    counted=false;
  }
}

...funktioniert alles auch wunderbar:
Sobald der Sensor schaltet, zählt mein Zähler.

Aber: Wenn man das Sensorkabel abzieht oder draufsteckt, gibts schlagartig eine Erhöhung des Zählers.

Daher die erste Frage: Kann man da was dagegen tun? Irgendwie "Entprellen"?

Und die zweite Frage:
Ich hab mal versucht, einen Stereoklinkenstecker für den Sensoranschluss zu verwenden.

Vorne auf die Spitze des Steckers hab ich GND gelegt, auf den nächsten Kontakt die 5V und auf den letzten dann den D2. Ihr könnt euch vorstellen, was passiert ist --> Der Klinkenstecker erzeugt beim Einstecken natürlich einen Kurzschluss, weil für einen kurzen Moment 5V an GND anliegt.

Daher die zweite Frage:
Macht ein Klinkenstecker überhaupt Sinn?
Würde dieser funktionieren, wenn man an eine andere Belegung der Pins wählt, so dass es eben nicht zum Kurzschluss kommt?

Aber irgendwie reicht da mein Elektrotechnik-Verständnis-Horizont wieder mal noch nicht ganz aus und ich wüsste jetzt nicht, welcher Anschluss an welchem Kontakt des Steckers am besten aufgehoben wäre - sprich: welcher Kontakt mit welchem anderen Kontakt kurzschließen darf, ohne dass das zu einem Reset oder eben wieder zu einem schlagartigen Anstieg des Counters führt.

Danke wieder mal für eure Hilfe und eure Gnade mit mir :wink:

LG und viele Grüße
Daniel

Hallo, Klinkenstecker sogar Stereo für Sensoren ja, aber nur die vergoldete (Buchse auch),
für Spannung, Strom nur Mono.
Gruß
Bernhard

Hi,

aber wo liegt der Unterschied, wenn ich die Steckerbelegung so lasse und nur einen vergoldeten Stecker plus Buchse nehme. Gold leitet doch auch, d.h. dann bekomm ich doch trotzdem wieder beim Einstecken des Steckers einen Kurzschluss, oder?

Je nach Beschaltung,
Gold korrodiert, oxidiert nicht deshalb zB Kopfhörer haben Goldne Stecker

Sorry, ich schnalls immer noch nicht.
Wie muss ich denn die Beschaltung wählen, dass ich den Sensor sicher in den Wemos ein- und wieder ausstecken kann, ohne dass ich

  1. Einen Kurzschluss erzeuge
  2. Der Zähler in meinem Sketch beim Ein-/Ausstecken versehentlich mehrfach zählt?

Ich begreife grad noch nicht, was das mit dem Material des Steckers zu tun hat.
Abr evtl. sitz ich heute nur schon wieder zu lange vor der Kiste :wink:

Nim einen Verpolung sicheren Stecker = keine Probleme, persönlich mag ich die Klinkenstecker nicht, wen platz da DIN oder andere

Ausgehend vom Steckerbild
3 wird das +, 2 Signal, 1 GND
Steckst Du den Stecker ein, ist der Weg:
3 an GND
3 an Signal, 2 an GND
3 an + , 2 an Signal, 1 an GND

Ein Kurzschluß zwischen + und gnd eher nicht...

Das könnte zum Problem werden.

Hi und Danke,

Werd ich mal probieren.

Gibts für dieses Problem irgendeine Lösung. Also gar nicht mal bezogen auf den Klinkenstecker sondern allgemein? Denn das Problem hab ich ja auch mit einem normalen 3-PIN Stecker bei dem alle 3 Pins gleichzeitig eingesteckt werden.

Hast Du noch einen freien Pin?
Dann Taster ran - taster drücken - Stecker ziehen - Stecker stecken - taster drücken.

1 Like