Hardware zur Ausführung der LinuxCNC Software

Es wird ein Computer benötigt, um LinuxCNC auszuführen. Siehe Computer Anforderungen

Am häufigsten wird ein x86 Computer (Standard Intel / AMD Computer) verwendet

ARM-Computer wie der Raspberry Pi oder Orange Pi können verwendet werden

Hardware Schnittstelle zur CNC-Maschine

Eine Schnittstelle (engl. interface) ist notwendig, um Signale und Informationen zwischen LinuxCNC (die Software auf dem Computer) und CNC-Hardware (wie Stepper / Servotreiber, Endschalter, Eingänge und Ausgänge etc.) zu übertragen (und zu konvertieren). Es gibt mehrere verschiedene Möglichkeiten für die Hardware, um sich zu begegnen.

Schnittstellen können sein: - Parallelport - Ethernet - EtherCAT - PCI / PCIe - SPI (wobei der Computer eine native SPI-Schnittstelle hat, wie der Raspberry Pi) - USB (das ist _keine _ Echtzeit Schnittstelle)

Ein Mix aus verschiedenen Schnittstellen kann verwendet werden. Zum Beispiel eine Kombination von Ethercat für Servoantriebe und Parallelport für zusätzliche General Purpose Inputs / Outputs (GPIO)

Einige dieser Lösungen sind für alle Aspekte des Hardware-Interfacing nutzbar und einige haben spezifische Rollen (z.B. non-Echtzeit GPIO (engl. Abkürzung für Allzweck-IO) für eine Bediener-Schnittstelle mit Schaltern).

Optionen für Hardware-Schnittstellen ändern sich im Laufe der Zeit. Diese Liste ist keine 100% vollständige Liste aller Hardware-Schnittstellen, die mit LinuxCNC verwendet werden können.

1. Parallelport

Verwenden eines Mainboard Parallel Ports, oder eine PCI/PCIe Parallelport-Karte.

2. Parallel-Port Software Schnittstelle

Echtzeit- (zeitkritische) Aufgaben wie Schritt-Generierung werden in Software auf dem LinuxCNC-Host durchgeführt - das bedeutet, dass die parallele Port-Schnittstelle viel empfindlicher für die Latenz des LinuxCNC-Computers ist.

Vorteile: - Niedrige Kosten - Einfache Konfiguration

Nachteile: - Sensitiv für die Latenz des LinuxCNC-Computers - Begrenzte (engl. limited) Eingänge/Ausgänge - Einige PCI/PCIe parallele Portkarten funktionieren nicht gut oder unterstützen den EPP-Modus nicht richtig (EPP-Modus ist für die parallele Port-Schnittstelle zu Mesa / PICO-Karten erforderlich).

3. Parallel Port FPGA Kommunication

Echtzeit (zeitkritische) Aufgaben wie Schritt-Generierung werden in Hardware (nicht auf dem Computer) ausgeführt

3.1. Mesa über den Parallelport

Mesa nutzt Field-programmable gate array (FPGA), die über die parallele Schnittstelle (engl. parallel port) angeschlossen sind, wie zum beispiel die 7i43

4. Ethernet

4.1. Mesa Ethernet

Mesa-Karten mit einem feldprogrammierbaren Gate-Array (FPGA), an LinuxCNC-Computer über Ethernet angeschlossen. Zeitkritische (Realtime) Aufgaben werden auf der FPGA-Karte ausgeführt.

Mehrere Ethernet-Schnittstelle FPGA-Karten sind verfügbar, mit vielen Erweiterungskarten

4.2. Remora Ethernet

Echtzeit-Anforderungen werden auf eine Steuerungsplatine (engl. controller boards) abgegeben. Mehrere verschidene Steuerungsplatinen werden unterstützt, siehe Remora docs.

Beachten Sie, dass einige dieser Controller-Boards (z.B. NVEM, EC300, EC500) für den Einsatz mit Mach3 konzipiert/verkauft werden. Die Verwendung mit LinuxCNC erfordert das Flashen neuer Firmware, die von der LinuxCNC-Community entwickelt wurde. Der Hersteller unterstützt LinuxCNC nicht.

Expatria Technologies PicoBOB-DLX wurde entwickelt für LinuxCNC Remora.

Stand März 2024: ``` STM32-basierende controller boards

NVEM - ein STM32F207-basiertes Board mit Ethernet PHY Chip, das ursprünglich für Mach3 bestimmt war. [Wird nicht mehr produziert, Legacy Support - keine neuen Features]
EC500 - ein STM32F407-basiertes Board mit Ethernet PHY Chip, das ursprünglich für Mach3 bestimmt war. [Wird nicht mehr produziert, Legacy Support - keine neuen Features]
Expatria Technologies Flexi-HAL mit uFlexiNET Ethernet Adapter - ein STM32F446-basiertes Board mit W5500 Ethernet SPI Adapter für Remora

iMX RT1052-basierende controller boards

NVEM, EC300 & EC500 - iMXRT1052-basierte Controller-Boards mit Ethernet PHY-Chip, ursprünglich für Mach3 bestimmt. [In aktiver Entwicklung]

RP2040-basierende controller boards

WIZnet W5500-EVB-Pico - Raspberry Pi RP2040 basiertes Entwicklungsboard mit on-board W5500 Ethernet SPI Adapter
    Expatria Technologies PicoBOB-DLX - Raspberry Pi RP2040 basiertes Board mit on-board W5500 Ethernet SPI Adapter für Remora
`` `

4.3. Litex-CNC

Dieses Projekt zielt darauf ab, eine generische CNC-Firmware und Treiber für FPGA-Karten zu erstellen, die von LiteX unterstützt werden. Die Konfiguration von Board und Treiber erfolgt über json-Dateien. Die unterstützten Boards sind die Colorlight Boards 5A-75B und 5A-75E, da diese mit der Open Source Toolchain vollständig unterstützt werden.

Colorlight 5A-75B und 5A-75E-Karten sind als LED-Empfängerkarte konzipiert - mit Ausgabe auf LED-Matrix-Panels. Diese Karten haben nur Ausgänge - Hardware-Änderungen sind erforderlich, um auch Eingaben zu ermöglichen. Hierzu muss gelötet werden. Ausgangspuffer können durch einen Eingangspuffer ersetzt werden.

4.4. LinuxCNC-RIO

RealtimeIO für LinuxCNC basierend auf einem FPGA

Ethernet-Schnittstelle kann mit einer Ethernet-SPI-Schnittstelle verwendet werden.

5. EtherCAT

Beckhoff EtherCAT™ und kompatible Systeme können mit der Open Source Etherlab Software mit LinuxCNC arbeiten.

EtherCAT ist das von Beckhoff ursprünglich entwickelte offene Echtzeit-Ethernet-Netzwerk. Der EtherCAT Master (LinuxCNC Computer) verwendet eine Standard-Ethernet (Netzwerk)-Schnittstelle - keine spezielle Hardware wird auf dem Master benötigt. Die Slaves verwenden spezielle Hardware. Es gibt viele EtherCAT Slave-Geräte, einschließlich Servoantriebe, Stepper-Antriebe, Eingabe, Ausgabeschnittstellen, VFDs und andere.

6. PCI / PCIe

6.1. Mesa

Mesa PCI / PCIe Karten mit einem Feld-Programmierbaren Gate-Array (FPGA). Zeitkritische (Echtzeit) Aufgaben werden auf der FPGA-Karte ausgeführt.

Mehrere Tochter (engl. daughter) / Erweiterungskarten sind verfügbar

7. SPI

SPI = Serial Peripheral Interface. SPI-Schnittstellen finden Sie auf single board Computern wie Raspberry Pi oder Orange Pi. Eine SPI-Schnittstelle ist in der Regel nicht auf Standard-Computern (AMD/Intel) vorhanden.

7.1. Remora SPI

Echtzeit-Anforderungen werden an eine Steuerungsplatine übertragen. https://remora-docs.readthedocs.io

7.2. LinuxCNC-RIO

RealtimeIO für LinuxCNC basierend auf einem FPGA

7.3. Mesa

Mesa-Karten mit einem Feld-Programmierbaren Gate-Array (FPGA), das über SPI an den LinuxCNC-Computer angeschlossen ist. Zeitkritische (Realtime) Aufgaben werden auf der FPGA-Karte ausgeführt.

Beispiel: 7C80 für Raspberry Pi

8. USB

USB-Geräte können nicht verwendet werden, um Motoren zu steuern oder andere "Echtzeit" (engl. realtime) Aufgaben auszuführen.

USB zu Parallel-Port-Konverter sind NICHT verwendbar / geeignet für den CNC-Einsatz.

8.1. LinuxCNC_ArduinoConnector

Dieses Projekt ermöglicht es Ihnen, einen Arduino mit LinuxCNC zu verbinden und bietet so viele I/Os, wie Sie es je wünschen konnten. Diese Software wird als I/O-Erweiterung für LinuxCNC verwendet. Sie ist NICHT gedacht für Timing und sicherheitsrelevante I/Os. Verwenden Sie diese nicht für den Notaus- oder Endschalter!

8.2. USB zu RS485 / Modbus

USB an serielle (RS485 / Modbus) Adapter können zur Steuerung von nicht-Echtzeit Hardware wie variable Frequenzantriebe (VFD) zur Spindelsteuerung verwendet werden. Nicht für zeitkritische Aufgaben geeignet.