Hallo,
ich habe die letzten Tage über mal versucht, den TLC5940 zu verstehen
und kann inzwischen meinen LEDs sogar sagen, was sie tun sollen :) Zum
Steuern des TLC5940 hab ich einen Arduino Uno und Versorgunsspannung
bekomme ich über ein Netzteil mit L7805 dahinter. Ansonsten is noch nix
in der Schaltung.
Heute ist mir allerdings ein seltsames Verhalten aufgefallen, was fast
immer eintritt, wenn ich mein Licht (also Zimmerlampe, nicht die LEDs)
einschalte/ausschalte. Entweder es leuchten einfach irgendwelche LEDs
und von meinem Programm merk ich gar nichts mehr oder mein Programm
läuft weiter aber manche LEDs leuchten nicht mehr.
In letzterem Fall kann ich den Reset am Arduino drücken und danach läuft
wieder alles. Abstecken der Versorgungsspannung hilft nichts, wenn ich
sie dann anstecke, bleiben die LEDs aus.
Wenn allerdings manche LEDs permanent leuchten und ich Reset drücke,
dann leuchtet danach nur noch die LED an OUT0 ganz schwach und sonst
geht nix mehr. Dann kann ich Vcc abstecken und wieder anstecken, was
erstmal nichts ändert, aber danach führt ein Reset wieder zum
Normalverhalten.
Jetzt hab ich bim Suchen hier diesen Link gefunden:
http://www.rn-wissen.de/index.php/Abblockkondensator
Ich hab in der Tat keine Kerkos verbaut, weil ich keine da habe. Bevor
ich jetzt einkaufen gehe wollte ich mal nachfragen, ob das wirklich mein
Problem lösen wird. In der Beschreibung ist ja die Rede von
Schwankungen, die der Controller selber auslöst.
Aber meine Schwankungen kommen ja definitiv von außen. Ist für mich also
auch ein 100nF Kondensator geeignet oder brauche ich etwas anderes?
Gruß
Nico
Nico schrieb:> Heute ist mir allerdings ein seltsames Verhalten aufgefallen, was fast> immer eintritt, wenn ich mein Licht (also Zimmerlampe, nicht die LEDs)> einschalte/ausschalte.
Herzlich willkommen in der realen Welt. Diese Effekte nennt man EMV/ESD
Störungen.
> Ich hab in der Tat keine Kerkos verbaut, weil ich keine da habe. Bevor> ich jetzt einkaufen gehe wollte ich mal nachfragen, ob das wirklich mein> Problem lösen wird.
Das ist nicht sicher. Aber du wirst jede Menge seltsamer Effekte haben,
wenn du solche Blockkondensatoren/Entkopplungskondensatoren nicht
direkt an jedem IC deiner Schaltung hast. Und kein Witz: es geht hier
um Millimeter...
Lies mal den Beitrag "Abblockkondensator 1 µF oder 100 nF besser?", dann siehst du
wie Profis sich bei diesem Thema in die Wolle kriegen können... ;-)
BTW:
Wie groß ist der ganze Aufbau?
Wie ist die Masseführung zwischen den Modulen?
Genau das von Dir beschriebene Verhalten hatte ich beim TLC5940 auch,
weil ich dachte, ich könne bei diesem einfachen Testaufbau auf Blocker
verzichten. Pustekuchen, die Blocker sind wichtig... Ich konnte die LEDs
magisch durch Gesten "steuern" :-)
Gruß
Tomske
Lothar Miller schrieb:> Herzlich willkommen in der realen Welt.
Danke, werd hier sicherlich noch viel Spaß haben mit Schaltungen, die
nicht so arbeiten, wie ich mir das vorgestellt hab ;-)
Lothar Miller schrieb:> Lies mal den Beitrag "Abblockkondensator 1 µF oder 100 nF besser?", dann> siehst du> wie Profis sich bei diesem Thema in die Wolle kriegen können... ;-)
Das ist tatsächlich sehr interessant. Bin erst zur Hälfte gekommen und
werd jetzt auch mal ins Bett gehen, aber morgen les ich das noch fertig.
Allerdings hat sich, bei dem was ich jetzt so gelesen hab,
herauskristallisiert, das man seinen Kondensator eigentlich an die
Schaltung anpassen müsste, bzw. an die Störungen, die man rausfiltern
will. Also mein Arduino hat ja 16 MHz und die Datenübertragung an den
TLC5940 läuft glaub ich mit 8 MHz. Aber wie soll ich denn feststellen,
in welcher Größenordnung die Störungen sind, die meine Zimmerbeleuchtung
verursacht? Mit nem Oszilloskop könnte man das möglicherweise, werd ich
aber nicht so schnell haben... Gibts da vielleicht Erfahrungen?
Lothar Miller schrieb:> BTW:> Wie groß ist der ganze Aufbau?> Wie ist die Masseführung zwischen den Modulen?
Das ganze is auf dem Steckbrett also momentan ist meine Masseführung so
in der Größenordnung 10-20cm. Aber macht das denn überhaupt was aus? Ich
mein meine Lampe hat bestimmt 10m an Kabel, bis da mal was von in meine
Schaltung geht.
tomske schrieb:> Genau das von Dir beschriebene Verhalten hatte ich beim TLC5940> auch
Schön zu wissen, dass ich nicht alleine bin :-)
Gute Nacht allen die das vor Sonnenaufgang noch lesen :-)
Gruß
Nico
Hallo nochmal,
inzwischen habe ich einiges mit Kondensatoren herumribiert, aber nichts
hilft...
Also hab jetzt 100nF zwischen Vcc und GND an meinem TLC. Hinterm
Spannungsregler auch 100nF und davor davor hab ich verschiedenes
getestet, 100nF, 10uF, 470uF, auch mal ne Spule in Serie, weil ich das
irgendwo gelesen hab, aber nichts ändert irgendwas an meinem Problem.
Hat noch jemand eine Idee, wie ich die Störungen an meiner Schaltung
verhindern kann?
Nico schrieb:> Hat noch jemand eine Idee, wie ich die Störungen an meiner Schaltung> verhindern kann?Lothar Miller schrieb:> BTW: Wie groß ist der ganze Aufbau?> Wie ist die Masseführung zwischen den Modulen?
Mach mal ein Foto davon (300kB reichen da völlig)
Die sind so nah wie ich sie hin bekomm, zumindest die 100nF. Auf der
Eingangsseite direkt neben den Pins vom Spannungsregler und auf der
Ausgangsseite hab ich ihn jetzt testweise auch direkt an die Pins
gesetzt, ändert aber am Verhalten nichts. Der Grund, dass ich ihn hier
nicht direkt an den Pins lasse: wenn der Kondensator ein bisschen schräg
steht, berührt er die Metallplatte am Spannungsregler und erzeugt nen
Kurzschluss...
Übrigens sagt das Datenblatt eigentlich 100nF am Ausgang und 330nF am
Eingang, nicht irgendwas mit uF. Hab ich auch so versucht, hat auch nix
gebracht :(
Wie versorgst Du Deinen UNO? Ich sehe keine Verbindung zu Vin und GND
(im Bereich "POWER" neben den "Analog In" Pins), so dass ich annehme,
dass das extra geht? Über USB oder Netzteil am UNO? Was passiert, wenn
auch der UNO über Deine Spannungsversorgung links auf dem Breadboard
versorgt wird? (5V -> ist das noch ein 7805?) Zumindest ein gemeinsames
GND hätte ich erwartet.
tomske schrieb:> Über USB oder Netzteil am UNO?
Bisher wird er Arduino über USB versorgt. Wie hänge ich ihn denn an
meine Spannungsversorgung? Soll ich einfach GND mit dem GND-Pin und 5V
mit Vin-Pin verbinden? Oder mit 5V-Pin?
tomske schrieb:> 5V -> ist das noch ein 7805?
Ja, ist es.
Eumel schrieb:> Na zumindest GND vom UNO musst du mit dem GND deiner restlichen> Schaltung verbinden!
Oh wie geil, es geht! Dankeschön!! :-)
Auch tomske vielen Dank, hast das gemeinsame GND ja auch schon erwähnt^^
Jetzt nur noch, worauf gebe ich die 5V, wenn ich kein USB mehr verwenden
will?
Naja, es hört sich für mich zumindest einleuchtend an, dass GND überall
ein einheitliches Potenzial haben sollte. Hat das sonst noch einen
weiteren Grund?
Was ich nicht versteh ist was meine Lampe für Störungen verursacht
hat...
Öhm... ich hab das jetzt mal versucht, aber so wirklich funktionierts
noch nicht. Schaut so aus, als würde sich der Arduino pausenlos
resetten. Zwischendurch läufts mal ne halbe Sekunde, aber dann fängt
auch wieder das L Lämpchen auf dem Arduino an zu blinken wie beim Reset.
Meistens leuchten nur die ersten 2 LEDs hinterm TLC ganz kurz und dann
gehts wieder von vorne los...
Ich hab das schon richtig verstanden, dass der Arduino jetzt nur noch
über Vin seinen Strom bekommt, ja? USB hab ich abgesteckt.
Schau mal auf http://arduino.cc/de/Main/ArduinoBoardUno, dort wird
erklärt, was Vin bedeutet. Ich nutze die Controller meistens auf einem
Breadboard direkt, da weiß ich dann genau, was passiert (passieren
sollte...=:-O).
...und jetzt kann es natürlich noch sein, dass die Versorgung, die Du
auf dem Breadboard aufgebaut hast, die Probleme hat, die weiter oben
angesprochen wurden... :-( Wie soll denn das Ganze aussehen, wenn es
fertig ist?
Ah ja, hab natürlich die 5V an Vin genommen, was aber 7-12V braucht...
Wenn ich die Spannung vor meinem 7805 nehm, dann scheint alles stabil zu
laufen.
Controller direkt nutzen is mein Ziel wo ich hin will. Dachte nur zum
Einstieg wär ein Arduino erstmal einfacher ;-)
Hallo Nico, schau Dir mal http://www.arduino.cc/en/Main/Standalone an.
Wenn Du bereit bist, einen TLC5940 samt Regler auf ein Breadboard zu
klatschen, dann ist das ne Fingerübung :-)
Am Anfang hab ich den Controller auf die Arduinoplatine gepackt (da ist
eine Variante mit DIP-Sockelt anstelle von SMD sehr nützlich) und dort
"programmiert" und danach wieder aufs Breadboard gesteckt. Inzwischen
würde ich Dir empfehlen, Dir einen ISP-Pogrammer zu besorgen. Ich habe
mir den USBtinyISP besorgt (ok, den muss man zusammenlöten...), und in
meinen Augen ist der einzige Unterschied (falls Du die
Arduino-Bibliotheken nutzen willst), dass Du im Menü in der Arduino-IDE
auf Upload/Using Programmer klicken musst.
Ich bin da etwas "spartanischer" mit Makefiles und emacs unterwegs :-}