Pwm Computerlüfter in home assistant einbinden

Guten Tag

Ich bin neu in dem ganzen Thema.

Ich versuche momentan 3 Computerlüfter in mein Home Assistent zu integrieren. So das sie steuerbar und ablesbar sind. Dafür hatte ich mir als erstes ESP32 Entwickler Boards. Leider hab ich mich im Vorhinein nicht genug informiert. Es scheint sehr schwer zu sein das 3.3V Signal auf 5V zubringen. Daher suche ich nun einen neuen Chip der auch mit 5V PWM Signalen arbeitet. Dabei bin ich auf den arduino Nano gestoßen damit sollte es klappen. Nun eine Frage zur Verkabelung


Klappt das so ?
Das usb-C Kabel knipse ich einfach durch. Welche Pins ich genau benutzen muss werde ich auch noch schauen wenn es denn so funktionieren sollte.
Verwendete Bauteile:
Arduino Nano
Bequit silent Wings 3 1600rpm 12V 0,5A max
Phobya Netzteil auf Molex 12v und 5V Output

Vermutlich nein.
Wenn überhaupt, braucht jeder Lüfter 2 eigene Pins am Nano.

Eigentlich nicht. Da braucht es nur 5Volt und einen passenden Transistor.

Hallo dodelhodel3

Herzlich Willkommen im besten Arduino Form der Welt :slight_smile:

Überprüfe die Stromaufnahme der Lüfter. Die darf den PWM-Port am Arduino nicht überfordern.
Sonst einen Signalverstärker (ULN 2xxx) nehmen oder einfach nochmal rechnen ob man nicht jeweils einen PWM-Port vom Nano für einen Lüfter nimmt.

Viel Spass beim Basteln

Mit mit jeweils einem Pin für Pwm Signal und Tacho sollte es klappen? (Hab gelesen da kommt kein richtiges Signal wenn man alle auf einen legt)

Und warum zeigst du das dann so ?

Das war ein Fehler meinerseits. Ich hatte es beim Zeichenen nicht im Kopf.

Ok...und die 5Volt PWM reichen den Lüftern ?

Jedes Tachosignal braucht einen Pin am Microcontroller.
Alle drei Lüfter können mit dem gleichen PWM Signal gesteuert werden. Das Tachosignal braucht einen Pulluptransistor Pullupwiderstand (interner oder externer des Microcontrollers) da der Ausgang ein Open Kollektor Ausgang ist.

Die ULN2xxx sind keine Signalverstärker sondern Transistorarrays, also eine Transistorleistungsstufe. Diese schalten nur den Ausgang auf Masse. Ein Transistor mit Basiswiderstand könnte weniger Aufwand sein.

Die Tachosignale können nicht zusammengeschaltet werden. Elektrisch wegen des Open Collektor Ausgangs ist das kein Problem, es geht nichts kaputt, Signaltechnisch hat das aber nicht den geringsten Sinn.

Hier die Spezifikation eines österreichischen Lüfterherstellers.

und eine von Intel:

Intel schreibt in 2.1.4
PWM Frequenz 25kHz ; (zwischen 21kHz und 28kHz)
max Spannung LOW Signal : 0,8V
Max Strom des PWM Pins bei Kurzschluss mit Masse: 5mA (vom Pullupwiderstand im Lüfter)
Absolut max Spannung : 5.25V
Das PWM Signal muß im Lüfter mit einem Pullupwiderstand auf max 5,25V gezogen werden; Neue Lüfterdesigns sollen den Pullupwiderstand auf 3,3V schalten.

Und bedenkend 2.2 des Dokuents, Zusammenfassend:
Das PWM Signal soll von einem Open Collektor oder Open Drain Ausgang stammen (Ansteuerung); 25kHz Frequenz haben. und der Ausgang muß mindestens 5mA schalten können.

Ob man einen Lüfter mit 5V Pullup oder einen mit 3,3V Pullup hat kann man leicht mit einem Multimeter messen. Masse und Versorgungsspannung des Lüfters anschließen und die Spannung des PWM Signals gegen Masse messen.
In beiden Fällen müßt man ein 5V oder 3,3V Signal anschließen können.

Der Pullupwiderstand auf der PWM Leitung im Lüfter garantiert bei einem Ausfall des PWM Signals daß der Lüfter max Drehzahl dreht.

Grüße Uwe
[EDIT] Fehler korrigiert: Pulluptransistor zu Pullupwiderstand [/EDIT]

Du meinst bestimmt Widerstand (Resistor) anstelle von Transistor.

Gruß Tommy

ja.
Danke
Uwe

@uwefed
Vielen Dank für die ausführliche antworten. Die hat mir sehr weitergeholfen. Dann werde ich mal heute mal das Signal des Lüfters messen.
Zu denn Lüftern konnte ich leider noch keine so ausführlich datasheet finden. Da muss ich dann heute nochmal suchen

@uwefed
Würdest du den arduino eher über einen stepDown(12V-5V) versorgen und damit auf den 5Vpin oder über denn vin direkt mit denn 12V?

Mir ist nicht klar was Du alles an den Arduino anschließen willst.
Außerdem weiß ich nicht welches Arduino Model bzw Microcontrollerboard verwenden willst.
Grüße Uwe

Ich verwende einen Arduino Nano every ATMEGA4809. Daran sollen lediglich die Signal und Tacho Pins des Lüfters angeschlossen werden. Die Stromversorgung der Lüfter läuft über einen 12V Anschluss. Geplant sind erstmal 3 Lüfter evtl. Werden auch 6 angeschlossen wenn das problemlos möglich ist.

@uwefed
Es gibt noch eine dritte Möglichkeit denn arduino mit Strom zu versorgen. Dabei würde ich ein Micro usb Kabel durchschneiden und die 5V des pull downs anschließen.
Das problem was ich momentan habe ist welche Möglichkeit am besten geeignet wäre.

Was willst Du damit machen? Nichts messen, Nichts weiterleiten, Keine Eingangsgrößen. Nach welchen Kriterien willst Du die Lüfter steuern?

Grüße Uwe

Du kannst auch per Seriell was machen... Wobei ich MQTT sehr viel schöner finde.

und wie soll dieser Microcontroller ohne Wifi, ohne Ethernet in Home Assistant eingebunden werden?

Wege seh ich da einige:

  • Eventuell kann man über die Serial Integration abbilden
  • Man schreibt sich eine Serial2MQTT Bridge für den PC
  • Man hängt einen WIFI/ETH Chip an den 4809 dran