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

Hardwareschnittstelle 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).

Hardware-Schnittstellenoptionen ä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

3.2. Pico Systems über den Parallelport

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 auf eine Steuerungsplatine abgeladen. 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. Es ist NICHT für Timing und sicherheitsrelevante I/Os. Verwenden Sie es nicht für Notanschläge 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.