Hallo, nur mal so zur Info, wenn jemand Wasserstand messen will: Die klassischen Methoden die ich hier gefunden habe (kapazitiv/ultraschall/druck/poti) fand ich alle "zu kompliziert" (da ich nur wenig Elektronik Erfahrung habe und am besten mit 0 und 1 klar komme) oder unpraktisch. Da habe ich mir überlegt einen Beschleunigungssensor zu verwenden. Habe BS - komplett im wasserdichten Gehäuse verschwunden (funkt über RFM12) - an einen Schwimmer-Arm angebracht (Schwimmer-Arm besteht aus 55cm Kabelkanal-Abdeckung. Am Ende eine leere Duschgel-Flasche für den Auftrieb). Da hier anscheinend nicht 1g herrscht musste ich Korrektur-Offset/Faktor auf die Messdaten des BMA020 geben (der soll angeblich kalibriert sein). Die Querbeschleunigung ist dann direkt proportional zur Höhendifferenz ( x * (1 / 0,5m) ). Fazit: einfache Ansteuerung über SPI. einfaches Errechnen der Höhendifferenz. Absolut wasserdicht gekapselt. Messung liefert relativ ungenaue Werte (Schwankungen von +-2cm), habe mit höherer Genauigkeit gerechnet. einigermassen sparsam, ca. 30mA für weniger als 0,5s pro Messung und Aussenden (1/Minute), unter 0,02mA im Standby - Batterien sollten eine Saison halten. ...Alex PS: Habe auch ein paar Temperatur-Sensoren mit RFM12 im Haus verteilt. Alle gefunkten Werte gehen per RFM12 auf ein Avr-Net-IO und von dort als UDP-Broadcast in's IP-Netz. Ein Receiver-Prozess auf einem "Server"-PC empfängt die Broadcasts, wertet sie aus und sendet Ergebnis an Icinga (Nagios), der mir eine eMail schickt, wenn der Wasserstand eine Warngrenze unterschreitet und mich per VoIP anruft wenn der Wasserstand kritisch wird. Der ganze Code ist auf github zu finden: http://github.com/alexbrickwedde/floodping Aber Achtung: Der Code ist teilweise sehr stark zusammengefrickelt! (insbesondere für's net-io, aber für mich arbeitet er ausreichend gut, Schaltpläne gibt's übrigens auch keine und Doku sowieso nicht). Vielen Dank an alle, die hier ihre Sourcen zur Verfügung stellen!!!
Hallo, wie wäre eine Skizze. Ich sehe keine Beschleunigung, die gemessen wird, eher eine Verschiebung des Nullabgleichs, weil es schief hängt. Der Schwimmer wird sich doch mit minimaler Beschleunigung bewegen.Selbst in einem Toilettenspülkasten ( oder was sonst wird hier gemessen ? ) treten keine großen Beschleunigungen auf und der ist in ein paar Sekunden leer. Wenn der Abflußquerschnitt 1/15 der Spülkastenwasseroberfläche hat, kann bei widerstansdslosem abfliessen auch nur 1/15 g an der Wasseroberfläche entstehen ) da bleiben von 2g == 10 Bit= 1024 nur 34 = 5 Bit übrig. P.S Im Datenblatt ist der BMA auf zero g-offset von +-220 mg = 0,22 g "kalibriert."
Hallo, ich nehme alles zurück und behaupte das Gegenteil. Natürlich ist der Sensor nur in einer bestimmten Lage kompensiert und kann die statische Lage auch anzeigen.Ich nehme mir noch ein Mütze Schlaf...
Die Beschreibung habe ich so verstanden: An einem drehbaren Hebel, dessen Drehachse etwa am oberen Ende des Behälters liegt und der sich durch einen Schwimmer am Ende mit dem Wasserstand mitbewegt, ist irgendwo ein Beschleunigungssensor angebracht. Im Extremfall, wenn der Hebel waagrecht steht (Behälter voll), wird die volle Erdbeschleunigung gemessen. Im anderen Extremfall, wenn der Behälter leer ist und der Hebelarm senkrecht herunterhängt (und der Beschleunigungsmesser senkrecht gedreht ist), wird keine Erdbeschleunigung gemessen. Nennen wir den Winkel des Hebels gegenüber der Wasseroberfläche alpha, die Länge des Hebels und damit die maximal messbare Änderung im Wasserstand r und die momentane Höhe der Wasseroberfläche gegenüber dem Minimum h (= Füllhöhe). Die gemessene Erdbeschleunigung ist dann
Der Winkel alpha ergibt sich andererseits aus der Füllhöhe mit
Durch Gleichsetzung und Umformung bekommt man
Das Verfahren läuft also nicht mit der Beschleunigung des Hebels, wie man (auch ich) vielleicht auf Anhieb meinen könnte, das wäre messtechnisch nicht so einfach zu realisieren. Es gibt natürlich auch einen Nachteil bei dem Verfahren: Der Behälter muss breit genug sein, damit sich der Hebel bewegen kann. Und wie bei allen mechanisch beweglichen Lösungen können Korrosion und Verschmutzung stören. Ansonsten ist das Ganze genial einfach. Wenn man den Hebel aus dem Behälter hinaus verlängern kann, dann kann man den Sensor auch dort anbringen, wo er wesentlich besser geschützt ist. Allerdings würde ich auf jeden Fall eine Kalibriertabelle aufstellen, weil es doch ein paar Unsicherheitsfaktoren gibt. Wenn der Schwimmer z. B. unsymmetrisch ist, dann taucht er möglicherweise je nach Winkel unterschiedlich tief ins Wasser ein. Eine Kalibriertabelle dürfte aber kein Problem sein, und bei dieser Gelegenheit könnte man die Tabelle auch gleich in Litern statt in Zentimetern anlegen (falls das überhaupt erwünscht ist).
Ach ja, noch ein Nachteil ist mir eingefallen: Die Auflösung und die Genauigkeit sinken mit zunehmender Füllhöhe. Wenn das stört, kann man vielleicht zwei Beschleunigungssensoren verwenden, die zueinander senkrecht stehen. Mit dem zweiten misst man dann die volle Erdbeschleunigung, wenn der Behälter leer ist.
Wasserstand mit zwei Beschleunigungssensoren messen: LOL, double LOL and of course triple LOL.
Alexander Brickwedde schrieb: > Die klassischen Methoden die ich hier gefunden habe > (kapazitiv/ultraschall/druck/poti) fand ich alle "zu kompliziert" (da > ich nur wenig Elektronik Erfahrung habe Für mich wiederum ist alles mechanische "ungeheuer kompliziert". Wenn ich Software statt Mechanik nehmen kann, dann ist mir das lieber. Daher finde ich kapazitiv am einfachsten. Da brauchts auch keine großen Elektronikkenntnisse. Der Kondensator wird über nen Widerstand geladen und die Zeit gemessen bis zu einem Schwellwert (analog Komparator). Die "komplizierte" Elektronik besteht also aus 3 Bauteilen: dem eingetauchten Kondensator, einem Widerstand und dem AVR zur Zeitmessung. Das kriegt doch jeder hin. Die Zeit ist außerdem linear zur Füllhöhe. Peter
Alexander Brickwedde schrieb: > PS: Habe auch ein paar Temperatur-Sensoren mit RFM12 im Haus verteilt. Wie ist denn so die Reichweite? D.h. welches ist die maximale Entfernung von Sensor zu Empfänger? Und wieviel Mauern sind maximal dazwischen? Hast Du auch übliche Störquellen mit im Haus (WLAN, DECT, Bluetooth)? Peter
Peter Dannegger schrieb: > Für mich wiederum ist alles mechanische "ungeheuer kompliziert". Habe für's Studium mal ein Praktikum Kunststoff- und Metallverarbeitung machen müssen. Ist 'n wenig hängen geblieben... ;-) > Wie ist denn so die Reichweite? > D.h. welches ist die maximale Entfernung von Sensor zu Empfänger? > Hast Du auch übliche Störquellen mit im Haus (WLAN, DECT, Bluetooth)? Auf 868 MHz ca. 10m mit 3 Wänden und Türen. Reichte aber nicht aus (fehlen 1-2m), da habe ich den Net-Io näher richtung Sensor platziert. Natürlich arbeitet WLAN, BT und DECT im Haus. Ich find's ein bisschen sehr wenig, insbesondere da ich die Radio-Baudrate auf nur 666 eingestellt habe. Über 2000 Baud kommt gar nix mehr an. Muss ich mich nochmal in Ruhe mit beschäftigen... @Edi R.: Übrigens hat der Sensor 3-Achsen, also kann man im oberen und unteren Bereich die entsprechende Achse die fast Quer zur Erdbeschleunigung liegt verwenden und die Auflösung so verbessern. Ist bei mir nicht relevant, weil ich nur 15cm Differenz messen muss (Ist ein unterirdischer Wasserbehälter für einen Bachlauf, HBT: 30cm*60cm*30cm). > wenn der Behälter leer ist und der Hebelarm senkrecht herunterhängt (und > der Beschleunigungsmesser senkrecht gedreht ist), wird keine > Erdbeschleunigung gemessen. Ich messe im Voll-Zustand die Querbeschleunigung, also 0g und leer wäre dann 1g. Da habe ich bei 15cm Differenz (komme nur bis 0,3g) die besseren Messwerte. Man kann natürlich den Arm auch noch von senkrecht nach oben bis senkrecht nach unten verwenden und -1g bis 1g messen. ...Alex
Martin schrieb: > Wasserstand mit zwei Beschleunigungssensoren messen: LOL, double LOL and > of course triple LOL. Dann hast Du es wahrscheinlich nur nicht verstanden. Peter Dannegger schrieb: > Daher finde ich kapazitiv am einfachsten. Ich auch, und so habe ich es bei mir auch gelöst. Aber "am einfachsten" heißt nicht "ohne Probleme". Beispielsweise verändert sich der Kunststoff (also das Dielektrikum), wenn es längere Zeit im Wasser liegt. Wasser ist aggressiver, als man denkt. Es ist nur eine Zeitfrage. Alexander Brickwedde schrieb: > Übrigens hat der Sensor 3-Achsen Das ist natürlich praktisch, dann hast Du über den ganzen Bereich eine gute Auflösung.
Hi, Kleines Update: Mein wasserdichter Behälter war doch undicht. Als eines Tages kein Funksignal mehr kam lag Schnee ohne Ende und danach war's dann kalt ohne Ende -> Sensor 4 Wochen im unbekannten Zustand im Wasserbehälter. Als letzte Woche das Eis im Behälter geschmolzen war, habe ich ihn dann rausgeholt und trockengelegt. Das Design hat sich geändert: Der BS, vorher mit reichlich Plastik-Spray behandelt, sitzt jetzt in einem ganz kleinen Behältnis und dieses dann mit Silikon aufgefüllt. Ein Flachbandkabel führt jetzt zu einem überirdischen Kästchen, das nur noch Regendicht sein muss, welches Batterien, uC, Funkmodul und Programmier-Anschluss beheimatet. Gleichzeitig gab's ein Software-Update. Da jetzt die Batterien einfacher gewechselt werden können, darf der Stromverbrauch jetzt höher sein. Es wird immer noch 1/Min. gesendet, aber der Messwert wird als Durchschnittswert aus 128 Messungen (mit je 1ms delay) errechnet. Statt +/- 2cm schwankt es jetzt nur noch +/- 0,3cm. Also < 1% der max. Ablenkung. ...Alex
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.