1. Información general
La Pluto-P es una placa FPGA que contiene el chip ACEX1K de Altera.
1.1. Requisitos
-
Una placa Pluto-P
-
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
| 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.
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.
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.