3D Druck

Aus Wiki_2020

3D Druck

Videos Aufbau Anet A6
G-Code
Modelle

thingiverse.com/thing:2992736

Software
Hardware
Wissen
Firmware
  • Einfügen der Boarddefinitionen Anet [1] in portable ArduinoIDE:


Beim Versuch Marlin-1.1.9.1 mit ArduinoIDE zu compilieren erfolgt bei in configuration.h enabeltem Interrupt (Zeile 580) Compilerfehler:

// 578 Enable this feature if all enabled endstop pins are   interrupt-capable.
// 579 This will remove the need to poll the interrupt pins, saving many CPU cycles.
// 580 #define ENDSTOP_INTERRUPTS_FEATURE

Arduino: 1.8.19 (Linux), Board: "Anet V1.0 (Optiboot)"

In file included from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/endstops.cpp:35:0: /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/endstop_interrupts.h: In function 'void setup_endstop_interrupts()': endstop_interrupts.h:121:7: error: non-constant condition for static assertion

      static_assert(digitalPinToPCICR(X_MIN_PIN) != NULL, "X_MIN_PIN is not interrupt-capable");
      ^21:56, 24. Apr. 2024 (CEST)21:56, 24. Apr. 2024 (CEST)~~

In file included from /home/maje22/bin/arduino-1.8.19/hardware/arduino/avr/cores/arduino/Arduino.h:258:0,

                from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/HAL.h:36,
                from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/MarlinConfig.h:39,
                from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/Marlin.h:35,
                from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/endstops.cpp:27:

/home/maje22/bin/arduino-1.8.19/hardware/anet/avr/variants/sanguino/pins_arduino.h:117:66: error: reinterpret_cast from integer to pointer

#define digitalPinToPCICR(p)    ( (((p) >= 0) && ((p) <= 31)) ? (&PCICR) : ((uint8_t *)0) )
                                                                ~^21:56, 24. Apr. 2024 (CEST)~

/home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/endstop_interrupts.h:121:21: note: in expansion of macro 'digitalPinToPCICR'

      static_assert(digitalPinToPCICR(X_MIN_PIN) != NULL, "X_MIN_PIN is not interrupt-capable");
                    ^21:56, 24. Apr. 2024 (CEST)21:56, 24. Apr. 2024 (CEST)21:56, 24. Apr. 2024 (CEST)~

In file included from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/endstops.cpp:35:0: endstop_interrupts.h:141:7: error: non-constant condition for static assertion

      static_assert(digitalPinToPCICR(Y_MIN_PIN) != NULL, "Y_MIN_PIN is not interrupt-capable");
      ^21:56, 24. Apr. 2024 (CEST)21:56, 24. Apr. 2024 (CEST)~~

In file included from /home/maje22/bin/arduino-1.8.19/hardware/arduino/avr/cores/arduino/Arduino.h:258:0,

                from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/HAL.h:36,
                from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/MarlinConfig.h:39,
                from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/Marlin.h:35,
                from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/endstops.cpp:27:

/home/maje22/bin/arduino-1.8.19/hardware/anet/avr/variants/sanguino/pins_arduino.h:117:66: error: reinterpret_cast from integer to pointer

#define digitalPinToPCICR(p)    ( (((p) >= 0) && ((p) <= 31)) ? (&PCICR) : ((uint8_t *)0) )
                                                                ~^21:56, 24. Apr. 2024 (CEST)~

/home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/endstop_interrupts.h:141:21: note: in expansion of macro 'digitalPinToPCICR'

      static_assert(digitalPinToPCICR(Y_MIN_PIN) != NULL, "Y_MIN_PIN is not interrupt-capable");
                    ^21:56, 24. Apr. 2024 (CEST)21:56, 24. Apr. 2024 (CEST)21:56, 24. Apr. 2024 (CEST)~

In file included from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/endstops.cpp:35:0: endstop_interrupts.h:161:7: error: non-constant condition for static assertion

      static_assert(digitalPinToPCICR(Z_MIN_PIN) != NULL, "Z_MIN_PIN is not interrupt-capable");
      ^21:56, 24. Apr. 2024 (CEST)21:56, 24. Apr. 2024 (CEST)~~

In file included from /home/maje22/bin/arduino-1.8.19/hardware/arduino/avr/cores/arduino/Arduino.h:258:0,

                from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/HAL.h:36,
                from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/MarlinConfig.h:39,
                from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/Marlin.h:35,
                from /home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/endstops.cpp:27:

/home/maje22/bin/arduino-1.8.19/hardware/anet/avr/variants/sanguino/pins_arduino.h:117:66: error: reinterpret_cast from integer to pointer

#define digitalPinToPCICR(p)    ( (((p) >= 0) && ((p) <= 31)) ? (&PCICR) : ((uint8_t *)0) )
                                                                ~^21:56, 24. Apr. 2024 (CEST)~

/home/maje22/bin/arduino-1.8.19/portable/sketchbook/Marlin-1.1.9.1/Marlin/endstop_interrupts.h:161:21: note: in expansion of macro 'digitalPinToPCICR'

      static_assert(digitalPinToPCICR(Z_MIN_PIN) != NULL, "Z_MIN_PIN is not interrupt-capable");
                    ^21:56, 24. Apr. 2024 (CEST)21:56, 24. Apr. 2024 (CEST)21:56, 24. Apr. 2024 (CEST)~

