Wasserstand Messung mit SRF02 in Zisterne
Hi zusammen,
ich plane eine ähnliche Anwendung (Wasserstand-Pegel in Zisterne) und habe mir den SRF02 besorgt. Der Sensor soll von einer C-Control Station 2.0 ausgelesen werden. Habe hierzu schon mal ein Beispielprogramm und Ansteuerung über I²C-Bus getestet. Die bisherigen Versuche sehen sehr erfolgreich aus: Der Sensor erkennt noch zuverlässig größere Objekte in Abstände über 3m, daher wird wohl auch eine Wasseroberfläche als Reflexion gut funktionieren.
Zitat:
Im weiteren frage ich mich ob man den I2C (uupps.. auf der Zeichnung falsch geschrieben) Bus verwenden kann.
Bei längerer Leitungsführung zum Sensor (>2m ?) scheidet jedoch der I²C-Bus aus, daher werde ich auf RS232 umstellen. Ansteuerung von der C-Control Station 2.0 ist sehr einfach. Dabei ist zu beachten, dass am SRF02 ein Pegelwandler (MAX232) eingesetzt werden muss.
Ich stelle mir vor, den SRF02 in einem IP65 Gehäuse oben in einer Zisterne zu montieren und aus der Abstandsmessung den Füllstands zu berechnen.
Vielleicht hat hier jemand Erfahrung, ob auf das Rohr verzichtet werden kann.
Gruss LittleJoe
Ultraschall-Sensor SRF02 über längere I2C-Bus Leitung ???
Danke für Eure Tipps !
Zitat:
Bevor ich den Aufwand für die Wandlung auf RS232 triebe, würde ich ausprobieren, ob der I2C nicht doch trotz der Entfernung funktioniert.
Ich habe schon mal einige Versuche mit einem 25m langen Telefonkabel gemacht (brauch zwar nicht die ganze Länge, aber möchte doch auf Nummer Sicher gehen...)
Der Ultraschallsensor SRF02 konnte damit jedenfalls mit der C-Control Unit am I²C-Bus nicht mehr ausgelesen werden. Ein weiterer Versuch mit I²C-Temperatursensoren DS1621 über das gleiche Kabel zeigte keine Probleme. Vermutlich kann der SRF02 die Kabelkapazität nicht mehr richtig treiben.
Möglicherweise könnte auch eine zusätzliche Treiberschaltung helfen, aber da scheint mit die RS232 doch einfacher, die Abfrage in CC-Basic ist ja sehr einfach, muss mir nur noch einen Pegelwandler (MAX232) besorgen.
Gruss LittleJoe
Maximale I2C Leitungslänge
weitere Ergänzung:
Ich habe heute mal versucht, meine 2 Temperatursensoren DS1621 über ein CAT5-Kabel mit 10m Länge zu betreiben, doch damit ist offensichtlich die Grenze schon überschritten.
Zitat:
...bei mir funktioniert der I2C-Bus über ein CAT5-Kabel trotz 6m Länge problemlos (C-Control Unit 2.05).
@Tido: Wie war denn das CAT5-Kabel beschaltet? Bei mir hatten die Leitungen SDA und SCL jeweils mit GND ein twisted-pair gebildet, doch dies ist offensichtlich ein zu hoher Kapazitätsbelag.
Laut I2C-Spezifikation liegt die max. Lastkapazität bei 400pF - dies wird also bei 4-6 m Leitungslänge erreicht.
Bei meiner Konstellation sehe ich also keine Chance auf störungssichere Übertragung mit dem 'nackten' I²B-Bus. Guten Aussichten versprechen aber I²C-Bus-Puffer mit dem Baustein P82B96. In einem anderen Forum steht hierzu:
Zitat:
Schau dir mal das Datenblatt von P82B96 an. Dieses IC ist genau für solche Sachen gedacht.
Theoretisch funktioniert das ganze, ich hatte jedoch schon schlechte Erfahrungen mit etwa 5m. Es ging ein paar Monate lang problemlos, dann plötzlich nicht mehr. Seit ich P82B96 verbaut habe, läuft alles problemlos.
werde wohl diesen Ansatz mal weiterverfolgen...