Mehrere Lüfter mit Arduino UNO + 12 Volt Netzteil steuern

Hall zusammen!

Nach einigen Stunden mit der Suche im Netz wende ich mich an die Experten des Forums. Ich hoffe, ihr könnt mir mit meinem aktuellen Vorhaben helfen, da ich eher als Beginner in Arduino unterwegs bin und schnell an meine Grenzen gekommen bin.

Was möchte ich machen?
Ich möchte eine Box bauen, in der mehrere Lüfter verbaut sind (4 - 6 Stück). Diese sollen mittels vvvv über die StandardFirmata gesteuert werden können. Also digitale Werte sollen jeden Lüfter individuell schnell drehen lassen. Dazu nutze ich ein Arduino UNO und habe mehrere Lüfter parat:

  • 5V (2 Kabel)
  • 12V (2 Kabel)
  • 12V (3 Kabel, also + PWM-Kabel)

Was habe ich bisher geschafft?

Aktuell konnte ich folgende Lösung steuern lassen, die aber nicht wirklich zuverlässig funktioniert, da das Arduino mit 5 Volt sehr schwach ist. Mit mehreren Lüftern würde dies wohl noch schwieriger werden.

Möglichkeit mit 12V zusätzlichem Strom, aber wie?

In diversen Foren habe ich gelesen, dass man 12V Lüfter mit einer zusätzlichen Stromquelle befüttern kann. Also ein 12V-Netzteil wird mit einem kleinen "Power-Supply" an das Breadboard angeschlossen und versorgt so die Lüfter mit Strom. Die Steuerung der Lüfter wird über das Arduino erledigt. Das wäre wohl für meine Lüfterbox die beste Lösung.

Meine Fragen hierzu:

  • Welches "Power-Supply" ist hier gut geeignet. Ich habe hier ein kleines, dass 3 Pins besitzt und Kabel laienhaft dazugelötet. Allerdings sind in allen Bildern von Schaltungen im Netz nur 2 Anschlüsse angegeben. Welcher Anschluss bedeutet was? Sind die Angaben hier richtig?

  • Welche Sorte von Lüftern sind hier sinnvoll? Ein Lüfter mit einem PWM-Anschluss (also 3-Pin Molex) braucht man hier wohl nicht, nehme ich an?

  • Wie schaut eine sinnvolle Schaltung aus, bei der mehrere Lüfter gesteuert werden können (über Digital Out) und ein 12V-Netzteil angeschlossen werden kann? Gerne hier ein Fritzing-Schaltplan als Bild. Das würde mir sehr weiterhelfen. Danke!

Ich danke vorab für Eure Hilfe. Ungern möchte ich mit dem zusätzlichen Netzteil für irgendwelche Kurzschlüsse sorgen.

Beste Grüße
hcsukram

Endlich mal ein Newbie, der weiß wie man eine Frage stellt :wink:

Diese sollen mittels vvvv über die StandardFirmata gesteuert werden können.

Das verstehe ich nicht. Was soll "vvvv" bedeuten? Oder stellt das einen Widerstand dar?

Dein "PowerSupply" ist ein PowerJack, und somit lediglich der Stromanschluss. Der 3. Pin sollte die 2. Masse sein. Muss nicht mit angeschlossen werden. Auf Platinen macht das aber Sinn, diese aufzulöten, da die Buchse dann besser hält.

PWM-Lüfter haben soweit ich das noch weiß, keinen 3-Pin Molex Anschluss, sondern einen 4-Pin Molex Anschluss. 2x für Stromversorgung, 1x Tachosignal, 1x PWMSignal.

Der Lüfter mit den drei Anschlusskabeln kommt sicher lich aus dem PC-Bereich, da gibt es den Minus- und den Pluspol und eben das letzte Kabel für die Drehgeschwingigkeit, also ein Tachosignal als Ausgang. Dies ist ein Open Collector und zieht den Ausgang dann zweimal je Umdrehung auf Masse. Die Geschwindigkeitsauswertung funktioniert nicht, wenn du den Lüfter über eine PWM mit einem bipolaren NPN-Transistor oder einem N-Channel-FET betreibst.
Deine als Bild gepostete Lösung sagt erst einmal wenig... Ist das ein FET oder ein bipolarer Transistor? Im ersten Fall würde ich dem noch einen Pulldown-Widerstand verpassen, im zweiten Fall fehlt ein Basiswiderstand.

"Powe Supply" bedeutet hier nicht Netzteilbuchse, sondern einfach nur Spannungsquelle. Je nach Steckerbelegung des Netzteils kann hier eine andere als in deinem Bild gezeigte Polarität anliegen. Im Zweifel nachmessen, auch was die Belegung der Pins betrifft. Allgemein gibt es auch Datenblätter für diese Buchsen, wo das alles drinsteht, ob eventuell Schaltkontakte verbaut sind usw. (trifft hier eher nicht zu).

Zum Anschluss möchte ich dir diese Übersichten ans Herz legen: http://pgdev.pighixxx.com/ABC/SET/s1.pdf

Das verstehe ich nicht. Was soll "vvvv" bedeuten? Oder stellt das einen Widerstand dar?

vvvv ist eine Entwicklungsumgebunghttp://de.wikipedia.org/wiki/Vvvv, mit der man auch Komponenten am Arduiono-Board steuern kann. Als Schnittstelle dient hier die "StandardFirmata". Ist die auf das Board geladen, kann man komplett in vvvv "coden". Dazu sollten die Lüfter an den Digital angeschlossen sein.

Dein "PowerSupply" ist ein PowerJack, und somit lediglich der Stromanschluss. Der 3. Pin sollte die 2. Masse sein. Muss nicht mit angeschlossen werden. Auf Platinen macht das aber Sinn, diese aufzulöten, da die Buchse dann besser hält.

Super, dann ist mit der Frage schonmal geholfen. Vielen Dank!

PWM-Lüfter haben soweit ich das noch weiß, keinen 3-Pin Molex Anschluss, sondern einen 4-Pin Molex Anschluss. 2x für Stromversorgung, 1x Tachosignal, 1x PWMSignal.

Das heißt, dass grundsätzlich ein Lüfter über 2 verbindungen zum Stromanschluss braucht? Also GND und 12V und das dritte Kabel dann an einem "Digital Out" des Arduinos angeschlossen.

Das dritte Kabel kommt wenn dann auf einen Digital IN :wink:

sth77:
Der Lüfter mit den drei Anschlusskabeln kommt sicher lich aus dem PC-Bereich, da gibt es den Minus- und den Pluspol und eben das letzte Kabel für die Drehgeschwingigkeit, also ein Tachosignal als Ausgang. Dies ist ein Open Collector und zieht den Ausgang dann zweimal je Umdrehung auf Masse. Die Geschwindigkeitsauswertung funktioniert nicht, wenn du den Lüfter über eine PWM mit einem bipolaren NPN-Transistor oder einem N-Channel-FET betreibst.
Deine als Bild gepostete Lösung sagt erst einmal wenig... Ist das ein FET oder ein bipolarer Transistor? Im ersten Fall würde ich dem noch einen Pulldown-Widerstand verpassen, im zweiten Fall fehlt ein Basiswiderstand.

Danke für die genaue Erläuterung. Der Transistor ist ein BC 547C BC 547C: Bipolartransistor, NPN, 45V, 0,1A, 0,5W, TO-92 bei reichelt elektronik

Zum Anschluss möchte ich dir diese Übersichten ans Herz legen: http://pgdev.pighixxx.com/ABC/SET/s1.pdf

Vielen Dank! Noch sagt mir das nicht viel. Ideal wäre hier eine Fritzing-Schaltung, die mir zeigen kann, wie das ganze gesteckt wird.

sschultewolter:
Das dritte Kabel kommt wenn dann auf einen Digital IN :wink:

Super! Vielen Dank für die schnelle Hilfe. Dann werde ich mich mal damit versuchen und mich nochmals melden, wenn alles funktionier! :slight_smile:

Kann mich dem was sschultewolter gesagt hat nur anschließen.
Gut verständlich und sogar mit eigeninitiative ^^ (nicht wie ich :D:D )

Zu deinem Vorhaben:
Ich bin selbst Anfänger, also warte meine Aussagen erstmal ab, bis ein Experte hier das bestätig hat oder mir auf die Finger haut :smiley:
aber ich glaube du brauchst für deine Anwendung irdendeinen Spannungswandler.
Das Problem ist, dass das Arduino 5V ausgibt und als Spannungsquelle auch ungeeignet ist.
Die Lüfter haben unter umständen eine zu große Stromaufnahme und selbst wenn das passt, kommt man mit 5V bei normalen PC Lüftern nicht weit. (die meisten fangen erst bei 7V+ an überhaupt was zu machen...)