exit status 1 non-constant condition for static assertion


Dieser Bericht wäre detaillierter, wenn die Option "Ausführliche Ausgabe während der Kompilierung" in Datei -> Voreinstellungen aktiviert wäre.

Kalibrierung


PID Optimierung

in Anlehnung an: [2]

M503 gibt PID Werte aus:

Recv: echo:PID settings:
Recv: echo:  M301 P18.12 I0.90 D91.29
Recv: echo:  M304 P546.82 I87.83 D851.13

  • Hotend

folgene Befehle senden:

M106 S255         // Bauteillüfter ein
M303 C8 E0 S190 U // PID Autotuning für Hotend 1, bei 190°C und 8 Messungen U speichert im EEPROM

nach Abschluss Autotune sollte etwas in dieser Art angezeigt werden:

Classic PID
Recv:  Kp: 18.12 Ki: 0.90 Kd: 91.29
Recv: PID Autotune finished! Put the last Kp, Ki and Kd constants 
from below into Configuration.h
Recv: #define DEFAULT_Kp 18.12
Recv: #define DEFAULT_Ki 0.90
Recv: #define DEFAULT_Kd 91.29
Recv: ok

folgenen Befehl senden:

M107 Bauteillüfter aus

falls Speichern im EEPROM fehlschlägt in Start-G-Code:

M301 P18.12 I0.90 D91.29

  • Heatbed

folgenen Befehl senden:

M303 C8 E1 S190 U // PID Autotuning für Hotend 1, bei 190°C und 8 Messungen U speichert im EEPROM

nach Abschluss Autotune sollte etwas in dieser Art angezeigt werden:

Recv:  bias: 85 d: 85 min: 59.80 max: 60.04 Ku: 911.37 Tu: 12.45
Recv:  Classic PID
Recv:  Kp: 546.82 Ki: 87.83 Kd: 851.13
Recv: PID Autotune finished! Put the last Kp, Ki and Kd constants 
from below into Configuration.h
Recv: #define DEFAULT_bedKp 546.82
Recv: #define DEFAULT_bedKi 87.83
Recv: #define DEFAULT_bedKd 851.13
Recv: ok

falls Speichern im EEPROM fehlschlägt in Start-G-Code:

M304 P546.82 I87.83 D851.13

in Octoprint sieht dann ein Temperaturdiagramm wie folgt aus:

Extruder kalibrieren

siehe: [3]

Druckprofil erstellen

siehe [4] Punkt Slicer Profil erstellen

Erstelle ein neues Slicer Profil mit folgenden Angaben: Neues Grundprofil (Default / Werkseinstellungen) - nichts voreingestelltes (auch kein vorgefertigtes)*

  • Cura Neues Grundprofil (Werkseinstellungen)
Parameter Wert
Line Width (LW) Top/Bottom, Infill,Skirt/Brim 0,40 (LW ≙ Düsendurchmesser)
Flow PLA = 90%
PETG = 95%
ABS/ASA /PC,/POM,/HIPS,/TPU= 100%
Printing Temperature Ermittelt durch Heattower
Layer Height (LH) 0,1mm (ggf.Initial Layer Height 0,2mm)
Print Speed 60mm/s
Wall Speed 30mm/s
Flow Equalization Ratio 0 (ab Cura 5.0)
Initial Layer Speed 20mm/s
Top/Bottom Speed 30mm/s
Minimum Wall Line Width/-Even/-Odd (ab Cura 5) 0,3
Wall Thickness 0
Wall Line Count 2
Top Layers 10
Bottom Layers 10
Infill Density 15%
Infill Pattern Grid
Retraction Distance Direct Drive Extruder = 1,0 +/-0,5mm
Bowden Extruder = 3mm Grundeinstellung.

Oder für Profis - Bowdenspiel + 1,0 +/- 0,5mm ( Bowdenspiel ermitteln) Der Wert wird im Verlauf der Einstellungen noch genauer justiert.

Retraction Speed 25-50mm/s
Fan Speed 100% (Automatik, bei ABS ggf. aus)
Diameter Ermittelter Filamentdurchmesser (ggf. Printer Settings Plugin installieren), Vermesst neue Rollen mit einem Messschieber (Messuhr) über 10m, pro Messort 3x in verschiedenen Winkeln (alle 60°), bildet den Durchschnitt und notiert den FD (Filamentdurchmesser) gleich auf der Spule.
Wichtig !
Alternate Extra Wall DEAKTIVIERT
Extra Skin Wall Count 0
Extra Infill Wall Count 0
Horizontal Expansion 0
Outer Wall Wipe Distance 0
Enable Ironing DEAKTIVIERT
Enable Coasting DEAKTIVIERT
Combing OFF
Retraction Extra Prime Amount 0


Alle nicht explizit angesprochenen Einstellungen bleiben beim Default Wert, werden also nicht geändert.

In der Firmware Linear Advance deaktivieren. (M900 K0 im Start Gcode schaltet lin_advance aus)

Dieses Profil mit den Grundeinstellungen ist die Grundlage für die folgenden Schritte.