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 !!
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.
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
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.
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 :-(
...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
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!!
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
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
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
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..
@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.
Eine eigene Frage?
Dieser Thread ist über 14 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.