Moin moin, seit einiger Zeit arbeite ich an einer Platine zur Auslesung verschiedener Sensoren. Zweck ist es ein Hydroponiksystem (Pflanzen wachsen in Nährlösung) zu überwachen. Hierfür ist insbesondere die Leitfähigkeit der Nährlösung bzw. des Wassers zu bestimmen, der sogenannte eC- oder Tds-wert. Bisher hat die Messung eben dieses Wertes super mit dem Breakoutboard von DFRobot geklappt. Es beinhaltet einen CD4060 und einen 4er OP-amp, sowie diverse Kleinteile, welche die Probe (eigentlich bloß zwei Drähte mit bekanntem Abstand) mit einer Sinusförmigen Spannung versorgen. Soweit ich es verstanden habe, wird über die Stromstärke berechnet welcher Widerstand zwischen den Drähten herrscht. Die Sinuswelle ist nötig, um die Korrosion an den Elektroden im Schach zu halten. Hier ein Link zum Breakoutboard und dem Schaltbild: https://wiki.dfrobot.com/Gravity__Analog_TDS_Sensor___Meter_For_Arduino_SKU__SEN0244 https://raw.githubusercontent.com/Arduinolibrary/Gravity_Analog_TDS_Sensor_For_Arduino/master/Analog%20TDS%20Sensor(V1.0)%20Schematic.pdf Das Board gibt an seinem Ausgang eine Spannung von 0-2.3V aus und spiegelt dabei mehr oder weniger linear den Tds-Wert von 0-1000 ppm (parts per milliopn) wieder. Nun habe ich versucht das Schaltbild von DFRobot in mein eigenes Platinendesign zu integrieren und somit die restliche Sensorik zu ergänzen. Obwohl ich mich besten Gewissens an das Schaltbild gehalten habe kommt es z folgendem Fehlverhalten: Meine Platine spuckt bei minimaler Leitfähigkeit (Probe in der Luft) die eine Spannung von 2.5v aus und reagiert auch nicht auf Änderungen. So schrecklich kompliziert sollte die Schaltung für jemanden mit ein bisschen mehr Erfahrung nicht sein. Kann da mal jemand rübergucken? Den Widerstand R7 habe ich bereits abgelötet und durch einen 10K widerstand ersetzt - ohne Erfolg. Kann es sein, das der CD4060 dadurch schon kaputtgegangen ist? Die Platine ist mit EasyEDA designed und ich kann gerne die JSON files teilen. Vielen Dank für eure Zeit, Felix
Einen 4060 bekommt man nicht so schnell kaputt. Ein Sinus kommt da aber nicht raus, sondern ein Rechteck (das geht aber auch). Die Ausgabe Null ist richtig, da Du einen unendlichen Widerstand (= Leitfähigkeit Null) am "Sensor" hast. Schalte mal verschiedene Widerstände von 1 MOhm abwärts bis 1 kOhm anstelle des Sensors. Ein Scope ist hilfreich bei der Fehlersuche. Eine ppm-Angabe ist Unfug, da die Leitfähigkeit eines Ionengemischs angezeigt wird, da kann man keine ppm guten Gewissens angeben. H+ oder OH- Ionen haben den größten Effekt.
Geht so, ist aber viel zu aufwendig gelöst. 1 RtR OPV, 2 Kondensatoren, drei Widerstände einen ADC und einen Treiberpin. Fertig.
Felix W. schrieb: > Meine Platine spuckt bei minimaler Leitfähigkeit (Probe in der Luft) die > eine Spannung von 2.5v aus Da geht wohl ein Gleichrichter-OpAmp an den positiven Anschlag. Pins vertauscht ? 1M nicht an GND sondern -3V ? So doll sind die -3V aus einem LTC1044 auch nicht. Insgesamt ist die Schaltung steinzeitlich. Wen man schon einen uC verwendet mit Analogeingang, nutzt man den auch als Takterzeuger und Synchrongleichrichter. Zur Leitwertmessung benötigt man gleichspannungfreie Wechselspannung. Die kann ein uC heute einfacher liefern als alte Analogelektronik, und auch gleich noch den Messbereich umschalten: An PA0 liegt eine exakt 50% PWM, und an EINEM der PA3, PA4, PA5 oder PA6, die anderen sind Eingänge.
1 | ----+ Probe |
2 | PA0|---o o--+ |
3 | | | |
4 | PA1|---<|---+ Buffer-OpAmp falls A/D-Eingang niederohmige Quelle haben will |
5 | | | |
6 | PA2|-+ | |
7 | | | | |
8 | PA3|-+-10R--+ |
9 | uC | | |
10 | PA4|---1k---+ |
11 | | | |
12 | PA5|--100k--+ |
13 | | | |
14 | PA6|--10M---+ |
15 | ----+ |
Beitrag #6827857 wurde vom Autor gelöscht.
Guten Abend, vorerst vielen Dank für die schnellen Antworten! Werner H. schrieb: > Schalte mal verschiedene > Widerstände von 1 MOhm abwärts bis 1 kOhm anstelle des Sensors. Ein > Scope ist hilfreich bei der Fehlersuche. Wird heute Abend gemacht! Roland E. schrieb: > Geht so, ist aber viel zu aufwendig gelöst. > 1 RtR OPV, 2 Kondensatoren, drei Widerstände einen ADC und einen > Treiberpin. > Fertig. Also einen externen ADC oder kann ich gleich den ausm ESP32 nehmen? Wie wird das ganze denn geschaltet? Bräuchte ich nicht einen Pin am ESP der ein PWM-Signal erzeugt und einen weiteren der es wieder empfängt nachdem es durch die Probe gegangen ist und vom OP-Amp verstärkt wurde? Alles in allem würde ich die Komplexität des Projektes natürlich gerne reduzieren, aber habe die PCBs jetzt schon bestückt hier liegen und möchte auch unbedingt meinen Fehler finden. MaWin schrieb: > Da geht wohl ein Gleichrichter-OpAmp an den positiven Anschlag. Pins > vertauscht ? > > 1M nicht an GND sondern -3V ? Ich habe mich da völlig auf das Schaltbild von DFRobot verlassen. Da ist 1M an GND, aber werde das später mal durchritzen und auf -3V legen. Die Platinen habe ich hier in DE bestücken lassen und bin zuversichtlich, dass da alles stimmt. Im Anhang ein PDF meines Platinenlayouts. verbaut ist ein LMV324DR2G von ON Semicon: https://www.mouser.de/datasheet/2/308/1/LMV321_D-2314806.pdf Siehe Pinbelegung auf Seite 2 (SOIC-16). Stimmt mit dem Footprint in EasyEDA überein. MaWin schrieb: > So doll sind die -3V aus einem LTC1044 auch nicht. In der Tat habe ich das auch schon festgestellt. Als ich die Spannungsversorgung von vorne bis hinten durchmessen wollte fiel mir auf, dass am Ausgang des Torex XC6421AB26ER-G voltage converters nicht die vorgesehenen 3V sondern nur 2.64V anliegen. Das ändert sich, sobald ich die Last abnehme. Ist der Arme Konverter vielleicht einfach überm Limit? Der LTC1044 spuckt auch keine -3V raus, sondern nur -1V. Habe den Torex mal abgetrennt und bin mit einem externen 3V Netzteil an den LTC1044 gegangen - auch nur -1.25V am Ausgang. Dabei bin ich mir auch hier sicher, das Teil richtig angeschlossen zu haben. Ich habe zum LTC1044 schon ein Ticket offen und warte auf Rückmeldung, will aber nicht glauben, dass eine Reihe kaputter Chips verantwortlich ist. MaWin schrieb: > Zur Leitwertmessung benötigt man gleichspannungfreie Wechselspannung. > Die kann ein uC heute einfacher liefern als alte Analogelektronik, und > auch gleich noch den Messbereich umschalten: An PA0 liegt eine exakt 50% > PWM, und an EINEM der PA3, PA4, PA5 oder PA6, die anderen sind > Eingänge.----+ Probe > PA0|---o o--+ > | | > PA1|---<|---+ Buffer-OpAmp falls A/D-Eingang niederohmige Quelle haben > will > | | > PA2|-+ | > | | | > PA3|-+-10R--+ > uC | | > PA4|---1k---+ > | | > PA5|--100k--+ > | | > PA6|--10M---+ > ----+ Das klingt sehr interessant, ich habe es aber leider nicht ganz durchschaut. Wie ich das verstehe würde der uC an PA0 50%PWM ausgeben, die durch die Probe mit unbekanntem Widerstand gehen, vom OP-Amp wieder verstärkt werden und dann an PA1 gemessen? PA3-6 sind dann jeweils unterschiedliche Messbereiche? Was ist mit PA2? Werde das auf jeden Fall weiter verfolgen, aber momentan möchte ich vor allem heraus finden was hier nicht stimmt. Nochmals vielen Dank für eure Zeit! Ich melde mich, wenn ich eure Vorschläge umgesetzt habe! Beste Grüße, Felix
Felix W. schrieb: >> 1M nicht an GND sondern -3V ? > > Ich habe mich da völlig auf das Schaltbild von DFRobot verlassen. Da ist > 1M an GND, Das ist ja auch richtig, die Vermutung war, dass du es falsch verdrahtet hast. Felix W. schrieb: > Der LTC1044 spuckt auch keine -3V raus, sondern nur -1V. Da ist dein Problem.
Schönes Wochenende zusammen, MaWin schrieb: > Felix W. schrieb: >> Der LTC1044 spuckt auch keine -3V raus, sondern nur -1V. > > Da ist dein Problem. Ich habe versucht den Fehler durch Messungen weiter einzugrenzen, allerdings habe ich noch nicht herausfinden können, was wirklich falsch ist. Im Anhang ist ein kleines .PNG um zu veranschaulichen, was ich wo gemessen habe. Der LTC1044A ist nach Vorbild im Datenblatt verschaltet (siehe Figure 6. Seite 8. - Negative voltage inverter). https://www.analog.com/media/en/technical-documentation/data-sheets/1044afa.pdf als Kondensatoren, welche im Datenblatt als nicht kritisch deklariert werden, habe ich mich für WE: 865090340002 von Würth elektronik entschieden: https://www.we-online.com/katalog/de/WCAP-ASLU?sq=865090340002&sp=https%3A%2F%2Fwww.we-online.com%2Fweb%2Fde%2Fwuerth_elektronik%2Fsearchpage.php%3Fsearch%3D865090340002#865090340002 Bei meiner ersten Messung habe ich die Platine im Originalzustand durchgemessen: Zwischen 1. und 4. liegen 2.64 statt der gewünschten 3.0V und zwischen 2. und 3. lediglich -1V. Für die zweite Messung habe ich an den grünen Markierungen die Leiterbahnen durchgetrennt um den LTC von der Versorgung und Last zu trennen. Anschließend habe ich an punkt 1. und 4. eine externe 3V Versorgung angelötet. Das Ergebnis: -0.88V zwischen 2. und 3. Als drittes habe ich dann noch den BOOST-Pin des LTC auf +3V gelegt. Ohne Veränderung. Hat da jemand eine Idee, woran es liegen könnte? Ist der LTC vielleicht durch irgendeine statische Entladung kaputt gegangen? Auf dem Mainboard habe ich mittlerweile einen ESD-Schutz, den sollte ich auf dem Sensorboard auch nachrüsten. Sind die Kondensatoren vielleicht zu "langsam"? Der Support von Analog Devices hat sich leider noch nicht gemeldet, aber ich hoffe auf ein paar schlaue Ideen von euch! Werner H. schrieb: > Schalte mal verschiedene > Widerstände von 1 MOhm abwärts bis 1 kOhm anstelle des Sensors. Ein > Scope ist hilfreich bei der Fehlersuche. Ein Scope habe ich leider nicht, aber ich mein Multimeter spuckt folgende werte aus: Original DFRobot Platine: 1MOhm: 0V am Ausgangspin 470KOhm: 0V am Ausgangspin 220KOhm: 0V am Ausgangspin 100KOhm: 0V am Ausgangspin 47KOhm: 0.01V am Ausgangspin (Yay!) 22KOhm: 0.04V am Ausgangspin 4.7KOhm: 0.23V am Ausgangspin 2.2KOhm: 0.49V am Ausgangspin 1KOhm: 1.1V am Ausgangspin 470Ohm: 2.3V am Ausgangspin Es sieht also so aus als würde sich der Messbereich zwischen 22KOhm und 470 Ohm abspielen. Die eigene Platine spuckt folgendes aus: 1MOhm: 2.41V am Ausgangspin 470KOhm: 2.38V am Ausgangspin 220KOhm: 2.39 am Ausgangspin 100KOhm: 2.40V am Ausgangspin 47KOhm: 2.38V am Ausgangspin 22KOhm: 2.38V am Ausgangspin 4.7KOhm: 2.39V am Ausgangspin 2.2KOhm: 2.38V am Ausgangspin 1KOhm: 2.42V am Ausgangspin 470Ohm: 2.42V am Ausgangspin (nicht so yay..) Die Differenzen sind denke zu vernachlässigen. Ich bin planlos. Irgendwelche Ideen? Beste Grüße und ein schönes Wochenende, Felix
Ich würde nochmal den Teil der Schaltung nachlöten, hat bei mir schon den einen oder anderen Fehler gelöst. Auch wenn (leider) es kein Allheilmittel ist.
Felix W. schrieb: > Guten Abend, > > vorerst vielen Dank für die schnellen Antworten! > > Werner H. schrieb: >> Schalte mal verschiedene >> Widerstände von 1 MOhm abwärts bis 1 kOhm anstelle des Sensors. Ein >> Scope ist hilfreich bei der Fehlersuche. > > Wird heute Abend gemacht! > > Roland E. schrieb: >> Geht so, ist aber viel zu aufwendig gelöst. >> 1 RtR OPV, 2 Kondensatoren, drei Widerstände einen ADC und einen >> Treiberpin. >> Fertig. > > Also einen externen ADC oder kann ich gleich den ausm ESP32 nehmen? Wenn du es richtig machst, kannst du den ADC deines beliebigen MuC nehmen, wenn du es kompliziert machts, musst du differentiell messen. > Wie > wird das ganze denn geschaltet? Bräuchte ich nicht einen Pin am ESP der > ein PWM-Signal erzeugt und einen weiteren der es wieder empfängt nachdem > es durch die Probe gegangen ist und vom OP-Amp verstärkt wurde? Nein. Du brauchst nur ein Pin für die PWM, und ein ADC-Pin um das Ergebnis zu messen. Die Luxusvariante verwendet einen weiteren ADC, um die Qualität des Eingangspulses zu bewerten. Hinweis: Deine Messung wird sinnvollerweise potentialfrei umgesetzt (Dafür die Kondesatoren). Messungen in Flüssigkeiten mit Gleichstromanteil führen sonst zwangsläufig zu galvanischen Effekten im Medium bis hin zum Abtrag der Elektroden. Ich werde hier keine Schaltung skizzieren oder weitere Versuche kommentieren, um keinen Ärger mit Patentinhabern zu bekommen. Roland
Felix W. schrieb: > Was ist mit PA2? Der soll wohl PA3 unterstützen. Ob das bei 10Ω im Spannungsteiler ausreichend hilft, wage ich hier mal zu bezweifeln. Zumindest kommt man dabei nicht ohne Kalibrierung aus, weil die Ausgänge des µC nicht beliebig niederohmig sind.
Roland E. schrieb: > Ich werde hier keine Schaltung skizzieren oder weitere Versuche > kommentieren, um keinen Ärger mit Patentinhabern zu bekommen. LOL
Hallo leute, MaWin schrieb: > Roland E. schrieb: >> Ich werde hier keine Schaltung skizzieren oder weitere Versuche >> kommentieren, um keinen Ärger mit Patentinhabern zu bekommen. > > LOL Ich hätte nicht gedacht, dass eine Leitwertmessung so kompliziert und Patentwürdig ist. Wie wichtig ist denn die Potentialfreiheit, wenn man schon mit Wechselstrom arbeitet? Leider konnte ich den Fehler mit dem LTC1044A bis jetzt nicht lösen. Aber ich habe einiges zu den Alternativen gelesen und flott eine ganz simple Schaltung realisiert (Siehe Anhang). Bei einem 50% Dutycycle des PWM-Signals (DS) sollte an der Probe ein rechteckiger Wechselstrom fließen. Gemessen wird direkt mit dem ADC des ESP32-Wrover-IE (EC). Das Messergebnis scheint soweit zuverlässig und stabil zu sein. Dem Kribbeln nach auf meiner Zunge fließt aber auch ordentlich Strom. Ist das, in Anbetracht der Tatsache, dass der Sensor permanent im Wasser sein soll, nicht bedenklich? außerdem würde ja auch ohne anliegendes PWM-Signal ein Strom von min. 3.3V/440ohm = 7.5mA fließen, oder nicht? Nun habe ich die Idee gehabt einfach einen Mosfet vor bzw. hinter die Widerstände im Spannungsteiler zu schalten und diese nur anzusprechen, wenn auch ein PWM-Signal ausgegeben wird bzw. wenn gemessen wird (alle paar Sekunden oder so.) Unangesprochen wäre die Probe dann nur mit dem Trigger-pin (DS) und dem ADC pin (EC) verbunden und es sollten im Ruhezustand keine ströme fließen. Ist das Unfug? Wäre es hier evtl. Sinnvoll vor die Probe noch einen Kondensator zum Filtern von Gleichstromanteilen in Serie zu schalten? Wie würde ich den Dimensionieren? Sollte es mein Ziel sein den Blindwiderstand möglichst gering zu halten, sprich hohe Kapazität und Frequenz im PWM-Signal? Was das Thema Potentialfreiheit angeht stehe ich noch ein wenig auf dem Schlauch. Bräuchte ich dann nicht irgendeine DC/DC Quelle mit getrenntem GND-Level für die Messung? Vielen Dank und beste Grüße, Felix
Moin Leute, also ich habe herausgefunden, dass der LMV324 mit 6V nominaler Spannung überfordert ist. Ist ja auch nur bis 5,5 ausgelegt. Kurzer Hand mal den von der DFRobotplatine runter gelötet und auf meine eigene gepackt - Zack, schon liegen die richtigen spannungen an. Der LTC1044A spuckt seine gewohnten -3V aus und ich kann mittels Widerständen das gleiche verhalten nachmessen, wie mit der Originalplatine von DFRobot. Allerdings reagiert die Probe nicht auf wasser, egal wie salzig es auch seien mag. Jemand eine Idee?
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.