PnCconf está hecho para ayudar a construir configuraciones que utilizan productos específicos Mesa Anything I/O.

Puede configurar sistemas servo de bucle cerrado o sistemas de hardware paso a paso. Utiliza un enfoque de asistente similar a StepConf (utilizado para sistemas accionados por pasos por software, por puerto paralelo).

PnCconf aún se encuentra en una etapa de desarrollo (Beta), por lo que hay algunos errores y carece de algunas características. Por favor informe errores y haga sus sugerencias en la página del foro de LinuxCNC o en la lista de correo.

Hay dos líneas pensamiento cuando se utiliza PnCconf:

Una es usar PnCconf para configurar siempre su sistema; si decide cambiar algunas opciones, vuelva a cargar PnCconf y permítale que configure las nuevas opciones. Esta funciona bien si su máquina es bastante estándar y puede usar archivos personalizados para agregar características no estándar. PnCconf intenta trabajar con usted en este aspecto.

La otra es usar PnCconf para construir una configuración que esté cerca de lo deseado y luego editar a mano para adaptarlo a sus necesidades. Esta sería la elección si necesita modificaciones extensas más allá del alcance de PnCconf o solo quiere jugar con o aprender LinuxCNC.

Navege por las páginas del asistente con los botones de Adelante, Volver y Cancelar. Hay también un botón de Ayuda que brinda información sobre las páginas, diagramas y una página de salida.

Sugerencia
La página de ayuda de PnCconf debe tener la información más actualizada y contiene detalles adicionales.

1. Instrucciones punto por punto

Asistente de configuración de PnCConf
Figura 1. Ventana splash PnCConf

2. Crear o editar

Se permite seleccionar una configuración previamente guardada o crear una nueva. Si elige Modificar una configuración y luego presiona Adelante, se mostrará una ventana de selección de archivos. PnCconf preselecciona su último archivo guardado. Elija la configuración que usted desea editar. Si realizó algún cambio en los archivos principales HAL o INI PnCconf sobre-escribirá esos archivos y tales cambios se perderán. Algunos archivos no serán sobre-escritos y PnCconf colocará una nota en esos archivos. También le permite seleccionar las opciones de atajo de escritorio/lanzador. Un atajo de escritorio colocará un icono de carpeta en el escritorio que apunta a sus nuevos archivos de configuración. De lo contrario, tendrá que buscar en su carpeta home bajo linuxcnc/configs.

Un lanzador de escritorio agregará un icono al escritorio para iniciar directamente con su configuración. También puede iniciarlo desde el menú principal utilizando el Selector de Configuración LinuxCNC encontrado en el menú CNC y seleccionando el nombre de su configuración.

3. Información básica de la máquina

Información básica de la máquina en PnCConf
Figura 2. PnCConf básico
Máquina

Si usa un nombre con espacios PnCconf reemplazará los espacios con guiones bajos (como regla general, a Linux no le gustan los espacios en los nombres). Elija una configuración de ejes; esto selecciona qué tipo de máquina está construyendo y qué ejes están disponibles. El selector de unidades de máquina permite la entrada de datos en unidades métricas o imperiales en las páginas siguientes.

Sugerencia
Los valores predeterminados no se convierten cuando se usa sistema métrico, así que ¡asegúrese de que sean valores razonables!
Tiempo de respuesta de la computadora

El período servo configura el latido del corazón del sistema. La latencia se refiere a la cantidad de tiempo que la computadora puede tardarse desde ese período. Como un ferrocarril, LinuxCNC requiere todo en una línea de tiempo muy estrecha y consistente o pasaran cosas malas. LinuxCNC requiere y usa un sistema operativo en tiempo real, que solo significa que tiene un tiempo de respuesta de baja latencia (retraso) cuando LinuxCNC requiere sus cálculos y, cuando los esta haciendo, no puede ser interrumpido por solicitudes de menor prioridad (como la entrada del usuario a botones de pantalla, dibujo, etc).

Probar la latencia es muy importante y una cosa clave a verificar en primer lugar. Afortunadamente, usando las tarjetas Mesa para hacer el trabajo que requiere el tiempo de respuesta más rápido (conteo de codificadores y generación de PWM) podemos soportar mucha más latencia que si usaramos el puerto paralelo para los mismo. La prueba estándar en LinuxCNC es verificar la latencia del período BASE (aunque no estemos utilizando un período base). Si se presiona el botón de Prueba de período base de jitter se inicia la ventana de la prueba de latencia (también puede cargar esto directamente desde el panel de aplicaciones/cnc). La prueba indica que debe ejecutarse durante unos minutos, cuantos más, mejor. Considerar 15 minutos mínimo o una noche entera es aún mejor. En este momento use la computadora para cargar cosas, usar la red, usar USB, etc., queremos conocer el peor caso de latencia y para encontrar si alguna actividad en particular perjudica nuestra latencia. Necesitamos observar el jitter de período base. Cualquiera por debajo de 20000 es excelente, incluso podrías hacer pasos rápidos por software con la máquina. De 20000 a 50000 sigue siendo bueno para pasos por software y está bien para nosotros. De 50000 a 100000 ya no es tan bueno, pero aún se puede usar con tarjetas hardware que se encargen de las cosas de respuesta rápida. Cualquier cosa por debajo de 100000 es útil para nosotros. Si la latencia es decepcionante o si tiene un mal "hipo" periódicamente, todavía es posible mejorarlo.

Sugerencia
Hay una lista de equipos compilada por los usuarios con la latencia obtenida en la wiki de LinuxCNC: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Latency-Test. Por favor considere agregar su información a la lista. También en esa página hay enlaces a información sobre cómo solucionar algunos problemas de latencia.