Du brauchst also zusätzlich etwas dass dir aus 5V->12V macht (Spannungswandler) oder besser ein Modul, das mit 12V versorgt wird und somit die Lüfter versorgen kann. Damit ist das Arduino was die Versorung angeht schonmal entlastet.
Gleichzeitig soll dieses Modul mit dem Arduino kommunizieren (dafür ist dann aber auch wieder ein Spannugswandler nötig, da ein 12V Signal zu viel für das Arduino sind).
Vielleicht gibt es da sogar schon was fertiges "von der Stange", was deinem Zweck dienen kann.

Sollte ich etwas falsch verstanden haben oder etwas an meiner Aussage falsch sein, dann bitte ich um Korrektur - ich will keine falschen Hinweise geben.

Leon333:
Das Problem ist, dass das Arduino 5V ausgibt und als Spannungsquelle auch ungeeignet ist.
Die Lüfter haben unter umständen eine zu große Stromaufnahme und selbst wenn das passt, kommt man mit 5V bei normalen PC Lüftern nicht weit. (die meisten fangen erst bei 7V+ an überhaupt was zu machen...)

Daher stand ja auch gleich im Startposting, dass man hier mit höheren Spannungen arbeiten muss. In der Skizze ist hierzu ein 12V-Anschluss berücksichtigt worden, das Foto für die Buchse hat auch eine 12V-Beschriftung.

hcsukram:

sschultewolter:
Das dritte Kabel kommt wenn dann auf einen Digital IN :wink:

Super! Vielen Dank für die schnelle Hilfe. Dann werde ich mich mal damit versuchen und mich nochmals melden, wenn alles funktionier! :slight_smile:

Wie gesagt, das wird mit der Geschwindigkeitsauswetung wegen des Open Collectors in Kombination mit dem npn nicht funktionieren...

Der Transistor bringt übrigens nur 100 mA maximal, je nach Lüfter ist der also schon stark unterdimensioniert.

Statusupdate:

Juhuuu. Es läuft soweit (siehe Bild). Leider hat dein Schaltplan, sschultwolter, nicht viel gebracht, aber hat mir ein Grundverständnis für eine Schaltung mit einem 12 V Netzteil gebracht. Danke! Deswegen habe ich mich nochmals auf meine Zwischenlösung mit einem Lüfter orientiert und es geht soweit auch mit 2 Stück.

Was mir hier auffällt:
Die Lüfter summenetwas. Ist das normal, oder sollte hier sicherheitshalber etwas zwischengeschaltet werden? Ich möchte nichts beschädigen. Auch sind die Lüfter (5V Lüfter) trotzdem ein wenig schwach und wechseln ihre Geschwindigkeit langsam (ca. 2-5 sec). Die zwischengeschaltenen schwarzen Transistoren auf dem Steckbrett sind folgende: BC 547C BC 547C: Bipolartransistor, NPN, 45V, 0,1A, 0,5W, TO-92 bei reichelt elektronik

Du solltest wie schon gesagt unbedingt einen Basiswiderstand von ca. 500-1000 Ohm zwischen den Ausgangs-Pin und die Basis bauen!

Der Lüfter summt weil die PWM Frequenz nur 490Hz beträgt. Wie man das beheben kann ist hier beschrieben:
http://forum.arduino.cc/index.php?topic=198494.0
http://playground.arduino.cc/Main/TimerPWMCheatsheet

Es gibt aber auch Lüfter, die PWM an sich nicht gut vertragen, weil sie schon eine Elektronik eingebaut haben und dann Geräusche machen wenn man diese durcheinander bringt.

Außerdem solltest du mal die Leistung deines Lüfters anschauen. Wenn der mehr als 100mA zieht, sollte man auf einen Transistor aus der BD-Serie, einen TIPxxx Darlington oder am besten gleich einen FET umsteigen. Selbst wenn er gerade an der Grenze ist, ist das u.U. nicht gut was das Schaltverhalten betrifft.

@th77: nur weil in einer Zeichnung ein breadboard mit 12V steht heißt das noch lange nicht, dass man auch weiß, wie man dorthin kommt oder warum das so nicht direkt geht. Sicher ist sicher, daher mein Hinweis, damit er sich das Arduino nicht zerschießt.

Mich persönlich betrifft es nicht, aber wenn du (hcsukram) eine einfache Möglichkeit gefunden hast die Lüfter zu steuern, wäre es bestimmt auch für andere Hilfreich, wenn du (am Ende dann) beschreiben könntest, wie so etwas geht und es veröffentlichst.

Anonsten noch viel Erfolg beim ansteuern ^^

Vielen Dank für eure Hilfe. Keine Frage. Wenn alles reibungslos läuft, werde ich das genauer dokumentieren. Noch möchte ich nicht für falsche Hoffnungen sorgen.