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
Website: https://mesanet.com/ Store: https://store.mesanet.com/
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
Website: https://mesanet.com/ Store: https://store.mesanet.com/
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
Website: https://mesanet.com/ Store: https://store.mesanet.com/
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
Website: https://mesanet.com/ Store: https://store.mesanet.com/
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.