Una vez conformes con la latencia se debe elegir un período de servo. En la mayoría de los casos, un período servo de 1000000 ns esta bien (eso da una tasa de cálculo del servo de 1 kHz - 1000 cálculos por segundo). Si está construyendo un servosistema de lazo cerrado que controla el par (corriente) en lugar de velocidad (voltaje), una tasa más rápida sería mejor; algo así como 200000 (velocidad de cálculo de 5 kHz). El problema con baja la velocidad del servo es que deja menos tiempo disponible para que la computadora haga otras cosas además de cálculos de LinuxCNC. Normalmente, la pantalla (GUI) se vuelve menos responsiva. Usted debe decidir sobre el equilibrio. Tenga en cuenta que si afina su servosistema de lazo cerrado y luego cambia el período del servo, probablemente necesite volver a afinarlo.

Puertos/tarjetas de control de E/S

PnCconf es capaz de configurar máquinas que tienen hasta dos placas Mesa y tres puertos paralelos. Los puertos paralelos solo se pueden usar para E/S de baja velocidad (frecuencia del servo).

Mesa

Debe elegir al menos una placa Mesa ya que PnCconf no configurará los puertos paralelos para contar codificadores o pasos de salida o señales PWM. Las tarjetas Mesa disponibles en el cuadro de selección se basan en lo que PnCconf encuentra en el firmware del sistema. Hay opciones para agregar firmware personalizado y/o lista negra (ignorar) algún firmware o tarjetas usando un archivo de preferencias. Si no se encuentra firmware, PnCconf mostrará una advertencia y usará un firmware interno de muestra - no se podrán realizar pruebas. Un punto a tener en cuenta es que si se eligen dos tarjetas PCI Mesa, actualmente no hay manera de predecir qué tarjeta es 0 y cual es 1 - se debe probar - mover las tarjetas podría cambiar su orden. Si se configuran dos tarjetas, ambas deben instalarse para que las pruebas funcionen.

Parallel Port

Se pueden usar hasta 3 puertos paralelos (denominados parports) como E/S simple. Usted debe establecer la dirección del parport. Puede ingresar el puerto paralelo de Linux según su sistema de numeración de puertos (0, 1 o 2) o ingresar la dirección real. La dirección de un parport en placa base es a menudo 0x0278 o 0x0378 (escrito en hexadecimal) pero puede ser encontrado en la página de BIOS. La página del BIOS se encuentra cuando usted arranca su computadora, debe presionar una tecla para entrar en ella (como F2). En la página BIOS puede encontrar la dirección del puerto paralelo y configurarlo en el modo SPP, EPP, etc. en algunas computadoras esta información se muestra durante unos segundos durante el arranque. Para tarjetas de puerto paralelo PCI, la dirección se puede encontrar presionando el boton buscar dirección de parport. Aparece la página de salida de ayuda con una lista de todos los dispositivos PCI que se pueden encontrar. Debe haber una referencia a un dispositivos puerto paralelo con una lista de direcciones. Una de esas direcciones debería funcionar. No todos los puertos paralelos PCI funcionan correctamente. Cualquiera de los tipos se puede seleccionar como in (máximo cantidad de pines de entrada) o out (cantidad máxima de pines de salida).

Lista de interfaces de usuario

Esto especifica las pantallas gráficas que usará LinuxCNC. Cada una tiene unas opciones diferentes.

AXIS
  • fully supports lathes.

  • es el front-end más desarrollado y utilizado

  • está diseñado para ser utilizado con mouse y teclado

  • está basado en tkinter, por lo que integra PyVCP (paneles de control virtual basados en Python) de forma natural.

  • tiene una ventana gráfica 3D.

  • permite VCP integrado en el lateral o en la pestaña central

TkLinuxCNC
  • pantalla azul de alto contraste

  • ventana de gráficos separada

  • Sin integración VCP

Touchy
  • Touchy fue diseñado para ser utilizado con una pantalla táctil, con los mínimos interruptores físicos y un volante MPG.

  • Requiere botones para ciclo de inicio, aborto y señales de un solo paso

  • También requiere que se seleccione jogging MPG de eje compartido.

  • está basado en GTK por lo que integra GladeVCP (paneles de control virtual) de forma natural.

  • permite paneles VCP integrados en la pestaña central

  • no tiene ventana gráfica

  • se puede cambiar el aspecto con temas personalizados

QtPlasmaC
  • todas las funciones de configuración de plasmac con base en la infraestructura QtVCP.

  • operación por mouse/teclado o pantalla táctil

  • Sin integración VCP

4. Configuración de externos

Esta página le permite seleccionar controles externos como jogging o mando manual de velocidades.

Controles externos
Figura 3. Controles externos

Si selecciona palanca de mando para trote, necesitará que siempre este conectada para que LinuxCNC la cargue. Para usar palancas analógicas en un trote usable probablemente necesite agregar algún código HAL personalizado. El jogging MPG requiere un generador de impulsos conectado a un codificador contador de MESA. Los controles de mando manual pueden usar un generador de impulsos (MPG) o interruptores (como un dial giratorio). Los botones externos se pueden usar con una palanca de mando OEM basada en interruptores.

Trote con palanca de mando

Requiere instalar una regla de dispositivo personalizada en el sistema. Este es un archivo que LinuxCNC usa para conectarse a la lista de dispositivos de Linux. PnCconf le ayudará a hacer ese archivo.

  • Buscar regla de dispositivo buscará reglas en el sistema, puede usar esto para encontrar el nombre de los dispositivos que ya ha construido con PnCconf.

  • Agregar una regla de dispositivo le permitirá configurar un nuevo dispositivo siguiendo las indicaciones. Necesitará que su dispositivo este disponible.

  • prueba de dispositivo le permite cargar un dispositivo, ver los nombres de sus pines y verificar sus funciones con halmeter.

El trote con palanca de mando usa componentes HALUI y hal_input.

Botones externos

permite trotar el eje con botones simples a una velocidad de trote específica. Probablemente lo mejor para trote rápido.

Trote MPG

Le permite usar un generador manual de impulsos para mover ejes de la máquina.

Los MPG a menudo se encuentran en máquinas de grado comercial. Emiten pulsos en cuadratura que se pueden contar con un codificador contador MESA. PnCconf permite un MPG por eje o un MPG compartido con todos los ejes. Permite la selección de velocidades de trote usando interruptores o una sola velocidad.

La opción de incrementos seleccionables usa el componente mux16. Este componente tiene opciones como antirrebote y código gris para ayudar a filtrar la entrada del interruptor en bruto.

Ajuste manual

PnCconf permite mando manual de velocidades de avance y/o velocidad del husillo con un generador de pulsos (MPG) o interruptores (por ejemplo, rotativos).

5. Configuración de la GUI

Aquí puede establecer valores predeterminados para las pantallas de visualización, agregar paneles de control virtual (VCP), y establecer algunas opciones de LinuxCNC ..

Configuración de la GUI
Figura 4. Configuración de la GUI
Opciones de GUI

Las opciones predeterminadas permiten elegir los valores predeterminados generales para cualquier pantalla de visualización.

Los valores predeterminados de AXIS son opciones específicas de AXIS. Si elige las opciones de tamaño, posición o forzar maximizar, PnCconf le preguntará si es correcto sobrescribir el archivo de preferencias (.axisrc). A menos que haya agregado comandos manualmente a este archivo, sera correcto permitirlo. La posición y forzar maximizar se pueden usar para mover AXIS a un segundo monitor si el sistema es capaz.

Los valores predeterminados de Touchy son opciones específicas de Touchy. La mayoría de las opciones de Touchy pueden ser cambiadas mientras Touchy se está ejecutando usando la página de preferencias. Touchy usa GTK para dibujar su pantalla, el cual soporta temas. Los temas controlan el aspecto y sensación básicos de un programa. Puede descargar temas de la red o editarlos usted mismo. Hay una lista de los temas actuales en la computadora entre los que puede elegir. Para ayudar a resaltar alguna parte del texto, PnCconf le permite anular los valores predeterminados de los temas. Las opciones de posición y forzar maximizar se pueden usar para mover Touchy a un segundo monitor si el sistema es capaz.

Las opciones de QtPlasmaC son específicamente para QtPlasmaC, cualquier opción común que no sea requerida estará deshabilitada. Si se selecciona QtPlasmaC entonces la pantalla siguiente del asistente será para configurar los botones de usuario específicos para QtPlasmaC y las opciones de VCP no estarán disponibles.

Opciones de VCP

Los paneles de control virtuales permiten agregar controles y visualizaciones a la pantalla. AXIS y Touchy pueden integrar estos controles dentro de la pantalla en posiciones designadas. Hay dos tipos de VCP: PyVCP que usa Tkinter para dibujar la pantalla y GladeVCP que usa GTK para dibuja la pantalla.

PyVCP

El archivo XML de las pantallas PyVCP solo se puede construir a mano. PyVCPs encajan naturalmente con AXIS ya que ambos usan TKinter.

Los pines HAL se crean para que el usuario los conecte dentro de su archivo HAL personalizado. Hay un panel de visualización de husillo de ejemplo para que el usuario lo use tal como está o lo use como base. Puede seleccionar un archivo en blanco en el que luego puede agregar los controles widgets o seleccionar un ejemplo de visualización del husillo que mostrará su velocidad e indicará si está a la velocidad requerida.

PnCconf conectará los pines HAL de visualización del husillo adecuados para usted. Si utiliza AXIS el panel se integrará en el lado derecho. Si no utiliza AXIS el panel estará separado en solitario de la pantalla.

Puede usar las opciones de geometría para ajustar el tamaño y mover el panel, por ejemplo para moverlo a una segunda pantalla si el sistema es capaz. Si presiona el botón Ver muestra de panel, se respetarán las opciones de tamaño y posición.

GladeVCP

GladeVCP encaja naturalmente dentro de la pantalla Touchy ya que ambos usan GTK para dibujarse, pero se puede cambiar el tema de GladeVCP para combinarse bastante bien con AXIS (pruebe Redmond).

Usa un editor gráfico para construir sus archivos XML. Los pines HAL se crean para que el usuario los conecte dentro de su archivo HAL personalizado.

GladeVCP también permite una interacción de programación mucho más sofisticada (y complicada) que PnCconf actualmente no aprovecha (ver GladeVCP en el manual).

PnCconf tiene paneles de muestra para que el usuario los utilice tal como están o los tome como base. Con GladeVCP, PnCconf le permitirá seleccionar diferentes opciones para su panel de muestra.

En Opciones de muestra seleccione cuáles le gustaría. Los botones de puesta cero usan comandos HALUI que puede editar más adelante en la sección HALUI.

Auto Z touch-off también requiere el programa touch-off de classic ladder y una entrada de sonda seleccionada. Requiere una placa conductora de toque y una herramienta conductora puesta a tierra. Para obtener una idea de cómo funciona, consulte:

En Opciones de visualización, el tamaño, la posición y forzar máximizar se pueden usar en un panel autónomo para cosas tales como colocar la pantalla en un segundo monitor si el sistema es capaz.

Puede seleccionar un tema GTK que establezca la apariencia básica del panel. Por lo general, deseara que esto coincida con la pantalla de la interfaz. Estas opciones se usarán si presiona el botón Ver muestra de panel. Con GladeVCP dependiendo de la pantalla frontal, puede seleccionar dónde se mostrará el panel.

Puede forzarlo a que sea independiente, o con AXIS puede estar en el centro o en el lado derecho. Con Touchy puede estar en el centro.

Opciones y valores predeterminados
  • Requiere homing antes de MDI/Running

    • Si desea poder mover la máquina antes del homing, desmarque esta casilla de verificación.

  • Indicación emergente de herramienta

    • Para cambios de herramienta, elija entre un aviso en pantalla o exportación de nombres de señal estándar para un archivo HAL de cambio de herramientas personalizado proporcionado por el usuario

  • Dejar el husillo encendido durante el cambio de herramienta:

    • Utilizado para tornos

  • Forzar homing manual individual

  • Mover el husillo hacia arriba antes de cambiar la herramienta

  • Restaurar la posición de la articulación después de apagar

    • Utilizado para máquinas con cinemáticas no triviales

  • Cambiadores de herramienta de posición aleatoria

    • Se usa para cambiadores de herramientas que no devuelven la herramienta a la misma ranura. Necesitará agregar código HAL personalizado para admitir cambiadores de herramientas.

6. Configuración de tarjetas Mesa

Las páginas de configuración de Mesa le permiten utilizar diferentes firmwares. Si en la página básica seleccionó una tarjeta Mesa, aquí elija el firmware disponible y seleccione qué y cuántos componentes están disponibles.

Configuración de placa Mesa
Figura 5. Configuración de placa Mesa

La dirección de parport solo se usa con la tarjeta parport de Mesa, la 7i43. Los puertos paralelos en placa base generalmente usan 0x278 o 0x378, aunque debería poder encontrar la dirección desde la página del BIOS. La 7i43 requiere que el puerto paralelo use el modo EPP, también establecido en la página del BIOS. Si usa un puerto paralelo PCI, se puede ubicar la dirección con el botón de búsqueda en la página básica.

Nota
Muchas tarjetas PCI no soportan apropiadamente el protocolo EPP.

La frecuencia base de PDM PWM y 3PWM establece el equilibrio entre rizado y linealidad. Si usa tarjetas hija Mesa, los documentos para la placa deben dar recomendaciones.

Importante
Es importante seguir esto para evitar daños y obtener el mejor rendimiento.
La 7i33 requiere PDM y una frecuencia base PDM de 6 MHz
La 7i29 requiere PWM y una frecuencia base PWM de 20 kHz
La 7i30 requiere PWM y una frecuencia base PWM de 20 kHz
La 7i40 requiere PWM y una frecuencia base PWM de 50 kHz
La 7i48 requiere UDM y una frecuencia base PWM de 24 kHz
Tiempo de espera de Watchdog

se usa para establecer cuánto tiempo esperará la placa MESA antes de matar las salidas si la comunicación se interrumpe desde la computadora. Por favor, recuerde que Mesa usa salidas activas bajas lo que significa que cuando el pin de salida está activado, será bajo (aproximadamente 0 voltios) y si la salida es alta (aproximadamente 5 voltios), está apagado. Asegúrese de que su equipo es seguro cuando esté en el estado apagado (watchdog activado).

Número de codificadores/generadores PWM/generadores de pasos

Puede elegir el número de componentes disponibles anulando la selección de los no utilizados. No todos los tipos de componentes están disponibles con todos los firmware.

Elegir por debajo de la cantidad máxima de componentes permite ganar más pines GPIO. Si usa tarjetas hijas, tenga en cuenta que no debe deseleccionar los pines que usa la tarjeta. Por ejemplo, algunos firmware admiten dos tarjetas 7i33; si solo tiene una puede anular la selección de suficientes componentes para utilizar el conector que admite la segunda 7i33. Los componentes son deseleccionados numéricamente con el número más alto primero hacia abajo sin saltar números. Si haciendo esto los componentes no están donde los quiere, entonces debe usar un firmware diferente. El firmware dicta dónde, qué y las cantidades máximas de los componentes. Es posible un firmware personalizado, pregunte amablemente al contactar a los desarrolladores de LinuxCNC y Mesa. Usar firmware personalizado en PnCconf requiere procedimientos especiales y no siempre es posible, aunque se intenta hacer que PnCconf sea lo más flexible posible.

Después de elegir todas estas opciones, presione el botón Aceptar cambios a los componentes y PnCconf actualizará las páginas de configuración de E/S. Solo se mostrarán las pestañas de E/S para los conectores disponibles, dependiendo de la placa Mesa.

7. Configuración de E/S Mesa

Las pestañas se utilizan para configurar los pines de entrada y salida de las placas Mesa. PnCconf le permite crear nombres de señal personalizados para usar en archivos HAL personalizados.

Configuración del conector E/S Mesa 2
Figura 6. Configuración del conector E/S Mesa 2

En esta pestaña con este firmware, los componentes están configurados para una tarjeta hija 7i33, generalmente utilizada con servos de lazo cerrado. Tenga en cuenta que los números de componente de los codificadores contadores y los controladores PWM no están en orden numérico. Siguen los requisitos de la tarjeta hija.

Configuración del conector E/S Mesa 3
Figura 7. Configuración del conector E/S Mesa 3

En esta pestaña, todos los pines son GPIO. Tenga en cuenta los números de 3 dígitos - coincidirán con el número de pin HAL. Los pines GPIO se pueden seleccionar como entrada o salida y se pueden invertir.

Configuración del conector E/S Mesa 4
Figura 8. Configuración del conector E/S Mesa 4

En esta pestaña hay una mezcla de generadores de pasos y GPIO. Los generadores de pasos y los pines de dirección se pueden invertir. Tenga en cuenta que invertir un pin Step Gen-A (el pin de salida de paso) cambia el tiempo del paso. Debería coincidir con lo que espera su controlador.

8. Configuración de puerto paralelo

Configuración de puerto paralelo

El puerto paralelo se puede usar para E/S simple, similar a los pines GPIO de Mesa.

9. Configuración de ejes

Configuración del controlador del eje
Figura 9. Configuración del controlador del eje

Esta página permite configurar y probar la combinación de motor y/o codificador. Si usa un servomotor, hay disponible una prueba de lazo abierto. Si usa un paso a paso, hay disponible una prueba de afinación.

Prueba de lazo abierto

La prueba de lazo abierto es importante ya que confirma la dirección del motor y codificador. El motor debe mover el eje en la dirección positiva cuando se presiona el botón positivo y también el codificador debe contar en positivo. El movimiento del eje debe seguir el estándar del Manual de Maquinaria
["nomenclatura de los ejes" en el capítulo "Control Numérico" en "Machinery’s Handbook" publicado por Industrial Press.]
o la pantalla gráfica AXIS no tendrá mucho sentido. Esperemos que la página de ayuda y los diagramas le ayudan a resolver esto. Tenga en cuenta que las direcciones de los ejes se basan en el movimiento de la HERRAMIENTA, y no en el movimiento de la mesa. No hay rampa de aceleración con la prueba de lazo abierto, así que comience con números DAC bajos. Al mover el eje una distancia conocida, se puede confirmar la escala del codificador. El codificador debe contar incluso sin el amplificador habilitado dependiendo de cómo se suministra energía al mismo.

Aviso
Si el motor y el codificador no están de acuerdo con la dirección de conteo, entonces el servo se descontrolara cuando use el control PID.

Dado que en este momento no se puede probar la configuración PID en PnCconf, la configuración es realmente para cuando reedite una configuración - ingrese su configuración PID probada.

Escalado DAC

Se utilizan escala de salida, salida máxima y offset de salida para adaptar la salida DAC.

Calcular DAC

Estos dos valores son los factores de escala y compensación para la salida del eje al amplificador de motor. El segundo valor (compensación) se resta del cálculo de salida (en voltios), y dividido por el primer valor (factor de escala), antes de ser escrito a los convertidores D/A. Las unidades en el valor de la escala están en voltios verdaderos por voltios de salida DAC. Las unidades en el valor de compensación están en voltios. Estos pueden ser utilizado para linearizar un DAC.

Específicamente, al escribir salidas, LinuxCNC primero convierte la salida deseada en unidades cuasi-SI a valores de actuador brutos, por ejemplo, voltios para un amplificador DAC. Esta escala se ve así: El valor de la escala se puede obtener analíticamente haciendo un análisis de unidad, es decir, las unidades son [unidades SI de salida]/[unidades de actuador]. Por ejemplo, en una máquina con un amplificador de modo de velocidad tal que 1 voltio da como resultado una velocidad de 250 mm/seg. Tenga en cuenta que las unidades del desplazamiento están en unidades de máquina, por ejemplo, mm/seg, y se restan de las lecturas del sensor. El valor de este desplazamiento se obtiene al encontrar el valor de su salida que da 0.0 para la salida del actuador. Si el DAC está linealizado, este desplazamiento es normalmente 0.0.

La escala y el offset pueden usarse para linealizar el DAC, lo que da como resultado valores que reflejan los efectos combinados de la ganancia del amplificador, la no linealidad del DAC, unidades DAC, etc. Para ello, siga este procedimiento:

  • Construya una tabla de calibración para la salida, indicando al DAC el voltaje deseado y midiendo el resultado:

Tabla 1. Mediciones del voltaje de salida
Bruto Medido

-10

-9.93

-9

-8.83

0

-0.96

1

-0.03

9

9.87

10

10.07

  • Haz un ajuste lineal de mínimos cuadrados para obtener los coeficientes a, b de modo que meas=a*raw+b

  • Tenga en cuenta que queremos una salida en bruto de modo que nuestro resultado medido sea idéntico a la salida ordenada. Esto significa

    • cmd=a*raw+b

    • bruto=(cmd-b)/a

  • Como resultado, los coeficientes a y b del ajuste lineal pueden ser utilizado como la escala y el offset para el controlador directamente.

    SALIDA MAXIMA

    El valor máximo para la salida de la compensación PID que se escribe en el amplificador del motor, en voltios. El valor de salida calculado se fija a este límite. El límite se aplica antes de escalar a unidades de salida en bruto. El valor se aplica simétricamente tanto para el lado positivo como para el negativo.

    Prueba de afinación

    La prueba de afinación desafortunadamente solo funciona con sistemas basados en pasos. Otra vez confirme que las direcciones en el eje son correctas. Luego pruebe el sistema moviendo el eje de ida y vuelta; si la aceleración o la velocidad máxima son demasiado altas se perderán pasos. Al trotar, tenga en cuenta que puede tomar un tiempo para que un eje con baja aceleración se detenga. Los interruptores de límite no funcionan durante esta prueba. Puede establecer un tiempo de pausa para cada final del movimiento de prueba. Esto le permitiría configurar y leer un indicador de cuadrante para ver si está perdiendo pasos.

    Tiempos de motores a pasos

    Se necesitan ajustar los tiempos de los motores a paso para adaptarse a los requisitos del controlador de pasos. PnCconf proporciona algunos tiempos predeterminados del controlador o permite configuraciones de tiempo personalizadas. Consulte http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Stepper_Drive_Timing para algunos números de tiempo más conocidos (siéntase libre de agregar los que haya descubierto). Si tiene duda, utilice números grandes como 5000, esto solo limitará la velocidad máxima.

    Control de motor sin escobillas

    Estas opciones se utilizan para permitir un control de bajo nivel de motores sin escobillas utilizando firmwares especiales y placas hijas. También permite la conversión de sensores HALL de un fabricante a otro. Solo está parcialmente soportado y requerirá que uno para termine las conexiones HAL. Póngase en contacto con la lista de correo o el foro para más ayuda.

Cálculo de la escala del eje
Figura 10. Cálculo de la escala del eje

La configuración de la escala se puede ingresar directamente o se puede apoyar con el botón Calcular escala. Usa las casillas de verificación para seleccionar los cálculos apropiados. Nota que los dientes de polea requieren el número de dientes y no la relación de engranaje. La relación de giro del sinfín es justo lo contrario que requiere la relación de transmisión. Si estas feliz con el escala presiona Aplicar, de lo contrario presiona Cancelar e ingresa la escala directamente.

Configuración de ejes
Figura 11. Configuración de ejes

Consulte también la pestaña del diagrama para ver dos ejemplos de interruptores de casa y límite. Son dos ejemplos de muchas formas diferentes de establecer homing y límites.

Importante
Es muy importante comenzar con el eje moviéndose en la dirección correcta porque si no ¡llegar bien a casa es muy difícil!

Recuerda que direcciones positivas y negativas se refieren a la HERRAMIENTA, no a la mesa, según el Manual de maquinistas.

En una típica fresadora de rodilla o de cama
  • cuando la MESA se mueve hacia fuera, es la dirección positiva de Y

  • cuando la MESA se mueve a la izquierda, esa es la dirección X positiva

  • cuando la MESA se mueve hacia abajo, esa es la dirección Z positiva

  • cuando la CABEZA se mueve hacia arriba, esa es la dirección Z positiva

En un torno típico
  • cuando la HERRAMIENTA se mueve hacia la derecha, lejos del mandril

  • esa es la dirección positiva de Z

  • cuando la HERRAMIENTA se mueve hacia el operador

  • esa es la dirección positiva de X. Algunos tornos tienen la X opuesta (p. ej. la herramienta en el lado de atrás), eso funcionará bien pero la visualización gráfica de AXIS no logrará reflejarlo.

Cuando se utilizan interruptores de homing y/o límite LinuxCNC espera que las señales HAL sean verdaderas cuando el interruptor está siendo presionado / disparado. Si la señal es incorrecta para un interruptor de límite entonces LinuxCNC pensará que la máquina está al final del límite todo el tiempo. Si la lógica de búsqueda del interruptor de casa es incorrecta parecerá que LinuxCNC va casa en la dirección equivocada, cuando realmente intenta regresar al interruptor de la casa.

Decidir sobre la ubicación de interruptor de límite

Los interruptores de límite son el respaldo a los límites de software en el caso de que algo eléctrico salga mal, p. ej. en caso de un servomotor desbocado. Los interruptores de límite deben colocarse de manera que la máquina no golpee el extremo físico del movimiento del eje. Recuerda el eje pasará por el punto de contacto si se mueve rápido. Los interruptores de límite deben ser activo bajo en la máquina, p. ej. la energía corre a través los interruptores todo el tiempo - una pérdida de energía (interruptor abierto) dispara. Si bien uno podría conectarlos de la otra forma, esto es a prueba de fallas. Es posible que deba invertirse para que la señal HAL en LinuxCNC sea activo alto - un VERDADERO significa que el interruptor se disparó. Cuando iniciando LinuxCNC si recibe una advertencia de límite y el eje NO está accionando el interruptor, invertir la señal es probablemente la solución. (use HALMETER para revisar la señal HAL correspondiente p. ej. joint.0.pos-lim-sw-in interruptor de límite positivo del eje X)

Decida la ubicación del interruptor de casa

Si está utilizando interruptores de límite, también puede utilizar uno como interruptor de casa. Un interruptor de casa separado es útil si se tiene un eje largo que al estar en uso suele estar muy lejos de los interruptores de límite, o cuando al mover el eje hacia los extremos presenta problemas de interferencia por el material. Considere que un eje largo en un torno hace que sea difícil llegar a los límites sin que la herramienta golpee el eje, por lo que un interruptor de casa separado más cerca de en medio puede ser mejor. Si tiene un codificador con índice, el interruptor de casa actúa como un curso y el índice será la ubicación real de casa.

Decidir sobre la posición de ORIGEN DE MÁQUINA

ORIGEN DE LA MÁQUINA es lo que utiliza LinuxCNC para hacer referencia de todos los sistemas de coordenadas del usuario. Se me ocurre una pequeña razón por la que tendría que estar en cualquier lugar. Sólo hay unos pocos códigos G que pueden acceder al sistema de COORDENADAS DE MÁQUINA (G53, G30 y G28) Si utiliza la opción de cambio de herramienta en G30, puede ser conveniente tener el origen en la posición de cambio de herramienta. Por convención, puede ser más fácil tener el ORIGEN en el interruptor de casa.

Decidir sobre la POSICIÓN DE CASA (final)

esto solo coloca el carro en una posición consistente y conveniente después de que LinuxCNC descubre dónde está ORIGEN.

Medir / calcular las distancias de carrera del eje positivo / negativo

Mueve el eje al origen. Marca una referencia en la guía movible y otra en el soporte fijo (estando alineados) y mueve la máquina hasta el final de los límites. La medida entre las marcas es una de las distancias de carrera. Mueve la mesa al otro extremo de la carrera. Mide las marcas de nuevo. Esa es la otra distancia de carrera. Si el origen está en uno de los límites entonces la distancia de carrera será cero.

ORIGEN (de máquina)

El Origen es el punto cero de la MÁQUINA. (no el punto cero donde colocó el cortador / material). LinuxCNC usa este punto para -desde dónde- referenciar todo lo demás. Debe estar dentro de los límites del software. LinuxCNC usa la ubicación del interruptor de casa para calcular la posición de origen (cuando se utilizan interruptores de casa o debe ponerse manualmente si no se utilizan interruptores de casa.

Distancia de carrera

Esta es la distancia máxima que el eje puede viajar en cada dirección. Esto puede o no ser medido directamente desde el origen hasta el interruptor de límite. Las distancias de carreras positiva y negativa deben sumar la distancia total de carrera.

DISTANCIA POSITIVA DE CARRERA

Esta es la distancia que recorre el Eje desde el origen hasta la distancia de carrera positiva o la carrera total menos la distancia de carrera negativa. La pondrías a cero si el origen se posiciona en el límite positivo. Siempre será cero o un número positivo.

DISTANCIA DE CARREA NEGATIVA

Esta es la distancia que recorre el Eje desde el origen hasta la distancia de carrera negativa. o la carrera total menos la distancia de carrera positiva. Lo pondrías a cero si el origen se posiciona en el límite negativo. Esto siempre será cero o un número negativo. Si olvidas hacerlo negativo PnCconf lo hará internamente.

POSICIÓN DE CASA (Final)

Esta es la posición en la que terminará la secuencia de casa. Se hace referencia desde el origen por lo que puede ser negativa o positiva dependiendo de qué lado se encuentra al Origen. Cuando esta en la posición casa (final) y debes moverte en la dirección positiva para llegar al Origen, entonces el número será negativo.

UBICACIÓN DEL INTERRUPTOR DE CASA

Esta es la distancia desde el interruptor de la casa a el origen. Podría ser negativo o positivo dependiendo de qué lado del Origen es situado. Estando en la ubicación del interruptor casa, si debes moverte en la dirección positiva para llegar al Origen, entonces el número será negativo. Si configura esto a cero entonces el El origen estará en la ubicación del interruptor límite (más la distancia para encontrar el índice si se usa).

Velocidad de búsqueda de casa

Velocidad de búsqueda curso a casa en unidades por minuto.

Dirección a buscar casa

Establece la dirección de búsqueda del interruptor de casa ya sea negativo (es decir, hacia el interruptor de límite negativo) o positivo (es decir, hacia el interruptor de límite positivo).

Velocidad de cierre de casa

Velocidad de búsqueda fina de casa en unidades por minuto.

Velocidad de casa final

Velocidad utilizada desde la posición de cierre hasta la posición casa (final) en unidades por minuto. Se establece en 0 para la velocidad rápida máxima.

Dirección del cerrojo de casa

Permite ajustar la dirección del cerrojo a la misma o al contrario de la dirección de búsqueda.

Usar el índice del codificador para casa

LinuxCNC buscará un pulso de índice de codificador mientras esté en la etapa de cierre de homing.

Utilizar archivo de compensación

Permite especificar un nombre de archivo Comp y el tipo. Permite una compensación sofisticada. Ver Sección AXIS del capítulo INI.

Utilice la compensación de contragolpe

Permite el ajuste de la compensación de holgura mecánica. No se puede utilizar con el archivo de compensación. Ver Sección AXIS del capítulo INI.

Diagrama de ayuda de AXIS
Figura 12. Diagrama de ayuda de AXIS

Los diagramas deberían ayudar a demostrar un ejemplo de interruptores de límite y direcciones de movimiento del eje estándar. En este ejemplo, el eje Z tiene dos interruptores de límite, el interruptor positivo se comparte como un interruptor casa. El ORIGEN DE LA MÁQUINA (punto cero) se encuentra en el límite negativo. El borde izquierdo del carro es el pin de disparo negativo y el derecha el pin de disparo positivo. Deseamos que la POSICIÓN FINAL DEL CASA esté a 4 pulgadas del ORIGEN en el lado positivo. Si el carro se moviera al límite positivo, mediríamos 10 pulgadas entre el límite negativo y el pin de disparo negativo.

10. Configuración del husillo

Si selecciona señales de husillo, esta página estará disponible para configurar el control del husillo.

Sugerencia
¡Muchas de las opciones en esta página no se mostrarán a menos que la opción correcta haya sido seleccionada en páginas anteriores!
Configuración del husillo
Figura 13. Configuración del motor/codificador de husillo

Esta página es similar a la página de configuración del motor del eje.

Hay algunas diferencias:

  • A menos que uno haya elegido un eje accionado por pasos, no hay aceleración o limitación de velocidad.

  • No hay soporte para cambios de engranajes o rangos.

  • Si seleccionó una opción de visualización de husillo VCP, entonces podrán mostrarse las configuraciones de escala de husillo a velocidad y filtro.

  • Spindle-at-speed permite a LinuxCNC esperar hasta que el husillo esté a la velocidad requerida antes de mover el eje. Esto es particularmente útil en tornos con alimentación de superficie constante y cambios de diámetro de velocidad grandes. Requiere cualquiera de los codificadores retroalimentación o una señal digital de velocidad de giro típicamente conectada a un control VFD.

  • Si utiliza retroalimentación de codificador, puede seleccionar un ajuste de escala de husillo a-velocidad que especifique qué tan cerca debe estar la velocidad real a la velocidad solicitada para ser considerada a-velocidad.

  • Si se utiliza retroalimentación de codificador, la visualización de velocidad VCP puede ser errática - la configuración del filtro se puede utilizar para suavizar la pantalla. La escala del codificador debe ser configurada para el codificador contador / engranaje utilizado.

  • Si utiliza una sola entrada para un codificador de husillo, debe agregar la línea: setp hm2_7i43.0.encoder.00.counter-mode 1 (cambiando el nombre de la placa y el número de codificador según sea necesario) en un archivo HAL personalizado. Para más información sobre el modo de contador consulte la Sección de codificadores en Hostmot2.

11. Opciones avanzadas

Esto permite configurar los comandos HALUI y cargar ClassicLadder y programas de escalera de muestra. Si seleccionó las opciones de GladeVCP como para puesta a cero del eje, se mostrarán comandos. Consulte el Capítulo HALUI para obtener más información sobre el uso de halcmds personalizados. Hay varias opciones de programa de escalera. El programa Estop permite un interruptor ESTOP externo o que la interfaz gráfica de usuario emita un Estop. También tiene una señal de bomba de lubricación temporizada. El touch-off de Z automático es con una placa de touch-off, el botón de touch-off de GladeVCP y comandos especiales HALUI para establecer el origen de usuario actual en cero y limpieza rápida. El programa modbus serie es básicamente un programa plantilla en blanco que configura ClassicLadder para modbus serie. Ver el Capítulo ClassicLadder en el manual.

PnCconf opciones avanzadas
Figura 14. PnCconf, opciones avanzadas

12. Componentes HAL

En esta página puede agregar componentes HAL adicionales que pueda necesitar para archivos HAL personalizados. De esta manera, uno no debería tener que editar manualmente el archivo HAL principal, permitiendo aún los componentes que necesite el usuario.

Componentes HAL
Figura 15. Componentes HAL

La primera selección es de componentes que PnCconf utiliza internamente. Puede configurar PnCconf para cargar instancias adicionales de los componentes para su archivo HAL personalizado.

Seleccione el número de instancias que necesitará su archivo personalizado, PnCconf agregará las que necesite después de ellas.

Esto significa que si tú necesitas 2 y PnCconf necesita 1, PnCconf cargará 3 instancias y utilizará la última.

Comandos de componentes personalizados

Esta selección le permitirá cargar componentes HAL que PnCconf no usa. Agregue el comando loadrt o loadusr, bajo el encabezado Comando de carga agregue el comando addf bajo el encabezado Hilo de comando. Los componentes se agregarán al hilo entre la lectura de entradas y la escritura de salidas, en el orden en que se escriben en el Hilo de comando.

13. Uso avanzado de PnCconf

PnCconf hace todo lo posible para permitir una personalización flexible por parte del usuario. PnCconf es compatible con nombres de señal personalizados, carga personalizada de componentes, archivos HAL personalizados y firmware personalizado.

También hay nombres de señales que PnCconf siempre proporciona independientemente de las opciones seleccionado, para archivos HAL personalizados del usuario Pensando un poco la mayoría de las personalizaciones deberían funcionar independientemente de si posteriormente seleccionas opciones diferentes en PnCConf.

Eventualmente, si las personalizaciones están fuera del alcance del marco de trabajo de PnCconf, puedes usar PnCconf para construir una configuración base o usar uno de los ejemplos de configuración de LinuxCNC y solo editar a mano lo que quieras.

Nombres de señales personalizadas

Si desea conectar un componente a algo en un archivo HAL personalizado, escriba un nombre de la señal único en el cuadro de entrada. Ciertos componentes agregarán terminaciones a su nombre de señal personalizado:

Codificadores agregarán < nombre personalizado > +:

  • posición

  • conteo

  • velocidad

  • habilitación de índice

  • reinicio

Motores a pasos agregan:

  • habilitación

  • conteos

  • posición del comando

  • posición-fb

  • velocidad-fb

PWM añade:

  • habilitación

  • valor

Los pines GPIO solo tendrán conectado el nombre de la señal ingresada

De esta manera, uno puede conectarse a estas señales en los archivos HAL personalizados y aún así tienes la opción de moverlos más tarde.

Nombres de señales personalizadas

La página de Componentes de HAL se puede usar para cargar los componentes que necesita un usuario para personalización.

Cargando firmware personalizado

PnCconf busca el firmware en el sistema y luego busca el archivo XML que puede convertir a lo que entiende. Esos archivos XML solo se suministran para firmware liberado oficialmente por el equipo de LinuxCNC. Para utilizar un firmware personalizado uno debe convertirlo en una matriz que PnCconf entienda y agregar su ruta de archivo al archivo de preferencias de PnCconf. Predeterminadamente esta ruta busca en el escritorio una carpeta llamada custom_firmware y un archivo llamado firmware.py.

El archivo de preferencias oculto está en el archivo de inicio del usuario, es llamado .pncconf-preferences y requiere uno para seleccionar mostrar archivos ocultos en tu administrador de archivos para ver y editarlo o en la línea de comandos usa ls con la opción -a. El contenido de este archivo se puede ver cuando carga por primera vez PnCconf - presione el botón de ayuda y mire la página de salida.

Pregunte en la lista de correo o el foro de LinuxCNC para obtener información sobre la conversión de firmware personalizado. No todo el firmware se puede utilizar con PnCconf.

Archivos HAL personalizados

Hay cuatro archivos personalizados que puede usar para agregarles comandos HAL:

  • custom.hal es para comandos HAL que no tienen que ejecutarse después de cargar la interfaz GUI. Se ejecuta después del archivo HAL configuración-nombrada.

  • custom_postgui.hal es para comandos que deben ejecutarse después de que se cargue AXIS o una visualización PyVCP independiente.

  • custom_gvcp.hal es para comandos que deben ejecutarse después de cargar GladeVCP.

  • shutdown.hal es para que los comandos se ejecuten cuando LinuxCNC se apaga de manera controlada.