Skip to main content

Youtube: Kobra Display mit Klipper

Erstellt von seho85 (Anycubic Vyper) 
seho85/klipper-dgus: A python project to connect a DGUS display to Klipper (github.com)
Adaptiert für den Anycubic Kobra von fragmon

Hardware

Folgende Kobra Modelle wurden getestet:
- Kobra Max mit Trigorilla Pro A 1.0.4
- Kobra Max mit Trigorilla Pro B 1.0.2

Thereotische Kompatibilität (Modelle werden nach Tests aufgenommen):
- Kobra
- Kobra Plus
- Kobra 2

Nicht kompatibel:
- Kobra Neo (kein DWIN Display)

Zur Nutzung wird das Display nicht mehr am Drucker, sondern am Raspberry Pi über dei GPIO direkt angeschlossen. 

BOM:
- Dupontstecker 4 Pin (Anschluss GPIO Raspberry Pi)
- JST XH Stecker 6 Pin (Anschluss Kobra Display)
- Kabel

Installation

Die Anleitung ist einzig für einen Raspberry Pi ausgelegt. Solltet ihr eine andere MCU betreiben, so müssen die Dateien ggf. angepasst werden.

Displayverbindung

Das Display ist wird über die GPIO Leiste mit dem Raspberry PI verbunden.

1. Aktivieren Sie die Serienschnittstelle auf Raspberry Pi

sudo raspi-config

    * *3) Schnittstellenoptionen*
    * *6) Serielle Schnittstelle*

    * Möchten Sie, dass eine Anmeldeschale über die serielle Schnittstelle zugänglich ist?
         * Nein

    * Möchten Sie, dass die Serienschnittstellenhardware aktiviert wird?
         * Ja

2. Trennen Sie Raspberry Pi von der Stromversorgung**

3. Verbinden Sie das Display mit dem Raspberry PI GPIO Pin Header

ACHTUNG
 Es wird dringend empfohlen, das Display anzuschließen, wenn der Raspberry Pi ausgeschaltet ist!

Display-Steckverbinder
=================

20230729_092059.jpg                              20230729_092047.jpg

 

Display flashen

1. Lade die DWIN_SET.zip (erstellt mit dem DGUS-Tool), entpacke und kopiere diese auf eine korrekt formatierte MicroSD-Karte.

https://github.com/cryd-s/kobra_extended/blob/main/dgus_project/DWIN_SET.zip

2. Stecke die MicroSD-Karte in das ausgeschaltete Display

3. Schalte das Display ein

4. Eine blaue Displaymaske zeigt den Fortschritt des Flashens an.

5. Während des Flash-Vorgangs zeigt die zweite Zeile an:

SD Card Process...

Wenn das Flashen abgeschlossen ist, zeigt die zweite Zeile an:

SD Card Process... END!

Schalte das Display aus

Entferne die MicroSD-Karte

ACHTUNG:

Es ist von entscheidender Bedeutung, dass die MicroSD-Karte korrekt formatiert ist:
- Dateisystem: FAT32
- Zuordnungseinheitsgröße: 4096

Installationsskript

Für eine einfache Installation auf MainsailOS ist ein Einrichtungsskript namens install_for_mainsailos.sh im Verzeichnis des Projektordners zu finden.

1. Kopieren der benötigten Daten

git clone https://github.com/cryd-s/kobra_extended.git
mv kobra_extended klipper-dgus
chmod -R 700 klipper-dgus
cd klipper-dgus

2. Führen das Installations-Skript aus:

./install_for_mainsailos.sh

ACHTUNG Während der Installation werden Sie aufgefordert, Ihr sudo-Passwort einzugeben.

Konfigurationsdateien
dgus_display_macros.cfg

Diese Konfigurationsdatei muss in den config Ordner kopiert und in der printer.cfg eingebunden werden.

[include dgus_display_macros.cfg]

Die Datei definiert die Aktionen, die von einigen Steuerelementen des Displays ausgeführt werden.

ACHTUNG

Je nachdem, welchen Drucker Sie verwenden, ist eine Anpassung dieser Datei erforderlich (siehe Kommentare in der Datei dgus_display_macros.cfg)

serial_config.json

Die Datei serial_config.json enthält die Einstellungen für die serielle Schnittstelle, die zur Kommunikation mit dem DGUS-Display verwendet wird.

Die Angabe ist abhängig vom verbauten Raspberry PI sowie der Rasbian Version. Wählt zunächst eine Schnittstelle aus und sollte das Display nicht starten, testet hilfsweise die zweite Bezeichnung. Sollte dies auch nicht funktionieren schaue bitte und Troubleshooting.

Standardmäßig wird folgender Schnittstelle genutzt:

"serial_port": "/dev/ttyS0"

Sollte das Display nicht funktionieren, kann mit diesem Befehl, die Schnittstelle geändert werden:

ttyS0 zu ttyAMA0

sed -i '3s|/dev/ttyS0|/dev/ttyAMA0|' /home/pi/klipper-dgus/config/serial_config.json

wenn es wieder zurückgesetzt werden soll (ttyAMA0 zu ttyS0)

sed -i '3s|/dev/ttyAMA0|/dev/ttyS0|' /home/pi/klipper-dgus/config/serial_config.json
websocket.json

Die Datei websocket.json enthält die Einstellungen für die Websocket-Verbindung, die zur Kommunikation mit Klipper über den Moonraker-Socket verwendet wird.

In der Regel müssen nur die ersten beiden Parameter *ip* und *port* geändert werden.

Neben den Einstellungen *ip* und *port* gibt es einige andere Objekte, die hier beschrieben werden.

    {
        "websocket": {
            "ip": "127.0.0.1",
            "port": 7125,
            
            "printer_objects": {
                "some_more_entries" : "..."
            },

            "data_model": {
                "some_more_entries" : "..."
            }
        }
    }

IP
IP-Adresse der Maschine, auf der Moonraker läuft. Wenn MainsailOS verwendet wird, ist es dieselbe IP-Adresse, wie die zur Verbindung mit der Weboberflächeport

Port
Der Port, auf dem Moonraker überträgt. Standardmäßig läuft es auf 7125 und es sind keine Änderungen erforderlich.

printer_objects
Hier sind die *Druckerobjekte* definiert, die vom Display verwendet werden. Siehe https://moonraker.readthedocs.io/en/latest/printer_objects/
Änderungen hier können erforderlich sein, wenn eine neue Information im Display verwendet werden soll.

data_model

In data_model befinden sich die zuletzt mit Moonraker ausgetauschten Daten. Dieser Abschnitt benötigt überhaupt keine manuellen Anpassungen. Er wird von der Display-Controller-Anwendung generiert. Manuelle Änderungen werden beim Starten/Herunterfahren der Controller-Anwendung überschrieben.