RGB-LED flackert mit PWM

Ich habe nur Probleme mit dem Flackern der RGB-LED bei niedrigem Arbeitszyklus wie 10 % Einschaltdauer bei 780 Hz. Ich habe versucht, die PWM-Frequenz auf eine niedrigere und höhere Rate zu ändern, aber ich sehe immer noch ein Flackern bei niedrigem Arbeitszyklus (pünktlich). Dieses Flackern tritt nur auf, wenn ich mehrere MCUs (PIC18F87J11 mit 8-MHz-Oszillator) an eine einzige Spannungsquelle (15 Volt) anschließe. Ich brauche etwas Feedback, damit ich verstehen kann, was das Problem verursacht, da ich nicht viel über Elektronik weiß. Hier ist eine kurze Zusammenfassung des Problems.

Wenn 1 MCU an 12 Volt angeschlossen ist, gibt es unabhängig von der PWM-Frequenz oder dem Arbeitszyklus überhaupt kein Flackern.

Je mehr MCU ich hinzufüge, desto mehr Flackern würde ich sehen. In meinem Fall habe ich 15 MCU an eine 15-Volt-Stromversorgung angeschlossen. Bei niedriger Einschaltdauer sehe ich ein Flackern der RGB-Leuchten. Bei hoher Einschaltdauer gibt es jedoch überhaupt kein Flackern. Auch ein leichtes Absenken der PWM-Frequenz hilft beim Flackern bei niedrigem Tastverhältnis, aber insgesamt ist das Flackern sichtbar und störend.

Einige Fragen ..

  1. Was ist die am besten empfohlene PWM-Frequenz für RGB-Leuchten?
  2. Kann ich dieses Flackern immer noch ohne Hardwareänderungen vermeiden, nur Software?
  3. Können Sie mir helfen zu verstehen, wie und was das Flackern verursacht?

Danke!

Geben Sie hier die Bildbeschreibung ein

Können Sie uns den Schaltplan für eine "MCU" zeigen? Ohne diese Art von Details würden wir nur raten. Außerdem haben Sie das Tag "Arduino" verwendet. Ist das überhaupt relevant, oder hast du das nur eingeworfen, um uns zu verwirren?
Es könnte eine Art "Beat"-Frequenz sein, aber ohne weitere Informationen können wir das nicht sagen.
@DaveTweed, ich habe das Ardunio-Tag hinzugefügt, da einige Leute aus dieser Welt ähnliche Probleme hatten und ich dachte, dass sich alle Informationen / Rückmeldungen auf PIC-Mikrocontroller beziehen würden. Ich kann die Schaltpläne aus Arbeitsgründen nicht wirklich posten (ich bin nicht derjenige, der das Board entworfen hat), aber ich habe etwas gepostet, das möglicherweise / möglicherweise nicht hilft. Wenn Sie einige Antworten auf das finden könnten, was Sie vermuten würden, wäre das zu schätzen. Lassen Sie mich für weitere Fragen wissen.
Hoffentlich ist dies eine sinnlose Frage, aber wie schnell flackern Ihre LEDs? Ich habe etwas Ähnliches gesehen, aber das Problem stellte sich heraus, dass die LEDs selbst zum Blinken gebaut wurden. Ich bin mir nicht sicher, wie sich diese Dinger unter PWM verhalten.
Bitte! Bitte entfernen Sie das Arduino-Tag. Das hat nichts damit zu tun. Es ist, als würde man eine Klimaanlage anhängen, weil jemand, der eine Klimaanlage hat, ein ähnliches Problem hat.
@user30997, nicht zu schnell und nicht zu langsam. Die LEDs funktionieren gut mit 1 MCU, die an 12 Volt angeschlossen sind. Erst wenn ich anfange, weitere MCUs hinzuzufügen, sehe ich das Flackern.

Antworten (2)

Schnelle Antwort - nein, Sie können dies nicht ohne einige Hardwareänderungen zum Laufen bringen.

Ich hoffe auf jeden Fall, dass Sie Ihre PICs nicht an 15 Volt anschließen. Sie sind nur für 3,6 Volt ausgelegt.

Ihr MOSFET ist kein IRL734. Es könnte ein IRF734 sein. In diesem Fall sehe ich nicht, wie Sie überhaupt eine Ausgabe von den LEDs erhalten. Was Sie tun möchten, ist, die Oberseite der LED-Kette mit +12 und die Unterseite mit einem Widerstand zu verbinden. Das andere Ende des Widerstands geht zum Drain des MOSFET und die Source geht auf Masse. Wenn Sie den Betriebsstrom und die Betriebsspannung der LEDs kennen (und ich hoffe, Sie wissen es), dann ist der Wert von R

R = (12 - (3 x Vf)) / i, wobei i in Ampere angegeben ist.

Ihr Treiber würde (sehr kurz) funktionieren, wenn der PIC-Ausgang 12 Volt hätte, aber das ist nicht der Fall. Ich sage kurz, weil in sehr kurzer Zeit mindestens eine der LEDs durchbrennen würde. Aus diesem Grund benötigen Sie einen Strombegrenzungswiderstand.

Auch mit diesen Änderungen funktioniert die Schaltung möglicherweise nicht gut. Das Problem ist, dass der PIC mit 3,6 Volt (max.) läuft, während die Schwellenspannung für einen IRF734 zwei bis vier Volt beträgt. Außerdem ist der IRF734 ein 450-Volt-MOSFET, was viel zu viel des Guten ist.

Angesichts Ihrer offensichtlichen Fehler in der Schaltungsbeschreibung (PIC-Spannung und MOSFET-Modell) schlage ich vor, dass Sie zu Ihrer Quelle zurückkehren und eine vollständigere (und genauere) Beschreibung bereitstellen.

Für das, was es wert ist, sind 780 Hz etwa 10-mal schneller als Sie brauchen, aber es sollte gut funktionieren.

Ich verwende IRLZ34 und habe einen Spannungsregler, aber auch hier bin ich nicht der Designer der Platine. Ich versuche nur zu sehen, ob ich dieses Problem mit Software beheben kann (wenn möglich). Sobald ich ausschließe, dass es sich nicht um Software handelt, werde ich auf Hardware umsteigen, aber im Moment sind alle Antworten willkommen. Zumindest sollte das Feedback mir helfen, mehr über das Problem zu verstehen. Danke!
OK. IRLZ34. Deine Handschrift ist noch schlimmer als meine (ha!). Der Treiber funktioniert immer noch nicht. Sagen wir es so - das Gate muss um etwa 2 Volt höher als die Source sein, richtig? Nun, für einen 3,3-Volt-PIC-Ausgang muss die Quelle weniger als etwa 1,3 Volt betragen, wenn sie eingeschaltet werden soll. Und das wird nicht eine LED einschalten, geschweige denn 3 in Reihe.

Hier ist ein kurzes Schema eines LED-Treibers mit Teilenummern für die LEDs, die im Schaltplaneditor gefunden werden. Und ich fand meine Handschrift schlecht.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Und ich verstehe das Flackern immer noch nicht, da ich nicht sehe, wie sie überhaupt eingeschaltet werden.

Nehmen wir an, die Art und Weise, wie ich sie einschalte, ist korrekt. Können Sie mir helfen zu verstehen, warum ich bei niedriger Einschaltdauer das Flackern im Vergleich zu hoher Einschaltdauer sehe? Wenn 1 MCU an 12 Volt angeschlossen ist, funktioniert alles einwandfrei, egal ob das Tastverhältnis niedrig oder hoch ist. Das Hinzufügen weiterer MCUs und das Anschließen aller an eine einzige Stromquelle funktioniert ohne Flackern bei hoher Einschaltdauer. Warum flackert es bei niedriger Einschaltdauer? Ich muss nur diesen Teil verstehen, wenn Sie das näher erläutern könnten. Danke!