Grafikfehler beim Reprap Discount Full Graphic Display beheben

Ich bin von diesem Problem bislang glücklicherweise verschont geblieben, habe in der Community aber schon öfter von Problemen mit dem Reprap Discount Full Graphic Display gelesen. Wem das nichts sagt: Das ist das 128×64 Pixel Display, das u.a. auch im Tevo Tornado, sowie in vielen weiteren, günstigen 3D-Druckern verbaut ist.

Wenn es zu Grafikfehlern, wie oben im Bild zu sehen kommt, dass also Pixel durcheinander geraten oder Grafiken und Text nicht mehr lesbar sind, dann kann das im Wesentlichen zwei Ursachen haben:

Verbindungsprobleme

Die Displays sind über zwei Flachbandkabel mit dem Mainboard verbunden. Sind diese Kabel zu lang, beschädigt oder sind sie elektromagnetischen Störungen ausgesetzt, etwa durch Parallel verlaufende Netzkabel, kann das Signal gestört sein.

Die Lösung sind hier entsprechend möglichst kurze Kabel und/oder eine Schirmung der Kabel. Beim Tornado wurden die Kabel bereits mit einem Metallgeflecht abgeschirmt und sollten eigentlich keine Probleme machen.

Timingprobleme

Da es sich beim ursprünglichen Display Board um ein offenes Design handelt, gibt es auch eine Vielzahl an Nachbauten. Manche verwenden offenbar sehr langsame Displays. Das führt dazu, dass das Mainboard fleißig Daten sendet, die angezeigt werden sollen. Das Display kommt aber nicht hinterher und zeigt irgendwann nur noch Blödsinn an.

Auch das lässt sich zum Glück recht einfach, durch einen kleinen Eingriff in die Firmware regeln: Suche dazu einfach in der configuration.h die folgende Zeile

#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

Damit wird der Display Controller in der Firmware definiert, sodass dein Mainboard weiß, welche Anzeige verwendet werden soll und wie sie anzusprechen ist.

Unter dieser Zeile werden einfach drei weitere Zeilen eingefügt, die das standardmäßige Timing in der Kommunikation mit dem Display überschreiben. Damit werden die Daten langsamer gesendet, die Probleme sollten damit verschwinden:

#define ST7920_DELAY_1 DELAY_NS(0
#define ST7920_DELAY_2 DELAY_NS(0)
#define ST7920_DELAY_3 DELAY_NS(63)

Entscheidend ist hier vor allem die letzte Zeile. Wenn mit diesem Werten noch immer keine Besserung eintritt, kann der Wert weiter erhöht werden. Von meinem Leser Ken kam hier sogar der Hinweis bis auf 250 zu gehen. Kenn hat auch in der zweiten Zeile den Wert auf 250 erhöht und damit sein Grafikproblem behoben.

Lese auch:  Marlin Firmware Update via OctoPrint

Am besten beginnt ihr mit den empfohlenen Werten und tastet euch bei Bedarf schrittweise weiter nach oben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.