*Empty MediaWiki Message*

This commit is contained in:
Carwe 2011-01-21 18:14:29 +00:00
parent 22fdc4f42c
commit abf11620ad

View File

@ -12,13 +12,13 @@ Ein beliebiges Bord, das einen Microcontroller beherbergt und mindestens die unt
===Modul===
[[Datei:RGBLEDmodul Verbinder.png|thumb|rechts]]
Die Module sind beidseitig mit SMD-Teilen bestückt. Auf der Vorderseite die LEDs und auf der Rückseite die Steckverbinder, den TLC5941 und einen Atmel, nebst Kleinkram (ein Kondensator, einige Widerstände).
Die Module sind beidseitig mit SMD-Teilen bestückt. Auf der Vorderseite ein TLC5941 (16 Output-Pins bis zu 80mA, eingestellt auf ca. 20mA; 12 Bit PWM, Oszillator-Takt muss vom Microcontroller zugeführt werden), ein Atmel ATmega 88/168/328 (verwendet wird erstmal ein 88) und einige Widerstände und Kondensatoren. Auf der Rückseite befinden sich fünf RGB-LEDs Osram LRTB G6TB. Beidseitig (da DIP) befinden sich 2 Buchsen und 1 Stecker, der zweite Stecker ist wegen Platzmangel eine SMD-Version und befindet sich auf der Vorderseite.
Ein TLC5941 (16 Output-Pins bis zu 80mA, eingestellt auf ca. 20mA; 12 Bit PWM, Oszillator-Takt muss vom Microcontroller zugeführt werden) auf der Rückseite nebst Anschluss-Steckern/-Buchsen, dazu ein ATmega168. Auf der Vorderseite 5 RGB-LEDs (Osram LRTB G6TB).
Der ATmega ermöglicht es, dass man die Module als Netz verbinden kann, also keine Reihenfolge künstlich herstellen muss durch hintereinanderstecken. So ist jedes Modul mit jedem Nachbarmodul verbunden. Die Ansteuerung erfolgt per I2C, jedoch muss die Anordnung der Module und deren Adressen bekannt sein, um eine vorhersagbare Ausgabe erzeugen zu können.
Auf jedem Modul ist zusätzlich zum TLC5941 auch ein ATmega168 verbaut. Dies ermöglicht eine Ansteuerung per I2C, jedoch muss die Anordnung der Module und deren Adressen bekannt sein, um eine vorhersagbare Ausgabe erzeugen zu können.
Die LEDs müssen mittels Exponentialfunktion angesteuert werden, denn sonst sind sie bereits bei etwa 50% der Steuergröße bei ihrer Endhelligkeit. Eine Tabelle findet man vorerst bei [http://www.wolframalpha.com/input/?i=round%280.5*e^%280.035199*%5b0...256%5d%29%29]. Ein Video von einem ersten Test mit exponentieller Ansteuerung findet man unter [http://vimeo.com/19005816].
Verbindung ATmega168 <-> TLC5941
====Verbindung ATmega88 <-> TLC5941====
::SCLK (Takt der seriellen Verbindung)
::SIN (serielle Daten vom ATmega zum TLC5941)
@ -28,9 +28,8 @@ Verbindung ATmega168 <-> TLC5941
::XERR (unbeaufsichtigter Betrieb möglich, da LED-Ausfall und Überhitzung gemeldet werden kann)
::GSCLK (Takt für den PWM-Teil)
Verbindung zwischen den Modulen per 2x5-Pin-Stecker/-Buchse (logisch: parallel zu allen Modulen geführt - physisch: von Modul zu Modul durchgeschleift mit mehreren Verbindungspunkten -> Netz):
Es gibt keine Reihenfolge der Module, sondern sie müssen adressiert werden.
====Verbindung der Module untereinander====
Die Verbindung zwischen den Modulen erfolgt per 2x5-Pin-Stecker/-Buchse, dabei entsteht ein Netz, in dem jedes Modul mit allen Nachbarn verbunden ist. Daher gibt es keine Reihenfolge der Module, sondern sie müssen adressiert werden.
::GND (Pins 1,2,3)
::VCC (5V) (Pins 7,9,10)
@ -38,7 +37,6 @@ Es gibt keine Reihenfolge der Module, sondern sie müssen adressiert werden.
::I2C-DATA (Pin 4)
Die Pins 6 und 8 sind nicht belegt.
Die LEDs müssen mittels Exponentialfunktion angesteuert werden, denn sonst sind sie bereits bei etwa 50% der Steuergröße bei ihrer Endhelligkeit. Eine Tabelle findet man vorerst bei [http://www.wolframalpha.com/input/?i=round%280.5*e^%280.035199*%5b0...256%5d%29%29]. Ein Video von einem ersten Test mit exponentieller Ansteuerung findet man unter [http://vimeo.com/19005816].
==Firmware==
@ -54,8 +52,4 @@ Eine USB-Verbindung, die z.B. über FT232 eine RS232-Verbindung ermöglicht. Mit
===Controller<->Modul===
Es kommt I2C (oder eine Modifikation) zur Anwendung. Problematisch ist nur die Auswahl der Adressbreite, denn es sollen ja ausreichend viele Module für übliche Anwendungen ermöglicht werden, jedoch ermöglicht schon eine Adressbreite von nur 6 Bit mehr Module, als wenn man auf den Atmel verzichten und die TLC5941 hintereinander verketten würde.
==Modulkonfigurationen==
[[Datei:RGBLEDmodul Anordnungen.png|rechts|Die möglichen Anordnungen der Module.]]
Um eine Fläche zu legen, benötigt man mehrere Stecker und Buchsen auf jedem Modul. Da kein Strang erforderlich ist, kann man mehrere Verbindungspunkte zwischen den Modulen in Kauf nehmen, sodass ein Netz entsteht. In diesem Fall braucht man nur einen Stecker nach Oben und Rechts bzw. eine Buchse von Unten und Links. (Bild ist nicht up-to-date)
Es kommt I2C (oder eine Modifikation) zur Anwendung. Problematisch ist nur die Auswahl der Adressbreite, denn es sollen ja ausreichend viele Module für übliche Anwendungen ermöglicht werden, jedoch ermöglicht schon eine Adressbreite von nur 6 Bit mehr Module, als wenn man auf den Atmel verzichten und die TLC5941 hintereinander verketten würde (diese Anordnung ist auf 40x TLC5941 limitiert).