RGB LED Matrix

Meine neue Led Matrix. Jetzt auch in Farbe!!!



Schaltung

Das Herz der Schaltung ist ein ATMEGA32. Dieser Steuert einen CD4017 an. An den Ausgängen des CD4017 befindet sich ein UDN2981 Highside Treiber, der die Anoden der LEDs ansteuert. Die Kathoden werden direkt über Vorwiderstände vom ATMEGA angesteuert. Optional können auf der Oberseite noch ein Spannungsregler und ein FT232 für die USB Unterstützung eingebaut werden.

Schaltplan
Schaltplan

Funktionsbeschreibung

Grundfunktion: Der ATMEGA gibt am Pin PD7 ein Clock Signal aus, durch das der CD4017 getaktet wird und in die nächste Zeile der Matrix schaltet. Nach der achten Zeile wird am Pin PD6 ein "low" Impuls ausgegeben, um den CD4017 wieder in die erste Zeile schalten zu lassen. Da die Ausgänge des CD4017 nicht genügend Strom liefern können um eine ganze Zeile der Matrix versorgen zu können, ist diesem der Source Treiber ULM2981 nachgeschaltet. An diesem sind direkt die Anoden des LED Matrix Moduls angeschlossen. An den Kathoden befinden sich Widerstands Netzwerke als Vorwiderstände für die LEDs. Die Netzwerke sind an je einem Port des Mikrocontrollers angeschlossen. Hier werden dann jeweils die Steuersignale für die einzelnen Farben ausgegeben.

Optional: USB: Der FT232 auf der Oberseite stellt einen Virtuellen Com Port dar. Er sendet die Per USB ankommenden Daten direkt an den UART des Mikrocontrollers. So können Bilddaten direkt über ein beliebiges Terminalprogramm übertragen werden.

Optional: Netzteil: Der 7805 sorgt für die 5V Versorgung der Schaltung. Somit kann ein 7 bis 12V Steckernetzteil verwendet werden. (200mA pro 8x8 Modul)

Mehrere Module verbinden

Bis zu vier Platinen lassen sich miteinander zu einer 16x16 oder 8x32 Matrix kombinieren. Somit sind nur einmal USB und ein Netzteil nötig. Hierzu sind die Pins 2,3 und 10 der zehnpoligen Wannenstecker zwischen allen Modulen zu Verbinden. Achtung! Die übrigen Pins dürfen nicht verbunden werden! Kurzschluss der Mikrocontrollerausgänge! Die Adressen der Module werden mit den Widerständen R2 und R3 bestimmt:
keiner der beiden bestückt: Modul 1
nur R2 bestückt: Modul 2
nur R3 bestückt: Modul 3
beide Widerstände bestückt: Modul 4

Rückseite
Vier Module

Daten übertragen

Die Daten werden mit einem beliebigem Terminalprogramm übertragen. Hierfür ist der VCP Treiber für den FT232 erforderlich, der auf der FTDI Homepage heruntergeladen werden kann. Das Terminalprogramm muss folgendermaßen eingestellt werden: Baudrate 38400, 8 Datenbits, 1 Stopbit, 0 Parity (in alpha und beta: Baudrate noch 9600)
Die Daten können dann ins Sendefeld eingetragen werden und binär gesendet werden. Die Daten werden im selbst definierten RGBRGB format übertragen, d.h. 2 bit pro farbe. Bei mehreren zusammengeschalteten Modulen werden die Daten für die Einzelnen Module hintereinander übertragen. Beispiele für Bilddaten:
8x8 Herz
16x16 EB Logo

Gehäuse

Das Gehäuse besteht aus zwei 150mm x 150mm Plexiglasplatten, die mit m3 Abstandsbolzen verbunden sind.

vorne hinten komplett
Hintere Platte Vordere Platte Fertiges Gehäuse

Downloads

Matrix Colorizer matrix_colorizer.xls
Firmware 0.0.1 Quellcode HEX file
Firmware (beta) Quellcode HEX file
Firmware (alpha) Quellcode HEX file
Eagle Dateien Layout Schaltplan

Fuse Bits auf externen Quarz stellen! JTAG Abschalten!

mit dem "Matrix Colorizer" können die Binärdaten für die Matrix erstellt werden, die dann mit dem Terminalprogramm übertragen werden können.

Changelog:
Firmware 0.0.1: Farben wurden optimiert, Baudrate auf 38400 erhöt. Erste freigegebene Version.
Firmware (beta): Unterstützung von bis zu vier Modulen
Firmware (alpha): Erste funktionierende Version für ein 8x8 Modul

Fotos

Unterseite Oberseite Platine 4 Module

Unterseite 3D Oberseite 3D Matrix in Betrieb alle Farben