Forum: FPGA, VHDL & Co. VHDL Matrix Duo LED´s


von Patrick (Gast)


Lesenswert?

Hallo,
ich bräuchte bitte eure Hilfe.

Ich muss für die FH ein Projekt machen. Dabei bekommen wir ein Altium 
Live Design Board.
Ich möchte eine 7x6 Duo LED Matrix ansteuern um dann Vier Gewinnt darauf 
zu programmieren.

Ist es besser, zwei MAX7219 Displaytreiber dafür zu verwenden oder das 
Multiplexing Softwaretechnisch zu regeln, da ja 36 I/O´s vorhanden sind?

Wenn ich die MAX7219 verwende, muss ich dann die gemeinsamen Kathoden an 
beide Treiber anschließen oder wie ist dann der Ablauf?

Wenn ich die LED´s direkt betreibe reichen ja Transistoren vor allen 
Reihen und Spalten. Aber auf was muss ich dann bei der Programmierung 
achten?


Vielen Dank
Patrick

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Ist es besser, zwei MAX7219 Displaytreiber dafür zu verwenden oder das
> Multiplexing Softwaretechnisch zu regeln, da ja 36 I/O´s vorhanden sind?
Soso softwaretechnisch also... hmmm...
Warum willst du diese schnuckelige kleine Matrix nicht einfach direkt 
als VDHL-Beschreibung ins FPGA machen?

> Aber auf was muss ich dann bei der Programmierung achten?
Dass du eine Hardware beschreibst. Mit welcher Sprache eigentlich?
Oder willst du einen Softcore verwenden?
Ich schlage vor, du malst einfach mal ein Bildchen, wie du dir das 
vorstellen könntest...

von Duke Scarring (Gast)


Lesenswert?

Was hast Du denn für Duo-LEDs? Welche mit gemeinsamer Kathode bzw. Anode 
oder Antiparallel geschaltet?

Duke

von Patrick (Gast)


Lesenswert?

Danke für die schnellen Antworten,
Die Matrix besteht aus Duo LEDs mit gemeinsamer Kathode.
Programmiert wird in vhdl.

Wie kann ich denn die Matrix über die Ausgänge definiert werden? Dann 
muss doch auch gemultiplext werden oder?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Wie kann ich denn die Matrix über die Ausgänge definiert werden?
Wie nochmal? Da stimmt was orthografisch nicht...

Es ist doch so, dass du eine Matrix hast, bei der z.B. die Kathoden von 
jeweils 7 LED gemeinsam in den 6 Zeilen hängen. Damit hast du eine 14x6 
Matrix und damit auf dem FPGA 20 Ausgänge.
Etwas weniger Ausgänge brauchst du, wenn du jeweils 6 Kathoden pro 
Spalte zusammenfasst: 12+7 = 19.

> Dann muss doch auch gemultiplext werden oder?
Ja klar, eine Matrix muss gemultiplext werden...

Mal eine grundlegende Frage: Was hast du mit VHDL bisher gemacht?

von Patrick (Gast)


Lesenswert?

Du hast geschrieben, warum ich es nicht als vhdl-Beschreibung mache.
Und genau das war ja meine frage. Ob es so besser ist oder ob ich die 
beiden displaytreiber nehmen soll.
Ich habe nur die Grundlagen von vhdl drauf. Wir sind aber eine Gruppe 
mit mehreren, die programmieren können.
Ich versuche derzeitig nur, das Projekt auf die eine zu stellen und 
möglichst viele fragen zu klären.

Und ich entschuldige mich für meine Unprofessionalität Ausdrucksweise 
aber ich stehe eben noch am Anfang der microcontroller und fpga 
Programmierung

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Du hast geschrieben, warum ich es nicht als vhdl-Beschreibung mache.
> Und genau das war ja meine frage.
Du hast ja z.B. ein FPGA-Board bekommen. Damit ist klar, dass du die 
Aufgabe mit einem FPGA lösen sollst. Hat dir dein Prof da nicht noch ein 
paar Hinweise gegeben, wie er es gerne möchte? Hast du in dem Fach, in 
dem die Projektarbeit verfasst wird, eher was mit "Programmieren" oder 
eher was mit "Hardware" zu tun?

Denn du könntest
1. das alles mit VHDL auf ein FPGA packen,
oder du könntest
2. einen Mikrocontroller aufs FPGA klatschen und das alles in Software 
machen,
oder du könntest
3. die Displayansteuerung in Hardware mit VHDL machen und den 
Algorithmus in Software.

von Patrick (Gast)


Lesenswert?

Wir sollen mit Hilfe des Boards ein Spiel programmieren. Eine sehr 
offene Aufgabenstellung also.

Ok, unter deinen genannten Bedingungen handelt es sich dann wohl um die 
Nummer 1 bei der wir das Programm in vhdl aufs fpga klatschen und damit 
unsere Matrix ansteuern.

Also vor die Reihen und Spalten Widerstände und Transistoren löten.
Und vhdl technisch die Matrix ansteuern?

von Duke Scarring (Gast)


Lesenswert?

Patrick schrieb:
> Also vor die Reihen und Spalten Widerstände und Transistoren löten.
> Und vhdl technisch die Matrix ansteuern?
Jepp.

Den teuren MAX7219 kannst Du Dir sparen. Der ist nur was, wenn Du nicht 
genug I/Os am Mikrocontroller hast.

Duke

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Also vor die Reihen und Spalten Widerstände und Transistoren löten.
> Und vhdl technisch die Matrix ansteuern?
Das wird wohl die Absicht sein. Und so würde ich das auch machen.

Und dann kommt die Frage:
Und wie gebe ich meine Züge ein?
Wer SPIELT das Spiel?
Mensch gegen Mensch auf dem LED-Speilbrett, oder auch Mensch gegen FPGA?
Denn wenn das FPGA auch nocht die Spiellogik abhandeln muss, dann wirds 
knackiger...

von Patrick (Gast)


Lesenswert?

Die Züge werden mit Tastern unter jeder Spalte gesetzt.

Gespielt wird im Zweispieler Mensch gegen Mensch Modus immer 
abwechselnd.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Die Züge werden mit Tastern unter jeder Spalte gesetzt.
Also: 7 Eingänge entprellen und Flankenerkennung.
Zurücksetzen könnte man ein Spiel dann z.B. über das gleichzeitige 
Betätigen der äusseren beiden Taster.

> Gespielt wird im Zweispieler Mensch gegen Mensch Modus
Musst du dann im FPGA den Gewinner ermitteln, oder macht du nur eine 
simple Anzeige?

von Patrick (Gast)


Lesenswert?

Müssen die Taster hardwareseitig entprellt werden?

Zum Zurücksetzen haben wir einen 8. Taster eingeplant.

Und sobald eine Viererreihe erkannt wurde blinkt die Viererreihe 
abwechselnd in der Spielsteinfarbe und der Mischfarbe Gelb.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Es ist am einfachsten, Taster direkt ans FPGA anzuschließen und dort 
drin die "Hardware"-Entprellung zu machen.

Und die Gewinnauswertung ist auch nicht so kompliziert, weil sich ja nur 
rings um den zuletzt gemachten Zug was abspielen kann.

von P. K. (pek)


Lesenswert?

Patrick schrieb:
> Wie kann ich denn die Matrix über die Ausgänge definiert werden? Dann
> muss doch auch gemultiplext werden oder?

Ich weiss nicht, was Dir an HW zur Verfügung steht. Und was Du für Duty 
Cycles Du einhalten musst, um die LED's des Displays mittels 
multiplexing sinnvoll zum Leuchten zu bringen weiss ich ebenfalls nicht.

Aber wie wäre es, wenn Du ein SPI-Register einsetzt und jede LED 
statisch ansteuerst?

von Patrick (Gast)



Lesenswert?

Hallo,
ich habe jetzt einen Schaltplan erstellt. Ist der in Ordnung oder habe 
ich einen Fehler gemacht?

Ich habe auch die Vorwiderstände der Reihen berechnet:

Nennstrom: 20mA
Vorwärtsspannung: rot 2,0V / grün 2,2V
Spalten: 1:7
Zeilen: 12

Zeilenstrom: 140mA
Spaltenstrom: 1680mA
Vorwiderstand: rot 11,43 Ohm / grün 10 Ohm
Verlustleistung: rot 224W / grün 196W

Die LED´s vertragen aber nur einen Pulsstrom von 150mA. Wie muss ich die 
Werte verstehen und was muss ich an meiner Schaltung ändern?
Und 200W als Verlustleistung der Widerstände ist auch komisch oder?

Könnt ihr mir auch sagen ob man das Platinenlayout so machen kann?


Danke für eure Hilfe
Patrick

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Die LED´s vertragen aber nur einen Pulsstrom von 150mA. Wie muss ich die
> Werte verstehen und was muss ich an meiner Schaltung ändern?
Das bedeutet, dass keine einzelne Led im Pulsbetrieb mehr als 150mA 
abbekommen darf.

> Und 200W als Verlustleistung der Widerstände ist auch komisch oder?
Das ist entweder Bedenklich oder Falsch. Hoffentlich das Zweitere...

> Vorwiderstand: rot 11,43 Ohm / grün 10 Ohm
Zum Glück: falsch...

> Ich habe auch die Vorwiderstände der Reihen berechnet:
> Zeilenstrom: 140mA
Es steht nirgends, dass eine LED mit 20mA betrieben werden muss.
> Spaltenstrom: 1680mA
Wie kommst du auf diese Werte?
Zeig mal deinen Rechenweg...
Als Tipp: du wirst niemals alle LEDs einer Zeile gleichzeitig 
ansteuern.

Die Beschaltung der Transistoren für die Zeilen solltest auch noch mal 
überdenken. Überleg mal, welche IO-Spannung das FPGA hat, und wie gut 
oder schlecht damit diese Transistoren angesteuert werden können...

von Patrick (Gast)


Lesenswert?

Ich habe mir den LED Matrix Artikel schon mehrmals durchgelesen und habe 
nach gegebener Rechnung folgende Werte für Rot erreicht:

Izeil=Inenn*N=20mA*7=140mA
Ispl=Inenn*N*S=20mA*7*12=1680mA
Rv=U/I=(Vcc-Usat-Ube-Uf)/(Inenn*N)=(5V-0,7V-0,7V-2,0V)/(20mA*7)=11,43Ohm
Pv=Ispl²*Rv=140mA*140mA*11,43Ohm=224,03W


Was meinst du mit überdenken, der Zeilenbeschaltung?
Das FPGA schaltet 5V an den I/O Pins.

Verstehe leider nicht auf was du raus willst und vorallem welche Werte 
ich erreichen, berechnen muss

Danke
Patrick

von Patrick (Gast)


Lesenswert?

Muss gleich etwas ausbessern:
Pv=224mW

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Pv=224mW
Ok, das passt jetzt. Deine Annahmen stimmen soweit, nur die Leistung war 
um den Faktor tausend zu hoch.

> Das FPGA schaltet 5V an den I/O Pins.
Bist du sicher? Wie geht das.
Heutige FPGAs haben bestenfalls noch 3,3V am IO-Pin. Wenn das FPGA z.B. 
nur 3,3V ausgibt, dann bleiben nach dem Zeilentransistor gerade noch 
2,8V und dann nicht mehr viel für die grüne LED...

von Patrick (Gast)


Angehängte Dateien:

Lesenswert?

Lothar Miller schrieb:

> Bist du sicher? Wie geht das.
> Heutige FPGAs haben bestenfalls noch 3,3V am IO-Pin. Wenn das FPGA z.B.
> nur 3,3V ausgibt, dann bleiben nach dem Zeilentransistor gerade noch
> 2,8V und dann nicht mehr viel für die grüne LED...

Habe im Datenblatt nachgelesen. Das FPGA Board hat einen Spartan 3 von 
Xilinx und schaltet 4,4V.

Ich habe den Schaltplan jetzt geändert.
Nur die Widerstandswerte muss ich noch richtig berechnen.

Ist der Schaltplan dann so korrekt?
Welche Basiswiderständen benötigen die Spaltentreiber dann?


Danke
Patrick

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Das FPGA Board hat einen Spartan 3 von Xilinx und schaltet 4,4V.
Ein Spartan3 kann keine 4,4V am Ausgang treiben.

> Habe im Datenblatt nachgelesen.
Wo?

> Ich habe den Schaltplan jetzt geändert.
Uups, das ist schon gewagt, einem FPGA-Pin direkt die 150mA zuzumuten. 
Da war die Lösung mit den Zeilentreibern nicht schlechter (evt. sogar in 
Emitterschlatung mit pnp-Transistoren). Nur müsste da noch ein 
Pegelwandler dazwischen, um von den 3,3V auf 5,5V zu kommen. Mit 
normalen CMOS Invertern ist da viel zu machen....

von Patrick (Gast)


Lesenswert?

Wenn ich doch Transistoren verwende kann ich die 5V der 
Spannungsversorgung verwenden.

Was ist denn der Nachteil meiner ersten Schaltung mit den NPN 
Transistoren?

Wie viele mA kann denn ein Ausgang des Spartan 3 treiben und vorallem 
wie viel insgesamt?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Wie viele mA kann denn ein Ausgang des Spartan 3 treiben und vorallem
> wie viel insgesamt?
Was steht denn im Datenblatt?

> Was ist denn der Nachteil meiner ersten Schaltung mit den NPN
> Transistoren?
Nachteil: unnötiger Spannungsabfall über den Zeilentransistoren.
Vorteil: schnelleres Schaltverhalten durch den linearen Betrieb.

von Patrick (Gast)


Lesenswert?

Ich habe folgende Werte als wichtig empfungen im Datenblatt?!

Absolute Maximum Ratings:
Vcco(Output driver supply voltage relative to GND)= 3.75V
Iik(Input clamp current per I/O pin)= +-100mA

General Recommended Operating Conditioins:
Vcco(Output driver supply voltage relative to GND)= 3.465V

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Ich habe folgende Werte als wichtig empfungen im Datenblatt?!
> Absolute Maximum Ratings:
Die sind für die Entwicklung an sich unwichtig. Sie dürfen nur niemals 
erreicht oder überschritten werden!

> General Recommended Operating Conditioins:
> Vcco(Output driver supply voltage relative to GND)= 3.465V
Das ist die Empfehlung. Aber die Gretchenfrage ist: was hast du beim 
Nanoboard an Vcco tatsächlich? Denn maximal diese Spannung wird am 
IO-Pin herauskommen können.

von Patrick (Gast)


Lesenswert?

Ich weiß nicht woher ich den Wert bekommen soll. Ich weiß dass es ein 
Livedesign Evaluation Board ist.

Aber in der ANleitung finde ich irgendwie nicht den passenden Wert

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Aber in der ANleitung finde ich irgendwie nicht den passenden Wert
Du musst im Schaltplan des Livedesign Boards suchen...
http://www.altium.com/community/nanoboard-resources/livedesign-evaluation-boards/en/livedesign-evaluation-boards_home.cfm

Beim Xilinx-Board ist Vcco = 3,3V:
http://www.altium.com/files/livedesign/livedesign_eb_schematics-xilinx_spartan.pdf

von Patrick (Gast)


Lesenswert?

Ok, danke
Das heißt, dass nicht genug Spannung für die Dioden übrig bleiben wird, 
wenn ich Bon Transistoren für die Zeilen verwende?!

Wäre es eine gute Lösung, meinen v1.1 Schaltplan zu verwenden und den 
Zeilenstrom auf 100mA zu begrenzen?

Welche Spaltentransistoren muss ich verwenden? Die müssen ja dann 1,2A 
schalten.

Danke
Patrick

von P. K. (pek)


Lesenswert?

Transistorengrab weglassen und ein SPI-Schieberegister benutzen immer 
noch kein Thema?

von Christoph (Gast)


Lesenswert?

Patrick schrieb:
> Wäre es eine gute Lösung, meinen v1.1 Schaltplan zu verwenden und den
> Zeilenstrom auf 100mA zu begrenzen?

Du erwartest wirklich, dass 100mA aus einem FPGA-IO rauskommen???

Such doch einfach mal nach LED-Matrix hier im Forum. Es gibt hunderte 
Beiträge die sich mit dem gleichen Problem beschäftigen. Ob es nun ein 
µC-IO oder ein FPAG-IO ist - bei normalen LEDs reicht der Strom nicht 
aus um eine komplette Zeile zu betreiben.

Gruss Christoph

von Patrick (Gast)


Lesenswert?

Ok, und wenn ich an den Zeilen die npn Transistoren verwende und am 
Kollektor die 5V vom Board anschließe?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Welche Spaltentransistoren muss ich verwenden? Die müssen ja dann 1,2A
> schalten.
Nimm n-Kanal-Mosfets...

Ich würde Zeilentreiber so machen:
1
                     5V     5V
2
                     o      o
3
                     |      |
4
                    10k     Rv (22R)
5
                     |      |
6
                     |    |<
7
                     o----|    pnp
8
                     |    |\
9
 FPGA  --4k7---|<----'      '-------->> Zeile
10
0/3,3V      Led rot (Uf=1,5V)
Die rote LED nimmt quasi die "Pegelwandlung" vor...  ;-)

> Wäre es eine gute Lösung, meinen v1.1 Schaltplan zu verwenden und den
> Zeilenstrom auf 100mA zu begrenzen?
Wenn dir die Helligkeit dann noch ausreicht....

Peter K. schrieb:
> Transistorengrab weglassen und ein SPI-Schieberegister benutzen
Wenn man ein FPGA mit sehr vielen freien IO-Pins hat?

von Christoph (Gast)


Lesenswert?

Patrick schrieb:
> Ok, und wenn ich an den Zeilen die npn Transistoren verwende und am
> Kollektor die 5V vom Board anschließe?

Lothar Miller schrieb:
> Heutige FPGAs haben bestenfalls noch 3,3V am IO-Pin. Wenn das FPGA z.B.
> nur 3,3V ausgibt, dann bleiben nach dem Zeilentransistor gerade noch
> 2,8V und dann nicht mehr viel für die grüne LED...

Wenn an der Basis 3,3V anliegen und über die Basis-Emitter-Diode ~0.6V 
abfallen kannst du am Kollektor 5V, 7V, oder 12V anschliessen - die 
Spannung am Emitter bleibt immer gleich!

Es gibt auch noch andere Transistoren als NPN!

Gruss Christoph

von Patrick (Gast)


Lesenswert?

Ok, danke Lothar für deine Hilfe.
Kann man statt der roten LED auch was anderes für die pegelwandlung 
machen?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Kann man statt der roten LED auch was anderes für die pegelwandlung
> machen?
Du kannst 3 Stück 1N4148 in Reihe schalten. Aber rote LEDs sehen da 
cooler aus...  ;-)

von Patrick (Gast)


Lesenswert?

Der Aufwand für zusätzliche Beschaltung ist schon groß.
Wenn ich doch die 3,3V verwende? Dann hat die LED 3,3V-0,7V-0,7V=1,9V
Funktionieren würde es ja dann trotzdem oder?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Dann hat die LED 3,3V-0,7V-0,7V=1,9V
> Funktionieren würde es ja dann trotzdem oder?
Wie denn, wenn die erst bei 2,5V leuchtet...
Und vor Allem: LEDs werden nicht mit Spannung betrieben. Eine Spannung 
stellt sich nur ein, weil ein bestimmter Strom durchgeschickt wird.

> Dann hat die LED 3,3V-0,7V-0,7V=1,9V
Die zweiten 0,7V sind bezogen auf deinen ersten Plan mit npn-Transen 
nicht vorhanden. Der Fehler war schon oben in der Rechnung mit drin...

> Der Aufwand für zusätzliche Beschaltung ist schon groß.
Von nix kommt nix. Wenn du den LED-Strom auf 10mA reduzierst, dann 
kannst du die Zeilentransistoren auch ganz weglassen. Die Anzeige wird 
dann halt hübsch schummerig...

von Patrick (Gast)


Lesenswert?

Weiß nicht ob ich das jetzt richtig verstanden habe:

Wenn die zweiten 0,7V falsch sind dann reicht die Spannung doch oder?

Wie viel mA kann denn der Controller direkt ausgeben?

von Uwe (Gast)


Lesenswert?

>  Wir sind aber eine Gruppe mit mehreren, die programmieren können.
programmieren hilft hier nicht, kann sogar verwirrend sein.
Digitaltechnik wäre besser.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Uwe schrieb:
> Digitaltechnik wäre besser.
LEDs und Transistoren sind sogar analoge Bauteile...

Patrick schrieb:
> Wenn die zweiten 0,7V falsch sind dann reicht die Spannung doch oder?
Für was reicht die Spannung? Sie muss für einen halbwegs konstanten 
Strom reichen, wenn die sich LED-Spannung z.B. zwischen 2,5 und 2,8V 
(z.B. wegen der Temperatur) ändert...

> Wie viel mA kann denn der Controller direkt ausgeben?
Was sagt das Datenblatt zum FPGA?

von Uwe (Gast)


Lesenswert?

> Wäre es eine gute Lösung, meinen v1.1 Schaltplan zu verwenden und den
> Zeilenstrom auf 100mA zu begrenzen?

Etwas Elektronik Kenntnisse wären auch von Vorteil.
RTFM ! Datenblätter lesen vom FPGA bzw. Handbuch und Schaltpläne vom 
Board !

von P. K. (pek)


Lesenswert?

Lothar Miller schrieb:
> Peter K. schrieb:
>> Transistorengrab weglassen und ein SPI-Schieberegister benutzen
> Wenn man ein FPGA mit sehr vielen freien IO-Pins hat?

Der Einwand ist berechtigt, allerdings ist so ein Mux mit "analoger 
Endstufe" auch nicht ohne, wie man sieht. ;-)

von Duke Scarring (Gast)


Lesenswert?

Vielleicht versucht Ihr Euch erstmal an einer kleineren Matrix (z.B. 
4x4)?
Die ist schnell aufgebaut und umgeändert, wenn doch mal was nicht so 
geht wie berechnet. Außerdem: Das was Ihr dort an Erfahrung sammelt, 
könnt Ihr dann in die große Matrix einfließen lassen.

Duke

von Patrick (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe jetzt einen Versuchsaufbau mit 2 Duo LED´s gemacht.

mit Vcc 5V und den 3,3V am Ausgang des Evaluation Board funktioniert es 
eigentlich super.

von Patrick (Gast)


Angehängte Dateien:

Lesenswert?

Könnt ihr mir sagen, ob die Schaltung so funktionieren wird?

Wäre echt super
danke
Patrick

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Könnt ihr mir sagen, ob die Schaltung so funktionieren wird?
Sie wird genausogut wie deine 2x2 Martix funktionieren.

Aber trotzdem: Widerstände um 18..20 Ohm wären mir viel zu 
niederohmig. Als Hintergrund: eine ideale Stromquelle hat einen 
unendich großen Innenwiderstand (und LEDS sollten aus einer 
Stromquelle versorgt werden).

von Simon K. (simon) Benutzerseite


Lesenswert?

Mit der Kollektorschaltung der NPN Transistoren an den Anoden der LEDs 
bekommst du aber höchstens 2.7 Volt an deine LED.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Die Zeilentransistoren haben wir schon durchgekaut. Patrick will es 
einfach mal so probieren...  :-/

von Patrick (Gast)


Lesenswert?

Ok jetzt hab ichs probiert und weiß was ihr meint.

Habe die Schaltung aufgebaut und ein bisschen rumgemessen.

...deswegen habe ich 2,5V an Kollektor Emitter?



Aber wie verhalten sich die Spaltentransistoren dann?

Da werden doch auch die 3,3V-0,6V an den Emitter geschaltet, welcher auf 
GND liegt?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick schrieb:
> Da werden doch auch die 3,3V-0,6V an den Emitter geschaltet, welcher auf
> GND liegt?
Nein, es wird ein Strom in Höhe von (3,3V-0,6V)/3,3k = ca. 0,8mA in die 
Basis geschickt. Der Transistor verstärkt diesen Strom theoretisch um 
den Faktoer 300. Und schaltet damit so gut wie möglich durch. Fazit: der 
Kollektor (an dem ja die LED hängt) kommt (je nach Übersteuerung) bis 
auf 100mV an GND ran (Stichwort: Ucesat)...

von Patrick (Gast)


Lesenswert?

Nach meinen bisherigen Berechnungen habe ich festgestellt, dass ich ein 
externes Netzteil benötige.

Kann ich ein 5V Netzteil einfach mit Stecker anschließen oder müssen 
noch Kondensatoren/ Spulen zur Stabilisierung verbaut werden?


Danke
Patrick

von Weltbester FPGA Pongo (Gast)


Lesenswert?

Für den Ausgang des FPGAs ist es unerheblich, wie sauber die Spannung 
ist. Trotzdem sollte sie stabil genug sein. Die DCDC Wandler haben 
Datenblätter, wie man das dimensionieren muss. Das passt dann schon.

Für Deine Matrix empfehle ich einen billigen FPGA mit gekoppelten 
Ausgängen als Teiber: Ein Spartan 3A 50 hat genug Ausgänge, um die 
gesamte Matrix zu treiben. Nimm einfach 2 Ausgänge parallel.

Die Ausgänge halten das locker aus, weil sie nur 5mA treiben (bei 10mA 
je LED). Der FPGA packt das bei 64 LEDs auch noch - gfs mit Kühlkörper.

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.