Hallo Zusammen,
das ist mein erster Post in diesem Forum, bin aber schon einige Zeit stiller, begeisterter Mitleser. Das Forum ist wirklich super und beeindruckend was für Fachwissen sich hier rumtummelt
Einmal kurz meine Story im Schnelldurchlauf:
- erster Drucker vor etwa 3 Wochen gekauft (Sidewinder X1)
- out of the box starkes Z-Banding, Levelprobleme, etc. etc.
- kompletten Drucker zerlegt (wirklich komplett, alles!) und wieder anständig zusammengebaut, alles Kalibriert und eingestellt (Extruder, Rollen, Z-Stangen etc. etc.)
- Messchieber, Messuhr, IR-Thermometer wurden fachgerecht benutz
- neue Firmware (Nexus3D) aufgespielt
- Drucke waren jetzt besser, allerdings scheint das Board ein EPROM Defekt Problem zu haben (merkt sich nichts und wenn dann falsch) -> support Artillery
- Artillery schickt neues Bett und neue Z Stangen, Board habe ich nicht erwähnt da kein Bock auf lange Warten und wenn dann dachte ich mir kann man eh upgraden
Gekauft wurde folgendes:
- BTT SKR 1.4 Turbo
- 5x TMC2209 V1.2
- BTT TFT35 V3
- BLTOUCH
War evtl. nicht die schlauste Idee ohne wirkliche Ahnung und ohne den ersten anständigen Druck direkt alles auszutauschen. Im Internet gab es ein Tutorial für ein SKR 1.3 und dem Sidewinder, ich dachte das wird wohl plug&play für das 1.4 Turbo gelten. Falsch gedacht! Das SKR 1.4 ist in einigen Punkten dann doch anders. Firmware rauf gespielt, nix ging. Fett.
Ich hab dann absolut von vorne angefangen und mich mit den Marlin Grundlagen befasst, Turorial, Foren, Videos etc sowie Trial&Error hoch 100.
Dafür das ich bis vor kurzem absolut keine Ahnung hatte, bin ich aber doch schon relativ weit gekommen und es funktioniert eigentlich alles so wie ich es möchte, bis auf den BLTOCH.
(Endstop vom Filamentsensor hängt an X, der induktive von X ist jetzt für Z2 zuständig)
Meine Anforderungen sind (grün=funktioniert, rot=fail):
- echtes Dual Z (Z2 auf E1)
- zusätzlicher Endstop für Z2
- Homing Z1&Z2 seperat mit eigenen Endstops
- Safe Homing nicht mittig mit BLTOUCH sondern in Stock-Position (-2,-5) da Homing durch die zwei Endstops erfolgen soll. Hatte Safe Homing auch aus, ändert nichts am Problem.
- kein Homing durch BLTOUCH
- kein Sensoreless Homing
- ABL mit BLTOUCH
Zuerst habe ich Cheetah 5.0 verwendet, das wurde dann aber durch die ganzen Anpassungen und Änderungen zu unübersichtlich. Nun verwende ich Stock Marlin bugfix-2.0.x ohne irgendwelche Profile etc. Es funktioniert soweit auch alles, bis auf den BLTOUCH. Dieser kommt einfach nicht über den ersten Punkt hinweg und gibt dann einen Error aus.
Der Ablauf ist wie Folgt:
- Autohome läuft normal
- ABL Befehl wird gegeben
- ABL beginnt, erster Punkt wird angefahren
- Nubsi kommt raus, er fährt runter, BLTOUCH lößt aus, er fährt wieder hoch
- Jetzt hört er einfach auf und gibt über das Display die Fehlermeldung "probing failed"
Ich verstehe einfach nicht warum. Eigentlich müsste alles richtig eingestellt sein, der BLOUCH hängt an den dafür vorgesehenen PINS am Board und das Board weiß auch welche Pins er verwenden soll. Egal was ich probiert habe er kommt nicht über den ersten Punkt. Ich habe es auch mal mit UBL versucht, da kommt er dann ein Stück weiter. Bei UBL fährt er nen Punkt an (so circa X200, Y100, warum auch immer?) und fängt dann an zu testen. Allerdings den gleichen Punkt immer wieder, er geht nur hoch runter und zählt die Punkte weiter.
Ich habe hier mal in den Spoilern mein Änderungen in VSCode eingefügt. Bis auf die unten genannten Änderungen ist das die komplette stock Marlin bugfix 2.0.x
Show ContentPlatformio.io:
default_envs = LPC1769
Show ContentConfiguration.h:
#define SERIAL_PORT -1
#define SERIAL_PORT_2 0
#define BAUDRATE 115200
#define MOTHERBOARD BOARD_BTT_SKR_V1_4_TURBO
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
#define TEMP_SENSOR_BED 1
#define DEFAULT_Kp 15.55
#define DEFAULT_Ki 1.30
#define DEFAULT_Kd 46.49
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
#define USE_YMAX_PLUG
#define X_MIN_ENDSTOP_INVERTING false
#define Y_MIN_ENDSTOP_INVERTING true
#define Z_MIN_ENDSTOP_INVERTING true
#define X_MAX_ENDSTOP_INVERTING false
#define Y_MAX_ENDSTOP_INVERTING true
#define Z_MAX_ENDSTOP_INVERTING false
#define Z_MIN_PROBE_ENDSTOP_INVERTING false
#define X_DRIVER_TYPE TMC2209
#define Y_DRIVER_TYPE TMC2209
#define Z_DRIVER_TYPE TMC2209
#define Z2_DRIVER_TYPE TMC2209
#define E0_DRIVER_TYPE TMC2209
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80.121, 80.121, 399.778, 442.54 }
#define DEFAULT_MAX_FEEDRATE { 200, 200, 10, 25 }
#define DEFAULT_ACCELERATION 500
#define DEFAULT_RETRACT_ACCELERATION 500
#define DEFAULT_TRAVEL_ACCELERATION 500
#define Z_MIN_PROBE_PIN P0_10
#define BLTOUCH
#if ENABLED(BLTOUCH)
#define BLTOUCH_DELAY 500
#define BLTOUCH_FORCE_5V_MODE
#endif
#define NOZZLE_TO_PROBE_OFFSET { 28, -33, 0 }
#define MIN_PROBE_EDGE 10
#define Z_CLEARANCE_DEPLOY_PROBE 15
#define Z_CLEARANCE_BETWEEN_PROBES 5
#define Z_CLEARANCE_MULTI_PROBE 5
#define Z_PROBE_LOW_POINT -10
#define CHOPPER_TIMING CHOPPER_DEFAULT_24V
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false
#define INVERT_E0_DIR true
#define X_BED_SIZE 300
#define Y_BED_SIZE 310
#define X_MIN_POS -2
#define Y_MIN_POS -5
#define Z_MIN_POS 0
#define X_MAX_POS 319
#define Y_MAX_POS 306
#define Z_MAX_POS 400
//#define FILAMENT_RUNOUT_SENSOR
#define AUTO_BED_LEVELING_BILINEAR
#define GRID_MAX_POINTS_X 5
#define Z_SAFE_HOMING
#if ENABLED(Z_SAFE_HOMING)
#define Z_SAFE_HOMING_X_POINT (-2)
#define Z_SAFE_HOMING_Y_POINT (-5)
#endif
#define LCD_LANGUAGE de
#define DISPLAY_CHARSET_HD44780 WESTERN
#define SDSUPPORT
#define INDIVIDUAL_AXIS_HOMING_MENU
#define SPEAKER
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
#define FAN_SOFT_PWM
#define NUM_SERVOS 3
#define SERVO_DELAY { 300, 300, 300 }
Show ContentPINS_BTT_SKR_V1_4.h:
#define Y_MAX_PIN P1_25
Show ContentConfiguratioin_adv.h:
#define LIN_ADVANCE
#define LIN_ADVANCE_K 0
#define NUM_Z_STEPPER_DRIVERS 2
#define Z_MULTI_ENDSTOPS
#define Z2_USE_ENDSTOP _YMAX_
#if AXIS_IS_TMC(X)
#define X_CURRENT 580
#if AXIS_IS_TMC(Y)
#define Y_CURRENT 580
#if AXIS_IS_TMC(Z)
#define Z_CURRENT 580
#if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 580
#if AXIS_IS_TMC(E0)
#define E0_CURRENT 580
Ich bin seit Tagen dran das Problem zu lösen komme aber einfach nicht weiter. Ich habe irgendwie das Gefühl das die Lösung super simpel ist, irgendeine Kleinigkeit scheint zu Fehlen.
Auch wenn das ganze echt heftig war sich da so von 0 auf 100 reinzufuchsen macht mir das super viel Spaß, einfach faszinierend diese Technik und der Umgang damit.
Ich würde mich wirklich freuen wenn ihr mir weiter helfen könntet
![Smile Smile]()
Was mache ich falsch, bzw. was übersehe ich?
Vielen Dank schon mal im Voraus