Hallo zusammen, ich schalte mit einem Raspberry PI (unter Anderem) einen WRGB-LED-Streifen. Nun beobachte ich schon seit Längerem, dass die LEDs periodisch flackern, vermutlich verursacht durch betriebssystembedingte (Windows IoT Core) Auslastungsschwankungen (Software-PWM). Der Streifen wird durch entsprechende Logic-Level-MOSFETs betrieben und ich vermute, dass es am einfachsten wäre, die Steuerspannung vor den Eingängen der MOSFETs mit Hilfe eines Kondensators zu glätten. Sehe ich das richtig? Und wenn es so einfach wäre: Könnt ihr mir eventuell eine Größenordnung empfehlen? Ich freue mich über euer Feedback :-)
Beitrag #5342809 wurde von einem Moderator gelöscht.
Wenn du das PWM Signal glättest, ist es kein PWM mehr. Deine Transistoren steuern die LED Streifen dann analog an und verheizen eine Menge Energie, die abgeführt werden muss. Du musst für so etwas hardware-PWM benutzen. Eventuell den Raspberry Pi durch einen weiteren Mikrocontroller unterstützen.
Schon klar, dass das die PWM ebenfalls glättet. Es ist nun aber so, dass ich ungefähr alle 8s ein Flackern wahrnehmen kann. Der Kondensator könnte nun doch genau diesen "Flackerfall" abmildern, auch wenn ich dadurch die komplette PWM ein wenig ausbremse. Oder hab ich einen Denkfehler?
Stefan U. schrieb: > Du hast einen Denkfehler, ich habe ihn bereits erklärt. Dann verstehe ich das nicht gänzlich. Trifft dieser Denkfehler auch zu, wenn spannungsgesteuerte MOSFETs eingesetzt werden? Warum sollte man hier die Steuerspannung nicht geringfügig glätten können?
Roland M. schrieb: > Warum sollte man hier die Steuerspannung nicht geringfügig glätten können? Auch das hat Stefan bereits erklärt... Stefan U. schrieb: > Wenn du das PWM Signal glättest, ist es kein PWM mehr. Deine > Transistoren steuern die LED Streifen dann analog an.... Roland M. schrieb: > Nun beobachte ich schon seit Längerem, dass die LEDs > periodisch flackern... Hat es schon einmal funktioniert? Ist die Stromversorgung in Ordnung? Sind die GND-Verbindungen zwischen den einzelnen Komponenten in Ordnung?
Naja, in dieser Verbindung mit dem Raspberry Pi hat es schon immer geflackert. Stromversorgung, Komponenten und GND-Kontaktierung schließe ich aber aus, da das flackern so periodisch ist. Insbesondere wenn man die Steuersoftware debuggt, verschlimmert sich das Flackern sehr stark. Ich bin mir daher recht sicher, dass die Software der Auslöser ist. > Wenn du das PWM Signal glättest, ist es kein PWM mehr. Deine > Transistoren steuern die LED Streifen dann analog an.... Dann könnte man also die Ausgangsspannung hinter den MOSFETs glätten?
Er hat ein Softwareproblem: Das Betriebssystem, das will er aber sicher nicht weg lassen. Roland, da siehst du mal, warum jeder normale PC durch zahlreiche Mikrocontroller unterstützt wird. Zum Beispiel in der Maus, in der Tastatur, im Drucker. Selbst die Audio Schnittstelle hat einen eigenständigen Chip. Immer wenn es auf Timing ankommt, kommst du mit dem Haupt-Prozessor nicht weit.
> Dann könnte man also die Ausgangsspannung hinter den MOSFETs glätten?
Arrrrgh, nein! Denn auch dann ist es kein PWM Signal mehr.
PWM ist eben nicht glatt, sondern rechteckig. Da soll es ganz bewusst
nur zwei Zustände geben: Spannung 100%=an und 0%=aus.
Hallo zusammen, na gut, dann verwerfe ich diesen Gedanken. Es stört mich im Moment zwar nicht sehr, aber ich werde dann bei der nächsten Überarbeitung wohl auf PWM-Controller wechseln. Der Aufwand die Software umzubauen dürfte sich sicherlich in Grenzen halten... Gibt es denn sonst noch irgendwelche anderen Möglichkeiten das Flackern abzuschwächen? Abgesehen von PWM-Controllern?
Glühlampen verwenden - sorry, eine andere realistische Möglichkeit sehe ich nicht.
Bei Unregelmäßigkeiten im Abnstand mehrerer Sekudnen gibt es elektronsich wohl in der Tat keine sinnvolle Möglichkeit. Software-PWM ist einfach suboptimal. Für Servos ist das noch manchmal brauchbar. Für LEDs aber nicht. Wegen der niedrigen Frequenz wird das, auch wenn das OS nicht dazwischen funkt, generell zum Flimmern tendieren. Besonders im Augenwinkel. Benutz einfach so ein Board: https://www.ebay.de/itm/PCA9685-16-Kanal-Driver-Servomotor-Treiber-Modul-PWM-I2C-Arduino-Raspberry-Pi/282818852651?hash=item41d951372b:g:ta8AAOSwDFBaOprd (Wenn aus China, gibts die sogar noch günstiger). Von Adafruit gibt es dafür ein support tutorial: https://learn.adafruit.com/adafruit-16-channel-servo-driver-with-raspberry-pi/hooking-it-up Deine Mosfet-Schaltung kannst du dann einfach an den PWM Ausgang des Boards hängen. Falls du dir über Lichteffekte Sorgen machst - die I2C Verbindung ist schnell genug dafür! Habe ich selbst schon dafür genutzt.
:
Bearbeitet durch User
@Roland das hast Du noch nicht verstanden, warum das Glätten keinen Sinn macht, oder? 1. PWM schaltet die LEDs in einer höheren Frequenz ein/aus, damit das Auge sie als dunkler wahrnimmt obwohl sie während der on-Zeit eigentlich zu 100% leuchten. Das macht man deshalb mit ein paar 100Hz oder höher 2. da Du das flackern mit den Augen siehst tut es das offensichtlich mit einer Frequenz unter 20-25Hz, also viel langsamer als die PWM Frequenz. 3. wenn du einen Filter einsetzt, der die 25Hz rausnimmt, sind automatisch auch die 1000Hz eliminiert, die PWM ist in eine Gleichspannung umgewandelt. Das kann man grundsätzlich machen, aber das ist ein anderes, deutlich aufwändigeres Prinzip, die Konstantstromquelle. Und das Kernproblem dabei ist dabei, dass alle Leistung, die Du von den LEDs nimmst im Schalttransistor oder in Deinem Filter als Wärme verheizt wird und das zerstört Dir ggf schnell die Bauteile, je nachdem wieviel Strom benötigt wird. Deshalb: wenn Du PWM machen möchtest, kannst Du das mit den Filter vergessen.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.