|
@@ -8,7 +8,7 @@
|
8
|
8
|
//===========================================================================
|
9
|
9
|
/*
|
10
|
10
|
Here are some standard links for getting your machine calibrated:
|
11
|
|
- * http://reprap.org/wiki/Calibration
|
|
11
|
+ * http://reprap.org/wiki/Calibration
|
12
|
12
|
* http://youtu.be/wAL9d7FgInk
|
13
|
13
|
* http://calculator.josefprusa.cz
|
14
|
14
|
* http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
|
|
@@ -59,7 +59,7 @@ Here are some standard links for getting your machine calibrated:
|
59
|
59
|
// The following define selects which electronics board you have.
|
60
|
60
|
// Please choose the name from boards.h that matches your setup
|
61
|
61
|
#ifndef MOTHERBOARD
|
62
|
|
- #define MOTHERBOARD BOARD_FELIX2
|
|
62
|
+ #define MOTHERBOARD BOARD_ULTIMAKER
|
63
|
63
|
#endif
|
64
|
64
|
|
65
|
65
|
// Define this to set a custom name for your generic Mendel,
|
|
@@ -70,7 +70,7 @@ Here are some standard links for getting your machine calibrated:
|
70
|
70
|
// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
|
71
|
71
|
|
72
|
72
|
// This defines the number of extruders
|
73
|
|
-#define EXTRUDERS 2
|
|
73
|
+#define EXTRUDERS 1
|
74
|
74
|
|
75
|
75
|
//// The following define selects which power supply you have. Please choose the one that matches your setup
|
76
|
76
|
// 1 = ATX
|
|
@@ -79,7 +79,7 @@ Here are some standard links for getting your machine calibrated:
|
79
|
79
|
#define POWER_SUPPLY 1
|
80
|
80
|
|
81
|
81
|
// Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
|
82
|
|
-#define PS_DEFAULT_OFF
|
|
82
|
+// #define PS_DEFAULT_OFF
|
83
|
83
|
|
84
|
84
|
//===========================================================================
|
85
|
85
|
//============================= Thermal Settings ============================
|
|
@@ -104,7 +104,7 @@ Here are some standard links for getting your machine calibrated:
|
104
|
104
|
// 10 is 100k RS thermistor 198-961 (4.7k pullup)
|
105
|
105
|
// 11 is 100k beta 3950 1% thermistor (4.7k pullup)
|
106
|
106
|
// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
|
107
|
|
-// 13 is 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE"
|
|
107
|
+// 13 is 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE"
|
108
|
108
|
// 20 is the PT100 circuit found in the Ultimainboard V2.x
|
109
|
109
|
// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
|
110
|
110
|
//
|
|
@@ -118,23 +118,23 @@ Here are some standard links for getting your machine calibrated:
|
118
|
118
|
// 1010 is Pt1000 with 1k pullup (non standard)
|
119
|
119
|
// 147 is Pt100 with 4k7 pullup
|
120
|
120
|
// 110 is Pt100 with 1k pullup (non standard)
|
121
|
|
-// 998 and 999 are Dummy Tables. They will ALWAYS read 25°C or the temperature defined below.
|
|
121
|
+// 998 and 999 are Dummy Tables. They will ALWAYS read 25°C or the temperature defined below.
|
122
|
122
|
// Use it for Testing or Development purposes. NEVER for production machine.
|
123
|
123
|
// #define DUMMY_THERMISTOR_998_VALUE 25
|
124
|
124
|
// #define DUMMY_THERMISTOR_999_VALUE 100
|
125
|
125
|
|
126
|
|
-#define TEMP_SENSOR_0 1
|
127
|
|
-#define TEMP_SENSOR_1 1
|
|
126
|
+#define TEMP_SENSOR_0 -1
|
|
127
|
+#define TEMP_SENSOR_1 -1
|
128
|
128
|
#define TEMP_SENSOR_2 0
|
129
|
129
|
#define TEMP_SENSOR_3 0
|
130
|
|
-#define TEMP_SENSOR_BED 1
|
|
130
|
+#define TEMP_SENSOR_BED 0
|
131
|
131
|
|
132
|
132
|
// This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted.
|
133
|
133
|
//#define TEMP_SENSOR_1_AS_REDUNDANT
|
134
|
134
|
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
|
135
|
135
|
|
136
|
136
|
// Actual temperature must be close to target for this long before M109 returns success
|
137
|
|
-#define TEMP_RESIDENCY_TIME 15 // (seconds)
|
|
137
|
+#define TEMP_RESIDENCY_TIME 10 // (seconds)
|
138
|
138
|
#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one
|
139
|
139
|
#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early.
|
140
|
140
|
|
|
@@ -186,11 +186,21 @@ Here are some standard links for getting your machine calibrated:
|
186
|
186
|
#define K1 0.95 //smoothing factor within the PID
|
187
|
187
|
#define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
|
188
|
188
|
|
189
|
|
- // Felix 2.0+ electronics with v4 Hotend
|
190
|
|
- #define DEFAULT_Kp 12
|
191
|
|
- #define DEFAULT_Ki 0.84
|
192
|
|
- #define DEFAULT_Kd 85
|
193
|
|
-
|
|
189
|
+// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
|
|
190
|
+// Ultimaker
|
|
191
|
+ #define DEFAULT_Kp 22.2
|
|
192
|
+ #define DEFAULT_Ki 1.08
|
|
193
|
+ #define DEFAULT_Kd 114
|
|
194
|
+
|
|
195
|
+// MakerGear
|
|
196
|
+// #define DEFAULT_Kp 7.0
|
|
197
|
+// #define DEFAULT_Ki 0.1
|
|
198
|
+// #define DEFAULT_Kd 12
|
|
199
|
+
|
|
200
|
+// Mendel Parts V9 on 12V
|
|
201
|
+// #define DEFAULT_Kp 63.0
|
|
202
|
+// #define DEFAULT_Ki 2.25
|
|
203
|
+// #define DEFAULT_Kd 440
|
194
|
204
|
#endif // PIDTEMP
|
195
|
205
|
|
196
|
206
|
//===========================================================================
|
|
@@ -253,15 +263,15 @@ The issue: If a thermistor come off, it will read a lower temperature than actua
|
253
|
263
|
The system will turn the heater on forever, burning up the filament and anything
|
254
|
264
|
else around.
|
255
|
265
|
|
256
|
|
-After the temperature reaches the target for the first time, this feature will
|
257
|
|
-start measuring for how long the current temperature stays below the target
|
|
266
|
+After the temperature reaches the target for the first time, this feature will
|
|
267
|
+start measuring for how long the current temperature stays below the target
|
258
|
268
|
minus _HYSTERESIS (set_temperature - THERMAL_RUNAWAY_PROTECTION_HYSTERESIS).
|
259
|
269
|
|
260
|
270
|
If it stays longer than _PERIOD, it means the thermistor temperature
|
261
|
271
|
cannot catch up with the target, so something *may be* wrong. Then, to be on the
|
262
|
272
|
safe side, the system will he halt.
|
263
|
273
|
|
264
|
|
-Bear in mind the count down will just start AFTER the first time the
|
|
274
|
+Bear in mind the count down will just start AFTER the first time the
|
265
|
275
|
thermistor temperature is over the target, so you will have no problem if
|
266
|
276
|
your extruder heater takes 2 minutes to hit the target on heating.
|
267
|
277
|
|
|
@@ -311,13 +321,13 @@ your extruder heater takes 2 minutes to hit the target on heating.
|
311
|
321
|
#endif
|
312
|
322
|
|
313
|
323
|
// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
|
314
|
|
-const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
|
315
|
|
-const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
|
316
|
|
-const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
|
|
324
|
+const bool X_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
|
|
325
|
+const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
|
|
326
|
+const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
|
317
|
327
|
const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
|
318
|
328
|
const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
|
319
|
329
|
const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
|
320
|
|
-#define DISABLE_MAX_ENDSTOPS
|
|
330
|
+//#define DISABLE_MAX_ENDSTOPS
|
321
|
331
|
//#define DISABLE_MIN_ENDSTOPS
|
322
|
332
|
|
323
|
333
|
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
|
|
@@ -334,7 +344,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
334
|
344
|
#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
|
335
|
345
|
|
336
|
346
|
#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true
|
337
|
|
-#define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false
|
|
347
|
+#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false
|
338
|
348
|
#define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true
|
339
|
349
|
#define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
|
340
|
350
|
#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
|
|
@@ -351,11 +361,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
351
|
361
|
#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below.
|
352
|
362
|
|
353
|
363
|
// Travel limits after homing (units are in mm)
|
354
|
|
-#define X_MAX_POS 245
|
|
364
|
+#define X_MAX_POS 205
|
355
|
365
|
#define X_MIN_POS 0
|
356
|
366
|
#define Y_MAX_POS 205
|
357
|
367
|
#define Y_MIN_POS 0
|
358
|
|
-#define Z_MAX_POS 235
|
|
368
|
+#define Z_MAX_POS 200
|
359
|
369
|
#define Z_MIN_POS 0
|
360
|
370
|
|
361
|
371
|
#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
|
|
@@ -368,7 +378,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
368
|
378
|
//===========================================================================
|
369
|
379
|
|
370
|
380
|
//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
|
371
|
|
-//#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
|
|
381
|
+#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
|
372
|
382
|
|
373
|
383
|
#ifdef ENABLE_AUTO_BED_LEVELING
|
374
|
384
|
|
|
@@ -477,9 +487,9 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
477
|
487
|
#endif
|
478
|
488
|
#endif
|
479
|
489
|
|
480
|
|
-
|
|
490
|
+
|
481
|
491
|
#endif
|
482
|
|
-
|
|
492
|
+
|
483
|
493
|
#endif // ENABLE_AUTO_BED_LEVELING
|
484
|
494
|
|
485
|
495
|
|
|
@@ -500,13 +510,12 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
500
|
510
|
|
501
|
511
|
// default settings
|
502
|
512
|
|
503
|
|
-// default steps per unit for Felix 2.0/3.0: 0.00249mm x/y rounding error with 3mm pitch HTD belt and 14 tooth pulleys. 0 z error.
|
504
|
|
-#define DEFAULT_AXIS_STEPS_PER_UNIT {76.190476, 76.190476, 1600, 164}
|
|
513
|
+#define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200.0*8/3,760*1.1} // default steps per unit for Ultimaker
|
505
|
514
|
#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 25} // (mm/sec)
|
506
|
|
-#define DEFAULT_MAX_ACCELERATION {5000,5000,100,80000} // 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.
|
|
515
|
+#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.
|
507
|
516
|
|
508
|
|
-#define DEFAULT_ACCELERATION 1750 //1500 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
|
509
|
|
-#define DEFAULT_RETRACT_ACCELERATION 5000 // X, Y, Z and E max acceleration in mm/s^2 for r retracts
|
|
517
|
+#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
|
|
518
|
+#define DEFAULT_RETRACT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for retracts
|
510
|
519
|
|
511
|
520
|
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
|
512
|
521
|
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
|
|
@@ -515,8 +524,8 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
515
|
524
|
// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis
|
516
|
525
|
|
517
|
526
|
// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
|
518
|
|
-#define DEFAULT_XYJERK 10 // (mm/sec)
|
519
|
|
-#define DEFAULT_ZJERK 0.3 //0.4 // (mm/sec)
|
|
527
|
+#define DEFAULT_XYJERK 20.0 // (mm/sec)
|
|
528
|
+#define DEFAULT_ZJERK 0.4 // (mm/sec)
|
520
|
529
|
#define DEFAULT_EJERK 5.0 // (mm/sec)
|
521
|
530
|
|
522
|
531
|
|
|
@@ -561,7 +570,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
561
|
570
|
//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
|
562
|
571
|
|
563
|
572
|
// Character based displays can have different extended charsets.
|
564
|
|
-//#define DISPLAY_CHARSET_HD44780_JAPAN // "ääööüüß23°"
|
|
573
|
+#define DISPLAY_CHARSET_HD44780_JAPAN // "ääööüüß23°"
|
565
|
574
|
//#define DISPLAY_CHARSET_HD44780_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one.
|
566
|
575
|
|
567
|
576
|
//#define ULTRA_LCD //general LCD support, also 16x2
|
|
@@ -627,13 +636,13 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
627
|
636
|
#define ULTRA_LCD //general LCD support, also 16x2
|
628
|
637
|
#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family)
|
629
|
638
|
#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store.
|
630
|
|
-
|
|
639
|
+
|
631
|
640
|
#ifdef miniVIKI
|
632
|
641
|
#define DEFAULT_LCD_CONTRAST 95
|
633
|
642
|
#else
|
634
|
643
|
#define DEFAULT_LCD_CONTRAST 40
|
635
|
644
|
#endif
|
636
|
|
-
|
|
645
|
+
|
637
|
646
|
#define ENCODER_PULSES_PER_STEP 4
|
638
|
647
|
#define ENCODER_STEPS_PER_MENU_ITEM 1
|
639
|
648
|
#endif
|
|
@@ -724,7 +733,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
724
|
733
|
// Shift register panels
|
725
|
734
|
// ---------------------
|
726
|
735
|
// 2 wire Non-latching LCD SR from:
|
727
|
|
-// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
|
|
736
|
+// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
|
728
|
737
|
|
729
|
738
|
//#define SAV_3DLCD
|
730
|
739
|
#ifdef SAV_3DLCD
|
|
@@ -765,7 +774,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
765
|
774
|
#endif
|
766
|
775
|
|
767
|
776
|
// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
|
768
|
|
-#define FAST_PWM_FAN
|
|
777
|
+//#define FAST_PWM_FAN
|
769
|
778
|
|
770
|
779
|
// Temperature status LEDs that display the hotend and bet temperature.
|
771
|
780
|
// If all hotends and bed temperature and temperature setpoint are < 54C then the BLUE led is on.
|
|
@@ -773,7 +782,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
773
|
782
|
//#define TEMP_STAT_LEDS
|
774
|
783
|
|
775
|
784
|
// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency
|
776
|
|
-// which is not as annoying as with the hardware PWM. On the other hand, if this frequency
|
|
785
|
+// which is not ass annoying as with the hardware PWM. On the other hand, if this frequency
|
777
|
786
|
// is too low, you should also increment SOFT_PWM_SCALE.
|
778
|
787
|
//#define FAN_SOFT_PWM
|
779
|
788
|
|
|
@@ -822,9 +831,9 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
822
|
831
|
* Support for a filament diameter sensor
|
823
|
832
|
* Also allows adjustment of diameter at print time (vs at slicing)
|
824
|
833
|
* Single extruder only at this point (extruder 0)
|
825
|
|
- *
|
|
834
|
+ *
|
826
|
835
|
* Motherboards
|
827
|
|
- * 34 - RAMPS1.4 - uses Analog input 5 on the AUX2 connector
|
|
836
|
+ * 34 - RAMPS1.4 - uses Analog input 5 on the AUX2 connector
|
828
|
837
|
* 81 - Printrboard - Uses Analog input 2 on the Exp1 connector (version B,C,D,E)
|
829
|
838
|
* 301 - Rambo - uses Analog input 3
|
830
|
839
|
* Note may require analog pins to be defined for different motherboards
|
|
@@ -841,12 +850,16 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
841
|
850
|
#define MAX_MEASUREMENT_DELAY 20 //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM)
|
842
|
851
|
|
843
|
852
|
//defines used in the code
|
844
|
|
-#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially
|
|
853
|
+#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially
|
845
|
854
|
|
846
|
855
|
//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status. Status will appear for 5 sec.
|
847
|
856
|
//#define FILAMENT_LCD_DISPLAY
|
848
|
857
|
|
849
|
858
|
|
|
859
|
+
|
|
860
|
+
|
|
861
|
+
|
|
862
|
+
|
850
|
863
|
#include "Configuration_adv.h"
|
851
|
864
|
#include "thermistortables.h"
|
852
|
865
|
|