// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup)
#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_1 0
...
@@ -173,60 +176,75 @@
...
@@ -173,60 +176,75 @@
#define TEMP_SENSOR_3 0
#define TEMP_SENSOR_3 0
#define TEMP_SENSOR_BED 1
#define TEMP_SENSOR_BED 1
// This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted.
// This makes temp sensor 1 a redundant sensor for sensor 0.
// If the temperatures difference between these sensors is to high the print will be aborted.
//#define TEMP_SENSOR_1_AS_REDUNDANT
//#define TEMP_SENSOR_1_AS_REDUNDANT
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 // degC
#ifdef SINGLENOZZLE
#ifdef SINGLENOZZLE
#undef TEMP_SENSOR_1_AS_REDUNDANT
#undef TEMP_SENSOR_1_AS_REDUNDANT
#endif
#endif
// Actual temperature must be close to target for this long before M109 returns success
// Actual temperature must be close to target for this long before M109 returns success
#define TEMP_RESIDENCY_TIME 10 // (seconds)
#define TEMP_RESIDENCY_TIME 10 // seconds
#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one
// Range of +/- temperatures considered "close" to the target one
#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early.
#define TEMP_HYSTERESIS 3 // degC
// Window around target to start the residency timer x degC early.
#define TEMP_WINDOW 1 // degC
// The minimal temperature defines the temperature below which the heater will not be enabled It is used
// The minimal temperature defines the temperature below which the heater will not be enabled It is used
// to check that the wiring to the thermistor is not broken.
// to check that the wiring to the thermistor is not broken.
// Otherwise this would lead to the heater being powered on all the time.
// Otherwise this would lead to the heater being powered on all the time.
#define HEATER_0_MINTEMP 5
#define HEATER_0_MINTEMP 5 // degC
#define HEATER_1_MINTEMP 5
#define HEATER_1_MINTEMP 5 // degC
#define HEATER_2_MINTEMP 5
#define HEATER_2_MINTEMP 5 // degC
#define HEATER_3_MINTEMP 5
#define HEATER_3_MINTEMP 5 // degC
#define BED_MINTEMP 5
#define BED_MINTEMP 5 // degC
// When temperature exceeds max temp, your heater will be switched off.
// When temperature exceeds max temp, your heater will be switched off.
// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
// You should use MINTEMP for thermistor short/failure protection.
// You should use MINTEMP for thermistor short/failure protection.
#define HEATER_0_MAXTEMP 275
#define HEATER_0_MAXTEMP 275 // degC
#define HEATER_1_MAXTEMP 275
#define HEATER_1_MAXTEMP 275 // degC
#define HEATER_2_MAXTEMP 275
#define HEATER_2_MAXTEMP 275 // degC
#define HEATER_3_MAXTEMP 275
#define HEATER_3_MAXTEMP 275 // degC
#define BED_MAXTEMP 150
#define BED_MAXTEMP 150 // degC
// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the
// If your bed has low resistance e.g. 0.6 ohm and throws the fuse you can duty cycle it to reduce the
// average current. The value should be an integer and the heat bed will be turned on for 1 interval of
// average current. The value should be an integer and the heat bed will be turned on for 1 interval of
// HEATER_BED_DUTY_CYCLE_DIVIDER intervals.
// HEATER_BED_DUTY_CYCLE_DIVIDER intervals.
//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4
//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4
// If you want the M105 heater power reported in watts, define the BED_WATTS, and (shared for all extruders) HOTEND_WATTS
// If you want the M105 heater power reported in watts, define the BED_WATTS, and (shared for all extruders) HOTEND_WATTS
// Comment the following line to disable PID and enable bang-bang.
// Comment the following line to disable PID and enable bang-bang.
#define PIDTEMP
#define PIDTEMP
#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
#ifdef PIDTEMP
#ifdef PIDTEMP
//#define PID_DEBUG // Sends debug data to the serial port.
// Limits current to nozzle while in bang-bang mode
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
#define BANG_MAX 255 // 255 is full current
//#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
// Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below)
#define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
#define PID_MAX BANG_MAX // 255 is full current
// is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
// Sends debug data to the serial port
#define PID_INTEGRAL_DRIVE_MAX PID_MAX //limit for the integral term
//#define PID_DEBUG
#define K1 0.95 //smoothing factor within the PID
// Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
#define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
//#define PID_OPENLOOP 1
// 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
// If the temperature difference between the target temperature and the actual temperature
// is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
#define FILAMENT_SENSOR_EXTRUDER_NUM 0 //The number of the extruder that has the filament sensor (0,1,2)
#define MEASUREMENT_DELAY_CM 14 //measurement delay in cm. This is the distance from filament sensor to middle of barrel
#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software. Used for sensor reading validation
#define MEASURED_UPPER_LIMIT 3.30 //upper limit factor used for sensor reading validation in mm
#define MEASURED_LOWER_LIMIT 1.90 //lower limit factor for sensor reading validation in mm
#define MAX_MEASUREMENT_DELAY 20 //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM)
//defines used in the code
#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially
//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status. Status will appear for 5 sec.