Kapazitiver Feuchtesensor P14

Gast #3748356
Lesenswert?
• ▲
▼
Ich arbeite mit einem kapazitiven Feuchtesensor P14.
Um die Feuchtigkeit zu messen benutze ich ein einfaches RC-Glied, mit 
dem P14 als Kondensator.
Ein PWM- Signal wird an das RC-Glied gelegt und die Spannung über dem 
P14 über einen Komperator mit Ref.-Spannung von 63%*Vdd (damit die Zeit 
gleich dem Tau des RC-Gliedes ist).
Ich messe die Zeit zwischen dem high vom PWM bis zum high des 
Komperators und bekomme somit Tau.

Über C=R/Tau bekomme ich die Kapazität des Sensors.
Nun zu eigendlichen Problem:
Die relative Feuchtigkeit messen.

ich habe diese Formel bekommen:
C= k * ( A0 + A1*rH + A2*rH^2 + A3*rH^3 + A4*rH^4 )

k,A0-A4 sind gegeben und C habe ich gemessen.
Nun, wie bekomme ich jetzt rH? Kann man den überhaubt ein Polynom 
4.Grades lösen? Vielleich irgendwie Nummerisch...

Ich weiß, dass es mehr Physik und Mathe ist als analoge Elektronik, aber 
ich bitte euch mir trozdem zu helfen.
Vielen Dank!

Datenblatt des Sensors:
http://www.ist-ag.com/eh/ist-ag/resource.nsf/imgref/Download_DHP14-W_D2.2.compressed.pdf/$FILE/DHP14-W_D2.2.compressed.pdf
Gast #3748372
Lesenswert?
• ▲
▼
SamY schrieb:
> Nun, wie bekomme ich jetzt rH?

Durch Vergleich. C hast du, nun setzt du in die Gleichung einfach einen 
sinnvollen rH-Startwert ein, berechnest C und vergleichst mit dem 
gemessenen C, dann rH in der Gleichung sinnvoll ändern usw., bei 
Übereinstimmung mit gewünschter Genauigkeit abbrechen, voila.
Gast #3748380
Lesenswert?
• ▲
▼
@ArnoR
Ich messe alle 100us die Kapazität, jetzt noch eine Schleife einzubauen 
die bis zu 1000 - 10000 (Genauigkeit von 0,1-0,01 rH ) Werte durchkemmt 
wäre mit den ganzen anderen Funktionen die der uC machen muss, zu viel.

Aber ich behalte dies als Plan B. Danke!
Gast #3748385
Lesenswert?
• ▲
▼
SamY schrieb:
> die bis zu 1000 - 10000 (Genauigkeit von 0,1-0,01 rH ) Werte durchkemmt

Die Feuchtigkeit wird sich von Messung zu Messung nicht stark ändern, so 
dass nicht viele Rechnungen nötig sind, wenn man als Startwert den 
Abbruchwert der vorigen Rechnung nimmt.
#3748395
Lesenswert?
• ▲
▼
http://www.wolframalpha.com/input/?i=solve+C%3D+k+*+%28+A_0+%2B+A_1+*+r+%2B+A_2+*+r^2+%2B+A_3+*+r^3+%2B+A_4++*+r^4+%29+for+r

Liefert ein Ergebnisse...

Einfachste Variante wäre aber C für 100 (1% rH) oder 1000 (1/10 % rH) 
rHs auszurechnen und den gemessenen Wert nachschlagen.
Andere Möglichkeit in Abhängigkeit der Konstanten A_n und der 
gewünschten Genauigkeit einfach (der Graph C / rH sieht ziemlich linear 
aus) einige Terme wegzulassen.
Gast #3748403
Lesenswert?
• ▲
▼
@ArnoR
Du hast schon Recht.
Doch der Sensor soll in einem Klimaschrank zum Testen benutzt werden und 
man erwartet von mir eine weniger riskante und "schönere" Lösung.

Und ich benutze ach noch den Mittelwert von mehreren Zeiten bevor ich es 
in Kapazität und relative Luftfeuchtigkeit umrechne.
Gast #3748414
Lesenswert?
• ▲
▼
@Arc Net

Ein Ergebnis ist es XD.
Eine Tagesarbeit es nur in den Code zu schreiben.
Ich überleg mir aber wirklich es dann vielleicht ungf. so zu machen.

Das mit den weglassen muss ich nachprüfen. Wäre natürlich sehr 
hilfreich.

Das mit der Tabelle ist eine Möglichkeit, die ich aber aus den selben 
Gründen wie bei ArnoR nach hinten schieben muss.
Danke
Gast #3748489
Lesenswert?
• ▲
▼
Hallo,

wesentlich effizienter als einfaches Ausprobieren ist die 
Newton-Raphson-Methode. Du beginnst mit einem Startwert und näherst dich 
iterativ der gesuchten Lösung entlang des Gradienten der Funktion. Geht 
bei Polynomen in der Regel sehr gut und dürfte bereits nach wenigen 
Schritten konvergieren.
Ob sich die Methode allerdings hinreichend effizient auf einem uC 
implementieren lässt kann ich leider nicht beantworten.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.