Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Marlin auf Anet A8

geschrieben von e0mc2 
Marlin auf Anet A8
04. August 2018 01:40
Hallo

Ich habe einen Anet A8 und würde gerne ein aktuelles Marlin aufspielen.
Verbaut ist dieser Sensor (Tronxy XY-08N) fürs Auto-Leveling und dieses Anet-Display (12864 LCD for RAMPS 1.4) mit Click-Wheel.
Das Board ist das originale von Anet (Ramps1.4).

Da ich bei Marlin das Display nicht zum laufen gebracht habe, ist momentan zum Testen ein altes Skynet installiert (V2.3.2), da gab es die Version so direkt zum Download.
Display und Sensor funktionieren soweit.

Jetzt die Frage, gibt es vom aktuellen Marlin auch eine Version für den Anet A8 mit Sensor und meinem Display?
Oder wenigstens eine Version, die sich leicht anpassen lässt? Und könnte mir dabei jemand etwas helfen?

Im Anhang ist noch meine aktuelle Configuration.h.
Wenn ihr weitere Infos braucht einfach fragen, ich versuche so schnell wie möglich nachzuliefern.

Mit Hardware-Umbauten komme ich ja ganz gut klar, aber bei der Software habe ich immer so meine Probleme...

Grüße, e0mc2
Anhänge:
Öffnen | Download - Configuration.h (55 KB)
Re: Marlin auf Anet A8
04. August 2018 08:51
@Hallo

Marlin 1.1.9 runter laden und die beiden Configs ersetzen.


Nur als an merkung ich habe keinen Anet A8 eye rolling smiley .



MFG Stefan


Mein erster grinning smiley Drucker ein Prusa Mendel i2 + RAMPS 1.4 & LCD 12864 Graphic Smart Controller,
P3Steel Mein P3Steel noch im bau
Marlin 2.0
Anhänge:
Öffnen | Download - Configuration.h (70.3 KB)
Öffnen | Download - Configuration_adv.h (66.9 KB)
Re: Marlin auf Anet A8
06. August 2018 02:37
Kleine Anleitung:

1. Marlin 1.1.9 runterladen und entpacken (http://marlinfw.org/)

2. im entpackten Marlin-Ordner. Gehe zu Marlin/example_configurations/Anet/A8
2.1 Configuration.h und Configuration_adv.h in den Marlin Ordner kopieren und die vorhandenen Dateien überschreiben

3. Notepad++ runterladen und installieren (https://notepad-plus-plus.org/download/v7.5.8.html)
3.1 Notepad++ Compare-Plugin runterladen und installieren (https://sourceforge.net/projects/npp-compare/)

4. Deine alte Skynet Configuration.h mit Notepad++ öffnen (rechtsklick auf Datei -> Edit with Notepad++)
4.1 Die neue Marlin Configuration.h mit Notepad++ öffnen (rechtsklick auf Datei -> Edit with Notepad++)

5. In Notepad++ gehe auf Erweiterungen -> Compare -> Compare

6. Änderungen zwischen der Neuen und der Alten Confiuration.h überprüfen und wenn Abweichungen, die neuen Parameter gegebenenfalls anpassen.

7. Das selbe Spiel mit der Configuration_adv.h
Re: Marlin auf Anet A8
06. August 2018 06:55
Hallo

Danke Azrael666, für deine sehr ausführliche Anleitung.
Leider gibt es in der configuration.h über die Versionen hunderte von Änderungen.
Ein direkter Vergleich der Dateien bringt daher nicht viel.
Das war auch die ganze Zeit mein Problem.
Der Sensor und das Display werden am A8 oft verbaut, aber googel findet immer nur Lösungen für etwas ältere Marlin-Versionen, und die passen dann nicht mehr in der aktuellen configuration.h.

Bei mir läuft Marlin jetzt.
Bei dem Marlin-Download sind etliche Beispiel-Configs dabei, auch für den Anet A8 (configuration.h und configuration_adv.h).
Wenn an der Elektronik vom Anet A8 nichts verändert wurde, kann man die beiden Dateien einfach durch die Beispieldateien ersetzen und es läuft.

Bei mir wahren wegen Sensor und LCD zusätzlich noch folgende Änderungen in der configuration.h nötig:

Für den Sensor:
716: #define FIX_MOUNTED_PROBE     //Sensor aktiviert

776: #define X_PROBE_OFFSET_FROM_EXTRUDER -23     //Position eingetragen
777: #define Y_PROBE_OFFSET_FROM_EXTRUDER -40     //Position eingetragen


973: //#define AUTO_BED_LEVELING_3POINT
974: #define AUTO_BED_LEVELING_LINEAR     //aktiviert
975: //#define AUTO_BED_LEVELING_BILINEAR
976: //#define AUTO_BED_LEVELING_UBL
977: //#define MESH_BED_LEVELING

1141: #define Z_SAFE_HOMING     //aktiviert
Die Position vom Sensor im Verhältnis zur Nozzle müsst ihr ausmessen. Direkt darüber in der configuration.h ist beschrieben, wie die Werte angegeben sind.
Das Auto Bed Leveling aktivieren. Es gibt verschiedene Varianten, die sind in der configuration.h grob beschrieben.
Das Z_SAFE_HOMING muss aktiviert werden, dass das Homing in der Mitte vom Bed gemacht wird. Sonst wird das Homing am Rand gemacht, der Sensor ist evtl. nicht über dem Bed, erkennt dieses nicht und stoppt nicht, beim runterfahren.


Für das Display:
1393: #define LCD_LANGUAGE de     //Sprache auf Deutsch geändert

1570: //#define ZONESTAR_LCD     //Originales LCD deaktiviert

1752: #define ANET_FULL_GRAPHICS_LCD     //Grfisches Display aktiviert
Ob die Sprache umgestellt wird, muss jeder selber wissen.
Das originale LCD (ZONESTAR_LCD) wird deaktiviert.
Das neue Display (ANET_FULL_GRAPHICS_LCD) wird aktiviert.

So, theoretisch würde das so jetzt laufen.
Praktisch ist der Sketch aber zu groß und passt nicht auf das Board...
Der Sketch verwendet 127550 Bytes (100%) des Programmspeicherplatzes. Das Maximum sind 126976 Bytes.
Globale Variablen verwenden 4580 Bytes des dynamischen Speichers.


Daher gibt es bei mir noch zwei weitere Änderungen:
  77: //#define STRING_CONFIG_H_AUTHOR "(Bob Kuhn, Anet config)" // Who made the changes.
1224: #define DISABLE_M503    // Saves ~2700 bytes of PROGMEM. Disable for release!
Die STRING_CONFIG_H_AUTHOR habe ich deaktiviert.
Die Zeile 1224 (#define DISABLE_M503) habe ich aktiviert, dadurch wird die Funktion M503 deaktiviert.

Der Sketch passt jetzt auf das Board:
Der Sketch verwendet 126176 Bytes (99%) des Programmspeicherplatzes. Das Maximum sind 126976 Bytes.
Globale Variablen verwenden 4735 Bytes des dynamischen Speichers.

Anstat dem M503 könnte man auch die SD-Karte deaktivieren, wenn man über USB druckt.
Da ich aber immer über SD drucke, war das bei mir keine Option.

Ich häng mal noch meine configs an.
Wenn jemand Ideen hat, was man noch deaktivieren kann um Speicher zu sparen, hätte ich ein offenes Ohr dafür.

Grüße, e0mc2
Anhänge:
Öffnen | Download - Configuration.h (70.2 KB)
Öffnen | Download - Configuration_adv.h (66.9 KB)
Re: Marlin auf Anet A8
06. August 2018 10:02
@Hallo e0mc2

Quote

Wenn jemand Ideen hat, was man noch deaktivieren kann um Speicher zu sparen....

Flash mal mit dem Anet V1.0 (Optiboot) , dann hast du ca. 2,9% mehr Speicher zur (130048 Bytes) verfügung.


edit mit der Config.h komm ich ich auf 91% eye popping smiley

das habe ich nach geändert.

//#define STRING_SPLASH_LINE2 WEBSITE_URL         // will be shown during bootup in line 2

/**
 * PID Bed Heating
 *
 * If this option is enabled set PID constants below.
 * If this option is disabled, bang-bang will be used and BED_LIMIT_SWITCHING will enable hysteresis.
 *
 * The PID frequency will be the same as the extruder PWM.
 * If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
 * which is fine for driving a square wave into a resistive load and does not significantly
 * impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W
 * heater. If your configuration is significantly different than this and you don't understand
 * the issues involved, don't use bed PID until someone else verifies that your hardware works.
 */
#define PIDTEMPBED

// Min software endstops constrain movement within minimum coordinate bounds
//#define MIN_SOFTWARE_ENDSTOPS
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
  #define MIN_SOFTWARE_ENDSTOP_X
  #define MIN_SOFTWARE_ENDSTOP_Y
  #define MIN_SOFTWARE_ENDSTOP_Z
#endif

#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)

  // Set the number of grid points per dimension.
  #define GRID_MAX_POINTS_X 3
  #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

  // Set the boundaries for probing (where the probe can reach).
  #define LEFT_PROBE_BED_POSITION 15 		// MIN_PROBE_EDGE
  #define RIGHT_PROBE_BED_POSITION 190 		// (X_BED_SIZE - MIN_PROBE_EDGE)
  #define FRONT_PROBE_BED_POSITION 15 		// MIN_PROBE_EDGE
  #define BACK_PROBE_BED_POSITION 160 		// (Y_BED_SIZE - MIN_PROBE_EDGE)

  // Probe along the Y axis, advancing X after each column
  //#define PROBE_Y_FIRST

  #if ENABLED(AUTO_BED_LEVELING_BILINEAR)

    // Beyond the probed grid, continue the implied tilt?
    // Default is to maintain the height of the nearest edge.
    //#define EXTRAPOLATE_BEYOND_GRID

    //
    // Experimental Subdivision of the grid by Catmull-Rom method.
    // Synthesizes intermediate points to produce a more detailed mesh.
    //
    //#define ABL_BILINEAR_SUBDIVISION
    #if ENABLED(ABL_BILINEAR_SUBDIVISION)
      // Number of subdivisions between probe points
      #define BILINEAR_SUBDIVISIONS 3
    #endif

  #endif

/**
 * Print Counter
 *
 * Track statistical data such as:
 *
 *  - Total print jobs
 *  - Total successful print jobs
 *  - Total failed print jobs
 *  - Total time printing
 *
 * View the current statistics with M78.
 */
//#define PRINTCOUNTER


MFG Stefan


Mein erster grinning smiley Drucker ein Prusa Mendel i2 + RAMPS 1.4 & LCD 12864 Graphic Smart Controller,
P3Steel Mein P3Steel noch im bau
Marlin 2.0
Anhänge:
Öffnen | Download - Configuration.h (70.3 KB)
Re: Marlin auf Anet A8
06. August 2018 14:29
Hallo

Danke für die Config, sehr spannend.

Ich hab mal ein paar Sachen durchgespielt und überprüft, wie es sich auf den Speicher auswirkt.
Zeile       Befehl                                   Speicher
-----------------------------------------------------------------
78          #define SHOW_BOOTSCREEN                     414 Bytes
80          #define STRING_SPLASH_LINE2 WEBSITE_URL     178 Bytes
416 + 418   #define PIDTEMPBED                         1424 Bytes
716 + 974   Sensor + BED_LEVELING_LINEAR              14938 Bytes
900         #define MIN_SOFTWARE_ENDSTOPS               156 Bytes
1141        #define Z_SAFE_HOMING                       372 Bytes
1224        #define DISABLE_M503                       2904 Bytes
1360        #define PRINTJOB_TIMER_AUTOSTART            348 Bytes
1374        #define PRINTCOUNTER                       1678 Bytes
1498        #define INDIVIDUAL_AXIS_HOMING_MENU         184 Bytes
1570 + 1752 Anderes LCD                                7300 Bytes

Das sind die Auswirkungen, die es bei mir auf den Speicher hat, dass kann aber auch mit anderen Einstellungen zusammen hängen.
Ich bin mir z.B. nicht sicher, ob beim normalen 20x4 LCD der Bootscreen überhaupt angezeigt wird, etc.
Aber als Richtwerte kann man es wohl brauchen.

Du hast in deiner Config das standard-LCD drin, das grafische mit Click Wheel macht alleine schon 7300 Bytes aus, in dem Fall eine ganze Menge.
Reden wir hier eigentlich wirglich über 0,13 MB Speicher auf dem Board, oder hab ich da was falsch umgerechnet?

Wegen dem "Anet V1.0 (Optiboot)"
Ich hab keine Ahnung, welcher Bootloader auf meinem Board ist. Wenn ich den "Anet V1.0 (Optiboot)" auswähle, aber nur dem normalen Bootloader drauf habe, laufe ich dann nicht Gefahr, einen Teil des Bootloaders zu überschreiben, wenn ich mit dem Speicher ans Limit gehe?

Ich werde mich dann wohl auch noch mit dem Bootloader-Flashen beschäftigen...
Oder ich steige gleich auf ein RAMPS 1.4 um, da sollten die Probleme dann auch erledigt sein.
Aber ich hab jetzt grad schöne Gehäuse für Board und LCD gedruckt :-(

Naja, mal schauen.

Grüße, e0mc2
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen