Hallo zusammen,
ich würde gerne einen kleinen Regelkreis entwickeln. Der Regelkreis soll
einen Wasserdrucksensor einlesen und ein Ventil ansteuern. Ich habe mir
vorgestellt, dass ich hierfür ein fertiges embedded Kit nehme!? Könnt
ihr hier etwas empfehlen? Ich müsste mich in die Thematik grundsätzlich
einlesen, daher ware denke ich ein Kit zum starten/lernen nicht
schlecht....von den Tools etc. die man so braucht. Auf dem IC ware dann
mehr oder weniger ja nur der Regelkreis programmiert, also muss das Kit
selbst vermutlich nicht gewaltig umfangreich sein?
Hat jemand noch eine Empfehlung für einen Wasserdrucksensor? Wo man so
etwas günstig herbekommt?
Danke für eure Hilfe!
Tommy
Das kann man in Prinzip mit jedem 8-bit uC realisieren.
In welchem Messbereich liegt denn der Wasserdruck in etwa, und was für
eine Größenordnung von Ventil ist es, das du ansteuern willst
(Wasserhauptleitung oder Kaffeemaschine)?
Und wie oft pro Sekunde möchtest du messen und regeln?
Hi,
vielen Dank für Deine Antwort.
Ich dachte mir schon, dass es keinen besonderen uC dazu braucht. Ich bin
einfach auf der Suche nach einem "einfachen" Kit, das geeignet ist für
Anfänger und am besten eine kleine Platine (max 5x10cm oder sowas)
besitzt, da ich irgendwann den "Prototyp" in ein wasserdichtes Gehäuse
bauen möchte - mit Akkubetrieb.
Der Drucksensor sollte für eine Tiefe bis 50m geeignet sein, was glaub
6bar entsprechen müsste (1bar hats an der Oberfläche)?
Wenn er aber erstmal nur bis 30m geht, ware auch nicht schlimmt.
Entscheidender ist, dass die Auflösung klein ist, ich würde sagen 1mbar
(=1cm Tiefe?)
Das Ventil das ich ansteuern möchte ist noch nicht ganz klar. Es wird
allerdings ein Ventil sein, dass einen Luftdurchfluss steuert.
Angeschlossen wird das Ventil an eine Luftdruckflasche mit 100-200bar.
Die Anzahl der Messungen müsste relative hoch sein, ich würde sagen im
Zyklus alle 1-2 Sekunden.
Gibt es einen Drucksensor, den man eventuell unter Einsatz von
Epoxydharz einfach wasserdicht vergiesst?
Gruss
Easylife schrieb:> Das kann man in Prinzip mit jedem 8-bit uC realisieren.
Das kann man im Prinzip ganz ohne uC eralisiern, beispielsweise mit
einem OpAmp, damit spart man sich das Programmieren ganz.
Eventuell spart man sich dadurch den Leistungstreiber und den
Spannungsregler.
Aber vielleicht erzählt uns Tommy auch nur die Hälfte.
Tommy schrieb:> Hat jemand noch eine Empfehlung für einen Wasserdrucksensor?
Wasserdruck kann von 5mbar mit 5000 bar gehen, man kann nur raten ob dir
der Hauswasserdruck passt. Es gibt hunderte Sensoren, manche tauglich,
andere nicht. Trinkwassergeeignet ? Berstdruck relevant ?
Genauigkeit ?
http://de.aliexpress.com/w/wholesale-water-pressure-sensor.html
Tommy schrieb:> Der Drucksensor sollte für eine Tiefe bis 50m geeignet sein, was glaub> 6bar entsprechen müsste (1bar hats an der Oberfläche)?> Wenn er aber erstmal nur bis 30m geht, ware auch nicht schlimmt.> Entscheidender ist, dass die Auflösung klein ist, ich würde sagen 1mbar> (=1cm Tiefe?)
1mBar bei 5 bar relativdruck sind immerhin schon 5000 werte - also wird
ein 8 bit ADC mit einem analogen Sensor wohl kaum reichen.
Direkt über I2C ansprechbare Lösungen wie die von doedel angesprochene
eignen sich schon besser allerdings hat der vorgeschlagene sensor nach
kurzem Blick ins Datenblatt eine Messungenauigkeit von 1.5% der
Messspanne - angenommen man nimmt das 3.5bar Modell und legt die 26214
counts des Datenblatts als Messspanne an , so ergäbe sich eine maximale
absolute Messabweichung von 393 counts = ca 233mBar.
Die relative Genauigkeit wird allerdings deutlich besser sein. Die Frage
ist, ob eine solch hohe absolute Genauigkeit notwendig ist (an
Oberfläche Null-Abgleich ausführen).
Es hört sich an als sollt die Höhe eines Unterwasserfahrzeuges geregelt
werden oder so etwas ähnliches.(rate ich jetzt einfach mal)
Ich würde vor dem Ventil einen Druckminderer verwenden, da Ventile
welche 200 bar schalten können sicher nicht günstig sein werden (Es sei
denn du hast irgendwo altes Hydraulikzubehör liegen) und 10 bar
Versorgungsdruck für das Ventil ausreichend sind (Es muss ja "nur" gegen
die maximal 6 bar arbeiten). Alternativ zur Druckmessung könntest du
auch über eine Tiefenmessung mittels Sonar nachdenken - bei google sind
auch hierzu projekte zu finden.Eine höhere genauigkeit wirst du damit
wahrschienlich nicht erzielen, allerdings lassen sich hiermit auch
Hindernisse im Wasser erkennen.
Gruß
Max
Hallo zusammen,
genau, es soll die Höhe eines Objekts im Wasser geregelt warden. Sonar
kommt nicht in Frage, da der Aufbau so klein wie möglich sein soll - ich
nehme mal an für Sonar ware der Aufbau deutlich grosser.
Bezüglich der Genauigkeit hab ich nochmal nachgedacht. Also es würde
ausreichen, wenn das Objekt auf 50cm genau im Wasser die Höhe halt - was
50mbar entspricht. Wie erzeugt man diese "Ungenauigkeit"? Indem einfach
der Sensor eine entsprechende "Ungenauigkeit" aufweist, oder dann eher
über das Programm auf dem uC? Ein uC sollte auf jeden Fall eingesetzt
warden, da das Programm später durch weitere Funktionen ergänzt warden
soll.
Aber hab ich das nun richtig verstanden, ich würde in dem Fall eher
einen uC mit 16 Bit benötigen? Gibt es hier auch kleine/günstige
Einsteiger-Fertigboards?
Bezüglich dem Druck: Also die Luftdruckflasche hat natürlich einen
Druckminderer. Ich muss also nicht direkt die 100-200 bar schalten. Wie
gross der Druck nach dem Minderer ist weis ich noch nicht, ich nehme
aber an zwischen 1-5 bar.
Gruss
es muss kein 16Bit Controller sein. Nur der AD-Wandler muss eine
Auflösung von mehr als 8 Bit haben ... oder Du verwendest halt einen
Sensor mit eingebautem AD-Wandler, der Dir ein I2C (oder ein anderes)
Digital-Signal ausgibt.
Tommy schrieb:> ich nehme aber an zwischen 1-5 bar.
Es wird schon mehr sein müssen als der Wasserdruck dort unten.
Woher soll denn die Solltiefenvorgabe kommen ?
Von einem Joystick einer Fernbedienung ? Die kann man nicht auf
1/5000tel genau einstellen. Funk reicht unter Wasser sowieso nicht weit.
Die meisten Drucksensoren sind Messbrücken mit kleiner Brückenspannung.
Man muss also die Differenzspannung stark verstärken. Dafür gibt es
Instrumentenverstärker. Und weil du mit mindestens 13 bit auflösen
willst, kann gleich ein A/D-Wandler dran sein. Als fertiges Board wird
da die Luft sehr dünn, die allermeisten Boards haben nicht das was du
suchst, und dann schon gar nicht so klein wie du es suchst, und dann
schon gar nicht die Anschlüsse die du suchst.
Also ist Selbstbau angesagt.
Der ist nicht billig
http://www.conrad.com/ce/en/product/506331/Hygrosens-DS-KE-D-A10B
aber passt als Absolutdrucksensor (denn es keinen Ort für Relativdruck
im U-Boot) auf deinen Messbereich.
Er wird beim Eintauchen in das Wasser mit dem aktuellen Luftdruck
kalibiert, so wie ein Flugzeug seinen Höhenmesser bei Start einstellt.
Ändert sich während des Tauchgangs der Luftdruck um 10mBar, misst man
bereits um 10cm falsch. Das ist bei der Messmethode nicht zu verhindern.
Ausserdem hat es in 10m Wassertiefe bei Salzwasser 1.03bar mehr, bei
Süsswasser um 0.98bar mehr, und in Brackwasser eben dazwischen. Auch das
limitiert deine Genauigkeit.
Tommy schrieb:> Warum eigentlich 12 Analoge> Input Channels, bei einem AD Wandler reicht mir doch 1 Analog Input oder> nicht?)
Das heißt dass du 12 Eingänge hast die als AD-Wandler genutzt werden
können. (Du könntest ja auch mehrere Sensoren anschließen wollen).
Bei Verwendung nur eines analogen Sensors benötigst du nur einen.
Entscheidend ist allerdings die Auflösung des ADs. Der Arduino aus
deinem Link hat beispielsweise 10 bit auflösende ADCs - das heißt die
Spannung von GND bis Vref wird in 2^10=1024 diskrete Werte
unterteilt.Dies lässt sich eventuell mittels Oversampling noch etwas
verbessern. http://www.atmel.com/images/doc8003.pdf Das dafür nötige
Signalrauschen wird in deinem Fall auf jeden Fall vorhanden sein.
Solltest du dich jedoch für einen Sensor mit integriertem ADC und
digitaler Schnittstelle entscheiden (z.B. I2C oder SPI) so wird der ADC
des Controllers nicht benötigt.
Zur Reglung sollte jeder der genannten Controller in der Lage sein. Zum
Beispiel gibt es zum Einstieg für die Arduino-Umgebung eine PID-Library.
Die sollte mit allen von Arduino unterstützten Controllern
Funktionieren.
Gruß
Max