Forum: Mikrocontroller und Digitale Elektronik 8x8 Dot Matrix Display Ansteuerungsdisplay


von Thomas K (Gast)


Lesenswert?

Hallo!

Ich habe folgendes Problem:

Ich steuere direkt über den PortD eines ATMega8 die Zeilen eines 8x8
Dot Matrix Displays an (siehe Bild1.jpg).
Die Spalten werden von einem 74164 Schieberegister angesteuert. Wobei
ich einfach eine 1 durch das Schieberegister durchlaufen lasse.
Das funktioniert auch wunderbar, allerdings sind viele LEDs einfach zu
dunkel.

Jetzt hab ich probehalber einfach einen BC547B nach dem Schieberegister
und vor dem Display (Spalten) zwischen zu schalten (siehe Bild2.jpg).
Doch dann funktioniert so gut wie garnichts mehr.
Wenn zum Beispiel ein Zeichen angezeigt werden soll wo die ganze 2.
Spalte leuchten soll, dann wird überhaupt nichts angezeigt.

Was mache ich falsch? :(


Vielen Dank im Voraus,
Thomas

von Thomas K (Gast)


Lesenswert?

hmm. kann ich hier nicht mehrere dateien anhängen?

von Thomas K (Gast)


Angehängte Dateien:

Lesenswert?

Bild1

von Thomas K (Gast)


Angehängte Dateien:

Lesenswert?

Bild2

von Thomas K (Gast)


Angehängte Dateien:

Lesenswert?

8x8 Dot Matrix Display

von Peter D. (peda)


Lesenswert?

Du hast wohl noch nie eine Diodenkennlinie gesehen.

Dioden (auch LEDs) haben eine sehr steile Kennlinie, deshalb ist immer
ein Vorwiderstand zur Stromeinstellung notwendig !


Peter

von Thomas K (Gast)


Lesenswert?

naja, was heißt das jetzt genau?

Das zuviel Strom fließt? Wie kann das sein?
Bei dem einen Zeichen das angezeigt wird (mit Transistor), leuchtet die
"verstärkte" Spalte sehr gut (auch alle anderen Teile vom A).
Nur die anderen Zeichen gehen eben nicht.

von Frank Linde (Gast)


Lesenswert?

Das heißt genau, dass die LEDs viel mehr Strom ziehen, als sie dürfen
(dadurch leuchten sie kurzzeitig schön hell, um dann recht schnell nur
noch auf trübe Funzel zu machen, bevor sie gänzlich abrauchen) und
damit die Ansteuerung vermutlich überlasten (habe keine Lust, mir das
Datenblatt dazu anzusehen). Und ein Chip, der weit außerhalb der
Spezifikation betrieben wird, macht was er will oder bettet sich zur
ewigen Ruhe...

Gruß, Frank

von Thomas K (Gast)


Lesenswert?

es ist ja NICHTS kaputt.
ohne transistor dazwischen geht ja alles wieder.

im datenblatt steht sowieso nicht viel. nur die anschlüsse

von Thomas K (Gast)


Lesenswert?

Kann mir bitte jemand erklären wo das Problem wirklich liegt?

Ich meine die LEDs sind sicher nicht kaputt.
Hab jetzt vor den Transistoren, nach den Transistoren und nach dem
Display Richtung Mikrocontroller Widerstände eingebaut. Es funktioniert
aber immer noch nicht! :((

von Frank Linde (Gast)


Lesenswert?

>> Ich meine die LEDs sind sicher nicht kaputt.

Und ich meine, Du solltest sie besser mal testen.


>> Hab jetzt vor den Transistoren, nach den Transistoren und nach dem
Display Richtung Mikrocontroller Widerstände eingebaut.

Mit welchen Werten?


>> Nur die anderen Zeichen gehen eben nicht.

Soll das heißen, Du kannst ein großes "A" vollständig und mit
gleicher Helligkeit der beteiligten LED-Punkte darstellen, aber "B",
"C" usw. nicht?

Deine Programmierkünste sind aber über jeden Zweifel erhaben, ja? Der
Fehler muß also in der Hardware liegen?

Gruß, Frank

von Thomas K (Gast)


Lesenswert?

ok, also nochmal:

Wenn du dir meinen Schaltplan ansiehst (bild1.jpg) dann siehst du die
Variante bei der alle "Zeichen" funktionieren. Alle LEDs leuchten,
allerdings nicht hell genug bzw. verschieden hell. Das heißt für mich
mal, dass es kein Softwareproblem ist.

Das große "A" funktioniert bei Anwendung mindestens eines
Transistors, allerdings nur hell genug (bzw. heller) in der Spalte die
der Transistor versorgt.
Dann funktionieren aber die anderen "Zeichen" nicht, wie bereits
erwähnt.

Widerstände: ich habe 220 Ohm Widerstände verbaut. Die Transistoren
schalten auf jedenfall durch (habs auch mit stärkeren Widerständen
versucht - der Transistor wird so oder so nicht warm).
Durch einen Widerstand vor und nach dem Display sind die jeweiligen
(verstärkten) LEDs des Display allerdings wieder auf dem gleichen
Niveau wie ohne Transistor. :(

von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

anbei mal eine HiPowerschaltung fuer eine 5x5 Led Matrix laesst sich
einfach auf 8x8 ausbauen. Die Led`s duerfen ein IF Strom von bis zu 30
mA haben....


@Thomas K

wenn du es noch einfacher machen willst kauf dir ein Max7219. Der ist
speziell fuer deine Sachen entwickelt wurden. Kostet leider auch nen
paar Euronen, ansonsten einfach kostenloses Sample bei MAxim
anfordern.

Mfg

Dirk

von Dirk (Gast)


Lesenswert?

in der Schematic fehlen noch die Basisvorwiderstaende oder man nimmt ein
Darlington Transistor mit eingebauten Vorwiderstand.


Mfg

Dirk

von Thomas K (Gast)


Lesenswert?

Vielen Dank Dirk!

Das hat mir bisher am meisten weiter geholfen. (habs aber noch nicht
ausprobieren können)

Noch ein paar Fragen:
1) Wenn ich bei meiner Schaltung beim Schieberegister 1 ausgebe
(Spalte)und bei PortD 0 (Zeile), dann fließt Strom (LED leuchtet) vom
Schieberegister zum uC, oder?

2) Wenn ich bei deiner Schaltung (pdf) beim Schieberegister 1 ausgebe,
muss ich dann auch für die Zeile 1 ausgeben damit der Transistor
durchschaltet und der Strom sozusagen gegen Masse abfließt?
Verstehe ich das richtig (man sieht ich bein ein Analog-technischer
Volltrottel) ?

Achja, den MAX7219 kannte ich schon. Scheint echt ein tolles Teil zu
sein. Leider nirgends unter 10 euro. Aber das mit dem Sample ist eine
gute Idee. :)


Danke!

von Dirk (Gast)


Lesenswert?

Hi,

bei dem Schieberegister fuer die NPN Darlington Transistoren muss eine
logische "1" anliegen . Bei den PNP Darlington muss eine logische
"0" anliegen.

Mfg

Dirk

von Thomas K (Gast)


Lesenswert?

aha. die PNP sind aber nach dem Schieberegister, oder? also genau
ungekehrt.

hab ich das mit dem Stromfluss eigentlich richtig verstanden (abgesehn
davon dass ich gedacht habe es seien alles die gleichen npn
transistoren)?

könnte ich die npn mit den pnp vertauschen?

Danke!

von Oliver (Gast)


Lesenswert?

Hallo Thomas,

bist du dir sicher, dass das Pin zur Zeilenansteuerung auch genügend
Strom liefern kann, um gegebenenfalls die komplette Zeile zu treiben?

Gruß Oliver

von Thomas K (Gast)


Lesenswert?

Hallo Oliver,

ich glaub du meinst die Spalte, oder?
Also wenn die ganze leuchtet dann reicht es ohne transistor natürlich
nicht. Mit schon. Zumindest schauts so aus.

Ich werde jedenfalls so bald wie möglich den Vorschlag von Dirk
ausprobieren. Ich hoffe damit wird es gehn :)

von Chris (Gast)


Lesenswert?

Öhm du solltest alles lassen wie du es anfangs geplant (Bild1) hast nur 
vllt, zwischen deinen Port D Ausgängen Treiber ULN bla bla 
(Masseschaltend)  schalten und dann LED Vorwiderstände rein, genauso 
nach dem Schieberegister einen Plus schaltenden Treiber kp TD62873 wenn 
ich das jetzt richtig im Kopf habe...da natürlich keine Vorwiederstände 
mehr dann sollte alles in der richtigen Helligkeit leuchten ;) die 
Treiber ersetzten die vielen Transistoren ;) have fun digga

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

@Chris (Gast):

Hast du mal einen Blick auf das Datum des (ehemals) letzten Postings 
riskiert? Der Thread ist FAST SIEBEN JAHRE alt!

Wer weiß ob die Leute heute noch leben?   ;o)

Gruß,
Magnetus

von Chris (Gast)


Lesenswert?

ach ja vllt noch ne erklärung vor die dunklen leds ;) datenblatt 
AVR...ich kenns nich genau aber für gewöhnlich geben die max auf einen 
einzigen port dann nur 20 mA aus...dann müssten aber auch alle anderen 
aus sein ...also strom muss gleichzeitig aufgeteilt werden heist wenig 
strom genauso das schieberegister...das sind alles bausteine für logik 
anwendungen nich für "lasten" das sind nur die steuer für die großen 
weiter schaltenden halbleiter oder relais

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.