Forum: Mikrocontroller und Digitale Elektronik LED Cube - Geister LED´s ohne Masse


von Sebastian Schreiber (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute :-)

ich war so frei und habe einen neuen Topik aufgemacht um die Probleme 
sauber zu trennen (macht es einfacher).
Nachdem ich jetzt mit meinem ersten Problem fertig geworden bin, gibt es 
jetzt ein neues.

Ich habe es geschafft augenscheinlich die mit physikalischen grenzen 
aufzuheben.
Mir ist es möglich eine LED zum leuchten zu bringen, ohne das sie einen 
Masseanschluss hat.

Folgende Situation:
Simples Programm:

void cube_test ( void )
{
  cube[0][0] = 128;
}

Einfach um zu sehen was passiert.
in der main.c ist auch alles auskommentiert und nur dieses Programm 
offen.

Was passiert -> das zeigt das Bild
Die unterste LED ist an - Top so sollte es auch sein.
Jedoch ist auch die LED dadrüber und die oberen 2 LED´s mit ~30% 
Leistung an.
Kein Plan wie schon einmal das sein kann (Vermutung liegt auf den zu 
langsam schaltenden LOGIC IC´s)

Jetzt kommt aber das fazinierende:
Um zu testen habe ich einfach mal die Masse des obersten Layers 
abgeklemmt (damit oben alles Spannungslos ist) und tada - sie leuchtet 
genauso !!!

Hat jemand einen Rat oder Hinweis woran es liegen könnte ??
Schaltplan ist richtig - check
Kein Kontakt untereinander - check

verwirrt

Und großes Danke an alle die mithelfen !!

von MaWin (Gast)


Lesenswert?

> Schaltplan ist richtig

Na das beruhigt ja.

von Sebastian Schreiber (Gast)


Lesenswert?

Ja ich bin mir halt auch def. sicher, da wenn ich den ganzen Cube 
einschalte und DANN die Masse trenne auch die gesamte Ebene ausfällt.

Es ist wirklich nur ein Phänomen, wenn ich einzelne LED´s ansteuere 
(oder halt ne handvoll)
Dann leuchtet immer die da drüber + die obersten 2 Ebenen.

von Dennis S. (whiterussian)


Lesenswert?

Hallo Sebastian,

nicht nur das man deinen Text teilweise nicht versteht:

>>Kein Plan wie schon einmal das sein kann

was soll das heißen.

Und das man dein Programm nicht nachvollziehen kann:

Du weist einem Variablenfeld "Typ unbekannt" einen Festwert 
"Formatierung unbekannt" zu.

Dann gibt es noch einen "Schaltplan unbekannt" und du trennst an "Stelle 
unbekannt" eine Masseleitung.

Wie soll dir jemand helfen - es ist nichts bekannt!?

Die Lösung ist jedoch sehr einfach: sortiere deinen ganzen Kram, 
Programm, Schaltplan etc. Wenn du alles durchsiehst um es geordnet hier 
als Grundlage für die Frage einzubringen wirst du den Fehler 
wahrscheinlich vorher selber finden...

DS

von Sebastian Schreiber (Gast)


Lesenswert?

Ok dann für dich nochmal langsam und mit mehr Informationen.
Es geht im das LED Cube Projekt hier von dieser Seite.

Den Schaltplan den du (mehr aber eher weniger) brauchst ist dieser hier:
http://www.leyanda.de/light/images/led_cube_control.jpg

Wegen dem Code - Ich werde hier keine 10 Seiten Quellcode einstellen.
Daher habe ich nur die Interessante Stelle gepostet.
Aber es ist der Code V1.2 von 
http://www.mikrocontroller.net/articles/LED_cube

In der main.c habe ich ALLE animationen rausgenommen und mittels der 
Funktion

void cube_test ( void )
{
  cube[0][0] = 128;
}

Nur eine einzelne LED angesteuert - die LED ganz unten, hinten links.

Leider wird damit nicht nur diese 1 LED angesteuert, sondern auch - wie 
das Bild zeigt - die da drüber + die 2 obersten LayerLED´s.
Selbst wenn ich die Verbindung zu der (z.B.) obersten Ebene am P3 CONN_B 
trenne (siehe Schaltplan) ist diese LED noch an, obwohl die Masse fehlt.

von Sebastian Schreiber (Gast)


Lesenswert?

Achja damit man das auch versteht.
das Array
cube[][] ist cube[Y-Achse][X-Achse]
Dieser Position wird die "Tiefenebene" zugewiesen.
Als Beispiel:

cube[0][0] = 128
Bedeutet:
Es leuchtet nur die LED die ganz unten, ganz links im Würfel und ganz 
hinten.

Während = 1 z.B. die LED ganz vorne ist


War das verständlicher ?

Sorry so etwas kommt bei mir raus, wenn ich hektisch einen Text schreibe 
und vorher schon Stundenlang mit Fehlersuche beschäftigt war :-P

Nimm es nicht persönlich oder mir übel.
Bin / Will auf keinen Fall Pampig klingen :-(

von Dennis S. (whiterussian)


Lesenswert?

...ok, also vom Prinzip her funktioniert dieser Würfel so:

es gibt 8 Register mit 8 Bit, demnach 64 Pins. Diese gehen an 64 LED 
einer jeweiligen Ebene.

Die Ebenen werden nacheinander aktiviert und das jeweilige "Bild" der 
Ebene auf die 8 Register gegeben.

Du trennst nun die Leitung zwischen Ebene und Transitor welcher diese 
Ebene ansteuert und dennoch leuchtet die LED auf der Ebene. Dafür kann 
es natürlich viele Gründe geben aber der erste der mir einfällt ist:

Eine LED auf der masselosen Ebene ist falsch herum eingelötet. Durch 
diese LED erhält die leuchtende LED ihre Masse von den Registern, die ja 
wenn sie aus sind ihre Pins auf Masse legen - oder?

Andere Möglichkeit, Versorgungsspannung nicht überall angeklemmt?...

DS

von Sebastian Schreiber (Gast)


Lesenswert?

Dennis S. schrieb:
> Eine LED auf der masselosen Ebene ist falsch herum eingelötet.

Genialer Tipp - Danke :-)
eine war wirklich falsch herum eingelötet.
Eine andere Ebene war eine defekte LED.

Bei der letzten "falsch" LED (2. Ebene von unten) finde ich aktuell 
nix...
Ich sehe auch nur noch Punkte ^^

Gott ey..nach 512 LED´s wird man langsam Betriebs blind.

Danke noch mal für die Hilfe!!

von Dennis S. (Gast)


Lesenswert?

Hi Sebastian,

nimm die Register der Reihe nach raus um den Fehler in der zweiten Ebene 
zu finden, aber immer vorher Strom abschalten.

"Anderer" Fehler, war der in Ebene 7? Also ist die auch ok, jetzt?

DS

von andy (Gast)


Lesenswert?

Hallo,hat zwar nichts mit deinem Problem zu tun aber wenn ich mir die 
Mühe gemacht hätte 512 Leds zu verlöten,hätte ich etwas sauberer 
gearbeitet.
Ist doch ein schönes Projekt und dann so krumm.
Ich hab mir auch schon einen gebaut.Die meiste Arbeit war das strecken 
des Silberdrahtes und das saubere verlöten.

gruss

andy

von Dennis S. (Gast)


Lesenswert?

Hi Andy,

wenn ich mir schon die Mühe mache hier zu schreiben, dann würde ich auch 
die Schift-Taste benutzen, damit mich auch jeder ernst nimmt wenn ich 
etwas zu beanstanden habe. Wenn ich dann schon etwas beanstande, würde 
ich auch einen produktiven und guten Tip geben, wie ich es besser 
hinbekommen habe :-)

DS

von Ghostbuster (Gast)


Lesenswert?

Die LEDs strahlen einfach von unten in die darüberliegenden rein, 
deshalb sieht es so aus als würden diese leuchten. Das Problem ist 
bekannt und hinreichend diskutiert. Ich habe deshalb meinen Cube gleich 
mit diffusen LEDs aufgebaut. Eine Notlösung wäre die LEDs der oberen 
Ebenen unten schwarz anzumalen. Na ja, eben eine Notlösung..

von andy (Gast)


Lesenswert?

Hallo Dennis,wo finde ich den die Schift Taste.Damit man dich ernst 
nehmen kann solltest du deine Tastatur besser kennen lernen.

gruss

andy

von Sebastian Schreiber (Gast)


Lesenswert?

@Dennis:
Alles wunderbar - die letzte fehlt nur noch auf Ebene 2 aber da ich 
jetzt weiß worauf ich achten muss, finde ich sicherlich die falsche LED.
Danke

@Ghost:
Nenenee nicht durcheinander bringen, die strahlt nicht von unten rein 
(ich kann ja meine Finger drunter packen und sie leuchtet trotzdem ;-) 
habs gleich als erstes gecheckt ^.^
Und ja ich hätte auch diffuse nehmen sollen, aber es wäre ja kein 
Projekt wenn man nicht gleich etwas anders machen wollen würde :-D
Z.B. würde ich meine Platine für den nächsten (sofern ich noch einen 
baue) auch ätzen lassen. Kabel macht nur Salat und sieht nicht gerade 
schön aus.

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.