Ansteuerung mehrerer Magnetventile

Es muss immer nur ein Ventil versorgt werden, es laufen also nie 2 parallel.
Sie sollen mit DC versorgt werden.
Und jedes Ventil soll ein ic / Mikrocontroller bekommen, der die Daten auswertet und den Strom für das Ventil liefert (wenn das geht). Sonst eventuell ein Mossfet steuern der den Strom an das Ventil durchsteuert..

Jedes Relay braucht einen N-MOSFET zB IRLZ44 und eine Diode zB 1N4007 antiparalell zur Spule. Dazu noch 2 Widerstände, einerseits um den Gatestrom beim Umschalten zu begrenzen und andererseits um den MOSFET ausgeschaltet zu halten wenn die Ansteuerungsspannung (zB die 5V) fehlt aber die 12V vorhanden sind.

Diese MOSFETS müssen angesteuert werden.
Möglich sind Schieberegister oder 8 bzw 16 bit Expander mit I2C oder SPI Interface.

So können die Ventile unabhängig voneinander ein bzw ausgeschaltet werden. Damit alle Ventile gleichzeitig eingeschaltet werden können braucht es ca 120A das sind bei 12V ein Netzteil für 1,44kW !!!!.

Hast Du das bedacht???

Grüße Uwe

Hallo,
für industrielle Anwendung gibt es einen ASI Bus. Es gibt da "Anschluss-Boxen" da kann man ein normales Ventil anschliessen.
Such mal nach ASI Bus
Ich könnte mir auch eine Matrix vorstellen, Ähnlich wie man das für LED kennt. Freilaufdioden nicht vergessen.

Heinz

Na das ist doch ne Aussage.
An jedes Ventil einen Tiny85/84 und nen LeistungsTreiber.
Jetzt nur die Frage, wie die angesprochen werden sollen.
Wenn das wie Neopixel sein soll, brauchst nen Bus.
Was nicht geht SPI und blanker I2C.
Auch nicht RS485.
Was ginge: CAN oder I2C mit Externdern.
Muss man sehen, ob das auf einem Tiny noch geht.

Wieso?

Kann es 100 Slaves?

Das mit dem "es wird immer nur ein Ventil angesteuert" ist wie es arbeiten soll.
Das wird aber beim Programm entwickeln aber nicht gleich zu 100% so funktionieren.
Es besteht auf jeden Fall die Gefahr das doch mehrere Ventile gleichzeitig eingeschaltet werden aus was für Gründen auch immer.
Und da es dann auch gleich 50 oder 100 sein können würde ich da auf jeden Fall einen Überlast-Schutz einbauen. Am besten ein kurzschlussfestes Netzteil mit Störmeldeausgang der dann ein Relais aus der Selbsthaltung abfallen lässt.

Mindestens eine Schmelzsicherung 5A der Sorte superflink
Und gleich 20 Stück Ersatzsicherungen.

vgs

Ich bin mir nicht sicher ob jedes Ventil einen eigenen microcontroller braucht.
Frage an den TO:

Reicht das wenn jedes Ventil Voll Geöffnet / voll geschlossen geschaltet werden kann oder soll das Ventil noch mehr Sperenzien machen können?

Wenn voll AUF / Voll ZU reicht dann reichen Schieberegister oder
I2C MCP2307 16 Bit mit 8-fach BUS-Multiplexer.
Das Einstellen des Multiplexers geht auch über den I2C bus
Ein byte übertragen

void TCA9548A(uint8_t p_busNr)
{
  Wire.beginTransmission(0x70);  // TCA9548A address is 0x70
  Wire.write(1 << p_busNr);          // send byte to select bus
  Wire.endTransmission();
}

vgs

Hab das auch mal in Erwägung gezogen aber dann verworfen weil Magentventile nicht einfach mal kurzzeitig eingeschaltet werden können, wie das für eine Matrixansteuerung typisch wäre.

Ich tippe bei diesem Projekt mal auf ein Tropfdisplay (oder wei es genau genannt wird).
Hier ein 3 Dimensionale version:

Grüße Uwe

Naja, bei 32 ist Schluss.
Es ginge mit Multiplexern.
Muss man auch erstmal machen...

1 Like

Meintes wohl den MCP23017.
Der MCP23S17 wäre dann die SPI Version

Grüße Uwe

Jop den meinte ich. Die Wassertropfen Animation ist ja der Hammer!
Ich kannte bisher nur die gemütliche Luftblasen in Glycerin version
http://www.taomc.com/pipedream-videos/2015/4/30/pipedream-iii-ontario-science-centre

vgs

Diesen Aspekt hatte ich nicht bedacht. Danke!

Mit einem Nano oder ProMIni wäre man auf der sicheren Seite. Die Kostendifferenz dürft relativ zu den Gesamtkosten nicht ins Gewicht fallen.

Wo?
FF bei rein induktiven Lasten?

Wo? Zentral am Netzteil.

Naja wenn alle 100 aus Versehen gleichzeitig einschalten dann bin ich lieber auf der sicheren Seite. Kurzschlussfestes Netzteil wäre aber auf jeden Fall besser.
vgs

Im Hinblick auf die Charakteristik halte ich FF bei induktiver Last aber für nicht geboten.
Das wird Dir mit den 10ms Auslösezeit mächtig auf die Füsse fallen.

... würde mich ganz bestimmt nach einem umsehen, was einen (Über-)Lastabwurf initiiert. :wink:

Ich glaube der To muß uns mehr Infos geben, wie die Ventile (zeitlich) angesteuert werden müssen und was es werden soll.
Grüße Uwe

Hallo,
das wäre dann aber ein Problem der Ventile egal mit was sie angesteuert werden. Matrix bezog ich nicht auf die Anordnung sondern auf den elektrischen Anschluss. zwei I2C Ausgangsmodule und Mosfet als Leistungsschalter. z.B X-Achse plus schaltend Y Achse negativ schaltend. z.B 16X7 Matrix.

Obwohl 7x MCP23017 Port Expander 16-Bit-I/O Bidirektional Expander mit I2C wird letztlich einfacher sein, ink Leistung allerdings auch etwas teurer.

Heinz

Auch ich bezog mich auf die elektrische Ansteuerung der Ventile.
Wenn Du die Ventile in einer 16x7 (elekrisch) Anordnung ansteuerst heißt das daß immer nur 16 Ventile an sein können und max 1/7 der Zeit.
Andererseits können Ventile nicht so schnell angesteuert werden wie zB LED. Das reduziert die Umschaltfrequenz der Matrix extrem. Würde sagen daß ma irgendwo zwischen 1 und 10Hz sind darum dauert ein Matrix-Zyklus zwischen 0,7 und 7 Sekunden.

Grüße Uwe

Wenn ich das richtig verstanden habe, soll immer nur 1 von 100 offen sein. Die Zeitfrage stellt sich also gar nicht in dieser Form.