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
Der Code hat leider die 9500 Zeichenmarke überschritten^^
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
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
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
Da Abschalten hilft, vermute ich mal was Derartiges.