summaryrefslogtreecommitdiff
path: root/docs/src/config/stepconf_es.txt
blob: b8bbca62308bbc760e359de9ee2ba079898d3d89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
= Asistente de configuracion Stepconf 

[[cha:stepconf-wizard]] (((Stepconf Wizard)))

LinuxCNC es capaz de controlar un vasto rango de diferentes tipos de maquinaria,
 utilizando diferentes interfaces de Hardware.

Stepconf es un programa que genera archivos de configuracion para LinuxCNC
para un tipo especifico de maquina CNC:
Aquellas que son controladas atravez de un 'Puerto paralelo estandar', y 
que son controladas utilizando las senales 'Paso y Direccion'

Stepconf se instala automaticamente cuando instala LinuxCNC y se encuentra en el menu CNC.

Stepconf genera un archivo en el directorio emc2/config
en el cual guarda las selecciones de cada configuracion que usted genere.
Cuando se desea cambia algo, se necesita seleccionar el archivo
que tenga el mismo numaero que la configuracion que desea modificar.
La extencion del archivo es .stepconf.

El asistente Stepconf necesita al menos una resolucion de pantalla de 800 x 600
para que los botones de la parte baja de la pantalla sean visibles.


[float]
Instrucciones paso a paso
=========================

== Pagina de entrada[[sec:Entry-Page]]

.Pagina de entrada[[cap:Entry-Page]]

image::images/stepconf-config.png[align="center"]

Create New::
    Crea una configuracion nueva.

Modify::
    Modifica una configuracion existente.
    Despues de seleccionar esta opcion una pantalla de seleccion de archivo
    aparecera y usted devera el archivo con extencion .stepconf que dese modificar.
    Si usted relizo alguna modificacion previa a los archivos principales .hal o .ini estas modificaciones se perderan.
    Modificaciones a los archivos custom.hal y custom_postgui.hal no seran canbiadas por el
    asistente Stepconf.Create Desktop Shortcut::
    This will place a link on your desktop to the files.

Create Desktop Shortcut::
    Se generara un acceso rapido en su a los archivos. 

Create Desktop Launcher::
    Se generara un acceso rapido pra iniciar la aplicacion.


== Informacion Basica[[sec:Basic-Information]]

.Informacion Basica[[cap:Basic-Information-Page]]

image::images/stepconf-basic.png[]

Machine Name::
    (((Machine Name)))
    Seleccione un nombre para su maquina
    Utilise solo letras mayusculas, minusculas, digitos, '-' y '_'.

Axis Configuration::
    (((Axis Configuration)))
    Seleccione XYZ (Fresadora), XYZA (Fresadora de 4 ejes) o XZ (Torno).

Machine Units::
    (((Machine Units)))
    Seleccione entre pulgadas y milimetros. Todas las preguntas posteriores
    (Tales como el largo de los ejes, el paso de los tornillos, etc)
    deveran ser contestadas utilizando las unidades seleccionadas

Driver Type::
    (((Driver Type)))
    Si usted tiene uno de los controladores de motor a pasos listados en el menu desplegable, seleccionelo directamente.
    En cualquier otor caso, busque los 4 valores de tiempo necesarios
    utilize los manuales de su controlador y rellene los campos.
    Si sus manuales le dan los datos en microsegundos multipliquelos por 1000.
    por ejemplo, si el manual marca 4.5us escriva 4500ns.

Una lista de controladores populares, asi como sus tiempos
puede ser consultada en la pagina wiki de LinuxCNC.org en la siguiente direccion
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Stepper_Drive_Timing[Stepper Drive Timing]. 

Acondicionamiento estra de senal o aislamiento electrico como el uso
de optoacopladores y filtros RC en targetas de aislamiento
pueden imponer diferentes valores de tiempo a los normales de su controlador.
Puede ser el caso que se requiera agregar tiempo extra a los valores de tiepo para compensar los filtros o aislamientos.
La seccionde seleccion de configuracion tiene las maquinas de marca Sherline ya configuradas para su uso en caso de que posea una de estas.

Step Time::
    Cuanto tiempo el pulso de paso esta "Encendido" en nanosegundos.

Step Space::
    Tiempo minimo entre dos pulsos de paso en nanosegundos.

Direction Hold::
    Cuanto tiempo el pin de direccion deve ser mantenido despues de un cambio de direecion en nanosegundos.

Direction Setup::
     Cuanto tiempo debe aver antes de un cambio de direccion despues del ultimo pulso de paso.

First Parport::
    Usualmente la direcion en hexadecimal del primer puerto paralelo es 0x378. 

Second Parport::
    En caso de ser necesario especificar un puerto paralelo extra introduca la direccion
    y el tipo. Para informacion de como encontrar la direccion de puertos paralelos PCI
    vea la seccion Port Address en el manual de integrador. (Trate primero con 0x278 o 0x3BC)


Base Period Maximum Jitter::
    (((Base Period Maximum Jitter)))
    Introduca el resultado de la prueba de latencia.
    Para correr la prueba de latencia precione el boton "Test Base Period Jitter".
    Vea la seccion de la prueba de latencia para mas detalles.

Max Step Rate::
    (((Max Step Rate)))
    Stepconf automaticamente calculara la taza maxima de pulsos de pasos
    basandose en las caracteristicas del controlador de motor a pasos y el resultado de la prueba de latencia.

Min Base Period::
    (((Min Base Period)))
    Stepconf automaticamente calculara el periodo base minimo
    basandose en las caracteristicas del controlador de motor a pasos y el resultado de la prueba de latencia.    

Onscreen Prompt For Tool Change::
    (((Onscreen Prompt For Tool Change)))
    Si esta casilla es seleccionada, LinuxCNC pausara la ejecucion de un programa y le preguntara
    por el cambio de herramienta cuando el comando *M6* sea encontrado en el codigo G.
    Deje esta casilla sin checar amenos que usted planie agregar soporte
    para una torreta automatica de cambio de herramientas en un archivo HAL personalizado.

== Prueba de latencia[[sub:latency-test]](((Latency Test)))

Mientras se ejecute la prueba, usted devera de 'abusar' de la computadora. Mueva
ventanas alrededor de la pantalla. Navegue en internet. Copie algunos archivos de gran tamano
en diferentes partes del disco duro. Reproduca musica. Corra algun programa OpenGl como glxgears.
La idea es poner a la computadora en apuros mientras se ejecuta la prueba para poder tener una idea de 
cuales seran los peores casos de demanda a la computadora y sus tiempo de respuesta. 
Ejecute la prueba almenos unos cuantos minutos. Entre mas tiempo la ejecute mas probable es que detecte
casos especiales que solo suceden en intervalos poco frecuentes. Esta prueba es solo para 
la computadora, no se requiere que conecte los controladores de motores o la maquina herramienta.

[WARNING]
No ejecute LinuxCNC mientras realiza la prueba de latencia.

.Prueba de Latencia[[cap:Latency-Test]]

image::images/latency.png[align="center"]

Latencia es cuanto le tomara a la PC detenerse en lo que esta haciendo
y responder a una solicitud externa. En este caso, la solicitud
el el 'latido periodico' que sirve como referencia de tiempo 
para la genracion de los pulsos de paso.
Entre menor sea la latencia, mas rapido se generaran los latidos,
y mas rapidos y suabes seran los pulsos de paso.

La latencia es mucho mas importante que la velocidad del CPU. La velocidad
del CPU no es el unico factor determinate en la latencia. Tahgetas madre, targetas de video, puertos
USB, Problemas con SMI, y otra cantidad de coasas pueden afectar la latencia.


.Troubleshooting SMI Issues (LinuxCNC.org Wiki)
************************************************************

Encuentre soluciones a algunos problemas de SMI comunes en Ubuntu

http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?FixingSMIIssues
************************************************************

Los numeros importantes son el "max jitter". en el ejemplo de abajo 9075
nanosegundos, o 9.075 microsegundos, es el maximo retraso.
Guarde este numero, y escrivalo en la caja Base Period Maximum Jitter.

Si el maximo retrazo es menor o se encuentra entre 15-20 microsegundos
(15000-20000 nanosegundos), la computadora deveria de dar muy buenos resultados
con la generacion de pulsos de pasos. Si la latencia maxima esta entre 30-50
microsegundos, se pueden seguir obteniendo buenos resultados, pero la tasa
maxima de generacion de pulsos puede ser un poco desepcionante, especialmente si se usan
micropasos o un tornillo con un paso muy fino. si los numeros son
100us o mas (100 000 nanosegundos), la PC no es una buena candidata para la generacion 
de pulsos de paso por software. Numeros arriva de 1 milisegundo (1 000 000 nanosegundos)
significan que la PC no es una buena candidata para ejecutar LinuxCNC, sin importar si se
usa generacion de pulsos de paso por software o no.


== Ajustes del puerto Paralelo[[sec:Parallel-Port-Setup]](((Parallel Port Setup)))

.Pagina de ajuste del Puerto Paralelo[[cap:Parallel-Port-Setup]]

image::images/stepconf-pinout.png[align="center"]

Para cada pin se devera seleccionar la señal de control
que concuerde con la configuracion del puerto.

Active la casilla "invert" si la señal de control requiere
ser invertida (0V para activo/Verdadero, 5V para inactivo/Falso)

Esquemas de pines predefinidos::
   Se configuraran automaticamente los pines del 2 al 9 deacuerdo al estandar
   de las maquinas Sherline (Direccion en los pines 2, 4, 6, 8) o Xylotex (Direccion en los
   pines 3, 5, 7, 9).

Entradas y Salidas::
    Si el pin no sera utilizado como entrada o salida seleccionarlo como "Unused".

Señal de Paro Externo (E stop)::
    Esta señal pude ser tipicamente seleccionado en la casilla desplegable.
    Una cadena de señal de paro tipica utiliza solo contactos normalmnete cerrados en serie.

Posicion de inicio y limites de seguridad (Homing & Limit Switches)::
    Estos pines pueden ser seleccionados para la mayoria de las configuraciones
    utilizando la casilla desplegable.

Bomba de Carga (Charge Pump)::
    Si el controlador de motores requiere de una se;al de bomba de carga
    simplemente seleccione esta opcion de lalista desplegable y conecte la señal
    al pin seleccionado.
    La salida de la bomba de carga sera conectada a la tarea base por el programa Stepconf.
    La salida de bomba de carga sera aproximadamente 1/2 de la maxima tasa de generacion
    de pulsos de paso mostrados en la pagina de configuracion basica. 

== Configuracion de los Ejes[[sec:Axis-Configuration]](((Axis Configuration)))

.Pagina de configuracion de eje[[cap:Axis-Configuration-Page]]

image::images/stepconf-axis.png[align="center"]

Pasos del motor por revolucion (Motor Steps Per Revolution)::
    (((Motor Steps Per Revolution)))
    El numero de pasos completos por revolucion del motor.
    Si solo se tiene el dato de los grados por paso del motor (ejemplo 1.8 grados),
    se deve dividir 360 por el numero de grados por paso
    para encontrar el numero de pasos por revolucion.

Micro pasos (Driver Microstepping)::
    (((Driver Microstepping)))
    El numero de micropasos producidos por el controlador por cada paso fisico completo del motor.
    entre "2" para medio paso.
    (ejemplo, si el controlador produce 1/10 de giro de un paso completo
    en la flecha del motor por cada pulso de paso que recive, escriva 10 en la casilla.

Relacion de Poleas (Pulley Ratio)::
    (((Pulley Ratio)))
    Si su maquina tiene poleas o engranes entre el motor y el tornillo,
    escriva la relacion aqui. Si no, escriva "1:1".

Paso del tornillo (Leadscrew Pitch)::
    (((Leadscrew Pitch)))
    Entre el paso del tornillo aqui.
    Si se selecciono unidades en "Inch", entre el numero de 
    cuerdas por pulgada (ejemplo, entre 8 para 8 TPI).
    Si se tiene un tornillo con multiples cuerdas se requiere saber
    cuantas vueltas por pulgada se requieren para mover la "nues".
    Si se selecciono 'mm' como unidades, entre el numero de milimetros que la "nues"
    se movera por revolucion (ejemplo, entre 2 para 2 mm/rev).
    Si la maquina se mueve en la direccion opuesta a la esperada,
    entre un valor negativo, o invierta la direccion del pin para el eje.

Velocidad Maxima (Maximum Velocity)::
    (((Maximum Velocity)))
    Entre la velocidad maxima del eje en unidades por segundo.

Aceleracion Maxima (Maximum Acceleration)::
    (((Maximum Acceleration)))
    El valor correcto de esta casilla solo puede ser determinado
    por experimentacion. Vea 
    <<sec:finding-maximum-velocity>> para ajustar la velocidad
    <<sec:finding-maximum-acceleration>> para ajustar la aceleracion.

Posicion de Inicio (Home Location)::
    (((Home Location)))
    La posicion a la que la maquina se movera despues de completar
    el procedimiento de inicio del eje.
    Para maquinas sin interruptores de posicion de inicio,
    esta es la posicion a la cual el operador devera mover la maquina
    antes de precionar el boton de inicializanon del eje (Home).
    Si se combinan los interruptores de inicio y de limite
    se devera mover la maquina fuera del interruptor para inicializar el eje
    o se recivira un error de limite en el eje.

Area de la bancada (Table Travel)::
    (((Table Travel)))
    El rango de viaje que el codigo g no podra sobrepasar.
    La posicion de inicializacion del eje deve estar dentro del area de bancada.
    En particular, tener la posicion de inicializacion (Home) de un eje exactamente
    en un limite del area de bancada producira una configuracion invalida.    

Localizacionde los interruptores de inializacion(Home Switch Location)::
    (((Home Switch Location)))
    La posicion en la cual el interruptor de inializacion se activa o desactiva
    durante un proceso de inicializacion. Este apartado y los dos siguientes
    solo apareceran cuando se seleccione la existencia de interruptores de limite
    en la configuracion del los pines del puerto paralelo. Si se combinan los 
    interruptores de limite y de inicializacion la posicion del interruptor de inicializacion
    no puede ser la misma que la posicoin de inicializacion o se producira un error de limite en el eje.
    
Velocidad de inicializacion (Home Search Velocity)::
    (((Home Search Velocity)))
    La velocidad usada en la busqueda de los interruptores.
    Si el interruptor se encuentra cercano al limite de viaje del eje,
    esta velocidad deve ser seleccionada de tal forma que el eje tenga
    suficiente tiempo para desacelerar hasta detenerse antes de llegar al
    limite fisico de la bancada.
    Si el interuptor se encuentra cercano por un rango de viaje corto
    (En lugar de estar cercano desde el punto de inicio al final del viaje),
    la velocidad devera ser seleccionada de tal forma que el eje pueda desacelerar
    hasta detenerse antes de que el interruptor se habra otra vez, el procedimiento
    de inicializacion devera ser comenzarse siempre del mismo lado del interruptor.
    Si la maquina se mueve en la direccion contraria al inicio de la inicializacion,
    cambie el signo a negativo del parametro *Home Search Velocity*.


Direccion de busqueda de posicion de inicio (Home Latch Direction)::
    (((Home Latch Direction)))
    Seleccione "Igual (Same)" para que el interruptor sea liberado
    y posteriormente la maquina se acerque a el a muy baja velocidad.
    La segunda vez que el interruptor se cierre, se definira la posiocn de inializacion.
    Seleccione "Opuesto (Opposite)" para realizar la inializacion moviendose despacio fuera del interruptor,
    cuando el interruptor se habra la posiocion de inializacion sera marcada.

Tiempo para acelerar a maxima velocidad (Time to accelerate to max speed)::
    (((Time to accelerate to max speed)))
    Tiempo calculado. 

Distancia para acelerar a maxima velocidad (Distance to accelerate to max speed)::
    (((Distance to accelerate to max speed)))
    Distancia calculada.

Taza de generacion de pulsos a maxima velocidad (Pulse rate at max speed)::
    (((Pulse rate at max speed)))
    Este dato se calcula en base a los valores anteriores.
    El valor maximo de la *Taza de generacion de pulsos a maxima velocidad* determina el *Periodo base*.
    Valores por encima de 20000Hz pueden producir tiempos de respuesta muy bajos o incluso bloqueos
    (La taza de generacion maxima de pulsos varia entre computadoras)

Escala del Eje (Axis SCALE)::
    El numero que sera usado en el archivo ini en la seccion [SCALE].
    Representa cuantos pasos se deven dar por unidad de usuario.

Probar este Eje (Test this axis)::
    (((Test this axis)))
    Esta opcion abre una ventana para permitir probar cada eje.
    Esta opcion puede ser utilizada despues de llenar toda la informacion referente al eje.

=== Probar este Eje

.Probar este Eje[[cap:Test-This-Axis]]

image::images/stepconf-test.png[align="center"]

Con Stepconf es sencillo probar diferentes valores de aceleracion y velocidad.
 
[[sec:finding-maximum-velocity]]
==== Busqueda de Velocidad Maxima
(((Finding Maximum Velocity)))

Comiense con una aceleracion baja 
// comment out latexmath until a fix is found for the html docs
//(ejemplo, latexmath:[ 2 in/s^2 ] o latexmath:[ 50 mm/s^2 ]) y 
(por ejemplo, *+2 pulgadas/s^2^+* or *+50 mm/s^2^+*)
la velocidad que se desea obtener.
Utilizando los botones disponibles, mueva el eje cerca al centro de su carrera.
Tenga cuidado porque con un valor de aceleracion bajo,
puede tomarle al eje una sorpendente distancia para desacelerar hasta detenerse.

Despues de medir la cantidad de espacio de movimiento disponible para el eje, 
introduca una distancia segura en el area de prueba, mantenga en mente que
despues de un atoramiento, el motor puede acontinuacion comenzar a moverse en una direccion inesperada.
Entonses haga click en la opcion Correr (Run).

La maquina comenzara a moverse hacia adelante y atras a lo largo del eje.
En esta prueba, es importante que la combinacion de aceleracion y 
area de prueba permita a la maquina alcanzar la velocidad seleccionada y que la bancada viaje 
por almenos una distancia corta a esta velocidad -- entre mas distancia mejor sera la prueba.
La formula *+d = 0.5 * v * v/a+*
//latexmath:[ d = 0.5 * v * v/a ] 
proporciona la minima distancia requerida para alcanzar
la velocidad especificada con la aceleracion seleccionada.
Si es conveniente y seguro de hacer,
precione la bancada contra la direcion del movimiento para simular las fuerzas de corte.
si la maquina se detiene, redusca la velocidad y comiense la prueba de nuevo.

Si la maquina no se detiene de manera evidente, precione el boton 'Run' de nuevo, para detener la prueba.
La maquina regresara a la posicion donde comenso la prueba.
Si la posicion es incorrecta, la maquina perdio pasos o se detubo durante la prueba.
Redusca la velocidad y comienze la prueba de nuevo.

Si la maquina no se mueve, se detiene, o pierde pasos, sin importar cuan baja 
sea la velocidad seleccionada, verifique lo siguiente:

 - Valores correctos de la forma de pulsos de pasos
 - Seleccion correcta de los pines de salida del puerto, incluyendo si es necesario la opcion de 'Invertido'
 - Cableado blindado para reducir interferencia
 - Problemas fisicos con el motor, acoplamientos, tornillos embalados o de bolas, etc.

Una ves que se encuentre una velocidad a la cual el eje 
no se detenga o pierda pasos durante la prueba,
redusca la velocidad un 10% y utilize esta nueva velocidad como velocidad Maxima.

[[sec:finding-maximum-acceleration]]
==== Encontrando la maxima aceleracion
(((Finding Maximum Acceleration)))

Con la velocidad maxima que se encontro en el paso anterior,
introduca un valor de aceleracion a probar.
Utilizando el mismo procedimiento antes descrito,
redusca la aceleracion si en necesario.
En esta prueba, es importante que la combinacion de
Aceleracion y area de prueba permita a la maquina alcanzar la velocidad seleccionada.
Una ves que se encuentre un valor de aceleracion en el cual la maquina no pierda pasos o se detenga 
durante la prueba, redusca el valor encontrado un 10% y utilice este nuevo valor como el valor de Aceleracion Maxima.

== Configuracion del Husillo[[sec:Spindle-Configuration]](((Spindle Configuration)))

.Pagina configuracion del Husillo[[cap:Spindle-Configuration-Page]]

image::images/stepconf-spindle.png[align="center"]

Esta pagina solo aparece cuando la opcion 'Spindle PWM' es seleccionada en la 
pagina de seleccion de las salidad 'Parallel Port Pinout

=== Control de la velocidad del Husillo[[spindle-speed-control]](((spindle speed control)))

Si la opcion 'Spindle PWM' fue seleccionada en el mapeo de salidas, 
la siguiente informacion deve ser proporcionada:

Taza de PWM (PWM Rate)::
    (((PWM Rate)))
    La frecuencia portadora de la señal PWM que controlara la velocidad del Husillo.
    Introdusca un '0' para modo PDM,
    El cual es util para generar un voltage de control.
    Revisese la documentacion del controlador del husillo para el valor adecuado.

Velocidad 1 y 2, PWM 1 y 2::
    (((Speed 1 and 2)))(((PWM 1 and 2)))
    Los archivos de configuracion generados usan una relacion lineal simple
    para determinar el valor de PWM para un valor de RPM dado.
    Si los valores son desconocidos, puedn ser determinados.
    Para mas informacion vease la seccion: (<<determining-spindle-calibration,Determining Spindle Calibration>>)

===Sincronizacion de movimientos del Husillo (Cuerdas automaticas y uso de machuelo)[[sub:Spindle-synchronized-motion-lathe]]
(((Spindle-synchronized motion)))(((Lathe Threading)))

Cuando son proporcionadas las señales correctas desde un encoder conectado
a LinuxCNC utilizando los componentes del HAL (Capa de abstraccionde Hardware),
LinuxCNC soportara el roscado en torno.
Las señales requeridas son:


Indice del Husillo::
    (((Spindle Index)))
    Es un pulso que ocurre una vez por revolucion del Husillo.

Fase A del Husillo::
    (((Spindle A)))
    Es un pulso que ocurre en varias ocaciones igualmente espaciadas
    conforme el husillo gira.

Fase B del Husillo (Opcional)::
    (((Spindle B)))
    Este es un pulso secundario que ocurre en
    desface con respecto al pulso de Fase A.
    La ventaja de usar ambos pulsos A y B son
    la capacidad de determinar la direccion del giro,
    ahumento de la inmunidad al ruido y el aumento de la resolucion.

    
Si las opciones de 'Fase A' e 'Indice del Husillo' fueron seleccionadas
en la configuracion del puerto, la siguiente informacion devera ser introducida:

Ciclos por revolucion::
    (((Cycles per revolution)))
    El numero de ciclos de la señal fase A  que se producen durante una vuelta completa del husillo.
    Esta opcion solo se encontrara disponible Si alguna de las entradas de configuracion
    del puerto fue seleccionada como 'Spindle Phase A'

Velocidad Maxima al momento de hacer una cuerda::
    Seleccionar la maxima velocidad permitida al momento de hacer una cuerda.
    Para un husillo de altas RPM o un encoder con alta resolucion,
    un valor bajo de 'BASE_PERIOD' es requerido. 

=== Determinacion de la Calibracion del Husillo[[determining-spindle-calibration]]
(((Determining Spindle Calibration)))

Introdusca los siguientes valores en la pagina de configuracion del husillo:

[width="100%"]
|========================================
|Speed 1: | 0    | PWM 1: | 0
|Speed 2: | 1000 | PWM 2: | 1
|========================================

Termine los pasos restantes del proceso de configuracion,
posteriormente inicie LinuxCNC con la configuracion recien creada.
Encienda la maquina y seleccione la pestaña MDI.
Encienda el husillo entrando el comando: 'M3 S100'.
Cambie la velocidad del husillo entrando un valor diferente de parametro S: 'S800'. 
Valores validos en este momento van desde 1 hasta 1000.

Para dos valores de parametro S diferentes, mida las RPM que el husillo este proporcionando.
Guarde los valores S utilizados en la prueba y los valores reales de RPM proporcionados por el husillo.
Ejecute el programa Stepconf de nuevo.
Para el parametro  'Speed' introdusca la velocidad en RPM medida, y 
para 'PWM' introdusca el valor del parametro S dividido entre 1000.
Recuerde que deve tener dos valores del parametro S y sus correspondientes 
RPM proporcionadas por el husillo para generar un ajuste de velocidad lineal.


Devido a que la mayoria de los controladores de husillo precentan nolinealidades en su respuesta
es mejor hacer lo siguiente:

 - Asegurese que las dos calibraciones utilizadas no se encuentren cerca en los valores de RPM proporcionados.
 - Asegurese que las dos calibraciones se encuentren en los rangos de RPM que usted normalmente 
   utilizara al maquinar.

Por lo tanto si el husillo deve de ir de las 0 RPM a las 8000 RPM,
pero usted generalmente utiliza velocidades de las 400 RPM (10%) a las 4000 RPM (100%), 
vusque los valores de PWM que proporcionen 1600 RPM (40%) y 2800 RPM (70%).

== Opciones de configuracion avanzada[[sec:Advanced-Configuration-Options]](((Advanced Configuration Options)))

.Configuracion avanzada[[cap:Advanced-Configuration]]

image::images/stepconf-advanced.png[align="center"]

Incluir Halui::
    Esta opcion incluira la interface de usuario Halui.
    (Control remoto de los parametros de pantalla de la GUI)
    Vea el manual del integrador para mas detalles.

Incluir pyVCP::
    Esta opcion agrega el pnel base de pyVCP y un archivo simple para comenzar a trabajar en el.
    Vea el manual del integrador para mas detalles.
 
Incluir ClassicLadder PLC::
    Esta opcion agregara el ClassicLadder PLC (Programmable Logic Controller). 
    Vea el manual del integrador para mas detalles.

== Terminando de configurar la Maquina[[sub:Machine-Configuration-Complete]]

Seleccione 'Apply' para escrivir los archivos de configuracion. 
Mas tarde puede correrse el programa de configuracion Stepconf de nuevo
y recuperar los valores que se introdugeron anteriormente.

== Carrera de Eje, Localizacion de los interruptores de inicio y la pocicion inicial[[sec:Axis-Travel-Home]]
(((Axis Travel)))(((Home Location)))(((Home Switch Location)))

Para cada eje, existe un rango limitado de carrera.
El limite fisico de la carrera se conoce como 'hard stop'.


ANtes de alcanzar el limite fisico 'hard stop' existe un interruptor de limite 'limit switch'. 
Si se encuentra el interruptor de limite durante la operacion normal,
EMC apagara el controlador del eje.
La distancia entre el limite fisico y el interruptor de limite
Deve ser suficiente para permitir al eje sin energia detenerse.

Antes del interruptor de limite existe un limite suabe 'soft limit'.
Este es un limite determinado por programa despues de la rutina de inicializacion.
Si un comando MDI o G exede el limite suabe, el comando no se ejecutara.
Si un movimiento manual del eje exede el limite suabe, el movimiento es terminado en el
limite suabe.

El interruptor de inicializacion 'home switch' puede ser colocado en cualquier lugar de la 
carrera del eje entre los dos limites fisicos del eje.
Mientras algun dispositivo externo no desactive los controladores de motor 
cuando el interruptor de limite es activado, uno de los interruptores de limite
puede ser utilizado para la posicion de inicializacion.

La posicion cero 'zero position' es la posicion en el eje que tienen el valor de 0
en el sistema coordenado de la maquina.
Usualmente la posicion cero se encontrara dentro de los limites suabes.
En los tornos, la opcion de velocidad de superficie constante 
requiere que la posicion 'X=0' corresponda al centro de rotacion del husillo
cuando no exista alguna compensacion en la herramienta.

La posicion de inizializacion es la posicion a la que el eje sera desplazado
al final de la secuencia de inizializacion.
Este valor deve de encontrarse dentro de los limites suabes.
En particular la posicion de inizializacion
nunca deve ser igual a un limite suabe.

=== Operacion sin interruptores de limite[[sub:Operating-without-Limit]]
(((Operating without Limit Switches)))

Una maquina puede ser operada sin interruptores de limite. En ese caso, solo
los limites suabes detendran al eje de alcanzar el limite fisico.
Los limites suabes solo operan despues de que se a ejecutado la rutina de inizializacion.

=== Operacion sin limites de inizializacion[[sub:Operating-without-Home]]
(((Operating without Home Switches)))

Una maquina puede ser operada sin interruptores de inicializacion.
Si la maquina tiene interruptores de limite pero no de inicializacion,
es mejor utilizar un interruptor de limite como interruptor de inizializacion
(ejemplo, seleccione la opcion 'Minimum Limit + Home X' cuando configure el puerto en Stepconf).
Si la maquina no tiene interruptores de ningun tipo, o si los interruptores 
no pueden ser utilizados como interruptores de inizializacion por cualquier otra razon,
entonces la maquina devera ser inicializada a mano, o utilizando marcas en la bancada.
la inicializacion a mano no es tan confiable como la inicializacion con interruptores,
pero permite seguir utilizando los limites suabes.

=== Opciones de cableado de los interruptores de inicializacion y limite[[sub:Home-and-Limit]]
(((Home and Limit Switch wiring options)))

El cableado ideal deve de incluir un interruptor por señal.
Sin embargo, el puerto paralelo del computador solo ofrece un total de 5 entradas,
mientras que se necesitan 9 en una maquina de 3 ejes.
Por lo tanto, Varios interruptores pueden ser cableados en conjunto
en diversas formas para permitir utilizar menos entradas.

La siguiente figura muestra la idea general de cablear varios interruptores
a una unica entrada.
En el caso ilustrado, cuando un interruptor es precionado,
El valor mandado atraves de la entrada va de un valor logico ALTO a BAJO.
Sin embargo LinuxCNC espera un valor logico ALTO cuando un interruptor es precionado,
Por lo tanto se devera seleccionar la opcion de invercion 'Invert' cuando se configure la entrada 
del puerto paralelo en el Stepconf.

La resistencia de polarizacion mostrada en el diagrama fija la señal de entrada a ALTO
Amenos que una conexion a tierra sea realizada, en tal caso la señal ira a BAJO.
Sin la resistencia la entrada quedaria flotando y la entrada podria variar entre ALTO y BAJO
cuando el circuito este abierto.
Un balor tipoco de resistencia de polarizacion es de 47K.

.Interruptores normalmente cerrados[[cap:Normally-Closed-Switches]]

Cableado de Interruptores Normalmente Cerrados en serie (diagrama simplificado)

image::images/switch-nc-series.png[]

.Interruptores normalmente abiertos[[cap:Normally-Open-Switches]]

Cableado de interruptores normalmente abiertos en paralelo (diagrama simplificado)

image::images/switch-no-parallel.png[]

Las siguientes configuraciones de interruptores estan permitidas en Stepconf:

* Interruptores de inizializacion combinados para todos los ejes
* Interruptores de limite combinados para todos los ejes
* Combinar ambos interruptores de limite para un eje
* Combinar ambos interruptores de limite y el interruptor de inizializacion para un eje
* Combinar un interruptor de limite y el interruptor de inicializacion de un eje

// vim: set syntax=asciidoc: