Hi, alle zusammen. Ich habe meine Raumbeleuchtung mithilfe eines Arduino Megas und einem TLC5940NT realisiert. Allerdings flackert das Licht manchmal. Dabei stellt sich ein scheinbar zufälliger Wert für das Licht ein. Dieser Wert würde dann auch so bleiben, aber da meine Software mehrfach pro Sekunde einen neuen Wert drauf schreibt entsteht ein flackern, da der falsche Wert nur kurz zur Geltung kommt. Das Problem tritt manchmal wochenlang nicht auf, manchmal scheinbar grundlos und oft tritt es auf wenn ich laut Musik mit viel Bass höre. Ich nehme an dass das Problem Noise ist, der nicht richtig abgefedert wird. Ich nehme an, dass es am Mangel an Decoupling Kondensatoren liegt. Ich bin ein Neuling was das angeht und habe deswegen keine Kondensatoren eingebaut. Alles ist in einer Box untergebracht, das Netzteil ist so ein 300W,24V Schaltnetzteil von Meanwell. (ungefähr so eins: https://www.google.de/search?q=meanwell+schaltnetzteil+24v&source=lnms&tbm=isch&sa=X&ved=2ahUKEwio7MyP5tfsAhXLMewKHf_oAaMQ_AUoAnoECAwQBA&biw=1920&bih=880#imgrc=iDkH2wkyFy-Q_M) Bestimmt werde ich dafür jetzt zurecht zur Sau gemacht aber meine Frage lautet: wie und wo setze ich am effektivsten Kondensatoren ein? Ich habe mal zwei Schaltbilder von dem Teil, der für das Licht verantwortlich ist, rein gepackt. Beides zeigt den Ausschnit von Arduino zu TLC5940 zu den Mosfets, die das Licht steuern. Beim nicht selbst gezeichneten Bild sind LED4, 5, 6, 7, 8 und ihre Widerstände mit eingezeichnet. Diese sind nicht die Last-LEDs sondern nur "Statusanzeigen" innerhalb der Box. Die Zimmerbeleuchtung ist am XLR6-Pin Verbinder angeschlossen. Sollte ja prinzipiell aber egal sein. Die Mosfets (Datenblatt im Anhang) sind mit 10k Widerständen an +5V angeschlossen (also standardmäßig leitend) und werden vom TLC auf GND gezogen, also quasi ausgeschaltet. Diesen Schritt musste ich gehen da meine LEDs zu viel Leistung für den kleinen IC benötigen. Also, zurück zum Problem: setze ich die Kondensatoren zwischen Arduino und TLC ein? oder zwischen TLC und Mosfet? Oder schon vorher? Habt ihr andere Fragen oder Vermutungen oder hab ich wichtige Details vergessen? Danke für eure Zeit, Lucas Grodd
:
Bearbeitet durch User
Lucas G. schrieb: > Ich nehme an, dass es am Mangel an Decoupling Kondensatoren liegt. 100nF sind Pflicht am IC, und 47uF würde ich zwischen plus der LEDs und Masse der MOSFETs klemmen. Wie lang sind denn deine Kabel ?
Danke für die Antwort! 100nF Keramikkondensator werde ich einbauen. Direkt am IC zwischen GND und 5V. 47uF, ein Elektrolytkondensator? Arduino, TLC5940 und Mosfets liegen auf einer Platine, die Kabel zu den LEDs sind bis zu 10 meter lang.
:
Bearbeitet durch User
Lucas G. schrieb: > die Kabel zu den LEDs sind bis zu 10 meter lang. Dachte ich mir. Der Schaltung fehlt Alles, um mit solchen Antennen robust genug umzugehen. Kein ESD Schutz, keine Slewratebegrenzung, keine Hf-Abblockdrosseln. Lucas G. schrieb: > 47uF, ein Elektrolytkondensator Durchaus.
Ich vermute, das Problem liegt daran, dass du den TLC5940 in einem Modus betreibst, für den dieser eigentlich nicht gedacht ist. Selbst habe ich den noch nicht eingesetzt, aber beim Lesen des Datenblattes bin ich darüber ein wenig irritiert.
MaWin schrieb: > Der Schaltung fehlt Alles, um mit solchen Antennen robust genug > umzugehen. > > Kein ESD Schutz, keine Slewratebegrenzung, keine Hf-Abblockdrosseln. Ja ich hatte befürchtet dass ich es mir da mangels Erfahrung zu einfach gemacht habe. Gibt es einen guten Thread hier im Forum, oder sonst wo, wo gut erklärt wird wie man seine Schaltung so entwirft, dass Sie für den Umgang mit so langen Kabeln gerüstet ist? Fungiert der 47uF Kondensator bereits als HF Abblockdrossel? Wäre eine Diode geeignet um gegen ESD zu schützen?
Brain 2.0 schrieb: > Ich vermute, das Problem liegt daran, dass du den TLC5940 in einem > Modus > betreibst, für den dieser eigentlich nicht gedacht ist. > Selbst habe ich den noch nicht eingesetzt, aber beim Lesen des > Datenblattes bin ich darüber ein wenig irritiert. Hmm. Meinst du weil ich die LEDs nicht direkt, sondern über einen Mosfet ansteuere?
Lucas G. schrieb: > Hmm. Meinst du weil ich die LEDs nicht direkt, sondern über einen Mosfet > ansteuere? Ja, das vermute ich. Die Ausgänge arbeiten als Konstantstromquelle und der Mosfet will mit Spannung gesteuert werden. Da vermute ich einen Konflikt. Ich bin nicht der Fachmann, um das genau zu beschreiben, könnte mir aber vorstellen, das dadurch unstabilitäten auftreten können.
>Ich vermute, das Problem liegt daran, dass du den TLC5940 in einem Modus >betreibst, für den dieser eigentlich nicht gedacht ist. Was soll das heissen? Entweder, der hat den Modus oder der hat ihn nicht. Wenn er ihn völlig falsch angesteuert hat wird der TLC5940 keine Änderung zeigen (und so kompliziert ist der nun wirklich nicht)
MCUA schrieb: >>Ich vermute, das Problem liegt daran, dass du den TLC5940 in einem Modus >>betreibst, für den dieser eigentlich nicht gedacht ist. > Was soll das heissen? > Entweder, der hat den Modus oder der hat ihn nicht. > Wenn er ihn völlig falsch angesteuert hat wird der TLC5940 keine > Änderung zeigen (und so kompliziert ist der nun wirklich nicht) Was er meinte war ja >Die Ausgänge arbeiten als Konstantstromquelle und der Mosfet will mit Spannung gesteuert werden. Aber das verstehe ich nicht ganz. Der TLC hat doch das Potenzial GND an seinen Ausgängen und kann Strom senken (bis zu 57mA in meiner Konfiguration). Was will der Mosfet denn mehr? Wenn der TLC inaktiv ist gibt es kein Potenzial am Ausgang, bzw es kann zumindest kein Strom über den Ausgang fließen, was den Ausgang in dem Moment irrelevant machen sollte und deswegen wird das Gate des Mosfets dann von den 5V über den 10k Widerstand "versorgt"
MCUA schrieb: > Was soll das heissen? So wie ich es geschrieben habe. Oder hast du eine Erklärung dafür ?
>Die Mosfets (Datenblatt im Anhang) sind mit 10k Widerständen an +5V >angeschlossen (also standardmäßig leitend) und werden vom TLC auf GND >gezogen, also quasi ausgeschaltet Der TLC.. wird die Outs nicht complett auf GND schalten, diese Outs sind gedacht um (über Konst.Strom) LEDs ein zuschalten. Die Schaltung würde ich so nicht machen. Aber dennoch passt das nicht zu dem beschrieben Fehlerbild. (Der TLC wird am Ausgang nicht mehrmals unterschiedliche Pegel haben) ich tippe auf unsaubere Pegel an Digital-Seite.
Nochmal ein Nachtrag zum Fehlerbild: es reichen Vibrationen am Gerät um den Fehler auszulösen. Wenn ich mit dem Finger gegen die Box klopfe dann kann ich den Fehler häufig provozieren.
Lucas G. (elding) schrieb: >Nochmal ein Nachtrag zum Fehlerbild: >es reichen Vibrationen am Gerät um den Fehler auszulösen. Wenn ich mit >dem Finger gegen die Box klopfe dann kann ich den Fehler häufig >provozieren. Mit dem Klopfen provozierst Du aber auch z.B. Ladungsausgleiche zw. Schaltung und Dir, bzw. generell Potentialänderungen. Es muß also nicht unbedingt ein Wackelkontakt sein, sondern kann auch ein EMV-Problem sein. Also wie schon gesagt, Kondensatoren einbauen, wo nötig, usw. ... Brain 2.0 (Gast) schrieb: >Lucas G. schrieb: >> Hmm. Meinst du weil ich die LEDs nicht direkt, sondern über einen Mosfet >> ansteuere? >Ja, das vermute ich. >Die Ausgänge arbeiten als Konstantstromquelle und der Mosfet will mit >Spannung gesteuert werden. Da vermute ich einen Konflikt. Ich bin nicht >der Fachmann, um das genau zu beschreiben, könnte mir aber vorstellen, >das dadurch unstabilitäten auftreten können. Quatsch. Der TLC5940NT darf 0-60(120)mA treiben. Also darf der TO auch die 0,5mA für einen die 10k-Last treiben, die dann die Spannung für den Mosfet ergibt. Dem Mosfet isses egal, wie die Ugs erzeugt wird, solange die im Rahmen bleibt.
EMV? Kommt nicht vor... Wenn das Dingen schon vom Klopfen nervös wird, dann liegen vermutlich noch weit anders gelagerte Probleme vor.
Die Box in der alles eingehaust ist ist nicht leitend. Ich kann also zwischen mir und der Elektronik keinen Ladungsausgleich herstellen. Wäre es denkbar dass die 0,5mA die der TLC treiben muss (5V über 10kohm) zu wenig für ihn sind und die Ausgänge dadurch instabil werden?
:
Bearbeitet durch User
Zuerst kommt ein Test auf kalte Lötstellen (lernt man im Kindergarten)
Ich tippe auf falsches SPI-Datenformat. Die Daten müssen bei steigender Flanke gültig sein. Ich hab jetzt nicht in den Quelltext geschaut. Hat man das verkehrt eingestellt, geht es, dank der endlichen latenzen trotzdem. Wird aber die Taktflanke zu stark verschliffen, gibts Probleme. Wenn da jetzt die clockleitung neben was anderem läuft und man draußen Gegenschläge und die Leitung wackelt da hin und her, ändert sich die Kopplung. Wie hoch ist denn dein SPI-Takt? Na kannst ja mal schauen, ob der Mode stimmt und ob du Geschwindigkeit herabsetzen kannst. Kann auch sein, dass das Massepotential vom TCL durch den led-Strom angehoben wird und somit die Pegel auf der logikseite nicht mehr stimmen. Hängt stark von Aufbau ab. Kann man von hier nur schwer sagen.
>Wäre es denkbar dass die 0,5mA die der TLC treiben muss (5V über 10kohm) >zu wenig für ihn sind und die Ausgänge dadurch instabil werden? Wie geschrieben schaltet das Ding nicht auf 0V, auch nicht bei höherem I.
MCUA schrieb: > Zuerst kommt ein Test auf kalte Lötstellen (lernt man im Kindergarten) Hab natürlich im Kindergarten aufgepasst und die Lötstellen schon überprüft. Die meisten (die die was damit zu tun haben) habe ich vorsorglich nochmal nachgelötet.
Axel R. schrieb: > Kann auch sein, dass das Massepotential vom TCL durch den led-Strom > angehoben wird und somit die Pegel auf der logikseite nicht mehr > stimmen. Hängt stark von Aufbau ab. Kann man von hier nur schwer sagen. Das Problem tritt auch auf wenn die LED sehr dunkel sind, also relativ wenig Strom verbrauchen. Ist auch schon aufgetreten als sie ganz aus waren. Dann dürfte der beschriebene Effekt der Massepotenzialanhebung nicht so stark sein und die Pegel sollten stimmen, seh ich das richtig? Trotzdem gibt es den Fehler, also können wir das Problem ausschließen?
> Nochmal ein Nachtrag zum Fehlerbild: > > es reichen Vibrationen am Gerät um den Fehler auszulösen. Wenn ich mit > dem Finger gegen die Box klopfe dann kann ich den Fehler häufig > provozieren. Bei so einem Fehlerbild überhaupt noch zu diskutieren ... Such den Wackelkontakt! Nach den Lötstellen, die Stecker und Sockel überprüfen (insb bei DIP schauen, ob Pins nach innen umgeknickt sind).
Haarriss in ner Leiterbahn? >Kann auch sein, dass das Massepotential vom TCL durch den led-Strom >angehoben wird Bei dem geringen Strom eher nicht.
Mir ist noch was interessantes aufgefallen: Ich hab während des Betriebes das Gehäuse offen gelassen und mit einem nicht leitenden Gegenstand vorsichtig gegen alle Bauteile geklopft, in der Hoffnung das Bauteil mit dem Wackelkontakt zu finden, mit der Logik dass der Fehler am stärksten auftritt wenn ich gegen das betroffene Bauteil klopfe. Wie sich herausgestellt hat ist es das 24V Netzteil. Wenn ich da gegenklopfe (es reicht ein ganz leichter Schlag) tritt der Fehler auf. Fast jedes mal. Selbst wenn alle Lichter abgeklemmt sind. Der Effekt mit den langen Kabeln spielt hier also gar nicht rein. Die Platine mit Arduino, TLC und Mosfets scheint in Ordnung zu sein. Zumindest was den Klopftest angeht. Natürlich könnt ihr nur eine eingeschränkt gute Diagnose geben, ihr kennt ja das ganze System nicht aber basierend darauf? Was haltet ihr für einen sinnvollen nächsten Schritt? Offensichtlich mal das Netzteil anschauen und nach kalten Lötstellen suchen. Darüber hinaus? Weitere Kondensatoren zwischen den Ausgängen des NT?
Also, du kannst fragen........ Selbst (wenn nicht mech. Unterbrechung an bestimmer Leiterbahn o.Ä. (die du kontrolliert hast?)) eine sehr kurzzeitige elektr. Unterbrechung zwi. Netzteil u. Platine müsste durch Elkos (die da drauf sind?) aufgefangen werden.
MCUA schrieb: > Also, du kannst fragen........ Wer nicht fragt bleibt dumm ^^ Naja jedenfalls scheint es als wäre das Rätselraten zu Ende.. Nachdem ich alle Lötstellen des Netzteils noch einmal nachgelötet habe ist der Fehler verschwunden... Es kann doch soo einfach sein. Großes Dankeschön an alle die ihre Ideen hier geteilt haben! Sorry, dass die Lösung dann doch so langweilig war.
:
Bearbeitet durch User
MCUA (Gast) >>Kann auch sein, dass das Massepotential vom TCL durch den led-Strom >>angehoben wird >Bei dem geringen Strom eher nicht. Die Dinger sind doch PWM-getaktet. Da gibt's kein wenig oder viel Strom, sondern kein Strom, oder fulle pulle ... Lucas G. (elding) >Wie sich herausgestellt hat ist es das 24V Netzteil. Wenn ich da >gegenklopfe (es reicht ein ganz leichter Schlag) tritt der Fehler auf. >Fast jedes mal. Selbst wenn alle Lichter abgeklemmt sind. Der Effekt mit >den langen Kabeln spielt hier also gar nicht rein. >Die Platine mit Arduino, TLC und Mosfets scheint in Ordnung zu sein. >Zumindest was den Klopftest angeht. >Natürlich könnt ihr nur eine eingeschränkt gute Diagnose geben, ihr >kennt ja das ganze System nicht aber basierend darauf? Was haltet ihr >für einen sinnvollen nächsten Schritt? Offensichtlich mal das Netzteil >anschauen und nach kalten Lötstellen suchen. Darüber hinaus? Weitere Was sonst? Oder gleich mal das NT austauschen. >Kondensatoren zwischen den Ausgängen des NT? Was soll das bringen, auser das Problem zu kaschieren.
Der TLC5940 macht ja Open Load Detection. Wie schon alle vorher geschrieben haben liegt vermutlich hier das Problem durch die MOSFETs (Stellen keine LAST dar). Da kann man ja gleich einen normalen HC595 einsetzen und sich den teuren TLC sparen. Prüfen kann man das doch ganz einfach, indem man eine normale LED anstelle des MOSFETs reinbastelt. Wenn es dann geht ist die eigenwillige Anwendung Schuld.
Harald schrieb: > Der TLC5940 macht ja Open Load Detection. Wie schon alle vorher > geschrieben haben liegt vermutlich hier das Problem durch die MOSFETs > (Stellen keine LAST dar). Da kann man ja gleich einen normalen HC595 > einsetzen und sich den teuren TLC sparen. > Prüfen kann man das doch ganz einfach, indem man eine normale LED > anstelle des MOSFETs reinbastelt. Wenn es dann geht ist die eigenwillige > Anwendung Schuld. Hab ich gemacht. Strom auf 20mA begrenzt und eine LED angeklemmt. Gleiches Problem.
>Die Dinger sind doch PWM-getaktet. Da gibt's kein wenig oder viel Strom, >sondern kein Strom, oder fulle pulle ... Der Max-Strom wird (wie bei meisten dieser TLC's) durch einen ext. R festgelegt, der ist kontinuierlich, nicht getaktet.
Dann wäre es mal Zeit für einen Logic-Analyzer, der kann lange aufzeichnen und kostet fast nichts.
Wie viel Kilowatt haben denn deine LEDs? Imho kannst du die locker direkt treiben. Abgesehen von den erwähnten Kondensatoren treib doch mal eine LED direkt und an 10 Meter Strippe und schau was passiert.
Ich hab ca 5m mit 60W/m. Macht 0,3kW.. Ich leuchte ja nur ein kleines Zimmer aus. Der TLC hat 16 Ausgänge und kann laut Datenblatt maximal 120mA pro Ausgang senken. Bei 24 V Betriebsspannung macht das eine maximale Leistung von 16 * 0,12A * 24V = 46,08W. Zu wenig. Und Harald, so ein Logic Analyzer wäre wirklich mal was feines. Hab nur kurz geguckt, aber die von Saleae sind nicht für kleines Geld zu haben.
Der TLC macht hier trotzdem nicht wirklich Sinn: Erstens verfügt der TLC über stromgeregelte Ausgänge, d.h. er kann den Ausgang nicht nur PWM-artig ein- und ausschalten sondern auch noch den Strom am den Pins regulieren. Durch die externen Mosfets liegt diese Funktionalität nicht nur brach, sondern kann der TLC im Worst-Case eventuell den Mosfet gar nicht richtig ausschalten. Beim PWM-Betrieb mit einem 10k Pull Up als "High-Side" Treiber führt zu potentiell langsam Schaltflanken und zuviel Hitze in den Mosfets.
Andreas M. schrieb: > Beim PWM-Betrieb mit einem 10k Pull Up als "High-Side" Treiber führt zu > potentiell langsam Schaltflanken und zuviel Hitze in den Mosfets. Danke für die Antwort.. Was den Einsatz des TLCs angeht: ich will auch gar nicht behaupten dass viel Sinn macht. Vor zwei Jahren war ich froh etwas gefunden zu haben das überhaupt so funktioniert. Das war für mich ein riesengroßes Projekt, was meinen damaligen Wissensstand angeht und aus Mangel an Wissen über Alternativen (und ehrlich gesagt auch darüber wie genau der TLC funktioniert) hab ich den TLC verwendet weil ich gesehen habe dass es irgendwie funktioniert. Über zu langsame Schaltflanken hab ich mir da keine Gedanken gemacht.. Nur dass ich es jetzt richtig verstehe. Die langsamen Schaltflanken entstehen dadurch dass der Widerstand sehr groß ist und der Strom dadurch relativ klein. Das hat zur Folge dass das Gate des Mosfets lange braucht um sich aufzuladen. Ist das so korrekt?
Lucas G. schrieb: > Die langsamen Schaltflanken entstehen dadurch dass der Widerstand sehr > groß ist und der Strom dadurch relativ klein. Das hat zur Folge dass das > Gate des Mosfets lange braucht um sich aufzuladen. Ist das so korrekt? ja
Lucas G. schrieb: > Danke für die Antwort.. Was den Einsatz des TLCs angeht: ich will auch > gar nicht behaupten dass viel Sinn macht. Vor zwei Jahren war ich froh > etwas gefunden zu haben das überhaupt so funktioniert. Passt schon, man lernt immer dazu. Wenn ich mir manchmal so meine alten Schaltungen anschaue - naja. Fehler macht man immer, es werden nur mit der Zeit weniger :-) Solche Led-Streifen über eine zentrale Steuerung zu regeln ist halt gar nichtmal so trivial wenn man es richtig machen will. Ich vermute deswegen haben diese WS Leds auch so viele Anhänger, da geschieht die Steuerung in den Leds, das Problem ist halt ein mehrschichtiges: - Die langen LED Streifen wirken wie Antennen, daher möchte man eigentlich keine steile Schaltflanken auf den Streifen - An den Mosfets hingegen will man keine langsamen Schaltflanken weil während der Ein/Aus Schaltflanke der Leistungsabfall am größten ist. Und das vermindert den Wirkungsgrad ( erzeugt unnötig Wämre und Stromkosten) Nicht umsonst werden in Schaltreglern die Mosfets-Gates mit Strömen in der Größenordnung von Ampere umgeschalten. - Die Streifen können dazu selbst wie Induktivitäten wirken, dh. bei der Abschaltflanke der PWM könnte es einen Spannungsimpuls am Mosfet geben, die Einschaltflanke sieht ein Induktivität und damit einen langsameren Stromanstieg. Das ergibt dann ein oberes Limit für eine sinnvolle PWM Frequenz Ich denke wenn ich das machen würde, dann würde ich getaktete steuerbare Stromquellen nehmen, also DC/DC Wandler die den Strom und nicht die Spannung regeln. Am Ausgang dann einen entsprechenden Filter. Das wird bei 16 Kanälen allerdings sehr aufwändig. Habe gerade mal auf die Schnelle geschaut, sowas wie den Diodes AL8805. Den kann sowohl im PWM als auch als steuerbare Stromquelle betreiben. Aber da gibt es bestimmt auch noch bessere Teile.
mitm Oszilloskop kann man sich die Flanken und die damit einhergehenden Spannungsspitzen durch die parasitäre Induktivität ja ansehen und etwas langsamer abschalten. Den Konstantsromausgang des TLC hätte ich allerdings auch erstmal druch eine Basis-Emitterstrecke eines Bipolar-Trnasistors geschickt und mit diesem dann den Mosfet angesteuert. Eben um eine klares Verhältnis von HIG und LOW herstellen zu können. mit eineem kleinen RC-Glied dann moderat ein - und langsam abschalten, auch wenn die MOSFETS dann ein wenig warm werden. Besser so, als im Avalache-Betrieb die Dinger im ersten Durchbruch zu betreiben. Obwohl es ja hier auch entsprechende Spazifikationen und Ratings gibt. (Wenn man diese als Beginner recht zu deuten vermag. Ich tu' mich mit den Joule auch immer schwer; dann lieber sanft und mitm kleinen kühlkörper. und ja: bei sehr kleinen Pulsbreiten wird auch das kritisch, weil der FET dann garnichtmehr in den durchgesteuerten Bereich kommt) LG Äxl
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.