![]() |
Repetier-Firmware
0.91
|
00001 /* 00002 This file is part of Repetier-Firmware. 00003 00004 Repetier-Firmware is free software: you can redistribute it and/or modify 00005 it under the terms of the GNU General Public License as published by 00006 the Free Software Foundation, either version 3 of the License, or 00007 (at your option) any later version. 00008 00009 Repetier-Firmware is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with Repetier-Firmware. If not, see <http://www.gnu.org/licenses/>. 00016 00017 */ 00018 00019 #ifndef CONFIGURATION_H 00020 #define CONFIGURATION_H 00021 00022 /* Some words on units: 00023 00024 From 0.80 onwards the units used are unified for easier configuration, watch out when transfering from older configs! 00025 00026 Speed is in mm/s 00027 Acceleration in mm/s^2 00028 Temperature is in degrees celsius 00029 00030 00031 ########################################################################################## 00032 ## IMPORTANT ## 00033 ########################################################################################## 00034 00035 For easy configuration, the default settings enable parameter storage in EEPROM. 00036 This means, after the first upload many variables can only be changed using the special 00037 M commands as described in the documentation. Changing these values in the configuration.h 00038 file has no effect. Parameters overriden by EEPROM settings are calibartion values, extruder 00039 values except thermistor tables and some other parameter likely to change during usage 00040 like advance steps or ops mode. 00041 To override EEPROM settings with config settings, set EEPROM_MODE 0 00042 00043 */ 00044 00045 00046 // BASIC SETTINGS: select your board type, thermistor type, axis scaling, and endstop configuration 00047 00049 #define NUM_EXTRUDER 1 00050 00052 // Gen3 PLUS for RepRap Motherboard V1.2 = 21 00053 // MEGA/RAMPS up to 1.2 = 3 00054 // RAMPS 1.3/RAMPS 1.4 = 33 00055 // Azteeg X3 = 34 00056 // Gen6 = 5 00057 // Gen6 deluxe = 51 00058 // Sanguinololu up to 1.1 = 6 00059 // Sanguinololu 1.2 and above = 62 00060 // Melzi board = 63 // Define REPRAPPRO_HUXLEY if you have one for correct HEATER_1_PIN assignment! 00061 // Gen7 1.1 till 1.3.x = 7 00062 // Gen7 1.4.1 and later = 71 00063 // Sethi 3D_1 = 72 00064 // Teensylu (at90usb) = 8 // requires Teensyduino 00065 // Printrboard (at90usb) = 9 // requires Teensyduino 00066 // Foltyn 3D Master = 12 00067 // MegaTronics 1.0 = 70 00068 // Megatronics 2.0 = 701 00069 // RUMBA = 80 // Get it from reprapdiscount 00070 // Rambo = 301 00071 // PiBot for Repetier V1.0-1.3= 314 00072 // PiBot for Repetier V1.4 = 315 00073 // Sanguish Beta = 501 00074 00075 #define MOTHERBOARD 33 00076 00077 #include "pins.h" 00078 00079 // Override pin definions from pins.h 00080 //#define FAN_PIN 4 // Extruder 2 uses the default fan output, so move to an other pin 00081 //#define EXTERNALSERIAL use Arduino serial library instead of build in. Requires more ram, has only 63 byte input buffer. 00082 00083 // Uncomment the following line if you are using arduino compatible firmware made for Arduino version earlier then 1.0 00084 // If it is incompatible you will get compiler errors about write functions not beeing compatible! 00085 //#define COMPAT_PRE1 00086 00087 /* Define the type of axis movements needed for your printer. The typical case 00088 is a full cartesian system where x, y and z moves are handled by separate motors. 00089 00090 0 = full cartesian system, xyz have seperate motors. 00091 1 = z axis + xy H-gantry (x_motor = x+y, y_motor = x-y) 00092 2 = z axis + xy H-gantry (x_motor = x+y, y_motor = y-x) 00093 3 = Delta printers (Rostock, Kossel, RostockMax, Cerberus, etc) 00094 4 = Tuga printer (Scott-Russell mechanism) 00095 5 = Bipod system (not implemented) 00096 Cases 1 and 2 cover all needed xy H gantry systems. If you get results mirrored etc. you can swap motor connections for x and y. 00097 If a motor turns in the wrong direction change INVERT_X_DIR or INVERT_Y_DIR. 00098 */ 00099 #define DRIVE_SYSTEM 0 00100 00101 // ########################################################################################## 00102 // ## Calibration ## 00103 // ########################################################################################## 00104 00107 #if DRIVE_SYSTEM==3 00108 // *************************************************** 00109 // *** These parameter are only for Delta printers *** 00110 // *************************************************** 00111 00113 #define DELTA_DRIVE_TYPE 0 00114 00115 #if DELTA_DRIVE_TYPE == 0 00116 00117 #define BELT_PITCH 2 00118 00119 #define PULLEY_TEETH 20 00120 #define PULLEY_CIRCUMFERENCE (BELT_PITCH * PULLEY_TEETH) 00121 #elif DELTA_DRIVE_TYPE == 1 00122 00123 #define PULLEY_DIAMETER 10 00124 #define PULLEY_CIRCUMFERENCE (PULLEY_DIAMETER * 3.1415927) 00125 #endif 00126 00128 #define STEPS_PER_ROTATION 200 00129 00131 #define MICRO_STEPS 16 00132 00133 // Calculations 00134 #define AXIS_STEPS_PER_MM ((float)(MICRO_STEPS * STEPS_PER_ROTATION) / PULLEY_CIRCUMFERENCE) 00135 #define XAXIS_STEPS_PER_MM AXIS_STEPS_PER_MM 00136 #define YAXIS_STEPS_PER_MM AXIS_STEPS_PER_MM 00137 #define ZAXIS_STEPS_PER_MM AXIS_STEPS_PER_MM 00138 #else 00139 // ******************************************************* 00140 // *** These parameter are for all other printer types *** 00141 // ******************************************************* 00142 00147 #define XAXIS_STEPS_PER_MM 98.425196 00148 00151 #define YAXIS_STEPS_PER_MM 98.425196 00152 00153 #define ZAXIS_STEPS_PER_MM 2560 00154 #endif 00155 00156 // ########################################################################################## 00157 // ## Extruder configuration ## 00158 // ########################################################################################## 00159 00160 // for each extruder, fan will stay on until extruder temperature is below this value 00161 #define EXTRUDER_FAN_COOL_TEMP 50 00162 00163 #define EXT0_X_OFFSET 0 00164 #define EXT0_Y_OFFSET 0 00165 // for skeinforge 40 and later, steps to pull the plasic 1 mm inside the extruder, not out. Overridden if EEPROM activated. 00166 #define EXT0_STEPS_PER_MM 413 //385 00167 // What type of sensor is used? 00168 // 1 is 100k thermistor (Epcos B57560G0107F000 - RepRap-Fab.org and many other) 00169 // 2 is 200k thermistor 00170 // 3 is mendel-parts thermistor (EPCOS G550) 00171 // 4 is 10k thermistor 00172 // 8 is ATC Semitec 104GT-2 00173 // 5 is userdefined thermistor table 0 00174 // 6 is userdefined thermistor table 1 00175 // 7 is userdefined thermistor table 2 00176 // 50 is userdefined thermistor table 0 for PTC thermistors 00177 // 51 is userdefined thermistor table 0 for PTC thermistors 00178 // 52 is userdefined thermistor table 0 for PTC thermistors 00179 // 60 is AD8494, AD8495, AD8496 or AD8497 (5mV/degC and 1/4 the price of AD595 but only MSOT_08 package) 00180 // 97 Generic thermistor table 1 00181 // 98 Generic thermistor table 2 00182 // 99 Generic thermistor table 3 00183 // 100 is AD595 00184 // 101 is MAX6675 00185 // 102 is MAX31855 00186 #define EXT0_TEMPSENSOR_TYPE 1 00187 // Analog input pin for reading temperatures or pin enabling SS for MAX6675 00188 #define EXT0_TEMPSENSOR_PIN TEMP_0_PIN 00189 // Which pin enables the heater 00190 #define EXT0_HEATER_PIN HEATER_0_PIN 00191 #define EXT0_STEP_PIN E0_STEP_PIN 00192 #define EXT0_DIR_PIN E0_DIR_PIN 00193 // set to false/true for normal / inverse direction 00194 #define EXT0_INVERSE true 00195 #define EXT0_ENABLE_PIN E0_ENABLE_PIN 00196 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 00197 #define EXT0_ENABLE_ON false 00198 // The following speed settings are for skeinforge 40+ where e is the 00199 // length of filament pulled inside the heater. For repsnap or older 00200 // skeinforge use higher values. 00201 // Overridden if EEPROM activated. 00202 #define EXT0_MAX_FEEDRATE 30 00203 // Feedrate from halted extruder in mm/s 00204 // Overridden if EEPROM activated. 00205 #define EXT0_MAX_START_FEEDRATE 10 00206 // Acceleration in mm/s^2 00207 // Overridden if EEPROM activated. 00208 #define EXT0_MAX_ACCELERATION 4000 00209 00215 #define EXT0_HEAT_MANAGER 1 00216 00217 #define EXT0_WATCHPERIOD 1 00218 00229 #define EXT0_PID_INTEGRAL_DRIVE_MAX 140 00230 00237 #define EXT0_PID_INTEGRAL_DRIVE_MIN 60 00238 00239 #define EXT0_PID_P 24 00240 00242 #define EXT0_PID_I 0.88 00243 00244 #define EXT0_PID_D 80 00245 // maximum time the heater is can be switched on. Max = 255. Overridden if EEPROM activated. 00246 #define EXT0_PID_MAX 255 00247 00252 #define EXT0_ADVANCE_K 0.0f 00253 #define EXT0_ADVANCE_L 0.0f 00254 /* Motor steps to remove backlash for advance alorithm. These are the steps 00255 needed to move the motor cog in reverse direction until it hits the driving 00256 cog. Direct drive extruder need 0. */ 00257 #define EXT0_ADVANCE_BACKLASH_STEPS 0 00258 00260 #define EXT0_WAIT_RETRACT_TEMP 150 00261 00264 #define EXT0_WAIT_RETRACT_UNITS 0 00265 00269 #define EXT0_SELECT_COMMANDS "M117 Extruder 1" 00270 #define EXT0_DESELECT_COMMANDS "" 00271 00272 #define EXT0_EXTRUDER_COOLER_PIN -1 00273 00274 #define EXT0_EXTRUDER_COOLER_SPEED 255 00275 00276 00277 // =========================== Configuration for second extruder ======================== 00278 #define EXT1_X_OFFSET 10 00279 #define EXT1_Y_OFFSET 0 00280 // for skeinforge 40 and later, steps to pull the plasic 1 mm inside the extruder, not out. Overridden if EEPROM activated. 00281 #define EXT1_STEPS_PER_MM 373 00282 // What type of sensor is used? 00283 // 1 is 100k thermistor (Epcos B57560G0107F000 - RepRap-Fab.org and many other) 00284 // 2 is 200k thermistor 00285 // 3 is mendel-parts thermistor (EPCOS G550) 00286 // 4 is 10k thermistor 00287 // 5 is userdefined thermistor table 0 00288 // 6 is userdefined thermistor table 1 00289 // 7 is userdefined thermistor table 2 00290 // 8 is ATC Semitec 104GT-2 00291 // 50 is userdefined thermistor table 0 for PTC thermistors 00292 // 51 is userdefined thermistor table 0 for PTC thermistors 00293 // 52 is userdefined thermistor table 0 for PTC thermistors 00294 // 60 is AD8494, AD8495, AD8496 or AD8497 (5mV/degC and 1/4 the price of AD595 but only MSOT_08 package) 00295 // 97 Generic thermistor table 1 00296 // 98 Generic thermistor table 2 00297 // 99 Generic thermistor table 3 00298 // 100 is AD595 00299 // 101 is MAX6675 00300 #define EXT1_TEMPSENSOR_TYPE 3 00301 // Analog input pin for reading temperatures or pin enabling SS for MAX6675 00302 #define EXT1_TEMPSENSOR_PIN TEMP_2_PIN 00303 // Which pin enables the heater 00304 #define EXT1_HEATER_PIN HEATER_2_PIN 00305 #define EXT1_STEP_PIN E1_STEP_PIN 00306 #define EXT1_DIR_PIN E1_DIR_PIN 00307 // set to 0/1 for normal / inverse direction 00308 #define EXT1_INVERSE false 00309 #define EXT1_ENABLE_PIN E1_ENABLE_PIN 00310 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 00311 #define EXT1_ENABLE_ON false 00312 // The following speed settings are for skeinforge 40+ where e is the 00313 // length of filament pulled inside the heater. For repsnap or older 00314 // skeinforge use heigher values. 00315 // Overridden if EEPROM activated. 00316 #define EXT1_MAX_FEEDRATE 25 00317 // Feedrate from halted extruder in mm/s 00318 // Overridden if EEPROM activated. 00319 #define EXT1_MAX_START_FEEDRATE 12 00320 // Acceleration in mm/s^2 00321 // Overridden if EEPROM activated. 00322 #define EXT1_MAX_ACCELERATION 10000 00323 00328 #define EXT1_HEAT_MANAGER 1 00329 00330 #define EXT1_WATCHPERIOD 1 00331 00342 #define EXT1_PID_INTEGRAL_DRIVE_MAX 130 00343 00350 #define EXT1_PID_INTEGRAL_DRIVE_MIN 60 00351 00352 #define EXT1_PID_P 24 00353 00355 #define EXT1_PID_I 0.88 00356 00357 #define EXT1_PID_D 200 00358 // maximum time the heater is can be switched on. Max = 255. Overridden if EEPROM activated. 00359 #define EXT1_PID_MAX 255 00360 00365 #define EXT1_ADVANCE_K 0.0f 00366 #define EXT1_ADVANCE_L 0.0f 00367 /* Motor steps to remove backlash for advance alorithm. These are the steps 00368 needed to move the motor cog in reverse direction until it hits the driving 00369 cog. Direct drive extruder need 0. */ 00370 #define EXT1_ADVANCE_BACKLASH_STEPS 0 00371 00372 #define EXT1_WAIT_RETRACT_TEMP 150 00373 #define EXT1_WAIT_RETRACT_UNITS 0 00374 #define EXT1_SELECT_COMMANDS "M117 Extruder 2" 00375 #define EXT1_DESELECT_COMMANDS "" 00376 00377 #define EXT1_EXTRUDER_COOLER_PIN -1 00378 00379 #define EXT1_EXTRUDER_COOLER_SPEED 255 00380 00383 #define RETRACT_DURING_HEATUP true 00384 00389 #define PID_CONTROL_RANGE 20 00390 00393 #define EXTRUDE_MAXLENGTH 100 00394 00395 #define SKIP_M109_IF_WITHIN 2 00396 00404 #define SCALE_PID_TO_MAX 0 00405 00410 //#define TEMP_HYSTERESIS 5 00411 00429 #define NUM_TEMPS_USERTHERMISTOR0 28 00430 #define USER_THERMISTORTABLE0 {\ 00431 {1*4,864*8},{21*4,300*8},{25*4,290*8},{29*4,280*8},{33*4,270*8},{39*4,260*8},{46*4,250*8},{54*4,240*8},{64*4,230*8},{75*4,220*8},\ 00432 {90*4,210*8},{107*4,200*8},{128*4,190*8},{154*4,180*8},{184*4,170*8},{221*4,160*8},{265*4,150*8},{316*4,140*8},{375*4,130*8},\ 00433 {441*4,120*8},{513*4,110*8},{588*4,100*8},{734*4,80*8},{856*4,60*8},{938*4,40*8},{986*4,20*8},{1008*4,0*8},{1018*4,-20*8} } 00434 00436 #define NUM_TEMPS_USERTHERMISTOR1 0 00437 #define USER_THERMISTORTABLE1 {} 00438 00439 #define NUM_TEMPS_USERTHERMISTOR2 0 00440 #define USER_THERMISTORTABLE2 {} 00441 00464 //#define USE_GENERIC_THERMISTORTABLE_1 00465 00466 /* Some examples for different thermistors: 00467 00468 EPCOS B57560G104+ : R0 = 100000 T0 = 25 Beta = 4036 00469 EPCOS 100K Thermistor (B57560G1104F) : R0 = 100000 T0 = 25 Beta = 4092 00470 ATC Semitec 104GT-2 : R0 = 100000 T0 = 25 Beta = 4267 00471 Honeywell 100K Thermistor (135-104LAG-J01) : R0 = 100000 T0 = 25 Beta = 3974 00472 00473 */ 00474 00476 #define GENERIC_THERM1_T0 25 00477 00478 #define GENERIC_THERM1_R0 100000 00479 00484 #define GENERIC_THERM1_BETA 4036 00485 00486 #define GENERIC_THERM1_MIN_TEMP -20 00487 00488 #define GENERIC_THERM1_MAX_TEMP 300 00489 #define GENERIC_THERM1_R1 0 00490 #define GENERIC_THERM1_R2 4700 00491 00492 // The same for table 2 and 3 if needed 00493 00494 //#define USE_GENERIC_THERMISTORTABLE_2 00495 #define GENERIC_THERM2_T0 170 00496 #define GENERIC_THERM2_R0 1042.7 00497 #define GENERIC_THERM2_BETA 4036 00498 #define GENERIC_THERM2_MIN_TEMP -20 00499 #define GENERIC_THERM2_MAX_TEMP 300 00500 #define GENERIC_THERM2_R1 0 00501 #define GENERIC_THERM2_R2 4700 00502 00503 //#define USE_GENERIC_THERMISTORTABLE_3 00504 #define GENERIC_THERM3_T0 170 00505 #define GENERIC_THERM3_R0 1042.7 00506 #define GENERIC_THERM3_BETA 4036 00507 #define GENERIC_THERM3_MIN_TEMP -20 00508 #define GENERIC_THERM3_MAX_TEMP 300 00509 #define GENERIC_THERM3_R1 0 00510 #define GENERIC_THERM3_R2 4700 00511 00513 #define GENERIC_THERM_VREF 5 00514 00516 #define GENERIC_THERM_NUM_ENTRIES 33 00517 00518 // uncomment the following line for MAX6675 support. 00519 //#define SUPPORT_MAX6675 00520 // uncomment the following line for MAX31855 support. 00521 //#define SUPPORT_MAX31855 00522 00523 // ############# Heated bed configuration ######################## 00524 00526 #define HAVE_HEATED_BED true 00527 00528 #define HEATED_BED_MAX_TEMP 115 00529 00530 #define SKIP_M190_IF_WITHIN 3 00531 00532 // Select type of your heated bed. It's the same as for EXT0_TEMPSENSOR_TYPE 00533 // set to 0 if you don't have a heated bed 00534 #define HEATED_BED_SENSOR_TYPE 1 00535 00536 #define HEATED_BED_SENSOR_PIN TEMP_1_PIN 00537 00538 #define HEATED_BED_HEATER_PIN HEATER_1_PIN 00539 // How often the temperature of the heated bed is set (msec) 00540 #define HEATED_BED_SET_INTERVAL 5000 00541 00549 #define HEATED_BED_HEAT_MANAGER 1 00550 00554 #define HEATED_BED_PID_INTEGRAL_DRIVE_MAX 255 00555 00562 #define HEATED_BED_PID_INTEGRAL_DRIVE_MIN 80 00563 00564 #define HEATED_BED_PID_PGAIN 196 00565 00566 #define HEATED_BED_PID_IGAIN 33.02 00567 00568 #define HEATED_BED_PID_DGAIN 290 00569 // maximum time the heater can be switched on. Max = 255. Overridden if EEPROM activated. 00570 #define HEATED_BED_PID_MAX 255 00571 00572 // When temperature exceeds max temp, your heater will be switched off. 00573 // This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! 00574 #define MAXTEMP 260 00575 00577 #define MIN_DEFECT_TEMPERATURE -10 00578 #define MAX_DEFECT_TEMPERATURE 300 00579 00580 00581 // ########################################################################################## 00582 // ## Endstop configuration ## 00583 // ########################################################################################## 00584 00585 /* By default all endstops are pulled up to HIGH. You need a pullup if you 00586 use a mechanical endstop connected with GND. Set value to false for no pullup 00587 on this endstop. 00588 */ 00589 #define ENDSTOP_PULLUP_X_MIN false 00590 #define ENDSTOP_PULLUP_Y_MIN false 00591 #define ENDSTOP_PULLUP_Z_MIN false 00592 #define ENDSTOP_PULLUP_X_MAX true 00593 #define ENDSTOP_PULLUP_Y_MAX true 00594 #define ENDSTOP_PULLUP_Z_MAX false 00595 00596 //set to true to invert the logic of the endstops 00597 #define ENDSTOP_X_MIN_INVERTING true 00598 #define ENDSTOP_Y_MIN_INVERTING true 00599 #define ENDSTOP_Z_MIN_INVERTING true 00600 #define ENDSTOP_X_MAX_INVERTING false 00601 #define ENDSTOP_Y_MAX_INVERTING false 00602 #define ENDSTOP_Z_MAX_INVERTING true 00603 00604 // Set the values true where you have a hardware endstop. The Pin number is taken from pins.h. 00605 00606 #define MIN_HARDWARE_ENDSTOP_X true 00607 #define MIN_HARDWARE_ENDSTOP_Y true 00608 #define MIN_HARDWARE_ENDSTOP_Z false 00609 #define MAX_HARDWARE_ENDSTOP_X false 00610 #define MAX_HARDWARE_ENDSTOP_Y false 00611 #define MAX_HARDWARE_ENDSTOP_Z true 00612 00613 //If your axes are only moving in one direction, make sure the endstops are connected properly. 00614 //If your axes move in one direction ONLY when the endstops are triggered, set ENDSTOPS_INVERTING to true here 00615 00616 00617 00619 00620 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 00621 #define X_ENABLE_ON 0 00622 #define Y_ENABLE_ON 0 00623 #define Z_ENABLE_ON 0 00624 00625 // Disables axis when it's not being used. 00626 #define DISABLE_X false 00627 #define DISABLE_Y false 00628 #define DISABLE_Z false 00629 #define DISABLE_E false 00630 00631 // Inverting axis direction 00632 #define INVERT_X_DIR true 00633 #define INVERT_Y_DIR true 00634 #define INVERT_Z_DIR true 00635 00637 // Sets direction of endstops when homing; 1=MAX, -1=MIN 00638 #define X_HOME_DIR -1 00639 #define Y_HOME_DIR -1 00640 #define Z_HOME_DIR 1 00641 00642 // Delta robot radius endstop 00643 #define max_software_endstop_r true 00644 00645 //If true, axis won't move to coordinates less than zero. 00646 #define min_software_endstop_x false 00647 #define min_software_endstop_y false 00648 #define min_software_endstop_z false 00649 00650 //If true, axis won't move to coordinates greater than the defined lengths below. 00651 #define max_software_endstop_x true 00652 #define max_software_endstop_y true 00653 #define max_software_endstop_z false 00654 00655 // If during homing the endstop is reached, ho many mm should the printer move back for the second try 00656 #define ENDSTOP_X_BACK_MOVE 5 00657 #define ENDSTOP_Y_BACK_MOVE 5 00658 #define ENDSTOP_Z_BACK_MOVE 2 00659 00660 // For higher precision you can reduce the speed for the second test on the endstop 00661 // during homing operation. The homing speed is divided by the value. 1 = same speed, 2 = half speed 00662 #define ENDSTOP_X_RETEST_REDUCTION_FACTOR 2 00663 #define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 2 00664 #define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 2 00665 00666 // When you have several endstops in one circuit you need to disable it after homing by moving a 00667 // small amount back. This is also the case with H-belt systems. 00668 #define ENDSTOP_X_BACK_ON_HOME 1 00669 #define ENDSTOP_Y_BACK_ON_HOME 1 00670 #define ENDSTOP_Z_BACK_ON_HOME 5 00671 00672 // You can disable endstop checking for print moves. This is needed, if you get sometimes 00673 // false signals from your endstops. If your endstops don't give false signals, you 00674 // can set it on for safety. 00675 #define ALWAYS_CHECK_ENDSTOPS true 00676 00677 // maximum positions in mm - only fixed numbers! 00678 // For delta robot Z_MAX_LENGTH is the maximum travel of the towers and should be set to the distance between the hotend 00679 // and the platform when the printer is at its home position. 00680 // If EEPROM is enabled these values will be overidden with the values in the EEPROM 00681 #define X_MAX_LENGTH 165 00682 #define Y_MAX_LENGTH 175 00683 #define Z_MAX_LENGTH 116.820 00684 00685 // Coordinates for the minimum axis. Can also be negative if you want to have the bed start at 0 and the printer can go to the left side 00686 // of the bed. Maximum coordinate is given by adding the above X_MAX_LENGTH values. 00687 #define X_MIN_POS 0 00688 #define Y_MIN_POS 0 00689 #define Z_MIN_POS 0 00690 00691 // ########################################################################################## 00692 // ## Movement settings ## 00693 // ########################################################################################## 00694 00695 // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. Currently only works for RAMBO boards 00696 #define MICROSTEP_MODES {8,8,8,8,8} // [1,2,4,8,16] 00697 00698 // Motor Current setting (Only functional when motor driver current ref pins are connected to a digital trimpot on supported boards) 00699 #if MOTHERBOARD==301 00700 #define MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) 00701 #elif MOTHERBOARD==12 00702 #define MOTOR_CURRENT {35713,35713,35713,35713,35713} // Values 0-65535 (3D Master 35713 = ~1A) 00703 #endif 00704 00707 #define DELTA_SEGMENTS_PER_SECOND_PRINT 180 // Move accurate setting for print moves 00708 #define DELTA_SEGMENTS_PER_SECOND_MOVE 70 // Less accurate setting for other moves 00709 00710 // Delta settings 00711 #if DRIVE_SYSTEM==3 00712 00714 #define DELTA_DIAGONAL_ROD 345 // mm 00715 00716 00717 /* =========== Parameter essential for delta calibration =================== 00718 00719 C, Y-Axis 00720 | |___| CARRIAGE_HORIZONTAL_OFFSET 00721 | | \ 00722 |_________ X-axis | \ 00723 / \ | \ DELTA_DIAGONAL_ROD 00724 / \ \ 00725 / \ \ Carriage is at printer center! 00726 A B \_____/ 00727 |--| END_EFFECTOR_HORIZONTAL_OFFSET 00728 |----| DELTA_RADIUS 00729 |-----------| PRINTER_RADIUS 00730 00731 Column angles are measured from X-axis counterclockwise 00732 "Standard" positions: alpha_A = 210, alpha_B = 330, alpha_C = 90 00733 */ 00734 00736 #define DELTA_ALPHA_A 210 00737 #define DELTA_ALPHA_B 330 00738 #define DELTA_ALPHA_C 90 00739 00741 #define DELTA_RADIUS_CORRECTION_A 0 00742 #define DELTA_RADIUS_CORRECTION_B 0 00743 #define DELTA_RADIUS_CORRECTION_C 0 00744 00747 #define END_EFFECTOR_HORIZONTAL_OFFSET 33 00748 00751 #define CARRIAGE_HORIZONTAL_OFFSET 18 00752 00755 #define PRINTER_RADIUS 175 00756 00759 #define DELTA_RADIUS (PRINTER_RADIUS-END_EFFECTOR_HORIZONTAL_OFFSET-CARRIAGE_HORIZONTAL_OFFSET) 00760 /* ========== END Delta calibation data ==============*/ 00761 00765 #define DELTA_HOME_ON_POWER false 00766 00769 #define DELTA_X_ENDSTOP_OFFSET_STEPS 0 00770 #define DELTA_Y_ENDSTOP_OFFSET_STEPS 0 00771 #define DELTA_Z_ENDSTOP_OFFSET_STEPS 0 00772 00773 00776 #define SOFTWARE_LEVELING 00777 00778 #endif 00779 #if DRIVE_SYSTEM == 4 // ========== Tuga special settings ============= 00780 /* Radius of the long arm in mm. */ 00781 #define DELTA_DIAGONAL_ROD 240 00782 #endif 00783 00788 #define MAX_DELTA_SEGMENTS_PER_LINE 22 00789 00795 #define STEPPER_INACTIVE_TIME 360 00796 00802 #define MAX_INACTIVE_TIME 0L 00803 00807 #define MAX_FEEDRATE_X 200 00808 #define MAX_FEEDRATE_Y 200 00809 #define MAX_FEEDRATE_Z 5 00810 00812 #define HOMING_FEEDRATE_X 80 00813 #define HOMING_FEEDRATE_Y 80 00814 #define HOMING_FEEDRATE_Z 3 00815 00817 #define HOMING_ORDER HOME_ORDER_ZXY 00818 /* If you have a backlash in both z-directions, you can use this. For most printer, the bed will be pushed down by it's 00819 own weight, so this is nearly never needed. */ 00820 #define ENABLE_BACKLASH_COMPENSATION false 00821 #define Z_BACKLASH 0 00822 #define X_BACKLASH 0 00823 #define Y_BACKLASH 0 00824 00826 #define RAMP_ACCELERATION 1 00827 00833 #define STEPPER_HIGH_DELAY 0 00834 00841 #define STEP_DOUBLER_FREQUENCY 12000 00842 00845 #define ALLOW_QUADSTEPPING true 00846 00850 #define DOUBLE_STEP_DELAY 1 // time in microseconds 00851 00856 #define MAX_HALFSTEP_INTERVAL 1999 00857 00859 00863 #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 1500 00864 #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1500 00865 #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100 00866 00868 #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 3000 00869 #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 3000 00870 #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100 00871 00895 #define MAX_JERK 20.0 00896 #define MAX_ZJERK 0.3 00897 00903 #define MOVE_CACHE_SIZE 16 00904 00911 #define MOVE_CACHE_LOW 10 00912 00917 #define LOW_TICKS_PER_MOVE 250000 00918 00919 // ########################################################################################## 00920 // ## Extruder control ## 00921 // ########################################################################################## 00922 00923 00924 /* \brief Minimum temperature for extruder operation 00925 00926 This is a saftey value. If your extruder temperature is below this temperature, no 00927 extruder steps are executed. This is to prevent your extruder to move unless the fiament 00928 is at least molten. After havong some complains that the extruder does not work, I leave 00929 it 0 as default. 00930 */ 00931 00932 #define MIN_EXTRUDER_TEMP 160 00933 00940 #define USE_ADVANCE 00941 00946 #define ENABLE_QUADRATIC_ADVANCE 00947 00948 00949 // ########################################################################################## 00950 // ## Communication configuration ## 00951 // ########################################################################################## 00952 00954 00965 //#define BAUDRATE 76800 00966 #define BAUDRATE 115200 00967 //#define BAUDRATE 250000 00968 00973 #define ENABLE_POWER_ON_STARTUP 00974 00979 #define POWER_INVERTING false 00980 00984 #define KILL_METHOD 1 00985 00991 #define GCODE_BUFFER_SIZE 2 00992 00993 #define ACK_WITH_LINENUMBER 00994 00997 #define WAITING_IDENTIFIER "wait" 00998 01008 #define ECHO_ON_EXECUTE 01009 01021 #define EEPROM_MODE 1 01022 01023 01024 /**************** duplicate motor driver *************** 01025 01026 If you have an unused extruder stepper free, you could use it to drive the second z motor 01027 instead of driving both with a single stepper. The same works for the other axis if needed. 01028 */ 01029 01030 #define FEATURE_TWO_XSTEPPER false 01031 #define X2_STEP_PIN E1_STEP_PIN 01032 #define X2_DIR_PIN E1_DIR_PIN 01033 #define X2_ENABLE_PIN E1_ENABLE_PIN 01034 01035 #define FEATURE_TWO_YSTEPPER false 01036 #define Y2_STEP_PIN E1_STEP_PIN 01037 #define Y2_DIR_PIN E1_DIR_PIN 01038 #define Y2_ENABLE_PIN E1_ENABLE_PIN 01039 01040 #define FEATURE_TWO_ZSTEPPER false 01041 #define Z2_STEP_PIN E1_STEP_PIN 01042 #define Z2_DIR_PIN E1_DIR_PIN 01043 #define Z2_ENABLE_PIN E1_ENABLE_PIN 01044 01045 /* Ditto printing allows 2 extruders to do the same action. This effectively allows 01046 to print an object two times at the speed of one. Works only with dual extruder setup. 01047 */ 01048 #define FEATURE_DITTO_PRINTING false 01049 01050 /* Servos 01051 01052 If you need to control servos, enable this feature. You can control up to 4 servos. 01053 Control the servos with 01054 M340 P<servoId> S<pulseInUS> 01055 servoID = 0..3 01056 Servos are controlled by a pulse width normally between 500 and 2500 with 1500ms in center position. 0 turns servo off. 01057 01058 WARNING: Servos can draw a considerable amount of current. Make sure your system can handle this or you may risk your hardware! 01059 */ 01060 01061 #define FEATURE_SERVO false 01062 // Servo pins on a RAMPS board are 11,6,5,4 01063 #define SERVO0_PIN 11 01064 #define SERVO1_PIN 6 01065 #define SERVO2_PIN 5 01066 #define SERVO3_PIN 4 01067 01068 /* A watchdog resets the printer, if a signal is not send within predifined time limits. That way we can be sure that the board 01069 is always running and is not hung up for some unknown reason. */ 01070 #define FEATURE_WATCHDOG true 01071 01072 /* Z-Probing */ 01073 01074 #define FEATURE_Z_PROBE true 01075 #define Z_PROBE_PIN 63 01076 #define Z_PROBE_PULLUP true 01077 #define Z_PROBE_ON_HIGH true 01078 #define Z_PROBE_X_OFFSET 0 01079 #define Z_PROBE_Y_OFFSET 0 01080 // Waits for a signal to start. Valid signals are probe hit and ok button. 01081 // This is needful if you have the probe trigger by hand. 01082 #define Z_PROBE_WAIT_BEFORE_TEST true 01083 01084 #define Z_PROBE_SPEED 2 01085 #define Z_PROBE_XY_SPEED 150 01086 01087 #define Z_PROBE_HEIGHT 39.91 01088 01089 #define Z_PROBE_START_SCRIPT "" 01090 #define Z_PROBE_FINISHED_SCRIPT "" 01091 01092 /* Autoleveling allows it to z-probe 3 points to compute the inclination and compensates the error for the print. 01093 This feature requires a working z-probe and you should have z-endstop at the top not at the bottom. 01094 The same 3 points are used for the G29 command. 01095 */ 01096 #define FEATURE_AUTOLEVEL true 01097 #define Z_PROBE_X1 100 01098 #define Z_PROBE_Y1 20 01099 #define Z_PROBE_X2 160 01100 #define Z_PROBE_Y2 170 01101 #define Z_PROBE_X3 20 01102 #define Z_PROBE_Y3 170 01103 01104 /* Define a pin to tuen light on/off */ 01105 #define CASE_LIGHTS_PIN -1 01106 01108 #ifndef SDSUPPORT // Some boards have sd support on board. These define the values already in pins.h 01109 #define SDSUPPORT false 01110 // Uncomment to enable or change card detection pin. With card detection the card is mounted on insertion. 01111 #define SDCARDDETECT -1 01112 // Change to true if you get a inserted message on removal. 01113 #define SDCARDDETECTINVERTED false 01114 #endif 01115 01116 #define SD_EXTENDED_DIR true 01117 // If you want support for G2/G3 arc commands set to true, otherwise false. 01118 #define ARC_SUPPORT true 01119 01122 #define FEATURE_MEMORY_POSITION true 01123 01125 #define FEATURE_CHECKSUM_FORCED false 01126 01130 #define FEATURE_FAN_CONTROL true 01131 01152 #define FEATURE_CONTROLLER 2 01153 01164 #define UI_LANGUAGE 1 01165 01166 // This is line 2 of the status display at startup. Change to your like. 01167 #define UI_PRINTER_NAME "Ordbot" 01168 #define UI_PRINTER_COMPANY "RepRapDiscount" 01169 01170 01172 #define UI_ANIMATION true 01173 01175 #define UI_PAGES_DURATION 4000 01176 01178 #define UI_START_SCREEN_DELAY 1000 01179 01181 #define UI_DISABLE_AUTO_PAGESWITCH true 01182 01184 #define UI_AUTORETURN_TO_MENU_AFTER 30000 01185 01186 #define FEATURE_UI_KEYS 0 01187 01188 /* Normally cou want a next/previous actions with every click of your encoder. 01189 Unfotunately, the encoder have a different count of phase changes between clicks. 01190 Select an encoder speed from 0 = fastest to 2 = slowest that results in one menu move per click. 01191 */ 01192 #define UI_ENCODER_SPEED 1 01193 01194 /* There are 2 ways to change positions. You can move by increments of 1/0.1 mm resulting in more menu entries 01195 and requiring many turns on your encode. The alternative is to enable speed dependent positioning. It will change 01196 the move distance depending on the speed you turn the encoder. That way you can move very fast and very slow in the 01197 same setting. 01198 01199 */ 01200 #define UI_SPEEDDEPENDENT_POSITIONING true 01201 01203 #define UI_KEY_BOUNCETIME 10 01204 01206 #define UI_KEY_FIRST_REPEAT 500 01207 01208 #define UI_KEY_REDUCE_REPEAT 50 01209 01210 #define UI_KEY_MIN_REPEAT 50 01211 01212 #define FEATURE_BEEPER true 01213 01219 #define BEEPER_SHORT_SEQUENCE 2,2 01220 #define BEEPER_LONG_SEQUENCE 8,8 01221 01222 // ############################################################################### 01223 // ## Values for menu settings ## 01224 // ############################################################################### 01225 01226 // Values used for preheat 01227 #define UI_SET_PRESET_HEATED_BED_TEMP_PLA 60 01228 #define UI_SET_PRESET_EXTRUDER_TEMP_PLA 180 01229 #define UI_SET_PRESET_HEATED_BED_TEMP_ABS 110 01230 #define UI_SET_PRESET_EXTRUDER_TEMP_ABS 240 01231 // Extreme values 01232 #define UI_SET_MIN_HEATED_BED_TEMP 55 01233 #define UI_SET_MAX_HEATED_BED_TEMP 120 01234 #define UI_SET_MIN_EXTRUDER_TEMP 160 01235 #define UI_SET_MAX_EXTRUDER_TEMP 270 01236 #define UI_SET_EXTRUDER_FEEDRATE 2 // mm/sec 01237 #define UI_SET_EXTRUDER_RETRACT_DISTANCE 3 // mm 01238 01239 #endif 01240