SHARE
TWEET

Sprinter Config for Gen6 18.09.11

a guest Sep 18th, 2011 306 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #ifndef CONFIGURATION_H
  2. #define CONFIGURATION_H
  3.  
  4. // BASIC SETTINGS: select your board type, thermistor type, axis scaling, and endstop configuration
  5.  
  6. //// The following define selects which electronics board you have. Please choose the one that matches your setup
  7. // MEGA/RAMPS up to 1.2  = 3,
  8. // RAMPS 1.3 = 33
  9. // Gen6 = 5,
  10. // Sanguinololu up to 1.1 = 6
  11. // Sanguinololu 1.2 and above = 62
  12. // Gen 3 Plus = 21
  13. // gen 3  Monolithic Electronics = 22
  14. #define MOTHERBOARD 5
  15.  
  16. //// Thermistor settings:
  17. // 1 is 100k thermistor
  18. // 2 is 200k thermistor
  19. // 3 is mendel-parts thermistor
  20. // 4 is 10k thermistor
  21. // 5 is ParCan supplied 104GT-2 100K
  22. // 6 is EPCOS 100k
  23. // 7 is 100k Honeywell thermistor 135-104LAG-J01
  24. #define THERMISTORHEATER 3
  25. #define THERMISTORBED 3
  26.  
  27. //// Calibration variables
  28. // X, Y, Z, E steps per unit - Metric Prusa Mendel with Wade extruder:
  29. float axis_steps_per_unit[] = {40, 40, 3360,311};
  30. // Metric Prusa Mendel with Makergear geared stepper extruder:
  31. //float axis_steps_per_unit[] = {80,80,3200/1.25,1380};
  32. // MakerGear Hybrid Prusa Mendel:
  33. // Z axis value is for .9 stepper(if you have 1.8 steppers for Z, you need to use 2272.7272)
  34. //float axis_steps_per_unit[] = {104.987, 104.987, 4545.4544, 1487};
  35.  
  36. //// Endstop Settings
  37. #define ENDSTOPPULLUPS 1// Comment this out (using // at the start of the line) to disable the endstop pullup resistors
  38. // The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
  39. const bool ENDSTOPS_INVERTING = true; //set to true to invert the logic of the endstops
  40. //If your axes are only moving in one direction, make sure the endstops are connected properly.
  41. //If your axes move in one direction ONLY when the endstops are triggered, set ENDSTOPS_INVERTING to true here
  42.  
  43. // This determines the communication speed of the printer
  44. #define BAUDRATE 250000
  45.  
  46. // Comment out (using // at the start of the line) to disable SD support:
  47. #define SDSUPPORT 1
  48.  
  49.  
  50. //// ADVANCED SETTINGS - to tweak parameters
  51.  
  52. #include "thermistortables.h"
  53.  
  54. // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
  55. #define X_ENABLE_ON 0
  56. #define Y_ENABLE_ON 0
  57. #define Z_ENABLE_ON 0
  58. #define E_ENABLE_ON 0
  59.  
  60. // Disables axis when it's not being used.
  61. const bool DISABLE_X = false;
  62. const bool DISABLE_Y = false;
  63. const bool DISABLE_Z = false;
  64. const bool DISABLE_E = false;
  65.  
  66. // Inverting axis direction
  67. const bool INVERT_X_DIR = true;
  68. const bool INVERT_Y_DIR = true;
  69. const bool INVERT_Z_DIR = false;
  70. const bool INVERT_E_DIR = false;
  71.  
  72. //// ENDSTOP SETTINGS:
  73. // Sets direction of endstops when homing; 1=MAX, -1=MIN
  74. #define X_HOME_DIR -1
  75. #define Y_HOME_DIR -1
  76. #define Z_HOME_DIR -1
  77.  
  78. const bool min_software_endstops = false; //If true, axis won't move to coordinates less than zero.
  79. const bool max_software_endstops = true;  //If true, axis won't move to coordinates greater than the defined lengths below.
  80. const int X_MAX_LENGTH = 200;
  81. const int Y_MAX_LENGTH = 200;
  82. const int Z_MAX_LENGTH = 100;
  83.  
  84. //// MOVEMENT SETTINGS
  85. const int NUM_AXIS = 4; // The axis order in all axis related arrays is X, Y, Z, E
  86. float max_feedrate[] = {200000, 200000, 130, 1300};
  87. float homing_feedrate[] = {1500,1500,120};
  88. bool axis_relative_modes[] = {false, false, false, false};
  89.  
  90. // Min step delay in microseconds. If you are experiencing missing steps, try to raise the delay microseconds, but be aware this
  91. // If you enable this, make sure STEP_DELAY_RATIO is disabled.
  92. //#define STEP_DELAY_MICROS 1
  93.  
  94. // Step delay over interval ratio. If you are still experiencing missing steps, try to uncomment the following line, but be aware this
  95. // If you enable this, make sure STEP_DELAY_MICROS is disabled. (except for Gen6: both need to be enabled.)
  96. //#define STEP_DELAY_RATIO 0.5
  97.  
  98. // Comment this to disable ramp acceleration
  99. #define RAMP_ACCELERATION 1
  100.  
  101. //// Acceleration settings
  102. #ifdef RAMP_ACCELERATION
  103. // 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.
  104. float max_start_speed_units_per_second[] = {25.0,25.0,9.0,5.0};
  105. long max_acceleration_units_per_sq_second[] = {1000,1000,585,10000}; // X, Y, Z and E max acceleration in mm/s^2 for printing moves or retracts
  106. long max_travel_acceleration_units_per_sq_second[] = {500,500,242,10000}; // X, Y, Z max acceleration in mm/s^2 for travel moves
  107. #endif
  108.  
  109. // Machine UUID
  110. // This may be useful if you have multiple machines and wish to identify them by using the M115 command.
  111. // By default we set it to zeros.
  112. char uuid[] = "00000000-0000-0000-0000-000000000000";
  113.  
  114.  
  115. //// AD595 THERMOCOUPLE SUPPORT UNTESTED... USE WITH CAUTION!!!!
  116.  
  117. //// PID settings:
  118. // Uncomment the following line to enable PID support. This is untested and could be disastrous. Be careful.
  119. //#define PIDTEMP
  120.  
  121.  
  122.  
  123. #ifdef PIDTEMP
  124. #define PID_MAX 255 // limits current to nozzle
  125. #define PID_INTEGRAL_DRIVE_MAX 220
  126. #define PID_PGAIN 180 //100 is 1.0
  127. #define PID_IGAIN 2 //100 is 1.0
  128. #define PID_DGAIN 100 //100 is 1.0
  129. #endif
  130.  
  131. // How often should the heater check for new temp readings, in milliseconds
  132. #define HEATER_CHECK_INTERVAL 500
  133. #define BED_CHECK_INTERVAL 5000
  134. // Comment the following line to enable heat management during acceleration
  135. #define DISABLE_CHECK_DURING_ACC
  136. #ifndef DISABLE_CHECK_DURING_ACC
  137.   // Uncomment the following line to disable heat management during moves
  138.   //#define DISABLE_CHECK_DURING_MOVE
  139. #endif
  140. // Uncomment the following line to disable heat management during travel moves (and extruder-only moves, eg: retracts), strongly recommended if you are missing steps mid print.
  141. // Probably this should remain commented if are using PID.
  142. // It also defines the max milliseconds interval after which a travel move is not considered so for the sake of this feature.
  143. #define DISABLE_CHECK_DURING_TRAVEL 1000
  144.  
  145. //// Temperature smoothing - only uncomment this if your temp readings are noisy (Gen6 without EvdZ's 5V hack)
  146. //#define SMOOTHING 1
  147. //#define SMOOTHFACTOR 16 //best to use a power of two here - determines how many values are averaged together by the smoothing algorithm
  148.  
  149. //// Experimental watchdog and minimal temp
  150. // The watchdog waits for the watchperiod in milliseconds whenever an M104 or M109 increases the target temperature
  151. // If the temperature has not increased at the end of that period, the target temperature is set to zero. It can be reset with another M104/M109
  152. //#define WATCHPERIOD 5000 //5 seconds
  153.  
  154. //// The minimal temperature defines the temperature below which the heater will not be enabled
  155. #define MINTEMP 5
  156.  
  157. //// Experimental max temp
  158. // When temperature exceeds max temp, your heater will be switched off.
  159. // This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
  160. // You should use MINTEMP for thermistor short/failure protection.
  161. #define MAXTEMP 275
  162.  
  163. // Select one of these only to define how the nozzle temp is read.
  164. #define HEATER_USES_THERMISTOR
  165. //#define HEATER_USES_AD595
  166. //#define HEATER_USES_MAX6675
  167.  
  168. // Select one of these only to define how the bed temp is read.
  169. #define BED_USES_THERMISTOR
  170. //#define BED_USES_AD595
  171.  
  172. // Uncomment the following line to enable debugging. You can better control debugging below the following line
  173. //#define DEBUG
  174. #ifdef DEBUG
  175.   //#define DEBUG_PREPARE_MOVE //Enable this to debug prepare_move() function
  176.   //#define DEBUG_BRESENHAM //Enable this to debug the Bresenham algorithm
  177.   //#define DEBUG_RAMP_ACCELERATION //Enable this to debug all constant acceleration info
  178.   //#define DEBUG_MOVE_TIME //Enable this to time each move and print the result
  179.   //#define DEBUG_HEAT_MGMT //Enable this to debug heat management. WARNING, this will cause axes to jitter!
  180.   //#define DEBUG_DISABLE_CHECK_DURING_TRAVEL //Debug the namesake feature, see above in this file
  181. #endif
  182.  
  183. #endif
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top