1. Introducción
LinuxCNC is capable of controlling a wide range of machinery using many different hardware interfaces.
StepConf es un programa que genera archivos de configuración para LinuxCNC para un tipo especifico de máquina CNC: aquellas que son controladas a través de un puerto paralelo estándar con señales de tipo paso y dirección.
StepConf se instala automaticamente cuando se instala LinuxCNC; se encuentra en el menú CNC.
El asistente genera un archivo en el directorio linuxcnc/config en el cual guarda las opciones de cada configuración que usted genere. Cuando se desea cambia algo, se necesita seleccionar el archivo cuyo nombre coincida con la configuración que desea modificar. La extensión del archivo es .stepconf.
El asistente StepConf necesita una resolución de pantalla de al menos 800 x 600.
2. Página inicial
Los tres primeros botones radio son autoexplicativos:
-
Crear una nueva configuración - Crea una configuración nueva.
-
Modificar una configuración ya creada… - Modifica una configuración existente. Después de seleccionar esta opción, aparecerá una pantalla de selección de archivo y usted deberá seleccionar el archivo con extensión .stepconf que desea modificar. Si usted realizó alguna modificación previa a los archivos principales .hal o .ini, estas modificaciones se perderán. Las modificaciones en los archivos custom.hal y custom_postgui.hal no serán cambiadas por el asistente Stepconf. El asistente Stepconf resaltará la ultima configuración que se construyó.
-
Importar - Importa un archivo de configuración Mach e intenta convertirlo a un archivo de configuración de LinuxCNC. Después de la importación, pase por las páginas de StepConf para confirmar/modificar las entradas. El archivo mach xml original no será modificado.
Las siguientes opciones se registrarán en un archivo de preferencias para la próxima ejecución de StepConf.
-
Crear atajo en escritorio - Se generará en su escritorio un enlace a los archivos.
-
Crear un lanzador en el escritorio - Se generará un lanzador en su escritorio para iniciar la aplicación.
-
Crear hardware simulado - Permite crear una configuración para pruebas, incluso si no tiene el hardware real.
3. Información básica
-
Crear hardware simulado - Permite crear una configuración para pruebas, incluso si no tiene el hardware real.
-
Machine Name - Choose a name for your machine. Use only uppercase letters, lowercase letters, digits, - and _.
-
Axis Configuration - Choose XYZ (Mill), XYZA (4-axis mill) or XZ (Lathe).
-
Machine Units - Choose Inch or mm. All subsequent entries will be in the chosen units. Changing this also changes the default values in the Axes section. If you change this after selecting values in any of the axes sections, they will be over-written by the default values of the selected units.
-
Driver Type - If you have one of the stepper drivers listed in the pull down box, choose it. Otherwise, select Other and find the timing values in your driver’s data sheet and enter them as nano seconds in the Driver Timing Settings. If the data sheet gives a value in microseconds, multiply by 1000. For example, enter 4.5 µs as 4500 ns.
En la página wiki de LinuxCNC.org puede ser consultada una lista de controladores populares, así como sus tiempos, en Tiempos de controladores de pasos.
El acondicionamiento o aislamiento extra de señal, como cuando se usan optoacopladores y filtros RC en tarjetas breakboards, pueden imponer restricciones de tiempo por si mismos, además de las del controlador. Puede ser el caso que se requiera agregar tiempo extra a los valores de temporizacion para compensar los filtros o aislamientos.
El Selector de configuración de LinuxCNC tiene configuraciones listas para máquinas de la marca Sherline, en caso de que posea una de estas.
-
Tiempo de paso - Cuánto tiempo es Encendido el pulso de paso en nanosegundos. Si no estas seguro de esta configuración, un valor de 20,000 funcionará con la mayoría de los controladores.
-
Espacio de paso - Tiempo mínimo entre dos pulsos de paso en nanosegundos. Si no estas seguro de esta configuración, un valor de 20,000 funcionará con la mayoría de los controladores.
-
Sostenimiento de dirección - Tiempo que debe ser mantenido activo el pin de dirección después de ordenar cambio de dirección, en nanosegundos. Si no estas seguro de esta configuración, un valor de 20,000 funcionará con la mayoría de los controladores.
-
Preparación de dirección - Cuánto tiempo debe preceder a un cambio de dirección después del último pulso de paso en nanosegundos. Si no estas seguro de esta configuración, un valor de 20,000 funcionará con la mayoría de los controladores.
-
Uno / dos puertos paralelos - Seleccione cuántos puertos paralelos se van a configurar.
-
Base Period Maximum Jitter - Enter the result of the Latency Test here. To run a latency test press the Test Base Period Jitter button. See the Latency Test section for more details.
-
Max Step Rate - StepConf automatically calculates the Max Step Rate based on the driver characteristics entered and the latency test result.
-
Min Base Period - StepConf automatically determines the Min Base Period based on the driver characteristics entered and latency test result.
El número importante de la prueba de latencia es la Fluctuación máxima. En el ejemplo de arriba la fluctuación máxima es de 9075 nanosegundos (ns) o 9.075 microsegundos (µs). Introduce la fluctuación máxima en el cuadro de Período base de fluctuación máxima.
4. Ajustes del puerto paralelo
Puede especificar la dirección como un número hexadecimal (por lo regular 0x378) o como un número de puerto predeterminado de Linux (probablemente 0)
Para cada pin, elija la señal que coincida con la asignación de pines de su puerto paralelo. Active la casilla de verificación Invertir si la señal de control requiere ser invertida (0V para verdadero/activo, 5V para falso/inactivo).
-
Asignación de pines de salida predefinidos - Se configurarán automáticamente los pines del 2 al 9 de acuerdo al estándar de las máquinas Sherline (Dirección en los pines 2, 4, 6, 8) o Xylotex (Dirección en los pines 3, 5, 7, 9).
-
Entradas y salidas - Si el pin no será utilizado como entrada o salida, seleccionarlo como Sin uso.
-
Señal de paro externo (E stop) - Esta señal pude ser seleccionada en una de las listas desplegables. Una cadena de señal de paro típica utiliza solo contactos en serie normalmente cerrados.
-
Interruptores de posición home y límites de seguridad - Estos pines pueden ser seleccionados para la mayoría de las configuraciones utilizando las listas desplegables.
-
Bomba de Carga - Si su controlador de motor requiere de una señal de bomba de carga, simplemente seleccione esta opción de la lista desplegable y conecte la señal al pin seleccionado. La salida de la bomba de carga será conectada al hilo base por el programa StepConf. La salida de bomba de carga será aproximadamente 1/2 de la tasa de generación de pulsos de paso máxima mostrada en la página de configuración básica.
-
Voltaje de arco de plasma - Si requiere un THCAD de Mesa para ingresar un voltaje de arco de plasma entonces seleccione Voltaje de arco de plasma en la lista de pines de salida. Esto habilitará una página para THCAD durante el procedimiento de configuración para la captura de los parámetros de la tarjeta.
5. Configuración del puerto paralelo 2
El segundo puerto paralelo (si está seleccionado) puede ser configurado y asignar sus pines en esta página. No se pueden seleccionar señales de paso y dirección. Puede seleccionarlo de entrada o de salida para maximizar el número de pines de entrada/salida que estén disponibles. Puede especificar la dirección como hexadecimal (a menudo 0x378) o como el número de puerto predeterminado de Linux (probablemente 1).
6. Configuración de ejes
-
Motor Steps Per Revolution - The number of full steps per motor revolution. If you know how many degrees per step the motor is (e.g., 1.8 degree), then divide 360 by the degrees per step to find the number of steps per motor revolution.
-
Driver Microstepping - The amount of microstepping performed by the driver. Enter 2 for half-stepping.
-
Pulley Ratio - If your machine has pulleys between the motor and leadscrew, enter the ratio here. If not, enter 1:1.
-
Leadscrew Pitch - Enter the pitch of the leadscrew here. If you chose Inch units, enter the number of threads per inch. If you chose mm units, enter the number of millimeters per revolution (e.g., enter 2 for 2mm/rev). If the machine travels in the wrong direction, enter a negative number here instead of a positive number, or invert the direction pin for the axis.
-
Maximum Velocity - Enter the maximum velocity for the axis in units per second.
-
Maximum Acceleration - The correct values for these items can only be determined through experimentation. See Finding Maximum Velocity to set the speed and Finding Maximum Acceleration to set the acceleration.
-
Home Location - The position the machine moves to after completing the homing procedure for this axis. For machines without home switches, this is the location the operator manually moves the machine to before pressing the Home button. If you combine the home and limit switches you must move off of the switch to the home position or you will get a joint limit error.
-
Table Travel - The range of travel for that axis based on the machine origin. The home location must be inside the Table Travel and not equal to one of the Table Travel values.
-
Home Switch Location - The location at which the home switch trips or releases relative to the machine origin. This item and the two below only appear when Home Switches were chosen in the Parallel Port Pinout. If you combine home and limit switches the home switch location can not be the same as the home position or you will get a joint limit error.
-
Home Search Velocity - The velocity to use when searching for the home switch. If the switch is near the end of travel, this velocity must be chosen so that the axis can decelerate to a stop before hitting the end of travel. If the switch is only closed for a short range of travel (instead of being closed from its trip point to one end of travel), this velocity must be chosen so that the axis can decelerate to a stop before the switch opens again, and homing must always be started from the same side of the switch. If the machine moves the wrong direction at the beginning of the homing procedure, negate the value of Home Search Velocity.
-
Home Latch Direction - Choose Same to have the axis back off the switch, then approach it again at a very low speed. The second time the switch closes, the home position is set. Choose Opposite to have the axis back off the switch and when the switch opens, the home position is set.
-
Time to accelerate to max speed - Time to reach maximum speed calculated from Max Acceleration and Max Velocity.
-
Distance to accelerate to max speed - Distance to reach maximum speed from a standstill.
-
Pulse rate at max speed - Information computed based on the values entered above. The greatest Pulse rate at max speed determines the BASE_PERIOD. Values above 20000Hz may lead to slow response time or even lockups (the fastest usable pulse rate varies from computer to computer)
-
Escala del eje - El número que será usado en el archivo INI en la sección [SCALE]. Representa cuántos pasos se deben dar por unidad de usuario.
-
Test this axis - This will open a window to allow testing for each axis. This can be used after filling out all the information for this axis.
Es un comprobador básico que solo emite señales de paso y dirección para probar diferentes valores de aceleración y velocidad.
|
Important
|
Para utilizar la prueba de este eje, debe habilitar manualmente el eje si se requiere. Si su controlador tiene una bomba de carga, tendrá que puentear para pasarla por alto. La prueba del eje no reacciona a las entradas de interruptor de límite, úsese con precaución. |
6.1. Determinar la velocidad máxima
Begin with a low Acceleration
(por ejemplo, 2 pulgadas/s2 o 50 mm/s2) y la velocidad que espera alcanzar. Usando los botones provistos, mueva el eje hasta cerca del centro de su carrera. Tenga cuidado, porque con un valor de aceleración bajo puede recorrerse una distancia sorprendentemente larga hasta que el eje desacelere completamente y pare.
Después de calcular la cantidad de carrera disponible, ingrese una distancia segura en el Área de prueba, teniendo en cuenta que después de un bloqueo, el motor puede comenzar a moverse en una dirección inesperada. Luego haga clic en Ejecutar. La máquina comenzará a avanzar y retroceder a lo largo de este eje. En esta prueba, es importante que la combinación de aceleración y área de prueba permita que la máquina alcance la velocidad seleccionada y la mantenga al menos una corta distancia, cuanto mayor sea la distancia, mejor será esta prueba. La fórmula d=0.5 * v * v/a
da la distancia mínima requerida para alcanzar la velocidad especificada con la aceleración dada. Si es conveniente y seguro hacerlo, empuje la mesa contra la dirección del movimiento para simular las fuerzas de corte. Si la máquina se para, reduzca la velocidad y comience nuevamente la prueba.
Si la máquina no se paró, haga clic en el botón Ejecutar para parar. El eje vuelve ahora a la posición donde comenzó. Si la posición es incorrecta, el eje se estancó o perdió pasos durante la prueba. Reduzca la velocidad y comience la prueba otra vez.
Si la máquina no se mueve, se detiene o pierde pasos, incluso bajando la velocidad, verifique lo siguiente:
-
Tiempos de onda de paso correctos
-
Asignación de pines correcta, incluyendo Invertir en los pines de paso
-
Cableado correcto y bien protegido
-
Problemas físicos con el motor, acoplamiento del motor, tornillo de avance, etc.
Una vez que haya encontrado una velocidad a la que el eje no se detiene o pierde pasos durante este procedimiento de prueba, reducirlo en un 10% y usarlo como la Velocidad máxima del eje.
6.2. Determinando la aceleración máxima
With the Maximum Velocity you found in the previous step, enter the acceleration value to test. Using the same procedure as above, adjust the Acceleration value up or down as necessary. In this test, it is important that the combination of Acceleration and Test Area allow the machine to reach the selected Velocity. Once you have found a value at which the axis does not stall or lose steps during this testing procedure, reduce it by 10% and use that as the axis Maximum Acceleration.
7. Configuración del husillo
Esta página solo aparece cuando se selecciona Husillo PWM en la página Puerto paralelo para una de las salidas.
7.1. Control de velocidad del husillo
If Spindle PWM appears on the pinout, the following information should be entered:
-
Frecuencia PWM - La frecuencia portadora de la señal PWM al husillo. Entrar 0 para el modo PDM, que es útil para generar un voltaje de control analógico. Consulte la documentación de su controlador de husillo para conocer el valor apropiado.
-
Velocidad 1 y 2, PWM 1 y 2: el archivo de configuración generado utiliza una relación lineal simple para determinar el valor PWM para un valor RPM dado. Si los valores no se conocen, se pueden determinar. Para más información, ver Determinación de la calibración del husillo.
7.2. Movimiento sincronizado del husillo
When the appropriate signals from a spindle encoder are connected to LinuxCNC via HAL, LinuxCNC supports lathe threading. These signals are:
-
Índice del husillo - Es un pulso que ocurre una vez por revolución del husillo.
-
Fase A del husillo - Este es un pulso que ocurre en múltiples ubicaciones, igualmente espaciadas, a medida que gira el husillo.
-
Fase B del husillo (opcional) - Este es un segundo pulso, pero con un desplazamiento de la fase A del husillo. Las ventajas de usar tanto A como B son detección de dirección, mayor inmunidad al ruido y mayor resolución.
Si hay Fase A de husillo e Índice de husillo en la asignación de pines, se debe ingresar la siguiente información:
-
Usar husillo a velocidad - Con la retroalimentación del codificador se puede hacer que LinuxCNC espere a que el husillo alcance la velocidad ordenada antes de que se mueva la alimentación. Seleccione esta opción y establezca la escala lo más cercana.
-
Ganancia del filtro de visualización de velocidad - Configuración para ajustar la estabilidad de la visualización de la velocidad del husillo.
-
Ciclos por revolución - El número de ciclos de la señal A del husillo durante una revolución. Esta opción solo está habilitada cuando una entrada se ha configurado como Fase A del husillo
-
Velocidad máxima en roscado - La velocidad máxima del husillo utilizada en el roscado. Para un husillo de altas RPM o un codificador de husillo con alta resolución, es obligatorio un valor bajo de BASE_PERIOD .
7.3. Determinación de la calibración del husillo
Enter the following values in the Spindle Configuration page:
Velocidad 1: |
0 |
PWM 1: |
0 |
|---|---|---|---|
Velocidad 2: |
1000 |
PWM 2: |
1 |
Termine los pasos restantes del proceso de configuración, luego, inicie LinuxCNC con su configuración. Encienda la máquina y seleccione la pestaña MDI. Inicie el giro del husillo ingresando: M3 S100. Cambie la velocidad del husillo ingresando un número S diferente: S800. Los números válidos (en este momento) van de 1 a 1000.
Para dos números S diferentes, mida la velocidad real del eje en RPM. Registre los números S y las velocidades reales del eje. Ejecute StepConf nuevamente. Para Velocidad, ingrese la velocidad medida, y para PWM ingrese el número S dividido entre 1000.
Ya que la mayoría de los controladores de husillo son ligeramente no lineales en sus curvas de respuesta, lo mejor es:
-
Asegurarse que las dos velocidades de calibración no estén demasiado juntas en RPM.
-
Asegurarse que las dos velocidades de calibración estén en el rango de velocidades que típicamente usará durante el fresado.
Por ejemplo, si su husillo va de 0 RPM a 8000 RPM, pero generalmente usa velocidades de 400 RPM (10%) a 4000 RPM (100%), encuentre los valores de PWM que dan 1600 RPM (40%) y 2800 RPM (70%).
8. Opciones
-
Incluir Halui - Esto agregará el componente de interfaz de usuario Halui. Ver el capítulo HALUI para más información.
-
Incluir PyVCP - Esta opción agrega el archivo base del panel PyVCP o un archivo ejemplo para trabajar en él. Ver el capítulo PyVCP para más información.
-
Incluir ClassicLadder PLC - Esta opción agregará el PLC ClassicLadder (Controlador lógico programable). Ver el Capítulo ClassicLadder para más información.
-
Indicador en pantalla para cambio de herramienta - Si esta casilla está marcada, LinuxCNC para y le pide que cambie la herramienta cuando se encuentre M6. Esta característica generalmente solo es útil si tiene herramientas predimensionadas.
9. Completar la configuración de la máquina
Click Apply to write the configuration files. Later, you can re-run this program and tweak the settings you entered before.
10. Carrera y casa de los ejes
Para cada eje hay un rango limitado de recorrido. El final físico del recorrido se llama parada dura.
|
Warning
|
Si se va a sobrepasar una parada dura mecánica ¡se dañará el tornillo o el marco de la máquina! |
Antes de la parada dura hay un interruptor de límite. Si durante la operación normal se topa con el interruptor de límite LinuxCNC apaga el amplificador de motor. La distancia entre la parada dura y el interruptor de límite debe ser lo suficientemente larga como para permitir que un motor sin alimentación llegue a detenerse.
Antes del interruptor de límite hay un límite suave. Este es un límite impuesto en el software después de homing. Si un comando MDI o un programa de código G sobrepasara el límite suave, no se ejecutará. Si un trote sobrepasara el límite suave, se detiene en el límite suave.
El interruptor casa se puede colocar en cualquier lugar dentro de la carrera (entre paradas duras). Siempre que el hardware externo no desactive los amplificadores de motor cuando se alcanza el interruptor de límite, uno de los interruptores de límite puede ser utilizado como un interruptor casa.
La posición cero es la ubicación en el eje que es 0 en el sistema de coordenadas de la máquina. Por lo general, la posición cero estará dentro de los límites suaves. En los tornos, el modo de velocidad de superficie constante requiere que X = 0 en la máquina corresponda al centro de rotación del husillo cuando no está activo el offset de la herramienta.
La posición casa es la ubicación dentro de la carrera a la que el eje será movido al final de la secuencia de casa. Este valor debe estar dentro de los límites suaves. En particular, la posición casa nunca debe ser exactamente igual a un límite suave.
10.1. Operar sin interruptores de limite
Una máquina puede ser operada sin interruptores de límite. En este caso, solo los límites suaves impiden que la máquina alcance la parada dura. Los límites suaves solo funcionan después de que la máquina este en casa.
10.2. Operando sin interruptores de casa
A machine can be operated without home switches. If the machine has limit switches, but no home switches, it is best to use a limit switch as the home switch (e.g., choose Minimum Limit + Home X in the pinout). If the machine has no switches at all, or the limit switches cannot be used as home switches for another reason, then the machine must be homed by eye or by using match marks. Homing by eye is not as repeatable as homing to switches, but it still allows the soft limits to be useful.
10.3. Opciones de cableado de los interruptores de casa y límite
El cableado ideal para interruptores externos sería de una entrada por interruptor. Sin embargo, el puerto paralelo de PC solo ofrece un total de 5 entradas, mientras que hay hasta 9 interruptores en una máquina de 3 ejes. En cambio, múltiples interruptores pueden conectarse entre sí en varias formas para que se requiera un menor número de entradas.
Las siguientes figuras muestran la idea general de cablear múltiples interruptores a un solo pin de entrada. En cada caso, cuando se activa un interruptor, el valor visto en ENTRADA va de lógica ALTA a BAJA. Sin embargo, LinuxCNC espera un valor VERDADERO cuando se cierra un interruptor, por lo que la casilla correspondiente Invertir debe verificarse en la página de configuración de asignación de pines. El resistor pull-up que se muestra en los diagramas jala la entrada alta hasta que se realice la conexión a tierra y la entrada pasa a baja. Sin resistencia, la entrada puede flotar entre encendido y apagado cuando el circuito está abierto. Normalmente, para un puerto paralelo, puede usar resistencias de 47 kΩ.
Las siguientes combinaciones de interruptores están permitidas en StepConf:
-
Combinar los interruptores de casa para todos los ejes
-
Combinar los interruptores de límite para todos los ejes
-
Combinar ambos interruptores de límite para un eje
-
Combinar ambos interruptores de límite y el interruptor de casa para un eje
-
Combinar un interruptor de límite y el interruptor de casa para un eje
Las últimas dos combinaciones también son apropiadas cuando se usa el tipo contacto + casa.