mirror of
https://github.com/MarlinFirmware/Configurations.git
synced 2025-07-23 22:54:11 -06:00
Improve BigTreeTech BTT002 config (#97)
This commit is contained in:
parent
21587e48f6
commit
376167b80b
3 changed files with 104 additions and 41 deletions
|
@ -71,7 +71,7 @@
|
|||
// @section info
|
||||
|
||||
// Author info of this build printed to the host during boot and M115
|
||||
#define STRING_CONFIG_H_AUTHOR "(thisiskeithb, BTT002 MK3S w/TMC2209s)" // Who made the changes.
|
||||
#define STRING_CONFIG_H_AUTHOR "(thisiskeithb & codiac2600: BTT002 MK3S/TMC2209s)" // Who made the changes.
|
||||
//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
|
||||
|
||||
/**
|
||||
|
@ -437,12 +437,12 @@
|
|||
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
|
||||
|
||||
#define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109
|
||||
#define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||
#define TEMP_HYSTERESIS 5 // (°C) Temperature proximity considered "close enough" to the target
|
||||
#define TEMP_WINDOW 3 // (°C) Temperature proximity for the "temperature reached" timer
|
||||
#define TEMP_HYSTERESIS 8 // (°C) Temperature proximity considered "close enough" to the target
|
||||
|
||||
#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) Time to wait for bed to "settle" in M190
|
||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||
#define TEMP_BED_HYSTERESIS 5 // (°C) Temperature proximity considered "close enough" to the target
|
||||
#define TEMP_BED_WINDOW 3 // (°C) Temperature proximity for the "temperature reached" timer
|
||||
#define TEMP_BED_HYSTERESIS 8 // (°C) Temperature proximity considered "close enough" to the target
|
||||
|
||||
// Below this temperature the heater will be switched off
|
||||
// because it probably indicates a broken thermistor wire.
|
||||
|
@ -459,7 +459,7 @@
|
|||
// Above this temperature the heater will be switched off.
|
||||
// This can protect components from overheating, but NOT from shorts and failures.
|
||||
// (Use MINTEMP for thermistor short/failure protection.)
|
||||
#define HEATER_0_MAXTEMP 295
|
||||
#define HEATER_0_MAXTEMP 310
|
||||
#define HEATER_1_MAXTEMP 275
|
||||
#define HEATER_2_MAXTEMP 275
|
||||
#define HEATER_3_MAXTEMP 275
|
||||
|
@ -467,7 +467,7 @@
|
|||
#define HEATER_5_MAXTEMP 275
|
||||
#define HEATER_6_MAXTEMP 275
|
||||
#define HEATER_7_MAXTEMP 275
|
||||
#define BED_MAXTEMP 120
|
||||
#define BED_MAXTEMP 135
|
||||
|
||||
//===========================================================================
|
||||
//============================= PID Settings ================================
|
||||
|
@ -729,7 +729,7 @@
|
|||
* Override with M203
|
||||
* X, Y, Z, E0 [, E1[, E2...]]
|
||||
*/
|
||||
#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 120 }
|
||||
#define DEFAULT_MAX_FEEDRATE { 200, 200, 30, 80 }
|
||||
|
||||
//#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
|
||||
#if ENABLED(LIMITED_MAX_FR_EDITING)
|
||||
|
@ -742,7 +742,7 @@
|
|||
* Override with M201
|
||||
* X, Y, Z, E0 [, E1[, E2...]]
|
||||
*/
|
||||
#define DEFAULT_MAX_ACCELERATION { 2000, 2000, 100, 10000 }
|
||||
#define DEFAULT_MAX_ACCELERATION { 1250, 1250, 400, 4000 }
|
||||
|
||||
//#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
|
||||
#if ENABLED(LIMITED_MAX_ACCEL_EDITING)
|
||||
|
@ -757,9 +757,9 @@
|
|||
* M204 R Retract Acceleration
|
||||
* M204 T Travel Acceleration
|
||||
*/
|
||||
#define DEFAULT_ACCELERATION 2000 // X, Y, Z and E acceleration for printing moves
|
||||
#define DEFAULT_RETRACT_ACCELERATION 2000 // E acceleration for retracts
|
||||
#define DEFAULT_TRAVEL_ACCELERATION 2000 // X, Y, Z acceleration for travel (non printing) moves
|
||||
#define DEFAULT_ACCELERATION 1250 // X, Y, Z and E acceleration for printing moves
|
||||
#define DEFAULT_RETRACT_ACCELERATION 1250 // E acceleration for retracts
|
||||
#define DEFAULT_TRAVEL_ACCELERATION 1250 // X, Y, Z acceleration for travel (non printing) moves
|
||||
|
||||
/**
|
||||
* Default Jerk limits (mm/s)
|
||||
|
@ -783,7 +783,7 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#define DEFAULT_EJERK 3.5 // May be used by Linear Advance
|
||||
#define DEFAULT_EJERK 4 // May be used by Linear Advance
|
||||
|
||||
/**
|
||||
* Junction Deviation Factor
|
||||
|
@ -793,7 +793,7 @@
|
|||
* http://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
|
||||
*/
|
||||
#if DISABLED(CLASSIC_JERK)
|
||||
#define JUNCTION_DEVIATION_MM 0.017 // (mm) Distance from real junction edge
|
||||
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -992,9 +992,9 @@
|
|||
* Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle.
|
||||
* But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle.
|
||||
*/
|
||||
#define Z_CLEARANCE_DEPLOY_PROBE 2 // Z Clearance for Deploy/Stow
|
||||
#define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Clearance for Deploy/Stow
|
||||
#define Z_CLEARANCE_BETWEEN_PROBES 2 // Z Clearance between probe points
|
||||
#define Z_CLEARANCE_MULTI_PROBE 2 // Z Clearance between multiple probes
|
||||
#define Z_CLEARANCE_MULTI_PROBE 1 // Z Clearance between multiple probes
|
||||
//#define Z_AFTER_PROBING 5 // Z position after probing is done
|
||||
|
||||
#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping
|
||||
|
@ -1093,7 +1093,7 @@
|
|||
// Travel limits (mm) after homing, corresponding to endstop positions.
|
||||
#define X_MIN_POS 0
|
||||
#define Y_MIN_POS -4
|
||||
#define Z_MIN_POS 0.15
|
||||
#define Z_MIN_POS 0
|
||||
#define X_MAX_POS X_BED_SIZE
|
||||
#define Y_MAX_POS Y_BED_SIZE
|
||||
#define Z_MAX_POS 210
|
||||
|
@ -1112,7 +1112,7 @@
|
|||
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
|
||||
#define MIN_SOFTWARE_ENDSTOP_X
|
||||
#define MIN_SOFTWARE_ENDSTOP_Y
|
||||
//#define MIN_SOFTWARE_ENDSTOP_Z
|
||||
#define MIN_SOFTWARE_ENDSTOP_Z
|
||||
#endif
|
||||
|
||||
// Max software endstops constrain movement within maximum coordinate bounds
|
||||
|
@ -1359,7 +1359,7 @@
|
|||
|
||||
// Homing speeds (mm/m)
|
||||
#define HOMING_FEEDRATE_XY (50*60)
|
||||
#define HOMING_FEEDRATE_Z (4*60)
|
||||
#define HOMING_FEEDRATE_Z (5*60)
|
||||
|
||||
// Validate that endstops are triggered on homing moves
|
||||
#define VALIDATE_HOMING_ENDSTOPS
|
||||
|
@ -1394,7 +1394,7 @@
|
|||
* +-------------->X +-------------->X +-------------->Y
|
||||
* XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR
|
||||
*/
|
||||
#define SKEW_CORRECTION
|
||||
//#define SKEW_CORRECTION
|
||||
|
||||
#if ENABLED(SKEW_CORRECTION)
|
||||
// Input all length measurements here:
|
||||
|
@ -1404,21 +1404,21 @@
|
|||
|
||||
// Or, set the default skew factors directly here
|
||||
// to override the above measurements:
|
||||
//#define XY_SKEW_FACTOR 0.0
|
||||
#define XY_SKEW_FACTOR 0.0
|
||||
|
||||
#define SKEW_CORRECTION_FOR_Z
|
||||
//#define SKEW_CORRECTION_FOR_Z
|
||||
#if ENABLED(SKEW_CORRECTION_FOR_Z)
|
||||
#define XZ_DIAG_AC 282.8427124746
|
||||
#define XZ_DIAG_BD 282.8427124746
|
||||
#define YZ_DIAG_AC 282.8427124746
|
||||
#define YZ_DIAG_BD 282.8427124746
|
||||
#define YZ_SIDE_AD 200
|
||||
//#define XZ_SKEW_FACTOR 0.0
|
||||
//#define YZ_SKEW_FACTOR 0.0
|
||||
#define XZ_SKEW_FACTOR 0.0
|
||||
#define YZ_SKEW_FACTOR 0.0
|
||||
#endif
|
||||
|
||||
// Enable this option for M852 to set skew at runtime
|
||||
#define SKEW_CORRECTION_GCODE
|
||||
//#define SKEW_CORRECTION_GCODE
|
||||
#endif
|
||||
|
||||
//=============================================================================
|
||||
|
@ -1439,6 +1439,7 @@
|
|||
#define EEPROM_SETTINGS // Persistent storage with M500 and M501
|
||||
//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release!
|
||||
#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM.
|
||||
#define EEPROM_BOOT_SILENT // Keep M503 quiet and only give errors during first load
|
||||
#if ENABLED(EEPROM_SETTINGS)
|
||||
#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors.
|
||||
#endif
|
||||
|
@ -1692,7 +1693,7 @@
|
|||
// Use this option to override the number of step signals required to
|
||||
// move between next/prev menu items.
|
||||
//
|
||||
//#define ENCODER_STEPS_PER_MENU_ITEM 1
|
||||
#define ENCODER_STEPS_PER_MENU_ITEM 1
|
||||
|
||||
/**
|
||||
* Encoder Direction Options
|
||||
|
|
|
@ -170,21 +170,21 @@
|
|||
* below 2.
|
||||
*/
|
||||
#define WATCH_TEMP_PERIOD 20 // Seconds
|
||||
#define WATCH_TEMP_INCREASE 8 // Degrees Celsius
|
||||
#define WATCH_TEMP_INCREASE 2 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Thermal Protection parameters for the bed are just as above for hotends.
|
||||
*/
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 40 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
|
||||
#define THERMAL_PROTECTION_BED_HYSTERESIS 8 // Degrees Celsius
|
||||
|
||||
/**
|
||||
* As described above, except for the bed (M140/M190/M303).
|
||||
*/
|
||||
#define WATCH_BED_TEMP_PERIOD 60 // Seconds
|
||||
#define WATCH_BED_TEMP_INCREASE 8 // Degrees Celsius
|
||||
#define WATCH_BED_TEMP_INCREASE 2 // Degrees Celsius
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -380,7 +380,7 @@
|
|||
*
|
||||
* Define one or both of these to override the default 0-255 range.
|
||||
*/
|
||||
#define FAN_MIN_PWM 55
|
||||
#define FAN_MIN_PWM 80
|
||||
//#define FAN_MAX_PWM 128
|
||||
|
||||
/**
|
||||
|
@ -775,6 +775,9 @@
|
|||
// Slow down the machine if the look ahead buffer is (by default) half full.
|
||||
// Increase the slowdown divisor for larger buffer sizes.
|
||||
#define SLOWDOWN
|
||||
#if ENABLED(SLOWDOWN)
|
||||
#define SLOWDOWN_DIVISOR 2
|
||||
#endif
|
||||
|
||||
/**
|
||||
* XY Frequency limit
|
||||
|
@ -1069,7 +1072,7 @@
|
|||
|
||||
//#define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files
|
||||
|
||||
#define EVENT_GCODE_SD_STOP "G28XY" // G-code to run on Stop Print (e.g., "G28XY" or "G27")
|
||||
#define EVENT_GCODE_SD_STOP "G28XYE" // G-code to run on Stop Print (e.g., "G28XY" or "G27")
|
||||
|
||||
#if ENABLED(PRINTER_EVENT_LEDS)
|
||||
#define PE_LEDS_COMPLETED_TIME (30*60) // (seconds) Time to keep the LED "done" color before restoring normal illumination
|
||||
|
@ -1865,7 +1868,7 @@
|
|||
*/
|
||||
#if EXTRUDERS > 1
|
||||
// Z raise distance for tool-change, as needed for some extruders
|
||||
#define TOOLCHANGE_ZRAISE 2 // (mm)
|
||||
#define TOOLCHANGE_ZRAISE 2 // (mm)
|
||||
//#define TOOLCHANGE_ZRAISE_BEFORE_RETRACT // Apply raise before swap retraction (if enabled)
|
||||
//#define TOOLCHANGE_NO_RETURN // Never return to previous position on tool-change
|
||||
#if ENABLED(TOOLCHANGE_NO_RETURN)
|
||||
|
@ -2149,7 +2152,7 @@
|
|||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#define Z_CURRENT 600
|
||||
#define Z_CURRENT_HOME ((Z_CURRENT) / 2)
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
#define Z_RSENSE 0.11
|
||||
#define Z_CHAIN_POS -1
|
||||
|
@ -2353,13 +2356,13 @@
|
|||
* STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
|
||||
* M913 X/Y/Z/E to live tune the setting
|
||||
*/
|
||||
//#define HYBRID_THRESHOLD
|
||||
#define HYBRID_THRESHOLD
|
||||
|
||||
#define X_HYBRID_THRESHOLD 100 // [mm/s]
|
||||
#define X_HYBRID_THRESHOLD 120 // [mm/s]
|
||||
#define X2_HYBRID_THRESHOLD 100
|
||||
#define Y_HYBRID_THRESHOLD 100
|
||||
#define Y_HYBRID_THRESHOLD 120
|
||||
#define Y2_HYBRID_THRESHOLD 100
|
||||
#define Z_HYBRID_THRESHOLD 3
|
||||
#define Z_HYBRID_THRESHOLD 100
|
||||
#define Z2_HYBRID_THRESHOLD 3
|
||||
#define Z3_HYBRID_THRESHOLD 3
|
||||
#define Z4_HYBRID_THRESHOLD 3
|
||||
|
@ -2399,7 +2402,7 @@
|
|||
|
||||
#if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
|
||||
// TMC2209: 0...255. TMC2130: -64...63
|
||||
#define X_STALL_SENSITIVITY 100
|
||||
#define X_STALL_SENSITIVITY 90
|
||||
#define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY
|
||||
#define Y_STALL_SENSITIVITY 100
|
||||
#define Y2_STALL_SENSITIVITY Y_STALL_SENSITIVITY
|
||||
|
|
|
@ -1,11 +1,70 @@
|
|||
# BigTreeTech BTT002/TMC2209 Config for Prusa MK3S
|
||||
|
||||
## Requirements
|
||||
- [Prusa MK3S](https://www.prusa3d.com/original-prusa-i3-mk3/) or MK3 with MK3S upgrade
|
||||
- [Prusa MK3S](https://www.prusa3d.com/original-prusa-i3-mk3/) or MK3 with MK3S upgrade (required for filament runout to work properly)
|
||||
- BigTreeTech BTT002 motherboard
|
||||
- 4 x TMC2209s
|
||||
- 4 x BigTreeTech TMC2209s (DIAG pin location differs from Watterott's & similarl designs)
|
||||
|
||||
## Upgrade Notes
|
||||
* ⚠️ Cut or desolder the Z & E driver DIAG pins or they will interfere with PINDA & filament runout detection. ⚠️
|
||||
* Set the jumpers under your drivers to "TMC2208-UART MODE":
|
||||

|
||||

|
||||
|
||||
## Changes to Start G-code
|
||||
The `W` in Prusa's `G28 W ; home all without mesh bed level` G-code does not exist in Marlin and [`G80 ; mesh bed leveling`](https://marlinfw.org/docs/gcode/G080.html) cancels the current motion mode, so no bed leveling will take place.
|
||||
|
||||
### PrusaSlicer
|
||||
Paste the start g-code block below in the Printer Settings tab's Custom G-code section. Use the Filament Settings tab's Custom G-code section to add the [Linear Advance](https://marlinfw.org/docs/features/lin_advance.html) (`M900 K0.0`) value since it can be saved on a per-filament basis.
|
||||
```gcode
|
||||
G90 ; use absolute coordinates
|
||||
M83 ; extruder relative mode
|
||||
M104 S170 ; preheat extruder to 170
|
||||
M140 S[first_layer_bed_temperature] ; set bed temp
|
||||
M190 S[first_layer_bed_temperature] ; wait for bed temp
|
||||
G28 ; home all
|
||||
G29 ; mesh bed leveling
|
||||
G1 X0 Z0.6 Y-3.0 F1000.0 ; go outside print area
|
||||
M109 S[first_layer_temperature] ; wait for extruder temp
|
||||
G92 E0.0
|
||||
G1 X60.0 E9.0 F1000.0 ; intro line
|
||||
G1 X100.0 E12.5 F1000.0 ; intro line
|
||||
G92 E0.0
|
||||
```
|
||||
|
||||
### Cura
|
||||
Paste the start g-code block below in the Start G-code section. Don't forget to add your [Linear Advance](https://marlinfw.org/docs/features/lin_advance.html) (`M900 K0.0`) value in the start G-code block below:
|
||||
```gcode
|
||||
G90 ; use absolute coordinates
|
||||
M83 ; extruder relative mode
|
||||
M900 K0.0 ; place your linear advance value here
|
||||
M104 S170 ; preheat extruder to 170
|
||||
M140 S{material_bed_temperature_layer_0} ; set bed temp
|
||||
M190 S{material_bed_temperature_layer_0} ; wait for bed temp
|
||||
G28 ; home all
|
||||
G29 ; mesh bed leveling
|
||||
G1 X0 Z0.6 Y-3.0 F1000.0 ; go outside print area
|
||||
M109 S{material_print_temperature_layer_0} ; wait for extruder temp
|
||||
G92 E0.0
|
||||
G1 X60.0 E9.0 F1000.0 ; intro line
|
||||
G1 X100.0 E12.5 F1000.0 ; intro line
|
||||
G92 E0.0
|
||||
```
|
||||
|
||||
### Simplify3D
|
||||
Paste the start g-code block below in the Starting Script section. Don't forget to add your [Linear Advance](https://marlinfw.org/docs/features/lin_advance.html) (`M900 K0.0`) value in the start G-code block below:
|
||||
```gcode
|
||||
G90 ; use absolute coordinates
|
||||
M83 ; extruder relative mode
|
||||
M900 K0.0 ; place your linear advance value here
|
||||
M104 S170 ; preheat extruder to 170
|
||||
M140 S[bed0_temperature] ; set bed temp
|
||||
M190 S[bed0_temperature] ; wait for bed temp
|
||||
G28 ; home all
|
||||
G29 ; mesh bed leveling
|
||||
G1 X0 Z0.6 Y-3.0 F1000.0 ; go outside print area
|
||||
M109 S[extruder0_temperature] T0 ; wait for extruder temp
|
||||
G92 E0.0
|
||||
G1 X60.0 E9.0 F1000.0 ; intro line
|
||||
G1 X100.0 E12.5 F1000.0 ; intro line
|
||||
G92 E0.0
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue