Hallo, einen schönen Sonntag-Abend.
Kurz zu meinem Vorhaben/Hintergrund. - Ich bin Gärtner und daher des öfteren mit Bewässerung beschäftigt. Hierfür habe ich schon länger nach einer Methode gesucht die Effektivität der Wassergaben für tiefere Bodenschichten zu Messen/Beurteilen (ab 5cm unter der Grasnarbe hilft da meist nur Graben).
Dabei bin ich auf den "Capacitive Soil Moisture Sensor v1.2" in Verbindung mit Arduino gestoßen.
Dieser Sensor ist grundsätzlich gut, für mein Vorhaben (Messung bis 1M Tiefe) aber nicht geeignet.
Darum möchte ich diesen Abwandeln bzw. Anpassen.
Als Messmethode sind m.M. nach die Analoge Messung wie beim "Capacitive Soil Moisture Sensor v1.2", oder die Messung der Frequenz eines X555 mit dem Sensor als Taktgeber(-kondensator) geeignet. Mein Favorit ist hierbei die Frequenzmessung.
Nun zum Thema.
Ich habe das Arduino-StarterKit und auf dem Steckbrett die Schaltung für den TLC555 aufgebaut.
Hier der Schaltplan - an den Connector J2 hängt entweder ein Kondensator oder mein Sensor (dieser ist zur Zeit nur Theorie). Die Wiederstandswerte sind derzeit Symbolisch (erst versuche mit KiCad^^).
Dies ist der Sensor den ich mir erdacht habe.
Platinenmaß ~ 1x1cm - Plattenfläche ~ 32mm^2 - mittlerer Abstand ~ 4mm
Kapazität ~ 0,07pF
Mein Problem besteht darin das sich die Taktfrequenz die der 555 ausgiebt (von mir) nicht berechnen lässt.
Daher kann ich auch R1 und R2 für den Sensor nicht bestimmen (ca. 1,9MHz an der Luft strebe ich an).
Datenblatt des TLC555 :
CLKout ist mit Port5 (Pin5?) vom ArduinoUno R3 verbunden und ich lasse
<FreqCount.h>
zur Auswertung mit dem Beispiel-Sketch laufen.
#include <FreqCount.h>
void setup() {
Serial.begin(9600);
FreqCount.begin(1000);
}
void loop() {
if (FreqCount.available()) {
unsigned long count = FreqCount.read();
Serial.println(count);
}
}
Das gibt auch recht stabile Ergebnisse (unter 1% schwankung), diese liegen aber weit unterhalb dessen was ich berechne. [Frequenz ~ 1,44 * ((R1 + 2*R2) * C)]
Beispiel :
R1 = 1KOhm R2 = 10KOhm
C1 = Freq.Erwartet Freq.Gemessen
100pF ~ 687KHz ~ 346KHz
470pf ~ 146KHz ~ 108KHz
Als Highlight Taktet der 555 ganz ohne C1 mit ca. 1,3 - 1,5 MHz
FreqCount scheint also durchaus im MHz-Bereich zu messen.
Sind solche Probleme z.B. auf das Steckbrett zurückzuführen, oder kann da Serial.println() etwas verbiegen? Oder ist einfach die Berechnung falsch?
Ich bin da jetzt etwas ratlos.
Falls noch relevante Infos fehlen bitte ich um nachsicht, das ist mein erstlingswerk, und ich liefere gerne nach.