Datum: 02.02.2008 16:45
Hallo allerseits, ich habe mich endlich dazu durchringen können eine Ansteuerung für den TLC5922 zu schreiben. Dafür musste heute morgen zwar die Mathe Übungsklausur ausfallen (war spät gestern), aber ich denke es hat sich gelohnt. Ganz kurz zum TLC selbst: Es handelt sich um einen Konstantstrom LED Treiber mit 16 seperat modifizierbaren Ausgängen und 7 Bit Farbtiefe (über 2 Mio Farben) Der größte Vorteil im Gegensatz zu anderen Treibern wie zB dem MAX6957 ist, dass er eigentlich keine Adressierung hat und dadurch um einiges schneller anzusteuern ist. Wo ich gerade bei Ansterung bin muss ich noch erwähnen, dass er SPI Signal vorgesetzt bekommt und dieses auch an weitere Treiber übergeben kann. Dazu ist es nötig alle Treiber daisy-chained anzuschließen. Genau diese daisy-chained Eigenschaft habe ich bei meinem Code ausgenutzt, so ist es möglich beliebig viele Treiber "in Reihe" anzusteuern. Die Anzahl der angeschlossenen Treiber muss nur noch bei den defines eingestellt werden Jetzt zum Programm: Ich habe mir Mühe gegeben so viel wie möglich zu kommentieren, damit es recht einfach nachzuvollziehen ist, hoffe ihr kommt damit klar. Es stehen viele Funktionen wie zB ein Moodlight Effekt oder ein Lauflicht zur Verfügung, das sogar über alle angeschlossenen Treiber "rüber läuft". Zur einfacheren Veränderung der Helligkeit bzw des AN/AUS Status habe ich zusätzlich Arrays eingeführt in die der Benutzer seine Daten reinschreiben kann und dieses dann mit einer Funktion in ein SPI geeignetes Array zu transferieren. Alle Funktionen sind allerdings auch noch im Code erklärt und aufgelistet. Für die schnellen unter euch habe ich ein Testprogramm hinzugefügt in dem alle wichtigen Funktionen aufgerufen werden, sodass man sieht was welche Funktion bewirkt und nicht im Source wühlen muss. So, jetzt muss ich noch was beichten... ich habe den Code mit Codevision geschrieben, weshalb er auch nur dort compiliert. Wer sich mit dem GNU auskennt kann gerne auch noch eine Alternativversion posten. Alle die darauf nicht warten wollen können sich auch einfach die Trialversion herunterladen, die reicht aus vorrausgesetzt man compiliert nach Speed und nicht nach Größe (kleiner Tip am Rande, ist wohl ein Bug beim Programm ;) Wer sich die Treiber mal anschauen will, dem kann ich gerne mal einen vorbeischicken, Adapter für Lochraster hab ich auch machen lassen. Wenn sich hier noch ein paar finden, die den TLC5922 auch gerne verbauen würden, gebt mir bitte Bescheid, dann organisier ich eine digikey Bestellung sobald wir 100 Treiber zusammen haben (dann werden die sehr billig) Das war jetzt erstmal alles, was mir dazu einfällt, macht mit dem Code was ihr wollt, ist alles Freeware, ihr müsst ihn ja nicht aufs Toilettenpapier drucken :( Grüße an den Rest der Elektroniker oder die, die es werden wollen Kai
Datum: 27.02.2008 11:44
Hallo Kai, ich hätte Interesse an 2 oder 4 Stück von den TLC5922. Hast du welche über die du, auch gegen Bezahlung, entbehren könntest? Viele Grüße Flo
Datum: 27.02.2008 20:42
Hallo, kann welche entbehren, schreib mir am besten eine Mail
Datum: 28.02.2008 08:47
wenn du mir deine email adresse hinterlässt gerne :) somit hast du jemanden gefunden den du für den tlc5922 begeistert hast. auch mit dem as1110 möchte ich erfahrungen sammeln. danke flo
Datum: 28.02.2008 09:42
@ Florian Wiesenbacher (mechatroniker82)
>wenn du mir deine email adresse hinterlässt gerne :)
Augen auf! Das erste Posting ganz oben, der Name ist blau, also ein
Link. Draufclicken und Mitteilung abschicken.
MfG
Falk
Datum: 28.02.2008 20:51
>> auch mit dem as1110 möchte ich erfahrungen sammeln. Die Treiber sehen ganz nett aus, allerdings haben die keine Dot Correction, sind also für RGB LEDs unbrauchbar
Datum: 04.05.2008 18:03
@Kai: Also ich versuche auch gerade deine Lib in betrieb zu nehmen. Ich habe jetzt nochmal eine Frage zu den LEDs. Soweit ich es deinem Code entnehmen kann, gehst du davon aus dass LED1 an auch physikalisch an OUT0 des TLC5922 angeschlossen ist. Fall ich dann RGB-LEDs einsetzen möchte, dann ist im Code momentan hinterlegt, dass RGB-LED1 an OUT0 bis OUT2 , RGB-LED2 an OUT3 bis OUT5, ... angeschlossen sind. Was mache ich aber jetzt, wenn ich auf Grund meiner Hardware eben nicht diese Reihenfolge habe. Wo und wie binde ich eine Zuordnungstabelle meiner LEDs in den Code ein? Würde mich über ein Feedback freuen. Bin aber schon echt begeistert von dem Code:) Danke Gruß Armin
Datum: 06.05.2008 10:36
Hallo, du hast das alles richtig verstanden, leider muss ich dich enttäuschen... Dieser Code ist nur für RGB LEDs gedacht, die so angeschlossen sind wie du es gesagt hast. Dadurch, dass ich >> Befehle benutze wäre beispielsweise das Lauflicht außer Funkion. Wieso kannst du die Hardware denn nicht ändern? eigentlich müsste meine Anschlussart die am Einfachsten zu realisierende sein. Gruß Kai PS: Updates kommen bald
Datum: 11.05.2008 17:14
Hallo, also was mir noch aufgefallen ist. Du verwendest in deinem Code CS_ON und CS_OFF. Aber der Pin des ATmega8 mit CS der SPI ist doch gar nicht mit den LED-Treibern verbunden oder? wieso setzt du dann diesen Pin des Mega 8 auf 1 bzw. auf 0? Ich werde mir für oben genanntes Problem wohl noch eine Lösung überlegen müssen, da auf Grund der Verlegung der Leiterbahnen diese Zuordnung nicht möglich war. Gruß Armin
Datum: 13.05.2008 09:53
CS_ON und CS_OFF machen nichts anderes als den PORTB.2 auf 1 bzw 0 zu schalten und genau dort müssen alle XLAT von den Treibern angeschlossen werden. Das stimmt schon so :) Wie du was anschließen musst hab ich versucht in den Kommentar zu schreiben, wenn nötig kann ich auch noch einen Schaltplan hinzufügen Gruß Kai
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel


