Forum: Mikrocontroller und Digitale Elektronik LEDs leuchten leicht bei 8x8 Register PWM


von Peter S. (schussel)


Angehängte Dateien:

Lesenswert?

Hallo,
Ich will den 4x4x4 RGB Cube von dieser Seite nachbauen:
http://www.stefan-weigert.de/seiten/minicube.html

Habe schon alle Teile da und eine Testschaltung aufgebaut, auf der die 
ersten beiden LEDs der Mosfets vorhanden sind.
Auf der Seite der Latches/Treiber habe ich jeweils das erste Signal 
weitergeleitet, sodass ich momentan 2 LEDs ansteuern kann.

Die 4x4x4 Cube Schaltung entspricht letztendlich einer 8x8 
LED-Ansteuerung.

Auf dem Bild im Anhang sieht man den Fortschritt meiner Schaltung.

Jetzt habe ich das Problem, dass wenn ich eine LED in der Reihe leuchten 
lassen will, die anderen LEDs in der Reihe leicht mitleuchten. Das ist 
aber nur in der x-Reihe (Mosfet-Reihe) so. (Es liegen in dem Moment ca. 
1,1 Volt an der LED an)

Laut dem Ersteller des Projekts hatte er diese Probleme noch nie. Er 
nutzt den selben Programmcode.

Das Problem kommt bei allen Farben vor. Somit kann es kaum sein, dass 3 
Latches/Driver defekt sind.
Ich habe die exakt gleichen Bauteile verwendet. Nur statt dem Atmega 32 
benutze ich einen 644P. Andere Grundlege Funktionen des uCs 
funktionieren ohne Probleme (ISP-Programmierung, UART1).

Vielleicht hat ja jemand einen Vorschlag? (Ich habe kein Oszilloskop)

von Christoph S. (mixer) Benutzerseite


Lesenswert?

Hallo,

mit welchem Takt läuft der Controller? Quartz?

Gruss

von Andreas K. (andyk)


Lesenswert?

Hi Peter,

ich würde entweder auf einen nicht vollständig gesperrten Treiber tippen 
(Basiswiderstände an Transistoren, bzw. der FETs checken) oder auf eine 
Massebrücke auf der Platine.

Gruss
Andreas

von Peter S. (schussel)


Lesenswert?

Hallo,

Mixer S. schrieb:
> Hallo,
>
> mit welchem Takt läuft der Controller? Quartz?
>
> Gruss

Der Controller läuft mit einem Quartz 14,7456MHz ($crystal = 14745600).

Andreas Kr schrieb:
> Hi Peter,
>
> ich würde entweder auf einen nicht vollständig gesperrten Treiber tippen
> (Basiswiderstände an Transistoren, bzw. der FETs checken) oder auf eine
> Massebrücke auf der Platine.
>
> Gruss
> Andreas

Ich habe einen statischen Potentiometer (1kOhm) anstatt dem 100 Ohm 
Basiswiderstand angebracht. Ich habe damit versucht, genau an den Punkt 
zu kommen, dass die LED aus ist, wenn sie aus sein soll. Das Problem 
ist, dass sie dann auch nicht leuchtet, wenn sie ein sein soll. Also ich 
finde definitiv keinen Punkt, in dem es passt.
Habe noch ein paar Massepunkte auf dem Steckbrett miteinander verbunden, 
leider ohne Erfolg.

von Christoph S. (mixer) Benutzerseite


Lesenswert?

Peter S. schrieb:
> Hallo,
>
> Mixer S. schrieb:
>> Hallo,
>>
>> mit welchem Takt läuft der Controller? Quartz?
>>
>> Gruss
>
> Der Controller läuft mit einem Quartz 14,7456MHz ($crystal = 14745600).

Sind dann auch die Fuses richtig gesetzt?

> Andreas Kr schrieb:
>> Hi Peter,
>>
>> ich würde entweder auf einen nicht vollständig gesperrten Treiber tippen
>> (Basiswiderstände an Transistoren, bzw. der FETs checken) oder auf eine
>> Massebrücke auf der Platine.
>>
>> Gruss
>> Andreas
>
> Ich habe einen statischen Potentiometer (1kOhm) anstatt dem 100 Ohm
> Basiswiderstand angebracht. Ich habe damit versucht, genau an den Punkt
> zu kommen, dass die LED aus ist, wenn sie aus sein soll. Das Problem
> ist, dass sie dann auch nicht leuchtet, wenn sie ein sein soll. Also ich
> finde definitiv keinen Punkt, in dem es passt.
> Habe noch ein paar Massepunkte auf dem Steckbrett miteinander verbunden,
> leider ohne Erfolg.

Dann bau doch mal die 100R ein.
Teste die Schaltung vllt auch erst ohne µC -> zwei kleine Taster an die 
Mosfets, dann könntest du das schon mal als Fehlerquelle ausschliessen!

Gruss

von Sascha W. (sascha_w)


Lesenswert?

häng doch mal dein Programm an, das in dem Bild wird's doch wohl nicht 
sein!
Sieht so aus als ob während des weiterschalten's zur nächsten Ausgabe 
die ganze Zeile kurz angesteuert wird.

Sascha

von Peter S. (schussel)


Angehängte Dateien:

Lesenswert?

Mixer S. schrieb:
> Peter S. schrieb:
>> Hallo,
>>
>> Mixer S. schrieb:
>>> Hallo,
>>>
>>> mit welchem Takt läuft der Controller? Quartz?
>>>
>>> Gruss
>>
>> Der Controller läuft mit einem Quartz 14,7456MHz ($crystal = 14745600).
>
> Sind dann auch die Fuses richtig gesetzt?
>

Habe ein Bild von den Fuses angehängt.

>> Andreas Kr schrieb:
>>> Hi Peter,
>>>
>>> ich würde entweder auf einen nicht vollständig gesperrten Treiber tippen
>>> (Basiswiderstände an Transistoren, bzw. der FETs checken) oder auf eine
>>> Massebrücke auf der Platine.
>>>
>>> Gruss
>>> Andreas
>>
>> Ich habe einen statischen Potentiometer (1kOhm) anstatt dem 100 Ohm
>> Basiswiderstand angebracht. Ich habe damit versucht, genau an den Punkt
>> zu kommen, dass die LED aus ist, wenn sie aus sein soll. Das Problem
>> ist, dass sie dann auch nicht leuchtet, wenn sie ein sein soll. Also ich
>> finde definitiv keinen Punkt, in dem es passt.
>> Habe noch ein paar Massepunkte auf dem Steckbrett miteinander verbunden,
>> leider ohne Erfolg.
>
> Dann bau doch mal die 100R ein.
> Teste die Schaltung vllt auch erst ohne µC -> zwei kleine Taster an die
> Mosfets, dann könntest du das schon mal als Fehlerquelle ausschliessen!
>
> Gruss

Ja, die 100 Ohm hab ich getestet. Bringt alles nichts. Wenn das Latch 
aus ist, leuchtet nichts. Ist das Latch für diese LED ein, leuchtet sie, 
wenn ich das Mosfet per Taster schalte.

Sascha Weber schrieb:
> häng doch mal dein Programm an, das in dem Bild wird's doch wohl nicht
> sein!
> Sieht so aus als ob während des weiterschalten's zur nächsten Ausgabe
> die ganze Zeile kurz angesteuert wird.
>
> Sascha

Hier:
Ist nur zum Testen vereinfacht, kann natürlich optimiert werden.
1
$regfile = "m644pdef.dat"
2
$crystal = 14745600
3
$baud = 115200
4
$hwstack = 512
5
$swstack = 256
6
$framesize = 128
7
8
Ddra = &B00000111                                           'Ein-/Ausgänge definieren
9
Ddrb = &B11111111
10
Ddrc = &B11111111
11
Ddrd = &B00000010
12
13
rem wird gerade nicht benötigt:
14
Dim Teilbild As Byte                                        'Variablen deklarieren
15
Dim Bildrt(8) As Byte
16
Dim Bildgn(8) As Byte
17
Dim Bildbl(8) As Byte
18
19
Dim M As Word
20
Dim N As Word
21
Dim O As Word
22
Dim P As Word
23
Dim Q As Word
24
Dim Zeit As Word
25
26
Init:
27
28
Main:
29
   Do
30
      Portc = 0
31
      Portc.0 = 0
32
      Porta.0 = 1
33
      Porta.0 = 0
34
      Portb.0 = 1
35
      Waitus 50
36
      Portb = 0
37
38
      Portc = 0
39
      Portc.0 = 0
40
      Porta.0 = 1
41
      Porta.0 = 0
42
      Portb.1 = 1
43
      Waitus 50
44
      Portb = 0
45
46
      Portc = 0
47
      Portc.0 = 0
48
      Porta.0 = 1
49
      Porta.0 = 0
50
      Portb.2 = 1
51
      Waitus 50
52
      Portb = 0
53
54
      Portc = 0
55
      Portc.0 = 0
56
      Porta.0 = 1
57
      Porta.0 = 0
58
      Portb.3 = 1
59
      Waitus 50
60
      Portb = 0
61
62
      Portc = 0
63
      Portc.0 = 1
64
      Porta.0 = 1
65
      Porta.0 = 0
66
      Portb.4 = 1
67
      Waitus 50
68
      Portb = 0
69
70
      Portc = 0
71
      Portc.0 = 0
72
      Porta.0 = 1
73
      Porta.0 = 0
74
      Portb.5 = 1
75
      Waitus 50
76
77
      Portc = 0
78
      Portc.0 = 0
79
      Porta.0 = 1
80
      Porta.0 = 0
81
      Portb.6 = 1
82
      Waitus 50
83
      Portb = 0
84
85
      Portc = 0
86
      Portc.0 = 0
87
      Porta.0 = 1
88
      Porta.0 = 0
89
      Portb.7 = 1
90
      Waitus 50
91
      Portb = 0
92
   Loop

von Peter D. (peda)


Lesenswert?

Peter S. schrieb:
> Jetzt habe ich das Problem, dass wenn ich eine LED in der Reihe leuchten
> lassen will, die anderen LEDs in der Reihe leicht mitleuchten.

Naja die UDN sind Darlington, also schnarchlahm, laut Datenblatt bis zu 
10µs.
Die müssen nachleuchten bei nur 40µs Leuchtzeit.
Geh mal rauf auf 4ms, dann ist der Effekt geringer.
Um ihn vollkommen weg zu kriegen, mußt Du noch 10µs Dunkelzeit 
programmieren.


Peter

von M. W. (hobbyloet)


Lesenswert?

Ich habe den 4er Cube von Stefan vor kurzem aufgebaut.
Zu den Fuses:
OCDEN -> nicht aktiv
JTAGEN -> nicht aktiv !!!
CKOPT -> nicht aktiv
EESAVE -> egal -> bei mir nicht aktiv
BOOTSZ -> auf default lassen
BOOTRST -> nicht aktiv
BODLEVEL -> egal -> bei mir auf default
BODEN -> egal -> bei mir nicht aktiv
SUT_CKSEL -> auf externen Quarz mit high frequency und startup 16k + 
64ms stellen -> (sollte SUT=111 CKSEL=1111 sein.)

von Peter S. (schussel)


Lesenswert?

Peter Dannegger schrieb:
> Peter S. schrieb:
>> Jetzt habe ich das Problem, dass wenn ich eine LED in der Reihe leuchten
>> lassen will, die anderen LEDs in der Reihe leicht mitleuchten.
>
> Naja die UDN sind Darlington, also schnarchlahm, laut Datenblatt bis zu
> 10µs.
> Die müssen nachleuchten bei nur 40µs Leuchtzeit.
> Geh mal rauf auf 4ms, dann ist der Effekt geringer.
> Um ihn vollkommen weg zu kriegen, mußt Du noch 10µs Dunkelzeit
> programmieren.
>
>
> Peter

Selbst wenn ich die Latches auf 0 setze und dann 100µS warte bis die 
nächste Zeile startet, leuchten die LEDs noch deutlich. Ich kann auch 
ganz oberflächlich zwischen jede Code-Zeile Waitus 50 schreiben, sie 
leuchten immer noch.

M. W. schrieb:
> Ich habe den 4er Cube von Stefan vor kurzem aufgebaut.
> Zu den Fuses:
> OCDEN -> nicht aktiv
> JTAGEN -> nicht aktiv !!!
> CKOPT -> nicht aktiv
> EESAVE -> egal -> bei mir nicht aktiv
> BOOTSZ -> auf default lassen
> BOOTRST -> nicht aktiv
> BODLEVEL -> egal -> bei mir auf default
> BODEN -> egal -> bei mir nicht aktiv
> SUT_CKSEL -> auf externen Quarz mit high frequency und startup 16k +
> 64ms stellen -> (sollte SUT=111 CKSEL=1111 sein.)

Ja, die Fuses stimmen überein, startup-time macht keinen Unterschied bei 
mir. Hattest du in der Hinsicht keine Probleme? Der einzigste 
Hardware-Unterschied ist der 644P statt Atmega32.
So wie Stefan sagt, läuft es mit seinen 50µs pro Zeile.

von Karl H. (kbuchegg)


Lesenswert?

Peter S. schrieb:

> Selbst wenn ich die Latches auf 0 setze und dann 100µS warte bis die
> nächste Zeile startet, leuchten die LEDs noch deutlich.

geh probehalber noch höher

von Karl H. (kbuchegg)


Lesenswert?

Peter S. schrieb:

> Selbst wenn ich die Latches auf 0 setze und dann 100µS warte bis die
> nächste Zeile startet, leuchten die LEDs noch deutlich.

geh probehalber noch höher, und gib den Transistoren nach dem 
ausschalten Zeit auch wirklich abzuschalten.

      Portc = 0
      Portc.0 = 0
      Porta.0 = 1
      Porta.0 = 0
      Portb.0 = 1

      Waitus 500
      Portb = 0
      Waitus 500


Wenn das leuchten jetzt weg ist, dann kannst du versuchen die Zeiten 
wieder kürzer zu machen.

von Peter S. (schussel)


Lesenswert?

Karl heinz Buchegger schrieb:
> Peter S. schrieb:
>
>> Selbst wenn ich die Latches auf 0 setze und dann 100µS warte bis die
>> nächste Zeile startet, leuchten die LEDs noch deutlich.
>
> geh probehalber noch höher, und gib den Transistoren nach dem
> ausschalten Zeit auch wirklich abzuschalten.
> ...
>       Waitus 500
>       Portb = 0
>       Waitus 500
> Wenn das leuchten jetzt weg ist, dann kannst du versuchen die Zeiten
> wieder kürzer zu machen.

Habe übrigends an der 6. Position im Code PortB = 0 vergessen. Habe es 
bei mir im Code hinzugefügt. Hat aber nichts geändert.
Auch bei Waitus 500 leuchten sie noch. Also irgendetwas muss da faul 
sein.

von Peter S. (schussel)


Lesenswert?

Um noch eine Sache auszuschließen:
Wenn ich vom Controller aus das Mosfet auf Low lasse aber den Rest ganz 
normal ansteuere, bleibt die LED wirklich komplett aus.
Genau so, wenn ich die Latches auf Low lasse und die Mosfets ansteuere, 
bleibt die LED auch aus.

von Peter S. (schussel)


Angehängte Dateien:

Lesenswert?

Hallo,
hab mal noch ein Bild angehängt, damit ihr seht, wie die LEDs leuchten. 
Bild wurde ohne Blitz mit höherer Belichtungszeit gemacht, entspricht 
also sehr stark der Realität.
Register fährt von rechts nach links.

von Karl H. (kbuchegg)


Lesenswert?

noch weiter hoch mit den Zeiten.
Du kannst ruhig in den Millisekundenbereich hineinlaufen.

von Peter S. (schussel)


Lesenswert?

Karl heinz Buchegger schrieb:
> noch weiter hoch mit den Zeiten.
> Du kannst ruhig in den Millisekundenbereich hineinlaufen.

Ok, habe ich gemacht. Ich bin jetzt bei Waitus 2000 und die LEDs 
leuchten im Dunkeln noch ganz leicht. Bei der hohen Zeit sieht man das 
Flimmern schon, wenn man das Auge schnell bewegt.
Also ich verstehe das nicht, warum das eigentliche Programm dazu mit 
50µs ohne Mitleuchten laufen müsste und ich hier 2000 benutzen muss.
Vielleicht kommt ja mein Atmega 644P nicht richtig mit, denn im Original 
wird ja ein 32er benutzt.

von Karl H. (kbuchegg)


Lesenswert?

Aus irgendeinem Grund hab ich die IRLZ in Verdacht.
Dass die nicht schnell genug abschalten.

von M. W. (hobbyloet)


Lesenswert?

Peter S. schrieb:
> Vielleicht kommt ja mein Atmega 644P nicht richtig mit, denn im Original
> wird ja ein 32er benutzt.

Nein.
Daran liegt es garantiert nicht, ich habe auch den 644er drin.
In deinem Schaltplan hast Du nur einen Mosfet mit 100R!
Warum?
Du kannst auch zwischen 82 bis 120 R nehmen.

von Peter S. (schussel)


Lesenswert?

M. W. schrieb:
> Nein.
> Daran liegt es garantiert nicht, ich habe auch den 644er drin.
> In deinem Schaltplan hast Du nur einen Mosfet mit 100R!
> Warum?
> Du kannst auch zwischen 82 bis 120 R nehmen.

Habe inzwischen auch den Atmega 32 mit dem originalen Hexfile getestet, 
selbes Problem.
Oh, das habe ich im Schaltplan vergessen. Inzwischen habe ich alle 8 
Mosfets mit 100R Widerstände verdrahtet.

Jetzt weichen nur noch die RGB-LEDs vom originalen Projekt ab. Habe bis 
jetzt auch noch keine Lösung gefunden.

von Peter D. (peda)


Lesenswert?

Laut Schaltplan ist der Latcheingang an PA1, aber Dein Programm steuert 
ihn nicht an.

Ist natürlich klar, wenn dieser Eingang floatet, passiert sonstwas.


Peter

von sam (Gast)


Lesenswert?

schalte den OE von dem 74er dauerhaft ein da der quelltreiber bestimmt 
nicht gut mit einem High-z umgehen kann.
versuch mal folgenden ablauf:

portc = 0
Portb = 0
portc = data
portb = data
wait
pertb=0
portc=0
wait (ganz bisschen)
 und so weiter

von M. W. (hobbyloet)


Lesenswert?

@ Schussel,

Du musst den Cube erst richtig komplett aufbauen, dann ist das Problem 
weg!
Habe es grad am 8er getestet, 2 Gitter eingelötet und da sind dann auch 
solche Sachen bei mir.

Welche Leds hast Du gekauft, von Impol...?

von Peter S. (schussel)


Lesenswert?

Ja, die von Impo...

Danke für den Hinweis! Bin fast fertig mit dem Aufbau. Melde mich 
wieder, wenn ich ihn getestet habe.

von Peter S. (schussel)


Lesenswert?

@ hobbyloet
Ah, da du die gleichen LEDs benutzt, hätte ich noch eine Frage.
Welche Widerstandswerte benutzt du für die 3 Farben?

von M. W. (hobbyloet)


Lesenswert?

Wie bei Stefan auf der Seite angegeben ist,
39R Rot
150R Grün
18R Blau

Viel Glück beim Aufbau!

von Peter S. (schussel)


Lesenswert?

M. W. schrieb:
> Du musst den Cube erst richtig komplett aufbauen, dann ist das Problem
> weg!
> Habe es grad am 8er getestet, 2 Gitter eingelötet und da sind dann auch
> solche Sachen bei mir.

Habe das Projekt jetzt fertig. Habe weiterhin das Problem mit den 
mitleuchtenden LEDs. Vor allem bei blau leuchten manche LEDs recht hell 
mit.

M. W. schrieb:
> Wie bei Stefan auf der Seite angegeben ist,
> 39R Rot
> 150R Grün
> 18R Blau

Das passt für die Impo... LEDs nicht ganz. Grün und rot zu dunkel.

von M. W. (hobbyloet)


Lesenswert?

Peter S. schrieb:
> Das passt für die Impo... LEDs nicht ganz. Grün und rot zu dunkel.

Finde ich nicht, bei mir passt die Helligkeit und der Strom.

Zu deinen eigentlich 'zuviel leuchtenden Leds',
da sind einíge in der Tüte, die lassen in Sperrichtung durch und andere 
lassen sich nicht löten. :(

von Peter S. (schussel)


Lesenswert?

M. W. schrieb:
> Zu deinen eigentlich 'zuviel leuchtenden Leds',
> da sind einíge in der Tüte, die lassen in Sperrichtung durch und andere
> lassen sich nicht löten. :(

Ich habe gerade alle 64 LEDs einzeln angesteuert und bei jeder leuchten 
die anderen vom selben Mosfet mit. Ich glaube nicht, dass die alle 
kaputt sind.
Ich habe auch welche von Stefan vom originalen Projekt bekommen. Mit 
denen habe ich eine Zeile komplett aufgebaut, sodass alle 8 
Treiberausgänge und 1 Mosfet angeschlossen waren -> Somit war das 
Problem perfekt nachgestellt, da immer alle LEDs vom gleichen Mosfet 
mitleuchten -> gleiches Problem wie mit meinen LEDs.

von M. W. (hobbyloet)


Lesenswert?

Mach mal Bitte Bilder von der Platine und der Gitter.

von Peter S. (schussel)


Angehängte Dateien:

Lesenswert?

Sorry, dass ich mich jetzt erst melde. Hier sind die Bilder.
Bei dem Bild mit den LEDs wurden nur 3 LEDs der oberen Reihe angesteuert 
(rot, grün, blau). Wie man sieht, leuchten viele mit. Habe Stefans 
Originalprogramm dazu verwendet.

von M. W. (hobbyloet)


Lesenswert?

Mach mal ein besseres FOTO vom Gitter.
Ist leider nicht viel zu erkennen. (:

von Peter S. (schussel)


Angehängte Dateien:

Lesenswert?

M. W. schrieb:
> Mach mal ein besseres FOTO vom Gitter.
> Ist leider nicht viel zu erkennen. (:

Weiß nicht genau, was du daran sehen möchtest, hier mal ein paar Bilder.
Also es berühren definitiv keine Drähte oder so. Habe sie in einer 
Vorrichtung mit Löchern zusammengelötet.

von Peter S. (schussel)


Lesenswert?

Hab mir nochmal den Schaltplan angeschaut und der einzigste Unterschied 
zum Original ist:
Atmega: Pin 18 - 21 (PD4 - PD7) nicht mit GND verbunden.
Die 4 Pins sind nicht belegt und sind laut Originalplan mit GND 
verbunden.

Denke aber nicht, dass deswegen alle LEDs mitleuchten?

von M. W. (hobbyloet)


Lesenswert?

Hast Du wirklich auch 8 Stück,
von den gleichen IRLZ 34N eingebaut?

bild_unten bitte mal richtig knipsen.
Ich ahne da was mit Lötbrücken! ;(

von Peter S. (schussel)


Lesenswert?

Also normal müsste man eine Lötbrücke doch mit dem Messgerät messen 
können, wenn ich im MegaOhm-Bereich messe?
Bilder kann ich scharf ohne Blitz kaum machen. Mit Blitz kann man nichts 
mehr unterscheiden, weil die Lötstellen reflektieren.
Die Mosfets passen alle.

Aber ich kann noch dazu sagen, dass ich das Problem auf einem Steckboard 
exakt genau so hatte. Also selbst als Minimalaufbau mit einer LED und 
einem Mosfet + Ansteuerung hatte ich das Problem. Mit 8 Mosfets und 
einem Latch-Durchgang hatte ich das selbe Problem.

Kann es eigentlich auch an der Versorgungsquelle liegen? Ich nutze 
nämlich einen großen 50WH Akku dafür, der über einen Spannungsregler die 
Spannung auf 6/9/12V regelt.

von M. W. (hobbyloet)


Lesenswert?

Peter S. schrieb:
> Kann es eigentlich auch an der Versorgungsquelle liegen? Ich nutze
> nämlich einen großen 50WH Akku dafür, der über einen Spannungsregler die
> Spannung auf 6/9/12V regelt.

Das wäre jedenfalls ein Angriffspunkt.


Zitat von Stefan:
(hier 7,5V).

von Peter S. (schussel)


Lesenswert?

Die Schaltung ist so aufgebaut, dass es mit jeder externen Spannung ( < 
16 Volt oder so) läuft. Es müssen dann halt nur die Vorwiderstände für 
die LEDs berücksichtigt werden.
Ich dachte, dass die Spannungsversorgung über den Akku vielleicht 
schwankt und deswegen alles mitleuchtet. Hab mir gerade ein 
Schaltnetzteil für die Steckdose ausgeliehen, jedoch gleiches Problem. 
Also momentan fällt mir absolut nichts mehr ein.
Ich habe hier den Atmega644P und den Atmega32 -> bei beiden das gleiche 
Problem
5 Treiber und 6 Latches durchprobiert -> gleiches Problem
Inzwischen habe ich auch einen USB Programmer (MK2). Dass es daran nicht 
liegt, war klar.

von Niels N. (herr_bert)


Lesenswert?

M. W. schrieb:
> Zu deinen eigentlich 'zuviel leuchtenden Leds',
> da sind einíge in der Tüte, die lassen in Sperrichtung durch und andere
> lassen sich nicht löten. :(

Das kann ich bestätigen! Hatte mal eine LED-Matrix gebaut und das selbe 
Problem gehabt wie du. Bei mir waren es ein paar LEDs die kaputt waren. 
Sie waren auch von Impo...

Niels

von Alex W. (a20q90)


Lesenswert?

Kurzinfo:

Es gehen sogar 16x16 RGB-LEDs mit 8Bit pro Farbkanal mit >50Hz!

Selbst schon sowas gebaut!

PS:
An den Fets sollte noch ein Pull-Down (1k). Kann sein das die Ports 
nicht sauber geschaltet werden bei den Frequenzen. Hatten das Prob 
nämlich auch (trotz korekten DDRD)

von Peter D. (peda)


Lesenswert?

Zeig dochmal Dein Programm, das wird bestimmt ein Softwarefehler sein.

Du mußt die richtige Reihenfolge einhalten, dann gehts auch:
- alle FETs aus
- die 3 Register mit Bitmuster laden
- 10µs Wartezeit, bis die langsamen UDN umschalten
- nächsten FET an
- 1ms Wartezeit zum Anzeigen
usw.

Die 100R vor den FETs sind eher nachteilig. Die FETs sollen doch schnell 
schalten, also raus damit.


Peter

von Peter S. (schussel)


Lesenswert?

a20q90:
Pulldown an Mosfet getestet: kein Unterschied

peda:
Das Problem ist, dass das Mitleuchten nie zu 100% verschwindet. Ich habe 
das Projekt extra mal mit deinen Werten übertragen. Die LEDs leuchten 
aber immer noch leicht mit. Das würde man sogar auf einem Foto ohne 
Probleme sehen. Ich habe das Projekt 1zu1 nachgebaut, warum hat der 
Macher kein Problem mit 50 µs? Also 50 µs auf 1 ms ist ein sehr großer 
Unterschied.

Was ich noch so alles getestet habe, was keinen Unterschied machte:
- Vorwiderstände an Mosfets entfernt
- Pull-Down Widerstand an Mosfet getestet
- Pull-Down Widerstand direkt an µC, Latch und Treiber getestet

Was ich mittlerweile endeutig ausschließe: die LEDs

Also am liebsten wäre es mir schon gewesen, wenn das Projekt auch wie 
beim Original mit 50 µs läuft.
Vielleicht könnte ja noch einer, der das gleiche Projekt gebaut hat, 
noch ein paar Tests machen.

von Thomas W. (wagneth)


Lesenswert?

Wenn die LEDs aufgrund eines "kleinen" Reversecurrent angesteuerter LEDs 
leuchten,
dann müsste man doch mit einem Pulldown parallel zur "LED linie" diesen 
kurzschliessen können.

Wie ist den der Helligkeitsunterschied bei 1,2,3,4,5,6,7 angesteuerten 
LEDs ?

von Peter S. (schussel)


Angehängte Dateien:

Lesenswert?

Also das mit der Reversecurrent kann auch nicht sein. Wenn ich statt dem 
kompletten LED-Gitter nur eine LED (ohne Gitter) anschließe, leuchtet 
sie auch, wenn die selbe Mosfet-Reihe angesteuert wird.

Zum Helligkeitsunterschied:
Also wenn alle LEDs aus sind und man eine LED nach der anderen 
zusätzlich ansteuert, so leuchten alle vom gleichen Mosfet gleich hell 
mit.

Wenn aber irgendwelche von einem anderen Mosfet schon leuchten, dann 
kann es sein, dass welche nicht mitleuchten. Manche aus ganz anderen 
Reihen gehen auch einfach aus... (siehe Bilder)
Gelb ist die LED markiert, die eingeschalten wird. Rot sind die LEDs, 
die sich beim Einschalten der Gelben verändern. Also die hängen gar 
nicht beieinander.

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.