BLTouch Config for Ender 3 (download from http://marlinfw.org)
gistfile1.txt
- Basically enabling Dual Z drivers in Marlin then makes the second Extruder driver become the driver for the second Z axis stepper. The Megatronics board looks to have 6 stepper drivers, 3 for XYZ axis and 3 for extruders. Thus you will still be using one of the extruders drivers to become your second Z axis driver.
- First off all download the Inkscape 0.48.5 version and download the makerboat gcode extension. Install the Inkscape software and add the extension as per below. To understand the complete process of G-code generation I request you to watch the below video.
Configuration.h |
COMMENT 78: //#define SHOW_BOOTSCREEN // Save memory. |
COMMENT 97: //#define CUSTOM_STATUS_SCREEN_IMAGE // Save memory. |
EDIT 375: #define DEFAULT_Kp 32.24 // PID settings with Micro Swiss all metal hotend. |
EDIT 376: #define DEFAULT_Ki 3.71 // PID settings with Micro Swiss all metal hotend. |
EDIT 377: #define DEFAULT_Kd 69.98 // PID settings with Micro Swiss all metal hotend. |
UNCOMMENT 413: #define PIDTEMPBED // Allow bed PID tuning. |
EDIT 431: #define DEFAULT_bedKp 558.37 // PID settings with thermal insulation under bed. |
EDIT 432: #define DEFAULT_bedKi 109.94 // PID settings with thermal insulation under bed. |
EDIT 433: #define DEFAULT_bedKd 708.99 // PID settings with thermal insulation under bed. |
UNCOMMENT 524: #define ENDSTOPPULLUP_ZMIN_PROBE // BLTouch setting. |
EDIT 534: #define Z_MIN_PROBE_ENDSTOP_INVERTING true // BLTouch setting. |
UNCOMMENT 550: #define X_DRIVER_TYPE A4988 // Configure Marlin to recognize the Ender 3 stepper drivers. |
UNCOMMENT 551: #define Y_DRIVER_TYPE A4988 // Configure Marlin to recognize the Ender 3 stepper drivers. |
UNCOMMENT 552: #define Z_DRIVER_TYPE A4988 // Configure Marlin to recognize the Ender 3 stepper drivers. |
... |
UNCOMMENT 556: #define E0_DRIVER_TYPE A4988 // Configure Marlin to recognize the Ender 3 stepper drivers. |
EDIT 608: #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 104.49 } // My e-step setting. |
UNCOMMENT 727: #define BLTOUCH // BLTouch setting. |
... |
ADD 729: #define SERVO0_PIN 27 // BLTouch setting. |
EDIT 777: #define X_PROBE_OFFSET_FROM_EXTRUDER -48 // Setting using Bullseye duct left ABL mount. Measure and put your own setting in. |
EDIT 778: #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Setting using Bullseye duct left ABL mount. Measure and put your own setting in. |
EDIT 782: #define MIN_PROBE_EDGE 30 // Keeps nozzle from hitting bed clips when probing. |
EDIT 791: #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 4) // Increase BLTouch accuracy. |
... |
UNCOMMENT 796: #define MULTIPLE_PROBING 2 // Increase BLTouch accuracy. |
EDIT 880: #define X_BED_SIZE 235 // For current model Ender-3's with the larger beds. |
EDIT 881: #define Y_BED_SIZE 235 // For current model Ender-3's with the larger beds. |
COMMENT 905: //#define MIN_SOFTWARE_ENDSTOP_Z // BLTouch setting. |
UNCOMMENT 976: #define AUTO_BED_LEVELING_BILINEAR // BLTouch setting. |
UNCOMMENT 984: #define RESORE_LEVELING_AFTER_G28 // Recalls ABL settings after homing. |
UNCOMMENT 1108: #define LEVEL_BED_CORNERS // Allows manual bed leveling from LCD. |
EDIT 1021: #define GRID_MAX_POINTS_X 5 // Increased for more acccuracy. |
UNCOMMENT 1100: #define LCD_BED_LEVELING // Allows auto and manual bed leveling from LCD. |
EDIT 1142: #define SAFE_Z_HOMING // BLTouch setting. |
EDIT 1256: #define PREHEAT_1_TEMP_HOTEND 195 // Setting I use for PLA. |
EDIT 1257: #define PREHEAT_1_TEMP_BED 65 // Setting I use for PLA. |
... |
EDIT 1260: #define PREHEAT_2_TEMP_HOTEND 240 // Setting I use for PETG (shows up as ABS on LCD). |
EDIT 1261: #define PREHEAT_2_TEMP_BED 75 // Setting I use for PETG (shows up as ABS on LCD). |
COMMENT 1427: //#define SDSUPPORT // Comment if you do not use the SD card and need memory for extra features like Linear Advance or Junction Deviation. |
UNCOMMENT 1453: #define SLIM_LCD_MENUS // Basic menu settings only to save memory. |
COMMENT 1507: //#define SPEAKER // BLTouch setting. |
Configuration_adv.h |
EDIT 388: #define HOMING_BUMP_DIVISOR { 4, 4, 4 } // Increase BLTouch accuracy. |
EDIT 264: #define BABYSTEP_MULTIPLICATOR 16 // Uses the natural 0.04mm 'magic number' steps. |
UNCOMMENT 265: #define BABYSTEP_ZPROBE_OFFSET // Allows saving Z offset to EEPROM. |
UNCOMMENT 756: #define BABYSTEP_ZPROBE_GFX_OVERLAY // Graphic to let you know which way to turn to move z probe up or down |
COMMENT 798: //#define ARC_SUPPORT // Not used so removed to save memory. |
UNCOMMENT 1019: #define FILAMENT_LOAD_UNLOAD_GCODES // Add change filament to LCD menu. |
language_en.h |
EDIT 134: #define MSG_PREHEAT_2 _UxGT('Preheat PETG') // Rename ABS (Preheat 2) to PETG or any other filament type. |
pins_MELZI_CREALITY.h |
ADD 49: #undef BEEPER_PIN // Prevents interference on pin 27 with BLTouch. |
How to Configure Z Offset |
G28 – Auto home, this should home your printers axis’s then move to the middle of the bed. |
G1 F60 Z0 – This takes the nozzle to the printer’s absolute Z position defined by the EEPROM. |
Slide paper under nozzle and adjust Z position (use babystepping on LCD). |
M851 Z-0.000 - Where 0.000 is the Z position aquired from the previous step (on LCD). |
M500 - Saves Z offset in priners EEPROM |
How to Calibrate E-Steps (can be added to firmware) |
M503 ; See current steps |
M83 ; Set extruder to relative mode |
M109 S240 ; Warm up the nozzle to 240C for PETG. Use 200 for PLA. |
G1 E100 F100 ; Extrude 100mm at 100mm/min. In my case, only 89mm extruded and my current settings at the time was the default 93. 100 (desired) / 89 (actual) * 93 (current) = 104.49 |
M92 E104.49 ; Set steps to 104.49mm / 100mm |
M500 ; Save settings to EEPROM |
How to Fix PID for Hotend (can be added to firmware) |
M303 S240 C10 ; Run PID autotune on hotend for 10 cycles |
M301 P32.24 I3.71 D69.98 ; Replace with your results from autotune. These are what I got for mine. |
M500 ; Save settings to EEPROM |
How to Fix PID for bed (can be added to firmware) |
M303 E-1 S80 C10 ; Run PID autotune on bed for 10 cycles |
M304 P558.37 I109.94 D708.99 ; Replace with your results from autotune. These are what I got for mine. |
M500 ; Save settings to EEPROM |
Cura Start G-code |
Note that I do not run auto bed leveling within this code since I do it through Auto Bed Leveling Wizard in Octoprint. You can scroll down to my TH3D firmware post to see how I added auto bed leveling to the start of every print. |
; Ender 3 Custom Start G-code with BLTouch |
M280 P0 S160 ; BLTouch alarm release |
G4 P99 ; delay for BLTouch |
M117 Homing... |
G90 ; Set coordinates to absolute |
G28 ; Home all axis |
M117 Priming... |
G0 X0.1 Y25 Z0.24 F5000.0 ; Move to start position |
G92 E0 ; Reset Extruder |
G1 X0 Y210.0 Z0.24 F600.0 E10 ; Start drawing line |
G1 X0.5 Y210.0 Z0.24 F600.0 E10.03 ; Continue to side a little |
G1 X0.5 Y100 Z0.24 F600.0 E18 ; Continue drawing line |
G1 X0.5 Y35 Z0.24 F300.0 E20 ; Finish drawing line slowly to relieve nozzle pressure |
G0 X0.5 Y25 Z0.24 F5000.0; Quick wipe |
G0 X0 Y25 Z15.0 F5000 ; Move to front corner and raise Z axis |
G0 X0 Y210 Z15.0 F5000 ; Move to back corner of bed to shear strings |
G92 E0 ; Reset Extruder |
M117 Printing... |
; End of custom start GCode |
Cura End G-code |
; Ender 3 Custom End G-code |
M400 ; Wait for current moves to finish |
M220 S100 ; Reset Speed factor override percentage to default (100%) |
M221 S100 ; Reset Extrude factor override percentage to default (100%) |
G91 ; Set coordinates to relative |
G1 F2400 E-3 ; Retract filament 3mm at 40mm/s to prevent stringing |
G0 F5000 Z20 ; Move Z Axis up 20mm to allow filament ooze freely |
G90 ; Set coordinates to absolute |
G0 X0 Y235 F5000 ; Move Heat Bed to the front for easy print removal |
M84 ; Disable stepper motors |
; End of custom end GCode |
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment
Zmin Driver Download Windows 10
Download the for systems.