Hi, ich habe mir ein Platte mit 16 Feldern aufgebaut in jedem Feld
leuchten 25 RGB Leds die per Hardware PWM angesteuert werden.
Gesteuert wird über einen AtTiny 45 mit 3xMosFet BUK553 und dann
Flachbandkabel zu den LEDs. LEDs sind in einem Feld alle parallel,
versorgt mit 3,3V und Widerstand zwischen 1R (blau, grün) und 10R (rot).
LEDs gemeinsamer Pluspol.
Ich habe zuerst ein Feld fertiggestellt und es lief ohne Probleme beim
zweiten auch noch kein Problem, ab dem dritten fingen jedoch die LEDs
Felderweise an zu flackern, das bleibt bis zum 16. Feld so ;-(
Habe jetzt schon etliche Sachen ausprobiert finde aber das Problem
nicht.
Fading (langsam, schnell) ->flackern
Habe eine feste Farbe eingestellt (z.B Rot 20%an Blau40%an Grün70%an)
auf jedem Feld eine andere->flackern.
Spannungsquelle überprüft->Spannung bricht nicht ein.
verschiedene PWM-Frequenzen: 100-3000Hz -> keine Änderung.
µC getauscht, MosFets getauscht -> keine Änderung
Das seltsame ist, dass es bei ein oder zwei Feldern super funktioniert
und bei mehreren tritt auf einmal das flackern Felderweise auf.
Verzweifelter Bastler sucht Hilfe :-)
seh ich das richtig, dass die 1R für rot/grün und 10R für rot die
Vorwiderstände für die LEDs darstellen sollen zur Strombegrenzung? Wenn
ja, ist das unabhängig von deinem Problem grober Unfug -> LED ->
Mehrere LEDs zusammenschalten -> Parallelschaltung. Flackern sollte es
deswegen eigentlich nicht, aber wer weiß...
Es sind also 16x25 = 400 Leds pro Farbe parallel geschaltet? Die
Versorgungsspannung bricht nicht ein -> also direkt an der Quelle? Wie
siehts mit den Zuleitungen aus? Wie ist das ganze denn aufgebaut,
Steckbretter, Rasterplatinen? Wie hängen die Felder zusammen? Mach mal
ein paar Fotos.
Aber wenn ich mit den Vorwiderständen recht hab, ist das eigentlich erst
mal das größte Problem.
Gruß, Alex
Spannnungsquelle mit Oszi überprüft...
25 LEDs hängen an einem Mosfet
3 Mosfets (für jede Farbe einer) pro Feld
16 Felder (16 einzelne Platinen)
Vorwiderstand: Spannung für LED(rot)=2,2V , Versorgung =3,3V
I=25*0,02A=0,5A R=1,1V/0,5A =~2,2R
Mein Vorwiderstand ist 10R, verstehe nicht wo das Problem ist!?
Es gibt eine geätzte Platine pro Feld.
Zuleitung über FLachbandkabel.
Wer so wenig Ahnung hat und sich vor Beginn der Bauarbeiten, bei denen
1200 (in Worten eintausendzweihundert) LED's verbaut werden, nicht
informiert, wie man diese richtig ansteuert, dem ist nicht zu helfen.
Gast
LEDs darf man nicht einfach mit einem gemeinsamen Vorwiderstand parallel
schalten.
Der Grund ist die Kennlinie der LEDs.
Jede LED braucht zwingend einen eigenen Vorwiderstand, ansonsten wird
das auf die Dauer nix.
Sicher, zuerst mal funktioniert das und die LEDs leuchten alle.
Irgendwann gibt eine den Geist auf weil sie aufgrund von
Herstellungsschwankungen mehr Strom abkriegt als die anderen und daran
irgendwann stirbt.
Dadurch steht nun für alle LEDs mehr Strom zur Verfügung (da Du ja einen
gemeinsamen Vorwiderstand hast), der Strom der frisch verstorbenen LED
teilt sich dann auf die anderen LEDs auf.
Von denen kriegt wieder eine aufgrund von Herstellungsschwankungen mehr
Strom ab als die andern woran sie bald sterben wird...
Und so weiter...
Bitte spendiere jeder LED einen eigenen Vorwiderstand, alles andere ist
wirklich Unfug und wird bald teuer werden!
Dass deine FETs falsch herum da drin sind, ist dir aber schon klar,
oder?
Sicher, dass deine Spannung nicht einbricht, und der uC sich ständig
esettet?
------- schrieb:> Das seltsame ist, dass es bei ein oder zwei Feldern super funktioniert> und bei mehreren tritt auf einmal das flackern Felderweise auf.
Ich mein hier dran siehst du doch schon, dass es an der Belastung liegen
muss.
jhtfr schrieb:> 1,5A ueber Flachbandkabel und keine Probleme?
Da hat er auch recht, ist nicht so gut, aber hab ich auch schon gemacht.
Trotzdem, wie hier vorher schon gesagt wurde - es ist ziemlich schade,
dass du so ein großes Projekt so schlecht organisiert hast, indem du
LEDs parallel schaltest. Die sterben dir über lange Zeit einzeln weg.
------- schrieb:> LEDs sind in einem Feld alle parallel,> versorgt mit 3,3V und Widerstand zwischen 1R
Das ist leider das absolute No-Go bei LEDs. Da nimmt sich die eine mehr
Strom, wird dadurch wärmer und nimmt sich noch mehr Strom.
Hast Du mal die Versorgungsspannung direkt am Controller gemessen?
Dito mal am Reset-Pin?
Wie führst Du die Stromversorgungen der einzelnen Platinen zusammen?
Direkt an der Spannungsquelle? Oder auf ne gemeinsame Schiene?
dann müsste ja irgendwann die spannung einbrechen(tut sie aber nicht).
und dann sollte es ja schlimmer werden umso mehr felder es werden,
allerdings geht es ab drei feldern los und bleibt bei einem flackern das
immer gleich beibt
Mit einem Oszi wirst du Spannungseinbrüche nicht so ohne weiteres sehen,
wenn du einfach nur auf den Pin gehst. So etwas geht nur mit
periodischen Signalen.
Da muss man dann schon ein wenig mit dem Triggereingang spielen oder
einen Zähler verwenden.
Geh einfach mal davon aus, dass du den Schmutz am Oszi nicht siehst.
Spannungen besser blocken
Reset mit einem C
wenn möglich versorge den µC testweise von einer anderen
Versorgungsspannung, die nicht von den LED belastet wird
Es ist schon in einem gewissen Sinne augenfällig, dass der Affenzirkus
erst dann losgeht, wenn die Belastung des Netzteils ansteigt. Die
Hypothese "Es hat was mit der Strombelastung des Netzteils zu tun" hat
zumindest einen plausiblen Hintergrund.
Probier doch mal, die Pots zu entkoppeln, C drüber und Diode davor.
Sampelt der ADC gerade wenn ein Surge kommt, könnte das Programm das
fehlinterpretieren.
Wenn die LEDs immer in einzelnen Feldern flackern, würd ich mir auch mal
die Versorgung direkt am Feld anschaun.
Wenn ich von 20mA pro LED und Farbe ausgehe, dann können deine Felder ja
insgesamt bis zu 25 x 16 x 3 x 0,02 A = 24A ziehen. Ich hoffe, die
werden nicht auch per Flachbandkabel von einem zum nächsten Feld
verteilt :) Und dein Netzteil gibt das wirklich her?
Alexander v. Grafenstein schrieb:> Wenn ich von 20mA pro LED und Farbe ausgehe, dann können deine Felder ja> insgesamt bis zu 25 x 16 x 3 x 0,02 A = 24A ziehen. Ich hoffe, die
Jepp, nicht unbedingt optimales Design.
Besser wäre höhere Spannung und die entsprechende Anzahl LEDs
hintereinander. Dann braucht man auch nicht so viele Vorwiderstände.
24A über Flachbandkabel ist schon ganz ordentlich.
Ist das ein PC Netzteil, das Du verwendest?
U.R. Schmitt schrieb:> Besser wäre höhere Spannung und die entsprechende Anzahl LEDs> hintereinander. Dann braucht man auch nicht so viele Vorwiderstände.
Bei RGB-LEDs mit gemeinsamer Anode/Kathode isses leider schwierig.
Deshalb, und weil billiger, hab ich bisher immer einzel-LEDs benutzt.
Das geht dann wunderbar z.B. an alten Notebook-Netzteilen mit 18V. Da
reicht dann auch problemlos ein Fet insgesamt pro Farbe.
Dennis schrieb:> Er benutzt doch nur drei!
Fast: er nimmt 3 pro Feld. macht also immerhin schon 48 Widerstände :-P
aber wenn ein SPannungseinbruch an VCC oder reset vorliegt würde das
prog ja wieder von vorne starten und das würde auffallen.
Hab auch schon getrennte Versorgung von µC und LEDs getestet->das
gleiche Problem
also muss es an der Versorgungsspannung der LEDs liegen?! richtig
die muss ich nochmal genauer beobachten
------- schrieb:> aber wenn ein SPannungseinbruch an VCC oder reset vorliegt würde das> prog ja wieder von vorne starten und das würde auffallen.
Genau.
zb indem alles initialisiert wird, alle Ports kurz auf default Eingang
gehen, alles auf 0 geht, kurz und gut ... die PWM ausser Tritt kommt und
die LED daher kurz flackern.
Wie waren noch mal deine Symptome?
------- schrieb:> nein denn nach der initialisierung leuchten alle drei Farben> nacheinander für jeweils 500ms auf und das sieht man schon recht gut;-)
OK.
Hättest aber auch gleich sagen können, dass du Reset ausschliessen
kannst, weil du dir eine optische Erkennung eingebaut hast.
-> bei der Fehlersuche gib immer soviel Information wie möglich an.
Lieber zuviel Information die keiner braucht als zu wenig und die
Spekulationen in die falsche Richtung gehen.
Da das ja jetzt geklärt ist, kann man den µC bzw. seine
Spannungsversorgung und seinen Resetpin schon mal definitiv
ausschliessen. Programmfehler ist auch unwahrscheinlich, da der nach
menschlichem Ermessen nicht davon abhängen würde, wieviele Module
angeschlossen sind.
also es kann schon ein spannungseinbruch sein.
und zwar ein lokaler ... Spannungsabfall des Leiters beachten, der bei
bis zu 24A beträchtlich sein wird ... ich empfehle leitungen mit einem
querschnitt von 1,5mm² aufwärts
3,3V versorgung für so viele LEDs?
mit 3.3V FET's schalten, deren Gate threshold Spannung bei 2.1V bis
4.0V liegt?
wird dein FET höher-ohmig bei geringerer gatespannung hast du noch einen
zweiten größeren Vorwiderstang ergo licht aus oder schwach.
die Tinys machen den spannungseinbruch wohl noch problemlos mit, schalt
mal die brownoutdetection an und setz die auf 2.7V ... vielleicht siehst
dann ja schon den reset der tinys.
es gibt logiklevel FET's aber deine gesamte schaltung der LED's ist
ungeeignet, ach wenn das hart klingt ... da musst was ändern. Zur not
Leiterbahn vor LED zerschneiden freikratzen und einen smd widerstand
drauflöten.
ach ja PWM von LED's die parallel zum µC gespeist werden ist ziemlich
gift für die versorgung des µC ... shotky-diode und größeren elko
zusätzlich an die VCC des µC, so dass die PWM sich nicht über den
kondenstor des µC glättet.
und bevor ich es vergesse mach noch einen 100nF kerko parallel zum 100µF
elko, damit der ein wenig von den hohen frequenzen der rechteckigen PWM
verschont bleibt.
Wenn die Schwellenspannung der Gates wirklich mit 2,1V bis 4V
spezifiziert ist, dann reichen ja schon kleine Exemplar-Steuerungen für
ganz unterschiedliches Verhalten. Hast du mal Felder vertauscht? Sind es
immer die gleichen, die flackern?
Dazu ist mir noch was aufgefallen: ich nehme an, die Mosfets jedes
Feldes hängen parallel am PWM-Ausgang ( über 100 Ohm)? Dann muss der
Ausgang gleich 16 Gates parallel aufladen. Optimal ist das sicher auch
nicht.