CNC-Portalfräse: Unterschied zwischen den Versionen

K (Smoothieboard config)
 
(10 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{{Hardware
 
{{Hardware
|kontakt = [[Benutzer:Daniel Bohrer|Daniel Bohrer]], {{Benutzer|Kasalehlia}}, {{Benutzer|larsan}}, {{Benutzer|comawill}}, {{Benutzer|adnc}}
+
|kontakt = {{Benutzer|wucke13}}
|status = wip
+
|status = working
|ort = Werkstatt
+
|ort = Werkstatt Space 3.0
 
|beschreibung = CNC-Fräse
 
|beschreibung = CNC-Fräse
 
|bild = CNC_mill_meeting.jpg
 
|bild = CNC_mill_meeting.jpg
 
|bildbeschreibung = erste Inbetriebnahme, noch auf dem Frickelraumtisch
 
|bildbeschreibung = erste Inbetriebnahme, noch auf dem Frickelraumtisch
 
|links = <!--optional-->
 
|links = <!--optional-->
|usage = Benutzung erst nach Einweisung. Kaputtmachen und Reparieren nur von Spezialexperten.
+
|usage = Benutzung erst nach Einweisung durch wucke13. Kaputtmachen und Reparieren nur von Spezialexperten.
 
}}
 
}}
  
{{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.}}
+
Im Jahr 2026 wurde eine neue Steuerung für die Fräse beschafft und aufgebaut, um sie mit LinuxCNC zu steuern.
 +
Seit 2026-04-23 ist die Hardware grundsätzlich Einsatzfähig, es stehen aber weitere Tests, Kalibrierungen und Experimente an, bis die Fräse für den normalen Betrieb freigegeben werden kann.
  
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.
 
 
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 [http://smoothieware.org/smoothieboard Smoothieboard] erfolgreich die ersten Schritte in diese Richtung gemacht.
 
 
Stand 27.06.2014: Wir haben uns ein eigenes Smoothieboard 5X zugelegt, das wird derzeit in Betrieb genommen.
 
  
 
== Überblick ==
 
== Überblick ==
Zeile 22: Zeile 18:
 
[[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]]
 
[[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]]
  
Es handelt sich um (Stand 2014) eine etwa 15 Jahre alte Isel Automation Flachbett-Tischfräse CNC Multi K.
+
Es handelt sich um eine Isel Automation Flachbett-Tischfräse CNC Multi K, Baujahr ca. 1999.
Kaum gebraucht und vermutlich seit ~9 Jahren nicht mehr in Betrieb gewesen, bevor sie 2014 zu uns kam.
+
Kaum gebraucht und vermutlich seit 2005 nicht mehr in Betrieb gewesen, bevor sie 2014 zu uns kam.
* maximaler Arbeitsbereich: (x,y,z) = (330 mm, 500 mm, 90 mm), abzüglich Befestigung und eingesetztem Fräser eher so z=70 mm
+
* maximaler Arbeitsbereich: (x,y,z) = (298 mm, 420 mm, 100 mm)
* Kugelgewindetriebe
+
* Kugelgewindetriebe, 4 mm Steigung, 2.45 mm Kugeln
 
* Zwei Endschalter pro Achse
 
* Zwei Endschalter pro Achse
 
* Derzeit zwei Frässpindeln verfügbar
 
* Derzeit zwei Frässpindeln verfügbar
** <s>[[CNC-Fräse#HF-Spindel|Hochfrequenzspindel]]</s> defekt, siehe [https://gitli.stratum0.org/stratum0/TUWAT/-/issues/10 TUWAT]
+
** <s>[[#HF-Spindel|Hochfrequenzspindel]]</s> defekt, siehe [https://gitli.stratum0.org/stratum0/TUWAT/-/issues/10 TUWAT]
** [[CNC-Fräse#Proxxon|Proxxon]]
+
** [[#Proxxon|Proxxon]]
 
** Kress
 
** Kress
 
* NEMA23 Schrittmotoren der Firma Nanotec [http://de.nanotec.com/fileadmin/files/Datenblaetter/Schrittmotoren/ST5918/ST5918M3008-A.pdf 4T5618M3300]
 
* NEMA23 Schrittmotoren der Firma Nanotec [http://de.nanotec.com/fileadmin/files/Datenblaetter/Schrittmotoren/ST5918/ST5918M3008-A.pdf 4T5618M3300]
  
==== Motoranschlüsse an der Fräse ====
+
==== Elektrischer Anschluss der Fräse ====
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.
 
Pinbelegung D-Sub DE-9 Buchsen
 
  
1. Pol A
+
Die Fräse ist über eine Harting 24 B Stecker mit dem Schaltschrank, der die Elektronik beinhaltet, verbunden.
2. Pol /A
+
Das dazugehörige Kabel ist knapp 1.8 m lang und kann auf beiden Seiten getrennt werden.
3. Pol B
+
Die Versorger Seite (Schaltschrank) ist als Buchse, die Verbraucher Seite (Fräse) als Stecker ausgelegt; das Kabel jeweils umgekehrt so dass es passt.
4. Pol /B
+
Der Stecker ist verpolsicher.
5.
 
6.
 
7.
 
8.
 
9.
 
  
 +
Das Stromkabel zur Frässpindel ist separat herausgeführt und im Schaltschrank in die schaltbare SchuKo-Steckdose "Socket 1" eingesteckt.
 +
LinuxCNC kann damit die Frässpindel ein und ausschalten; es gibt aber keinerlei Kontrolle oder Feedback über die Drehzahl.
  
In der Fräse selbst steckt keine Logik, die Achsen werden über drei D-Sub-Buchsen aus der Fräse herausgeführt.
+
=== Werkzeuge ===
[[Datei:CNC-Pinbelegungen auf dem 25Pin-Kabel.pdf|thumb|Die etwas komische Belegung der CNC-Fräse]]
+
==== AMB 1050 FME-1 ====
==== Endschalter ====
 
* X-Achse: Endschalter für min. und max. sind vorhanden
 
* Y-Achse: Endschalter für min. und max. sind vorhanden
 
* Z-Achse: Endschalter für min. und max. sind vorhanden
 
  
Die Entschalter mit NC (Normally Connected) an den jeweiligen D-Sub DE-9 Buchsen mit den Pins 5 (Common), 7 und 9 angeschlossen.
+
* Aufnahmeleistung: 1050 - Watt
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.
+
* Drehzahl: 5000...25000 - 1/min
  
=== Werkzeuge ===
+
[https://www.amb-elektrik.de/products/amb-frasmotor-1050-fme-1-230v-fur-standard-spannzangen]
==== Proxxon ====
 
* 230V, 100W
 
* 20k 1/min direkt am Gerät stufenlos verstellbar
 
* Wird direkt an den Rechner angeschlossen
 
* Mit Aufnahmen für verschiedene Einsatz-Durchmesser bis 3.2 mm
 
* Das vordere Lager wurde durch Proxxon kostenlos getauscht und ist somit wieder i.O.
 
 
 
==== HF-Spindel ====
 
* 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.
 
* 50k 1/min
 
  
 
==== Werkzeug-Einsätze ====
 
==== Werkzeug-Einsätze ====
Zeile 80: Zeile 57:
 
* Ident 9911 00042
 
* Ident 9911 00042
  
* [https://www.dropbox.com/sc/48b807yucui78j6/YiSdTUa890 Unsortierte Bilder]
 
  
== Erste Experimente ==
 
[[Datei:CNC-Experimente.JPG|thumb|Erste CNC Experimente]]
 
* Anschluss an ein [http://smoothieware.org/ SmoothieBoard]
 
* Config angepasst (Siehe Upload von larsan)
 
* Mit Eagle und [http://www.pcbgcode.org/ pcb-gcode] gcode erzeugt, auf SmoothieBoard übertragen und ausgeführt
 
* Noch einige Probleme mit der Einstellung der Höhe(Z-Achse), da der Kleber unter der Platine etwas uneben war
 
  
=== Smoothieboard config ===
+
== Workflow ==
[[Datei:Smoothieboard 5x new.jpg|thumb|Smoothieboard 5X frisch aus der Verpackung, ohne aufgelötete Kontakte.]]
+
# '''Model (CAD)'''
 +
#* Erzeugen des Models mittels einer CAD-Software.
 +
#** 3D
 +
#*** [http://freecadweb.org/ FreeCAD]
 +
#*** [http://librecad.org/ LibreCAD]
 +
#*** [http://www.openscad.org/ OpenSCAD]
 +
#*** [http://www.blender.org/ Blender]
 +
#*** [https://www.autodesk.com/products/fusion-360/overview Fusion 360] - [[CNC-Fräse/Fusion360|installiert auf Stratux]]
 +
#** 2D
 +
#*** [http://www.qcad.org/ QCAD]
 +
#*** [http://www.openscad.org/ OpenSCAD]
 +
#*** [http://www.inkscape.org/ Inkscape]
 +
# '''Fräsanweisungen (CAM)'''
 +
#: Erzeugen der Fräsanweisungen/Maschinenanweisungen mit einer CAM-software.
 +
#* [https://wiki.freecad.org/CAM_Workbench FreeCAD]
 +
#** [[Vorträge/Vorbei#Talks am Samstag, 14. August 2021, ab 19:00 (online)|Vortrag]] dazu
 +
#* [https://github.com/pcb2gcode/pcb2gcode pcb2gcode]
 +
#* [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.
 +
#**CamBam ist auf [[Stratux]] installiert
 +
#* [http://pycam.sourceforge.net/ PyCAM] (open source, plattformunabhängig): Sieht im Vergleich zu aktuellen kommerziellen Lösungen alt aus und ist bisweilen recht langsam.
 +
#* [https://github.com/Heeks/heekscad HeeksCAD] (open source, Windows/Linux):
 +
#* [http://cam.autodesk.de/inventor-hsm/ Inventor HSM] (kommerziell, Windows 64bit): Gibt für Studenten eine 3-Jahres Lizenz kostenlos, aber mit viel DRM.
 +
#* [http://flatcam.org/ FlatCam] Tool zur Generierung von Maschinencode für das [[CNC-Fräse/Isolationsfräsen]].
 +
#* [http://jscut.org/ jscut], SVG nach GCode, läuft im Browser, [https://github.com/tbfleming/jscut Open Source auf GitHub]
 +
#* [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])
 +
#* [https://github.com/stratum0/CNCmilling Eigenbau by Drahflow] Python-Script für Umwandlung von Tiefenkarten in G-Code.
 +
# '''Simulation'''
 +
#* FreeCAD bietet eine Simulation der Fräsanweisungen.
 +
#* Ebenfalls bietet [http://camotics.org/ CAMotics] eine Simulation werden.
 +
#* Kleinere G-Code Dateien simuliert auch http://nraynaud.github.io/webgcode/
 +
#* LinuxCNC zeigt ebenfalls eine Vorschau des Werkzeugpfades an.
 +
# '''Fräsen'''
 +
# https://linuxcnc.org/docs/stable/html/gui/axis.html#_a_typical_session
  
 +
=== Parameter für verschiedene Werkstoffe ===
 +
Parameter finden sich sind auf der Unterseite [[CNC-Fräse/Parameter]]
  
Eine erste config fürs Smoothieboard, liegt als ''config'' im Rootverzeichnis der µSD-Karte:
 
  
<pre style="height:200px;overflow-y:scroll;">
+
== Weblinks ==
# NOTE Lines must not exceed 132 characters
+
* [https://linuxcnc.org/docs/stable/html/ LinuxCNC Docs]
# Robot module configurations : general handling of movement G-codes and slicing into moves
+
* [http://en.wikipedia.org/wiki/G-code GCodes (allgemein)]
default_feed_rate                            200            # Default rate ( mm/minute ) for G1/G2/G3 moves
+
* [https://linuxcnc.org/docs/html/gcode/g-code.html GCodes (LinuxCNC)]
default_seek_rate                            600            # Default rate ( mm/minute ) for G0 moves
 
mm_per_arc_segment                          0.5              # Arcs are cut into segments ( lines ), this is the length for
 
                                                              # these segments.  Smaller values mean more resolution,
 
                                                              # higher values mean faster computation
 
mm_per_line_segment                          5                # Lines can be cut into segments ( not usefull with cartesian
 
                                                              # coordinates robots ).
 
 
 
# Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
 
alpha_steps_per_mm                          800            # Steps per mm for alpha stepper
 
beta_steps_per_mm                            800            # Steps per mm for beta stepper
 
gamma_steps_per_mm                          800            # Steps per mm for gamma stepper
 
 
 
# Planner module configuration : Look-ahead and acceleration configuration
 
planner_queue_size                          32              # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
 
acceleration                                500            # Acceleration in mm/second/second.
 
acceleration_ticks_per_second                1000            # Number of times per second the speed is updated
 
junction_deviation                          0.05            # Similar to the old "max_jerk", in millimeters,
 
                                                              # see https://github.com/grbl/grbl/blob/master/planner.c#L409
 
                                                              # and https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8
 
                                                              # Lower values mean being more careful, higher values means being
 
                                                              # faster and have more jerk
 
#minimum_planner_speed                      0.0              # sets the minimum planner speed in mm/sec
 
 
 
# Stepper module configuration
 
microseconds_per_step_pulse                  1                # Duration of step pulses to stepper drivers, in microseconds
 
minimum_steps_per_minute                    1200            # Never step slower than this
 
base_stepping_frequency                      100000          # Base frequency for stepping, higher gives smoother movement
 
 
 
# Cartesian axis speed limits
 
x_axis_max_speed                            1500            # mm/min
 
y_axis_max_speed                            1500            # mm/min
 
z_axis_max_speed                            300              # mm/min
 
 
 
# Stepper module pins ( ports, and pin numbers, appending "!" to the number will invert a pin )
 
alpha_step_pin                              2.0              # Pin for alpha stepper step signal
 
alpha_dir_pin                                0.5              # Pin for alpha stepper direction
 
alpha_en_pin                                0.4              # Pin for alpha enable pin
 
alpha_current                                1.0              # X stepper motor current
 
alpha_max_rate                              1500.0          # mm/min
 
 
 
beta_step_pin                                2.1              # Pin for beta stepper step signal
 
beta_dir_pin                                0.11            # Pin for beta stepper direction
 
beta_en_pin                                  0.10            # Pin for beta enable
 
beta_current                                1.0              # Y stepper motor current
 
beta_max_rate                                1500.0          # mm/min
 
 
 
gamma_step_pin                              2.2              # Pin for gamma stepper step signal
 
gamma_dir_pin                                0.20            # Pin for gamma stepper direction
 
gamma_en_pin                                0.19            # Pin for gamma enable
 
gamma_current                                1.0              # Z stepper motor current
 
gamma_max_rate                              300.0            # mm/min
 
 
 
# Serial communications configuration ( baud rate default to 9600 if undefined )
 
uart0.baud_rate                              115200          # Baud rate for the default hardware serial port
 
second_usb_serial_enable                    false            # This enables a second usb serial port (to have both pronterface
 
                                                              # and a terminal connected)
 
#leds_disable                                true            # disable using leds after config loaded
 
  
 +
== Technical Details ==
  
# Extruder module configuration
+
<span id="maintenance"></span>
extruder_module_enable                      true            # Whether to activate the extruder module at all. All configuration
+
=== Maintenance ===
                                                              # is ignored if false
 
extruder_steps_per_mm                        140              # Steps per mm for extruder stepper
 
extruder_default_feed_rate                  600              # Default rate ( mm/minute ) for moves where only the extruder moves
 
extruder_acceleration                        500              # Acceleration for retracts, mm/sec^2
 
extruder_max_speed                          1000            # mm/sec NOTE only used for retracts
 
  
extruder_step_pin                            2.3              # Pin for extruder step signal
+
<span id="grease"></span>
extruder_dir_pin                            0.22            # Pin for extruder dir signal
+
==== Grease ====
extruder_en_pin                              0.21            # Pin for extruder enable signal
 
delta_current                                1.5              # Extruder stepper motor current
 
  
# Laser module configuration
+
* Grease nipple conforms to DIN 71412
laser_module_enable                          false            # Whether to activate the laser module at all. All configuration is
+
* Grease to be used for ball screw and linear rails:
                                                              # ignored if false.
+
** rolling bearing grease
#laser_module_pin                            2.5            # this pin will be PWMed to control the laser. Only P2.0 - P2.5
+
** '''No''' solid lubricant additives (like MoS<sub>2</sub> or Graphen)
                                                              # can be used since laser requires hardware PWM
+
** NGLI 2 as per DIN 51818
#laser_module_max_power                      0.8            # this is the maximum duty cycle that will be applied to the laser
+
** DIN 51825 K2K or KP2K
#laser_module_tickle_power                    0.0             # this duty cycle will be used for travel moves to keep the laser
+
** See https://www.boie.de/INTERSHOP/static/WFS/BOIE-Site/BOIE_DE/BOIE-BOIE_DE/de_DE/Kataloge/BoschRexroth/Kugelgewindetriebe.pdf for more info
                                                              # active without actually burning
+
* A DIN 1284 grease gun was bought and is in the Space 3.0 workshop
#laser_module_pwm_period                      20              # this sets the pwm frequency as the period in microseconds
+
* It is loaded with Ballistol KP2 K30 grease
  
# Hotend temperature control configuration
+
<span id="components"></span>
temperature_control.hotend.enable            true            # Whether to activate this ( "hotend" ) module at all.
+
=== Components ===
                                                              # All configuration is ignored if false.
 
temperature_control.hotend.thermistor_pin    0.23            # Pin for the thermistor to read
 
temperature_control.hotend.heater_pin        2.7              # Pin that controls the heater
 
temperature_control.hotend.thermistor        EPCOS100K        # see src/modules/tools/temperaturecontrol/TemperatureControl.cpp:64
 
                                                              # for a list of valid thermistor names
 
temperature_control.hotend.set_m_code        104              #
 
temperature_control.hotend.set_and_wait_m_code 109            #
 
temperature_control.hotend.designator        T                #
 
  
#temperature_control.hotend.p_factor        13.7            # permanenetly set the PID values after an auto pid
+
* 1 × [https://store.mesanet.com/index.php?route=product/product&product_id=399 MESA 7i76EU] IO Board
#temperature_control.hotend.i_factor        0.097            #
+
* 3 × [https://www.lamtechnologies.com/Product.aspx?lng=EN&idp=DS1044 LAM DS 1044] Stepper Stepper Motor Driver
#temperature_control.hotend.d_factor        24               #
+
* 1 × [https://www.meanwell.com/webapp/product/search.aspx?prod=NDR-480 Meanwell NDR-480-48] 48 V, 480 Watt Power-supply for Stepper/-driver
 +
* 1 × [https://www.meanwell.com/webapp/product/search.aspx?prod=NDR-75 Meanwell NDR-75-24] 24 V, 75 Watt Power-supply for Field IO
 +
* 2 × [https://new.abb.com/products/de/1SBE121111R0120/esb20-20n-01 ABB ESB20-20N-01] 2 pole 240 V AC Contactor, 24 V AC/DC Coil
  
#temperature_control.hotend.max_pwm          64              # max pwm, 64 is a good value if driving a 12v resistor with 24v.
+
<span id="electronics-overview"></span>
  
temperature_control.bed.enable              true            #
+
<span id="maintenance"></span>
temperature_control.bed.thermistor_pin      0.24            #
+
=== Maintenance ===
temperature_control.bed.heater_pin          2.5              #
 
temperature_control.bed.thermistor          Honeywell100K    # see src/modules/tools/temperaturecontrol/TemperatureControl.cpp:64
 
                                                              # for a list of valid thermistor names
 
temperature_control.bed.set_m_code          140              #
 
temperature_control.bed.set_and_wait_m_code  190              #
 
temperature_control.bed.designator          B                #
 
  
#temperature_control.bed.bang_bang            false          # set to true to use bang bang control rather than PID
+
<span id="grease"></span>
#temperature_control.bed.hysteresis          2.0            # set to the temperature in degrees C to use as hysteresis
+
==== Grease ====
                                                              # when using bang bang
 
  
# Switch module for fan control
+
* Grease nipple conforms to DIN 71412
switch.fan.enable                            true            #
+
* Grease to be used for ball screw and linear rails:
switch.fan.input_on_command                  M106            #
+
** rolling bearing grease
switch.fan.input_off_command                M107            #
+
** '''No''' solid lubricant additives (like MoS<sub>2</sub> or Graphen)
switch.fan.output_pin                        2.6              #
+
** NGLI 2 as per DIN 51818
switch.fan.output_type                      pwm              # pwm output settable with S parameter in the input_on_comand
+
** DIN 51825 K2K or KP2K
#switch.fan.max_pwm                          255              # set max pwm for the pin default is 255
+
** See https://www.boie.de/INTERSHOP/static/WFS/BOIE-Site/BOIE_DE/BOIE-BOIE_DE/de_DE/Kataloge/BoschRexroth/Kugelgewindetriebe.pdf for more info
 +
* A DIN 1284 grease gun was bought and is in the Space 3.0 workshop
 +
* It is loaded with Ballistol KP2 K30 grease
  
#switch.misc.enable                          true            #
+
<span id="components"></span>
#switch.misc.input_on_command                M42              #
+
=== Components ===
#switch.misc.input_off_command                M43              #
 
#switch.misc.output_pin                      2.4              #
 
#switch.misc.output_type                      digital          # just an on or off pin
 
  
# Switch module for spindle control
+
* 1 × [https://store.mesanet.com/index.php?route=product/product&product_id=399 MESA 7i76EU] IO Board
#switch.spindle.enable                        false            #
+
* 3 × [https://www.lamtechnologies.com/Product.aspx?lng=EN&idp=DS1044 LAM DS 1044] Stepper Stepper Motor Driver
 +
* 1 × [https://www.meanwell.com/webapp/product/search.aspx?prod=NDR-480 Meanwell NDR-480-48] 48 V, 480 Watt Power-supply for Stepper/-driver
 +
* 1 × [https://www.meanwell.com/webapp/product/search.aspx?prod=NDR-75 Meanwell NDR-75-24] 24 V, 75 Watt Power-supply for Field IO
 +
* 2 × [https://new.abb.com/products/de/1SBE121111R0120/esb20-20n-01 ABB ESB20-20N-01] 2 pole 240 V AC Contactor, 24 V AC/DC Coil
  
# Endstops
+
<span id="electronics-overview"></span>
endstops_enable                              true            # the endstop module is enabled by default and can be disabled here
+
=== Electronics Overview ===
#corexy_homing                              false            # set to true if homing on a hbit or corexy
 
alpha_min_endstop                            1.24^            # add a ! to invert if endstop is NO connected to ground
 
alpha_max_endstop                            1.25^            #
 
alpha_homing_direction                      home_to_min      # or set to home_to_max and set alpha_max
 
alpha_min                                    0                # this gets loaded after homing when home_to_min is set
 
alpha_max                                    200              # this gets loaded after homing when home_to_max is set
 
beta_min_endstop                            1.26^            #
 
beta_max_endstop                            1.27^            #
 
beta_homing_direction                        home_to_min      #
 
beta_min                                    0                #
 
beta_max                                    200              #
 
gamma_min_endstop                            1.28^            #
 
gamma_max_endstop                            1.29^            #
 
gamma_homing_direction                      home_to_min      #
 
gamma_min                                    0                #
 
gamma_max                                    200              #
 
  
alpha_fast_homing_rate_mm_s                  50              # feedrates in mm/second
+
<span id="abbreviations"></span>
beta_fast_homing_rate_mm_s                  50              # "
+
==== Abbreviations ====
gamma_fast_homing_rate_mm_s                  4                # "
 
alpha_slow_homing_rate_mm_s                  25              # "
 
beta_slow_homing_rate_mm_s                  25              # "
 
gamma_slow_homing_rate_mm_s                  2                # "
 
  
alpha_homing_retract_mm                      5                # distance in mm
+
* HV: High Voltage, life endangering, do not touch
beta_homing_retract_mm                      5                # "
+
* LV: Voltage considered generally safe to touch, be careful
gamma_homing_retract_mm                      1                # "
+
* PE: Protective Earth
 +
* NC: Normally Closed
 +
* NO: Normally Open
  
#endstop_debounce_count                      100              # uncomment if you get noise on your endstops
+
<span id="conventions"></span>
 +
==== Conventions ====
  
# Pause button
+
* All high-speed IO (i.e. step &amp; direction) is fully differential
pause_button_enable                          true            #
+
* Limit switches and probe signals are NC to +24V, and will open upon activation. Thus a cable break appears as “limit switch activated” or “probe activated”.
 +
* All moving are guarded redundantly by the physical emergency stop switch: it comprises two distinct electrical switches, one NC, and one NO. The NC switch supplies GND to the socket contactors (for the switched 230VAC) and the stepper drive enable signals. Independently of that, the NO signals to LinuxCNC when the emergency stop was pushed. Thus LinuxCNC will deactivate the machine’s actuators when the physical emergency stop switch is pressed; but even in the instance of totally unresponsive software, the NC switch will ''still'' disable the kinematics by taking awaiy GND from contactor coils and stepper enable signals.
 +
** The machine has no brakes; thus absolute standstill of all moving parts immediately after pushing the emergency stop switch.
  
# Panel
+
<span id="cable-color-codes"></span>
panel.enable                                false            # set to true to enable the panel code
+
==== Cable Color Codes ====
panel.lcd                                    smoothiepanel    # set type of panel
 
panel.encoder_a_pin                          3.25!^            # encoder pin
 
panel.encoder_b_pin                          3.26!^            # encoder pin
 
  
# Example for reprap discount GLCD
+
{| class="wikitable"
# on glcd EXP1 is to left and EXP2 is to right, pin 1 is bottom left, pin 2 is top left etc.
+
|-
# +5v is EXP1 pin 10, Gnd is EXP1 pin 9
+
! Cable Color
#panel.lcd                                  reprap_discount_glcd    #
+
! Voltage Domain
#panel.spi_channel                          0                 # spi channel to use  ; GLCD EXP1 Pins 3,5 (MOSI, SCLK)
+
! Short
#panel.spi_cs_pin                            0.16              # spi chip select    ; GLCD EXP1 Pin 4
+
! Description
#panel.encoder_a_pin                        3.25!^            # encoder pin        ; GLCD EXP2 Pin 3
+
|-
#panel.encoder_b_pin                        3.26!^            # encoder pin        ; GLCD EXP2 Pin 5
+
| Light-Blue
#panel.click_button_pin                      1.30!^            # click button        ; GLCD EXP1 Pin 2
+
| HV
#panel.buzz_pin                              1.31              # pin for buzzer      ; GLCD EXP1 Pin 1
+
| N
#panel.button_pause_pin                      2.11^            # kill/pause          ; GLCD EXP2 Pin 8 either
+
| 230 VAC Neutral
#panel.back_button_pin                      2.11!^            # back button        ; GLCD EXP2 Pin 8 or
+
|-
 +
| Light-Brown
 +
| HV
 +
| L
 +
| 230 VAC Phase
 +
|-
 +
| Green/Yellow
 +
| HV
 +
| PE
 +
| Protective Earth
 +
|-
 +
| Dark-Blue
 +
| LV
 +
| DP+
 +
| Differential pair, positive
 +
|-
 +
| Dark-Blue/White
 +
| LV
 +
| DP-
 +
| Differential pair, negative
 +
|-
 +
| Red
 +
| LV
 +
| +48V
 +
| 48 Volt DC
 +
|-
 +
| Yellow
 +
| LV
 +
| +24V
 +
| 24 Volt DC
 +
|-
 +
| Black
 +
| LV
 +
| GND
 +
| 0 Volt DC
 +
|-
 +
| Orange
 +
| LV
 +
| STP
 +
| Chopped 48V for Stepper, anything between +-48V
 +
|}
  
# pins used with other panels
+
<span id="harting-24b-pinout"></span>
#panel.up_button_pin                        0.1!              # up button if used
+
==== Harting 24B Pinout ====
#panel.down_button_pin                      0.0!              # down button if used
 
#panel.click_button_pin                      0.18!            # click button if used
 
  
panel.menu_offset                            0                # some panels will need 1 here
+
{| class="wikitable"
 +
|-
 +
! PIN
 +
! Function
 +
! Comment
 +
|-
 +
| 1
 +
| X-Axis Stepper Coil A+
 +
|
 +
|-
 +
| 2
 +
| X-Axis Stepper Coil A-
 +
|
 +
|-
 +
| 3
 +
| X-Axis Stepper Coil B+
 +
|
 +
|-
 +
| 4
 +
| X-Axis Stepper Coil B-
 +
|
 +
|-
 +
| 5
 +
| Y-Axis Stepper Coil A+
 +
|
 +
|-
 +
| 6
 +
| Y-Axis Stepper Coil A-
 +
|
 +
|-
 +
| 7
 +
| Y-Axis Stepper Coil B+
 +
|
 +
|-
 +
| 8
 +
| Y-Axis Stepper Coil B-
 +
|
 +
|-
 +
| 9
 +
| Z-Axis Stepper Coil A+
 +
|
 +
|-
 +
| 10
 +
| Z-Axis Stepper Coil A-
 +
|
 +
|-
 +
| 11
 +
| Z-Axis Stepper Coil B+
 +
|
 +
|-
 +
| 12
 +
| Z-Axis Stepper Coil B-
 +
|
 +
|-
 +
| 13
 +
| 7i76EU INPUT8
 +
|
 +
|-
 +
| 14
 +
| 7i76EU INPUT9
 +
|
 +
|-
 +
| 15
 +
|
 +
|
 +
|-
 +
| 16
 +
|
 +
|
 +
|-
 +
| 17
 +
| 7i76EU INPUT10
 +
|
 +
|-
 +
| 18
 +
| 7i76EU INPUT11
 +
|
 +
|-
 +
| 19
 +
| 7i76EU INPUT14
 +
|
 +
|-
 +
| 20
 +
| 7i76EU INPUT15
 +
|
 +
|-
 +
| 21
 +
| 7i76EU INPUT12
 +
|
 +
|-
 +
| 22
 +
| 7i76EU INPUT13
 +
|
 +
|-
 +
| 23
 +
| GND
 +
|
 +
|-
 +
| 24
 +
| +24V
 +
|
 +
|-
 +
| PE
 +
| PE
 +
| TODO connect to machine frame?
 +
|}
  
panel.alpha_jog_feedrate                    1000              # x jogging feedrate in mm/min
+
<span id="mesa-7i76eu-connectors"></span>
panel.beta_jog_feedrate                      1000              # y jogging feedrate in mm/min
+
==== MESA 7i76EU Connectors ====
panel.gamma_jog_feedrate                    200              # z jogging feedrate in mm/min
 
  
panel.hotend_temperature                    185              # temp to set hotend when preheat is selected
+
<span id="power-connector"></span>
panel.bed_temperature                        60                # temp to set bed when preheat is selected
+
===== Power Connector =====
  
# Example of a custom menu entry, which will show up in the Custom entry.
+
Not connected.
# NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands
 
custom_menu.power_on.enable                true              #
 
custom_menu.power_on.name                  Power_on          #
 
custom_menu.power_on.command              M80              #
 
  
custom_menu.power_off.enable              true              #
+
<span id="p2"></span>
custom_menu.power_off.name                Power_off        #
+
===== P2 =====
custom_menu.power_off.command              M81              #
 
  
# Only needed on a smoothieboard
+
Not connected.
currentcontrol_module_enable                true            #
 
  
return_error_on_unhandled_gcode              false            #
+
<span id="tb1"></span>
 +
===== TB1 =====
  
# network settings
+
{| class="wikitable"
network.enable true
+
|-
# enable the ethernet network services
+
! PIN
network.webserver.enable                    true            # enable the webserver
+
! IO
network.telnet.enable                        true            # enable the telnet server
+
! Function
#network.ip_address                          auto            # use dhcp to get ip address
+
! Comment
# uncomment the 3 below to manually setup ip address
+
! Comment
network.ip_address                          192.168.178.222    # the IP address
+
|-
network.ip_mask                              255.255.254.0    # the ip mask
+
| 1
network.ip_gateway                          192.168.178.1      # the gateway address
+
| VFIELD
#network.mac_override                        xx.xx.xx.xx.xx.xx  # override the mac address, only do this if you have a conflict
+
| 24V+
 +
| Suppies Field IO with 24V
 +
|
 +
|-
 +
| 2
 +
| VFIELD
 +
|
 +
|
 +
|
 +
|-
 +
| 3
 +
| VFIELD
 +
|
 +
|
 +
|
 +
|-
 +
| 4
 +
| VFIELD
 +
|
 +
|
 +
|
 +
|-
 +
| 5
 +
| VIN
 +
|
 +
|
 +
|
 +
|-
 +
| 6
 +
| GROUND
 +
| Enable D-
 +
| Connects Boost D- to GND for all Stepper Driver
 +
| TODO verify
 +
|-
 +
| 7
 +
| GROUND
 +
| Fault D-
 +
| Connects Fault D- to GND for all Stepper Driver
 +
| TODO verify
 +
|-
 +
| 8
 +
| GROUND
 +
| GND
 +
| Supplies Field IO with GND
 +
|
 +
|}
  
</pre>
+
<span id="tb-2"></span>
 +
===== TB 2 =====
  
Config die am 2023-09-17 vorgefunden wurde:
+
{| class="wikitable"
 +
|-
 +
! PIN
 +
! IO
 +
! Function
 +
|-
 +
| 1
 +
| GND
 +
|
 +
|-
 +
| 2
 +
| STEP0-
 +
| Stepper 0 Step D-
 +
|-
 +
| 3
 +
| STEP0+
 +
| Stepper 0 Step D+
 +
|-
 +
| 4
 +
| DIR0-
 +
| Stepper 0 Dir D-
 +
|-
 +
| 5
 +
| DIR0+
 +
| Stepper 0 Dir D+
 +
|-
 +
| 6
 +
| +5VP
 +
|
 +
|-
 +
| 7
 +
| GND
 +
|
 +
|-
 +
| 8
 +
| STEP1-
 +
| Stepper 1 Step D-
 +
|-
 +
| 9
 +
| STEP1+
 +
| Stepper 1 Step D+
 +
|-
 +
| 10
 +
| DIR1-
 +
| Stepper 1 Dir D-
 +
|-
 +
| 11
 +
| DIR1+
 +
| Stepper 1 Dir D+
 +
|-
 +
| 12
 +
| +5VP
 +
|
 +
|-
 +
| 13
 +
| GND
 +
|
 +
|-
 +
| 14
 +
| STEP2-
 +
| Stepper 2 Step D-
 +
|-
 +
| 15
 +
| STEP2+
 +
| Stepper 2 Step D+
 +
|-
 +
| 16
 +
| DIR2-
 +
| Stepper 2 Dir D-
 +
|-
 +
| 17
 +
| DIR2+
 +
| Stepper 2 Dir D+
 +
|-
 +
| 18
 +
| +5VP
 +
|
 +
|-
 +
| 19
 +
| GND
 +
|
 +
|-
 +
| 20
 +
| STEP3-
 +
|
 +
|-
 +
| 21
 +
| STEP3+
 +
|
 +
|-
 +
| 22
 +
| DIR3-
 +
|
 +
|-
 +
| 23
 +
| DIR3+
 +
|
 +
|-
 +
| 24
 +
| +5VP
 +
|
 +
|}
  
<pre style="height:200px;overflow-y:scroll;">
+
<span id="tb3"></span>
# NOTE Lines must not exceed 132 characters
+
===== TB3 =====
# Robot module configurations : general handling of movement G-codes and slicing into moves
 
default_feed_rate                            200            # Default rate ( mm/minute ) for G1/G2/G3 moves
 
default_seek_rate                            600            # Default rate ( mm/minute ) for G0 moves
 
mm_per_arc_segment                          0.5              # Arcs are cut into segments ( lines ), this is the length for
 
                                                              # these segments.  Smaller values mean more resolution,
 
                                                              # higher values mean faster computation
 
mm_per_line_segment                          5                # Lines can be cut into segments ( not usefull with cartesian
 
                                                              # coordinates robots ).
 
  
# Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
+
{| class="wikitable"
alpha_steps_per_mm                          800            # Steps per mm for alpha stepper
+
|-
beta_steps_per_mm                            800            # Steps per mm for beta stepper
+
! PIN
gamma_steps_per_mm                          800            # Steps per mm for gamma stepper
+
! IO
 +
! Function
 +
|-
 +
| 1
 +
| GND
 +
|
 +
|-
 +
| 2
 +
| STEP4-
 +
|
 +
|-
 +
| 3
 +
| STEP4+
 +
|
 +
|-
 +
| 4
 +
| DIR4-
 +
|
 +
|-
 +
| 5
 +
| DIR4+
 +
|
 +
|-
 +
| 6
 +
| +5VP
 +
|
 +
|-
 +
| 7
 +
| ENCA+
 +
|
 +
|-
 +
| 8
 +
| ENCA-
 +
|
 +
|-
 +
| 9
 +
| GND
 +
|
 +
|-
 +
| 10
 +
| ENCB+
 +
|
 +
|-
 +
| 11
 +
| ENCB-
 +
|
 +
|-
 +
| 12
 +
| +5VP
 +
|
 +
|-
 +
| 13
 +
| IDX+
 +
|
 +
|-
 +
| 14
 +
| IDX-
 +
|
 +
|-
 +
| 15
 +
| GND
 +
|
 +
|-
 +
| 16
 +
| RS-422 RX+
 +
|
 +
|-
 +
| 17
 +
| RS-422 RX-
 +
|
 +
|-
 +
| 18
 +
| RS-422 TX+
 +
|
 +
|-
 +
| 19
 +
| RS-422 TX-
 +
|
 +
|-
 +
| 20
 +
| +5VP
 +
|
 +
|-
 +
| 21
 +
| UNREG LOGIC PWR+ IN
 +
| +24V
 +
|-
 +
| 22
 +
| UNREG LOGIC PWR+ IN
 +
|
 +
|-
 +
| 23
 +
| GND
 +
|
 +
|-
 +
| 24
 +
| GND
 +
| GND
 +
|}
  
# Planner module configuration : Look-ahead and acceleration configuration
+
<span id="tb-4"></span>
planner_queue_size                          32              # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
+
===== TB 4 =====
acceleration                                500            # Acceleration in mm/second/second.
 
acceleration_ticks_per_second                1000            # Number of times per second the speed is updated
 
junction_deviation                          0.05            # Similar to the old "max_jerk", in millimeters,
 
                                                              # see https://github.com/grbl/grbl/blob/master/planner.c#L409
 
                                                              # and https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8
 
                                                              # Lower values mean being more careful, higher values means being
 
                                                              # faster and have more jerk
 
#minimum_planner_speed                      0.0              # sets the minimum planner speed in mm/sec
 
  
# Stepper module configuration
+
Not connected.
microseconds_per_step_pulse                  1                # Duration of step pulses to stepper drivers, in microseconds
 
minimum_steps_per_minute                    1200            # Never step slower than this
 
base_stepping_frequency                      100000          # Base frequency for stepping, higher gives smoother movement
 
  
# Cartesian axis speed limits
+
<span id="tb-5"></span>
x_axis_max_speed                            1500            # mm/min
+
===== TB 5 =====
y_axis_max_speed                            1500            # mm/min
 
z_axis_max_speed                            300              # mm/min
 
  
# Stepper module pins ( ports, and pin numbers, appending "!" to the number will invert a pin )
+
Not connected.
alpha_step_pin                              2.0              # Pin for alpha stepper step signal
 
alpha_dir_pin                                0.5!              # Pin for alpha stepper direction
 
alpha_en_pin                                0.4              # Pin for alpha enable pin
 
alpha_current                                1.0              # X stepper motor current
 
alpha_max_rate                              1500.0          # mm/min
 
  
beta_step_pin                                2.1              # Pin for beta stepper step signal
+
<span id="tb-6"></span>
beta_dir_pin                                0.11            # Pin for beta stepper direction
+
===== TB 6 =====
beta_en_pin                                  0.10            # Pin for beta enable
 
beta_current                                1.0              # Y stepper motor current
 
beta_max_rate                                1500.0          # mm/min
 
  
gamma_step_pin                              2.2             # Pin for gamma stepper step signal
+
{| class="wikitable"
gamma_dir_pin                                0.20             # Pin for gamma stepper direction
+
|-
gamma_en_pin                                0.19            # Pin for gamma enable
+
! PIN
gamma_current                                1.0              # Z stepper motor current
+
! IO
gamma_max_rate                              300.0            # mm/min
+
! Function
 +
! Comment
 +
|-
 +
| 1
 +
| INPUT0 / ANA0
 +
|
 +
|
 +
|-
 +
| 2
 +
| INPUT1 / ANA 1
 +
|
 +
|
 +
|-
 +
| 3
 +
| INPUT2 / ANA 2
 +
|
 +
|
 +
|-
 +
| 4
 +
| INPUT3 / ANA 3
 +
|
 +
|
 +
|-
 +
| 5
 +
| INPUT4
 +
| Stepper X Fault
 +
| Inverted: Goes low on fault
 +
|-
 +
| 6
 +
| INPUT5
 +
| Stepper Y Fault
 +
| Inverted: Goes low on fault
 +
|-
 +
| 7
 +
| INPUT6
 +
| Stepper Z Fault
 +
| Inverted: Goes low on fault
 +
|-
 +
| 8
 +
| INPUT7
 +
| Emergency Stop
 +
| Inverted: Goes High when pressing E-Stop
 +
|-
 +
| 9
 +
| INPUT8
 +
| X Min Limit + Home
 +
| NC, left position
 +
|-
 +
| 10
 +
| INPUT9
 +
| X Max Limit
 +
| NC
 +
|-
 +
| 11
 +
| INPUT10
 +
| Y Max Limit + Home
 +
| NC, back position
 +
|-
 +
| 12
 +
| INPUT11
 +
| Y Min Limit
 +
| NC
 +
|-
 +
| 13
 +
| INPUT12
 +
| Z Max Limit + Home
 +
| NC, top position
 +
|-
 +
| 14
 +
| INPUT13
 +
| Z Min Limit
 +
| NC, series with toolprobe overtravel switch
 +
|-
 +
| 15
 +
| INPUT14
 +
| Toolprobe
 +
| NC, opens when toolprobe is pressed
 +
|-
 +
| 16
 +
| INPUT15
 +
| Touchprobe
 +
| NC, opens when touchprobe is deflected
 +
|-
 +
| 17
 +
| OUTPUT0
 +
| Stepper 0 Boost
 +
| Not configured
 +
|-
 +
| 18
 +
| OUTPUT1
 +
| Stepper 1 Boost
 +
| Not configured
 +
|-
 +
| 19
 +
| OUTPUT2
 +
| Stepper 2 Boost
 +
| Not configured
 +
|-
 +
| 20
 +
| OUTPUT3
 +
| Socket 1 enable
 +
| Spindle enable
 +
|-
 +
| 21
 +
| OUTPUT4
 +
| Socket 2 enable
 +
| Can be controlled via PyVCP, arbitrary function
 +
|-
 +
| 22
 +
| OUTPUT5
 +
|
 +
|
 +
|-
 +
| 23
 +
| OUTPUT6
 +
|
 +
|
 +
|-
 +
| 24
 +
| OUTPUT7
 +
| Enable D+
 +
| Pull-Up to enable the steppers
 +
|}
  
# Serial communications configuration ( baud rate default to 9600 if undefined )
 
uart0.baud_rate                              115200          # Baud rate for the default hardware serial port
 
second_usb_serial_enable                    false            # This enables a second usb serial port (to have both pronterface
 
                                                              # and a terminal connected)
 
#leds_disable                                true            # disable using leds after config loaded
 
 
 
# Extruder module configuration
 
extruder_module_enable                      true            # Whether to activate the extruder module at all. All configuration
 
                                                              # is ignored if false
 
extruder_steps_per_mm                        140              # Steps per mm for extruder stepper
 
extruder_default_feed_rate                  600              # Default rate ( mm/minute ) for moves where only the extruder moves
 
extruder_acceleration                        500              # Acceleration for retracts, mm/sec^2
 
extruder_max_speed                          1000            # mm/sec NOTE only used for retracts
 
 
extruder_step_pin                            2.3              # Pin for extruder step signal
 
extruder_dir_pin                            0.22            # Pin for extruder dir signal
 
extruder_en_pin                              0.21            # Pin for extruder enable signal
 
delta_current                                1.5              # Extruder stepper motor current
 
 
# Laser module configuration
 
laser_module_enable                          false            # Whether to activate the laser module at all. All configuration is
 
                                                              # ignored if false.
 
#laser_module_pin                            2.5            # this pin will be PWMed to control the laser. Only P2.0 - P2.5
 
                                                              # can be used since laser requires hardware PWM
 
#laser_module_max_power                      0.8            # this is the maximum duty cycle that will be applied to the laser
 
#laser_module_tickle_power                    0.0            # this duty cycle will be used for travel moves to keep the laser
 
                                                              # active without actually burning
 
#laser_module_pwm_period                      20              # this sets the pwm frequency as the period in microseconds
 
 
# Hotend temperature control configuration
 
temperature_control.hotend.enable            true            # Whether to activate this ( "hotend" ) module at all.
 
                                                              # All configuration is ignored if false.
 
temperature_control.hotend.thermistor_pin    0.23            # Pin for the thermistor to read
 
temperature_control.hotend.heater_pin        2.7              # Pin that controls the heater
 
temperature_control.hotend.thermistor        EPCOS100K        # see src/modules/tools/temperaturecontrol/TemperatureControl.cpp:64
 
                                                              # for a list of valid thermistor names
 
temperature_control.hotend.set_m_code        104              #
 
temperature_control.hotend.set_and_wait_m_code 109            #
 
temperature_control.hotend.designator        T                #
 
 
#temperature_control.hotend.p_factor        13.7            # permanenetly set the PID values after an auto pid
 
#temperature_control.hotend.i_factor        0.097            #
 
#temperature_control.hotend.d_factor        24              #
 
 
#temperature_control.hotend.max_pwm          64              # max pwm, 64 is a good value if driving a 12v resistor with 24v.
 
 
temperature_control.bed.enable              true            #
 
temperature_control.bed.thermistor_pin      0.24            #
 
temperature_control.bed.heater_pin          2.5              #
 
temperature_control.bed.thermistor          Honeywell100K    # see src/modules/tools/temperaturecontrol/TemperatureControl.cpp:64
 
                                                              # for a list of valid thermistor names
 
temperature_control.bed.set_m_code          140              #
 
temperature_control.bed.set_and_wait_m_code  190              #
 
temperature_control.bed.designator          B                #
 
 
#temperature_control.bed.bang_bang            false          # set to true to use bang bang control rather than PID
 
#temperature_control.bed.hysteresis          2.0            # set to the temperature in degrees C to use as hysteresis
 
                                                              # when using bang bang
 
 
# Switch module for fan control
 
switch.fan.enable                            true            #
 
switch.fan.input_on_command                  M106            #
 
switch.fan.input_off_command                M107            #
 
switch.fan.output_pin                        2.6              #
 
switch.fan.output_type                      pwm              # pwm output settable with S parameter in the input_on_comand
 
#switch.fan.max_pwm                          255              # set max pwm for the pin default is 255
 
 
#switch.misc.enable                          true            #
 
#switch.misc.input_on_command                M42              #
 
#switch.misc.input_off_command                M43              #
 
#switch.misc.output_pin                      2.4              #
 
#switch.misc.output_type                      digital          # just an on or off pin
 
 
# Switch module for spindle control
 
#switch.spindle.enable                        false            #
 
 
# Endstops
 
endstops_enable                              true            # the endstop module is enabled by default and can be disabled here
 
#corexy_homing                              false            # set to true if homing on a hbit or corexy
 
alpha_min_endstop                            1.24^!            # add a ! to invert if endstop is NO connected to ground
 
alpha_max_endstop                            1.25^            #
 
alpha_homing_direction                      home_to_min      # or set to home_to_max and set alpha_max
 
alpha_min                                    0                # this gets loaded after homing when home_to_min is set
 
alpha_max                                    200              # this gets loaded after homing when home_to_max is set
 
beta_min_endstop                            1.26^!            #
 
beta_max_endstop                            1.27^            #
 
beta_homing_direction                        home_to_min      #
 
beta_min                                    0                #
 
beta_max                                    200              #
 
gamma_min_endstop                            1.28^!            #
 
gamma_max_endstop                            1.29^            #
 
gamma_homing_direction                      home_to_min      #
 
gamma_min                                    0                #
 
gamma_max                                    200              #
 
 
alpha_fast_homing_rate_mm_s                  50              # feedrates in mm/second
 
beta_fast_homing_rate_mm_s                  50              # "
 
gamma_fast_homing_rate_mm_s                  4                # "
 
alpha_slow_homing_rate_mm_s                  25              # "
 
beta_slow_homing_rate_mm_s                  25              # "
 
gamma_slow_homing_rate_mm_s                  2                # "
 
 
alpha_homing_retract_mm                      5                # distance in mm
 
beta_homing_retract_mm                      5                # "
 
gamma_homing_retract_mm                      1                # "
 
 
#endstop_debounce_count                      100              # uncomment if you get noise on your endstops
 
 
# Pause button
 
pause_button_enable                          true            #
 
 
# Panel
 
panel.enable                                true            # set to true to enable the panel code
 
panel.encoder_a_pin                          3.25!^            # encoder pin
 
panel.encoder_b_pin                          3.26!^            # encoder pin
 
 
# Example for reprap discount GLCD
 
# on glcd EXP1 is to left and EXP2 is to right, pin 1 is bottom left, pin 2 is top left etc.
 
# +5v is EXP1 pin 10, Gnd is EXP1 pin 9
 
panel.lcd                                  universal_adapter    #
 
panel.spi_channel                          0                # spi channel to use  ; GLCD EXP1 Pins 3,5 (MOSI, SCLK)
 
panel.spi_cs_pin                            0.16              # spi chip select    ; GLCD EXP1 Pin 4
 
#panel.encoder_a_pin                        3.25!^            # encoder pin        ; GLCD EXP2 Pin 3
 
#panel.encoder_b_pin                        3.26!^            # encoder pin        ; GLCD EXP2 Pin 5
 
#panel.click_button_pin                      1.30!^            # click button        ; GLCD EXP1 Pin 2
 
#panel.buzz_pin                              1.31              # pin for buzzer      ; GLCD EXP1 Pin 1
 
#panel.button_pause_pin                      2.11^            # kill/pause          ; GLCD EXP2 Pin 8 either
 
#panel.back_button_pin                      2.11!^            # back button        ; GLCD EXP2 Pin 8 or
 
 
# pins used with other panels
 
#panel.up_button_pin                        0.1!              # up button if used
 
#panel.down_button_pin                      0.0!              # down button if used
 
#panel.click_button_pin                      0.18!            # click button if used
 
 
panel.menu_offset                            0                # some panels will need 1 here
 
 
panel.alpha_jog_feedrate                    1000              # x jogging feedrate in mm/min
 
panel.beta_jog_feedrate                      1000              # y jogging feedrate in mm/min
 
panel.gamma_jog_feedrate                    200              # z jogging feedrate in mm/min
 
 
#panel.hotend_temperature                    185              # temp to set hotend when preheat is selected
 
#panel.bed_temperature                        60                # temp to set bed when preheat is selected
 
 
# Example of a custom menu entry, which will show up in the Custom entry.
 
# NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands
 
custom_menu.power_on.enable                true              #
 
custom_menu.power_on.name                  Power_on          #
 
custom_menu.power_on.command              M80              #
 
 
custom_menu.power_off.enable              true              #
 
custom_menu.power_off.name                Power_off        #
 
custom_menu.power_off.command              M81              #
 
 
# Only needed on a smoothieboard
 
currentcontrol_module_enable                true            #
 
 
return_error_on_unhandled_gcode              false            #
 
 
# network settings
 
network.enable true
 
# enable the ethernet network services
 
network.webserver.enable                    true            # enable the webserver
 
network.telnet.enable                        true            # enable the telnet server
 
#network.ip_address                          auto            # use dhcp to get ip address
 
# uncomment the 3 below to manually setup ip address
 
network.ip_address                          192.168.178.222    # the IP address
 
network.ip_mask                              255.255.254.0    # the ip mask
 
network.ip_gateway                          192.168.178.1      # the gateway address
 
#network.mac_override                        xx.xx.xx.xx.xx.xx  # override the mac address, only do this if you have a conflict
 
#
 
#
 
#
 
</pre>
 
 
== Workflow ==
 
# '''Model (CAD)'''
 
#* Erzeugen des Models mittels einer CAD-Software.
 
#** 3D
 
#*** [http://freecadweb.org/ FreeCAD]
 
#*** [http://librecad.org/ LibreCAD]
 
#*** [http://www.openscad.org/ OpenSCAD]
 
#*** [http://www.blender.org/ Blender]
 
#*** [https://www.autodesk.com/products/fusion-360/overview Fusion 360] - [[CNC-Fräse/Fusion360|installiert auf Stratux]]
 
#** 2D
 
#*** [http://www.qcad.org/ QCAD]
 
#*** [http://www.openscad.org/ OpenSCAD]
 
#*** [http://www.inkscape.org/ Inkscape]
 
# '''Fräsanweisungen (CAM)'''
 
#: Erzeugen der Fräsanweisungen/Maschinenanweisungen mit einer CAM.
 
#: Wir suchen noch nach einer brauchbaren Open-Source Lösung.
 
#* [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.
 
#**CamBam ist auf [[Stratux]] installiert
 
#* [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)
 
#* [http://pycam.sourceforge.net/ PyCAM] (open source, plattformunabhängig): Sieht im Vergleich zu aktuellen kommerziellen Lösungen alt aus und ist bisweilen recht langsam.
 
#* [https://github.com/Heeks/heekscad HeeksCAD] (open source, Windows/Linux):
 
#* [http://cam.autodesk.de/inventor-hsm/ Inventor HSM] (kommerziell, Windows 64bit): Gibt für Studenten eine 3-Jahres Lizenz kostenlos, aber mit viel DRM.
 
#* [http://flatcam.org/ FlatCam] Tool zur Generierung von Maschinencode für das [[CNC-Fräse/Isolationsfräsen]].
 
#* [http://jscut.org/ jscut], SVG nach GCode, läuft im Browser, [https://github.com/tbfleming/jscut Open Source auf GitHub]
 
#* [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])
 
#* [https://github.com/stratum0/CNCmilling Eigenbau by Drahflow] Python-Script für Umwandlung von Tiefenkarten in G-Code.
 
# '''Simulation'''
 
#* Eine Simulation der Fräsanweisungen kann bei Bedarf mit [http://camotics.org/ CAMotics] durchgeführt werden
 
#* Kleinere G-Code Dateien simuliert auch http://nraynaud.github.io/webgcode/
 
# '''Übertragen auf CNC-Controller Smoothieboard'''
 
#* Per Dateiupload (Datenträger von Smoothieboard, SD-Karte) [http://192.168.178.222 SmoothieControl]
 
#** 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
 
# '''Koordinatensystem der Fräse setzen'''
 
#*Fräse per Smoothie WebApp auf den gewünschten Nullpunkt fahren
 
#*per Webapp den G-Code "G92 X0 Y0 Z0" senden (Setzt aktuelle Position als X:0, Y:0, Z:0 im globalen Koordinatensystem.)
 
# '''Fräsen'''
 
=== Parameter für verschiedene Werkstoffe ===
 
Parameter finden sich sind auf der Unterseite [[CNC-Fräse/Parameter]]
 
 
== Steuern des Smoothieboards ==
 
* Per seriell Verbindung über Konsole "screen /dev/ttyACM0 115200", oder Pronterface GUI
 
* Per Netzwerkverbindung über Konsole mit Telnet, oder Http Web UI
 
* Mittlerweile existiert sogar eine Android App [https://gitlab.com/damfle/SmoothieControl SmoothieControl]
 
 
* [https://github.com/vlachoudis/bCNC bCNC] ermöglicht das Senden von GCODE-Anweisungen und Visualisierung der Fräsbahnen in einer GUI.
 
 
== Weblinks ==
 
* [http://smoothieware.org/ Smoothieboard Projektwebseite]
 
* [http://www.cambam.info/ Cambam Webseite]
 
* [http://en.wikipedia.org/wiki/G-code GCodes (allgemein)]
 
* [http://reprap.org/wiki/G-code GCodes (reprap)]
 
* [http://smoothieware.org/supported-g-codes Vom Smoothieboard unterstützte GCodes (unvollständig)]
 
  
 
[[Kategorie:Infrastruktur]]
 
[[Kategorie:Infrastruktur]]
 
[[Kategorie:CNC-Fräse]]
 
[[Kategorie:CNC-Fräse]]

Aktuelle Version vom 17. Juni 2026, 10:55 Uhr

CNC-Portalfräse
erste Inbetriebnahme, noch auf dem Frickelraumtisch
erste Inbetriebnahme, noch auf dem Frickelraumtisch
Beschreibung: CNC-Fräse
Ort: Werkstatt Space 3.0
Status: working (Was heißt das?)
Kontakt: wucke13
Usage Policy: Benutzung erst nach Einweisung durch wucke13. Kaputtmachen und Reparieren nur von Spezialexperten.

Im Jahr 2026 wurde eine neue Steuerung für die Fräse beschafft und aufgebaut, um sie mit LinuxCNC zu steuern. Seit 2026-04-23 ist die Hardware grundsätzlich Einsatzfähig, es stehen aber weitere Tests, Kalibrierungen und Experimente an, bis die Fräse für den normalen Betrieb freigegeben werden kann.


Überblick

Fräse

Durch den Aufbau als Portalfräse ist es möglich, dass Werkstücke in y-Richtung über den Frästisch hinausragen können

Es handelt sich um eine Isel Automation Flachbett-Tischfräse CNC Multi K, Baujahr ca. 1999. Kaum gebraucht und vermutlich seit 2005 nicht mehr in Betrieb gewesen, bevor sie 2014 zu uns kam.

  • maximaler Arbeitsbereich: (x,y,z) = (298 mm, 420 mm, 100 mm)
  • Kugelgewindetriebe, 4 mm Steigung, 2.45 mm Kugeln
  • Zwei Endschalter pro Achse
  • Derzeit zwei Frässpindeln verfügbar
  • NEMA23 Schrittmotoren der Firma Nanotec 4T5618M3300

Elektrischer Anschluss der Fräse

Die Fräse ist über eine Harting 24 B Stecker mit dem Schaltschrank, der die Elektronik beinhaltet, verbunden. Das dazugehörige Kabel ist knapp 1.8 m lang und kann auf beiden Seiten getrennt werden. Die Versorger Seite (Schaltschrank) ist als Buchse, die Verbraucher Seite (Fräse) als Stecker ausgelegt; das Kabel jeweils umgekehrt so dass es passt. Der Stecker ist verpolsicher.

Das Stromkabel zur Frässpindel ist separat herausgeführt und im Schaltschrank in die schaltbare SchuKo-Steckdose "Socket 1" eingesteckt. LinuxCNC kann damit die Frässpindel ein und ausschalten; es gibt aber keinerlei Kontrolle oder Feedback über die Drehzahl.

Werkzeuge

AMB 1050 FME-1

  • Aufnahmeleistung: 1050 - Watt
  • Drehzahl: 5000...25000 - 1/min

[1]

Werkzeug-Einsätze

  • Siehe Bilder

Misc

  • Produktnr. 148508
  • Ident 9911 00042


Workflow

  1. Model (CAD)
  2. Fräsanweisungen (CAM)
    Erzeugen der Fräsanweisungen/Maschinenanweisungen mit einer CAM-software.
  3. Simulation
    • FreeCAD bietet eine Simulation der Fräsanweisungen.
    • Ebenfalls bietet CAMotics eine Simulation werden.
    • Kleinere G-Code Dateien simuliert auch http://nraynaud.github.io/webgcode/
    • LinuxCNC zeigt ebenfalls eine Vorschau des Werkzeugpfades an.
  4. Fräsen
  5. https://linuxcnc.org/docs/stable/html/gui/axis.html#_a_typical_session

Parameter für verschiedene Werkstoffe

Parameter finden sich sind auf der Unterseite CNC-Fräse/Parameter


Weblinks

Technical Details

Maintenance

Grease

Components

Maintenance

Grease

Components

Electronics Overview

Abbreviations

  • HV: High Voltage, life endangering, do not touch
  • LV: Voltage considered generally safe to touch, be careful
  • PE: Protective Earth
  • NC: Normally Closed
  • NO: Normally Open

Conventions

  • All high-speed IO (i.e. step & direction) is fully differential
  • Limit switches and probe signals are NC to +24V, and will open upon activation. Thus a cable break appears as “limit switch activated” or “probe activated”.
  • All moving are guarded redundantly by the physical emergency stop switch: it comprises two distinct electrical switches, one NC, and one NO. The NC switch supplies GND to the socket contactors (for the switched 230VAC) and the stepper drive enable signals. Independently of that, the NO signals to LinuxCNC when the emergency stop was pushed. Thus LinuxCNC will deactivate the machine’s actuators when the physical emergency stop switch is pressed; but even in the instance of totally unresponsive software, the NC switch will still disable the kinematics by taking awaiy GND from contactor coils and stepper enable signals.
    • The machine has no brakes; thus absolute standstill of all moving parts immediately after pushing the emergency stop switch.

Cable Color Codes

Cable Color Voltage Domain Short Description
Light-Blue HV N 230 VAC Neutral
Light-Brown HV L 230 VAC Phase
Green/Yellow HV PE Protective Earth
Dark-Blue LV DP+ Differential pair, positive
Dark-Blue/White LV DP- Differential pair, negative
Red LV +48V 48 Volt DC
Yellow LV +24V 24 Volt DC
Black LV GND 0 Volt DC
Orange LV STP Chopped 48V for Stepper, anything between +-48V

Harting 24B Pinout

PIN Function Comment
1 X-Axis Stepper Coil A+
2 X-Axis Stepper Coil A-
3 X-Axis Stepper Coil B+
4 X-Axis Stepper Coil B-
5 Y-Axis Stepper Coil A+
6 Y-Axis Stepper Coil A-
7 Y-Axis Stepper Coil B+
8 Y-Axis Stepper Coil B-
9 Z-Axis Stepper Coil A+
10 Z-Axis Stepper Coil A-
11 Z-Axis Stepper Coil B+
12 Z-Axis Stepper Coil B-
13 7i76EU INPUT8
14 7i76EU INPUT9
15
16
17 7i76EU INPUT10
18 7i76EU INPUT11
19 7i76EU INPUT14
20 7i76EU INPUT15
21 7i76EU INPUT12
22 7i76EU INPUT13
23 GND
24 +24V
PE PE TODO connect to machine frame?

MESA 7i76EU Connectors

Power Connector

Not connected.

P2

Not connected.

TB1
PIN IO Function Comment Comment
1 VFIELD 24V+ Suppies Field IO with 24V
2 VFIELD
3 VFIELD
4 VFIELD
5 VIN
6 GROUND Enable D- Connects Boost D- to GND for all Stepper Driver TODO verify
7 GROUND Fault D- Connects Fault D- to GND for all Stepper Driver TODO verify
8 GROUND GND Supplies Field IO with GND

TB 2
PIN IO Function
1 GND
2 STEP0- Stepper 0 Step D-
3 STEP0+ Stepper 0 Step D+
4 DIR0- Stepper 0 Dir D-
5 DIR0+ Stepper 0 Dir D+
6 +5VP
7 GND
8 STEP1- Stepper 1 Step D-
9 STEP1+ Stepper 1 Step D+
10 DIR1- Stepper 1 Dir D-
11 DIR1+ Stepper 1 Dir D+
12 +5VP
13 GND
14 STEP2- Stepper 2 Step D-
15 STEP2+ Stepper 2 Step D+
16 DIR2- Stepper 2 Dir D-
17 DIR2+ Stepper 2 Dir D+
18 +5VP
19 GND
20 STEP3-
21 STEP3+
22 DIR3-
23 DIR3+
24 +5VP

TB3
PIN IO Function
1 GND
2 STEP4-
3 STEP4+
4 DIR4-
5 DIR4+
6 +5VP
7 ENCA+
8 ENCA-
9 GND
10 ENCB+
11 ENCB-
12 +5VP
13 IDX+
14 IDX-
15 GND
16 RS-422 RX+
17 RS-422 RX-
18 RS-422 TX+
19 RS-422 TX-
20 +5VP
21 UNREG LOGIC PWR+ IN +24V
22 UNREG LOGIC PWR+ IN
23 GND
24 GND GND

TB 4

Not connected.

TB 5

Not connected.

TB 6
PIN IO Function Comment
1 INPUT0 / ANA0
2 INPUT1 / ANA 1
3 INPUT2 / ANA 2
4 INPUT3 / ANA 3
5 INPUT4 Stepper X Fault Inverted: Goes low on fault
6 INPUT5 Stepper Y Fault Inverted: Goes low on fault
7 INPUT6 Stepper Z Fault Inverted: Goes low on fault
8 INPUT7 Emergency Stop Inverted: Goes High when pressing E-Stop
9 INPUT8 X Min Limit + Home NC, left position
10 INPUT9 X Max Limit NC
11 INPUT10 Y Max Limit + Home NC, back position
12 INPUT11 Y Min Limit NC
13 INPUT12 Z Max Limit + Home NC, top position
14 INPUT13 Z Min Limit NC, series with toolprobe overtravel switch
15 INPUT14 Toolprobe NC, opens when toolprobe is pressed
16 INPUT15 Touchprobe NC, opens when touchprobe is deflected
17 OUTPUT0 Stepper 0 Boost Not configured
18 OUTPUT1 Stepper 1 Boost Not configured
19 OUTPUT2 Stepper 2 Boost Not configured
20 OUTPUT3 Socket 1 enable Spindle enable
21 OUTPUT4 Socket 2 enable Can be controlled via PyVCP, arbitrary function
22 OUTPUT5
23 OUTPUT6
24 OUTPUT7 Enable D+ Pull-Up to enable the steppers