Magnetventil 12V mit Arduino steuern

Hallo zusammen,

Ich möchte ein Magnetventil (12V DC, 35VA Anzug, 25VA Halteleistung) mit dem Arduino steuern. Leider bin ich ein ziemlicher Laie und brauche daher Hilfe :wink:

Bei der Suche bin ich auf diesen Thread gestoßen. Darin wird auch vieles Hilfreiches geschrieben, aber so ganz komme ich dennoch nicht damit klar. Ich eröffne einen neuen Thread anstatt in dem alten zu fragen, da dieser schon länger tot zu sein scheint. Sollte dies falsch sein, tut es mir sehr leid!

In folgendem Post hat Muecke einen Schaltplan gepostet, den ich nachvollziehen konnte (auch wenn ich nicht weiß, ob die Bauteile für mein Ventil geeignet sind).

Muecke:

Jedoch kam danach folgender Post von guntherb, der mich wieder komplett verwirrte:

guntherb:

Darin schreibt er etwas von "Elko" und "Kerko" als Puffer. Brauche ich etwas derartiges für mein Magnetventil?
Außerdem verstehe ich die Anordnung von R2 nicht ganz.

Wenn mir jemand helfen könnte, wäre ich super dankbar!

Mit freundlichen Grüßen
Hawos

Den Kerko und den Elko brauchst du zur Stabilisierung der Versorgungsspannung des Ventils, da diese kurzzeitig einbrechen kann gerade wenn es um hohe Ströme geht.

Da der Plan ein Mosfet statt einem normalen Transistor verwenden benötigst du einen Pull-Down Wiederstand am Gate.
R2 ist ein solcher Wiederstand, er sorgt dafür das am Gate des Mosfets ein definierter Pegel herrscht.
Anders als bei normalen Transistoren werden Mosfets über eine Steuerspannung geschaltet.
Ohne Pull-Down hängt das Gate während dem Anschaltvorgang des µC quasie in der Luft, wodurch es dazu kommen kann, dass dort Spannung induziert wird und das Mosfet plötzlich durchschaltet.

Hawos:
Außerdem verstehe ich die Anordnung von R2 nicht ganz.

Hallo,

R2 ist ein Pulldown-Widerstand, der dafür sorgt, dass der FET auch dann sicher ausgeschaltet wird, wenn der Arduino aus irgendeinem Grund dazu nicht in der Lage ist, z.B. wenn er ganz einfach kaputt geht, während der Pin HIGH war.

Der kleinere Kondensator dürfte dazu dienen Störungen, die von der Spule beim Schalten verursacht werden können zu eliminieren, der größere wird warscheinlich als Puffer gedacht sein, um einen Spannungseinbruch beim Einschalten der Spule zu verhindern, aber dazu kann gunterb sicher mehr schreiben.

R1 schließlich dient dazu, zu verhindern, dass beim Laden der Scheinkapazität des FETs am Gate beim Einschalten ein zu großer Strom fließt, so dass der Arduino dadurch nicht beschädigt wird.

Gruß,
Ralf

Hallo,
die haben ihre Schaltungen doch bis ins kleinste erklärt. Wo ist das Problem?
Im großen und ganzen kannst Du beide nutzen. Die werden funktinonieren.
Die erste Schaltung ist eine "langsame", die zweite eine "schnelle".

Was mich ein wenig stört, ist die Unsicherheit im Schadensfall. Magnetventil
kennt nur zwei Zustände- auf und zu. Magnetventil heißt aber auch- Flüssigkeit.

An der Schaltung liegt immer Versorgungsspannung an. D.h. wenn es da zu
Undichtigkeiten kommt, dann wird es wohl eine Kurzschluss geben und das Ventil
kann bei einer Störung einen unbestimmten Zustand einnehmen, auf oder zu.

Ich würde für so etwas immer ein Relais nehmen, das "räumlich" vom Ventil
getrennt ist und ohne Steuerspannung das Ventil geschlossen hält.
Schalten würde ich beide Zuleitungen der Versorgungsspannung (+ und -).
An eine Feinsicherung wäre zu denken.

So kann Dein Magnetventil "unter" Flüssigkeit stehen und es kann nichts
passieren. Auch der Schaltungsaufwand um ein Relais zu steuern hält sich in
Grenzen.
Gruß und Spaß dabei
Andreas

Die meisten deiner Fragen sind ja schon beantwortet.

Hawos:
Ich möchte ein Magnetventil (12V DC, 35VA Anzug, 25VA Halteleistung) mit dem Arduino steuern.

Was meinst du mit "steuern"?
Nur ein- und ausschalten?
Wie lange, wie schnell?
Wie groß ist der Innenwiderstand?

die Angabe der Halteleistung deutet darauf hin, dass das Ventil mit PWM betrieben werden muß.
Es fehlen noch ein paar Angaben, um dir helfen zu können.

Erstmal vielen Dank, für die rege Anteilnahme :wink:

SkobyMobil:
Hallo,
die haben ihre Schaltungen doch bis ins kleinste erklärt. Wo ist das Problem?

Naja, mein Problem dabei ist, dass ich nicht sicher bin, ob ich die genannten Bauteile auch für mein Ventil nutzen kann oder ob ich andere nehmen muss.

SkobyMobil:
Ich würde für so etwas immer ein Relais nehmen, das "räumlich" vom Ventil
getrennt ist und ohne Steuerspannung das Ventil geschlossen hält.
Schalten würde ich beide Zuleitungen der Versorgungsspannung (+ und -).
An eine Feinsicherung wäre zu denken.

Würde es dir was ausmachen, das etwas näher zu erläutern?

guntherb:
Was meinst du mit "steuern"?
Nur ein- und ausschalten?
Wie lange, wie schnell?

Genau, ich möchte es auf und zu machen (stromlos ist es geschlossen). Wie lange es offen sein soll, kann ich noch nicht sicher sagen - es wird sich aber im Bereich zwischen 1 bis 3 Sekunden bewegen, vermute ich.

guntherb:
Wie groß ist der Innenwiderstand?

die Angabe der Halteleistung deutet darauf hin, dass das Ventil mit PWM betrieben werden muß.
Es fehlen noch ein paar Angaben, um dir helfen zu können.

Dieses Ventil habe ich. (genaue Typenbezeichnung folgt, habe es grad nicht bei mir)

Hallo,
was soll ich da denn näher erläutern?

Feinsicherung in die Zuleitung, nach dem Relais.
Kommt es am Ventil zum Kurzschluss so ist RelaisKontakt und Spannungsversorgung
geschützt.
Fällt die Elektronik aus, oder es kommt zu Störungen- schließt das Relais von
selbst.
Potenzialfrei schalten- d.h. wenn das Relais nicht angezogen ist, dann hast
Du an der Spule kein Potenzial, weder Plus/Minus noch N/L.
Die gesammte Elektronik in ein Gehäuse, das nur über die Steuerleitung, mit dem
Ventil verbunden ist. Vorzugweise Montage über Flüssigkeitspegel.
Die Steuerleitung oder das Relais steckbar, damit Du "Wartungsarbeiten" an der
Elektronik/Arduino durchführen kannst, ohne das es zu unkontrollierten
Reaktionen am Relais kommen kann.

Das mag sich alles übertrieben anhören, aber "das Beste hoffen und auf das
Schlimmste vorbereitet sein"
Gruß und Spaß
Andreas

Aus dem von dir verlinkten Datenblatt gehen leider die elektrischen Daten nicht hervor.

Hawos:
Wie lange es offen sein soll, kann ich noch nicht sicher sagen - es wird sich aber im Bereich zwischen 1 bis 3 Sekunden bewegen, vermute ich.

das ist, für Elektronik, langsam.
Du kannst jede der beiden in deinem ersten Post verlinkten Schaltungen nehmen, wenn du dir sicher bist, dass das Ventil mit 12V Gleichspannung läuft. Es gibt da ja auch 230V Versionen....

Die von Skymobil angesprochenen Schutzmaßnahmen hängen vom Anwendungsfall ab:
-Was passiert, wenn die Ansteuerung "spinnt"?
-Wie ist die Umgebung, wie lange die Leitungnen etc.

Zum ausprobieren gehts aber auch erstmal ohne.

Erbsenzählmodusan
R2 ist kein PullDown-Widerstand im herkömmlichen Sinne sondern er arbeitet in diesem Fall als sog Gate-Ableit-Widerstand. Das Gate des MOSFET's verhält sich wie ein Kondensator und lädt sich mit einem gewissen Potential auf, wenn er mit +5 V angesteuert wird. Dieses Potential muss wieder vernichtet werden, wenn das Ansteuer-Signal auf LOW wechselt ... und dafür ist der Gate-Ableite-Widerstand zuständig. Er beschleunigt also das Umladen der Gate-Kapazität.
Erbsenzählmodusaus

Im Prinzip solltest Du die Schaltung aber so verwenden können. Wichtig ist nur, einen IRLZ und keinen IRFZ zu nehmen. Das L steht für "Logik-Level" und garantiert ein "Durchsteuern" (beim MOSFET heißt das "in Sättigung gehen") bei +5 V Ansteuerung.

Da das Gate des MOSFET wie gesagt eigentlich ein Kondensator ist, bestimmt R1, wie schnell das Gate reagiert. Dieser Widerstand dient zum einen dem Schutz des Arduino-Pins aber viel wichtiger, der Reduzierung der Elektromagnetischen Störungen, die durch den MOSFET verursacht werden.

Ein paar Hindergründe und eine weitere Beispielschaltung findest Du auch unter http://cboden.de/mikro-controller/grundlagen/57-mosfet-an-3-3-v Da geht's zwar im Grundsatz um einen anderen Aspekt, allerdings gilt das dort über den MOSFET gesagt natürlich grundsätzlich. Ich nutze genau diese Schaltung mit den dort angegebenen Werten auch um zahlreiche 12V Magnet-Ventile und Pumpen zu steueren. Fehlt nur noch eine Freilauf-Diode möglichst nahe an der Ventil-Spule.

SkobyMobil:
Hallo,
was soll ich da denn näher erläutern?

Du sprichst ja immer wieder von einem Relais - ich habe zufällig noch eins gefunden, würde das eventuell funktionieren?

Und wie wäre die optimale Schaltung?

guntherb:
Aus dem von dir verlinkten Datenblatt gehen leider die elektrischen Daten nicht hervor.

Du kannst jede der beiden in deinem ersten Post verlinkten Schaltungen nehmen, wenn du dir sicher bist, dass das Ventil mit 12V Gleichspannung läuft. Es gibt da ja auch 230V Versionen....

Hmm... Das tut mir leid! Auf dem Ventil steht noch 8W (und 12V DC), das heißt, dass der Anzug 25VA und die Halteleistung 14,5VA sind. Bin da wohl in der Zeile verrutscht.
Die Art-Nr. ist 21A2KV55.

Hallo,
für eben mal zwischen durch, das nächste Mal suchst Du die Datenblätter bitte selbst.
Das Relais kenne ich nicht, keine Ahnung ob es funktioniert- hat auch wohl nur einen Schließer.
Gruß und Spaß
Andreas
P.S. ne´genaue Ventil- wie SpulenBezeichnung wäre wohl nicht schlecht
Hier die Ventile:
http://www.ode-magnetventile.de/messing-ventile-nc.htm
und hier die Spulen:
5 Watt - http://www.ode-magnetventile.de/magnetspulen-5-watt.htm
8 Watt - http://www.ode-magnetventile.de/magnetspulen-8-watt.htm
12 Watt - http://www.ode-magnetventile.de/magnetspulen-12-watt.htm
14 Watt - http://www.ode-magnetventile.de/magnetspulen-14-watt.htm

SkobyMobil:
Hallo,
für eben mal zwischen durch, das nächste Mal suchst Du die Datenblätter bitte selbst.

Zu meiner Verteidigung: Das Datenblatt des Ventils hatte ich verlinkt. Dass es getrennte Datenblätter zu den Spulen gibt wusste ich nicht und es tut mir leid, dass ich dieses dann nicht verlinkt habe.

SkobyMobil:
Das Relais kenne ich nicht, keine Ahnung ob es funktioniert- hat auch wohl nur einen Schließer.

Könntest du mir denn ein Relais empfehlen? Wie gesagt, ich bin ein ziemlicher Laie und auch wenn ich mich tatsächlich momentan durch die von Mike60 verlinkten Grundlagen arbeite, finde ich mich da noch nicht selber zurecht.

hallo Hawos,

frage was möchtest du machen?
tropfen auf tropfen bilder?
oder Blumen bewässern?

wie schnell muss dein Ventil auf und zu machen?

beschreibe doch mal was du machen möchtest dann kann man besser helfen.

gruß
mücke

Muecke:
hallo Hawos,

frage was möchtest du machen?
tropfen auf tropfen bilder?
oder Blumen bewässern?

wie schnell muss dein Ventil auf und zu machen?

beschreibe doch mal was du machen möchtest dann kann man besser helfen.

gruß
mücke

Hallo Muecke,

Also, mit dem Magnetventil soll Flüssigkeit in ein Glas gefüllt werden. Die technische Umsetzung klappt auch, aber aktuell nur mit Stecker in die Steckdose und wieder raus.
Und das soll eben vom Arduino gesteuert werden :stuck_out_tongue:

Hallo,
hier gibt es etwas zu Relais:
http://playground.arduino.cc/Deutsch/Relais

An diesen PDF-Schaltplan kannste fast alles an Relais anhängen. Der 2N222
ist ziemlich gutmütig.
Bei dem Relais würde ich auf 12v-Spulenspannung achten- nicht das noch ne´
Spannungquelle dazu kommt.
Also 12v Spulenspannung
2 Schliesser oder 2 Wechsler

Ich weiß nicht ob Du es "verlöten" (Printmontage) oder stecken
willst (Stecksockel, Sockel gibt es extra).

Dann mußt Du mal feststellen, wieviel Strom (mA, A) Deine Spule maximal
ziehen kann.
Beispiel: Wenn Deine Spule 1A zieht, dann nimmste ein Relais mit
2A Schaltleistung.
Ich würde da ruhig 100% draufschlagen, die Angaben des Hersteller beziehen
sich auf neue Spulen und Ventile.
Durch den Verschleiß des Ventil´s kann es dazu kommen, das die Spule schon
einmal mehr Strom zieht, als angegeben. Muß nicht, kann aber.

Wenn Dir das alles zu schwierig oder zu aufwendig ist, dann nehme eine von
vorgeschlagenden Schaltungen.
Also versorge die Jungs mal mit dem was sie brauchen…

-Versorgungsspannung der Spule
-evtl. Widerstand der Spule in Ohm
-Stromaufnahme (mA/A) der Spule beim anziehen des Schieber
-Stromaufnahme (mA/A) der Spule beim halten des Schieber
Gruß und Spaß
Andreas

SkobyMobil:
Also versorge die Jungs mal mit dem was sie brauchen…

Ich denke, das ist alle schon soweit klar:
ein 12V-Ventil, mit 8W also kleiner 1A
Schaltdauer 1 sek und länger.

Das ist eine völlig unkritische Anwendung.
Du kannst eine der in deinem Anfangsfred beschriebenen Schaltungen verwenden, du kannst es auch mit einem Relais schalten, du kannst auch, wenn du nicht löten willst, ein fertiges Modul verwenden:
Die gibts in Mengen bei Ebay: Relais Modul Arduino oder : Ebay: Arduino Modul MOSFET

wenn ich das richtig verstanden habe kommt es bei deiner Anwendung nicht darauf an das die Ventile Sehe schnell und auf die "ms" genau Öffnen oder Schließen.

Die Schaltung die du im ersten Post von mir verlinkt hast ist genau auf so was ausgelegt, sie soll dafür da sein das man ein Ventil zu einer Bestimmen zeit (millisekunden) Öffnet und wider Schließt, die Verzögerung durch ein Relaie wöre hier mehr als Störend gewesen.

Jedoch kann die Schaltung auch Ventile für längere Zeiten Öffnen dabei wird der Mosfet sehr warm er muss dann gekühlt werden !!
du kannst die Schaltung also ohne Problem nachbauen auf einem Steckbrett, sind nur ein paar EURO was die teile kosten.
Denke aber daran das der Mosfet gekühlt werden muss !!

Hier << kannst du die nächste Generation der Schaltung finden, sie hat sie etwas verändert und wurde sogar auf eine Platine gebracht.

bei dem dort angegebenen Mosfet handelt es sich um einen
IRFZ 44N :: Leistungs-MOSFET N-Ch 55V 41A

Dieser kann deine Spannung am Magnetventil auf alle Felle, jedoch wird der echt Warm habe mir schon die Fingerkupee zu beginn ein mal verbrannt bei einem Test da hatte ich das Ventil ein paar Sekunden offen.

möchte nicht unverschämt klingen doch ich habe noch von den Platinen über :wink: wenn du magst einfach eine PN an mich.

wie ich weiter vorne schon geschrieben habe, ist die Ansteuerung eines IRFZ direkt durch einen Controller-Pin falsch und es sollte für diese Schaltungsvariante lieber ein IRLZ verwendet werden. Scheibar muss ich aber auch noch erklären warum :slight_smile:

Ein Mosfet verhält sich wie ein variabler Widerstand. Bei einem N-Channel-Mosfet wie dem IRFZ oder auf dem IRLZ ist es so, dass der Widerstand zwischen dem Drain und dem Source Anschluss mit zunehmender Spannung am Gate abnimmt bis er irgendwann in den sog. Sättigungsbereich kommt. In diesem Zustand hat er den kleinsten Widerstand zwischen Drain und Source. Dieser Wert wird in den Datenblättern eines Mosfets immer als Rdson angegeben und ist eine der wichtigsten Kenngrößen eines Mosfet.

Ein IRLZ erreicht diese Sättigung - und damit seinen minimalsten Widerstandswert - schon bei 5 Volt. Ein IRFZ braucht dafür an seinem Gate-Eingang eine wesentlich höhere Spannung. Wenn nun ein IRFZ mit 5 Volt angesteuert wird, ist der Widerstand zwischen Drain und Source eben nicht minimal sondern bedeutend höher. Trotzdem fließt ein Strom durch den Mosfet. Das führt aber dazu, dass viel Strom durch einen relativ hohen Widerstand muss was logischerweise zu einer Verlustleistung führt, die in Wärme umgesetzt wird. Das ist der Grund, warum sich der IRFZ so stark erhizt! Richtig wäre es jetzt aber, den MOSFET nicht zwangsweise zu kühlen sondern ihn durch einen "passenden" Mosfet - eben einen IRLZ Typ zu ersetzen!

Um es ganz deutlich zu sagen: einen IRFZ direkt an einen Controller-Pin zu hängen ist Murx und schlicht falsch! Wenn schon IRFZ, dann zusammen mit einem Treiber oder z. B. einem Optokoppler um ihn mit 12 Volt Gate-Spannung zu steuern.

@Hawos: die zweite Schaltungsvariante aus Deinem Eingangs-Post ist schon ok ... über die Widerstandwerte kann man ggf. noch diskutieren, aber dafür habe ich ja einen Artikel verlinkt der erklärt, wofür R1 und R2 gedacht sind und wo auch eine Beispiel-Schaltung erklärt wird, die aus meiner Sicht auch für Dich korrekte Werte verwendet. Dass dort zusätzlich ein Pegelwandler eingesetzt wird ist unerheblich, da Dein Arduino-Pin mit dem direkt vergleichbar ist. Die beiden Kondensatoren halte ich persönlich für überflüssig und sollten nur notwendig werden, wenn die Spannungsquelle nicht stabil genug ist. Ich hatte ja schon geschrieben, dass ich eine Reihe von Ventilen und Pumpem (>20) mit der Beispielschaltung aus dem von mir geposteten Beitrag betreibe. Ich verwende als Spannungsversorgung dabei ein ATX-Computer-Netzteil und das ohne weitere Schwierigkeiten. Nur die Freilauf-Diode, die in Deiner zweiten Beispielschaltung ebenfalls enthalten ist, solltest Du vorsehen. Auf Grund Deines geschilderten Verwendungszwecks hallte ich alle zusätzlichen Maßnahmen wie z. B. die Entkopplung über ein Relais für übertrieben!

mgcss:
@Hawos: die zweite Schaltungsvariante aus Deinem Eingangs-Post ist schon ok ... über die Widerstandwerte kann man ggf. noch diskutieren, aber dafür habe ich ja einen Artikel verlinkt der erklärt, wofür R1 und R2 gedacht sind und wo auch eine Beispiel-Schaltung erklärt wird, die aus meiner Sicht auch für Dich korrekte Werte verwendet. Dass dort zusätzlich ein Pegelwandler eingesetzt wird ist unerheblich, da Dein Arduino-Pin mit dem direkt vergleichbar ist. Die beiden Kondensatoren halte ich persönlich für überflüssig und sollten nur notwendig werden, wenn die Spannungsquelle nicht stabil genug ist. Ich hatte ja schon geschrieben, dass ich eine Reihe von Ventilen und Pumpem (>20) mit der Beispielschaltung aus dem von mir geposteten Beitrag betreibe. Ich verwende als Spannungsversorgung dabei ein ATX-Computer-Netzteil und das ohne weitere Schwierigkeiten. Nur die Freilauf-Diode, die in Deiner zweiten Beispielschaltung ebenfalls enthalten ist, solltest Du vorsehen. Auf Grund Deines geschilderten Verwendungszwecks hallte ich alle zusätzlichen Maßnahmen wie z. B. die Entkopplung über ein Relais für übertrieben!

Vielen Dank für diese Antwort. Ich habe jetzt versucht mit Fritzing einen entsprechenden Schaltplan zu basteln.
jetzt bin ich noch unsicher, wo die eingekreisten Enden hingehören. Gehören sie an den Ground des Arduino?
(im Anhang ein Foto und die Fritzing-Datei)
Über eine Hilfe diesbezüglich wäre ich sehr dankbar! :slight_smile:

Magnetventil.tiff (329 KB)

Magnetventil.fzz (4.63 KB)

gewöhn Dir am besten erst gar nicht an, mit Frizing zu arbeiten. Nutze lieber ein "normales" Schaltplan- und Layout-System wie KiCad oder von mir aus auch Eagle. Die Meinungen, welches besser geeignet ist (oder vielleicht doch ein ganz anderes) gehen hier im Forum auseinander. Ich perönlich nutze KiCad. Sobald es komplexer wird ist es nämlich echt ein Graus, sich durch diese Fritzing-Dinger zu wühlen!

R1 kannst Du weg lassen. Alle Roten Anschlüsse gehören verbunden und zusätlich an den GND des Arduino. Dann fehlt noch die Spannungsversorgung des Arduino. Also noch einen +12 V an VIN des Boards.