Merge pull request #955 from Bouni/feature/spindle-refactor
[clinton/Smoothieware.git] / ConfigSamples / rotary.delta / config
1 # NOTE Lines must not exceed 132 characters
2 # Robot module configurations : general handling of movement G-codes and slicing into moves
3 default_feed_rate 4000 # Default rate ( mm/minute ) for G1/G2/G3 moves
4 default_seek_rate 4000 # Default rate ( mm/minute ) for G0 moves
5 mm_per_arc_segment 0.0 # Fixed length for line segments that divide arcs 0 to disable
6 mm_max_arc_error 0.01 # The maximum error for line segments that divide arcs 0 to disable
7 # note it is invalid for both the above be 0
8 # if both are used, will use largest segment length based on radius
9 #mm_per_line_segment 0.5 # Lines can be cut into segments ( not useful with cartesian
10 # coordinates robots ).
11 delta_segments_per_second 100 # for deltas only same as in Marlin/Delta, set to 0 to disable
12 # and use mm_per_line_segment
13 # Arm solution configuration : Rotatable Delta robot. Translates mm positions into stepper positions
14 arm_solution rotary_delta # selects the delta arm solution
15
16 delta_e 131.636 # End effector length, triangle side length in mm
17 delta_f 190.526 # Base length, triangle side length in mm
18 delta_re 270.000 # Carbon rod length
19 delta_rf 90.000 # Servo horn length
20
21 delta_z_offset 268.0 # Distance from big pulley shaft to table/bed
22 delta_ee_offs 15.000 # Ball joint plane to bottom of end effector surface
23 delta_tool_offset 30.500 # Distance between end effector ball joint plane and tip of tool (PnP)
24
25 delta_mirror_xy true # true for firepick
26
27 rotary_delta_calibration.enable true # enable the calibration routines for rotary delta
28
29 #The steps per degree are calculated as:
30 #
31 # (1) First determine the circumference of the big pulley, which has a smooth surface, and calculate the 'teeth it would have'
32 # (2) Determine the GT2 belt thickness and tooth depth
33 # (3) Calculate the ACTUAL big pulley circumference taking into account that the GT2 belt affects this as
34 # it rests on the big pulley and not into teeth cut into the pulley, the formula is:
35 # BIG_PULLEY_CIRCUMFERENCE = BIG_PULLEY_TEETH * TOOTH_SPACING + (BELT_THICKNESS - TOOTH_DEPTH)*6.283185
36 # (4) Calculate the ACTUAL small pulley circumference taking into account that the GT2 belt affects this as
37 # rests into the small pulley as it has teeth cut into the pulley, the formula is:
38 # SMALL_PULLEY_CIRCUMFERENCE = SMALL_PULLEY_TEETH * TOOTH_SPACING
39 # (5) Now determine the pulley reduction which is:
40 # PULLEY_REDUCTION = BIG_PULLEY_CIRCUMFERENCE / SMALL_PULLEY_CIRCUMFERENCE
41 # (6) Finally, given the number of steps a stepper motor needs for a full 360 degree rotation, and the number of microsteps your
42 # stepper motor driver chip is set for, you can calculate the STEPS_PER_MM for each axis, which for a Rotary Delta, are the same:
43 # [ALPHA/BETA/GAMMA]_STEPS_PER_MM = (XYZ_STEPS_PER_ROTATION*XYZ_MICROSTEPS*PULLEY_REDUCTION)/360
44 # e.g. a FirePick Delta mechanism, we can calulate:
45 # BIG_PULLEY_CIRCUMFERENCE = 150 * 2 + (1.49 - 0.74) * 6.283185 = 304.712389
46 # SMALL_PULLEY_CIRCUMFERENCE = 16 * 2 = 32
47 # PULLEY_REDUCTION = 304.712389 / 32 = 9.52226215
48 # For a 0.9 degree stepper motor and an a4988 driver set for 16 microsteps = (400 * 16 * 9.52226215)/360 = 169.2846604
49 # For a 1.8 degree stepper motor and an a4988 driver set for 16 microsteps = (200 * 16 * 9.52226215)/360 = 84.6423302
50 # For a 0.9 degree stepper motor and an drv8825 driver set for 32 microsteps = (400 * 32 * 9.52226215)/360 = 338.5693208
51 # For a 1.8 degree stepper motor and an drv8825 driver set for 32 microsteps = (200 * 32 * 9.52226215)/360 = 169.2846604
52
53 alpha_steps_per_mm 338.5693208 # Steps per degree for alpha stepper
54 beta_steps_per_mm 338.5693208 # Steps per degree for beta stepper
55 gamma_steps_per_mm 338.5693208 # Steps per degree for gamma stepper
56
57 # Planner module configuration : Look-ahead and acceleration configuration
58 planner_queue_size 32 # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
59 acceleration 3000 # Acceleration in mm/second/second.
60 junction_deviation 0.05 # Similar to the old "max_jerk", in millimeters,
61 # see https://github.com/grbl/grbl/blob/master/planner.c#L409
62 # and https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8
63 # Lower values mean being more careful, higher values means being
64 # faster and have more jerk
65 #minimum_planner_speed 0.0 # sets the minimum planner speed in mm/sec
66
67 # Stepper module configuration
68 microseconds_per_step_pulse 1 # Duration of step pulses to stepper drivers, in microseconds
69 base_stepping_frequency 100000 # Base frequency for stepping
70
71 # Cartesian axis speed limits
72 x_axis_max_speed 30000 # mm/min
73 y_axis_max_speed 30000 # mm/min
74 z_axis_max_speed 30000 # mm/min
75
76 # Stepper module pins ( ports, and pin numbers, appending "!" to the number will invert a pin )
77 alpha_step_pin 2.0 # Pin for alpha stepper step signal
78 alpha_dir_pin 0.5 # Pin for alpha stepper direction
79 alpha_en_pin 0.4 # Pin for alpha enable pin
80 alpha_current 1.5 # X stepper motor current
81 alpha_max_rate 30000.0 # mm/min
82 alpha_max_travel 500 # max travel in mm for alpha/X axis when homing
83
84 beta_step_pin 2.1 # Pin for beta stepper step signal
85 beta_dir_pin 0.11 # Pin for beta stepper direction
86 beta_en_pin 0.10 # Pin for beta enable
87 beta_current 1.5 # Y stepper motor current
88 beta_max_rate 30000.0 # mm/min
89 beta_max_travel 500 # max travel in mm for beta/Y axis when homing
90
91 gamma_step_pin 2.2 # Pin for gamma stepper step signal
92 gamma_dir_pin 0.20 # Pin for gamma stepper direction
93 gamma_en_pin 0.19 # Pin for gamma enable
94 gamma_current 1.5 # Z stepper motor current
95 gamma_max_rate 30000.0 # mm/min
96 gamma_max_travel 500 # max travel in mm for gamma/Z axis when homing (max homing for a delta)
97
98 # Serial communications configuration ( baud rate default to 9600 if undefined )
99 uart0.baud_rate 115200 # Baud rate for the default hardware serial port
100 second_usb_serial_enable false # This enables a second usb serial port (to have both pronterface
101 # and a terminal connected)
102 #leds_disable true # disable using leds after config loaded
103 #msd_disable false # disable the MSD (USB SDCARD) when set to true
104 #dfu_enable false # for linux developers, set to true to enable DFU
105 #watchdog_timeout 10 # watchdog timeout in seconds, default is 10, set to 0 to disable the watchdog
106
107 # Extruder module configuration
108 extruder.hotend.enable true # Whether to activate the extruder module at all. All configuration is ignored if false
109 extruder.hotend.steps_per_mm 140 # Steps per mm for extruder stepper
110 extruder.hotend.default_feed_rate 600 # Default rate ( mm/minute ) for moves where only the extruder moves
111 extruder.hotend.acceleration 500 # Acceleration for the stepper motor, as of 0.6, arbitrary ratio
112 extruder.hotend.max_speed 50 # mm/s
113
114 extruder.hotend.step_pin 2.3 # Pin for extruder step signal
115 extruder.hotend.dir_pin 0.22 # Pin for extruder dir signal
116 extruder.hotend.en_pin 0.21 # Pin for extruder enable signal
117
118 # extruder offset
119 #extruder.hotend.x_offset 0 # x offset from origin in mm
120 #extruder.hotend.y_offset 0 # y offset from origin in mm
121 #extruder.hotend.z_offset 0 # z offset from origin in mm
122
123 # firmware retract settings when using G10/G11, these are the defaults if not defined, must be defined for each extruder if not using the defaults
124 #extruder.hotend.retract_length 3 # retract length in mm
125 #extruder.hotend.retract_feedrate 45 # retract feedrate in mm/sec
126 #extruder.hotend.retract_recover_length 0 # additional length for recover
127 #extruder.hotend.retract_recover_feedrate 8 # recover feedrate in mm/sec (should be less than retract feedrate)
128 #extruder.hotend.retract_zlift_length 0 # zlift on retract in mm, 0 disables
129 #extruder.hotend.retract_zlift_feedrate 6000 # zlift feedrate in mm/min (Note mm/min NOT mm/sec)
130
131 delta_current 1.5 # First extruder stepper motor current
132
133 # Second extruder module configuration example
134 #extruder.hotend2.enable true # Whether to activate the extruder module at all. All configuration is ignored if false
135 #extruder.hotend2.steps_per_mm 140 # Steps per mm for extruder stepper
136 #extruder.hotend2.default_feed_rate 600 # Default rate ( mm/minute ) for moves where only the extruder moves
137 #extruder.hotend2.acceleration 500 # Acceleration for the stepper motor, as of 0.6, arbitrary ratio
138 #extruder.hotend2.max_speed 50 # mm/s
139
140 #extruder.hotend2.step_pin 2.8 # Pin for extruder step signal
141 #extruder.hotend2.dir_pin 2.13 # Pin for extruder dir signal
142 #extruder.hotend2.en_pin 4.29 # Pin for extruder enable signal
143
144 #extruder.hotend2.x_offset 0 # x offset from origin in mm
145 #extruder.hotend2.y_offset 25.0 # y offset from origin in mm
146 #extruder.hotend2.z_offset 0 # z offset from origin in mm
147 #epsilon_current 1.5 # Second extruder stepper motor current
148
149 # Laser module configuration
150 laser_module_enable false # Whether to activate the laser module at all. All configuration is
151 # ignored if false.
152 #laser_module_pin 2.5 # this pin will be PWMed to control the laser. Only P2.0 - P2.5, P1.18, P1.20, P1.21, P1.23, P1.24, P1.26, P3.25, P3.26
153 # can be used since laser requires hardware PWM
154 #laser_module_maximum_power 1.0 # this is the maximum duty cycle that will be applied to the laser
155 #laser_module_minimum_power 0.0 # This is a value just below the minimum duty cycle that keeps the laser
156 # active without actually burning.
157 #laser_module_default_power 0.8 # This is the default laser power that will be used for cuts if a power has not been specified. The value is a scale between
158 # the maximum and minimum power levels specified above
159 #laser_module_pwm_period 20 # this sets the pwm frequency as the period in microseconds
160
161 # Hotend temperature control configuration
162 temperature_control.hotend.enable true # Whether to activate this ( "hotend" ) module at all.
163 # All configuration is ignored if false.
164 temperature_control.hotend.thermistor_pin 0.23 # Pin for the thermistor to read
165 temperature_control.hotend.heater_pin 2.7 # Pin that controls the heater
166 temperature_control.hotend.thermistor EPCOS100K # see http://smoothieware.org/temperaturecontrol#toc5
167 #temperature_control.hotend.beta 4066 # or set the beta value
168
169 temperature_control.hotend.set_m_code 104 #
170 temperature_control.hotend.set_and_wait_m_code 109 #
171 temperature_control.hotend.designator T #
172 #temperature_control.hotend.max_temp 300 # Set maximum temperature - Will prevent heating above 300 by default
173 #temperature_control.hotend.min_temp 0 # Set minimum temperature - Will prevent heating below 0 by default
174
175 #temperature_control.hotend.p_factor 13.7 # permanently set the PID values after an auto pid
176 #temperature_control.hotend.i_factor 0.097 #
177 #temperature_control.hotend.d_factor 24 #
178
179 #temperature_control.hotend.max_pwm 64 # max pwm, 64 is a good value if driving a 12v resistor with 24v.
180
181 # Hotend2 temperature control configuration
182 #temperature_control.hotend2.enable true # Whether to activate this ( "hotend" ) module at all.
183 # All configuration is ignored if false.
184
185 #temperature_control.hotend2.thermistor_pin 0.25 # Pin for the thermistor to read
186 #temperature_control.hotend2.heater_pin 1.23 # Pin that controls the heater
187 #temperature_control.hotend2.thermistor EPCOS100K # http://smoothieware.org/temperaturecontrol#toc5
188 ##temperature_control.hotend2.beta 4066 # or set the beta value
189
190 #temperature_control.hotend2.set_m_code 104 #
191 #temperature_control.hotend2.set_and_wait_m_code 109 #
192 #temperature_control.hotend2.designator T1 #
193
194 #temperature_control.hotend2.p_factor 13.7 # permanently set the PID values after an auto pid
195 #temperature_control.hotend2.i_factor 0.097 #
196 #temperature_control.hotend2.d_factor 24 #
197
198 #temperature_control.hotend2.max_pwm 64 # max pwm, 64 is a good value if driving a 12v resistor with 24v.
199
200 temperature_control.bed.enable true #
201 temperature_control.bed.thermistor_pin 0.24 #
202 temperature_control.bed.heater_pin 2.5 #
203 temperature_control.bed.thermistor Honeywell100K # see http://smoothieware.org/temperaturecontrol#toc5
204 #temperature_control.bed.beta 4066 # or set the beta value
205
206 temperature_control.bed.set_m_code 140 #
207 temperature_control.bed.set_and_wait_m_code 190 #
208 temperature_control.bed.designator B #
209
210 #temperature_control.bed.bang_bang false # set to true to use bang bang control rather than PID
211 #temperature_control.bed.hysteresis 2.0 # set to the temperature in degrees C to use as hysteresis
212 # when using bang bang
213
214 # Switch module for fan control
215 switch.fan.enable true #
216 switch.fan.input_on_command M106 #
217 switch.fan.input_off_command M107 #
218 switch.fan.output_pin 2.6 #
219 switch.fan.output_type pwm # pwm output settable with S parameter in the input_on_comand
220 #switch.fan.max_pwm 255 # set max pwm for the pin default is 255
221
222 #switch.misc.enable true #
223 #switch.misc.input_on_command M42 #
224 #switch.misc.input_off_command M43 #
225 #switch.misc.output_pin 2.4 #
226 #switch.misc.output_type digital # just an on or off pin
227
228 # automatically toggle a switch at a specified temperature. Different ones of these may be defined to monitor different temperatures and switch different swithxes
229 # useful to turn on a fan or water pump to cool the hotend
230 #temperatureswitch.hotend.enable true #
231 #temperatureswitch.hotend.designator T # first character of the temperature control designator to use as the temperature sensor to monitor
232 #temperatureswitch.hotend.switch misc # select which switch to use, matches the name of the defined switch
233 #temperatureswitch.hotend.threshold_temp 60.0 # temperature to turn on (if rising) or off the switch
234 #temperatureswitch.hotend.heatup_poll 15 # poll heatup at 15 sec intervals
235 #temperatureswitch.hotend.cooldown_poll 60 # poll cooldown at 60 sec intervals
236
237 # Switch module for spindle control
238 #switch.spindle.enable false #
239
240 # Endstops
241 endstops_enable true # the endstop module is enabled by default and can be disabled here
242 delta_homing true # forces all three axis to home a the same time regardless of
243 # what is specified in G28
244 alpha_min_endstop nc #
245 alpha_max_endstop 1.25^ # add ! to invert pullup if switch is NO to ground
246 alpha_homing_direction home_to_max # Home up
247 alpha_max 0 #
248 beta_min_endstop nc #
249 beta_max_endstop 1.27^ #
250 beta_homing_direction home_to_max #
251 beta_max 0 #
252 gamma_min_endstop nc #
253 gamma_max_endstop 1.29^ #
254 gamma_homing_direction home_to_max #
255 gamma_max 300 #
256
257 alpha_fast_homing_rate_mm_s 200 # homing feedrates in mm/second
258 beta_fast_homing_rate_mm_s 200 #
259 gamma_fast_homing_rate_mm_s 200 #
260 alpha_slow_homing_rate_mm_s 20 #
261 beta_slow_homing_rate_mm_s 20 #
262 gamma_slow_homing_rate_mm_s 20
263
264 alpha_homing_retract_mm 5 # retract/bounce distance after homing in mm
265 beta_homing_retract_mm 5 #
266 gamma_homing_retract_mm 5 #
267
268 alpha_trim 0 # software trim for alpha stepper endstop (in mm)
269 beta_trim 0 # software trim for beta stepper endstop (in mm)
270 gamma_trim 0 # software trim for gamma stepper endstop (in mm)
271
272 # optional enable limit switches, actions will stop if any enabled limit switch is triggered (all are set for delta)
273 #alpha_limit_enable false # set to true to enable X min and max limit switches
274 #beta_limit_enable false # set to true to enable Y min and max limit switches
275 #gamma_limit_enable false # set to true to enable Z min and max limit switches
276
277 #move_to_origin_after_home true # move XY to 0,0 after homing
278 #endstop_debounce_count 100 # uncomment if you get noise on your endstops
279
280 # optional Z probe
281 zprobe.enable false # set to true to enable a zprobe
282 zprobe.probe_pin 1.28!^ # pin probe is attached to if NC remove the !
283 zprobe.slow_feedrate 5 # mm/sec probe feed rate
284 #zprobe.debounce_count 100 # set if noisy
285 zprobe.fast_feedrate 100 # move feedrate mm/sec
286 zprobe.probe_height 5 # how much above bed to start probe
287 #gamma_min_endstop nc # normally 1.28. Change to nc to prevent conflict,
288
289 # associated with zprobe the leveling strategy to use
290 #leveling-strategy.delta-calibration.enable true # basic delta calibration
291 #leveling-strategy.delta-calibration.radius 100 # the probe radius
292
293 # kill button (used to be called pause) maybe assigned to a different pin, set to the onboard pin by default
294 kill_button_enable true # set to true to enable a kill button
295 kill_button_pin 2.12 # kill button pin. default is same as pause button 2.12 (2.11 is another good choice)
296
297 # Panel
298 panel.enable false # set to true to enable the panel code
299 panel.lcd smoothiepanel # set type of panel
300 panel.encoder_a_pin 3.25!^ # encoder pin
301 panel.encoder_b_pin 3.26!^ # encoder pin
302
303 # Example for reprap discount GLCD
304 # on glcd EXP1 is to left and EXP2 is to right, pin 1 is bottom left, pin 2 is top left etc.
305 # +5v is EXP1 pin 10, Gnd is EXP1 pin 9
306 #panel.lcd reprap_discount_glcd #
307 #panel.spi_channel 0 # spi channel to use ; GLCD EXP1 Pins 3,5 (MOSI, SCLK)
308 #panel.spi_cs_pin 0.16 # spi chip select ; GLCD EXP1 Pin 4
309 #panel.encoder_a_pin 3.25!^ # encoder pin ; GLCD EXP2 Pin 3
310 #panel.encoder_b_pin 3.26!^ # encoder pin ; GLCD EXP2 Pin 5
311 #panel.click_button_pin 1.30!^ # click button ; GLCD EXP1 Pin 2
312 #panel.buzz_pin 1.31 # pin for buzzer ; GLCD EXP1 Pin 1
313 #panel.button_pause_pin 2.11^ # kill/pause ; GLCD EXP2 Pin 8 either
314 #panel.back_button_pin 2.11!^ # back button ; GLCD EXP2 Pin 8 or
315
316 # pins used with other panels
317 #panel.up_button_pin 0.1! # up button if used
318 #panel.down_button_pin 0.0! # down button if used
319 #panel.click_button_pin 0.18! # click button if used
320
321 panel.menu_offset 0 # some panels will need 1 here
322
323 panel.alpha_jog_feedrate 6000 # x jogging feedrate in mm/min
324 panel.beta_jog_feedrate 6000 # y jogging feedrate in mm/min
325 panel.gamma_jog_feedrate 200 # z jogging feedrate in mm/min
326
327 panel.hotend_temperature 185 # temp to set hotend when preheat is selected
328 panel.bed_temperature 60 # temp to set bed when preheat is selected
329
330 # Example of a custom menu entry, which will show up in the Custom entry.
331 # NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands
332 custom_menu.power_on.enable true #
333 custom_menu.power_on.name Power_on #
334 custom_menu.power_on.command M80 #
335
336 custom_menu.power_off.enable true #
337 custom_menu.power_off.name Power_off #
338 custom_menu.power_off.command M81 #
339
340 # Only needed on a smoothieboard
341 currentcontrol_module_enable true #
342
343 return_error_on_unhandled_gcode false #
344
345 # network settings
346 network.enable false # enable the ethernet network services
347 network.webserver.enable true # enable the webserver
348 network.telnet.enable true # enable the telnet server
349 network.ip_address auto # use dhcp to get ip address
350 # uncomment the 3 below to manually setup ip address
351 #network.ip_address 192.168.3.222 # the IP address
352 #network.ip_mask 255.255.255.0 # the ip mask
353 #network.ip_gateway 192.168.3.1 # the gateway address
354 #network.mac_override xx.xx.xx.xx.xx.xx # override the mac address, only do this if you have a conflict