|
@@ -447,6 +447,10 @@
|
|
|
#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_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
|
|
|
// because it probably indicates a broken thermistor wire.
|
|
|
#define HEATER_0_MINTEMP 5
|
|
@@ -458,6 +462,7 @@
|
|
|
#define HEATER_6_MINTEMP 5
|
|
|
#define HEATER_7_MINTEMP 5
|
|
|
#define BED_MINTEMP 5
|
|
|
+#define CHAMBER_MINTEMP 5
|
|
|
|
|
|
// Above this temperature the heater will be switched off.
|
|
|
// This can protect components from overheating, but NOT from shorts and failures.
|
|
@@ -471,6 +476,7 @@
|
|
|
#define HEATER_6_MAXTEMP 275
|
|
|
#define HEATER_7_MAXTEMP 275
|
|
|
#define BED_MAXTEMP 150
|
|
|
+#define CHAMBER_MAXTEMP 60
|
|
|
|
|
|
//===========================================================================
|
|
|
//============================= PID Settings ================================
|
|
@@ -544,7 +550,52 @@
|
|
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
|
|
#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_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
|
|
@@ -1624,11 +1675,13 @@
|
|
|
#define PREHEAT_1_LABEL "PLA"
|
|
|
#define PREHEAT_1_TEMP_HOTEND 180
|
|
|
#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_2_LABEL "ABS"
|
|
|
#define PREHEAT_2_TEMP_HOTEND 240
|
|
|
#define PREHEAT_2_TEMP_BED 110
|
|
|
+#define PREHEAT_2_TEMP_CHAMBER 35
|
|
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
|
|
|
|
|
/**
|