Advertisement
Guest User

Sprinter Config for Gen6 18.09.11

a guest
Sep 18th, 2011
358
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.80 KB | None | 0 0
  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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement