CNC-Portalfräse: Unterschied zwischen den Versionen

(Workflow)
 
(27 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{{Hardware
 
{{Hardware
|kontakt = {{Benutzer|comawill}}, {{Benutzer|adnc}}, {{Benutzer|Kasalehlia}}, {{Benutzer|larsan}}
+
|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 ==
 
=== Fräse ===
 
=== Fräse ===
Es handelt sich um eine etwa 15 jahre alte Isel Automation Flachbett Tischfräse CNC Multi K.
+
[[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]]
Kaum gebraucht und vermutlich seit ~9 Jahren nicht mehr in Betrieb gewesen.
+
 
* Arbeitsbereich: 330*500*90 mm
+
Es handelt sich um eine Isel Automation Flachbett-Tischfräse CNC Multi K, Baujahr ca. 1999.
* Kugelgewindetriebe
+
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
 
* Zwei Endschalter pro Achse
 
* Derzeit zwei Frässpindeln verfügbar
 
* Derzeit zwei Frässpindeln verfügbar
** <s>[[CNC-Fräse#HF-Spindel|Hochfrequenzspindel]]</s>
+
** <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.
 
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.
 
  
=== Werkzeuge ===
+
* Aufnahmeleistung: 1050 - Watt
==== Proxxon ====
+
* Drehzahl: 5000...25000 - 1/min
* 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 ====
+
[https://www.amb-elektrik.de/products/amb-frasmotor-1050-fme-1-230v-fur-standard-spannzangen]
* 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 78: 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
+
== Technical Details ==
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
+
<span id="maintenance"></span>
planner_queue_size                          32              # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
+
=== Maintenance ===
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
+
<span id="grease"></span>
microseconds_per_step_pulse                  1                # Duration of step pulses to stepper drivers, in microseconds
+
==== Grease ====
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
+
* Grease nipple conforms to DIN 71412
x_axis_max_speed                            1500            # mm/min
+
* Grease to be used for ball screw and linear rails:
y_axis_max_speed                            1500            # mm/min
+
** rolling bearing grease
z_axis_max_speed                            300              # mm/min
+
** '''No''' solid lubricant additives (like MoS<sub>2</sub> or Graphen)
 +
** NGLI 2 as per DIN 51818
 +
** DIN 51825 K2K or KP2K
 +
** 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
  
# Stepper module pins ( ports, and pin numbers, appending "!" to the number will invert a pin )
+
<span id="components"></span>
alpha_step_pin                              2.0              # Pin for alpha stepper step signal
+
=== Components ===
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
+
* 1 × [https://store.mesanet.com/index.php?route=product/product&product_id=399 MESA 7i76EU] IO Board
beta_dir_pin                                0.11            # Pin for beta stepper direction
+
* 3 × [https://www.lamtechnologies.com/Product.aspx?lng=EN&idp=DS1044 LAM DS 1044] Stepper Stepper Motor Driver
beta_en_pin                                  0.10            # Pin for beta enable
+
* 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
beta_current                                1.0              # Y stepper motor current
+
* 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
beta_max_rate                                1500.0          # mm/min
+
* 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
  
gamma_step_pin                              2.2              # Pin for gamma stepper step signal
+
<span id="electronics-overview"></span>
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 )
+
<span id="maintenance"></span>
uart0.baud_rate                              115200          # Baud rate for the default hardware serial port
+
=== Maintenance ===
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
 
  
 +
<span id="grease"></span>
 +
==== Grease ====
  
# Extruder module configuration
+
* Grease nipple conforms to DIN 71412
extruder_module_enable                      true            # Whether to activate the extruder module at all. All configuration
+
* Grease to be used for ball screw and linear rails:
                                                              # is ignored if false
+
** rolling bearing grease
extruder_steps_per_mm                        140              # Steps per mm for extruder stepper
+
** '''No''' solid lubricant additives (like MoS<sub>2</sub> or Graphen)
extruder_default_feed_rate                  600              # Default rate ( mm/minute ) for moves where only the extruder moves
+
** NGLI 2 as per DIN 51818
extruder_acceleration                        500              # Acceleration for retracts, mm/sec^2
+
** DIN 51825 K2K or KP2K
extruder_max_speed                          1000            # mm/sec NOTE only used for retracts
+
** 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
  
extruder_step_pin                            2.3              # Pin for extruder step signal
+
<span id="components"></span>
extruder_dir_pin                            0.22            # Pin for extruder dir signal
+
=== Components ===
extruder_en_pin                              0.21            # Pin for extruder enable signal
 
delta_current                                1.5              # Extruder stepper motor current
 
  
# Laser module configuration
+
* 1 × [https://store.mesanet.com/index.php?route=product/product&product_id=399 MESA 7i76EU] IO Board
laser_module_enable                          false            # Whether to activate the laser module at all. All configuration is
+
* 3 × [https://www.lamtechnologies.com/Product.aspx?lng=EN&idp=DS1044 LAM DS 1044] Stepper Stepper Motor Driver
                                                              # ignored if false.
+
* 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
#laser_module_pin                            2.5            # this pin will be PWMed to control the laser. Only P2.0 - P2.5
+
* 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
                                                              # can be used since laser requires hardware PWM
+
* 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
#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
+
<span id="electronics-overview"></span>
temperature_control.hotend.enable            true            # Whether to activate this ( "hotend" ) module at all.
+
=== Electronics Overview ===
                                                              # 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
+
<span id="abbreviations"></span>
#temperature_control.hotend.i_factor        0.097            #
+
==== Abbreviations ====
#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.
+
* 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
  
temperature_control.bed.enable              true            #
+
<span id="conventions"></span>
temperature_control.bed.thermistor_pin      0.24            #
+
==== Conventions ====
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
+
* All high-speed IO (i.e. step &amp; direction) is fully differential
#temperature_control.bed.hysteresis          2.0            # set to the temperature in degrees C to use as hysteresis
+
* 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”.
                                                              # when using bang bang
+
* 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.
  
# Switch module for fan control
+
<span id="cable-color-codes"></span>
switch.fan.enable                            true            #
+
==== Cable Color Codes ====
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            #
+
{| class="wikitable"
#switch.misc.input_on_command                M42              #
+
|-
#switch.misc.input_off_command                M43              #
+
! Cable Color
#switch.misc.output_pin                      2.4              #
+
! Voltage Domain
#switch.misc.output_type                      digital          # just an on or off pin
+
! 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
 +
|}
  
# Switch module for spindle control
+
<span id="harting-24b-pinout"></span>
#switch.spindle.enable                        false            #
+
==== Harting 24B Pinout ====
  
# Endstops
+
{| class="wikitable"
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
+
! PIN
alpha_min_endstop                            1.24^            # add a ! to invert if endstop is NO connected to ground
+
! Function
alpha_max_endstop                            1.25^            #
+
! Comment
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
+
| 1
alpha_max                                    200              # this gets loaded after homing when home_to_max is set
+
| X-Axis Stepper Coil A+
beta_min_endstop                            1.26^            #
+
|
beta_max_endstop                            1.27^            #
+
|-
beta_homing_direction                        home_to_min      #
+
| 2
beta_min                                    0                #
+
| X-Axis Stepper Coil A-
beta_max                                    200              #
+
|
gamma_min_endstop                            1.28^            #
+
|-
gamma_max_endstop                            1.29^            #
+
| 3
gamma_homing_direction                      home_to_min      #
+
| X-Axis Stepper Coil B+
gamma_min                                    0                #
+
|
gamma_max                                    200              #
+
|-
 +
| 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?
 +
|}
  
alpha_fast_homing_rate_mm_s                  50              # feedrates in mm/second
+
<span id="mesa-7i76eu-connectors"></span>
beta_fast_homing_rate_mm_s                  50              # "
+
==== MESA 7i76EU Connectors ====
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
+
<span id="power-connector"></span>
beta_homing_retract_mm                      5                # "
+
===== Power Connector =====
gamma_homing_retract_mm                      1                # "
 
  
#endstop_debounce_count                      100              # uncomment if you get noise on your endstops
+
Not connected.
  
# Pause button
+
<span id="p2"></span>
pause_button_enable                          true            #
+
===== P2 =====
  
# Panel
+
Not connected.
panel.enable                                false            # set to true to enable the panel code
 
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
+
<span id="tb1"></span>
# on glcd EXP1 is to left and EXP2 is to right, pin 1 is bottom left, pin 2 is top left etc.
+
===== TB1 =====
# +5v is EXP1 pin 10, Gnd is EXP1 pin 9
 
#panel.lcd                                  reprap_discount_glcd    #
 
#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
+
{| class="wikitable"
#panel.up_button_pin                        0.1!             # up button if used
+
|-
#panel.down_button_pin                      0.0!             # down button if used
+
! PIN
#panel.click_button_pin                      0.18!             # click button if used
+
! 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
 +
|
 +
|}
  
panel.menu_offset                            0                # some panels will need 1 here
+
<span id="tb-2"></span>
 +
===== TB 2 =====
  
panel.alpha_jog_feedrate                    1000              # x jogging feedrate in mm/min
+
{| class="wikitable"
panel.beta_jog_feedrate                      1000              # y jogging feedrate in mm/min
+
|-
panel.gamma_jog_feedrate                    200              # z jogging feedrate in mm/min
+
! 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
 +
|
 +
|}
  
panel.hotend_temperature                    185              # temp to set hotend when preheat is selected
+
<span id="tb3"></span>
panel.bed_temperature                        60                # temp to set bed when preheat is selected
+
===== TB3 =====
  
# Example of a custom menu entry, which will show up in the Custom entry.
+
{| class="wikitable"
# NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands
+
|-
custom_menu.power_on.enable                true              #
+
! PIN
custom_menu.power_on.name                  Power_on          #
+
! IO
custom_menu.power_on.command              M80              #
+
! 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
 +
|}
  
custom_menu.power_off.enable              true              #
+
<span id="tb-4"></span>
custom_menu.power_off.name                Power_off        #
+
===== TB 4 =====
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="tb-5"></span>
 +
===== TB 5 =====
  
# network settings
+
Not connected.
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>
+
<span id="tb-6"></span>
 +
===== TB 6 =====
  
== Workflow ==
+
{| class="wikitable"
# '''Model (CAD)'''
+
|-
#* Erzeugen des Models mittels einer CAD-Software.
+
! PIN
#** 3D
+
! IO
#*** [http://librecad.org/ LibreCAD]
+
! Function
#*** [http://www.openscad.org/ OpenSCAD]
+
! Comment
#*** [http://www.blender.org/ Blender]
+
|-
#*** [https://www.autodesk.com/products/fusion-360/overview Fusion 360] - [[CNC-Fräse/Fusion360|installiert auf Stratux]]
+
| 1
#** 2D
+
| INPUT0 / ANA0
#*** [http://www.qcad.org/ QCAD]
+
|
#*** [http://www.openscad.org/ OpenSCAD]
+
|
#*** [http://www.inkscape.org/ Inkscape]
+
|-
# '''Fräsanweisungen (CAM)'''
+
| 2
#: Erzeugen der Fräsanweisungen/Maschinenanweisungen mit einer CAM.
+
| INPUT1 / ANA 1
#: 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
+
|-
#* [http://pycam.sourceforge.net/ PyCAM] (open source, plattformunabhängig): Sieht im Vergleich zu aktuellen kommerziellen Lösungen alt aus und ist bisweilen recht langsam.
+
| 3
#* [https://github.com/Heeks/heekscad HeeksCAD] (open source, Windows/Linux):
+
| INPUT2 / ANA 2
#* [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://makercam.com/ MakerCAM] Online Flash Tool um SVG in .gcode umzuwandeln.
+
|-
#* [https://github.com/stratum0/CNCmilling Eigenbau by Drahflow] Python-Script für Umwandlung von Tiefenkarten in G-Code.
+
| 4
# '''Simulation'''
+
| INPUT3 / ANA 3
#* Eine Simulation der Fräsanweisungen kann bei Bedarf mit [http://openscam.org/ OpenSCAM] 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]
+
| 5
# '''Koordinatensystem der Fräse setzen'''
+
| INPUT4
#*Fräse per Soomthie WebApp auf Nullpunkt fahren
+
| Stepper X Fault
#*Smoothieboard Neustarten
+
| Inverted: Goes low on fault
#*per Webapp Commando "G92 X0 Y0 Z0" senden (Setzt aktuelle Position als X:0, Y:0, Z:0 im globalen Koordinatensystem)
+
|-
# '''Fräsen'''
+
| 6
=== Parameter für verschiedene Werkstoffe ===
+
| INPUT5
Parameter finden sich sind auf der Unterseite [[CNC-Fräse/Parameter]]
+
| 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
 +
|}
  
== 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