Forum: Mikrocontroller und Digitale Elektronik 8x8 RGB Matrix Ansteuerungsproblem


von Roman (Gast)


Angehängte Dateien:

Lesenswert?

Liebe Community ich hab mir mal die Mühe gemacht und ne 8x8 RGB matrix 
mit Common Cathode selbst gebastelt. Nun will das ding nicht ganz so ich 
hab den Schaltplan selbst entworfen und würde darum bitten dass da mal 
wer nen blick drauf wirft.

Grundidee sind 8Fach D FFs die über 8Bit Bus von uC die Kathoden der 
Leds auf GND oder VCC zu ziehen. Ich habe Rot grün und blau aller LEDS 
verbunden und an 3 Pins des uC gelegt. Die outputenables werden über 
einen demux gesteuert.

Ich hänge mal Schaltplan und Code aus atmel studio an.

Meine Frage wäre ob das so realisierbar ist und ob ihr Fehler im Code 
erkennen könnt.

Entschuldige mich schonmal vorab für Unklarheiten bin erst 16 und das 
ist so ziemlich mein erstes AVR Projekt.


1
#define F_CPU 12000000UL
2
3
#include <avr/io.h>
4
#include <util/delay.h>
5
6
int main(void)
7
{
8
  DDRD=0b11111111;
9
  DDRC=0b11111111;
10
  
11
    while(1)
12
    {
13
    //Alles auf Null setzten
14
    PORTC=0b0000000;
15
    _delay_ms(10);
16
    PORTD=0b0000000;
17
    
18
    //Startzustände für BUS
19
    _delay_ms(10);
20
    PORTC=0b1111111;
21
    _delay_ms(10);
22
    
23
    //Outputenable setzten
24
    PORTD=0b01010000;
25
    _delay_ms(10);
26
    //Farbe wählen
27
    PORTD=0b010101100;
28
    _delay_ms(10);
29
    //Taktflanke erzeugen
30
    PORTD=0b010101100;
31
    _delay_ms(1000);
32
    PORTD=0b010101101;
33
    
34
    }
35
}

von Hubert G. (hubertg)


Lesenswert?

Schon mal überlegt wieviel Strom aus dem µC für die drei RGB-Pin 
fliessen kann?

von Max H. (hartl192)


Lesenswert?

Die OE würde ich alle verbinden und die C1 individuell ansteuern, sonst 
kannst du in alle FFs nur das gleichzeitig ansteuern, also werden in 
allen die gleichen Daten gespeichert.

Der Pin des µCs ist ein bisschen schwach um alle Anoden einer Farbe zu 
treiben.

: Bearbeitet durch User
von Roman (Gast)


Lesenswert?

Also sollte ich eine Transistorstufe für die Farben benützen?

von Max H. (hartl192)


Lesenswert?

Roman schrieb:
> Also sollte ich eine Transistorstufe für die Farben benützen?
Ja, außer du kannst sonnst irgendwie garantieren, dass der max. Strom 
des Pins nicht überschritten wird.

BTW: Eigentlich ist das Ganze keine 8x8 sondern eine 64x3 Matrix.

: Bearbeitet durch User
von Roman (Gast)


Lesenswert?

also könnte ich den demux genausogut weglassen und einen extraport für 
die C leitung benützen? wäre ansich ja egal sind ja noch 2 Ports frei

und dann einfach mit einer transistorstufe die RGB schalten

von Max H. (hartl192)


Lesenswert?

Roman schrieb:
> also könnte ich den demux genausogut weglassen und einen extraport für
> die C leitung benützen?
Ja, ich verstehe auch nicht, wie man bei so vielen freien Pins auf dem 
Demux kommt.

Beim 74574N könnte es auch etwas knapp werden, immerhin muss der Strom 
von bis zu 8 LEDs durch den GND Pin abfließen.

Edit: Ich sehe gerade, die Kondensatoren links vom Quarz müssten noch 
mit GND verbunden werden, außerdem brauch der µC und die anderen ICs 
Entkoppelkondensatoren an der Versorgungsspannung.

: Bearbeitet durch User
von Hubert G. (hubertg)


Lesenswert?

Wieviel Strom kann in einer Spalte fließen, nur eine Farbe oder mehrere 
gleichzeitig.
Das leuchtet dann nur ein 1/8 der Zeit.

von Roman (Gast)


Lesenswert?

Keine Angst die EntkopplungsKondensatoren sind bei allen ICs verbaut hab 
sie aufm schaltplan vergessen

von Roman (Gast)


Lesenswert?

Wegen demux war ursprüngl für arduino gedacht

von Roman (Gast)


Lesenswert?

Wie meinst du das mit 1/8 der Zeit

max Sollten 192 leds leuchten

von Hubert G. (hubertg)


Lesenswert?

Roman schrieb:
> Wie meinst du das mit 1/8 der Zeit

Du wolltest doch multiplexen?

Roman schrieb:
> max Sollten 192 leds leuchten

Dann mach mal Video wenn du einschaltest.
Hast du diesen Quacks nicht durchgerechnet?
In kein Datenblatt geschaut?

von Route_66 H. (route_66)


Lesenswert?

Roman schrieb:
> Wie meinst du das mit 1/8 der Zeit
>
> max Sollten 192 leds leuchten

Stimmt! Es ist nicht ein Achtel, sondern ein 64stel oder ein Drittel.

von Michael D. (mike0815)


Angehängte Dateien:

Lesenswert?

8 Flipflops und ein Dekoder!?
Hast du schon mal über eine 1Chip Alternative nachgedacht?
Der Holtek braucht nur 3 Datenleitungen, kann 4x8x8 oder 256 oder 
max.384 LEDs treiben und kommt dabei nicht mal in's schwitzen...
Ich hänge mal ein Datenblatt und eine App-Note an, vielleicht wäre das 
für dich interessant.

Gruß Michael

von MaWin (Gast)


Lesenswert?

Roman schrieb:
> Liebe Community ich hab mir mal die Mühe gemacht und ne 8x8 RGB matrix
> mit Common Cathode selbst gebastelt.

Warum guckst du nicht vorher mal, wie man es richtig macht?

Ist dir das Internet zu weit? Gehst du davon aus, dass du sowieso 
schlauer als alle anderen bist?

von Martin (Gast)


Lesenswert?

MaWin schrieb:
> Ist dir das Internet zu weit? Gehst du davon aus, dass du sowieso
> schlauer als alle anderen bist?

Und was soll das jetzt?
Macht liebe ne Pause, ist schon Freitag!

von Martin S. (led_martin)


Lesenswert?

@Roman (Gast):

Lass Dich hier nicht entmutigen, Ich habe auch schon Dinge gebaut, ohne 
die Sache zu 100% zu verstehen, man bastelt ja auch, um sich 
weiterzuentwickeln. Und zu meinen Anfangszeiten gab es kein Forum, wo 
man fragen konnte, da wurde halt so lange umgebaut, bis es (manchmal nur 
halbwegs) ging. Dabei füllte sich zwangsläufig auch die Kiste mit den 
toten Halbleitern. Ändere die Vertauschung von Enable und Clock an den 
Latches, bau an den Anoden der einzelnen Farben Treiberstufen 
(Transistoren) rein, und mach ein 1/3 multiplexing über die Farben. 
Damit ist das zum Funktionieren zu bringen. Besonders hell wird es 
nicht, die Latches können nicht viel Strom, berechne die Vorwiderstände 
auf 8-10 mA, an jeder Kathode Einer.

Mit freundlichem Gruß - Martin

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.