Max7219 lässt alle LEDs der Matrix aufleuchten[Solved]

Hallo,
ich baue (immer noch) eine 8x8 LED-Matrix komplett selber^^

habe jetzt alles verlötet, einen funktionierenden Code und ich habe schon so einiges Anzeigen lassen.
Jetzt gibt es aber ein kleines störendes Problemchen. Ich habe alles soweit verlötet und es sitzt eig alles ganz fest(LEDs etc natürlich aber auch der arduino^^). Wenn ich etwas anzeigen lasse, klappt alles ganz normal. Wenn ich meine Matrix aber in ein( scheinbar) doofe Richtung mehr oder weniger stark Bewege kommt etwas sehr Komisches :S

Alle LEDs der Matrix leuchten^^. Das einzige was hilft ist Strom raus und wieder rein^^ Danach klappt es ganz normal

Ich habe das Problem aber auch ganz selten schon zu Beginn.

Was löst das aus und wie kann ich es abschaffen? Ich finde echt keinen Fehler in meiner Schaltung :S

Freue mich über jeder Antwort :slight_smile:

Der Code hat leider die 9500 Zeichenmarke überschritten^^

Der Code hat leider die 9500 Zeichenmarke überschritten^^

als File mit "Additional Options" anhängen.
Wie sieht die Verdrahtung aus. Ist diese sicher angelötet oder wackelig gesteckt?
Grüße Uwe

Hier der Sketch. Ich bin mir eig schon sicher, dass ich alles fest verlötet habe.

Matrix.ino (16.2 KB)

Hallo,

selbst wenn man mit dem "guten alten" bleihaltigen Lot und Kolophoniumlösung als Flussmitel arbeitet und alles wie im Lehrbuch aussieht, kannst du eine kalte Lötstelle dabei haben. Ich hatte mir bei meinem letzten Projekt bald einen Wolf gesucht. Eine Siebensegmentanzeige hatte einen Wackler und ein Segment setzte aus. Ich hatte zuerst den Stecker vom Flachbandkabel abgeschnitten und einen Neuen vercrimpt. immer noch das Selbe. Dann habe ich begonnen, die Basen der beiden benachbarten Treibertransistoren zu brücken. Das Segment folgte dem Nachbarn. Somit mußte dahinter alles stimmen. Am fraglichen IC Pin des 595 gemessen, der Pegel um das Segment anzusteuern war da. Also habe ich den IC Pin nochmals nachgelötet, den Vorwiderstand und die Transistorbasis. Danach ging es.
In meinen Augen ist es fast noch wichtiger zu verstehen, was die Elektronik macht, als die Software. Fehlersuche ist ansonsten Fehlanzeige. Einen fremden Code kann man notfalls noch kopieren, der sollte dann passen. Eine Schaltung kann man nachbauen, da kann man aber Fehler machen. Das ist in etwa, als ob man den Code ausdruckt und nochmal abtippt :wink:
Zur Fehlersuche kann man auch Testroutinen in die Software einbauen, oder ein kleines Testprogramm zur Fehlersuche schreiben.
Zum Aufbau einer mehrstelligen Anzeige (z.B. Uhr) eignet sich folgende Vorgehensweise. 888888 und alle Segmente aus langsam blinken lassen (testet auf Funktion und Durchgang der Treiber) Danach abwechselndes Blinken der Segmente a,c,e,g --> b,d,f,dp und zurück. So findet man Kurzschlüsse zum Nachbarsegment. Ich hatte sogar schon mal einen Kurzen zwischen 2 Widerständen, wo die Lackierung schadhaft war und von den aufgepressten Metallkappen von einem Widerstand zum Anderen ein Kurzer auftrat. Seit dem richte ich die penibel aus :slight_smile:
Sitzt der 7219 in einer Fassung. Das ist zum Wechseln des Chips prakisch, aber auch eine Fehlerquelle, wenn man keine Fassungen mit gedrehten Kontakten verwendet.
Ansonsten, hast du den MAX7219 mit einem KerKo 100n und einem kleinen Elko 10-47µ +5V gegen Masse dicht am Chip abgeblockt und der Datenbus vom Arduino ist so kurz wie möglich, also keinen Meter lang? Ist die Zuleitung zum 7219 nicht zu lang und nicht zu dünn? Die LEDs werden gemultiplext, also schnell an und aus geschaltet. Dabei fließen sehr schnell wechselnd sehr hohe Ströme und fast nichts. Wenn im schlimmsten Fall der MAX mit "Klingeldaht" über 1 Meter Zuleitung hat und keine Abblock C's dann passiert Folgendes: Beim Einschalten vieler LEDs bricht die Spannung ein. u.U. so stark, das das IC außerhalb seiner Spezifikationen (Unterspannung) betrieben wird. Oder die Störungen auf der Stromversorgungsleitung koppeln auf den Eingang bei langen Kabeln ein.
Diese genannten Abblockkondensatoren verhindern genaus dies, indem sie kurze Spannungseinbrüche ausbügeln. Die 2 Kondensatoren haben die Chinesen sogar in ihren Bausätzen mit dem MAX und der 8x8 Matrix. und glaube mir, wenn diese 2 C's entbehrlich wären, dann würde der Chinamann die auch einsparen :smiley:
Da Abschalten hilft, vermute ich mal was Derartiges.

Gruß Gerald

Ich wollte mitteilen das die Matrix jetzt stabil läuft :slight_smile:

Das Problem war die Verlötung. Ich musste einige Stellen nachbessern weil es zu Wackelkontakten geführt hat. Ich bedanke mich herzlich für die Hilfe :slight_smile:

Hier übringens noch die ausführlichere Lösung: Max7219 lässt alle LEDs der Matrix aufleuchten[Problem] - Mikrocontroller.net