LinuxCNC Documentation
This page is 98% translated. Untranslated text is shown in English.

1. Información general

La Pluto-P es una placa FPGA que contiene el chip ACEX1K de Altera.

1.1. Requisitos

  1. Una placa Pluto-P

  2. Un puerto paralelo compatible con EPP, configurado en modo EPP en el BIOS del sistema o una tarjeta puerto paralelo PCI compatible con EPP.

Note
La placa Pluto P requiere modo EPP. Los chips Netmos98xx no funcionan en modo EPP. La placa Pluto P funcionará en algunas computadoras y en otras no. No hay un patrón conocido de cuáles computadoras funcionarán y cuáles no.

Para más información sobre tarjetas PCI de puerto paralelo compatibles con EPP ver la página de Hardware compatible con LinuxCNC en la wiki.

1.2. Conectores

  • La placa Pluto-P se envía con el conector izquierdo presoldado, con la muesca en la posición indicada. Los otros conectores están vacíos. No parecen conectores IDC estándar de 12 pines, pero algunos de los pines de un conector 16P pueden quedar fuera de la placa al lado de QA3/QZ3.

  • Los conectores inferior y derecho están en la misma cuadrícula de .1", mas no el conector izquierdo. Si no se necesitan OUT2…​OUT9 un solo conector IDC puede abarcar el conector inferior y las dos filas inferiores del conector derecho.

1.3. Pines físicos

  • Leer la hoja de especificaciones para información de los límites de voltajes de entrada y salida. Todos los pines están configurados en modo LVTTL/LVCMOS y son generalmente compatibles con lógica TTL de 5V.

  • Antes de configurar y después de salir de LinuxCNC, todos los pines de Pluto-P están en tercer estado con resistencias pull-up débiles (20 kΩ mín., 50 kΩ máx.). Si el temporizador del perro guardián esta activo (lo predeterminado), estos pines también quedan en tercer estado después de una interrupción de comunicación entre LinuxCNC y la placa. El temporizador del perro guardián tarda aproximadamente 6.5 ms en activarse. Sin embargo, defectos en el software del firmware de pluto_servo o de LinuxCNC pueden dejar los pines de Pluto-P en un estado indefinido.

  • En modo pwm+dir, dir es predeterminadamente Alto para valores negativos y Bajo para valores positivos. Para hacer Alto para valores positivos y Bajo para valores negativos, establecer el parámetro correspondiente dout-NN-invert en Verdadero para invertir la señal.

  • La entrada de índice es disparada en el flanco ascendente. Pruebas iniciales han mostrado que las entradas de QZx son particularmente sensibles al ruido por ser sondeadas cada 25 ns. Se ha agregado filtrado digital para filtrar pulsos más cortos que 175 ns (siete tiempos de sondeo). Es recomendable agregar filtrado externo en todos los pines de entrada, como un búfer o inversor Schmitt, filtro RC o receptor diferencial (si aplica).

  • Los pines IN1…​IN7 tienen resistencias en serie de 22 Ω con sus pines FPGA asociados. Ningún otro pin tiene algún tipo de protección para voltajes o corrientes fuera de especificación. Depende del integrador el agregar aislamiento y protección apropiados. Las placas de aislamiento óptico tradicionales de puerto paralelo no funcionan con pluto_servo debido a la naturaleza bidireccional del protocolo EPP.

1.4. LED

  • Cuando el dispositivo no está programado el LED brilla tenuemente. Cuando el dispositivo está programado el LED brilla según el ciclo de trabajo de PWM0 (LED = UP0 xor DOWN0) o STEPGEN0 (LED = STEP0 xor DIR0).

1.5. Energía

  • Se puede obtener un poco de corriente de VCC. La corriente disponible depende de la entrada DC desregulada a la placa. Alternativamente, se pueden suministrar al FPGA +3.3VDC regulados mediante estos pines VCC. La corriente requerida aún se desconoce, pero es probable que ronde por 50mA más la corriente de E/S.

  • El regulador en la placa Pluto-P es del tipo de baja caída de tensión. Suministrar 5V al conector de alimentación permitirá al regulador funcionar apropiadamente.

1.6. Interfaz con la PC

  • Solo una placa pluto_servo o pluto_step es soportada.

1.7. Recompilación del firmware FPGA

Los subdirectorios src/hal/drivers/pluto_servo_firmware/ y src/hal/drivers/pluto_step_firmware/ contienen el código fuente Verilog además de archivos adicionales usados por Quartus para los firmwares FPGA. El software Quartus II de Altera es necesario para recompilar el firmware FPGA. Para recompilar el firmware a partir de .hdl y otros archivos fuente abre el archivo .qpf y presiona CTRL-L. Luego recompila LinuxCNC.

Como el controlador de hardware HAL, el firmware FPGA está licenciado bajo los términos de la Licencia pública general de GNU.

La versión gratis de Quartus II corre solo en Windows de Microsoft, aunque aparentemente hay una versión de pago que corre en Linux.

1.8. Para más información

Alguna información adicional acerca de él esta disponible en KNJC LLC y en el blog del desarrollador.

2. Pluto Servo

El sistema pluto_servo es adecuado para controlar una fresadora CNC de 4 ejes con servo motores, una fresadora de 3 ejes con control de husillo PWM, un torno con codificador de husillo, etc. La gran cantidad de entradas permite un conjunto completo de interruptores de límite.

Este controlador tiene:

  • 4 canales en cuadratura con velocidad de muestreo de 40 MHz. Los contadores operan en modo 4x. La tasa de cuadratura útil máxima es 8191 conteos por ciclo servo de LinuxCNC, o alrededor 8 MHz para la tasa servo predeterminada de 1 ms.

  • 4 canales PWM, estilo arriba/abajo o pwm+dir. 4095 ciclos de trabajo desde -100% hasta +100%, incluyendo 0%. El período PWM es aproximadamente 19.5 kHz (40 MHz / 2047). También está disponible un modo estilo PDM.

  • 18 salidas digitales: 10 dedicadas, 8 compartidas con funciones PWM. (Ejemplo: Un torno con control de husillo PWM unidireccional puede usar 13 salidas digitales totales)

  • 20 entradas digitales: 8 dedicadas, 12 compartidas con función de cuadratura. (Ejemplo: Un torno con solo pulso de índice en el husillo puede usar 13 entradas digitales totales.)

  • Comunicación EPP con la PC. La comunicación EPP toma típicamente alrededor de 100 µs en las máquinas probadas hasta ahora, habilitando velocidades de servos por encima de 1 kHz.

2.1. Asignación de pines

  • UPx - La señal up (modo arriba/abajo) o pwm (modo pwm+dirección) del generador PWM X. Puede usarse como salida digital si el canal PWM correspondiente esta en desuso, o si la salida en el canal es siempre negativa. La inversión de la salida digital correspondiente puede establecerse en Verdadero para hacer UPx activo bajo en lugar de activo alto.

  • DNx - La señal down (modo arriba/abajo) o direction (modo pwm+dirección) del generador PWM X. Puede usarse como salida digital si el canal PWM correspondiente está en desuso, o si la salida en el canal nunca es negativa. La inversión de la salida digital correspondiente puede establecerse en Verdadero para hacer DNx activo bajo en lugar de activo alto.

  • QAx, QBx - Las señales A y B para el contador en cuadratura X. Puede usarse como una entrada digital si el canal en cuadratura correspondiente está en desuso.

  • QZx - La señal Z (índice) para el contador en cuadratura X. Puede usarse como una entrada digital si la característica de índice en el canal en cuadratura correspondiente está en desuso.

  • INx - Entrada digital dedicada #x

  • OUTx - Salida digital dedicada #x

  • GND - Tierra

  • VCC - +3.3V regulados DC

Asignación de pines de pluto-servo
Figure 1. Asignación de pines de pluto-servo
Table 1. Funciones alternativas de los pines de Pluto-Servo
Función primaria Función alternativa Comportamiento si se utilizan ambas funciones

UP0

PWM0

Cuando pwm-0-pwmdir es Verdadero, este pin es la salida PWM

OUT10

XOR con UP0 o PWM0

UP1

PWM1

Cuando pwm-1-pwmdir es Verdadero, este pin es la salida PWM

OUT12

XOR con UP1 o PWM1

UP2

PWM2

Cuando pwm-2-pwmdir es Verdadero, este pin es la salida PWM

OUT14

XOR con UP2 o PWM2

UP3

PWM3

Cuando pwm-3-pwmdir es Verdadero, este pin es la salida PWM

OUT16

XOR con UP3 o PWM3

DN0

DIR0

Cuando pwm-0-pwmdir es Verdadero, este pin es la salida DIR

OUT11

XOR con DN0 o DIR0

DN1

DIR1

Cuando pwm-1-pwmdir es Verdadero, este pin es la salida DIR

OUT13

XOR con DN1 o DIR1

DN2

DIR2

Cuando pwm-2-pwmdir es Verdadero, este pin es la salida DIR

OUT15

XOR con DN2 o DIR2

DN3

DIR3

Cuando pwm-3-pwmdir es Verdadero, este pin es la salida DIR

OUT17

XOR con DN3 o DIR3

QZ0

IN8

Lee el mismo valor

QZ1

IN9

Lee el mismo valor

QZ2

IN10

Lee el mismo valor

QZ3

IN11

Lee el mismo valor

QA0

IN12

Lee el mismo valor

QA1

IN13

Lee el mismo valor

QA2

IN14

Lee el mismo valor

QA3

IN15

Lee el mismo valor

QB0

IN16

Lee el mismo valor

QB1

IN17

Lee el mismo valor

QB2

IN18

Lee el mismo valor

QB3

IN19

Lee el mismo valor

2.2. Aseguramiento de entrada y actualización de salida

  • Los ciclos de trabajo de PWM para cada canal son actualizados en momentos distintos.

  • Las salidas digitales de OUT0 a OUT9 se actualizan al mismo tiempo. Las salidas digitales de OUT10 a OUT17 se actualizan al mismo tiempo que la función pwm que comparten.

  • Las entradas digitales IN0 a IN19 se aseguran al mismo tiempo.

  • Las posiciones en cuadratura para cada canal se aseguran en momentos distintos.

2.3. Funciones HAL, pines y parámetros

En la página del manual pluto_servo.9 hay una lista de todos los argumentos loadrt y de nombres de funciones HAL, pines y parámetros.

2.4. Hardware de controlador compatible

Un diagrama para una placa amplificadora de servomotor PWM de 2 ejes y 2A está disponible en (el desarrollador del software). El puente H L298 puede usarse para motores de hasta 4A (un motor por L298) o hasta 2A (dos motores por L298) con la tensión de alimentación de hasta 46V. Sin embargo, el L298 no tiene limitador de corriente interconstruido, un problema para motores con altas corrientes de bloqueo. Para corrientes y voltajes elevados algunos usuarios han reportado logros con controladores de lado alto/lado bajo integrados de International Rectifiers.

3. Pluto step

Pluto-step is suitable for control of a 3- or 4-axis CNC mill with stepper motors. The large number of inputs allows for a full set of limit switches.

La placa contiene:

  • 4 canales paso+dirección con una tasa de paso máxima de 312.5 kHz, longitud de paso, espacio y tiempos de cambio de dirección programables

  • 14 salidas digitales dedicadas

  • 16 entradas digitales dedicadas

  • Comunicación EPP con la PC

3.1. Asignación de pines

  • STEPx - La salida step (reloj) del canal de stepgen x

  • DIRx - La salida direction del canal de stepgen x

  • INx - Entrada digital dedicada #x

  • OUTx - Salida digital dedicada #x

  • GND - Tierra

  • VCC - +3.3V regulados DC

Mientras el conector principal extendido tiene un superconjunto de señales normalmente encontrado en un conector DB25 de paso y dirección --4 generadores de pasos, 9 entradas y 6 salidas de propósito general-- la distribución de este conector es diferente a la de un cable plano de 26 pines estándar a un conector DB25.

Asignación de pines en Pluto-Step
Figure 2. Asignación de pines en Pluto-Step

3.2. Aseguramiento de entrada y actualización de salida

  • Las frecuencias de paso para cada canal son actualizadas en momentos diferentes.

  • Todas las salidas digitales son actualizadas al mismo tiempo.

  • Todas las entradas digitales son aseguradas al mismo tiempo.

  • Las posiciones de retroalimentación para cada canal son aseguradas en momentos diferentes.

3.3. Tiempos de la forma de onda de paso

El firmware y el controlador imponen la longitud de paso, el espacio y los tiempos de cambio de dirección. Los tiempos son redondeados al siguiente múltiplo de 1.6μs, con un máximo de 49.6μs. Los tiempos son los mismos según el software del componente stepgen, excepto que dirhold y dirsetup han sido fusionados en un solo parámetro dirime el cual debería ser el máximo de los dos, y los mismos tiempos de paso son aplicados siempre a todos los canales.

Tiempos de Pluto-Step
Figure 3. Tiempos de Pluto-Step

3.4. Funciones HAL, pines y parámetros

Hay una lista de todos los argumentos a loadrt y de nombres de funciones, pines y parámetros en la página del manual pluto_step.9.