Übersicht
Das LED-Matrix-Treiber-Board verwendet den ATmega328P Mikrocontroller. Er steuert eine 8×8 oder 16×16 Gleichtaktkathode LED-Matrix mit Multiplexing-Technologie. Kernkomponenten:
- Reihenfahrer: ULN2803 Darlington-Array (Senkenstrom 500mA/Reihe)
- Kolonnenfahrer: 74HC595 Schieberegister (Kaskadenerweiterung)
- Benutzereingabe: 3 Touch-Tasten
- Stromversorgung: 5V geregelt (unterstützt USB/externer DC-Eingang)
- Strombegrenzungswiderstand: 220Ω (unabhängig für jede Spalte)
Musteranwendung
- Laufender Text: Echtzeit-Sensordaten anzeigen
- Interaktives Spiel: Snake (Taste steuert Richtung)
- Animationseffekt: Schlagendes Herz/Wellenmuster
- Musik-Visualisierung: Mit Mikrofonmodul
Einschränkungen der aktuellen Version
| Begrenzung | Auswirkungen | Abhilfe |
|---|---|---|
| 16×16 Bildwiederholfrequenz ≤200Hz | Flackern bei hoher Helligkeit | Timer-Interrupts verwenden |
| Kein PWM-Dimmen | Feste Helligkeit | MOSFETs in der nächsten Revision hinzufügen |
| USB-Strombegrenzung (500mA) | Max 25% LEDs leuchten | Externe 5V/2A Versorgung |
Installationsanleitung
Firmware brennen
- FTDI-Programmierer an 6-polige Schnittstelle anschließen
- Installieren Sie die LedControl-Bibliothek in der Arduino IDE
- Laden Sie Beispielcode hoch:
cpp
//
#include
LedControl lc = LedControl(12, 11, 10, 2); //
void setup() {
lc.shutdown(0, false);
lc.setIntensity(0, 8);
}
Firmware-Architektur
Code
Grafik TD
A[Hauptschleife] --> B[Scan-Taste]
A --> C[Animationsrahmen generieren]
A --> D[Matrix aktualisieren]
D --> E[Zeile N aktivieren]
D --> F[Spaltendaten senden]
F --> G[Verriegelung 74HC595]
Wichtige Optimierungen:
- Timer-Interrupt-Auffrischung (vermeidet delay()-Blockierung)
- Vor-Rendering des Bildpuffers
- Entprellung der Taste State Machine
Hardware-Design
PCB-Layout Punkte
- Aktueller Pfadentwurf:
- Leistungseingang → 100μF Elektrolytkondensator → LM7805 → 0.1μF Keramikkondensator
- Zeilentreiber (ULN2803) direkt an die Matrixzeile angeschlossen
- Signalgruppierung:
- Zeilensteuerungssignal: 20mil Linienbreite, Längenanpassung ±5mm
- Spalte Datenverbindung: DIN-CLK-LATCH Gruppenrouting
- Layout [Strombegrenzungswiderstand]:
- In der Nähe des 74HC595-Ausgangspins
- 0805-Gehäuse im Parallel-Design (verbesserte Wärmeableitung)
Über Spezifikationen
| Typ | Blende | Pad-Durchmesser | verwenden Sie |
|---|---|---|---|
| Stromzufuhr | 0.4mm | 0.8mm | 5V/GND |
| Signal | 0.3mm | 0,6 mm | Steuerung von Zeilen und Spalten |
| Wärmeableitung | 0,5 mm | 1.0mm | Regler Masse |
FAQ
Überprüfen Sie die Installation des FTDI-Treibers
Überprüfen Sie, ob der Bootloader beschädigt ist
Messen Sie die Taktfrequenz der MCU (sollte 16MHz betragen)
Erhöhen Sie die Fähigkeit zur Reihenansteuerung: Fügen Sie einen 100μF-Kondensator zum Ausgang des ULN2803 hinzu.
Kürzen Sie die Länge der Leiterbahn (Taste: [Leiterbahn] ≤10cm)
Empfehlung: Verwenden Sie Widerstände im 1210er Gehäuse (Leistung ≥ 0,5W)
Oder verwenden Sie einen Konstantstrom-Treiber-IC (z.B. TLC5940)
Fügen Sie einen 100nF Entkopplungskondensator am Ende der Leitung hinzu.
Verwenden Sie ein "Schlangen"-Routing zum Ausgleich der Impedanz
Design-Dateien
Der Download KiCad Projekt enthält:
- Schaltplan (mit Vermerk zur Berechnung des [Strombegrenzungswiderstandes])
- PCB-Layout (optimierte Version mit 4 Lagen)
- 3D-Modell (STEP-Datei)
- Stückliste (BOM)
Route aktualisieren
- V2.0: WiFi-Steuerung hinzugefügt (ESP-12F Modul)
- V3.0: Unterstützt RGB-Matrix (IS31FL3731 Treiber-IC)
- V4.0: Integriertes Lithium-Batterie-Management (Lade- und Entladeschaltung)




