Pfad: Home =>
AVR-Übersicht =>
Anwendungen => LED-Grab
8*8-Matrix LED-Grab mit ATmega16
Eigenschaften
Hier ist eine 8*8-LED-Matrix beschrieben, die folgende Eigenschaften aufweist:
- gesamte Steuerung mit einem ATmega16,
- schonendes robustes Design mit Transistortreiberstufen,
- Multiplexen von zwei mal vier Zeilen (vier obere und vier untere Reihen)
stelle von acht Zeilen,
- Multiplexgeschwindigkeit durch Änderung einer Konstante im Quellcode beliebig
anpassbar,
- hohe LED-Helligkeit durch hohe Ströme (40..50 mA für ein Viertel
der Zeit,
- Software komplett in Assembler,
- vier verschiedene Textsequenzen im EEPROM per DIL-Schalter auswählbar,
- integrierte ASCII-Tabelle für Textausgabe und einfache Grafikzeichen,
- Textausgabe überschreibend oder schiebend (Laufschrift) durch DIL-Schalter
wählbar,
- Ausgabegeschwindigkeit durch im Textstrom angegebene Steuerzeichen dynamisch
anpassbar,
- Helligkeitsauswahl über einen DIL-Schalter (100 oder 50%), andere
Helligkeitsstufen durch Änderungen im Quellcode einstellbar.
Die gesamte Schaltung (LED-Teil, Prozessorteil, Treiber, Netzteil) ist im Schaltbild dargestellt.
Oben ist die Verdrahtung
der LEDs dargestellt. Die acht Kathoden der jeweils die vier oberen und unteren Zeilen sind zu vier
Kathodenzeilen zusammengeschaltet. Die vier Anoden einer Spalte sind zusammengeführt, was zu acht
oberen und acht unteren Spaltenleitungen führt.
Die Kathodenleitungen werden von je einem Transistor BD439 getrieben, da im Extremfall bis zu 400 mA
geschaltet werden müssen (alle acht Spalten an). Für die Anoden reicht ein Transistor BC547 aus,
da immer nur jeweils eine LED gleichzeitig eingeschaltet ist. Die Treibertransistoren sind trotzdem
notwendig, da der Gesamtstrom, den ein Port zu liefern hätte, weit über dem zulässigen
Maximalwert liegt.
Die Basis der 24 Treibertransistoren sind über Widerstände an drei Prozessorports angeschlossen.
Am Prozessor sind noch das ISP-Interface und ein vierpoliger DIL-Schalter angeschlossen.
Das Netzteil für 5 V Betriebsspannung ist ohne Besonderheiten. Der Spannungsregler 7805
wird im Betrieb recht warm und sollte daher mit einem kleinen Kühlkörper (ca. 20 K/W)
montiert werden.
Der Aufbau erfolgt auf zwei Lochrasterplatinen 10*10 cm, die Rücken
an Rücken montiert werden.
Auf einer Platine sind die
LEDs bestückt.
Alle weiteren Teile
sind auf der zweiten Platine untergebracht.
Die ISP-Schnittstelle
und die DIL-Schalter sind seitlich zugänglich.
Die beiden Platinen sind mit
zwei zwölfpoligen Steckverbindern verbunden. Jeder der beiden Steckverbinder bringt acht Spalten
und vier Zeilen auf die andere Seite.
Die Software ist in Assembler geschrieben und im HTML-Format hier
und im Assembler-Text-Format hier zugänglich. Am
Ende des Quellcodes kann indidueller Text für die Ausgabe auf dem Display konfiguriert werden.
Im Quellcode integriert ist eine ASCII-Codetabelle. Diese wurde mit Hilfe einer Tabellenkalkulation
erzeugt, die auch für Änderungen des Aussehens der Buchstaben benutzt werden kann. Die
Tabellenkalkulation ist im Open-Office-Format hier bzw.
im Excel-Format hier (aus OO exportiert, keine Garantie für
Funktionsfähigkeit und Korrektheit) verfügbar.
Beim Programmieren des Prozessors sind die Fuses des ATmega16 entsprechend den Angaben im Quellcode
zu setzen. Insbesondere ist dabei die JTAGEN-Fuse zu löschen, da sonst drei Spaltentreiber
nicht korrekt arhbeiten.
Zu programmieren ist sowohl der Flash-Code als auch der EEPROM-Code.
©2011 by http://www.avr-asm-tutorial.net