Browse Source

Felix and Hephestos configs

- Not sure why these are showing as all new
Scott Lahteine 9 years ago
parent
commit
8ade04b78e

+ 366
- 0
Marlin/example_configurations/Felix/Configuration_adv.h View File

@@ -0,0 +1,366 @@
1
+#ifndef CONFIGURATION_ADV_H
2
+#define CONFIGURATION_ADV_H
3
+
4
+//===========================================================================
5
+//=============================Thermal Settings  ============================
6
+//===========================================================================
7
+
8
+#ifdef BED_LIMIT_SWITCHING
9
+  #define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
10
+#endif
11
+#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
12
+
13
+//// Heating sanity check:
14
+// This waits for the watch period in milliseconds whenever an M104 or M109 increases the target temperature
15
+// If the temperature has not increased at the end of that period, the target temperature is set to zero.
16
+// It can be reset with another M104/M109. This check is also only triggered if the target temperature and the current temperature
17
+//  differ by at least 2x WATCH_TEMP_INCREASE
18
+//#define WATCH_TEMP_PERIOD 40000 //40 seconds
19
+//#define WATCH_TEMP_INCREASE 10  //Heat up at least 10 degree in 20 seconds
20
+
21
+#ifdef PIDTEMP
22
+  // this adds an experimental additional term to the heating power, proportional to the extrusion speed.
23
+  // if Kc is chosen well, the additional required power due to increased melting should be compensated.
24
+  #define PID_ADD_EXTRUSION_RATE
25
+  #ifdef PID_ADD_EXTRUSION_RATE
26
+    #define  DEFAULT_Kc (1) //heating power=Kc*(e_speed)
27
+  #endif
28
+#endif
29
+
30
+
31
+//automatic temperature: The hot end target temperature is calculated by all the buffered lines of gcode.
32
+//The maximum buffered steps/sec of the extruder motor are called "se".
33
+//You enter the autotemp mode by a M109 S<mintemp> B<maxtemp> F<factor>
34
+// the target temperature is set to mintemp+factor*se[steps/sec] and limited by mintemp and maxtemp
35
+// you exit the value by any M109 without F*
36
+// Also, if the temperature is set to a value <mintemp, it is not changed by autotemp.
37
+// on an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode
38
+#define AUTOTEMP
39
+#ifdef AUTOTEMP
40
+  #define AUTOTEMP_OLDWEIGHT 0.98
41
+#endif
42
+
43
+//Show Temperature ADC value
44
+//The M105 command return, besides traditional information, the ADC value read from temperature sensors.
45
+//#define SHOW_TEMP_ADC_VALUES
46
+
47
+//  extruder run-out prevention.
48
+//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
49
+//#define EXTRUDER_RUNOUT_PREVENT
50
+#define EXTRUDER_RUNOUT_MINTEMP 190
51
+#define EXTRUDER_RUNOUT_SECONDS 30.
52
+#define EXTRUDER_RUNOUT_ESTEPS 14. //mm filament
53
+#define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
54
+#define EXTRUDER_RUNOUT_EXTRUDE 100
55
+
56
+//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
57
+//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
58
+#define TEMP_SENSOR_AD595_OFFSET 0.0
59
+#define TEMP_SENSOR_AD595_GAIN   1.0
60
+
61
+//This is for controlling a fan to cool down the stepper drivers
62
+//it will turn on when any driver is enabled
63
+//and turn off after the set amount of seconds from last driver being disabled again
64
+#define CONTROLLERFAN_PIN -1 //Pin used for the fan to cool controller (-1 to disable)
65
+#define CONTROLLERFAN_SECS 60 //How many seconds, after all motors were disabled, the fan should run
66
+#define CONTROLLERFAN_SPEED 255  // == full speed
67
+
68
+// When first starting the main fan, run it at full speed for the
69
+// given number of milliseconds.  This gets the fan spinning reliably
70
+// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
71
+//#define FAN_KICKSTART_TIME 100
72
+
73
+// Extruder cooling fans
74
+// Configure fan pin outputs to automatically turn on/off when the associated
75
+// extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
76
+// Multiple extruders can be assigned to the same pin in which case
77
+// the fan will turn on when any selected extruder is above the threshold.
78
+#define EXTRUDER_0_AUTO_FAN_PIN -1
79
+#define EXTRUDER_1_AUTO_FAN_PIN -1
80
+#define EXTRUDER_2_AUTO_FAN_PIN -1
81
+#define EXTRUDER_3_AUTO_FAN_PIN -1
82
+#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
83
+#define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
84
+
85
+
86
+//===========================================================================
87
+//=============================Mechanical Settings===========================
88
+//===========================================================================
89
+
90
+#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
91
+
92
+//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
93
+
94
+// A single Z stepper driver is usually used to drive 2 stepper motors.
95
+// Uncomment this define to utilize a separate stepper driver for each Z axis motor.
96
+// Only a few motherboards support this, like RAMPS, which have dual extruder support (the 2nd, often unused, extruder driver is used
97
+// to control the 2nd Z axis stepper motor). The pins are currently only defined for a RAMPS motherboards.
98
+// On a RAMPS (or other 5 driver) motherboard, using this feature will limit you to using 1 extruder.
99
+//#define Z_DUAL_STEPPER_DRIVERS
100
+
101
+// Same again but for Y Axis.
102
+//#define Y_DUAL_STEPPER_DRIVERS
103
+
104
+// Define if the two Y drives need to rotate in opposite directions
105
+#define INVERT_Y2_VS_Y_DIR true
106
+
107
+// Enable this for dual x-carriage printers.
108
+// A dual x-carriage design has the advantage that the inactive extruder can be parked which
109
+// prevents hot-end ooze contaminating the print. It also reduces the weight of each x-carriage
110
+// allowing faster printing speeds.
111
+//#define DUAL_X_CARRIAGE
112
+#ifdef DUAL_X_CARRIAGE
113
+// Configuration for second X-carriage
114
+// Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
115
+// the second x-carriage always homes to the maximum endstop.
116
+#define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
117
+#define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
118
+#define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
119
+#define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position
120
+    // However: In this mode the EXTRUDER_OFFSET_X value for the second extruder provides a software
121
+    // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops
122
+    // without modifying the firmware (through the "M218 T1 X???" command).
123
+    // Remember: you should set the second extruder x-offset to 0 in your slicer.
124
+
125
+// Pins for second x-carriage stepper driver (defined here to avoid further complicating pins.h)
126
+#define X2_ENABLE_PIN 29
127
+#define X2_STEP_PIN 25
128
+#define X2_DIR_PIN 23
129
+
130
+// There are a few selectable movement modes for dual x-carriages using M605 S<mode>
131
+//    Mode 0: Full control. The slicer has full control over both x-carriages and can achieve optimal travel results
132
+//                           as long as it supports dual x-carriages. (M605 S0)
133
+//    Mode 1: Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so
134
+//                           that additional slicer support is not required. (M605 S1)
135
+//    Mode 2: Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all
136
+//                           actions of the first x-carriage. This allows the printer to print 2 arbitrary items at
137
+//                           once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm])
138
+
139
+// This is the default power-up mode which can be later using M605.
140
+#define DEFAULT_DUAL_X_CARRIAGE_MODE 0
141
+
142
+// Default settings in "Auto-park Mode"
143
+#define TOOLCHANGE_PARK_ZLIFT   0.2      // the distance to raise Z axis when parking an extruder
144
+#define TOOLCHANGE_UNPARK_ZLIFT 1        // the distance to raise Z axis when unparking an extruder
145
+
146
+// Default x offset in duplication mode (typically set to half print bed width)
147
+#define DEFAULT_DUPLICATION_X_OFFSET 100
148
+
149
+#endif //DUAL_X_CARRIAGE
150
+
151
+//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
152
+#define X_HOME_RETRACT_MM 5
153
+#define Y_HOME_RETRACT_MM 5
154
+#define Z_HOME_RETRACT_MM 3
155
+#define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
156
+//#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
157
+
158
+#define AXIS_RELATIVE_MODES {false, false, false, false}
159
+
160
+//By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
161
+#define INVERT_X_STEP_PIN false
162
+#define INVERT_Y_STEP_PIN false
163
+#define INVERT_Z_STEP_PIN false
164
+#define INVERT_E_STEP_PIN false
165
+
166
+//default stepper release if idle. Set to 0 to deactivate.
167
+#define DEFAULT_STEPPER_DEACTIVE_TIME 60
168
+
169
+#define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
170
+#define DEFAULT_MINTRAVELFEEDRATE     0.0
171
+
172
+// Feedrates for manual moves along X, Y, Z, E from panel
173
+#ifdef ULTIPANEL
174
+#define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60}  // set the speeds for manual moves (mm/min)
175
+#endif
176
+
177
+//Comment to disable setting feedrate multiplier via encoder
178
+#ifdef ULTIPANEL
179
+    #define ULTIPANEL_FEEDMULTIPLY
180
+#endif
181
+
182
+// minimum time in microseconds that a movement needs to take if the buffer is emptied.
183
+#define DEFAULT_MINSEGMENTTIME        20000
184
+
185
+// If defined the movements slow down when the look ahead buffer is only half full
186
+#define SLOWDOWN
187
+
188
+// Frequency limit
189
+// See nophead's blog for more info
190
+// Not working O
191
+//#define XY_FREQUENCY_LIMIT  15
192
+
193
+// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end
194
+// of the buffer and all stops. This should not be much greater than zero and should only be changed
195
+// if unwanted behavior is observed on a user's machine when running at very slow speeds.
196
+#define MINIMUM_PLANNER_SPEED 0.05// (mm/sec)
197
+
198
+// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU.
199
+#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16]
200
+
201
+// Motor Current setting (Only functional when motor driver current ref pins are connected to a digital trimpot on supported boards)
202
+#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
203
+
204
+// uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro
205
+//#define DIGIPOT_I2C
206
+// Number of channels available for I2C digipot, For Azteeg X3 Pro we have 8
207
+#define DIGIPOT_I2C_NUM_CHANNELS 8
208
+// actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS
209
+#define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0}
210
+
211
+//===========================================================================
212
+//=============================Additional Features===========================
213
+//===========================================================================
214
+
215
+#define ENCODER_RATE_MULTIPLIER         // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly
216
+#define ENCODER_10X_STEPS_PER_SEC 75    // If the encoder steps per sec exceed this value, multiple the steps moved by ten to quickly advance the value
217
+#define ENCODER_100X_STEPS_PER_SEC 160  // If the encoder steps per sec exceed this value, multiple the steps moved by 100 to really quickly advance the value
218
+//#define ENCODER_RATE_MULTIPLIER_DEBUG  // If defined, output the encoder steps per second value
219
+
220
+//#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
221
+#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
222
+
223
+#define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
224
+#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
225
+
226
+#define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
227
+// 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.
228
+// using:
229
+//#define MENU_ADDAUTOSTART
230
+
231
+// Show a progress bar on HD44780 LCDs for SD printing
232
+//#define LCD_PROGRESS_BAR
233
+
234
+#ifdef LCD_PROGRESS_BAR
235
+  // Amount of time (ms) to show the bar
236
+  #define PROGRESS_BAR_BAR_TIME 2000
237
+  // Amount of time (ms) to show the status message
238
+  #define PROGRESS_BAR_MSG_TIME 3000
239
+  // Amount of time (ms) to retain the status message (0=forever)
240
+  #define PROGRESS_MSG_EXPIRE   0
241
+  // Enable this to show messages for MSG_TIME then hide them
242
+  //#define PROGRESS_MSG_ONCE
243
+#endif
244
+
245
+// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
246
+//#define USE_WATCHDOG
247
+
248
+#ifdef USE_WATCHDOG
249
+// If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on.
250
+// The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset.
251
+//  However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled.
252
+//#define WATCHDOG_RESET_MANUAL
253
+#endif
254
+
255
+// Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
256
+//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
257
+
258
+// Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
259
+// it can e.g. be used to change z-positions in the print startup phase in real-time
260
+// does not respect endstops!
261
+//#define BABYSTEPPING
262
+#ifdef BABYSTEPPING
263
+  #define BABYSTEP_XY  //not only z, but also XY in the menu. more clutter, more functions
264
+  #define BABYSTEP_INVERT_Z false  //true for inverse movements in Z
265
+  #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
266
+#endif
267
+
268
+// extruder advance constant (s2/mm3)
269
+//
270
+// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
271
+//
272
+// Hooke's law says:		force = k * distance
273
+// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
274
+// so: v ^ 2 is proportional to number of steps we advance the extruder
275
+//#define ADVANCE
276
+
277
+#ifdef ADVANCE
278
+  #define EXTRUDER_ADVANCE_K .0
279
+  #define D_FILAMENT 2.85
280
+  #define STEPS_MM_E 836
281
+#endif // ADVANCE
282
+
283
+// Arc interpretation settings:
284
+#define MM_PER_ARC_SEGMENT 1
285
+#define N_ARC_CORRECTION 25
286
+
287
+const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
288
+
289
+// If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
290
+// You can get round this by connecting a push button or single throw switch to the pin defined as SDCARDCARDDETECT
291
+// in the pins.h file.  When using a push button pulling the pin to ground this will need inverted.  This setting should
292
+// be commented out otherwise
293
+#define SDCARDDETECTINVERTED
294
+
295
+//#ifdef ULTIPANEL
296
+// #undef SDCARDDETECTINVERTED
297
+//#endif
298
+
299
+// Power Signal Control Definitions
300
+// By default use ATX definition
301
+#ifndef POWER_SUPPLY
302
+  #define POWER_SUPPLY 1
303
+#endif
304
+// 1 = ATX
305
+#if (POWER_SUPPLY == 1)
306
+  #define PS_ON_AWAKE  LOW
307
+  #define PS_ON_ASLEEP HIGH
308
+#endif
309
+// 2 = X-Box 360 203W
310
+#if (POWER_SUPPLY == 2)
311
+  #define PS_ON_AWAKE  HIGH
312
+  #define PS_ON_ASLEEP LOW
313
+#endif
314
+
315
+// Control heater 0 and heater 1 in parallel.
316
+//#define HEATERS_PARALLEL
317
+
318
+//===========================================================================
319
+//=============================Buffers           ============================
320
+//===========================================================================
321
+
322
+// The number of linear motions that can be in the plan at any give time.
323
+// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
324
+#if defined SDSUPPORT
325
+  #define BLOCK_BUFFER_SIZE 16   // SD,LCD,Buttons take more memory, block buffer needs to be smaller
326
+#else
327
+  #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
328
+#endif
329
+
330
+
331
+//The ASCII buffer for receiving from the serial:
332
+#define MAX_CMD_SIZE 96
333
+#define BUFSIZE 4
334
+
335
+
336
+// Firmware based and LCD controlled retract
337
+// M207 and M208 can be used to define parameters for the retraction.
338
+// The retraction can be called by the slicer using G10 and G11
339
+// until then, intended retractions can be detected by moves that only extrude and the direction.
340
+// the moves are than replaced by the firmware controlled ones.
341
+
342
+// #define FWRETRACT  //ONLY PARTIALLY TESTED
343
+#ifdef FWRETRACT
344
+  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
345
+  #define RETRACT_LENGTH 3               //default retract length (positive mm)
346
+  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
347
+  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
348
+  #define RETRACT_ZLIFT 0                //default retract Z-lift
349
+  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
350
+  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
351
+  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
352
+#endif
353
+
354
+//adds support for experimental filament exchange support M600; requires display
355
+#ifdef ULTIPANEL
356
+  #define FILAMENTCHANGEENABLE
357
+  #ifdef FILAMENTCHANGEENABLE
358
+    #define FILAMENTCHANGE_XPOS 3
359
+    #define FILAMENTCHANGE_YPOS 3
360
+    #define FILAMENTCHANGE_ZADD 10
361
+    #define FILAMENTCHANGE_FIRSTRETRACT -2
362
+    #define FILAMENTCHANGE_FINALRETRACT -100
363
+  #endif
364
+#endif
365
+
366
+#endif //CONFIGURATION_ADV_H

+ 350
- 0
Marlin/example_configurations/Hephestos/Configuration_adv.h View File

@@ -0,0 +1,350 @@
1
+#ifndef CONFIGURATION_ADV_H
2
+#define CONFIGURATION_ADV_H
3
+
4
+//===========================================================================
5
+//=============================Thermal Settings  ============================
6
+//===========================================================================
7
+
8
+#ifdef BED_LIMIT_SWITCHING
9
+  #define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
10
+#endif
11
+#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
12
+
13
+//// Heating sanity check:
14
+// This waits for the watch period in milliseconds whenever an M104 or M109 increases the target temperature
15
+// If the temperature has not increased at the end of that period, the target temperature is set to zero.
16
+// It can be reset with another M104/M109. This check is also only triggered if the target temperature and the current temperature
17
+//  differ by at least 2x WATCH_TEMP_INCREASE
18
+//#define WATCH_TEMP_PERIOD 40000 //40 seconds
19
+//#define WATCH_TEMP_INCREASE 10  //Heat up at least 10 degree in 20 seconds
20
+
21
+#ifdef PIDTEMP
22
+  // this adds an experimental additional term to the heating power, proportional to the extrusion speed.
23
+  // if Kc is chosen well, the additional required power due to increased melting should be compensated.
24
+  #define PID_ADD_EXTRUSION_RATE
25
+  #ifdef PID_ADD_EXTRUSION_RATE
26
+    #define  DEFAULT_Kc (1) //heating power=Kc*(e_speed)
27
+  #endif
28
+#endif
29
+
30
+
31
+//automatic temperature: The hot end target temperature is calculated by all the buffered lines of gcode.
32
+//The maximum buffered steps/sec of the extruder motor are called "se".
33
+//You enter the autotemp mode by a M109 S<mintemp> B<maxtemp> F<factor>
34
+// the target temperature is set to mintemp+factor*se[steps/sec] and limited by mintemp and maxtemp
35
+// you exit the value by any M109 without F*
36
+// Also, if the temperature is set to a value <mintemp, it is not changed by autotemp.
37
+// on an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode
38
+#define AUTOTEMP
39
+#ifdef AUTOTEMP
40
+  #define AUTOTEMP_OLDWEIGHT 0.98
41
+#endif
42
+
43
+//Show Temperature ADC value
44
+//The M105 command return, besides traditional information, the ADC value read from temperature sensors.
45
+//#define SHOW_TEMP_ADC_VALUES
46
+
47
+//  extruder run-out prevention.
48
+//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
49
+//#define EXTRUDER_RUNOUT_PREVENT
50
+#define EXTRUDER_RUNOUT_MINTEMP 190
51
+#define EXTRUDER_RUNOUT_SECONDS 30.
52
+#define EXTRUDER_RUNOUT_ESTEPS 14. //mm filament
53
+#define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
54
+#define EXTRUDER_RUNOUT_EXTRUDE 100
55
+
56
+//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
57
+//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
58
+#define TEMP_SENSOR_AD595_OFFSET 0.0
59
+#define TEMP_SENSOR_AD595_GAIN   1.0
60
+
61
+//This is for controlling a fan to cool down the stepper drivers
62
+//it will turn on when any driver is enabled
63
+//and turn off after the set amount of seconds from last driver being disabled again
64
+#define CONTROLLERFAN_PIN -1 //Pin used for the fan to cool controller (-1 to disable)
65
+#define CONTROLLERFAN_SECS 60 //How many seconds, after all motors were disabled, the fan should run
66
+#define CONTROLLERFAN_SPEED 255  // == full speed
67
+
68
+// When first starting the main fan, run it at full speed for the
69
+// given number of milliseconds.  This gets the fan spinning reliably
70
+// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
71
+//#define FAN_KICKSTART_TIME 100
72
+
73
+// Extruder cooling fans
74
+// Configure fan pin outputs to automatically turn on/off when the associated
75
+// extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
76
+// Multiple extruders can be assigned to the same pin in which case
77
+// the fan will turn on when any selected extruder is above the threshold.
78
+#define EXTRUDER_0_AUTO_FAN_PIN -1
79
+#define EXTRUDER_1_AUTO_FAN_PIN -1
80
+#define EXTRUDER_2_AUTO_FAN_PIN -1
81
+#define EXTRUDER_3_AUTO_FAN_PIN -1
82
+#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
83
+#define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
84
+
85
+
86
+//===========================================================================
87
+//=============================Mechanical Settings===========================
88
+//===========================================================================
89
+
90
+//#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
91
+
92
+//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
93
+
94
+// A single Z stepper driver is usually used to drive 2 stepper motors.
95
+// Uncomment this define to utilize a separate stepper driver for each Z axis motor.
96
+// Only a few motherboards support this, like RAMPS, which have dual extruder support (the 2nd, often unused, extruder driver is used
97
+// to control the 2nd Z axis stepper motor). The pins are currently only defined for a RAMPS motherboards.
98
+// On a RAMPS (or other 5 driver) motherboard, using this feature will limit you to using 1 extruder.
99
+//#define Z_DUAL_STEPPER_DRIVERS
100
+
101
+// Same again but for Y Axis.
102
+//#define Y_DUAL_STEPPER_DRIVERS
103
+
104
+// Define if the two Y drives need to rotate in opposite directions
105
+#define INVERT_Y2_VS_Y_DIR true
106
+
107
+// Enable this for dual x-carriage printers.
108
+// A dual x-carriage design has the advantage that the inactive extruder can be parked which
109
+// prevents hot-end ooze contaminating the print. It also reduces the weight of each x-carriage
110
+// allowing faster printing speeds.
111
+//#define DUAL_X_CARRIAGE
112
+#ifdef DUAL_X_CARRIAGE
113
+// Configuration for second X-carriage
114
+// Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
115
+// the second x-carriage always homes to the maximum endstop.
116
+#define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
117
+#define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
118
+#define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
119
+#define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position
120
+    // However: In this mode the EXTRUDER_OFFSET_X value for the second extruder provides a software
121
+    // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops
122
+    // without modifying the firmware (through the "M218 T1 X???" command).
123
+    // Remember: you should set the second extruder x-offset to 0 in your slicer.
124
+
125
+// Pins for second x-carriage stepper driver (defined here to avoid further complicating pins.h)
126
+#define X2_ENABLE_PIN 29
127
+#define X2_STEP_PIN 25
128
+#define X2_DIR_PIN 23
129
+
130
+// There are a few selectable movement modes for dual x-carriages using M605 S<mode>
131
+//    Mode 0: Full control. The slicer has full control over both x-carriages and can achieve optimal travel results
132
+//                           as long as it supports dual x-carriages. (M605 S0)
133
+//    Mode 1: Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so
134
+//                           that additional slicer support is not required. (M605 S1)
135
+//    Mode 2: Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all
136
+//                           actions of the first x-carriage. This allows the printer to print 2 arbitrary items at
137
+//                           once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm])
138
+
139
+// This is the default power-up mode which can be later using M605.
140
+#define DEFAULT_DUAL_X_CARRIAGE_MODE 0
141
+
142
+// Default settings in "Auto-park Mode"
143
+#define TOOLCHANGE_PARK_ZLIFT   0.2      // the distance to raise Z axis when parking an extruder
144
+#define TOOLCHANGE_UNPARK_ZLIFT 1        // the distance to raise Z axis when unparking an extruder
145
+
146
+// Default x offset in duplication mode (typically set to half print bed width)
147
+#define DEFAULT_DUPLICATION_X_OFFSET 100
148
+
149
+#endif //DUAL_X_CARRIAGE
150
+
151
+//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
152
+#define X_HOME_RETRACT_MM 5
153
+#define Y_HOME_RETRACT_MM 5
154
+#define Z_HOME_RETRACT_MM 2
155
+#define HOMING_BUMP_DIVISOR {10, 10, 20}  // Re-Bump Speed Divisor (Divides the Homing Feedrate)
156
+//#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
157
+
158
+#define AXIS_RELATIVE_MODES {false, false, false, false}
159
+#ifdef CONFIG_STEPPERS_TOSHIBA
160
+#define MAX_STEP_FREQUENCY 10000 // Max step frequency for Toshiba Stepper Controllers
161
+#else
162
+#define MAX_STEP_FREQUENCY 40000 // Max step frequency for Ultimaker (5000 pps / half step)
163
+#endif
164
+//By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
165
+#define INVERT_X_STEP_PIN false
166
+#define INVERT_Y_STEP_PIN false
167
+#define INVERT_Z_STEP_PIN false
168
+#define INVERT_E_STEP_PIN false
169
+
170
+//default stepper release if idle. Set to 0 to deactivate.
171
+#define DEFAULT_STEPPER_DEACTIVE_TIME 60
172
+
173
+#define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
174
+#define DEFAULT_MINTRAVELFEEDRATE     0.0
175
+
176
+// Feedrates for manual moves along X, Y, Z, E from panel
177
+#ifdef ULTIPANEL
178
+#define MANUAL_FEEDRATE {120*60, 120*60, 18*60, 60}  // set the speeds for manual moves (mm/min)
179
+#endif
180
+
181
+//Comment to disable setting feedrate multiplier via encoder
182
+#ifdef ULTIPANEL
183
+  #define ULTIPANEL_FEEDMULTIPLY
184
+#endif
185
+
186
+// minimum time in microseconds that a movement needs to take if the buffer is emptied.
187
+#define DEFAULT_MINSEGMENTTIME        20000
188
+
189
+// If defined the movements slow down when the look ahead buffer is only half full
190
+#define SLOWDOWN
191
+
192
+// Frequency limit
193
+// See nophead's blog for more info
194
+// Not working O
195
+//#define XY_FREQUENCY_LIMIT  15
196
+
197
+// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end
198
+// of the buffer and all stops. This should not be much greater than zero and should only be changed
199
+// if unwanted behavior is observed on a user's machine when running at very slow speeds.
200
+#define MINIMUM_PLANNER_SPEED 0.05// (mm/sec)
201
+
202
+// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU.
203
+#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16]
204
+
205
+// Motor Current setting (Only functional when motor driver current ref pins are connected to a digital trimpot on supported boards)
206
+#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
207
+
208
+// uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro
209
+//#define DIGIPOT_I2C
210
+// Number of channels available for I2C digipot, For Azteeg X3 Pro we have 8
211
+#define DIGIPOT_I2C_NUM_CHANNELS 8
212
+// actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS
213
+#define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0}
214
+
215
+//===========================================================================
216
+//=============================Additional Features===========================
217
+//===========================================================================
218
+
219
+#define ENCODER_RATE_MULTIPLIER         // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly
220
+#define ENCODER_10X_STEPS_PER_SEC 75    // If the encoder steps per sec exceed this value, multiple the steps moved by ten to quickly advance the value
221
+#define ENCODER_100X_STEPS_PER_SEC 160  // If the encoder steps per sec exceed this value, multiple the steps moved by 100 to really quickly advance the value
222
+//#define ENCODER_RATE_MULTIPLIER_DEBUG  // If defined, output the encoder steps per second value
223
+
224
+//#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
225
+#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
226
+
227
+#define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
228
+#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
229
+
230
+#define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
231
+// 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.
232
+// using:
233
+#define MENU_ADDAUTOSTART
234
+
235
+// Show a progress bar on HD44780 LCDs for SD printing
236
+//#define LCD_PROGRESS_BAR
237
+
238
+#ifdef LCD_PROGRESS_BAR
239
+  // Amount of time (ms) to show the bar
240
+  #define PROGRESS_BAR_BAR_TIME 2000
241
+  // Amount of time (ms) to show the status message
242
+  #define PROGRESS_BAR_MSG_TIME 3000
243
+  // Amount of time (ms) to retain the status message (0=forever)
244
+  #define PROGRESS_MSG_EXPIRE   0
245
+  // Enable this to show messages for MSG_TIME then hide them
246
+  //#define PROGRESS_MSG_ONCE
247
+#endif
248
+
249
+// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
250
+//#define USE_WATCHDOG
251
+
252
+#ifdef USE_WATCHDOG
253
+// If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on.
254
+// The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset.
255
+//  However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled.
256
+//#define WATCHDOG_RESET_MANUAL
257
+#endif
258
+
259
+// Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
260
+//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
261
+
262
+// Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
263
+// it can e.g. be used to change z-positions in the print startup phase in real-time
264
+// does not respect endstops!
265
+//#define BABYSTEPPING
266
+#ifdef BABYSTEPPING
267
+  #define BABYSTEP_XY  //not only z, but also XY in the menu. more clutter, more functions
268
+  #define BABYSTEP_INVERT_Z false  //true for inverse movements in Z
269
+  #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
270
+#endif
271
+
272
+// extruder advance constant (s2/mm3)
273
+//
274
+// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
275
+//
276
+// Hooke's law says:		force = k * distance
277
+// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
278
+// so: v ^ 2 is proportional to number of steps we advance the extruder
279
+//#define ADVANCE
280
+
281
+#ifdef ADVANCE
282
+  #define EXTRUDER_ADVANCE_K .0
283
+  #define D_FILAMENT 1.75
284
+  #define STEPS_MM_E 100.47095761381482
285
+#endif // ADVANCE
286
+
287
+// Arc interpretation settings:
288
+#define MM_PER_ARC_SEGMENT 1
289
+#define N_ARC_CORRECTION 25
290
+
291
+const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
292
+
293
+// If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
294
+// You can get round this by connecting a push button or single throw switch to the pin defined as SDCARDCARDDETECT
295
+// in the pins.h file.  When using a push button pulling the pin to ground this will need inverted.  This setting should
296
+// be commented out otherwise
297
+#define SDCARDDETECTINVERTED
298
+
299
+// Control heater 0 and heater 1 in parallel.
300
+//#define HEATERS_PARALLEL
301
+
302
+//===========================================================================
303
+//=============================Buffers           ============================
304
+//===========================================================================
305
+
306
+// The number of linear motions that can be in the plan at any give time.
307
+// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
308
+#if defined SDSUPPORT
309
+  #define BLOCK_BUFFER_SIZE 16   // SD,LCD,Buttons take more memory, block buffer needs to be smaller
310
+#else
311
+  #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
312
+#endif
313
+
314
+
315
+//The ASCII buffer for receiving from the serial:
316
+#define MAX_CMD_SIZE 96
317
+#define BUFSIZE 5
318
+
319
+
320
+// Firmware based and LCD controlled retract
321
+// M207 and M208 can be used to define parameters for the retraction.
322
+// The retraction can be called by the slicer using G10 and G11
323
+// until then, intended retractions can be detected by moves that only extrude and the direction.
324
+// the moves are than replaced by the firmware controlled ones.
325
+
326
+// #define FWRETRACT  //ONLY PARTIALLY TESTED
327
+#ifdef FWRETRACT
328
+  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
329
+  #define RETRACT_LENGTH 3               //default retract length (positive mm)
330
+  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
331
+  #define RETRACT_FEEDRATE 80*60            //default feedrate for retracting (mm/s)
332
+  #define RETRACT_ZLIFT 0                //default retract Z-lift
333
+  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
334
+  //#define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
335
+  #define RETRACT_RECOVER_FEEDRATE 8*60     //default feedrate for recovering from retraction (mm/s)
336
+#endif
337
+
338
+//adds support for experimental filament exchange support M600; requires display
339
+#ifdef ULTIPANEL
340
+  #define FILAMENTCHANGEENABLE
341
+  #ifdef FILAMENTCHANGEENABLE
342
+    #define FILAMENTCHANGE_XPOS 3
343
+    #define FILAMENTCHANGE_YPOS 3
344
+    #define FILAMENTCHANGE_ZADD 10
345
+    #define FILAMENTCHANGE_FIRSTRETRACT -2
346
+    #define FILAMENTCHANGE_FINALRETRACT -100
347
+  #endif
348
+#endif
349
+
350
+#endif //CONFIGURATION_ADV_H

Loading…
Cancel
Save