Magnet Proportionalventil mit Arduino steuern

Hallo Zusammen,

das ist mein erster Beitrag in diesem Forum, weshalb ich mich vorab dafür entschuldige, falls Informationen o.Ä. fehlen.

In einem Projekt muss ich mit Hilfe eines Arduino Uno den CO2-Druck (0-3 bar) regulieren. Ich habe mir einige Ventile angeschaut und mir scheint ein Proportionalventil (magnetisch) am geeignetsten für das Vorhaben. Es reicht nicht, wenn das Ventil die zwei Positionen "auf" und "zu" beherrscht. Es muss auch in einem Zustand verharren können. Voller Motivation bestellte ich (zu schnell) folgendes Ventil:

Riegler Posiflow 24V DC G 1/8.

Proportional-Regelventil »posiflow«, 24 V DC, NC, G 1/8, DN 1,2 | RIEGLER | profi shop

Dieses hat eine Versorgungsspannung 24VDC und soll mit 0-10V / 0-20mA angesteuert werden. Ziemlich schnell hat mich meine Ahnungslosigkeit über Ventile auf den Boden der Tatsachen zurückgeholt, dass ich mich mit diesem Thema eigentlich überhaupt nicht auskenne. Da ich ungerne das Ventil zerstören möchte, habe ich versucht mich hier einzulesen und bin auf folgende Erkenntnisse gestoßen:

  • Riegler bietet auch einen Steckerverstärker an, welcher jedoch ziemlich teuer ist. Auch hier habe ich von der Ansteuerung (noch) keine Ahnung und möchte es gerne selbst lernen / realisieren.
  • Das Magnetventil kann per PWM-Signal gesteuert werden.

Ich habe ehrlich gesagt nicht zu 100% verstanden, wie das mit dem PWM Signal abläuft. Ich lese viel von "Spannung überlagern", kann damit aber in der Praxis überhaupt nichts anfangen. Deswegen habe ich folgende Frage:

Kann mir jemand erläutern, wie ich jetzt in der Praxis dieses Ventil (3 Anschlusspins, eins davon GND) ansteuere? Im ersten Schritt auch gerne ohne Arduino um die Funktionsweise zu verstehen. Anschließend möchte ich das Ventil mit Hilfe des Arduinos ansteuern und regeln.

Wie wird so ein Ventil korrekt angeschlossen? Ich finde keine Steckerbelegung für die drei Pins...

Kann ich auch einfach mal 24VDC draufschalten um das Ventil zu öffnen, oder ist es wirklich nur für PWM Signale gedacht?

Ich bin gelernter Elektroniker, jedoch fehlen mir in diesem Bereich die Kenntnisse.

Vielen Dank im Voraus!

Liebe Grüße
Julian

P_1-51.pdf (753,3 KB)
P_B-205.pdf (868,4 KB)
Bedienungsanleitung p_b-10.pdf (2,2 MB)
Datenblatt p_1-47.pdf (856,1 KB)

Please use English in the English forum.

:warning:
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden.
Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
mfg ein Moderator.

Danke & sorry, keine Ahnung wie ich mich hier in den englischen Teil verirrt habe…

Ohne genue Kenntnisse was Du machen willst kann ich Dir keine Hilfe geben.
Du hast CO2 und es soll ein bestimte Durchfluß geregelt werden.

  • Welche Drücke hast Du an den beiden Seiten und sind diese konstant oder variabel??
  • Wie groß soll der Durchfluß sein?
  • Hast Du Drucksensoren / Durchflußsensoren?
    Grüße Uwe

Eingangsseitig kommt 3 Bar rein, die Ausgangsseite soll eben zwischen 0 und 3 bar variabel gesteuert werden. Zum Testen wird am Ausgang ein Drucksensor angeschlossen. Ggf. Erstmal ein einfaches Manometer zur parametrierung, später dann ein Sensor um den Wert auch zurückzuführen.

Die Regelung muss nicht extrem genau sein. +-0,1 bar sollten nichts ausmachen.

Hallo,
ich sehe da eigentlich schwarz. Du hast ein Mengenventil , willst aber den Druck verstellen. Wo geht das Co2 denn letztlich hin, in ein geschlossenes System ( Flasche, Behälter.)

Ich kann Dir auch nicht empfehlen die Elektronik für die Ansteuerung selber zu machen, deswegen findest Du auch wahrscheinlich keine Anschlussbelegung für das Ventil. Bei dem verwendeten Stecker sind in der Regel die beiden gegenüberliegenden Kontakte mit (1) und (2) beschriftet. In der Regel ist da lediglich eine Magnetspule drin.

Du solltest den vom Hersteller empfohlenen Verstärker einsetzen. Der Verstärker hat 24VDC und 0-10V oder 0-20mA . Dazu benötigst Du 24 DC als Versorgung und z.B 0-10V Gleichspannung , kein PWM Signal das erzeugt der Verstärker. Also alles Industriestandard.

Die Spulen von ServoVentilen werden immer mit einer PWM Frequenz gefahren, damit soll der Schieber ein bisschen hin und her zittern. Damit wird die Haftreibung vermieden und letztlich ist die Hysterese kleiner.

