QTouch mit "großer" Kapazität

OP #7460126
Lesenswert?

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?

#7460145
Lesenswert?

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.

OP #7460203
Lesenswert?

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 QTouchADC.

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.

OP #7460551
Lesenswert?

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.

Persönliche Seite #7460574
Lesenswert?

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.

#7460915
Lesenswert?

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.

Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren