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)

Some of these solutions are usable for all aspects of hardware interfacing, and some have specific roles (e.g. non-realtime GPIO for an operator interface with switches).

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

Realtime (time critical) tasks such as step generation are done in software on the LinuxCNC host - this means the parallel port interface is much more sensitive to the LinuxCNC computer’s latency.

Vorteile: - Niedrige Kosten - Einfache Konfiguration

Nachteile: - Sensitiv für die Latenz des LinuxCNC-Computers - Begrenzte (engl. limited) Eingänge/Ausgänge - Some PCI/PCIe parallel port cards do not work well or do not properly support the EPP mode (EPP mode is required for parallel port interface to Mesa / PICO cards).

3. Parallel Port FPGA Kommunication

Realtime (time critical) tasks such as step generation are done in hardware (not on the computer)

3.1. Mesa via Parallel Port

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 via Parallel Port

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 is the open real-time Ethernet network originally developed by Beckhoff. The EtherCAT master (LinuxCNC computer) uses a standard ethernet (network) interface - no special hardware is needed on the master. The slaves use special hardware. There are many EtherCAT slave devices available including servo drives, stepper drives, input, output interfaces, VFDs, and others.

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 interfaces can be found on single board computers like Raspberry Pi, or Orange Pi. SPI interface is not generally present on standard computers (AMD/Intel).

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

This Project enables you to connect an Arduino to LinuxCNC and provides as many I/Os as you could ever wish for. This Software is used as I/O Expansion for LinuxCNC. It is NOT intended for timing and security relevant I/Os. Do not use it for Emergency Stops or Endstop switches!

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.