Browse Source

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
CONSULitAS 9 years ago
parent
commit
a4fe6a45ae

+ 48
- 19
Marlin/example_configurations/K8200/Configuration.h View File

@@ -1,7 +1,7 @@
1
-// Example configuration file for Vellemann K8200
1
+// Sample configuration file for Vellemann K8200
2 2
 // tested on K8200 with VM8201 (Display)
3
-// and Arduino 1.6.1 (Win) by @CONSULitAS, 2015-04-14
4
-// https://github.com/CONSULitAS/Marlin-K8200/archive/K8200_stable_2015-04-14.zip
3
+// and Arduino 1.6.8 (Mac) by @CONSULitAS, 2016-02-21
4
+// https://github.com/CONSULitAS/Marlin-K8200/archive/K8200_stable_2016-02-21.zip
5 5
 
6 6
 #ifndef CONFIGURATION_H
7 7
 #define CONFIGURATION_H
@@ -52,7 +52,7 @@ Here are some standard links for getting your machine calibrated:
52 52
 // User-specified version info of this build to display in [Pronterface, etc] terminal window during
53 53
 // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
54 54
 // build by the user have been successfully uploaded into firmware.
55
-#define STRING_CONFIG_H_AUTHOR "(K8200, CONSULitAS)" // Who made the changes.
55
+#define STRING_CONFIG_H_AUTHOR "(K8200, @CONSULitAS)" // Who made the changes.
56 56
 #define SHOW_BOOTSCREEN
57 57
 #define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1
58 58
 //#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:
80 80
 
81 81
 // Optional custom name for your RepStrap or other custom machine
82 82
 // Displayed in the LCD "Ready" message
83
-//#define CUSTOM_MACHINE_NAME "3D Printer"
83
+#define CUSTOM_MACHINE_NAME "K8200"
84 84
 
85 85
 // Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
86 86
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
87
-//#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
87
+#define MACHINE_UUID "2b7dea3b-844e-4ab1-aa96-bb6406607d6e" // K8200 standard config with VM8201 (Display)
88 88
 
89 89
 // This defines the number of extruders
90 90
 // :[1,2,3,4]
@@ -207,11 +207,26 @@ Here are some standard links for getting your machine calibrated:
207 207
   #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
208 208
   #define K1 0.95 //smoothing factor within the PID
209 209
 
210
+  // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
211
+  // Ultimaker
212
+  //#define  DEFAULT_Kp 22.2
213
+  //#define  DEFAULT_Ki 1.08
214
+  //#define  DEFAULT_Kd 114
215
+
216
+  // MakerGear
217
+  //#define  DEFAULT_Kp 7.0
218
+  //#define  DEFAULT_Ki 0.1
219
+  //#define  DEFAULT_Kd 12
220
+
221
+  // Mendel Parts V9 on 12V
222
+  //#define  DEFAULT_Kp 63.0
223
+  //#define  DEFAULT_Ki 2.25
224
+  //#define  DEFAULT_Kd 440
225
+
210 226
   // Vellemann K8200 Extruder - calculated with PID Autotune and tested
211 227
   #define  DEFAULT_Kp 24.29
212 228
   #define  DEFAULT_Ki 1.58
213 229
   #define  DEFAULT_Kd 93.51
214
-
215 230
 #endif // PIDTEMP
216 231
 
217 232
 //===========================================================================
@@ -226,7 +241,7 @@ Here are some standard links for getting your machine calibrated:
226 241
 // If your configuration is significantly different than this and you don't understand the issues involved, you probably
227 242
 // shouldn't use bed PID until someone else verifies your hardware works.
228 243
 // If this is enabled, find your own PID constants below.
229
-//#define PIDTEMPBED
244
+#define PIDTEMPBED
230 245
 
231 246
 //#define BED_LIMIT_SWITCHING
232 247
 
@@ -242,13 +257,25 @@ Here are some standard links for getting your machine calibrated:
242 257
 
243 258
   #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
244 259
 
245
-  //Vellemann K8200 PCB heatbed with standard PCU at 60 degreesC - calculated with PID Autotune and tested
260
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
261
+  //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
262
+  //#define  DEFAULT_bedKp 10.00
263
+  //#define  DEFAULT_bedKi .023
264
+  //#define  DEFAULT_bedKd 305.4
265
+
266
+  //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
246 267
   //from pidautotune
268
+  //#define  DEFAULT_bedKp 97.1
269
+  //#define  DEFAULT_bedKi 1.41
270
+  //#define  DEFAULT_bedKd 1675.16
271
+
272
+  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
273
+
274
+  // Vellemann K8200 PCB heatbed with standard PCU at 60 degreesC - calculated with PID Autotune and tested
275
+  // from pidautotune
247 276
   #define  DEFAULT_bedKp 341.88
248 277
   #define  DEFAULT_bedKi 25.32
249 278
   #define  DEFAULT_bedKd 1153.89
250
-
251
-  // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
252 279
 #endif // PIDTEMPBED
253 280
 
254 281
 // @section extruder
@@ -303,7 +330,7 @@ Here are some standard links for getting your machine calibrated:
303 330
 #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
304 331
 
305 332
 #if DISABLED(ENDSTOPPULLUPS)
306
-  // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
333
+  // define endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
307 334
   //#define ENDSTOPPULLUP_XMAX
308 335
   //#define ENDSTOPPULLUP_YMAX
309 336
   //#define ENDSTOPPULLUP_ZMAX
@@ -341,7 +368,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
341 368
 // WARNING: When motors turn off there is a chance of losing position accuracy!
342 369
 #define DISABLE_X false
343 370
 #define DISABLE_Y false
344
-#define DISABLE_Z true
371
+#define DISABLE_Z false // not for K8200 -> looses Steps
345 372
 
346 373
 // @section extruder
347 374
 
@@ -352,7 +379,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
352 379
 
353 380
 // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
354 381
 #define INVERT_X_DIR false
355
-#define INVERT_Y_DIR false
382
+#define INVERT_Y_DIR false // was true -> why for K8200?
356 383
 #define INVERT_Z_DIR false
357 384
 
358 385
 // @section extruder
@@ -453,7 +480,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
453 480
     #define FRONT_PROBE_BED_POSITION 20
454 481
     #define BACK_PROBE_BED_POSITION 170
455 482
 
456
-    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
483
+    #define MIN_PROBE_EDGE 10 // The Z probe minimum square sides can be no smaller than this.
457 484
 
458 485
     // Set the number of grid points per dimension.
459 486
     // You probably don't need more than 3 (squared=9).
@@ -493,8 +520,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
493 520
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
494 521
   //#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.
495 522
 
496
-  // If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
497
-  // it is highly recommended you let this Z_SAFE_HOMING enabled!!!
523
+
524
+  //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
525
+  //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
498 526
 
499 527
   #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
500 528
                           // When defined, it will:
@@ -574,7 +602,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
574 602
 #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.
575 603
 
576 604
 #define DEFAULT_ACCELERATION          1000    // X, Y, Z and E acceleration in mm/s^2 for printing moves
577
-#define DEFAULT_RETRACT_ACCELERATION  1000    // E acceleration in mm/s^2 for retracts
605
+#define DEFAULT_RETRACT_ACCELERATION  1000   // E acceleration in mm/s^2 for retracts
578 606
 #define DEFAULT_TRAVEL_ACCELERATION   1000    // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
579 607
 
580 608
 // The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
@@ -647,7 +675,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
647 675
 
648 676
 //#define ULTRA_LCD  //general LCD support, also 16x2
649 677
 //#define DOGLCD  // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family)
650
-//#define SDSUPPORT // Enable SD Card Support in Hardware Console
678
+
679
+#define SDSUPPORT // Enable SD Card Support in Hardware Console
651 680
                     // Changed behaviour! If you need SDSUPPORT uncomment it!
652 681
 //#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)
653 682
 //#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication

+ 24
- 16
Marlin/example_configurations/K8200/Configuration_adv.h View File

@@ -1,3 +1,8 @@
1
+// Sample configuration file for Vellemann K8200
2
+// tested on K8200 with VM8201 (Display)
3
+// and Arduino 1.6.8 (Mac) by @CONSULitAS, 2016-02-21
4
+// https://github.com/CONSULitAS/Marlin-K8200/archive/K8200_stable_2016-02-21.zip
5
+
1 6
 #ifndef CONFIGURATION_ADV_H
2 7
 #define CONFIGURATION_ADV_H
3 8
 
@@ -18,8 +23,8 @@
18 23
  * Thermal Protection parameters
19 24
  */
20 25
 #if ENABLED(THERMAL_PROTECTION_HOTENDS)
21
-  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
22
-  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius
26
+  #define THERMAL_PROTECTION_PERIOD 60        // Seconds
27
+  #define THERMAL_PROTECTION_HYSTERESIS 8     // Degrees Celsius
23 28
 
24 29
   /**
25 30
    * Whenever an M104 or M109 increases the target temperature the firmware will wait for the
@@ -27,7 +32,7 @@
27 32
    * degrees, the machine is halted, requiring a hard reset. This test restarts with any M104/M109,
28 33
    * but only if the current temperature is far enough below the target for a reliable test.
29 34
    */
30
-  #define WATCH_TEMP_PERIOD 16                // Seconds
35
+  #define WATCH_TEMP_PERIOD 30                // Seconds
31 36
   #define WATCH_TEMP_INCREASE 4               // Degrees Celsius
32 37
 #endif
33 38
 
@@ -93,12 +98,12 @@
93 98
 // When first starting the main fan, run it at full speed for the
94 99
 // given number of milliseconds.  This gets the fan spinning reliably
95 100
 // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
96
-//#define FAN_KICKSTART_TIME 100
101
+#define FAN_KICKSTART_TIME 500
97 102
 
98 103
 // This defines the minimal speed for the main fan, run in PWM mode
99 104
 // to enable uncomment and set minimal PWM speed for reliable running (1-255)
100 105
 // if fan speed is [1 - (FAN_MIN_PWM-1)] it is set to FAN_MIN_PWM
101
-#define FAN_MIN_PWM 50 // K8200: fan stops running at about 35 to 40 (of 255)
106
+#define FAN_MIN_PWM 50
102 107
 
103 108
 // @section extruder
104 109
 
@@ -212,9 +217,9 @@
212 217
 //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
213 218
 #define X_HOME_BUMP_MM 5
214 219
 #define Y_HOME_BUMP_MM 5
215
-#define Z_HOME_BUMP_MM 3
216
-#define HOMING_BUMP_DIVISOR {2, 2, 4}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
217
-//#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
220
+#define Z_HOME_BUMP_MM 2
221
+#define HOMING_BUMP_DIVISOR {4, 4, 8}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
222
+#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
218 223
 
219 224
 // When G28 is called, this option will make Y home before X
220 225
 //#define HOME_Y_BEFORE_X
@@ -303,10 +308,10 @@
303 308
   #define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
304 309
   // 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.
305 310
   // using:
306
-  //#define MENU_ADDAUTOSTART
311
+  #define MENU_ADDAUTOSTART
307 312
 
308 313
   // Show a progress bar on HD44780 LCDs for SD printing
309
-  //#define LCD_PROGRESS_BAR
314
+  #define LCD_PROGRESS_BAR
310 315
 
311 316
   #if ENABLED(LCD_PROGRESS_BAR)
312 317
     // Amount of time (ms) to show the bar
@@ -320,7 +325,7 @@
320 325
   #endif
321 326
 
322 327
   // This allows hosts to request long names for files and folders with M33
323
-  //#define LONG_FILENAME_HOST_SUPPORT
328
+  #define LONG_FILENAME_HOST_SUPPORT
324 329
 
325 330
   // This option allows you to abort SD printing when any endstop is triggered.
326 331
   // This feature must be enabled with "M540 S1" or from the LCD menu.
@@ -341,11 +346,10 @@
341 346
   //#define USE_SMALL_INFOFONT
342 347
 #endif // DOGLCD
343 348
 
344
-
345 349
 // @section more
346 350
 
347 351
 // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
348
-//#define USE_WATCHDOG
352
+#define USE_WATCHDOG
349 353
 
350 354
 #if ENABLED(USE_WATCHDOG)
351 355
   // 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 @@
359 363
 // Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
360 364
 // it can e.g. be used to change z-positions in the print startup phase in real-time
361 365
 // does not respect endstops!
362
-//#define BABYSTEPPING
366
+#define BABYSTEPPING
363 367
 #if ENABLED(BABYSTEPPING)
364 368
   #define BABYSTEP_XY  //not only z, but also XY in the menu. more clutter, more functions
369
+                       //not implemented for CoreXY and deltabots!
365 370
   #define BABYSTEP_INVERT_Z false  //true for inverse movements in Z
366 371
   #define BABYSTEP_MULTIPLICATOR 1 //faster movements
367 372
 #endif
@@ -389,7 +394,7 @@
389 394
 #define MM_PER_ARC_SEGMENT 1
390 395
 #define N_ARC_CORRECTION 25
391 396
 
392
-const unsigned int dropsegments = 5; //everything with less than this number of steps will be ignored as move and joined with the next movement
397
+const unsigned int dropsegments = 2; //everything with less than this number of steps will be ignored as move and joined with the next movement
393 398
 
394 399
 // @section temperature
395 400
 
@@ -407,7 +412,7 @@ const unsigned int dropsegments = 5; //everything with less than this number of
407 412
 #if ENABLED(SDSUPPORT)
408 413
   #define BLOCK_BUFFER_SIZE 16   // SD,LCD,Buttons take more memory, block buffer needs to be smaller
409 414
 #else
410
-  #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
415
+  #define BLOCK_BUFFER_SIZE 32 // maximize block buffer
411 416
 #endif
412 417
 
413 418
 // @section more
@@ -454,6 +459,9 @@ const unsigned int dropsegments = 5; //everything with less than this number of
454 459
     #define FILAMENTCHANGE_ZADD 10
455 460
     #define FILAMENTCHANGE_FIRSTRETRACT -2
456 461
     #define FILAMENTCHANGE_FINALRETRACT -100
462
+    #define AUTO_FILAMENT_CHANGE                //This extrude filament until you press the button on LCD
463
+    #define AUTO_FILAMENT_CHANGE_LENGTH 0.04    //Extrusion length on automatic extrusion loop
464
+    #define AUTO_FILAMENT_CHANGE_FEEDRATE 300   //Extrusion feedrate (mm/min) on automatic extrusion loop
457 465
   #endif
458 466
 #endif
459 467
 

Loading…
Cancel
Save