Nachdem mein günstiger "Als Esatzteil/defekt" WT150 von Ebay eingetroffen war, und außer "Beep" und "Insert SD Card" nicht viel zu sagen hatte war klar: Es muss eine Vernünftige (also nicht-Insellösung) für die Software her. Zum Glück hatte ich hier im Forum über Google die Info gefunden das ein MightyboardRevE verbaut ist. Und bei den Marlin-Beispielkonfigurationen gibt es einen Ordner "WT150". Das wird doch nicht...? Doch, ist für den Weistek. Also fix die beiden Dateien aus "marlin/example_configurations/wt150" nach "marlin" kopiert. Nach einem kurzen blick in die configuration.h (nichts wirklich außergewöhnliches zu sehen) gedacht: Scheint ja einfach! Doch nach einem Klick auf "Überprüfen" stellte sich schnell Ernüchterung ein: eine Fehlermeldung jagte die andere!
1. #include"utility/twi.h" kann nicht gefunden werden -> Das sollte eigentlich Funktionieren. Da es das aber nicht tut, nehmen wir den Ordner "Arduino\hardware\arduino\avr\libraries\Wire\src\utility" der die Dateien "twi.c" und "twi.h" enthält, kopieren ihn nach "Arduino\libraries" und benennen ihn in "twi" um. Der include wird durch #include<twi.h> ersetzt. 2. Der Kompiler verschluckt sich an einem Kommentar. Warum auch immer, alle anderen Kommentare ignoriert er ja schließlich auch. Also den Kommentar einfach löschen oder mit Enter in die nächste Zeile verchieben, schon gehts. Warum auch immer. 3. Der Arduino-Mega-Definition fehlen Pins. Der Arduino Mega verwendet nur 70, das Mightyboard 80. Dazu muss die "pins_arduino.h" unter "Arduino\hardware\arduino\avr\variants\mega\" angepasst werden. 4. Eine der Bibliotheken kompiliert nicht, "Linker Error". Der Fehler ist zur Abwechslung bereits bekannt und kann durch die Installation einer älteren "Arduino AVR Version" in diesem Fall der Version 1.6.21 unter Werkzeuge->Board:"Arduino....."->Boardverwalter behoben werden. 5. ... Und die "pins_arduino.h" hat wieder nur 70 pins? Den Fehler hatte ich doch vor 10 Minuten schon behoben? Nach einigem Suchen stellt sich raus das jede "Arduino AVR Version" ihre eigene "pins_arduino.h" verwendet. Die, die jetzt verwendet wird versteckt sich unter: "C:\Users\BENUTZERNAME\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.21\variants\mega" Nachdem wir auch dort die Anpassung auf 80 Pins vorgenommen haben, läuft der Kompiler durch. ENDLICH!
Und tatsächlich, jetzt kann man ohne Probleme die Firmware mittels Arduino IDE aufspielen. Und wird mit einem Drucker belohnt der bereitwillig per Konsole Kommuniziert. Nach einer kurzen Z-kalibrierung mittels M206 via Konsole bestätigt ein Testdruck per "Pronterface": der vom SLIC3R generierte Gcode wird Problemlos in geschmolzenes Plastik verwandelt. Die in der Marlin Konfiguration hinterlegten Einstellungen passen sehr gut, so dass der Testwürfel auf Anhieb die richtigen Abmessungen hat. Der SD-Kartenslot funktioniert auch. Nur das Display... Ein Blick in die Bastelkiste zeigt, das noch ein "0.96" SSD1305 I2C OLED" Display vorhanden ist. Da hatte doch schon jemand? Ja, das Display hat zwar nur Briefmarkengröße aber 128x64 Pixel und wird von Marlin unterstützt. Auf der Platine findet sich ein 4-Pin-Header der mit "I2C" beschriftet ist, dort kann man das Display direkt Anstecken. Jetzt muss in der "configuration.h" noch angegeben werden das wir es angeschlossen haben, und die "pins_MIGHTYBOARD_REVE.h" erhält auch einen Eintrag für diesen Fall. Dort wird auch vermerkt, dass (und wo) jetzt der Rotationsencoder angeschlossen ist. Dazu wird der "STC I2C5204AD" von der SD-Karten-Platine enfernt und der Rotationsencoder an 4 der jetzt freigewordenen Lötflächen angeschlossen. Die Pinbelegung der Lötflächen habe ich mir mit der MightyboardRevE-Pinout-pdf und einem Multimeter "ausgeklingelt". Angehängt habe ich die Marlin-1.1.9 für nur USB und die Marlin-1.1.9_mod mit den Anpassungen für Display und Rotationsencoder.
Voilá: WT150 mit "minimalen" Hardwareänderungen auf Marlin Umgebaut.
Das größere Oled ist jetzt drin, aber am Rahmen bastel ich noch. Auch habe ich die Motortreiber gegen TMC2208 ausgetauscht(Diese Stille!), und den ATMega 1280 gegen einen 2560, damit mehr der Marlin-Firmware optionen reinpassen. Das SMD-Löten ging gut, ist aber definitiv nichts für den ersten Versuch in dieser Richtung. Heißluft, Lötkolben mit feiner Spitze und gutes Flussmittel sind ein muss. Die weißen Stecker habe ich dazu kurzerhand zeitweise entlötet um sie mit der Heißluft nicht zu beschädigen.
Beim Druckertreibertausch habe ich mich an die Appnote von Trinamic gehalten, die neuen Strom-messwiderstände berechnen sich nach der Formel: R_sens_new = 0.52 * R_sens_old - 20milli Ohm. Die Pins 11 und 12 wurden auf der Platine mit einem Cuttermesser unterbrochen.
mein Name ist Johannes. Ich habe kürzlich einne WT150 bei Ebay erstanden und versuche mich am Flashen der Firmware. Bei mir bricht der Compiler mit der Meldung twi.h no such file or directory ab. Tatsächlich findet sich keine twi.h im verzeichnis....
Wir kann ich da weiter machen? Was macht die twi.h? Kann ich die einfach auskommentieren?
Vielen Dank für eure Antworten....
Habe es selbst hinbekommen, man muss zwei Includes per Hand ins Arduino-Verzeichnis schieben und die .pin datei anpassen auf die 80 Pins des Mightyboards. Das Kompilieren und Flashen schein funktioniert zu haben. Nur habe ich keine gescheite Software, die den Drucker steuert. Repetierhost geht nur so teilweise, kriegt die Achsen verfahren und ein Homing, aber das Hotend geht nich an....