/* Anwendungen */
[stratum0-wiki.git] / CNC-Portalfräse.mw
1 {{Hardware
2 |kontakt = [[Benutzer:Daniel Bohrer|Daniel Bohrer]], {{Benutzer|Kasalehlia}}, {{Benutzer|larsan}}, {{Benutzer|comawill}}, {{Benutzer|adnc}}
3 |status = wip
4 |ort = Werkstatt
5 |beschreibung = CNC-Fräse
6 |bild = CNC_mill_meeting.jpg
7 |bildbeschreibung = erste Inbetriebnahme, noch auf dem Frickelraumtisch
8 |links = <!--optional-->
9 |usage = Benutzung erst nach Einweisung. Kaputtmachen und Reparieren nur von Spezialexperten.
10 }}
11
12 {{Hinweis|Diese Seite befindet im Aufbau, es können Platzhalter vorkommen und wichtige Informationen fehlen. Inhaltliche Bearbeitungen und Ergänzungen, sowie Formatierungen sind ausdrücklich erwünscht.}}
13
14 Uns wurde am 28.03.2014 eine CNC-Maschine überlassen. Nachdem wir sie unter Verwendung des mitgelieferten Industrierechners ansteuern konnten, stellten wir fest, dass diese Methode nicht viel Zukunft haben würde. Kein USB, beschränkte Geschwindigkeit, laut, Win98 will man nicht im Netzwerk haben, etc.
15
16 Da die Fräse alle ihre Anschlüsse über D-Sub-Buchsen herausführt, wollen wir einen anderen Controller verwenden, der die Motoren direkt ansteuert. Am 24.05.2014 haben wir mit einem [https://smoothieware.github.io/Webif-pack/documentation/web/html/ Smoothieboard] erfolgreich die ersten Schritte in diese Richtung gemacht.
17
18 Stand 27.06.2014: Wir haben uns ein eigenes Smoothieboard 5X zugelegt, das wird derzeit in Betrieb genommen.
19
20 == Quick start ==
21
22 * Web interface: http://192.168.178.222/
23 ** Commands:
24 *** Home: <code>$H</code>
25 *** Get limit switch state: <code>M119</code>
26 *** Get position: <code>M114</code>
27 *** Move back, center, top: <code>G0 F2000 X150 Y405 Z95</code>
28 * Software [https://github.com/vlachoudis/bCNC bCNC]
29 ** ''File → Serial → Port'': <code>socket://192.168.178.222:23</code>
30 ** ''File → Serial → Controller'': ''SMOOTHIE''
31 ** ''File → Open'', load GCode file
32 ** ''File → Pendant → Start'' starts web UI on local port 8080
33
34 == Überblick ==
35 === Fräse ===
36 [[Datei:CNC-Fräse Holzbalken.jpg|thumb|Durch den Aufbau als Portalfräse ist es möglich, dass Werkstücke in y-Richtung über den Frästisch hinausragen können]]
37
38 Es handelt sich um (Stand 2014) eine etwa 15 Jahre alte Isel Automation Flachbett-Tischfräse CNC Multi K.
39 Kaum gebraucht und vermutlich seit ~9 Jahren nicht mehr in Betrieb gewesen, bevor sie 2014 zu uns kam.
40 * maximaler Arbeitsbereich: (x,y,z) = (330 mm, 500 mm, 90 mm), abzüglich Befestigung und eingesetztem Fräser eher so z=70 mm
41 * Kugelgewindetriebe
42 * Zwei Endschalter pro Achse
43 * Derzeit zwei Frässpindeln verfügbar
44 ** <s>[[#HF-Spindel|Hochfrequenzspindel]]</s> defekt, siehe [https://gitli.stratum0.org/stratum0/TUWAT/-/issues/10 TUWAT]
45 ** [[#Proxxon|Proxxon]]
46 ** Kress
47 * NEMA23 Schrittmotoren der Firma Nanotec [http://de.nanotec.com/fileadmin/files/Datenblaetter/Schrittmotoren/ST5918/ST5918M3008-A.pdf 4T5618M3300]
48
49 ==== Motoranschlüsse an der Fräse ====
50 Die Fräse führt an der Hinterseite 3 D-Sub DE-9 Buchsen heraus, die je für die Ansteuerung der X-, Y- und Z-Achse zwei Polepaaranschlüsse bereitstellt.
51 Pinbelegung D-Sub DE-9 Buchsen
52
53 1. Pol A
54 2. Pol /A
55 3. Pol B
56 4. Pol /B
57 5.
58 6.
59 7.
60 8.
61 9.
62
63
64 In der Fräse selbst steckt keine Logik, die Achsen werden über drei D-Sub-Buchsen aus der Fräse herausgeführt.
65 [[Datei:CNC-Pinbelegungen auf dem 25Pin-Kabel.pdf|thumb|Die etwas komische Belegung der CNC-Fräse]]
66 ==== Endschalter ====
67 * X-Achse: Endschalter für min. und max. sind vorhanden
68 * Y-Achse: Endschalter für min. und max. sind vorhanden
69 * Z-Achse: Endschalter für min. und max. sind vorhanden
70
71 Die Entschalter mit NC (Normally Connected) an den jeweiligen D-Sub DE-9 Buchsen mit den Pins 5 (Common), 7 und 9 angeschlossen.
72 Auf dem 25-Pol Kabel ist allerdings Pin 9 Common. Das sollte sich durch umlöten der Stecker an der CNC-Fräse aber ändern lassen.
73
74 === Werkzeuge ===
75 ==== Proxxon ====
76 * 230V, 100W
77 * 20k 1/min direkt am Gerät stufenlos verstellbar
78 * Wird direkt an den Rechner angeschlossen
79 * Mit Aufnahmen für verschiedene Einsatz-Durchmesser bis 3.2 mm
80 * Das vordere Lager wurde durch Proxxon kostenlos getauscht und ist somit wieder i.O.
81
82 ==== HF-Spindel ====
83 * Wird von einem externen Netzteil mit Strom versorgt, das wiederum über "Fußpedal"-Anschluss mit Rechner ("HF-Spindel") verbunden wird. (Kann kurzgeschlossen werden, die Spindel ohne den Rechner zu betreiben.
84 * 50k 1/min
85
86 ==== Werkzeug-Einsätze ====
87 * Siehe Bilder
88
89 * Als Beispiel könnten diese [http://tumblebeer.com/upgrayedd/ Spannpratzen] dienen.
90 ** Vorstellung von 7 [http://makezine.com/2016/06/20/7-cnc-fixturing-tips-small-shop/ Befestigungsmöglichkeiten] von Werkstücken im CNC-Umfeld.
91
92 === Misc ===
93 * Produktnr. 148508
94 * Ident 9911 00042
95
96 * [https://www.dropbox.com/sc/48b807yucui78j6/YiSdTUa890 Unsortierte Bilder]
97
98 == Erste Experimente ==
99 [[Datei:CNC-Experimente.JPG|thumb|Erste CNC Experimente]]
100 * Anschluss an ein [https://smoothieware.github.io/Webif-pack/documentation/web/html/ SmoothieBoard]
101 * Config angepasst (Siehe Upload von larsan)
102 * Mit Eagle und [http://www.pcbgcode.org/ pcb-gcode] gcode erzeugt, auf SmoothieBoard übertragen und ausgeführt
103 * Noch einige Probleme mit der Einstellung der Höhe(Z-Achse), da der Kleber unter der Platine etwas uneben war
104
105 === Smoothieboard config ===
106 [[Datei:Smoothieboard 5x new.jpg|thumb|Smoothieboard 5X frisch aus der Verpackung, ohne aufgelötete Kontakte.]]
107
108
109 Eine erste config fürs Smoothieboard, liegt als ''config'' im Rootverzeichnis der µSD-Karte:
110
111 <pre style="height:200px;overflow-y:scroll;">
112 # NOTE Lines must not exceed 132 characters
113 # Robot module configurations : general handling of movement G-codes and slicing into moves
114 default_feed_rate 200 # Default rate ( mm/minute ) for G1/G2/G3 moves
115 default_seek_rate 600 # Default rate ( mm/minute ) for G0 moves
116 mm_per_arc_segment 0.5 # Arcs are cut into segments ( lines ), this is the length for
117 # these segments. Smaller values mean more resolution,
118 # higher values mean faster computation
119 mm_per_line_segment 5 # Lines can be cut into segments ( not usefull with cartesian
120 # coordinates robots ).
121
122 # Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
123 alpha_steps_per_mm 800 # Steps per mm for alpha stepper
124 beta_steps_per_mm 800 # Steps per mm for beta stepper
125 gamma_steps_per_mm 800 # Steps per mm for gamma stepper
126
127 # Planner module configuration : Look-ahead and acceleration configuration
128 planner_queue_size 32 # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
129 acceleration 500 # Acceleration in mm/second/second.
130 acceleration_ticks_per_second 1000 # Number of times per second the speed is updated
131 junction_deviation 0.05 # Similar to the old "max_jerk", in millimeters,
132 # see https://github.com/grbl/grbl/blob/master/planner.c#L409
133 # and https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8
134 # Lower values mean being more careful, higher values means being
135 # faster and have more jerk
136 #minimum_planner_speed 0.0 # sets the minimum planner speed in mm/sec
137
138 # Stepper module configuration
139 microseconds_per_step_pulse 1 # Duration of step pulses to stepper drivers, in microseconds
140 minimum_steps_per_minute 1200 # Never step slower than this
141 base_stepping_frequency 100000 # Base frequency for stepping, higher gives smoother movement
142
143 # Cartesian axis speed limits
144 x_axis_max_speed 1500 # mm/min
145 y_axis_max_speed 1500 # mm/min
146 z_axis_max_speed 300 # mm/min
147
148 # Stepper module pins ( ports, and pin numbers, appending "!" to the number will invert a pin )
149 alpha_step_pin 2.0 # Pin for alpha stepper step signal
150 alpha_dir_pin 0.5 # Pin for alpha stepper direction
151 alpha_en_pin 0.4 # Pin for alpha enable pin
152 alpha_current 1.0 # X stepper motor current
153 alpha_max_rate 1500.0 # mm/min
154
155 beta_step_pin 2.1 # Pin for beta stepper step signal
156 beta_dir_pin 0.11 # Pin for beta stepper direction
157 beta_en_pin 0.10 # Pin for beta enable
158 beta_current 1.0 # Y stepper motor current
159 beta_max_rate 1500.0 # mm/min
160
161 gamma_step_pin 2.2 # Pin for gamma stepper step signal
162 gamma_dir_pin 0.20 # Pin for gamma stepper direction
163 gamma_en_pin 0.19 # Pin for gamma enable
164 gamma_current 1.0 # Z stepper motor current
165 gamma_max_rate 300.0 # mm/min
166
167 # Serial communications configuration ( baud rate default to 9600 if undefined )
168 uart0.baud_rate 115200 # Baud rate for the default hardware serial port
169 second_usb_serial_enable false # This enables a second usb serial port (to have both pronterface
170 # and a terminal connected)
171 #leds_disable true # disable using leds after config loaded
172
173
174 # Extruder module configuration
175 extruder_module_enable true # Whether to activate the extruder module at all. All configuration
176 # is ignored if false
177 extruder_steps_per_mm 140 # Steps per mm for extruder stepper
178 extruder_default_feed_rate 600 # Default rate ( mm/minute ) for moves where only the extruder moves
179 extruder_acceleration 500 # Acceleration for retracts, mm/sec^2
180 extruder_max_speed 1000 # mm/sec NOTE only used for retracts
181
182 extruder_step_pin 2.3 # Pin for extruder step signal
183 extruder_dir_pin 0.22 # Pin for extruder dir signal
184 extruder_en_pin 0.21 # Pin for extruder enable signal
185 delta_current 1.5 # Extruder stepper motor current
186
187 # Laser module configuration
188 laser_module_enable false # Whether to activate the laser module at all. All configuration is
189 # ignored if false.
190 #laser_module_pin 2.5 # this pin will be PWMed to control the laser. Only P2.0 - P2.5
191 # can be used since laser requires hardware PWM
192 #laser_module_max_power 0.8 # this is the maximum duty cycle that will be applied to the laser
193 #laser_module_tickle_power 0.0 # this duty cycle will be used for travel moves to keep the laser
194 # active without actually burning
195 #laser_module_pwm_period 20 # this sets the pwm frequency as the period in microseconds
196
197 # Hotend temperature control configuration
198 temperature_control.hotend.enable true # Whether to activate this ( "hotend" ) module at all.
199 # All configuration is ignored if false.
200 temperature_control.hotend.thermistor_pin 0.23 # Pin for the thermistor to read
201 temperature_control.hotend.heater_pin 2.7 # Pin that controls the heater
202 temperature_control.hotend.thermistor EPCOS100K # see src/modules/tools/temperaturecontrol/TemperatureControl.cpp:64
203 # for a list of valid thermistor names
204 temperature_control.hotend.set_m_code 104 #
205 temperature_control.hotend.set_and_wait_m_code 109 #
206 temperature_control.hotend.designator T #
207
208 #temperature_control.hotend.p_factor 13.7 # permanenetly set the PID values after an auto pid
209 #temperature_control.hotend.i_factor 0.097 #
210 #temperature_control.hotend.d_factor 24 #
211
212 #temperature_control.hotend.max_pwm 64 # max pwm, 64 is a good value if driving a 12v resistor with 24v.
213
214 temperature_control.bed.enable true #
215 temperature_control.bed.thermistor_pin 0.24 #
216 temperature_control.bed.heater_pin 2.5 #
217 temperature_control.bed.thermistor Honeywell100K # see src/modules/tools/temperaturecontrol/TemperatureControl.cpp:64
218 # for a list of valid thermistor names
219 temperature_control.bed.set_m_code 140 #
220 temperature_control.bed.set_and_wait_m_code 190 #
221 temperature_control.bed.designator B #
222
223 #temperature_control.bed.bang_bang false # set to true to use bang bang control rather than PID
224 #temperature_control.bed.hysteresis 2.0 # set to the temperature in degrees C to use as hysteresis
225 # when using bang bang
226
227 # Switch module for fan control
228 switch.fan.enable true #
229 switch.fan.input_on_command M106 #
230 switch.fan.input_off_command M107 #
231 switch.fan.output_pin 2.6 #
232 switch.fan.output_type pwm # pwm output settable with S parameter in the input_on_comand
233 #switch.fan.max_pwm 255 # set max pwm for the pin default is 255
234
235 #switch.misc.enable true #
236 #switch.misc.input_on_command M42 #
237 #switch.misc.input_off_command M43 #
238 #switch.misc.output_pin 2.4 #
239 #switch.misc.output_type digital # just an on or off pin
240
241 # Switch module for spindle control
242 #switch.spindle.enable false #
243
244 # Endstops
245 endstops_enable true # the endstop module is enabled by default and can be disabled here
246 #corexy_homing false # set to true if homing on a hbit or corexy
247 alpha_min_endstop 1.24^ # add a ! to invert if endstop is NO connected to ground
248 alpha_max_endstop 1.25^ #
249 alpha_homing_direction home_to_min # or set to home_to_max and set alpha_max
250 alpha_min 0 # this gets loaded after homing when home_to_min is set
251 alpha_max 200 # this gets loaded after homing when home_to_max is set
252 beta_min_endstop 1.26^ #
253 beta_max_endstop 1.27^ #
254 beta_homing_direction home_to_min #
255 beta_min 0 #
256 beta_max 200 #
257 gamma_min_endstop 1.28^ #
258 gamma_max_endstop 1.29^ #
259 gamma_homing_direction home_to_min #
260 gamma_min 0 #
261 gamma_max 200 #
262
263 alpha_fast_homing_rate_mm_s 50 # feedrates in mm/second
264 beta_fast_homing_rate_mm_s 50 # "
265 gamma_fast_homing_rate_mm_s 4 # "
266 alpha_slow_homing_rate_mm_s 25 # "
267 beta_slow_homing_rate_mm_s 25 # "
268 gamma_slow_homing_rate_mm_s 2 # "
269
270 alpha_homing_retract_mm 5 # distance in mm
271 beta_homing_retract_mm 5 # "
272 gamma_homing_retract_mm 1 # "
273
274 #endstop_debounce_count 100 # uncomment if you get noise on your endstops
275
276 # Pause button
277 pause_button_enable true #
278
279 # Panel
280 panel.enable false # set to true to enable the panel code
281 panel.lcd smoothiepanel # set type of panel
282 panel.encoder_a_pin 3.25!^ # encoder pin
283 panel.encoder_b_pin 3.26!^ # encoder pin
284
285 # Example for reprap discount GLCD
286 # on glcd EXP1 is to left and EXP2 is to right, pin 1 is bottom left, pin 2 is top left etc.
287 # +5v is EXP1 pin 10, Gnd is EXP1 pin 9
288 #panel.lcd reprap_discount_glcd #
289 #panel.spi_channel 0 # spi channel to use ; GLCD EXP1 Pins 3,5 (MOSI, SCLK)
290 #panel.spi_cs_pin 0.16 # spi chip select ; GLCD EXP1 Pin 4
291 #panel.encoder_a_pin 3.25!^ # encoder pin ; GLCD EXP2 Pin 3
292 #panel.encoder_b_pin 3.26!^ # encoder pin ; GLCD EXP2 Pin 5
293 #panel.click_button_pin 1.30!^ # click button ; GLCD EXP1 Pin 2
294 #panel.buzz_pin 1.31 # pin for buzzer ; GLCD EXP1 Pin 1
295 #panel.button_pause_pin 2.11^ # kill/pause ; GLCD EXP2 Pin 8 either
296 #panel.back_button_pin 2.11!^ # back button ; GLCD EXP2 Pin 8 or
297
298 # pins used with other panels
299 #panel.up_button_pin 0.1! # up button if used
300 #panel.down_button_pin 0.0! # down button if used
301 #panel.click_button_pin 0.18! # click button if used
302
303 panel.menu_offset 0 # some panels will need 1 here
304
305 panel.alpha_jog_feedrate 1000 # x jogging feedrate in mm/min
306 panel.beta_jog_feedrate 1000 # y jogging feedrate in mm/min
307 panel.gamma_jog_feedrate 200 # z jogging feedrate in mm/min
308
309 panel.hotend_temperature 185 # temp to set hotend when preheat is selected
310 panel.bed_temperature 60 # temp to set bed when preheat is selected
311
312 # Example of a custom menu entry, which will show up in the Custom entry.
313 # NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands
314 custom_menu.power_on.enable true #
315 custom_menu.power_on.name Power_on #
316 custom_menu.power_on.command M80 #
317
318 custom_menu.power_off.enable true #
319 custom_menu.power_off.name Power_off #
320 custom_menu.power_off.command M81 #
321
322 # Only needed on a smoothieboard
323 currentcontrol_module_enable true #
324
325 return_error_on_unhandled_gcode false #
326
327 # network settings
328 network.enable true
329 # enable the ethernet network services
330 network.webserver.enable true # enable the webserver
331 network.telnet.enable true # enable the telnet server
332 #network.ip_address auto # use dhcp to get ip address
333 # uncomment the 3 below to manually setup ip address
334 network.ip_address 192.168.178.222 # the IP address
335 network.ip_mask 255.255.254.0 # the ip mask
336 network.ip_gateway 192.168.178.1 # the gateway address
337 #network.mac_override xx.xx.xx.xx.xx.xx # override the mac address, only do this if you have a conflict
338
339 </pre>
340
341 Config die am 2023-09-17 vorgefunden wurde:
342
343 <pre style="height:200px;overflow-y:scroll;">
344 # NOTE Lines must not exceed 132 characters
345 # Robot module configurations : general handling of movement G-codes and slicing into moves
346 default_feed_rate 200 # Default rate ( mm/minute ) for G1/G2/G3 moves
347 default_seek_rate 600 # Default rate ( mm/minute ) for G0 moves
348 mm_per_arc_segment 0.5 # Arcs are cut into segments ( lines ), this is the length for
349 # these segments. Smaller values mean more resolution,
350 # higher values mean faster computation
351 mm_per_line_segment 5 # Lines can be cut into segments ( not usefull with cartesian
352 # coordinates robots ).
353
354 # Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
355 alpha_steps_per_mm 800 # Steps per mm for alpha stepper
356 beta_steps_per_mm 800 # Steps per mm for beta stepper
357 gamma_steps_per_mm 800 # Steps per mm for gamma stepper
358
359 # Planner module configuration : Look-ahead and acceleration configuration
360 planner_queue_size 32 # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
361 acceleration 500 # Acceleration in mm/second/second.
362 acceleration_ticks_per_second 1000 # Number of times per second the speed is updated
363 junction_deviation 0.05 # Similar to the old "max_jerk", in millimeters,
364 # see https://github.com/grbl/grbl/blob/master/planner.c#L409
365 # and https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8
366 # Lower values mean being more careful, higher values means being
367 # faster and have more jerk
368 #minimum_planner_speed 0.0 # sets the minimum planner speed in mm/sec
369
370 # Stepper module configuration
371 microseconds_per_step_pulse 1 # Duration of step pulses to stepper drivers, in microseconds
372 minimum_steps_per_minute 1200 # Never step slower than this
373 base_stepping_frequency 100000 # Base frequency for stepping, higher gives smoother movement
374
375 # Cartesian axis speed limits
376 x_axis_max_speed 1500 # mm/min
377 y_axis_max_speed 1500 # mm/min
378 z_axis_max_speed 300 # mm/min
379
380 # Stepper module pins ( ports, and pin numbers, appending "!" to the number will invert a pin )
381 alpha_step_pin 2.0 # Pin for alpha stepper step signal
382 alpha_dir_pin 0.5! # Pin for alpha stepper direction
383 alpha_en_pin 0.4 # Pin for alpha enable pin
384 alpha_current 1.0 # X stepper motor current
385 alpha_max_rate 1500.0 # mm/min
386
387 beta_step_pin 2.1 # Pin for beta stepper step signal
388 beta_dir_pin 0.11 # Pin for beta stepper direction
389 beta_en_pin 0.10 # Pin for beta enable
390 beta_current 1.0 # Y stepper motor current
391 beta_max_rate 1500.0 # mm/min
392
393 gamma_step_pin 2.2 # Pin for gamma stepper step signal
394 gamma_dir_pin 0.20 # Pin for gamma stepper direction
395 gamma_en_pin 0.19 # Pin for gamma enable
396 gamma_current 1.0 # Z stepper motor current
397 gamma_max_rate 300.0 # mm/min
398
399 # Serial communications configuration ( baud rate default to 9600 if undefined )
400 uart0.baud_rate 115200 # Baud rate for the default hardware serial port
401 second_usb_serial_enable false # This enables a second usb serial port (to have both pronterface
402 # and a terminal connected)
403 #leds_disable true # disable using leds after config loaded
404
405
406 # Extruder module configuration
407 extruder_module_enable true # Whether to activate the extruder module at all. All configuration
408 # is ignored if false
409 extruder_steps_per_mm 140 # Steps per mm for extruder stepper
410 extruder_default_feed_rate 600 # Default rate ( mm/minute ) for moves where only the extruder moves
411 extruder_acceleration 500 # Acceleration for retracts, mm/sec^2
412 extruder_max_speed 1000 # mm/sec NOTE only used for retracts
413
414 extruder_step_pin 2.3 # Pin for extruder step signal
415 extruder_dir_pin 0.22 # Pin for extruder dir signal
416 extruder_en_pin 0.21 # Pin for extruder enable signal
417 delta_current 1.5 # Extruder stepper motor current
418
419 # Laser module configuration
420 laser_module_enable false # Whether to activate the laser module at all. All configuration is
421 # ignored if false.
422 #laser_module_pin 2.5 # this pin will be PWMed to control the laser. Only P2.0 - P2.5
423 # can be used since laser requires hardware PWM
424 #laser_module_max_power 0.8 # this is the maximum duty cycle that will be applied to the laser
425 #laser_module_tickle_power 0.0 # this duty cycle will be used for travel moves to keep the laser
426 # active without actually burning
427 #laser_module_pwm_period 20 # this sets the pwm frequency as the period in microseconds
428
429 # Hotend temperature control configuration
430 temperature_control.hotend.enable true # Whether to activate this ( "hotend" ) module at all.
431 # All configuration is ignored if false.
432 temperature_control.hotend.thermistor_pin 0.23 # Pin for the thermistor to read
433 temperature_control.hotend.heater_pin 2.7 # Pin that controls the heater
434 temperature_control.hotend.thermistor EPCOS100K # see src/modules/tools/temperaturecontrol/TemperatureControl.cpp:64
435 # for a list of valid thermistor names
436 temperature_control.hotend.set_m_code 104 #
437 temperature_control.hotend.set_and_wait_m_code 109 #
438 temperature_control.hotend.designator T #
439
440 #temperature_control.hotend.p_factor 13.7 # permanenetly set the PID values after an auto pid
441 #temperature_control.hotend.i_factor 0.097 #
442 #temperature_control.hotend.d_factor 24 #
443
444 #temperature_control.hotend.max_pwm 64 # max pwm, 64 is a good value if driving a 12v resistor with 24v.
445
446 temperature_control.bed.enable true #
447 temperature_control.bed.thermistor_pin 0.24 #
448 temperature_control.bed.heater_pin 2.5 #
449 temperature_control.bed.thermistor Honeywell100K # see src/modules/tools/temperaturecontrol/TemperatureControl.cpp:64
450 # for a list of valid thermistor names
451 temperature_control.bed.set_m_code 140 #
452 temperature_control.bed.set_and_wait_m_code 190 #
453 temperature_control.bed.designator B #
454
455 #temperature_control.bed.bang_bang false # set to true to use bang bang control rather than PID
456 #temperature_control.bed.hysteresis 2.0 # set to the temperature in degrees C to use as hysteresis
457 # when using bang bang
458
459 # Switch module for fan control
460 switch.fan.enable true #
461 switch.fan.input_on_command M106 #
462 switch.fan.input_off_command M107 #
463 switch.fan.output_pin 2.6 #
464 switch.fan.output_type pwm # pwm output settable with S parameter in the input_on_comand
465 #switch.fan.max_pwm 255 # set max pwm for the pin default is 255
466
467 #switch.misc.enable true #
468 #switch.misc.input_on_command M42 #
469 #switch.misc.input_off_command M43 #
470 #switch.misc.output_pin 2.4 #
471 #switch.misc.output_type digital # just an on or off pin
472
473 # Switch module for spindle control
474 #switch.spindle.enable false #
475
476 # Endstops
477 endstops_enable true # the endstop module is enabled by default and can be disabled here
478 #corexy_homing false # set to true if homing on a hbit or corexy
479 alpha_min_endstop 1.24^! # add a ! to invert if endstop is NO connected to ground
480 alpha_max_endstop 1.25^ #
481 alpha_homing_direction home_to_min # or set to home_to_max and set alpha_max
482 alpha_min 0 # this gets loaded after homing when home_to_min is set
483 alpha_max 200 # this gets loaded after homing when home_to_max is set
484 beta_min_endstop 1.26^! #
485 beta_max_endstop 1.27^ #
486 beta_homing_direction home_to_min #
487 beta_min 0 #
488 beta_max 200 #
489 gamma_min_endstop 1.28^! #
490 gamma_max_endstop 1.29^ #
491 gamma_homing_direction home_to_min #
492 gamma_min 0 #
493 gamma_max 200 #
494
495 alpha_fast_homing_rate_mm_s 50 # feedrates in mm/second
496 beta_fast_homing_rate_mm_s 50 # "
497 gamma_fast_homing_rate_mm_s 4 # "
498 alpha_slow_homing_rate_mm_s 25 # "
499 beta_slow_homing_rate_mm_s 25 # "
500 gamma_slow_homing_rate_mm_s 2 # "
501
502 alpha_homing_retract_mm 5 # distance in mm
503 beta_homing_retract_mm 5 # "
504 gamma_homing_retract_mm 1 # "
505
506 #endstop_debounce_count 100 # uncomment if you get noise on your endstops
507
508 # Pause button
509 pause_button_enable true #
510
511 # Panel
512 panel.enable true # set to true to enable the panel code
513 panel.encoder_a_pin 3.25!^ # encoder pin
514 panel.encoder_b_pin 3.26!^ # encoder pin
515
516 # Example for reprap discount GLCD
517 # on glcd EXP1 is to left and EXP2 is to right, pin 1 is bottom left, pin 2 is top left etc.
518 # +5v is EXP1 pin 10, Gnd is EXP1 pin 9
519 panel.lcd universal_adapter #
520 panel.spi_channel 0 # spi channel to use ; GLCD EXP1 Pins 3,5 (MOSI, SCLK)
521 panel.spi_cs_pin 0.16 # spi chip select ; GLCD EXP1 Pin 4
522 #panel.encoder_a_pin 3.25!^ # encoder pin ; GLCD EXP2 Pin 3
523 #panel.encoder_b_pin 3.26!^ # encoder pin ; GLCD EXP2 Pin 5
524 #panel.click_button_pin 1.30!^ # click button ; GLCD EXP1 Pin 2
525 #panel.buzz_pin 1.31 # pin for buzzer ; GLCD EXP1 Pin 1
526 #panel.button_pause_pin 2.11^ # kill/pause ; GLCD EXP2 Pin 8 either
527 #panel.back_button_pin 2.11!^ # back button ; GLCD EXP2 Pin 8 or
528
529 # pins used with other panels
530 #panel.up_button_pin 0.1! # up button if used
531 #panel.down_button_pin 0.0! # down button if used
532 #panel.click_button_pin 0.18! # click button if used
533
534 panel.menu_offset 0 # some panels will need 1 here
535
536 panel.alpha_jog_feedrate 1000 # x jogging feedrate in mm/min
537 panel.beta_jog_feedrate 1000 # y jogging feedrate in mm/min
538 panel.gamma_jog_feedrate 200 # z jogging feedrate in mm/min
539
540 #panel.hotend_temperature 185 # temp to set hotend when preheat is selected
541 #panel.bed_temperature 60 # temp to set bed when preheat is selected
542
543 # Example of a custom menu entry, which will show up in the Custom entry.
544 # NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands
545 custom_menu.power_on.enable true #
546 custom_menu.power_on.name Power_on #
547 custom_menu.power_on.command M80 #
548
549 custom_menu.power_off.enable true #
550 custom_menu.power_off.name Power_off #
551 custom_menu.power_off.command M81 #
552
553 # Only needed on a smoothieboard
554 currentcontrol_module_enable true #
555
556 return_error_on_unhandled_gcode false #
557
558 # network settings
559 network.enable true
560 # enable the ethernet network services
561 network.webserver.enable true # enable the webserver
562 network.telnet.enable true # enable the telnet server
563 #network.ip_address auto # use dhcp to get ip address
564 # uncomment the 3 below to manually setup ip address
565 network.ip_address 192.168.178.222 # the IP address
566 network.ip_mask 255.255.254.0 # the ip mask
567 network.ip_gateway 192.168.178.1 # the gateway address
568 #network.mac_override xx.xx.xx.xx.xx.xx # override the mac address, only do this if you have a conflict
569 #
570 #
571 #
572 </pre>
573
574
575 Configuration after adding support for auto-homing on 2023-09-17
576 <pre style="height:200px;overflow-y:scroll;">
577 # NOTE Lines must not exceed 132 characters
578 # Robot module configurations : general handling of movement G-codes and slicing into moves
579 default_feed_rate 200 # Default rate ( mm/minute ) for G1/G2/G3 moves
580 default_seek_rate 1500 # Default rate ( mm/minute ) for G0 moves
581 mm_per_arc_segment 0.5 # Arcs are cut into segments ( lines ), this is the length for
582 # these segments. Smaller values mean more resolution,
583 # higher values mean faster computation
584 mm_per_line_segment 5 # Lines can be cut into segments ( not usefull with cartesian
585 # coordinates robots ).
586
587 # Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
588 alpha_steps_per_mm 800 # Steps per mm for alpha stepper
589 beta_steps_per_mm 800 # Steps per mm for beta stepper
590 gamma_steps_per_mm 800 # Steps per mm for gamma stepper
591
592 # Planner module configuration : Look-ahead and acceleration configuration
593 planner_queue_size 32 # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
594 acceleration 500 # Acceleration in mm/second/second.
595 acceleration_ticks_per_second 1000 # Number of times per second the speed is updated
596 junction_deviation 0.05 # Similar to the old "max_jerk", in millimeters,
597 # see https://github.com/grbl/grbl/blob/master/planner.c#L409
598 # and https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8
599 # Lower values mean being more careful, higher values means being
600 # faster and have more jerk
601 #minimum_planner_speed 0.0 # sets the minimum planner speed in mm/sec
602
603 # Stepper module configuration
604 microseconds_per_step_pulse 1 # Duration of step pulses to stepper drivers, in microseconds
605 minimum_steps_per_minute 1200 # Never step slower than this
606 base_stepping_frequency 100000 # Base frequency for stepping, higher gives smoother movement
607
608 # Cartesian axis speed limits
609 x_axis_max_speed 2000 # mm/min
610 y_axis_max_speed 2000 # mm/min
611 z_axis_max_speed 1000 # mm/min
612
613 # Stepper module pins ( ports, and pin numbers, appending "!" to the number will invert a pin )
614 alpha_step_pin 2.0 # Pin for alpha stepper step signal
615 alpha_dir_pin 0.5! # Pin for alpha stepper direction
616 alpha_en_pin 0.4 # Pin for alpha enable pin
617 alpha_current 1.0 # X stepper motor current
618 alpha_max_rate 2000.0 # mm/min
619
620 beta_step_pin 2.1 # Pin for beta stepper step signal
621 beta_dir_pin 0.11 # Pin for beta stepper direction
622 beta_en_pin 0.10 # Pin for beta enable
623 beta_current 1.5 # Y stepper motor current
624 beta_max_rate 2000.0 # mm/min
625
626 gamma_step_pin 2.2 # Pin for gamma stepper step signal
627 gamma_dir_pin 0.20 # Pin for gamma stepper direction
628 gamma_en_pin 0.19 # Pin for gamma enable
629 gamma_current 1.0 # Z stepper motor current
630 gamma_max_rate 1000.0 # mm/min
631
632 # Serial communications configuration ( baud rate default to 9600 if undefined )
633 uart0.baud_rate 115200 # Baud rate for the default hardware serial port
634 second_usb_serial_enable false # This enables a second usb serial port (to have both pronterface
635 # and a terminal connected)
636 #leds_disable true # disable using leds after config loaded
637
638
639 # Extruder module configuration
640 extruder_module_enable false # Whether to activate the extruder module at all. All configuration
641 # is ignored if false
642
643 # Laser module configuration
644 laser_module_enable false # Whether to activate the laser module at all. All configuration is
645 # ignored if false.
646 #laser_module_pin 2.5 # this pin will be PWMed to control the laser. Only P2.0 - P2.5
647 # can be used since laser requires hardware PWM
648 #laser_module_max_power 0.8 # this is the maximum duty cycle that will be applied to the laser
649 #laser_module_tickle_power 0.0 # this duty cycle will be used for travel moves to keep the laser
650 # active without actually burning
651 #laser_module_pwm_period 20 # this sets the pwm frequency as the period in microseconds
652
653 # Hotend temperature control configuration
654 temperature_control.hotend.enable false # Whether to activate this ( "hotend" ) module at all.
655 # All configuration is ignored if false.
656 temperature_control.bed.enable false #
657
658 # Switch module for fan control
659 switch.fan.enable false #
660
661 # Switch module for spindle control
662 #switch.spindle.enable false #
663
664 # Endstops
665 endstops_enable true # the endstop module is enabled by default and can be disabled here
666 #corexy_homing false # set to true if homing on a hbit or corexy
667 alpha_min_endstop 1.24^ # add a ! to invert if endstop is NO connected to ground
668 alpha_max_endstop 1.25^ #
669 alpha_homing_direction home_to_min # or set to home_to_max and set alpha_max
670 alpha_min 0 # this gets loaded after homing when home_to_min is set
671 alpha_max 200 # this gets loaded after homing when home_to_max is set
672 alpha_limit_enable false
673 beta_min_endstop 1.26^ #
674 beta_max_endstop 1.27^ #
675 beta_homing_direction home_to_min #
676 beta_min 0 #
677 beta_max 200 #
678 beta_limit_enable false
679 gamma_min_endstop 1.28^ #
680 gamma_max_endstop 1.29^ #
681 gamma_homing_direction home_to_max #
682 gamma_min 0 #
683 gamma_max 100 #
684 gamma_limit_enable false
685
686 alpha_fast_homing_rate_mm_s 100 # feedrates in mm/second
687 beta_fast_homing_rate_mm_s 100 # "
688 gamma_fast_homing_rate_mm_s 20 # "
689 alpha_slow_homing_rate_mm_s 25 # "
690 beta_slow_homing_rate_mm_s 25 # "
691 gamma_slow_homing_rate_mm_s 2 # "
692
693 alpha_homing_retract_mm 5 # distance in mm
694 beta_homing_retract_mm 5 # "
695 gamma_homing_retract_mm 1 # "
696
697 home_z_first true
698
699 #endstop_debounce_count 100 # uncomment if you get noise on your endstops
700
701 # Pause button
702 pause_button_enable true #
703
704 # Only needed on a smoothieboard
705 currentcontrol_module_enable true #
706
707 return_error_on_unhandled_gcode false #
708
709 # network settings
710 network.enable true
711 # enable the ethernet network services
712 network.webserver.enable true # enable the webserver
713 network.telnet.enable true # enable the telnet server
714 #network.ip_address auto # use dhcp to get ip address
715 # uncomment the 3 below to manually setup ip address
716 network.ip_address 192.168.178.222 # the IP address
717 network.ip_mask 255.255.254.0 # the ip mask
718 network.ip_gateway 192.168.178.1 # the gateway address
719 #network.mac_override xx.xx.xx.xx.xx.xx # override the mac address, only do this if you have a conflict
720 </pre>
721
722 == Workflow ==
723 # '''Model (CAD)'''
724 #* Erzeugen des Models mittels einer CAD-Software.
725 #** 3D
726 #*** [http://freecadweb.org/ FreeCAD]
727 #*** [http://librecad.org/ LibreCAD]
728 #*** [http://www.openscad.org/ OpenSCAD]
729 #*** [http://www.blender.org/ Blender]
730 #*** [https://www.autodesk.com/products/fusion-360/overview Fusion 360] - [[CNC-Fräse/Fusion360|installiert auf Stratux]]
731 #** 2D
732 #*** [http://www.qcad.org/ QCAD]
733 #*** [http://www.openscad.org/ OpenSCAD]
734 #*** [http://www.inkscape.org/ Inkscape]
735 # '''Fräsanweisungen (CAM)'''
736 #: Erzeugen der Fräsanweisungen/Maschinenanweisungen mit einer CAM.
737 #: Wir suchen noch nach einer brauchbaren Open-Source Lösung.
738 #* [http://www.cambam.info/ CamBam] (kommerziell, Windows): Es gibt eine ältere Mono Version für Linux. Die Demo schneidet nach 40 mal Starten Gcode ab.
739 #**CamBam ist auf [[Stratux]] installiert
740 #* [https://wiki.freecadweb.org/Path_Workbench FreeCAD mit Path Workbench] ([[Vorträge/Vorbei#Talks am Samstag, 14. August 2021, ab 19:00 (online)|Vortrag]] dazu)
741 #* [http://pycam.sourceforge.net/ PyCAM] (open source, plattformunabhängig): Sieht im Vergleich zu aktuellen kommerziellen Lösungen alt aus und ist bisweilen recht langsam.
742 #* [https://github.com/Heeks/heekscad HeeksCAD] (open source, Windows/Linux):
743 #* [http://cam.autodesk.de/inventor-hsm/ Inventor HSM] (kommerziell, Windows 64bit): Gibt für Studenten eine 3-Jahres Lizenz kostenlos, aber mit viel DRM.
744 #* [http://flatcam.org/ FlatCam] Tool zur Generierung von Maschinencode für das [[CNC-Fräse/Isolationsfräsen]].
745 #* [http://jscut.org/ jscut], SVG nach GCode, läuft im Browser, [https://github.com/tbfleming/jscut Open Source auf GitHub]
746 #* [https://inkscape.org Inkscape] mit GCodetools-Plugin ([https://www.norwegiancreations.com/2015/08/an-intro-to-g-code-and-how-to-generate-it-using-inkscape/ Tutorial])
747 #* [https://github.com/stratum0/CNCmilling Eigenbau by Drahflow] Python-Script für Umwandlung von Tiefenkarten in G-Code.
748 # '''Simulation'''
749 #* Eine Simulation der Fräsanweisungen kann bei Bedarf mit [http://camotics.org/ CAMotics] durchgeführt werden
750 #* Kleinere G-Code Dateien simuliert auch http://nraynaud.github.io/webgcode/
751 # '''Übertragen auf CNC-Controller Smoothieboard'''
752 #* Per Dateiupload (Datenträger von Smoothieboard, SD-Karte) [http://192.168.178.222 SmoothieControl]
753 #** notfalls kann man das SmoothieBoard auch über USB mit dem Befehl <code>net</code> in Pronterface oder über die serielle Konsole nach seiner IP-Adresse fragen
754 # '''Koordinatensystem der Fräse setzen'''
755 #*Fräse per Smoothie WebApp auf den gewünschten Nullpunkt fahren
756 #*per Webapp den G-Code "G92 X0 Y0 Z0" senden (Setzt aktuelle Position als X:0, Y:0, Z:0 im globalen Koordinatensystem.)
757 # '''Fräsen'''
758 === Parameter für verschiedene Werkstoffe ===
759 Parameter finden sich sind auf der Unterseite [[CNC-Fräse/Parameter]]
760
761 == Steuern des Smoothieboards ==
762 * Per seriell Verbindung über Konsole "screen /dev/ttyACM0 115200", oder Pronterface GUI
763 * Per Netzwerkverbindung über Konsole mit Telnet, oder Http Web UI
764 * Mittlerweile existiert sogar eine Android App [https://gitlab.com/damfle/SmoothieControl SmoothieControl]
765
766 * [https://github.com/vlachoudis/bCNC bCNC] ermöglicht das Senden von GCODE-Anweisungen und Visualisierung der Fräsbahnen in einer GUI.
767
768 == Weblinks ==
769 * [https://smoothieware.github.io/Webif-pack/documentation/web/html/ Smoothieboard Projektwebseite]
770 * [http://en.wikipedia.org/wiki/G-code GCodes (allgemein)]
771 * [http://reprap.org/wiki/G-code GCodes (reprap)]
772 * [https://smoothieware.github.io/Webif-pack/documentation/web/html/supported-g-codes.html Vom Smoothieboard unterstützte GCodes (unvollständig)]
773
774 [[Kategorie:Infrastruktur]]
775 [[Kategorie:CNC-Fräse]]
This page took 0.078537 seconds and 5 git commands to generate.