Hallo zusammen, ich muss den Flüssigkeitsstand in einem Behälter mittels eines kapazitiven Sensors (zwei nahe beieinander liegende Kupferflächen) messen. Leider sind der Sensor und die Kabel nicht abänderbar. Da ich mit den Pins sparsam sein muss, dachte ich als Messmethode an die QTouch-Methode von Atmel, welche nur einen Pin braucht. Was ich den QTouch Dokumenten und Beispielen entnehme, unterscheiden sich die Kapazität des Sensors und des Sample/Hold-Kondensators dort nur um den Faktor 10 und man kann aus einer Messung den Ladungstransfer hinreichend genau ablesen. In meinem Fall ist es aber mehr der Faktor 200. Gemessene Kapazitäten sind: - C_Leads = 165pF - C_Dry = 134pF - C_Wet = 1892pF In der Theorie kein Problem, Sensor auf VCC laden und einfach - dauernd ADC-Messungen machen, bis der ADC-Wert einen Schwellwert unterschreitet -> diskrete Füllstände - ODER - eine vorher festgelegte Anzahl ADC-Messungen machen und bei der letzten auswerten, auf welche Spannung der Sensor entladen ist -> kontinuierlicher Füllstand Eine Kombi aus beidem geht natürlich auch. Praktisch wird einem die Selbstentladung aufgrund Leckströme irgendwann ein Problem machen. Ich habe Leckströme noch nicht gemessen, gehe aber Stand jetzt mal davon aus, dass sie sich im Rahmen halten und relativ konstant bei wechselnden Umwelteinflüssen sind. Meine Frage daher: hat jemand mit einer derartigen Messmethode, bei welcher C_s/h <<< C_t, schon Erfahrungen gesammelt? Oder alternative Ideen?
Der D. schrieb: > Oder alternative Ideen? Bau einen RC-Oszillator mit dem kapazitiven Sensor als frequenzbestimmendem Teil und miss dessen Frequenz. Laut https://www.digikey.com/en/resources/conversion-calculators/conversion-calculator-555-timer (Astable) sollte das mit einem NE555 möglich sein. Bei R1 = 10 kΩ und R2 = 100 kΩ ergeben sich folgende Frequenzen
1 | C Frequ. |
2 | |
3 | 100 pF 68.6 kHz |
4 | 200 pF 32.3 kHz |
5 | 500 pF 13.7 kHz |
6 | 1 nF 6.9 kHz |
7 | 2 nF 3.4 kHz |
Das sind jetzt willkürlich zusammengeklickte Werte, das lässt sich sicherlich optimieren.
Der D. schrieb: > In der Theorie kein Problem Schau dir die Theorie hinter "QTouch" an, der ADC hat da nix verloren. z.B. Beitrag "qtouch - sekt oder selters"
:
Bearbeitet durch User
Harald K. schrieb: > Bau einen RC-Oszillator mit dem kapazitiven Sensor als > frequenzbestimmendem Teil und miss dessen Frequenz. Ein Schwingkreis war auch schon meine Idee, aber ich wollte nicht unbedingt mehr Chips dafür drauf bauen. Εrnst B. schrieb: > Schau dir die Theorie hinter "QTouch" an, der ADC hat da nix verloren. Da habe ich wohl zwei Sachen vermischt. Ich bezog mich auf das hier https://ww1.microchip.com/downloads/en/Appnotes/doc8497.pdf QTouch*ADC*. Das "klassische" QTouch verlässt sich auf die Langzeitstabilität der V_IH des Pins. Da die Hersteller hier nur Bereiche angeben und nicht über Stabilität sagen, ist mir der S/H Kondensator als "Referenz" dann doch lieber. Außerdem braucht es 2 Pins.
Der D. schrieb: > Praktisch wird einem die Selbstentladung aufgrund Leckströme irgendwann > ein Problem machen. Die Messungen sind kurz genug, das sollte kein Problem sein. Du brauchst nichtmal messen, sondern immer nur dem MUX zwischen GND und Eingang umschalten und etwas warten. Z.B. 100 mal und dann die Messung machen.
Oder: https://www.ramser-elektro.at/der-gies-o-shield-fuer-den-arduino/#Sensoren Danach einfach die Impulse zählen.
Peter D. schrieb: > Du brauchst nichtmal messen, sondern immer nur dem MUX zwischen GND und > Eingang umschalten und etwas warten. Das bringt mich auf eine Idee: Kann man bei dem ATtiny 202 einen Pin gleichzeitig als ADC-Pin und AC-Pin schalten? Ich habe das Datenblatt durchsucht und nichts gefunden, was dagegen spricht. Aber da das kein Sandart-Fall ist, würde es mich nicht wundern, wenn das nicht beschrieben ist. Die Idee ist, dass man den Spannungspegel am Pin per AC überwacht und den Sensor sukzessiv über den S/H-Kondensator, wie von Peter beschrieben, entlädt... Peter D. schrieb: > Die Messungen sind kurz genug, das sollte kein Problem sein. Ich habe gerade mal den Leckstrom bei 10V gemessen: 1,25µA. Unter der Annahme, dass der linear mit der Spannung abnimmt, gibt das ein τ_dry von 1,6mS. Viel Zeit, da realistisch was zu messen, ohne die Ergebnisse vom vermutlich schwankenden Leckstrom versaut zu bekommen, bleibt da nicht. Evtl. muss ich doch auf die alte QTouch-Methode umsteigen, mit größerem Kondensator, aber den AC zur Pegelmessung nehmen und nicht den V_IH.
:
Bearbeitet durch User
In Beitrag "Re: Was ist bzw. war Atmel QTouch?" hatte ich mit folgender Methode experimentiert: Ausgangslage: Port auf Ausgang, alle Bits Null. Messung startet: Port auf Eingang, interner Pullup aktiviert. Nach einer von dir bestimmten Zeit (die bestimmt den Kapazitätsschwellwert) Port einlesen. Danach wieder Ausgangslage, siehe oben. Die Bits, die Null gelesen wurden, hatten die Kapazität überschritten.
Der D. schrieb: > Ich habe gerade mal den Leckstrom bei 10V gemessen: 1,25µA. Das sind ja nur 8MΩ, da ist die Isolation schon ziemlich schlecht. Bei 250kHz ADC-Takt beträgt die S&H-Zeit 6µs, das könnte noch klappen, aber nicht mehr für 100 Umladungen.
Ingo W. schrieb: > mit folgender Methode experimentiert ... Ich auch mal. Den Ablauf hatte ich mal zusammengetragen, siehe Anhang. Die Methode in der grünen Spalte scheint mir die bessere zu sein, weil es evtl. Störungen über die Elektrode verhindert. Man muss die Schleifendurchläufe zählen, die ein Maß für die Kapazität am Touchbutton ist.
:
Bearbeitet durch User
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.