3D Druck

Aus Wiki_2020

3D Druck

G-Code
Modelle
Software
Hardware
Wissen
Firmware Marlin
3dwork.io/en/configure-bltouch-in-marlin/
3dwork.io/en/complete-guide-configure-marlin-2-0-x-from-scratch/

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 E-1 S60 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.

Druckerconfig
Send: M503
Recv: echo:; Linear Units:
Recv: echo:  G21 ; (mm)
Recv: echo:; Temperature Units:
Recv: echo:  M149 C ; Units in Celsius
Recv: echo:; Filament settings (Disabled):
Recv: echo:  M200 S0 D1.75
Recv: echo:; Steps per unit:
Recv: echo:  M92 X100.00 Y100.00 Z400.00 E95.00
Recv: echo:; Max feedrates (units/s):
Recv: echo:  M203 X400.00 Y400.00 Z4.00 E25.00
Recv: echo:; Max Acceleration (units/s2):
Recv: echo:  M201 X9000.00 Y5000.00 Z50.00 E10000.00
Recv: echo:; Acceleration (units/s2) (P<print-accel> R<retract-accel> T<travel-accel>):
Recv: echo:  M204 P1000.00 R1000.00 T1000.00
Recv: echo:; Advanced (B<min_segment_time_us> S<min_feedrate>T<min_travel_feedrate> J<junc_dev>):
Recv: echo:  M205 B20000.00 S0.00 T0.00 J0.04
Recv: echo:; Home offset:
Recv: echo:  M206 X0.00 Y0.00 Z0.00
Recv: echo:; Material heatup parameters:
Recv: echo:  M145 S0 H200.00 B50.00 F0
Recv: echo:  M145 S1 H230.00 B70.00 F0
Recv: echo:; Hotend PID:
Recv: echo:  M301 P17.27 I1.18 D62.94
Recv: echo:; Bed PID:
Recv: echo:  M304 P194.66 I31.27 D807.91
Recv: ok