mirror of
https://github.com/MarlinFirmware/Configurations.git
synced 2025-07-18 04:08:05 -06:00
parent
f6eb5a3c9e
commit
3fc51d8e48
465 changed files with 14988 additions and 1349 deletions
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -448,6 +448,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -459,6 +463,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -472,6 +477,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -546,7 +552,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1633,36 +1683,43 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 205
|
#define PREHEAT_1_TEMP_HOTEND 205
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 255
|
#define PREHEAT_2_TEMP_HOTEND 255
|
||||||
#define PREHEAT_2_TEMP_BED 100
|
#define PREHEAT_2_TEMP_BED 100
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_3_LABEL "HIPS"
|
#define PREHEAT_3_LABEL "HIPS"
|
||||||
#define PREHEAT_3_TEMP_HOTEND 220 // HIPS
|
#define PREHEAT_3_TEMP_HOTEND 220 // HIPS
|
||||||
#define PREHEAT_3_TEMP_BED 100
|
#define PREHEAT_3_TEMP_BED 100
|
||||||
|
#define PREHEAT_3_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_4_LABEL "PP"
|
#define PREHEAT_4_LABEL "PP"
|
||||||
#define PREHEAT_4_TEMP_HOTEND 254 // PP
|
#define PREHEAT_4_TEMP_HOTEND 254 // PP
|
||||||
#define PREHEAT_4_TEMP_BED 100
|
#define PREHEAT_4_TEMP_BED 100
|
||||||
|
#define PREHEAT_4_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_4_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_4_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_5_LABEL "PET"
|
#define PREHEAT_5_LABEL "PET"
|
||||||
#define PREHEAT_5_TEMP_HOTEND 240 // PET
|
#define PREHEAT_5_TEMP_HOTEND 240 // PET
|
||||||
#define PREHEAT_5_TEMP_BED 90
|
#define PREHEAT_5_TEMP_BED 90
|
||||||
|
#define PREHEAT_5_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_5_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_5_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_6_LABEL "FLEX"
|
#define PREHEAT_6_LABEL "FLEX"
|
||||||
#define PREHEAT_6_TEMP_HOTEND 230 // FLEX
|
#define PREHEAT_6_TEMP_HOTEND 230 // FLEX
|
||||||
#define PREHEAT_6_TEMP_BED 50
|
#define PREHEAT_6_TEMP_BED 50
|
||||||
|
#define PREHEAT_6_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_6_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_6_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_7_LABEL "NYLON"
|
#define PREHEAT_7_LABEL "NYLON"
|
||||||
#define PREHEAT_7_TEMP_HOTEND 240 // NYLON
|
#define PREHEAT_7_TEMP_HOTEND 240 // NYLON
|
||||||
#define PREHEAT_7_TEMP_BED 80
|
#define PREHEAT_7_TEMP_BED 80
|
||||||
|
#define PREHEAT_7_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_7_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_7_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 1
|
#define HEATER_0_MINTEMP 1
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 1
|
#define BED_MINTEMP 1
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 120
|
#define BED_MAXTEMP 120
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1632,11 +1682,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 195
|
#define PREHEAT_1_TEMP_HOTEND 195
|
||||||
#define PREHEAT_1_TEMP_BED 55
|
#define PREHEAT_1_TEMP_BED 55
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 230
|
#define PREHEAT_2_TEMP_HOTEND 230
|
||||||
#define PREHEAT_2_TEMP_BED 70
|
#define PREHEAT_2_TEMP_BED 70
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1632,11 +1682,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 250
|
#define HEATER_6_MAXTEMP 250
|
||||||
#define HEATER_7_MAXTEMP 250
|
#define HEATER_7_MAXTEMP 250
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -555,7 +561,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1642,11 +1692,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 230
|
#define PREHEAT_2_TEMP_HOTEND 230
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -485,6 +485,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -496,6 +500,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -509,6 +514,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -600,7 +606,51 @@
|
||||||
|
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1701,11 +1751,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 200
|
#define PREHEAT_1_TEMP_HOTEND 200
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 250
|
#define PREHEAT_2_TEMP_HOTEND 250
|
||||||
#define PREHEAT_2_TEMP_BED 100
|
#define PREHEAT_2_TEMP_BED 100
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -485,6 +485,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -496,6 +500,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -509,6 +514,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -601,7 +607,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1703,11 +1753,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 200
|
#define PREHEAT_1_TEMP_HOTEND 200
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 250
|
#define PREHEAT_2_TEMP_HOTEND 250
|
||||||
#define PREHEAT_2_TEMP_BED 100
|
#define PREHEAT_2_TEMP_BED 100
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 130
|
#define BED_MAXTEMP 130
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -545,7 +551,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1632,11 +1682,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 200
|
#define PREHEAT_1_TEMP_HOTEND 200
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 230
|
#define PREHEAT_2_TEMP_HOTEND 230
|
||||||
#define PREHEAT_2_TEMP_BED 100
|
#define PREHEAT_2_TEMP_BED 100
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 200
|
#define PREHEAT_1_TEMP_HOTEND 200
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 230
|
#define PREHEAT_2_TEMP_HOTEND 230
|
||||||
#define PREHEAT_2_TEMP_BED 100
|
#define PREHEAT_2_TEMP_BED 100
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 130
|
#define BED_MAXTEMP 130
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -545,7 +551,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1719,11 +1769,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 200
|
#define PREHEAT_1_TEMP_HOTEND 200
|
||||||
#define PREHEAT_1_TEMP_BED 50
|
#define PREHEAT_1_TEMP_BED 50
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // ANET A6 Default is 255
|
#define PREHEAT_1_FAN_SPEED 0 // ANET A6 Default is 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 230
|
#define PREHEAT_2_TEMP_HOTEND 230
|
||||||
#define PREHEAT_2_TEMP_BED 70
|
#define PREHEAT_2_TEMP_BED 70
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // ANET A6 Default is 255
|
#define PREHEAT_2_FAN_SPEED 0 // ANET A6 Default is 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -448,6 +448,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -459,6 +463,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -472,6 +477,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 130
|
#define BED_MAXTEMP 130
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -547,7 +553,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1634,11 +1684,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 190
|
#define PREHEAT_1_TEMP_HOTEND 190
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 90
|
#define PREHEAT_2_TEMP_BED 90
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -448,6 +448,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -459,6 +463,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -472,6 +477,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 130
|
#define BED_MAXTEMP 130
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -546,7 +552,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1633,11 +1683,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 205
|
#define PREHEAT_1_TEMP_HOTEND 205
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PET-G"
|
#define PREHEAT_2_LABEL "PET-G"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 90
|
#define PREHEAT_2_TEMP_BED 90
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 80
|
#define BED_MAXTEMP 80
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 205
|
#define PREHEAT_1_TEMP_HOTEND 205
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 220
|
#define PREHEAT_2_TEMP_HOTEND 220
|
||||||
#define PREHEAT_2_TEMP_BED 60
|
#define PREHEAT_2_TEMP_BED 60
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 120
|
#define BED_MAXTEMP 120
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 200
|
#define PREHEAT_1_TEMP_HOTEND 200
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 250
|
#define PREHEAT_2_TEMP_HOTEND 250
|
||||||
#define PREHEAT_2_TEMP_BED 100
|
#define PREHEAT_2_TEMP_BED 100
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -546,7 +552,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1633,11 +1683,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 120
|
#define BED_MAXTEMP 120
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -546,7 +552,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1633,11 +1683,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 3 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 3 // (°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_HYSTERESIS 5 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 110
|
#define BED_MAXTEMP 110
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -550,7 +556,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1637,16 +1687,19 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 210
|
#define PREHEAT_1_TEMP_HOTEND 210
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 80
|
#define PREHEAT_2_TEMP_BED 80
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_3_LABEL "ABS"
|
#define PREHEAT_3_LABEL "ABS"
|
||||||
#define PREHEAT_3_TEMP_HOTEND 240
|
#define PREHEAT_3_TEMP_HOTEND 240
|
||||||
#define PREHEAT_3_TEMP_BED 110
|
#define PREHEAT_3_TEMP_BED 110
|
||||||
|
#define PREHEAT_3_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 3 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 3 // (°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_HYSTERESIS 5 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 110
|
#define BED_MAXTEMP 110
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -550,7 +556,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1637,16 +1687,19 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 210
|
#define PREHEAT_1_TEMP_HOTEND 210
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 80
|
#define PREHEAT_2_TEMP_BED 80
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_3_LABEL "ABS"
|
#define PREHEAT_3_LABEL "ABS"
|
||||||
#define PREHEAT_3_TEMP_HOTEND 240
|
#define PREHEAT_3_TEMP_HOTEND 240
|
||||||
#define PREHEAT_3_TEMP_BED 110
|
#define PREHEAT_3_TEMP_BED 110
|
||||||
|
#define PREHEAT_3_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 3 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 3 // (°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_HYSTERESIS 5 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 110
|
#define BED_MAXTEMP 110
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -550,7 +556,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1637,16 +1687,19 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 210
|
#define PREHEAT_1_TEMP_HOTEND 210
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 80
|
#define PREHEAT_2_TEMP_BED 80
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_3_LABEL "ABS"
|
#define PREHEAT_3_LABEL "ABS"
|
||||||
#define PREHEAT_3_TEMP_HOTEND 240
|
#define PREHEAT_3_TEMP_HOTEND 240
|
||||||
#define PREHEAT_3_TEMP_BED 110
|
#define PREHEAT_3_TEMP_BED 110
|
||||||
|
#define PREHEAT_3_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 3 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 3 // (°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_HYSTERESIS 5 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 110
|
#define BED_MAXTEMP 110
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -550,7 +556,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1637,16 +1687,19 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 210
|
#define PREHEAT_1_TEMP_HOTEND 210
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 80
|
#define PREHEAT_2_TEMP_BED 80
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_3_LABEL "ABS"
|
#define PREHEAT_3_LABEL "ABS"
|
||||||
#define PREHEAT_3_TEMP_HOTEND 240
|
#define PREHEAT_3_TEMP_HOTEND 240
|
||||||
#define PREHEAT_3_TEMP_BED 110
|
#define PREHEAT_3_TEMP_BED 110
|
||||||
|
#define PREHEAT_3_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 3 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 3 // (°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_HYSTERESIS 5 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 110 // 100 + 10
|
#define BED_MAXTEMP 110 // 100 + 10
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1626,16 +1676,19 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 210
|
#define PREHEAT_1_TEMP_HOTEND 210
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 235
|
#define PREHEAT_2_TEMP_HOTEND 235
|
||||||
#define PREHEAT_2_TEMP_BED 70
|
#define PREHEAT_2_TEMP_BED 70
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_3_LABEL "ABS"
|
#define PREHEAT_3_LABEL "ABS"
|
||||||
#define PREHEAT_3_TEMP_HOTEND 240
|
#define PREHEAT_3_TEMP_HOTEND 240
|
||||||
#define PREHEAT_3_TEMP_BED 100
|
#define PREHEAT_3_TEMP_BED 100
|
||||||
|
#define PREHEAT_3_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 3 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 3 // (°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_HYSTERESIS 5 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 110 // 100 + 10
|
#define BED_MAXTEMP 110 // 100 + 10
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1626,16 +1676,19 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 210
|
#define PREHEAT_1_TEMP_HOTEND 210
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 235
|
#define PREHEAT_2_TEMP_HOTEND 235
|
||||||
#define PREHEAT_2_TEMP_BED 70
|
#define PREHEAT_2_TEMP_BED 70
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_3_LABEL "ABS"
|
#define PREHEAT_3_LABEL "ABS"
|
||||||
#define PREHEAT_3_TEMP_HOTEND 240
|
#define PREHEAT_3_TEMP_HOTEND 240
|
||||||
#define PREHEAT_3_TEMP_BED 100
|
#define PREHEAT_3_TEMP_BED 100
|
||||||
|
#define PREHEAT_3_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 3 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 3 // (°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_HYSTERESIS 5 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 110 // 100 + 10
|
#define BED_MAXTEMP 110 // 100 + 10
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1626,16 +1676,19 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 210
|
#define PREHEAT_1_TEMP_HOTEND 210
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 235
|
#define PREHEAT_2_TEMP_HOTEND 235
|
||||||
#define PREHEAT_2_TEMP_BED 70
|
#define PREHEAT_2_TEMP_BED 70
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_3_LABEL "ABS"
|
#define PREHEAT_3_LABEL "ABS"
|
||||||
#define PREHEAT_3_TEMP_HOTEND 240
|
#define PREHEAT_3_TEMP_HOTEND 240
|
||||||
#define PREHEAT_3_TEMP_BED 100
|
#define PREHEAT_3_TEMP_BED 100
|
||||||
|
#define PREHEAT_3_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -451,6 +451,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -462,6 +466,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -475,6 +480,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -548,7 +554,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1635,11 +1685,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 230
|
#define PREHEAT_2_TEMP_HOTEND 230
|
||||||
#define PREHEAT_2_TEMP_BED 70
|
#define PREHEAT_2_TEMP_BED 70
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -448,6 +448,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -459,6 +463,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -472,6 +477,7 @@
|
||||||
#define HEATER_6_MAXTEMP 260
|
#define HEATER_6_MAXTEMP 260
|
||||||
#define HEATER_7_MAXTEMP 260
|
#define HEATER_7_MAXTEMP 260
|
||||||
#define BED_MAXTEMP 125
|
#define BED_MAXTEMP 125
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -546,7 +552,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1633,11 +1683,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 190
|
#define PREHEAT_1_TEMP_HOTEND 190
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 230
|
#define PREHEAT_2_TEMP_HOTEND 230
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 260
|
#define HEATER_6_MAXTEMP 260
|
||||||
#define HEATER_7_MAXTEMP 260
|
#define HEATER_7_MAXTEMP 260
|
||||||
#define BED_MAXTEMP 125
|
#define BED_MAXTEMP 125
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 190
|
#define PREHEAT_1_TEMP_HOTEND 190
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 230
|
#define PREHEAT_2_TEMP_HOTEND 230
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -452,6 +452,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -463,6 +467,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -476,6 +481,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -549,7 +555,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1651,11 +1701,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 215
|
#define PREHEAT_1_TEMP_HOTEND 215
|
||||||
#define PREHEAT_1_TEMP_BED 65
|
#define PREHEAT_1_TEMP_BED 65
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 235
|
#define PREHEAT_2_TEMP_HOTEND 235
|
||||||
#define PREHEAT_2_TEMP_BED 85
|
#define PREHEAT_2_TEMP_BED 85
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 200
|
#define PREHEAT_1_TEMP_HOTEND 200
|
||||||
#define PREHEAT_1_TEMP_BED 65
|
#define PREHEAT_1_TEMP_BED 65
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 95
|
#define PREHEAT_2_TEMP_BED 95
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -545,7 +551,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1632,11 +1682,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -147,13 +147,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -559,7 +565,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1647,11 +1697,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 190
|
#define PREHEAT_1_TEMP_HOTEND 190
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 115
|
#define BED_MAXTEMP 115
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 190
|
#define PREHEAT_1_TEMP_HOTEND 190
|
||||||
#define PREHEAT_1_TEMP_BED 65
|
#define PREHEAT_1_TEMP_BED 65
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 100
|
#define PREHEAT_2_TEMP_BED 100
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 115
|
#define BED_MAXTEMP 115
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
|
|
@ -144,12 +144,9 @@
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
// Make sure you define where your heater is connected, the following works on a BTT SKR 1.4 Turbo
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
// using the secondary tool heater output. (FAN1 by default).
|
|
||||||
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (SKR 1.4 Turbo specific)
|
|
||||||
//#define HEATER_CHAMBER_PIN P2_04 // Chamber heater on/off pin (HE1 connector on SKR 1.4 Turbo)
|
|
||||||
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 120
|
#define BED_MAXTEMP 120
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,16 +1681,19 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 190
|
#define PREHEAT_1_TEMP_HOTEND 190
|
||||||
#define PREHEAT_1_TEMP_BED 65
|
#define PREHEAT_1_TEMP_BED 65
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 235
|
#define PREHEAT_2_TEMP_HOTEND 235
|
||||||
#define PREHEAT_2_TEMP_BED 80
|
#define PREHEAT_2_TEMP_BED 80
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_3_LABEL "ABS"
|
#define PREHEAT_3_LABEL "ABS"
|
||||||
#define PREHEAT_3_TEMP_HOTEND 240
|
#define PREHEAT_3_TEMP_HOTEND 240
|
||||||
#define PREHEAT_3_TEMP_BED 110
|
#define PREHEAT_3_TEMP_BED 110
|
||||||
|
#define PREHEAT_3_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 120
|
#define BED_MAXTEMP 120
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,16 +1681,19 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 190
|
#define PREHEAT_1_TEMP_HOTEND 190
|
||||||
#define PREHEAT_1_TEMP_BED 65
|
#define PREHEAT_1_TEMP_BED 65
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 235
|
#define PREHEAT_2_TEMP_HOTEND 235
|
||||||
#define PREHEAT_2_TEMP_BED 80
|
#define PREHEAT_2_TEMP_BED 80
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_3_LABEL "ABS"
|
#define PREHEAT_3_LABEL "ABS"
|
||||||
#define PREHEAT_3_TEMP_HOTEND 240
|
#define PREHEAT_3_TEMP_HOTEND 240
|
||||||
#define PREHEAT_3_TEMP_BED 110
|
#define PREHEAT_3_TEMP_BED 110
|
||||||
|
#define PREHEAT_3_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 260
|
#define HEATER_6_MAXTEMP 260
|
||||||
#define HEATER_7_MAXTEMP 260
|
#define HEATER_7_MAXTEMP 260
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -545,7 +551,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1632,11 +1682,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 200
|
#define PREHEAT_1_TEMP_HOTEND 200
|
||||||
#define PREHEAT_1_TEMP_BED 0
|
#define PREHEAT_1_TEMP_BED 0
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 220
|
#define PREHEAT_2_TEMP_HOTEND 220
|
||||||
#define PREHEAT_2_TEMP_BED 100
|
#define PREHEAT_2_TEMP_BED 100
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -455,6 +455,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -466,6 +470,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -479,6 +484,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 100
|
#define BED_MAXTEMP 100
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -558,7 +564,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1645,11 +1695,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 50
|
#define PREHEAT_1_TEMP_BED 50
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 210
|
#define PREHEAT_2_TEMP_HOTEND 210
|
||||||
#define PREHEAT_2_TEMP_BED 60
|
#define PREHEAT_2_TEMP_BED 60
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 260
|
#define HEATER_6_MAXTEMP 260
|
||||||
#define HEATER_7_MAXTEMP 260
|
#define HEATER_7_MAXTEMP 260
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -545,7 +551,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1632,11 +1682,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 200
|
#define PREHEAT_1_TEMP_HOTEND 200
|
||||||
#define PREHEAT_1_TEMP_BED 0
|
#define PREHEAT_1_TEMP_BED 0
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 220
|
#define PREHEAT_2_TEMP_HOTEND 220
|
||||||
#define PREHEAT_2_TEMP_BED 100
|
#define PREHEAT_2_TEMP_BED 100
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -545,7 +551,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1632,11 +1682,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -448,6 +448,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -459,6 +463,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -472,6 +477,7 @@
|
||||||
#define HEATER_6_MAXTEMP 415
|
#define HEATER_6_MAXTEMP 415
|
||||||
#define HEATER_7_MAXTEMP 415
|
#define HEATER_7_MAXTEMP 415
|
||||||
#define BED_MAXTEMP 165
|
#define BED_MAXTEMP 165
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -560,7 +566,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1647,11 +1697,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 190
|
#define PREHEAT_1_TEMP_HOTEND 190
|
||||||
#define PREHEAT_1_TEMP_BED 50
|
#define PREHEAT_1_TEMP_BED 50
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -545,7 +551,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1632,11 +1682,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 150
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -545,7 +551,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1632,11 +1682,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -456,6 +456,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -467,6 +471,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -480,6 +485,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 120
|
#define BED_MAXTEMP 120
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -553,7 +559,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1640,11 +1690,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 200
|
#define PREHEAT_1_TEMP_HOTEND 200
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 100
|
#define BED_MAXTEMP 100
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1631,11 +1681,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 180
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 70
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 120
|
#define BED_MAXTEMP 120
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1634,21 +1684,25 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 205
|
#define PREHEAT_1_TEMP_HOTEND 205
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 250
|
#define PREHEAT_2_TEMP_HOTEND 250
|
||||||
#define PREHEAT_2_TEMP_BED 80
|
#define PREHEAT_2_TEMP_BED 80
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_3_LABEL "PETG"
|
#define PREHEAT_3_LABEL "PETG"
|
||||||
#define PREHEAT_3_TEMP_HOTEND 220
|
#define PREHEAT_3_TEMP_HOTEND 220
|
||||||
#define PREHEAT_3_TEMP_BED 45
|
#define PREHEAT_3_TEMP_BED 45
|
||||||
|
#define PREHEAT_3_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_3_FAN_SPEED 255 // Value from 0 to 255
|
#define PREHEAT_3_FAN_SPEED 255 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_4_LABEL "Nylon"
|
#define PREHEAT_4_LABEL "Nylon"
|
||||||
#define PREHEAT_4_TEMP_HOTEND 230
|
#define PREHEAT_4_TEMP_HOTEND 230
|
||||||
#define PREHEAT_4_TEMP_BED 45
|
#define PREHEAT_4_TEMP_BED 45
|
||||||
|
#define PREHEAT_4_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_4_FAN_SPEED 255 // Value from 0 to 255
|
#define PREHEAT_4_FAN_SPEED 255 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 120
|
#define BED_MAXTEMP 120
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -544,7 +550,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1634,11 +1684,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 205
|
#define PREHEAT_1_TEMP_HOTEND 205
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 250
|
#define PREHEAT_2_TEMP_HOTEND 250
|
||||||
#define PREHEAT_2_TEMP_BED 80
|
#define PREHEAT_2_TEMP_BED 80
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -454,6 +454,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -465,6 +469,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -478,6 +483,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 120
|
#define BED_MAXTEMP 120
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -553,7 +559,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1659,11 +1709,13 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 205
|
#define PREHEAT_1_TEMP_HOTEND 205
|
||||||
#define PREHEAT_1_TEMP_BED 60
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "PETG"
|
#define PREHEAT_2_LABEL "PETG"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 230
|
#define PREHEAT_2_TEMP_HOTEND 230
|
||||||
#define PREHEAT_2_TEMP_BED 80
|
#define PREHEAT_2_TEMP_BED 80
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,13 +143,17 @@
|
||||||
//
|
//
|
||||||
// Heated Chamber options
|
// Heated Chamber options
|
||||||
//
|
//
|
||||||
|
#if DISABLED(PIDTEMPCHAMBER)
|
||||||
|
#define CHAMBER_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control
|
||||||
|
#if ENABLED(CHAMBER_LIMIT_SWITCHING)
|
||||||
|
#define CHAMBER_HYSTERESIS 2 // (°C) Only set the relevant heater state when ABS(T-target) > CHAMBER_HYSTERESIS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TEMP_SENSOR_CHAMBER
|
#if TEMP_SENSOR_CHAMBER
|
||||||
#define CHAMBER_MINTEMP 5
|
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
|
||||||
#define CHAMBER_MAXTEMP 60
|
|
||||||
#define TEMP_CHAMBER_HYSTERESIS 1 // (°C) Temperature proximity considered "close enough" to the target
|
|
||||||
//#define CHAMBER_LIMIT_SWITCHING
|
|
||||||
//#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin
|
|
||||||
//#define HEATER_CHAMBER_INVERTING false
|
//#define HEATER_CHAMBER_INVERTING false
|
||||||
|
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
|
||||||
|
|
||||||
//#define CHAMBER_FAN // Enable a fan on the chamber
|
//#define CHAMBER_FAN // Enable a fan on the chamber
|
||||||
#if ENABLED(CHAMBER_FAN)
|
#if ENABLED(CHAMBER_FAN)
|
||||||
|
|
|
@ -447,6 +447,10 @@
|
||||||
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
|
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
|
||||||
|
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
|
||||||
|
#define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
|
||||||
|
|
||||||
// Below this temperature the heater will be switched off
|
// Below this temperature the heater will be switched off
|
||||||
// because it probably indicates a broken thermistor wire.
|
// because it probably indicates a broken thermistor wire.
|
||||||
#define HEATER_0_MINTEMP 5
|
#define HEATER_0_MINTEMP 5
|
||||||
|
@ -458,6 +462,7 @@
|
||||||
#define HEATER_6_MINTEMP 5
|
#define HEATER_6_MINTEMP 5
|
||||||
#define HEATER_7_MINTEMP 5
|
#define HEATER_7_MINTEMP 5
|
||||||
#define BED_MINTEMP 5
|
#define BED_MINTEMP 5
|
||||||
|
#define CHAMBER_MINTEMP 5
|
||||||
|
|
||||||
// Above this temperature the heater will be switched off.
|
// Above this temperature the heater will be switched off.
|
||||||
// This can protect components from overheating, but NOT from shorts and failures.
|
// This can protect components from overheating, but NOT from shorts and failures.
|
||||||
|
@ -471,6 +476,7 @@
|
||||||
#define HEATER_6_MAXTEMP 275
|
#define HEATER_6_MAXTEMP 275
|
||||||
#define HEATER_7_MAXTEMP 275
|
#define HEATER_7_MAXTEMP 275
|
||||||
#define BED_MAXTEMP 125
|
#define BED_MAXTEMP 125
|
||||||
|
#define CHAMBER_MAXTEMP 60
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
@ -543,7 +549,51 @@
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
#if EITHER(PIDTEMP, PIDTEMPBED)
|
//===========================================================================
|
||||||
|
//==================== PID > Chamber Temperature Control ====================
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PID Chamber Heating
|
||||||
|
*
|
||||||
|
* If this option is enabled set PID constants below.
|
||||||
|
* If this option is disabled, bang-bang will be used and CHAMBER_LIMIT_SWITCHING will enable
|
||||||
|
* hysteresis.
|
||||||
|
*
|
||||||
|
* The PID frequency will be the same as the extruder PWM.
|
||||||
|
* If PID_dT is the default, and correct for the hardware/configuration, that means 7.689Hz,
|
||||||
|
* which is fine for driving a square wave into a resistive load and does not significantly
|
||||||
|
* impact FET heating. This also works fine on a Fotek SSR-10DA Solid State Relay into a 200W
|
||||||
|
* heater. If your configuration is significantly different than this and you don't understand
|
||||||
|
* the issues involved, don't use chamber PID until someone else verifies that your hardware works.
|
||||||
|
*/
|
||||||
|
//#define PIDTEMPCHAMBER
|
||||||
|
//#define CHAMBER_LIMIT_SWITCHING
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max Chamber Power
|
||||||
|
* Applies to all forms of chamber control (PID, bang-bang, and bang-bang with hysteresis).
|
||||||
|
* When set to any value below 255, enables a form of PWM to the chamber heater that acts like a divider
|
||||||
|
* so don't use it unless you are OK with PWM on your heater. (See the comment on enabling PIDTEMPCHAMBER)
|
||||||
|
*/
|
||||||
|
#define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current
|
||||||
|
|
||||||
|
#if ENABLED(PIDTEMPCHAMBER)
|
||||||
|
#define MIN_CHAMBER_POWER 0
|
||||||
|
//#define PID_CHAMBER_DEBUG // Sends debug data to the serial port.
|
||||||
|
|
||||||
|
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
|
||||||
|
// and placed inside the small Creality printer enclosure tent.
|
||||||
|
//
|
||||||
|
#define DEFAULT_chamberKp 37.04
|
||||||
|
#define DEFAULT_chamberKi 1.40
|
||||||
|
#define DEFAULT_chamberKd 655.17
|
||||||
|
// M309 P37.04 I1.04 D655.17
|
||||||
|
|
||||||
|
// FIND YOUR OWN: "M303 E-2 C8 S50" to run autotune on the chamber at 50 degreesC for 8 cycles.
|
||||||
|
#endif // PIDTEMPCHAMBER
|
||||||
|
|
||||||
|
#if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER)
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
//#define PID_DEBUG // Sends debug data to the serial port. Use 'M303 D' to toggle activation.
|
||||||
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
@ -1630,21 +1680,25 @@
|
||||||
#define PREHEAT_1_LABEL "PLA"
|
#define PREHEAT_1_LABEL "PLA"
|
||||||
#define PREHEAT_1_TEMP_HOTEND 185
|
#define PREHEAT_1_TEMP_HOTEND 185
|
||||||
#define PREHEAT_1_TEMP_BED 45
|
#define PREHEAT_1_TEMP_BED 45
|
||||||
|
#define PREHEAT_1_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_LABEL "ABS"
|
#define PREHEAT_2_LABEL "ABS"
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 110
|
||||||
|
#define PREHEAT_2_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_3_LABEL "petG"
|
#define PREHEAT_3_LABEL "petG"
|
||||||
#define PREHEAT_3_TEMP_HOTEND 220
|
#define PREHEAT_3_TEMP_HOTEND 220
|
||||||
#define PREHEAT_3_TEMP_BED 45
|
#define PREHEAT_3_TEMP_BED 45
|
||||||
|
#define PREHEAT_3_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_3_FAN_SPEED 255 // Value from 0 to 255
|
#define PREHEAT_3_FAN_SPEED 255 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_4_LABEL "Nylon"
|
#define PREHEAT_4_LABEL "Nylon"
|
||||||
#define PREHEAT_4_TEMP_HOTEND 230
|
#define PREHEAT_4_TEMP_HOTEND 230
|
||||||
#define PREHEAT_4_TEMP_BED 45
|
#define PREHEAT_4_TEMP_BED 45
|
||||||
|
#define PREHEAT_4_TEMP_CHAMBER 35
|
||||||
#define PREHEAT_4_FAN_SPEED 255 // Value from 0 to 255
|
#define PREHEAT_4_FAN_SPEED 255 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue