Hardware para ejecutar el software LinuxCNC
Se requiere una computadora para ejecutar LinuxCNC. Ver Requerimientos de sistema de la computadora
Lo más común es usar una computadora x86 (una computadora Intel / AMD estándar)
Se pueden usar computadoras ARM como Raspberry Pi u Orange Pi
Interfaz de hardware a la máquina CNC
Se necesita una interfaz para transmitir (y convertir) señales e información entre LinuxCNC (el software en la computadora) y el hardware CNC (como motores a paso / servos, interruptores de límite, entradas y salidas, etc.). Hay múltiples maneras de interconectar.
Las interfaces incluyen: - Parallel Port - Ethernet - EtherCAT - PCI / PCIe - SPI (cuando la computadora tenga una interfaz SPI nativa, como Raspberry Pi) - USB (no es una interfaz en tiempo real)
Se puede usar una mezcla de distintas interfaces. Por ejemplo, una combinación de ethercat para servocontrolador y puerto paralelo para entradas / salidas de propósito general (GPIO) adicionales
Algunas de esas soluciones son usables para todos los aspectos de interconexión de hardware, y algunas tienen roles específicos (p. ej. GPIO en tiempo no-real para una interfaz de operador con interruptores).
Las opciones de interfaz de hardware cambian con el tiempo. Esta no es una lista 100% completa de todas las interfaces de hardware que pueden usarse con LinuxCNC.
1. Parallel Port
Usando el puerto paralelo integrado en la placa madre, o una tarjeta PCI/PCIe de puerto paralelo.
2. Interfaz de puerto paralelo por software
Tareas en tiempo real (tiempo crítico) como la generación de pasos se hacen con software en el anfitrión de LinuxCNC; esto significa que la interfaz de puerto paralelo es mucho mas sensible a la latencia de la computadora LinuxCNC.
Ventajas: - Bajo costo - Configuración simple
Desventajas: - Sensible a la latencia de la computadora LinuxCNC - Entradas/salidas limitadas - Algunas tarjetas de puerto paralelo PCI/PCIe no funcionan bien o no soportan adecuadamente el modo EPP (se requiere el modo EPP para tarjetas de puerto paralelo Mesa / PICO).
3. Comunicación del puerto paralelo FPGA
Las tareas en tiempo real (tiempo crítico) como la generación de pasos se hacen con hardware (no en la computadora)
3.1. Mesa por puerto paralelo
Mesa usa matriz de puerta programable en campo (FPGA) interconectada por puerto paralelo, p. ej. 7i43
Sitio web: https://mesanet.com/ Tienda: https://store.mesanet.com/
3.2. Pico Systems por puerto paralelo
4. Ethernet
4.1. Mesa por ethernet
Tarjetas Mesa con matriz de puerta programable en campo (FPGA) conectadas a la computadora LinuxCNC por ethernet. Las tareas de tiempo crítico (tiempo real) se realizan en la tarjeta FPGA.
Hay múltiples tarjetas FPGA con interfaz ethernet disponibles, con muchas tarjetas de expansión
Sitio web: https://mesanet.com/ Tienda: https://store.mesanet.com/
4.2. Remora por ethernet
Los requerimientos de tiempo real se descargan en una placa controladora. Se soportan diferentes placas controladoras. Ver documentos de Remora.
Nótese que algunas de esas placas controladoras (p. ej. NVEM, EC300, EC500) están diseñadas (y se venden) para usarse con Mach3. Para usarse con LinuxCNC se requiere grabarles un nuevo firmware, el cual ha sido desarrollado por la comunidad de LinuxCNC. El fabricante no soporta LinuxCNC.
La PicoBOB-DLX de Expatria Technologies fue diseñada para LinuxCNC Remora.
Documentación de Remora: https://remora-docs.readthedocs.io
Desde Marzo de 2024: ``` Placas controladoras basadas en STM32
NVEM - Una placa basada en STM32F207 con chip Ethernet PHY, originalmente destinada a Mach3. [Ya no esta en producción, Soporte legado - sin nuevas características]
EC500 - Una placa basada en STM32F407 con chip ethernet PHY, originalmente destinada a Mach3. [Ya no esta en producción, Soporte legado - sin nuevas características]
Flexi-HAL de Expatria Technologies con adaptador ethernet uFlexiNET - Una placa basada en STM32F446 con adaptador SPI ethernet W5500 diseñada para Remora
Placas controladoras basadas en iMX RT1052
NVEM, EC300 y EC500 - Placas controladoras basadas en iMXRT1052 con chip ethernet PHY, originalmente destinadas para Mach3. [En desarrollo activo]
Placas controladoras basadas en RP2040
W5500-EVB-Pico de WIZnet - Placa de desarrollo basada en Raspberry Pi RP2040 con adaptador integrado SPI ethernet W5500
PicoBOB-DLX de Expatria Technologies - Placa basada en Raspberry Pi RP2040 con adaptador integrado SPI ethernet W5500 diseñada para Remora
```
4.3. Litex-CNC
Este proyecto pretende crear un firmware de CNC genérico y controlador para tarjetas FPGA que sean soportadas por LiteX. Las configuraciones de la placa y el controlador se hacen con archivos json. Las placas soportadas son la 5A-75B y la 5A-75E de Colorlight, ya que son completamente soportadas con la cadena de herramientas de código abierto.
Las tarjetas 5A-75B y 5A-75E de Colorlight están diseñadas como una tarjeta receptora LED - dan salida a paneles de matriz de LEDs. Esas tarjetas sólo tienen salidas - requieren modificación de hardware para habilitar entradas. Es necesario soldar. Los búfers de salida pueden ser reemplazados con un búfer de entrada.
4.4. LinuxCNC-RIO
RealtimeIO para LinuxCNC basado en un FPGA
Se puede usar interfaz ethernet con una interfaz ethernet a SPI.
5. EtherCAT
EtherCAT™ de Beckhoff y sistemas compatibles hechos se pueden hacer funcionar con LinuxCNC usando el software de código abierto etherlab.
EtherCAT es la red ethernet en tiempo real abierta desarrollada originalmente por Beckhoff. El EtherCAT maestro (la computadora LinuxCNC) usa una interfaz (red) ethernet estándar - no se necesita hardware especial en el maestro. Los esclavos usan hardware especial. Hay varios dispositivos EtherCAT esclavos disponibles incluyendo servocontroladores, controladores de pasos, interfaces de entrada, salida, VFDs, y otros.
6. PCI / PCIe
6.1. Mesa
Tarjetas Mesa PCI / PCIe con una matriz de puerta programable de campo (FPGA). Las tareas de tiempo crítico (tiempo real) se realizan en la tarjeta FPGA.
Hay diversas tarjetas hija / de expansión disponibles
Sitio web: https://mesanet.com/ Tienda: https://store.mesanet.com/
7. SPI
SPI = Interfaz periférica serie. Las interfaces SPI se pueden encontrar en computadoras de placa simple como Raspberry Pi u Orange Pi. La interfaz SPI generalmente no esta presente en computadoras estándar (AMD/Intel).
7.1. Remora SPI
Los requerimientos de tiempo real se descargan en una placa controladora. https://remora-docs.readthedocs.io
7.2. LinuxCNC-RIO
RealtimeIO para LinuxCNC basado en un FPGA
7.3. Mesa
Tarjetas Mesa con una matriz de puerta programable de campo (FPGA) interconectadas con una computadora LinuxCNC mediante SPI. Las tareas de tiempo crítico (tiempo real) se realizan en la tarjeta FPGA.
Ejemplo: 7C80 para Raspberry Pi
Sitio web: https://mesanet.com/ Tienda: https://store.mesanet.com/
8. USB
Los dispositivos USB no pueden usarse para controlar motores o para realizar otras tareas en "tiempo real".
Los convertidores de USB a puerto paralelo NO son usables ni adecuados para CNC.
8.1. LinuxCNC_ArduinoConnector
Este proyecto te permite conectar un Arduino a LinuxCNC y proporciona tantas Entradas/Salidas como podrías desear. Este software se usa como una expansión de E/S para LinuxCNC. NO esta destinado para E/S de tiempo y seguridad relevantes. ¡No lo uses para interruptores de parada de emergencia o Endstop!
8.2. USB a RS485 / Modbus
Se pueden usar adaptadores de USB a serial (RS485 / Modbus) para controlar hardware en tiempo no-real como controladores de frecuencia variable (VFD) para control de husillo. No son adecuados para tareas de tiempo crítico.