Nachtrag
Wenn Du einen Drucksensor einbaust kannst Du ja auch ein normales auf /zu Ventil nehmen und die Menge mit einer Blende etwas begrenzen.

Erstmal Danke für die Antwort, bin wirklich für jede Hilfe dankbar.

Ich bin auch bereit alles nochmal zu überdenken, wenn jemand eine bessere Idee hat, dieses Vorhaben umzusetzen. Es wird auch wirklich NUR CO2 geregelt.

Ich hatte es verstanden, das ein normales Magnetventil nur komplett auf oder zu kann, jedoch keinen Zustand dazwischen. Ich hab immer gelesen, das diese Ventile bei 0V wieder selbst schließen (oder eben öffnen). Kannst mir nochmal deinen Nachtrag genauer erläutern?

Wieso ist das zu schnell?
Ich sage mal, das ist ein stinknormales Proportionalventil.

Empfehle ich dir auch!
Ein Arduino, 24V Netzteil und ein FET, mit einem schnellen Funkenlöschglied sollte ausreichend sein. Dazu natürlich auch dein Sensor, für den IST Wert.

Wenn ich das richtig verstanden habe, dann ist das alles irrelevant, wenn du nicht das teure Zusatzgerät kaufen/nutzen möchtest.

Ja!

Da sitzt eine stinknormale Spule drauf.
Die interessiert sich nicht für PWM.
Es ist der Spulenkern, der der PWM folgt.

Das Ventil sollte mit einer 24VDC 400Hz PWM versorgt werden.
Von 0% bis 100% sollte es aushalten.
Laut Datenblatt, nimmt es sich 100 bis 400mA maximal, je nach Ausführung

Auch ganz typisch!
Die beiden gegenüberliegenden sind die mit dem Power.
Der andere, meist etwas dürrere, ist für die Abschirmung,
Wenn Schirm, dann kann/sollte er auf eine Potentialausgleichsschiene gelegt werden.

Der Druck nach dem Ventil hängt von der Größe des Volumens nach dem Ventil ab, der größe des Ventils, der Öffnungszeit, wie weit das Ventil öffnet und dem "Verbrauch" der CO2.

Bitte erklähr genauer was Du machen willst.

Nicht das Ventil ist zu schnell, ich habe zu schnell bestellt ohne mir genug Gedanken gemacht zu haben :slight_smile:

Du hast mir auf jeden Fall sehr weitergeholfen. Ich habe aktuell keinen FET, kann ich aber sonst noch besorgen. Um erst mal zu probieren und einen Versuchsaufbau zu starten, hätte ich es nach folgendem Schema mit vorhandenen Bauteilen probiert:

Ich kann dann praktisch die Frequenz (Duty Cyclce wenn ich mich korrekt erinnere) der PWM-Ausgangsspannung am Arduino die Basis vom Transistor so steuern, dass das Ventil entweder ganz auf (400 Hz), ganz zu (0Hz, weil zwangsweise geschlossen) oder z.B. halb auf 200 Hz ist?

Ich würde nämlich gerne schnellstmöglich Praxiserfahrung sammeln, um ggf. weitere (blöde?) Fragen zu vermeiden.

Falsch bei PWM ändert sich nicht die Frequenz
https://www.elektronik-kompendium.de/sites/kom/0401111.htm

Danke für die Korrektur.

Was ich noch nicht 100% verstehe:

  1. Muss die Versorgungsspannung vom Magnetventil 24V 400 Hz haben?
  2. Oder der Ausgang vom Arduino mit 400 Hz betrieben werden, womit die Basis angesteuert wird?

Ich gehe von 2) aus, hoffe aber mir hier noch etwas Klarheit zu verschaffen, bevor ich etwas kaputt mache.

Der Transistor wird vom Arduino mit dem PWM Signal geschaltet und dieser schaltet das Ventil dauernd ein und aus. Die Versorgungsspannung muß konstant 24V haben.

Ein NPN Transistor braucht keinen Pulldown um sicher zu sperren. Den brauchen MOSFETs.

Grüße Uwe

In deiner Zeichnung hast du eine Freilaufdiode.
Die ist da recht ungünstig, da sie dafür sorgt, dass der Strom ungehindert weiter fließen kann, wenn der Transistor abschaltet.

Das ist in vielen Fällen sinnvoll. Hier nicht unbedingt, denn "die Veränderung" soll ja beim Kern ankommen, damit er zittert. Ein Snubber, oder eine Kombination aus normaler und Z-Diode, dürfte da sinnvoller sein.
Einen Transistor wählen, mit recht hoher Spannungsfestigkeit.
Und das Löschglied so bemessen, dass diese gerade eben nicht überschritten wird.

Nee, nee....
Bitte folge dem Link von @fony

Danke, und schon wieder bin ich ein Schritt weiter was das Verständnis angeht. Ist mir leider etwas peinlich, in der Ausbildung ging es nie so in die Tiefe und vor allem kaum um praktische Anwendungsfälle beim Einsatz von Transistoren oder Bauteilen wie Magnetventile.

Würde ich also lediglich ganz auf und ganz zu steuern wollen, würde die Freilaufdiode sinn ergeben - wegen meinem Bedarf das Ventil individuell zu steuern, macht das keinen Sinn, korrekt?

Was passiert, wenn auf den Snubber / RC-Glied verzichtet oder dieser falsch dimensioniert wird? Wird dann Gefahr gelaufen, beim Ausschalten den Transistor zu zerstören?

Ich versuche mich jetzt Erstmal einzulesen, wie ich die Bauteile korrekt dimensioniere und muss diese dann noch beschaffen.

Auf der einen Seite kann eine falsche Bemessung die Bewegung des Kerns hemmen.
Auf der anderen Seite des Extrems, kann der Transistor zerstört werden.

Löschglied

Na ja Du hast ja noch nicht geschrieben wozu das Ganze gut sein soll. Wenn Du ein mehr oder weniger dichten Behälter auf einem bestimmten Druck bringen / halten willst dann öffnest Du das Ein/aus Ventil. Damit strömt Co2 in den Behälter und der Druck wird steigen. Wenn Nun der Drucksensor den gewünschen Druck misst dann machst Du das Ventil zu. Fall der Druck wegen einer Leckage nun sinken sollte wird der Drucksensor das messen und Du kannst mit einer geringen Hysterese das Ventil wieder öffnen.
Wenn bei dem Vorgang die Menge Co2 zu groß ist dann kannst du die Menge mit einer Blende (Drossel) reduzieren.

die beigefügten links dienen lediglich als Beispiele.

Ich habe mal ein solches prop Ventil für genau deinen Zweck (industriemäßig) eingesetzt:

https://www.reichelt.de/druckregelventil-analogein-0-10-v-aus-1-5-v-itv2050-31f3n-q-p181113.html?PROVID=2788&gclid=Cj0KCQjw4bipBhCyARIsAFsieCz55qhX6rgA2k0v-Kb1crwGIhYIvfv_a9ZlmYSpaM2JInJLu11O6_EaAsZDEALw_wcB&&r=1

Die sind sehr teuer deshalb kann ich deine Motivation schon verstehen :wink: und man lernt ja auch immer was. Theoretisch könntest du mit deinem Ventil sicherlich die eine Seite der Medaille realisieren (pwm stellglied und sensor vorausgesetzt). Pid regler versucht dann deinen sollwert zu erreichen indem im eingeschwungenen zustand ein passendes pwm signal aufs Ventil gegeben wird.
ABER die andere Seite der Medaille ist: wenn der istwert mal über dem sollwert liegt müsstest du ja Druck ablassen. Bräuchtest entsprechend ein zweites Ventil welches druck richtung atmosphäre ablassen kann.

Das nur mal so als Anregung. Und als Ergänzung noch aus dem datenblatt des Industrie prop ventils die Funktionsweise steht da eigtl genau drin:

Ich wünsche viel Spaß und gutes gelingen beim Projekt :muscle:

Hallo Zusammen,

erstmal Danke für die weiteren Antworten.

Ja das stimmt. Ehrlich gesagt stelle ich das gerade etwas hinten an, bin mir aber bewusst dass das auch noch realisiert werden muss.

Ich habe jetzt erstmal bisschen rumprobiert, um einige Fragen selbst zu klären und nicht euch Helfer damit zu belasten. Ich habe dann auch Zugriff auf ein paar weitere Bauteile erhalten, zusätzlich habe ich noch weiter im Forum gestöbert und andere Beiträge zu diesem Thema immer mehr verstanden. Deswegen habe ich die Schaltung etwas "umgebaut", wobei erwähnt sein soll, dass das nicht meine eigene Idee war, sondern ich mich an anderen Schaltungen hier orientiert habe.

So ist das aktuelle Setup (Löschglied kommt noch):

Zusätzlich habe ich folgendes Arduino Programm geschrieben:

const int pwmPin = 9;   
const int frequency = 490;  

void setup() {
  pinMode(pwmPin, OUTPUT);
}

void loop() {
  int pwmValue = 0; // 0=  Ventil komplett zu; 255 = Komplett auf
  analogWrite(pwmPin, pwmValue);
}

Mit dem Befehl "int pwmValue" wollte ich nun verschiedene Stellungen des Ventils ausprobieren. Auf und Zu (also 0 und 255) funktioniert problemlos, was mich schonmal sehr freut. Allerdings funktionieren Werte dazwischen überhaupt nicht - das Ventil fiept einfach nur.

Ich vermute es hängt mit der PWM Frequenz zusammen.

Mir wurde 400 Hz empfohlen, leider kann der Arduino nur 490 Hz. Im Datenblatt steht:

Bin ich auf der richtigen Spur, oder könnte es an etwas anderem liegen? Wenn ja, habt ihr eine Idee wie ich das löse? Google usw. habe ich schon bemüht, da habe ich jedoch nur Beiträge gefunden wo das Ventil z.B. im komplett geöffneten / geschlossenen Zustand summt.