Hallo Zusammen, hier wieder ein Miniprojekt und vielleicht für diejenigen interessant, die wie ich vergeblich nach einer Schaltung für diesen Sensor gesucht haben. Sensor: Der Sensor kann Wasser in bis zu 2cm Abstand berührungslos detektieren. Bei mir sind es 6mm Glas + 8mm MDF-Platte + 1mm doppelseitiges Klebeband, also 17mm. Im Sensor ist ein kleines Poti verbaut. Das musste ich auch einstellen, um diesen Abstand hinzubekommen. Der Sensor kann mit 5-24 V betrieben werden und hat einen PNP Pin als Ausgang. Es gibt auch ein Modell mit NPN. Und es gibt noch einen vierten Pin, mit dem man die Ausgangslogik invertieren kann. Ist dieser unbeschaltet, schaltet der PNP durch, wenn der Sensor Wasser detektiert hat. Der Sensor wird bei mir für eine Wasser-Nachfüllautomatik meiner Aquarien verwendet. Zum einen, um bei einem zu geringen Wasserstand eine 12V Pumpe zu schalten, die Osmosewasser in das Aquarium nachfüllt. Und zum anderen, um mir ein Alarm auf meinem Handy auszugeben, wenn mein Nachfüllbehälter (fast) alle ist. Hardware: Ich brauche das Signal für meinen 3.3V Mikrocontroller, kann also nicht die viel simplere Schaltung bei 5V verwenden, die man im Netz finden kann. Wobei ich hier gleich mal anmerken muss, dass User von Detektionsproblemen bei 5V berichtet haben. Man sollte den Sensor also scheinbar sowieso höher bestromen als 5V. Da ich 24V als Hauptspannungsquelle habe, nehme ich auch gleich die vollen 24V. Und ich habe auch gleich vorgesehen, den Sensor nicht im Dauerbetrieb laufen zu lassen. Ich schalte den Sensor also nur bei Bedarf ein. Die verwendeten Bauteile sind eigentlich überdimensioniert, aber dafür wenige, billig und bei mir eben zigfach vorhanden. Mit dem Optokoppler umgehe ich das Problem der getrennten Massen, da ich über NPN ja eine eigene Masse bekomme, die mir ein sauberes Ausgangssignal (dann über einen Spannungsteiler) am Mikrocontroller erschweren würde. Ich weiß, das getrennte Massenproblem bekommt man auch ohne Optokoppler gelöst, aber dann müsste ich weit mehr Teile verwenden und später einlöten. Das alles läuft bei mir jetzt schon seit ein paar Wochen. Ich habe mir daher eine Platine in CH anfertigen lassen. Die kann man - wie man auf dem Bild erkennt - auch direkt an ein Breadboard betreiben. Ist aber bei mir für eine Art Modulbaukasten für meine ESP32 Platine gedacht, bei der ich bis zu 15 Module anschließen kann. Das ist hier aber ein Doppelmodul, braucht also zwei Steckplätze. Daher der merkwürdige Aufbau. Die Schaltung ist ein hierarchischer Schaltplan in KiCad, daher wurden dort hierarchische Pins statt Spannungssymbole verwendet. Software: Bei mir wird der Sensor jede Stunde zwischen 8-20 Uhr einmal angeschaltet. Danach gebe ich den Sensor ca. 1 Sekunde Zeit zum Einschwingen, bevor ich den Ausgang des Optokopplers prüfe. Ist dieser durchgeschaltet, ist nichts zu tun und ich schalte den Sensor wieder aus. Ist das Signal nicht an, schalte ich erst mal für 3 Sekunden die Pumpe an (um kurze Pulse zu vermeiden), bevor ich dann in einer Schleife abfrage, ob der Wasserstand immer noch zu niedrig ist. Das mache ich max. 7 Sekunden lang bevor ich die Pumpe und dann den Sensor wieder abschalte, um ein Überlaufen bei einem Sensordefekt zu vermeiden. Erkennt der Sensor schon vor Ablauf der 7 Sekunden, dass wieder genügend Wasser vorhanden ist, schalte ich früher ab (unterbreche also die Schleife). Ich habe anhand der Fördermenge berechnet, dass selbst nach 24h nicht mein 120 Liter Aquarium überläuft. Die Zeiten hängen aber natürlich von der Förderleistung der Pumpe ab und müssen individuell an die Gegebenheiten angepasst werden. Bei mir haben bisher die 3 Sekunden immer ausgereicht, um den Sensor wieder einzuschalten. Hängt aber eben wie gesagt von der Größe (=Verdunstungsmenge) des Aquariums und der Förderleistung der Pumpe ab. Über Pushover (eine App fürs Handy) schicke ich mir dann Alarmsignale auf mein Handy, wenn entweder die vollen 7 Sekunden lang gepumpt wurde („Sensor kontrollieren!“) oder der Nachfüllbehälter alle ist („Wasser nachfüllen!“).
Andreas J. schrieb: > Wobei ich hier gleich mal anmerken muss, dass User von > Detektionsproblemen bei 5V berichtet haben. Man sollte den Sensor also > scheinbar sowieso höher bestromen als 5V. Die Angabe "5V" ist eine Spannung. Der Strom wird durch den Widerstand R2 bestimmt. Ein Widerstand von 390Ω bei 5V lässt etwas den gleichen Strom fließen, wie der 2.4kΩ Widerstand bei 24V.
Hallo, kann mir einer erklären, wie das Prinzip der kapazitiven Erkennung mittels Optokopler funktioniert... Ich steige da nicht wirklich hinter... Thx.
Robert R. schrieb: > Hallo, > kann mir einer erklären, wie das Prinzip der kapazitiven Erkennung > mittels Optokopler funktioniert... Ich steige da nicht wirklich > hinter... Thx. Der Optokoppler hat nichts mit der kapazitiven Erkennung zu tun. Er dient nur dazu, das 24V Ausgangssignal des Sensors auf die 3.3V für einen Mikrocontroller zu bringen. Wie der Sensor selbst funktioniert ist ja im Netz leicht zu finden. Nach einem halben Jahr Dauereinsatz (wobei ich den Sensor ja nur für ein paar Sekunden pro Tag über eine Automatisierung in Home Assistant einschalte) kann ich den Sensor weiterhin empfehlen. Funktioniert noch immer einwandfrei und zuverlässig.
Warum nicht hier kopieren? https://tutorials-raspberrypi.de/raspberry-pi-giessomat-kapazitiver-erdfeuchtigkeitssensor/
Ramirez schrieb: > Warum nicht hier kopieren? > https://tutorials-raspberrypi.de/raspberry-pi-giessomat-kapazitiver-erdfeuchtigkeitssensor/ Dieser Sensor liefert einen Analogwert über die umgebene Feuchtigkeit in einem relativ großen Bereich in unmittelbarer Nähe. Der XKC-Y26-PNP dagegen liefert ein binäres Signal, ob Wasser in einen sehr kleinen Bereich, dafür aber in bis zu 2 cm Entfernung vorhanden ist oder eben nicht. Letzter ist deutlich kleiner und wird für den quasi millimetergenauen Füllstand außerhalb eines Behälter verwendet. Gleiche Technik, aber unterschiedliche Einsatzzwecke.
Andreas J. schrieb: > Dieser Sensor liefert einen Analogwert So ein Blödsinn! Hast nicht mal gelesen oder kapiert, wie der funktioniert und gleich das Rad neu und schlechter erfunden. Hier werden die verschiedenen Sensortechnologien aufgezählt: https://www.google.com/url?sa=t&source=web&rct=j&url=https://wwwvs.cs.hs-rm.de/vs-wiki/images/e/e7/SmartPlant_Praesentation.pdf
Andreas J. schrieb: > don't feed the troll... Stimmt: https://opus.hs-offenburg.de/files/2804/Bachelorthesis_SebastianMoehringer.pdf Ist eine Bachelorthesis über kapazitive Sensoren. Ich weiss nicht, ob es für dich schon etwas ist.
Ramirez schrieb: > Ist eine Bachelorthesis über kapazitive Sensoren. Die Frage ist: was willst Du uns damit sagen? Meine Schaltung da oben ist nicht meine "Erfindung", sondern eine 08/15 - Schaltung, um einen speziellen Füllstandssensor per Mosfet anzuschalten und über einen Optokoppler das Signal auf 3.3V für einen Mikrocontroller zu bringen. Warum ich das mache, steht ganz oben. Der Sensor ist logischerweise auch nicht von mir, sondern ein relativ preisgünstiger Sensor aus CH, um einen Wasserstand durch eine dicke Wand hindurch - also von außen - zu messen. Den gibt's z.B. hier: https://www.amazon.de/gp/product/B07R12DGHJ/ref=ox_sc_act_title_1?smid=A1Q58M7T3108LZ&psc=1 Ja, es gibt viele Wege, einen Füllstand zu messen. Nur von außen durch eine undurchsichtige Wand hindurch, da wird die Auswahl deutlich geringer. Man kann wahrscheinlich auch einen Bodenfeuchtesensor außen an das Aquarium klatschen. Vielleicht ist das Teil empfindlich genug, keine Ahnung. Ist aber auch völlig irrelevant, da ich mich für einen anderen Sensor entschieden habe. Also was daran ist Blödsinn? Und hilfreich wäre ohne Beleidigungen und wenn schon Kritik, dann mit einer Erklärung, WAS Du eigentlich kritisierst.
Ganz einfach: Bastel dir so einen Sensor selbst! Die Pegelanpassung und das ein/ausschalten verrät mir, dass du nicht jeden Tag mit Elektronik zu tun hast. Wo ist dein Schaltplan, für deine Ein/Ausschalter? Alle Informationen die du da veröffentlicht hast, sind nur Fetzen und nicht konsistent. Lass die Ein/Ausschalterei und es reicht 1 Serienwiderstand für die Pegelanpassung. Den Rest machen die Rail Dioden. So wird das auch in der Praxis erledigt.
Ramirez schrieb: > Ganz einfach: > Bastel dir so einen Sensor selbst! Ah, na das ist ja schon mal deutlich konkreter. Na klar könnte man so einen Sensor auch selber basteln aber das war nicht mein Ziel. Da lohnt sich der Aufwand für mich nicht. > Die Pegelanpassung und das ein/ausschalten verrät mir, dass du nicht > jeden Tag mit Elektronik zu tun hast. Definitiv. > Wo ist dein Schaltplan, für deine Ein/Ausschalter? Steht da, ich schalte den Sensor über einen Mikrocontroller an. Ich regle nur einmal am Tag den Wasserstand für ein paar Sekunden. Da Strom zu sparen war für mich Pflicht (mal abgesehen davon, dass ich auch den Einfluss der EM-Strahlung nicht einschätzen kann). > Alle Informationen die du da veröffentlicht hast, sind nur Fetzen und > nicht konsistent. Das ist mir wieder zu wenig konkret. Konsistent in Bezug auf was? Das ist hier nur EINE mögliche Lösung, wie man diesen Sensor an einen Mikrocontroller anbinden kann. Mein Anspruch war nicht, die einfachste Minimalstbeschaltung aufzuzeigen. > Lass die Ein/Ausschalterei und es reicht 1 Serienwiderstand für die > Pegelanpassung. > Den Rest machen die Rail Dioden. > So wird das auch in der Praxis erledigt. Die Ein/Ausschalterei war für mich wie gesagt Pflicht. Bei dem Serienwiderstand und den Raildioden hast Du mich abgehängt. Zu dem Sensor gibt es keinen Schaltplan (zumindest konnte ich keinen finden). Ohne das Mosfet hätte ich einen Spannungsteiler genommen (der aber auch wieder viel Strom verbraucht hätte (24V->3.3V)), aber das ging dann eh nicht wegen der getrennten Massen. Und ja, das Problem der getrennten Massen kann man auch anders lösen, das habe ich gefunden. Aber der Optokoppler ist da für mich simpler und bringt zusätzlich auch noch einen Schutz mit. Also ich gebe Dir zu 100% Recht, dass man das bestimmt besser und simpler machen kann. Bei dieser Lösung sind es aber auch nur 5 billige Bauteile, die glaube ich fast jeder in seinem Fundus hat. Die Schaltung hier ist einfach zu verstehen, verbraucht extrem wenig Strom, und selbst wenn der Sensor aus CH komplett ausfällt, pumpe ich nur für ein paar Sekunden unnötig Wasser in das Aquarium und das führt auch nach wochenlangem Urlaub nicht dazu, dass mein Aquarium überlaufen kann...
Warum verbindest du die Massen nicht miteinander? Danach vom Sensorausgang direkt über einen 10k Serienwiderstand auf den Eingang des Mikrocontrollers. Habe jetzt leider nichts zum zeichnen da (31 Tage Urlaub in Istrien).
Ramirez schrieb: > Warum verbindest du die Massen nicht miteinander? Weil ich den Sensor über einen NPN Mosfet einschalte. Mit PNP hätte ich das Problem nicht, nur bräuchte ich dann wieder mehr Bauteile. > Danach vom Sensorausgang direkt über einen 10k Serienwiderstand auf den > Eingang des Mikrocontrollers. Also Du kannst ja gerne eine Challenge starten mit möglichst wenigen Bauteilen den Sensor anzusteuern. ;-) Aber ohne Spannungsteiler direkt die 24V an den Mikrocontroller, da bin ich raus. Ich weiß, hier haben das auch schon einige gemacht und wenn man den Strom möglichst klein macht, scheinen das einige Mikrocontroller (außerhalb der Spec) auch mitzumachen. Aber das wäre definitiv nicht mein Weg. Und ich habe auch noch andere Sensoren an den anderen Pins dran. Die würden da mWn. alle mit reinspielen. Also da spendiere ich dann doch lieber einen Widerstand mehr und hab Ruhe. Aber wie gesagt, bei Schalten über NPN gehen diese beide Wege sowieso nicht.
Warum ausserhalb der Specs? Der maximale Strom der Raildioden darf nicht überschritten werden. Einfach den Widerstand so dimensionieren, dass der Spannungsabfall hoch genug ist. Warum schaltest du nicht einfach mit einem NPN die Versorgung des Sensors weg? So wird das bei jedem KFZ auch gelöst, wenn es was zum schalten gibt. Einfach hinten bis vorn schlecht durchdacht. Also kein feriges Projekt oder Code.
Ramirez schrieb: > Der maximale Strom der Raildioden darf nicht überschritten werden. > Einfach den Widerstand so dimensionieren, dass der Spannungsabfall hoch > genug ist. Also Ziel meines kleinen Mini-Projektes war eine universelle Lösung für die Anbindung dieses (oder eines ähnlichen) Sensors für ALLE Mikrocontroller. > Warum ausserhalb der Specs? Die Datenblätter aller mir bekannten Mikrocontroller schreiben bei den Inputpins ganz klar und eindeutig: max. x mA und max. y V. In meinem Beispiel 20mA und 3.3V. Manche sind 5V tolerant. Aber nirgends steht da 24V tolerant! Trotzdem vermute ich mal ganz stark, dass die Inputpins sich trotzdem vor Überspannung schützen, daher behaupte ich NICHT, dass "Deine" Lösung nicht funktioniert, sondern nur, dass das außerhalb der Spec ist. UND individuell vom gewählten Mikrocontroller abhängig also NICHT universell ist. > PS: Leg dir die Basics zu: > https://www.sprut.de/electronic/pic/grund/ioports.htm#inbeispiel Außerdem fehlt mir in diesem min. 11 Jahre altem Dokument die Erwähnung eines Spannungsteilers als Beschaltungsvariante, was mich etwas stutzig macht, denn diese Lösung ist imho die am meisten verbreitete Lösung für dieses Problem. Denn sie funktioniert völlig unabhängig vom Mikrocontroller, man muss nur den Spannungsteiler auf den Spannungsbereich des Mikrocontrollers abstimmen (hier also dann 3.3V). > Warum schaltest du nicht einfach mit einem NPN die Versorgung des > Sensors weg? Aber genau das tue ich doch. Siehe Schaltung. Aber falls Dir (oder andere) das nicht klar sein sollte: die Massen (Sensor + Mikrocontroller) kann man dann logischerweise nicht verbinden, da man damit ja den NPN kurzschließen würde. Den Ausgang des Sensors über einen Widerstand direkt oder über einen Spannungsteiler an den Eingangspin des Mikrocontrollers anzuschließen, geht auch nicht, da Du über den Eingangspin vom Mikrocontroller ein Massepotential in den Ausgangspin des Sensors einschleust (egal ob bei Pullup- oder Pulldown-Betrieb). Je nach Art und Weise, wie der Ausgangspin im Sensor intern beschaltet ist, kann das zu Problemen führen. Btw. der Sensor arbeitet auch schon bei 5V. Und ich meine auch gelesen zu haben, dass genau das bei diesem Sensor nicht funktioniert und mich daher über mögliche Lösungsansätze bei getrennten Massen informiert. Und genau EINE mögliche Lösung hier umgesetzt. > Einfach hinten bis vorn schlecht durchdacht. > Also kein feriges Projekt oder Code. Beide Aussagen sind imho falsch. Diese Lösung funktioniert seit Monaten absolut zuverlässig und ich behaupte auch mal, dass sie eine absolut valide und universelle Lösung ist, die zudem auch mit wenigen günstigen Bauteilen auskommt. Und nochmal, das ist nicht MEINE Lösung, sondern eine 08/15 Standardlösung. Aber es gibt ganz bestimmt auch andere Lösungen, die Du oder andere besser, eleganter oder was auch immer fänden. Falls Du (oder jemand anders) das beweisen mag, freue ich mich über einen neuen Thread mit einer anderen Lösung. Dafür sind solche Foren ja da. ;-) Daher meine Bitte an den Mod, diesen Thread zu schließen (zu viel Off-Topic). PN ist bei Fragen/Kritik/Anmerkungen ja trotzdem immer möglich. /CLOSED
Ich finde dein "Masseproblem" nicht. Zum Rs: An jedem Widerstand, welcher von einem Strom durchflossen wird, fällt eine Spannung ab. Wenn der Mikrocontroller mit 3.3V versorgt wird, müssen 20V am Widerstand abfallen. Wo sind die 0.7V hin? Genau. Die fallen an den Raildioden ab. (Umbedingt mit den "Specs" abgleichen!!!) Kirchhofsche Regel erfüllt. Wie berechne ich nun Rs? Kommt auf den maximalen Strom der Raildioden an. Bei 20mA würde ich 10mA vorschlagen. 20V / 10mA = 2k Kapiert? Ein Spannungsteiler ist eine schlechte Option, da du den internen Pullup nicht mehr verwenden kannst. Du bildest damit einen PullDown. Es ist schön, dass du den Strom neu erfinden willst, aber der Serienwiderstand bleibt nun mal StateOfTheArt. So wird das täglich aber Millionen mal designt.
Hast du das auf wertvolles Klopapier gemalt? Und warum ist das Bild um 90° verdreht?
Das sind hier in Kroatien die Tischunterlagen. Bin, wie du bereits weiter oben gelesen hast, auf Urlaub und habe eben keinen Schreibwarenladen um die Ecke parat. Btw: Das sind Blubberblasen, Delphine, ... und ein Serienwiderstand.
Wir können das ja einfach so zusammenfassen: Der Einsatz eines Optokopplers funktioniert mit jedem Sensor (mit einem 24V Ausgangssignal, ansonsten müsste man R2 anpassen) und mit jedem Mikrocontroller. Und bietet zusätzlichen Schutz vor Überspannungen. Ich kann meine Platine dort oben also jederzeit an einen anderen Mikrocontroller anschließen. Dein Vorschlag ist: man kann auf den Optokoppler verzichten und stattdessen über R direkt das Ausgangssignal an den Inputpin des Mikrocontrollers anschließen. Nachteile sind: - Man muss R berechnen, und braucht dafür Wissen über den jeweiligen Mikrocontroller (also welche Spannung fällt bei den Raildioden ab - das wird nicht im Datenblatt stehen - dann max U und max I, die stehen immer drin) - Es darf kein Massepotential über Input nach Output wirken (wenn man über NPN abschaltet) - Es gibt keinen zusätzlichen Schutz vor Überspannung (also nur der eingebaute vom Mikrocontroller) - wechselt man den Mikrocontroller muss R erneut berechnet werden. Jetzt kann also jeder selbst entscheiden, welche Variante für den jeweiligen Anwendungsfall besser geeignet ist. Das war zwar nicht Thema dieses Threads, aber dann haben wir das auch geklärt. ;-)
Oder man nimmt 10k und es wird jeder Mikrocontroller seit den 80ern funktionieren. Die ESD Dioden sind schon ewig bei den Mikrocontrollern vorhanden. Da muss man aktiv suchen, welche keine verwenden. Rate mal, warum ich mit 10mA dimensioniert habe. (Überspannung?) Anbei eine 'Spec' eines nicht allzu kleinen Herstellers. Du hast dir schlichtweg ein Problem erfunden.
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.