Forum: Mikrocontroller und Digitale Elektronik Starterkit / kleines Projekt


von Tommy (Gast)


Lesenswert?

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

von Easylife (Gast)


Lesenswert?

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?

von doedel (Gast)


Lesenswert?

dafür sollte ein Attiny bereits vollkommen ausreichen. Wenn Du Dir die 
Programmierung dann noch einfach machen willst, nimmst Du was, das per 
Arduino IDE programmiert werden kann. Ich persönlich mag diese Dinger: 
http://shop.cboden.de/Digispark/Digispark-USB-Entwicklungs-Board.html 
aber da gibt's auch zig andere.

Wie man den Sensor da dran kriegt hängt natürlich davon ab, was für ein 
Signal er liefert.

Das Ventil kann man entweder per MOSFET steuern (falls es eine 
Gleichstrom Spule hat) oder z. B. per Relais (damit gehen dann auch 
Wechselstrom-Spulen). Die Dinger gibts als sog. "Shields":
- MOSFET: 
http://shop.cboden.de/Digispark/Shields/MOSFET-Erweiterungssatz.html
- Relais: 
http://shop.cboden.de/Digispark/Shields/Relais-Erweiterungssatz.html

von Tommy (Gast)


Lesenswert?

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

von MaWin (Gast)


Lesenswert?

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

von doedel (Gast)


Lesenswert?

1-2 Sekunden? Da schläft ein Controller ja vor Langeweile ein! :-)

Als Sensor würde ich sowas in der Art sagen: 
http://www.sensortechnics.com/en/products/pressure-sensors-and-transmitters/pressure-sensors-for-corrosive-liquids-and-gases/ssi/index.html

Hat den Vorteil, dass er die Werte gleich per I2C ausgeben kann und Du 
nicht großartig erst ein Analog-Signal umwandeln musst. Ob's die 
Auflösung reicht musst aber mal im Datenblatt nachlesen.

von MaxKi (Gast)


Lesenswert?

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

von Easylife (Gast)


Lesenswert?

1 bar = 1m
1mbar = 1mm

Also reicht wohl eine Sensor-Genauigkeit von 10mbar aus, wenn 1cm 
Unterschiede messbar sein sollen.

von m.n. (Gast)


Lesenswert?

Easylife schrieb:
> 1 bar = 1m
> 1mbar = 1mm

Ob das jetzt stimmt? Ich glaube eher nicht.

von MaxKi (Gast)


Lesenswert?

Leider nein :
http://de.wikipedia.org/wiki/Wasserdruck
Ein Meter Wassersäule (mWS) = 9,807 kPa ≈ 0,10 bar
also 10m = 1 bar
1 cm = 1mbar
Gruß
Max

von Easylife (Gast)


Lesenswert?

MaxKi schrieb:
> also 10m = 1 bar

Stimmt. Zu früh am Nachmittag ;-)

von Tommy (Gast)


Lesenswert?

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

von doedel (Gast)


Lesenswert?

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.

von MaWin (Gast)


Lesenswert?

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.

von Tommy (Gast)


Lesenswert?

Hi,

würde das Board hier nicht gehen?
http://www.robofun.ch/de/boards-kits/original-arduino-micro-retail.html

Da wäre doch ein AD Wandler drauf oder? (Warum eigentlich 12 Analoge 
Input Channels, bei einem AD Wandler reicht mir doch 1 Analog Input oder 
nicht?)

von Tommy (Gast)


Lesenswert?

Oder was ist mit dem Teil das Dödel vorgeschlagen hat:
http://shop.cboden.de/Digispark/Development-Board/Digispark-USB-Entwicklungs-Board.html

Da steht "ADC auf 4 Pins", was bedeutet das?

von MaxKi (Gast)


Lesenswert?

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

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
Noch kein Account? Hier anmelden.