@ -4,11 +4,11 @@
// This determines the communication speed of the printer
// This determines the communication speed of the printer
//#define BAUDRATE 250000
# define BAUDRATE 250000
# define BAUDRATE 115200
//#define BAUDRATE 115200
//#define BAUDRATE 230400
//#define BAUDRATE 230400
# define EXTRUDERS 2
# define EXTRUDERS 1
// Frequency limit
// Frequency limit
// See nophead's blog for more info
// See nophead's blog for more info
@ -32,7 +32,7 @@
// Sanguinololu 1.2 and above = 62
// Sanguinololu 1.2 and above = 62
// Ultimaker = 7,
// Ultimaker = 7,
// Teensylu = 8
// Teensylu = 8
# define MOTHERBOARD 33
# define MOTHERBOARD 7
//===========================================================================
//===========================================================================
//=============================Thermal Settings ============================
//=============================Thermal Settings ============================
@ -46,16 +46,21 @@
// 5 is ParCan supplied 104GT-2 100K
// 5 is ParCan supplied 104GT-2 100K
// 6 is EPCOS 100k
// 6 is EPCOS 100k
// 7 is 100k Honeywell thermistor 135-104LAG-J01
// 7 is 100k Honeywell thermistor 135-104LAG-J01
# define THERMISTORHEATER_0 1
# define THERMISTORHEATER_1 1
//#define THERMISTORHEATER_0 3
# define HEATER_0_USES_THERMISTOR
//#define THERMISTORHEATER_1 1
# define HEATER_1_USES_THERMISTOR
//#define THERMISTORHEATER_2 1
//#define HEATER_0_USES_AD595
//#define HEATER_0_USES_THERMISTOR
//#define HEATER_1_USES_THERMISTOR
//#define HEATER_2_USES_THERMISTOR
# define HEATER_0_USES_AD595
//#define HEATER_1_USES_AD595
//#define HEATER_1_USES_AD595
//#define HEATER_2_USES_AD595
// Select one of these only to define how the bed temp is read.
// Select one of these only to define how the bed temp is read.
# define THERMISTORBED 1
//#define THERMISTORBED 1
# define BED_USES_THERMISTOR
//#define BED_USES_THERMISTOR
//#define BED_USES_AD595
//#define BED_USES_AD595
# define BED_CHECK_INTERVAL 5000 //ms
# define BED_CHECK_INTERVAL 5000 //ms
@ -73,7 +78,8 @@
//// The minimal temperature defines the temperature below which the heater will not be enabled
//// The minimal temperature defines the temperature below which the heater will not be enabled
# define HEATER_0_MINTEMP 5
# define HEATER_0_MINTEMP 5
//#define HEATER_1_MINTEMP 5
//#define HEATER_1_MINTEMP 5
# define BED_MINTEMP 5
//#define HEATER_2_MINTEMP 5
//#define BED_MINTEMP 5
// When temperature exceeds max temp, your heater will be switched off.
// When temperature exceeds max temp, your heater will be switched off.
@ -81,7 +87,8 @@
// 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
//#define HEATER_1_MAXTEMP 275
//#define HEATER_1_MAXTEMP 275
# define BED_MAXTEMP 150
//#define HEATER_2_MAXTEMP 275
//#define BED_MAXTEMP 150
// Wait for Cooldown
// Wait for Cooldown
@ -92,21 +99,17 @@
// Heating is finished if a temperature close to this degree shift is reached
// Heating is finished if a temperature close to this degree shift is reached
# define HEATING_EARLY_FINISH_DEG_OFFSET 1 //Degree
# define HEATING_EARLY_FINISH_DEG_OFFSET 1 //Degree
// PID settings:
// PID settings:
// Uncomment the following line to enable PID support.
// Uncomment the following line to enable PID support.
# define PIDTEMP
# define PIDTEMP
# define PID_MAX 255 // limits current to nozzle; 255=full current
# ifdef PIDTEMP
# ifdef PIDTEMP
# if MOTHERBOARD == 62
# error Sanguinololu does not support PID, sorry. Please disable it.
# endif
//#define PID_DEBUG // Sends debug data to the serial port.
//#define PID_DEBUG // Sends debug data to the serial port.
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104 sets the output power in %
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104 sets the output power in %
# define PID_MAX 255 // limits current to nozzle; 255=full current
# 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 withing the PID
# define K1 0.95 //smoothing factor withing the PID
# define PID_dT 0.1 //sampling period of the PID
# define PID_dT 0.1 28 //sampling period of the PID
//To develop some PID settings for your machine, you can initiall follow
//To develop some PID settings for your machine, you can initiall follow
// the Ziegler-Nichols method.
// the Ziegler-Nichols method.
@ -130,14 +133,14 @@
// #define DEFAULT_Kd (PID_SWING_AT_CRITIAL/8./PID_dT)
// #define DEFAULT_Kd (PID_SWING_AT_CRITIAL/8./PID_dT)
// Ultitmaker
// Ultitmaker
// #define DEFAULT_Kp 22.2
# define DEFAULT_Kp 22.2
// #define DEFAULT_Ki (1.25*PID_dT)
# define DEFAULT_Ki (1.25*PID_dT)
// #define DEFAULT_Kd (99/PID_dT)
# define DEFAULT_Kd (99 / PID_dT)
// Makergear
// Makergear
# define DEFAULT_Kp 7.0
// #define DEFAULT_Kp 7.0
# define DEFAULT_Ki 0.1
// #define DEFAULT_Ki 0.1
# define DEFAULT_Kd 12
// #define DEFAULT_Kd 12
// Mendel Parts V9 on 12V
// Mendel Parts V9 on 12V
// #define DEFAULT_Kp 63.0
// #define DEFAULT_Kp 63.0
@ -170,12 +173,12 @@
# 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
// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_ENDSTOPS_INVERTING = fals e; // set to true to invert the logic of the endstops.
const bool X_ENDSTOPS_INVERTING = tru e; // set to true to invert the logic of the endstops.
const bool Y_ENDSTOPS_INVERTING = fals e; // set to true to invert the logic of the endstops.
const bool Y_ENDSTOPS_INVERTING = tru e; // set to true to invert the logic of the endstops.
const bool Z_ENDSTOPS_INVERTING = fals e; // set to true to invert the logic of the endstops.
const bool Z_ENDSTOPS_INVERTING = tru e; // set to true to invert the logic of the endstops.
// For optos H21LOB set to true, for Mendel-Parts newer optos TCST2103 set to false
// For optos H21LOB set to true, for Mendel-Parts newer optos TCST2103 set to false
//#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
# define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
# define X_ENABLE_ON 0
# define X_ENABLE_ON 0
@ -186,7 +189,7 @@ const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of t
// Disables axis when it's not being used.
// Disables axis when it's not being used.
# define DISABLE_X false
# define DISABLE_X false
# define DISABLE_Y false
# define DISABLE_Y false
# define DISABLE_Z tru e
# define DISABLE_Z fals e
# define DISABLE_E false // For all extruders
# define DISABLE_E false // For all extruders
// Inverting axis direction
// Inverting axis direction
@ -195,11 +198,11 @@ const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of t
//#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true
//#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true
//#define INVERT_E*_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false, used for all extruders
//#define INVERT_E*_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false, used for all extruders
# define INVERT_X_DIR fals e // for Mendel set to false, for Orca set to true
# define INVERT_X_DIR tru e // for Mendel set to false, for Orca set to true
# define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false
# define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false
# define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true
# define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true
# define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
# define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
# define INVERT_E1_DIR tru e // for direct drive extruder v9 set to true, for geared extruder set to false
# define INVERT_E1_DIR fals e // for direct drive extruder v9 set to true, for geared extruder set to false
# define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
# define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
//// ENDSTOP SETTINGS:
//// ENDSTOP SETTINGS:
@ -208,15 +211,15 @@ const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of t
# define Y_HOME_DIR -1
# define Y_HOME_DIR -1
# define Z_HOME_DIR -1
# define Z_HOME_DIR -1
# define min_software_endstops fals e //If true, axis won't move to coordinates less than zero.
# define min_software_endstops tru e //If true, axis won't move to coordinates less than zero.
# define max_software_endstops fals e //If true, axis won't move to coordinates greater than the defined lengths below.
# define max_software_endstops tru e //If true, axis won't move to coordinates greater than the defined lengths below.
# define X_MAX_LENGTH 2 1 0
# define X_MAX_LENGTH 2 05
# define Y_MAX_LENGTH 2 1 0
# define Y_MAX_LENGTH 2 05
# define Z_MAX_LENGTH 2 1 0
# define Z_MAX_LENGTH 2 0 0
//// MOVEMENT SETTINGS
//// MOVEMENT SETTINGS
# define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
# define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
# define HOMING_FEEDRATE { 30*60, 30*60, 2 *60, 0} // set the homing speeds (mm/min)
# define HOMING_FEEDRATE { 50*60, 50*60, 4 *60, 0} // set the homing speeds (mm/min)
//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
# define X_HOME_RETRACT_MM 5
# define X_HOME_RETRACT_MM 5
@ -230,9 +233,9 @@ const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of t
// 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_AXIS_STEPS_PER_UNIT {40, 40, 3333.92, 67 } //sells mendel with v9 extruder
//#define DEFAULT_AXIS_STEPS_PER_UNIT {40, 40, 3333.92, 360 } //sells mendel with v9 extruder
# define DEFAULT_AXIS_STEPS_PER_UNIT {80.3232, 80.8900, 2284.7651, 757.2218} // SAE Prusa w/ Wade extruder
//# define DEFAULT_AXIS_STEPS_PER_UNIT {80.3232, 80.8900, 2284.7651, 757.2218} // SAE Prusa w/ Wade extruder
# define DEFAULT_MAX_FEEDRATE {500, 500, 5, 45} // (mm/sec)
# define DEFAULT_MAX_FEEDRATE {500, 500, 5, 45} // (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.
@ -283,10 +286,10 @@ const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of t
// hooke's law says: force = k * distance
// hooke's law says: force = k * distance
// bernoulli's priniciple says: v ^ 2 / 2 + g . h + pressure / density = constant
// bernoulli's priniciple says: v ^ 2 / 2 + g . h + pressure / density = constant
// so: v ^ 2 is proportional to number of steps we advance the extruder
// so: v ^ 2 is proportional to number of steps we advance the extruder
//#define ADVANCE
# define ADVANCE
# ifdef ADVANCE
# ifdef ADVANCE
# define EXTRUDER_ADVANCE_K . 3
# define EXTRUDER_ADVANCE_K . 0
# define D_FILAMENT 2.85
# define D_FILAMENT 2.85
# define STEPS_MM_E 836
# define STEPS_MM_E 836
@ -298,10 +301,10 @@ const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of t
//LCD and SD support
//LCD and SD support
//#define ULTRA_LCD //general lcd support, also 16x2
//#define ULTRA_LCD //general lcd support, also 16x2
# define SDSUPPORT // Enable SD Card Support in Hardware Console
//#define SDSUPPORT // Enable SD Card Support in Hardware Console
# define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
# define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
//#define ULTIPANEL
# define ULTIPANEL
# ifdef ULTIPANEL
# ifdef ULTIPANEL
//#define NEWPANEL //enable this if you have a click-encoder panel
//#define NEWPANEL //enable this if you have a click-encoder panel
# define SDSUPPORT
# define SDSUPPORT