|
|
@ -95,7 +95,6 @@
|
|
|
|
// PID settings:
|
|
|
|
// PID settings:
|
|
|
|
// 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 PIDTEMPBED
|
|
|
|
|
|
|
|
#define PID_MAX 255 // limits current to nozzle; 255=full current
|
|
|
|
#define PID_MAX 255 // limits current to nozzle; 255=full current
|
|
|
|
#ifdef PIDTEMP
|
|
|
|
#ifdef PIDTEMP
|
|
|
|
//#define PID_DEBUG // Sends debug data to the serial port.
|
|
|
|
//#define PID_DEBUG // Sends debug data to the serial port.
|
|
|
@ -115,22 +114,50 @@
|
|
|
|
// #define DEFAULT_Ki 0.1
|
|
|
|
// #define DEFAULT_Ki 0.1
|
|
|
|
// #define DEFAULT_Kd 12
|
|
|
|
// #define DEFAULT_Kd 12
|
|
|
|
|
|
|
|
|
|
|
|
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, argressive factor of .15 (vs .1, 1, 10)
|
|
|
|
|
|
|
|
#define DEFAULT_bedKp 10.00
|
|
|
|
|
|
|
|
#define DEFAULT_bedKi .023
|
|
|
|
|
|
|
|
#define DEFAULT_bedKd 305.4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//mark from pidautotune
|
|
|
|
|
|
|
|
// #define DEFAULT_bedKp 97.1
|
|
|
|
|
|
|
|
// #define DEFAULT_bedKi 1.41
|
|
|
|
|
|
|
|
// #define DEFAULT_bedKd 1675.16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Mendel Parts V9 on 12V
|
|
|
|
// Mendel Parts V9 on 12V
|
|
|
|
// #define DEFAULT_Kp 63.0
|
|
|
|
// #define DEFAULT_Kp 63.0
|
|
|
|
// #define DEFAULT_Ki 2.25
|
|
|
|
// #define DEFAULT_Ki 2.25
|
|
|
|
// #define DEFAULT_Kd 440
|
|
|
|
// #define DEFAULT_Kd 440
|
|
|
|
#endif // PIDTEMP
|
|
|
|
#endif // PIDTEMP
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Bed Temperature Control
|
|
|
|
|
|
|
|
// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// uncomment this to enable PID on the bed. It uses the same ferquency PWM as the extruder.
|
|
|
|
|
|
|
|
// If your PID_dT above is the default, and correct for your hardware/configuration, that means 7.689Hz,
|
|
|
|
|
|
|
|
// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating.
|
|
|
|
|
|
|
|
// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater.
|
|
|
|
|
|
|
|
// If your configuration is significantly different than this and you don't understand the issues involved, you proabaly
|
|
|
|
|
|
|
|
// shouldn't use bed PID until someone else verifies your hardware works.
|
|
|
|
|
|
|
|
// If this is enabled, find your own PID constants below.
|
|
|
|
|
|
|
|
//#define PIDTEMPBED
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
//#define BED_LIMIT_SWITCHING
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// This sets the max power delived to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
|
|
|
|
|
|
|
|
// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis)
|
|
|
|
|
|
|
|
// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
|
|
|
|
|
|
|
|
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
|
|
|
|
|
|
|
|
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef PIDTEMPBED
|
|
|
|
|
|
|
|
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
|
|
|
|
|
|
|
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, argressive factor of .15 (vs .1, 1, 10)
|
|
|
|
|
|
|
|
#define DEFAULT_bedKp 10.00
|
|
|
|
|
|
|
|
#define DEFAULT_bedKi .023
|
|
|
|
|
|
|
|
#define DEFAULT_bedKd 305.4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
|
|
|
|
|
|
|
//from pidautotune
|
|
|
|
|
|
|
|
// #define DEFAULT_bedKp 97.1
|
|
|
|
|
|
|
|
// #define DEFAULT_bedKi 1.41
|
|
|
|
|
|
|
|
// #define DEFAULT_bedKd 1675.16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
|
|
|
|
|
|
|
#endif // PIDTEMPBED
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
|
|
|
|
//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
|
|
|
|
//can be software-disabled for whatever purposes by
|
|
|
|
//can be software-disabled for whatever purposes by
|
|
|
|
#define PREVENT_DANGEROUS_EXTRUDE
|
|
|
|
#define PREVENT_DANGEROUS_EXTRUDE
|
|
|
|