Ich habe hier einen gegrillten Wasserstandssensor (ST-545) der auf einem 74HC4060 basiert. Um die restliche Funktion der Waschmaschinenplatine zu prüfen müsste ich diesen Sensor irgendwie simulieren. Ich werde aus dem 74HC4060 Datenblatt nicht wirklich schlau - allerdings hat meine Recherche ergeben, dass der Sensor wohl eine PWM ausgibt und bei Änderung des Wasserstands die Frequenz von 35Hz auf 45Hz erhöht.
Jetzt war meine Idee, das ganze mit dem Arduino UNO oder Mega2560 den ich hier habe, zu simulieren.
Der Sensor hat 5V input, Ground und Output.
Mein Plan war jetzt einfach die 5V+GND die von der WaMa-Platine kommen an den MEGA zu klemmen und dann mit analogWrite die PWM zu simulieren, in etwa so?:
1
const int outputPin = 9; // Digital pin to output PWM signal
2
3
void setup() {
4
pinMode(outputPin, OUTPUT);
5
}
6
7
void loop() {
8
simulateSensor(); // Simulate the sensor output
9
delay(1000); // Wait for a while before changing the frequency
10
}
11
12
void simulateSensor() {
13
int initialFrequency = 35; // Initial frequency of the sensor (in Hz)
14
int targetFrequency = 45; // Target frequency of the sensor (in Hz)
15
int frequencyStep = 1; // Frequency change step (increase by 1 Hz)
Ich werde aus dem
74HC4060 Datenblatt nicht wirklich schlau - allerdings hat meine
Recherche ergeben, dass der Sensor wohl eine PWM ausgibt und bei
Änderung des Wasserstands die Frequenz von 35Hz auf 45Hz erhöht.
Der CD4060 ist ja auch keine "Sensor", sondern eine recht einfacher Oszillator mit nachgeschaltetem binärem Zähler. Mit Puls-Weiten-Modulation (PWM) hat das ganze auch nicht viel zu tun. Durch den Teiler ist das Impuls-Pausen-Verhältnis immer gleichmäßig.
Der Trick an dem ganzen dürfte sein, eine der Frequenzbestimmungen Komponenten des Oszillator (meiste die Kapazität) durch äußere Einflüsse zu verändern. Z.B.: zwei parallele Leiterbahnen haben in trockener Umgebung eine andere Kapazität als im nassen Zustand. Hierdurch ändert dann die erzeugte Freq. in einem gewissen Bereich. Das Puls-Pausenverhältnis bleibt dabei aber immer gleich bei 50%/50%. Zum auswerten langt es also einfach die Freq. zu messen und man muss nicht zwingend die genau Länge des Impulses bestimmen.
Zum Simulieren brauchst du also einen einfachen einstellbaren Funktionsgenerator für Rechteck. Gibt es beim Chinesen auch in Primitiv oder alt bewährt selber bauen mit einem NE555 mit einem Poti.
Der Trick an dem ganzen dürfte sein, eine der Frequenzbestimmungen
Komponenten des Oszillator (meiste die Kapazität) durch äußere Einflüsse
zu verändern. Z.B.: zwei parallele Leiterbahnen haben in trockener
Umgebung eine andere Kapazität als im nassen Zustand.
Gilt das auch für Wasserstandsensoren/Hydrostate? Die haben ja mehr Zustände als nur feucht-trocken. Mein Sensor funktioniert wie ein Druckwächter: durch ein Röhrchen in dem das Wasser steigt/sinkt drückt der Luftdruck darüber auf eine Membran, welche sich in eine außenliegende Spule hineindrückt/absenkt.
Anbei habe ich mal die Schaltskizze des Sensors angehangen.
Da fällt mir auf ich habe einen Verbindungspunkt vergessen von der Leiterbahn zwischen den Kondensatoren rechts und der GND Leitung, schuligom
Einen NE555 und ein Poti habe ich garantiert irgendwo rumfliegen, ich durchwühle morgen mal die Werkstatt ♥
Er sagt im Video dass die WaMa zwei Möglichkeiten hat den Wasserstand zu checken, ein mal wie lange er braucht um von low nach high zu wechseln und ein mal kann Sie die Anzahl der Pulse messen...
Gilt das auch für Wasserstandsensoren/Hydrostate? Die haben ja mehr
Zustände als nur feucht-trocken.
Kapazitive Sensoren erfassen nicht feucht-trocken. Deren Kapazität hängt von der Dielektrizitätskonstante des Stoffes ab, den das Feld zwischen den beiden Kondensator-"Platten" durchdringt. Zwischen Luft und Wasser unterscheidet die sich um einen Faktor 80. Falls das Feld nun nur zur Hälfte durch Wasser verläuft, ist die eigentlich zu messende Kapazität dann nur ungefähr halb so groß, wie wenn das ganze Messvolumen mit Wasser gefüllt ist.
Gilt das auch für Wasserstandsensoren/Hydrostate? Die haben ja mehr
Zustände als nur feucht-trocken.
Kapazitive Sensoren erfassen nicht feucht-trocken. Deren Kapazität hängt
von der Dielektrizitätskonstante des Stoffes ab, den das Feld zwischen
den beiden Kondensator-"Platten" durchdringt. Zwischen Luft und Wasser
unterscheidet die sich um einen Faktor 80. Falls das Feld nun nur zur
Hälfte durch Wasser verläuft, ist die eigentlich zu messende Kapazität
dann nur ungefähr halb so groß, wie wenn das ganze Messvolumen mit
Wasser gefüllt ist.
ist mein Sensor denn ein kapazitativer sensor?
durch die membran+ferrit der sich in der spule bewegt müsste es doch ein induktiver sensor sein oder bin ich hier auf dem holzweg?
ist mein Sensor denn ein kapazitativer sensor?
durch die membran+ferrit der sich in der spule bewegt müsste es doch ein
induktiver sensor sein oder bin ich hier auf dem holzweg?
Es ist ein induktiver.
Wenn man sich das Video ansieht, stellt man fest, dass durch den der Wasserstand etwas bewegt wird, das die Induktivität der Spulen ändert.
Um induktive (oder auch kapazitive) Geschichten auswerten zu können, braucht man einen Oszillator, dessen Frequenz in Abhängikeit zu irgendwas (meisten der Weg oder die abgedeckte Fläche) ändert.
Sofern man keine quantitative Auswertung machen will, könnte man auch einfach einen Reedkontakt mit einem Magneten auslösen.
Welches Signal dein Sensor liefert, kann man aus deinem "Schaltplan" nur erraten. Gehäusebelegungen beschreiben leider nicht das Innenleben des ICs.
Es ist ein induktiver.
Wenn man sich das Video ansieht, stellt man fest, dass durch den der
Wasserstand etwas bewegt wird, das die Induktivität der Spulen ändert.
Um induktive (oder auch kapazitive) Geschichten auswerten zu können,
braucht man einen Oszillator, dessen Frequenz in Abhängikeit zu
irgendwas (meisten der Weg oder die abgedeckte Fläche) ändert.
Welches Signal dein Sensor liefert, kann man aus deinem "Schaltplan" nur
erraten. Gehäusebelegungen beschreiben leider nicht das Innenleben des
ICs.
Hmm, auch nicht anhand des Datenblatts https://www.ti.com/lit/ds/symlink/sn74hc4060.pdf ?
Das enthält zumindest ein logisches Schema - leider bin ich nicht tief genug in der Thematik um das vollständig zu verstehen, bitte seht es mir nach^^
In dem von 'thelonging' verlinkten Video zeigt der Herr ja ungefähr welche Frequenz der Sensor ausgibt... War mein Ansatz mit der PWM vom Arduino also doch nicht ganz verkehrt? Oder reicht mir trotzdem ein 555 Signalgenerator wie 'irgendwer' schrieb?
In dem von 'thelonging' verlinkten Video zeigt der Herr ja ungefähr
welche Frequenz der Sensor ausgibt... War mein Ansatz mit der PWM vom
Arduino also doch nicht ganz verkehrt? Oder reicht mir trotzdem ein 555
Signalgenerator wie 'irgendwer' schrieb?
Der 4060 wird genommen, um einen Sensor mit niedriger Ausgangsfrequenz zu erhalten.
Die 32Bit-Boliden (Raspi, ESP) tun sich ja schwer damit, hohe Frequenzen genau zu messen.
Ich dachte aber dass ich mit int initialFrequency = 35; // Initial
frequency of the sensor (in Hz)
int targetFrequency = 45; // Target frequency of the sensor (in Hz)
int frequencyStep = 1; // Frequency change step (increase by 1
Hz)
die PWM Frequenz ändern kann.
Damit änderst du erstmal gar nichts ;-)
Das sind Variablen, die mit einem Wert initialisiert werden.
Sind die C- Werte vom
'CMOS LC Oszilator, evtl. auch der von L gegeben (, ermittelbar)?
Auf welche Referenz gehen 35Hz und 45 Hz zurück?
Berechnung wäre nach Colpitts.
die 35Hz und 45Hz hatte ich aus einem polnischen Forum, allerdings gibt es mehrere Versionen des Sensors. In dem oben verlinkten Video sind die werte deutlich niedriger (8-12Hz), er hat aber auch die Version ST545-AA-003 und ich habe den ST545-AA-008.