@ -1,13 +1,13 @@
# ifndef CONFIGURATION_H
# ifndef CONFIGURATION_H
# define CONFIGURATION_H
# define CONFIGURATION_H
// This configur tion file contains the basic settings.
// This configur a tion file contains the basic settings.
// Advanced settings can be found in Configuration_adv.h
// Advanced settings can be found in Configuration_adv.h
// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
// User specified version info of this build to display in [Pronterface, etc] terminal window during startup.
// User- specified version info of this build to display in [Pronterface, etc] terminal window during
// Implementation of an idea by Prof Braino to inform user that any changes made
// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
// to this build by the user have been successfully uploaded into firmware.
// build by the user have been successfully uploaded into firmware.
# define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time
# define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time
# define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes.
# define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes.
@ -51,6 +51,9 @@
# define MOTHERBOARD 7
# define MOTHERBOARD 7
# endif
# endif
// Define this to set a custom name for your generic Mendel,
// #define CUSTOM_MENDEL_NAME "This Mendel"
//// The following define selects which power supply you have. Please choose the one that matches your setup
//// The following define selects which power supply you have. Please choose the one that matches your setup
// 1 = ATX
// 1 = ATX
// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
@ -92,7 +95,7 @@
// 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
# define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one
# define TEMP_WINDOW 1 // (degC) Window around target to start the re c idency timer x degC early.
# define TEMP_WINDOW 1 // (degC) Window around target to start the re s idency timer x degC early.
// 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.
@ -126,7 +129,7 @@
# define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
# define PID_FUNCTIONAL_RANGE 10 // 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.
// is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
# define PID_INTEGRAL_DRIVE_MAX 255 //limit for the integral term
# define PID_INTEGRAL_DRIVE_MAX 255 //limit for the integral term
# define K1 0.95 //smoothing factor within g the PID
# define K1 0.95 //smoothing factor within the PID
# define PID_dT ((16.0 * 8.0) / (F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
# define PID_dT ((16.0 * 8.0) / (F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
// If you are using a preconfigured hotend then you can use one of the value sets by uncommenting it
// If you are using a preconfigured hotend then you can use one of the value sets by uncommenting it
@ -149,18 +152,18 @@
// Bed Temperature Control
// Bed Temperature Control
// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis
// 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.
// Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder.
// If your PID_dT above is the default, and correct for your hardware/configuration, that means 7.689Hz,
// 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.
// 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.
// 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 pro a baly
// If your configuration is significantly different than this and you don't understand the issues involved, you pro bab ly
// shouldn't use bed PID until someone else verifies your hardware works.
// shouldn't use bed PID until someone else verifies your hardware works.
// If this is enabled, find your own PID constants below.
// If this is enabled, find your own PID constants below.
//#define PIDTEMPBED
//#define PIDTEMPBED
//
//
//#define BED_LIMIT_SWITCHING
//#define BED_LIMIT_SWITCHING
// This sets the max power delive d to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
// This sets the max power delive re d 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)
// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis)
// setting this to anything other than 256 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
// setting this to anything other than 256 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)
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
@ -168,7 +171,7 @@
# ifdef PIDTEMPBED
# ifdef PIDTEMPBED
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, a r gressive factor of .15 (vs .1, 1, 10)
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, a g gressive factor of .15 (vs .1, 1, 10)
# define DEFAULT_bedKp 10.00
# define DEFAULT_bedKp 10.00
# define DEFAULT_bedKi .023
# define DEFAULT_bedKi .023
# define DEFAULT_bedKd 305.4
# define DEFAULT_bedKd 305.4
@ -200,11 +203,11 @@
// Uncomment the following line to enable CoreXY kinematics
// Uncomment the following line to enable CoreXY kinematics
// #define COREXY
// #define COREXY
// co rse Endstop Settings
// co a rse Endstop Settings
# define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
# define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
# ifndef ENDSTOPPULLUPS
# ifndef ENDSTOPPULLUPS
// fine Enstop settings: Individual Pullups. will be ignor d if ENDSTOPPULLUPS is defined
// fine Enstop settings: Individual Pullups. will be ignor e d if ENDSTOPPULLUPS is defined
# define ENDSTOPPULLUP_XMAX
# define ENDSTOPPULLUP_XMAX
# define ENDSTOPPULLUP_YMAX
# define ENDSTOPPULLUP_YMAX
# define ENDSTOPPULLUP_ZMAX
# define ENDSTOPPULLUP_ZMAX
@ -282,12 +285,12 @@ const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th
// default settings
// default settings
# define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200*8 / 3,760*1.1} // default steps per unit for ultimaker
# define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200*8 / 3,760*1.1} // default steps per unit for Ultimaker
# define DEFAULT_MAX_FEEDRATE {500, 500, 5, 25} // (mm/sec)
# define DEFAULT_MAX_FEEDRATE {500, 500, 5, 25} // (mm/sec)
# define DEFAULT_MAX_ACCELERATION {9000,9000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
# define DEFAULT_MAX_ACCELERATION {9000,9000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
# define DEFAULT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
# define DEFAULT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
# define DEFAULT_RETRACT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for r r etracts
# define DEFAULT_RETRACT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for r etracts
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).