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
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.
Remora Dokumentation: https://remora-docs.readthedocs.io
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.