12V 5050 LED Steuerung einlesen

Hallo Zusammen,

ich habe ein Motherboard von MSI mit einem 12V 4 Pin (12V,R,G,B) Header an dem ich herkömmliche RGB Lüfter oder 5050er LED Streifen anschließen kann. Soweit so gut. Jetzt habe ich aber ein paar Lüfter welche digital ansteuerbare LED haben. Das ganze ist ja erstmal nicht kompatibel miteinander.

Die, ich nenne sie jetzt mal ARGB Lüfter, habe ich bereit mittels Arduino und Adafruid lib angesteuert.

Jetzt würde ich gerne ein konverter bauen, mittels Arduino, welches mir aus dem 12V RGB Signalen ein für mich im Ardunio verwertbares ARGB signal erzeugt, welches ich an die Lüfter ausgeben kann.

Meine Frage ist nun: Was muss ich hierfür am Arduino tun und wie sieht die evtl dazugehörige Hardware aus?! Ich vermute mal, das ich das nicht direkt am Arduino einesen kann?!

Für Tipps und Hilfe bin ich sehr dankbar.

viele Grüße

Hi

RGB-Lüfter - hast Du einen Link? Ein 'handelsüblicher' PC-Lüfter mit 4 Pin hat +12V, GND, Tacho (out), PWM (in) Einen 3-Pin PC-Lüfter kann man nicht dimmen, wenn man das Tacho-Signal braucht - und die Mainboards haben die Angewohnheit, auf die Drehzahl der Lüfter zu achten.

Gib Mal einen Link zu dem Motherboard, zu der Schnittstelle müsste Da ja irgend etwas zu stehen.

MfG

Es geht nicht um die Drehzahl des Lüfters. Das ist eine andere Baustelle. Ich spreche von RGB (Rot,Grün, Blau). Es geht nicht um eine Lüfter Regelung sondern um eine LED beleuchtung am Lüfter. Hierzu hat der Lüfter zwei anschlüsse, einen 3 PIN für die Stromversorgung des Lüftermotors, und einen 4 Pin für die Steuerung der RGB Beleuchtung (5V,Masse, DI, DO). Gerne mal ein Link wie sowas aussieht :

https://www.amazon.de/Aerocool-Orbit-PC-L%C3%BCfter-RGB-Beleuchtung-gebogene/dp/B07DDMQ9JJ/ref=sr_1_1?ie=UTF8&qid=1547203740&sr=8-1&keywords=aerocool+orbit

Die Schnittstelle von der ich spreche ist ein Ausgang am Motherboard um 5050 LED's zu steuern. Mir gehts nur darum wie ich das erzeugte Signal für die 5050 RGB LED in ein für mich benutzbares Signal zurückverwandeln kann.

Hi Soweit hatte ich Das schon befürchtet ;) Allerdings lässt sich der Hersteller nicht wirklich zu Aussagen herab - was ist das 'Modul', Welches benötigt wird? Auch stören mich die 11 verschiedenen Modi 'etwas' - wenn der Lüfter selber schon rumblinkt wie eine Weihnachtskette, ist Da nicht viel mit zu machen. Wenn diese Modi vom Motherboard kommen und dort auf die Signale der Fernbedienung geartet wird, könnte man versuchen, diese Fernbedienung zu emulieren.

... oder man steuert den Lüfter wie eine normale RGB-Lichterkette an, Dauer Plus und 3 PWM-Minus. Dafür müsste aber klar sein, ob die Lüfter-LEDs Das auch so haben wollen - Datenblatt ist mir bei Amazon nicht unter die Funger gekommen - hast Du was?

MfG

Danke für dein interesse. Aber leider hast Du nicht wirklich verstanden was ich möchte. Liegt vermutlich an meiner unfähigkeit das gut zu erklären. Ich habe aber, mittlerweile, eine idee wie ich das ganze angehen könnte.
Grüße

oleri:
ich habe ein Motherboard von MSI mit einem 12V 4 Pin (12V,R,G,B) Header an dem ich herkömmliche RGB Lüfter oder 5050er LED Streifen anschließen kann. Soweit so gut. Jetzt habe ich aber ein paar Lüfter welche digital ansteuerbare LED haben. Das ganze ist ja erstmal nicht kompatibel miteinander.

Du hast eine PC Platine die RGB LED in einem Streifen oder in einem Lüfter eingebaut ansteuern kann.
Du hast des weiteren einen Lüfter mit RGB-LED die irgendwie anzusteuern sind.

Wie glaubst Du sollen wir wissen was Du hast und wie die unbekannten teile funktionieren sollen?

Die Gebrauchsanweisung des Motherbord gibt keine Infos? Welche Lüfter hast du die Du ansteuern willst?

Grüße Uwe

Du hast eine PC Platine die RGB LED in einem Streifen oder in einem Lüfter eingebaut ansteuern kann. Du hast des weiteren einen Lüfter mit RGB-LED die irgendwie anzusteuern sind.

Wie glaubst Du sollen wir wissen was Du hast und wie die unbekannten teile funktionieren sollen?

Die Gebrauchsanweisung des Motherbord gibt keine Infos? Welche Lüfter hast du die Du ansteuern willst?

Da liegt schon das Verständigungsproblem :-) Das Motherboard gibt einfach nur das Signal aus um eine 5050 LED zu steuern. Dieses Signal möchte ich im Arduino einlesen.

Das Motherboard gibt 12V RGB-M aus um 12V 5050 LED streifen zu steuern. Das ganze passiert per PWM Singal. Ich möchte eigentlich nur wissen, wie ich mit dem Arduino ein bzw 3, 12 V PWM Signal(e) einlese und diese in verwertbare Werte umwandele. Verstanden habe ich, das ich die 12V auf 5 V reduzieren muss, klar (ich denke Spannungteiler) ... wie löse ich das im Arduino?

Meine Frage ist, kann ich die PWM Signale einlesen und auswerten? Was benötige ich dazu?

Wenn ich das richtig verstehe, steuert das Motherboard per PWM die 3 Farb-LED an. Der Lüfter hat aber eigene Treiber und will ein digitales Signal. DI und DO, zusammen mit Masse und +Vcc(5V). Hört sich etwas wie ein USB-Anschluss an.

Wenn ich also richtig verstehe wird der Lüfter via USB mit Daten versorgt wie er leuchten soll. Dann müsste der Hersteller die Protokolldokumentation bereit stellen. Denke nicht das es hier eine Norm gibt, an die sich alle halten. Statt dessen wird er einen Treiber liefern, dessen API beschrieben ist.

Musst mal nach development suchen oder Supportinfos. Wird zu 99,999% in Fachenglisch sein. Dort wird beschrieben, was man der API übergeben muss für die gewünschten Funktionen. Das musst dann im Arduino nachbauen und seriel verschicken an den USB-Anschluss. Und die Informationen dir aus dem digitalisieren der PWM-Signale holen.

3 Analogeingangspins messen die PWM-Spannung die entsteht, berechnen daraus eine Farbinformation und setzen das als USB-Datenpaket um für den Lüfter....so oder Ähnlich. Aber für genauere Hinweise müsste man mehr über die Dokumentation des Lüfters wissen.

chefin: Wenn ich das richtig verstehe, steuert das Motherboard per PWM die 3 Farb-LED an. Der Lüfter hat aber eigene Treiber und will ein digitales Signal. DI und DO, zusammen mit Masse und +Vcc(5V). Hört sich etwas wie ein USB-Anschluss an.

Wenn D+ und D- dran stehen würde, wäre ich Deiner Meinung mit USB. DI und DO hört sich eher nach WS2812B oder sowas an. Daten Eingang und Daten Ausgang. Dann kann man am Kontroller einfach die Lüfter hintereinander hängen.

Wenn ich so einen Lüfter hätte, würde ich mal das Ding über einen genügend großen Widerstand am DI an den Arduino hängen und mal mit WS2812B Protokoll versuchen... Führt hoffentlich nicht zu magischem Rauch...

Edit: Muß sowas sein. Es gibt auch Mainboards die direkt die Lüfterfarben und Effekte steuern können. Außerdem auch reine RGB Strips die dafür ausgelegt sind, wie z.B. https://www.amazon.de/dp/B07MDY914L/ref=asc_df_B07MDY914L58359139/: Aufgrund des Aussehens der LEDs tippe ich auf WS2812B.

Gruß, Jürgen

OK! Also dann, da keiner verstehen mag das ich NUR PWM einlesen möchte, erläutere ich hier jetzt auch wieso:

Es gibt aktuell zwei typen an Motherboard LED Steuerungen. Einmal die für die 5050LEDS (welches ich habe) mit 12V RGBM anschluss und einmal die für 5 Volt LEDS die WS2812. Hier gibt es ein DI und DO und 5V und Masse. Da beide nicht kompatibel sind möchte ich hierfür kombatibilität schaffen. ICH WEISS BEREITS wie ich den vorhandenen mit WS2812 bestückten LED-Lüfter ansteuere. Das geht ohne Probleme! Was ich nicht weiß, darum meine Frage hier: Wie kann ich den Arduino an mein 12V RGBM Anschluss anschließen ? Denn da wird ja ein Singal zur Ansteuerung der 5050 LED'S rauskommen ?!

Mein Vorhaben dann, das Signal im Aruino umzuwandeln und dann meine ws2812 syncron hierzu laufen zu lassen ...

Ich hoffe mein vorhaben und Anfrage sind nun klarer?!

Das habe ich in meinem letzten Absatz dir geschrieben. Ich weis nicht genau wie weit du Postings liest.

PWM-Signale liest man ein indem man sie mit einem Kondensator integriert oder die Zeit der Impulse misst.

Genaue Daten kann man nicht sagen, da jeder Hersteller sein PWM etwas anders erzeugen kann. Grundfrequenz könnte 1 KHz sein wie beim Arduino, aber auch mehr oder weniger und demenstprechend muss man seine Schaltung anpassen. Und da der Arduinio maximal 5V verkraftet, muss man das Signal das man Messen will mit einem Spannungsteiler anpassen.

Musst dich also nun entcheiden ob du Kondensator-Schaltung berechnen willst oder lieber eine Zeitmessung mit digitalem Eingang machst

Naja die 5050 LED brauchen ja ein bestimmtes PWM singal, denke ich. Da ist doch nichts mit "jeder hersteller hat sein eigenes" oder?

Dann probieren wir mal kleine Schritte von vorne: Wenn du parallel zu deinem LED streifen ein Voltmeter anschließt und dann dein Mainboard dazu bringst die 5050 unterschiedlich anzusteuern, welche Spannungen misst du dann am Voltmeter von - bis?

Ich messe:

Zwischen den mit 12v gekennzeichneten Pin und einem der RGB Pins Messer ich Spannungen von 0-12 Volt. Je nachdem welche Farbe ich in welcher Helligkeit ausgeben lasse.

Würde es also langen, die 12v mit einem Spannungsteiler auf 5 Volt zu bringen und dann mit nem Matching von 0-1023 auf 0-255 mir die Spannungen so als RGB Werte in den Arduino einzugeben? Kann mir also das PWM singal welches die 5050 LED's benötigen für mein aktuelles vorhaben egal sein?

2.Frage Wie schaut es technisch aus, wenn ich das Signal durch den Arduino "durchschleifen" möchte um weitere 5050 Leds zu steuern?

zu ersterem. Aha du misst einen Spannungsänderung, interessant oder? ich würde jetzt noch einen Versuch machen in den Messkreis eine Diode, einen kleinen Elko zum Glätten des Signals und dann über einen Spannungsteiler mal in einen Arduino. Ein Oszi würde die Dimensionierung des Elkos erleichtern.

Legen die 12V R G B nicht nahe, dass R G B direkt auf die Drains von MOSFETS gehen?

Könnten die nicht ebensogut die 5V eines INPUT_PULLUP schalten? Ich setze mal eine gemeinsame GND Leitung voraus.

Dann käme man ganz ohne zusätzliche Hardware aus und die Messung könnte man mit zwei pulseIn() machen.

Will man besonders vorsichtig sein, könnte man auch Optokoppler über die MOSFETS schalten, dann könnte man den Arduino völlig isoliert halten.

Whandall: Legen die 12V R G B nicht nahe, dass R G B direkt auf die Drains von MOSFETS gehen?

Könnten die nicht ebensogut die 5V eines INPUT_PULLUP schalten? Ich setze mal eine gemeinsame GND Leitung voraus.

Dann käme man ganz ohne zusätzliche Hardware aus und die Messung könnte man mit zwei pulseIn() machen.

Will man besonders vorsichtig sein, könnte man auch Optokoppler über die MOSFETS schalten, dann könnte man den Arduino völlig isoliert halten.

Ja, da werden vermutlich nur MOSFETs drin sein die gegen GND schalten.

Den PULLUP einschalten und den Eingang direkt anschließen wird nicht gehen, da der TO auch noch LEDs direkt anschließen möchte. Vermutlich wird die Optokopplerlösung das beste sein, vorausgesetzt das drei PulseIn() gleichzeitig funktionieren. Drei wegen 3 Farben.

Wenn 3 PulseIn() gleichzeitig nicht gehen, muß an jeden Ausgäng irgendein Push-Pull-Treiber und dahinter dann ein Widerstand und ein Kondensator. Dann muß man eben den Wert analog einlesen und damit dann eben wieder die Signale für die WS2812B erzeugen.

Push-Pull-Treiber deshalb, weil der Ausgang des Mainboards zu 99% nur ein Open-Kollektor oder Open-Drain Ausgang ist und damit die Leitung immer nur gegen Masse ziehen kann. Um die PWM glätten zu können braucht man aber einen Ausgang der aktiv Richtung Betriebsspannung und GND schaltet.

Übrigens ist das Signal noch invertiert. Viel High am Ausgang = dunkle LED, wenig High am Ausgang = Helle LED.

Gruß, Jürgen

Katsumi_S: ...vorausgesetzt das drei PulseIn() gleichzeitig funktionieren. Drei wegen 3 Farben.

Wie kommst du auf die Idee dass man die pulseIn gleichzeitig machen müsste?

Ich würde HIGH und LOW Phasen der einzelnen Farben hintereinander messen.

Wie kommst du auf die Idee, dass man mehr als ein pulseIn gleichzeitig machen könnte?

michael_x: Wie kommst du auf die Idee, dass man mehr als ein pulseIn gleichzeitig machen könnte?

Ein ESP32 müsste zwei gleichzeitig können.