K8200: sample config back in sync

* Configuration.h:
  * updated header comment
  * new UUID feature used
  * sync to default config
  * typos fixed
  * changes better documented
  * reflect change in SDSUPPORT feature
* Configuration_adv.h
  * updated header comment
  * thermal protection tuned to work with K8200
  * homing tuned
  * sync to default config
  * typos fixed
  * changes better documented
  * reflect change in LCD features
  * use long filenames
  * use Watchdog
  * use Babystepping
  * use Auto Filament Change
This commit is contained in:
CONSULitAS 2016-02-21 16:06:25 +01:00
parent 9f8e6dce20
commit a4fe6a45ae
2 changed files with 72 additions and 35 deletions

View File

@ -1,7 +1,7 @@
// Example configuration file for Vellemann K8200 // Sample configuration file for Vellemann K8200
// tested on K8200 with VM8201 (Display) // tested on K8200 with VM8201 (Display)
// and Arduino 1.6.1 (Win) by @CONSULitAS, 2015-04-14 // and Arduino 1.6.8 (Mac) by @CONSULitAS, 2016-02-21
// https://github.com/CONSULitAS/Marlin-K8200/archive/K8200_stable_2015-04-14.zip // https://github.com/CONSULitAS/Marlin-K8200/archive/K8200_stable_2016-02-21.zip
#ifndef CONFIGURATION_H #ifndef CONFIGURATION_H
#define CONFIGURATION_H #define CONFIGURATION_H
@ -52,7 +52,7 @@ Here are some standard links for getting your machine calibrated:
// User-specified version info of this build to display in [Pronterface, etc] terminal window during // User-specified version info of this build to display in [Pronterface, etc] terminal window during
// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
// build by the user have been successfully uploaded into firmware. // build by the user have been successfully uploaded into firmware.
#define STRING_CONFIG_H_AUTHOR "(K8200, CONSULitAS)" // Who made the changes. #define STRING_CONFIG_H_AUTHOR "(K8200, @CONSULitAS)" // Who made the changes.
#define SHOW_BOOTSCREEN #define SHOW_BOOTSCREEN
#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 #define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1
//#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2 //#define STRING_SPLASH_LINE2 STRING_DISTRIBUTION_DATE // will be shown during bootup in line 2
@ -80,11 +80,11 @@ Here are some standard links for getting your machine calibrated:
// Optional custom name for your RepStrap or other custom machine // Optional custom name for your RepStrap or other custom machine
// Displayed in the LCD "Ready" message // Displayed in the LCD "Ready" message
//#define CUSTOM_MACHINE_NAME "3D Printer" #define CUSTOM_MACHINE_NAME "K8200"
// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) // Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
//#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" #define MACHINE_UUID "2b7dea3b-844e-4ab1-aa96-bb6406607d6e" // K8200 standard config with VM8201 (Display)
// This defines the number of extruders // This defines the number of extruders
// :[1,2,3,4] // :[1,2,3,4]
@ -207,11 +207,26 @@ Here are some standard links for getting your machine calibrated:
#define PID_INTEGRAL_DRIVE_MAX PID_MAX //limit for the integral term #define PID_INTEGRAL_DRIVE_MAX PID_MAX //limit for the integral term
#define K1 0.95 //smoothing factor within the PID #define K1 0.95 //smoothing factor within the PID
// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
// Ultimaker
//#define DEFAULT_Kp 22.2
//#define DEFAULT_Ki 1.08
//#define DEFAULT_Kd 114
// MakerGear
//#define DEFAULT_Kp 7.0
//#define DEFAULT_Ki 0.1
//#define DEFAULT_Kd 12
// Mendel Parts V9 on 12V
//#define DEFAULT_Kp 63.0
//#define DEFAULT_Ki 2.25
//#define DEFAULT_Kd 440
// Vellemann K8200 Extruder - calculated with PID Autotune and tested // Vellemann K8200 Extruder - calculated with PID Autotune and tested
#define DEFAULT_Kp 24.29 #define DEFAULT_Kp 24.29
#define DEFAULT_Ki 1.58 #define DEFAULT_Ki 1.58
#define DEFAULT_Kd 93.51 #define DEFAULT_Kd 93.51
#endif // PIDTEMP #endif // PIDTEMP
//=========================================================================== //===========================================================================
@ -226,7 +241,7 @@ Here are some standard links for getting your machine calibrated:
// If your configuration is significantly different than this and you don't understand the issues involved, you probably // If your configuration is significantly different than this and you don't understand the issues involved, you probably
// 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
@ -242,13 +257,25 @@ Here are some standard links for getting your machine calibrated:
#define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive 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.
// Vellemann K8200 PCB heatbed with standard PCU at 60 degreesC - calculated with PID Autotune and tested // Vellemann K8200 PCB heatbed with standard PCU at 60 degreesC - calculated with PID Autotune and tested
// from pidautotune // from pidautotune
#define DEFAULT_bedKp 341.88 #define DEFAULT_bedKp 341.88
#define DEFAULT_bedKi 25.32 #define DEFAULT_bedKi 25.32
#define DEFAULT_bedKd 1153.89 #define DEFAULT_bedKd 1153.89
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
#endif // PIDTEMPBED #endif // PIDTEMPBED
// @section extruder // @section extruder
@ -303,7 +330,7 @@ Here are some standard links for getting your machine calibrated:
#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
#if DISABLED(ENDSTOPPULLUPS) #if DISABLED(ENDSTOPPULLUPS)
// fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined // define endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
//#define ENDSTOPPULLUP_XMAX //#define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX //#define ENDSTOPPULLUP_YMAX
//#define ENDSTOPPULLUP_ZMAX //#define ENDSTOPPULLUP_ZMAX
@ -341,7 +368,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// WARNING: When motors turn off there is a chance of losing position accuracy! // WARNING: When motors turn off there is a chance of losing position accuracy!
#define DISABLE_X false #define DISABLE_X false
#define DISABLE_Y false #define DISABLE_Y false
#define DISABLE_Z true #define DISABLE_Z false // not for K8200 -> looses Steps
// @section extruder // @section extruder
@ -352,7 +379,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false #define INVERT_X_DIR false
#define INVERT_Y_DIR false #define INVERT_Y_DIR false // was true -> why for K8200?
#define INVERT_Z_DIR false #define INVERT_Z_DIR false
// @section extruder // @section extruder
@ -453,7 +480,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
#define FRONT_PROBE_BED_POSITION 20 #define FRONT_PROBE_BED_POSITION 20
#define BACK_PROBE_BED_POSITION 170 #define BACK_PROBE_BED_POSITION 170
#define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. #define MIN_PROBE_EDGE 10 // The Z probe minimum square sides can be no smaller than this.
// Set the number of grid points per dimension. // Set the number of grid points per dimension.
// You probably don't need more than 3 (squared=9). // You probably don't need more than 3 (squared=9).
@ -493,7 +520,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
//it is highly recommended you let this Z_SAFE_HOMING enabled!!! //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area.
@ -647,7 +675,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define ULTRA_LCD //general LCD support, also 16x2 //#define ULTRA_LCD //general LCD support, also 16x2
//#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family)
//#define SDSUPPORT // Enable SD Card Support in Hardware Console
#define SDSUPPORT // Enable SD Card Support in Hardware Console
// Changed behaviour! If you need SDSUPPORT uncomment it! // Changed behaviour! If you need SDSUPPORT uncomment it!
//#define SPI_SPEED SPI_HALF_SPEED // (also SPI_QUARTER_SPEED, SPI_EIGHTH_SPEED) Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error) //#define SPI_SPEED SPI_HALF_SPEED // (also SPI_QUARTER_SPEED, SPI_EIGHTH_SPEED) Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error)
//#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication //#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication

View File

@ -1,3 +1,8 @@
// Sample configuration file for Vellemann K8200
// tested on K8200 with VM8201 (Display)
// and Arduino 1.6.8 (Mac) by @CONSULitAS, 2016-02-21
// https://github.com/CONSULitAS/Marlin-K8200/archive/K8200_stable_2016-02-21.zip
#ifndef CONFIGURATION_ADV_H #ifndef CONFIGURATION_ADV_H
#define CONFIGURATION_ADV_H #define CONFIGURATION_ADV_H
@ -18,8 +23,8 @@
* Thermal Protection parameters * Thermal Protection parameters
*/ */
#if ENABLED(THERMAL_PROTECTION_HOTENDS) #if ENABLED(THERMAL_PROTECTION_HOTENDS)
#define THERMAL_PROTECTION_PERIOD 40 // Seconds #define THERMAL_PROTECTION_PERIOD 60 // Seconds
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius #define THERMAL_PROTECTION_HYSTERESIS 8 // Degrees Celsius
/** /**
* Whenever an M104 or M109 increases the target temperature the firmware will wait for the * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
@ -27,7 +32,7 @@
* degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109, * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
* but only if the current temperature is far enough below the target for a reliable test. * but only if the current temperature is far enough below the target for a reliable test.
*/ */
#define WATCH_TEMP_PERIOD 16 // Seconds #define WATCH_TEMP_PERIOD 30 // Seconds
#define WATCH_TEMP_INCREASE 4 // Degrees Celsius #define WATCH_TEMP_INCREASE 4 // Degrees Celsius
#endif #endif
@ -93,12 +98,12 @@
// When first starting the main fan, run it at full speed for the // When first starting the main fan, run it at full speed for the
// given number of milliseconds. This gets the fan spinning reliably // given number of milliseconds. This gets the fan spinning reliably
// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
//#define FAN_KICKSTART_TIME 100 #define FAN_KICKSTART_TIME 500
// This defines the minimal speed for the main fan, run in PWM mode // This defines the minimal speed for the main fan, run in PWM mode
// to enable uncomment and set minimal PWM speed for reliable running (1-255) // to enable uncomment and set minimal PWM speed for reliable running (1-255)
// if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM // if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM
#define FAN_MIN_PWM 50 // K8200: fan stops running at about 35 to 40 (of 255) #define FAN_MIN_PWM 50
// @section extruder // @section extruder
@ -212,9 +217,9 @@
//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_BUMP_MM 5 #define X_HOME_BUMP_MM 5
#define Y_HOME_BUMP_MM 5 #define Y_HOME_BUMP_MM 5
#define Z_HOME_BUMP_MM 3 #define Z_HOME_BUMP_MM 2
#define HOMING_BUMP_DIVISOR {2, 2, 4} // Re-Bump Speed Divisor (Divides the Homing Feedrate) #define HOMING_BUMP_DIVISOR {4, 4, 8} // Re-Bump Speed Divisor (Divides the Homing Feedrate)
//#define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially. #define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
// When G28 is called, this option will make Y home before X // When G28 is called, this option will make Y home before X
//#define HOME_Y_BEFORE_X //#define HOME_Y_BEFORE_X
@ -303,10 +308,10 @@
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order. #define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that. // if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
// using: // using:
//#define MENU_ADDAUTOSTART #define MENU_ADDAUTOSTART
// Show a progress bar on HD44780 LCDs for SD printing // Show a progress bar on HD44780 LCDs for SD printing
//#define LCD_PROGRESS_BAR #define LCD_PROGRESS_BAR
#if ENABLED(LCD_PROGRESS_BAR) #if ENABLED(LCD_PROGRESS_BAR)
// Amount of time (ms) to show the bar // Amount of time (ms) to show the bar
@ -320,7 +325,7 @@
#endif #endif
// This allows hosts to request long names for files and folders with M33 // This allows hosts to request long names for files and folders with M33
//#define LONG_FILENAME_HOST_SUPPORT #define LONG_FILENAME_HOST_SUPPORT
// This option allows you to abort SD printing when any endstop is triggered. // This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu. // This feature must be enabled with "M540 S1" or from the LCD menu.
@ -341,11 +346,10 @@
//#define USE_SMALL_INFOFONT //#define USE_SMALL_INFOFONT
#endif // DOGLCD #endif // DOGLCD
// @section more // @section more
// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation. // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
//#define USE_WATCHDOG #define USE_WATCHDOG
#if ENABLED(USE_WATCHDOG) #if ENABLED(USE_WATCHDOG)
// If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on. // If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on.
@ -359,9 +363,10 @@
// Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
// it can e.g. be used to change z-positions in the print startup phase in real-time // it can e.g. be used to change z-positions in the print startup phase in real-time
// does not respect endstops! // does not respect endstops!
//#define BABYSTEPPING #define BABYSTEPPING
#if ENABLED(BABYSTEPPING) #if ENABLED(BABYSTEPPING)
#define BABYSTEP_XY //not only z, but also XY in the menu. more clutter, more functions #define BABYSTEP_XY //not only z, but also XY in the menu. more clutter, more functions
//not implemented for CoreXY and deltabots!
#define BABYSTEP_INVERT_Z false //true for inverse movements in Z #define BABYSTEP_INVERT_Z false //true for inverse movements in Z
#define BABYSTEP_MULTIPLICATOR 1 //faster movements #define BABYSTEP_MULTIPLICATOR 1 //faster movements
#endif #endif
@ -389,7 +394,7 @@
#define MM_PER_ARC_SEGMENT 1 #define MM_PER_ARC_SEGMENT 1
#define N_ARC_CORRECTION 25 #define N_ARC_CORRECTION 25
const unsigned int dropsegments = 5; //everything with less than this number of steps will be ignored as move and joined with the next movement const unsigned int dropsegments = 2; //everything with less than this number of steps will be ignored as move and joined with the next movement
// @section temperature // @section temperature
@ -407,7 +412,7 @@ const unsigned int dropsegments = 5; //everything with less than this number of
#if ENABLED(SDSUPPORT) #if ENABLED(SDSUPPORT)
#define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller
#else #else
#define BLOCK_BUFFER_SIZE 16 // maximize block buffer #define BLOCK_BUFFER_SIZE 32 // maximize block buffer
#endif #endif
// @section more // @section more
@ -454,6 +459,9 @@ const unsigned int dropsegments = 5; //everything with less than this number of
#define FILAMENTCHANGE_ZADD 10 #define FILAMENTCHANGE_ZADD 10
#define FILAMENTCHANGE_FIRSTRETRACT -2 #define FILAMENTCHANGE_FIRSTRETRACT -2
#define FILAMENTCHANGE_FINALRETRACT -100 #define FILAMENTCHANGE_FINALRETRACT -100
#define AUTO_FILAMENT_CHANGE //This extrude filament until you press the button on LCD
#define AUTO_FILAMENT_CHANGE_LENGTH 0.04 //Extrusion length on automatic extrusion loop
#define AUTO_FILAMENT_CHANGE_FEEDRATE 300 //Extrusion feedrate (mm/min) on automatic extrusion loop
#endif #endif
#endif #endif