(2) Defini que o eixo X possui um curso de 100mm
no programa ele anda 20mm ... por acaso os 100mm é a soma das idas e voltas durante o bobinamento?
100 mm é o curso máximo admissível do guia que escolhi, no caso, o curso é de apenas 20mm, mas poderia ser 30, 40, 50, ... 100mm. Depende da largura da bobina (=largura interna do carretel).
(3) Defini que o eixo A possui um curso de 0 a 1 (1 volta a cada 400 passos do motor)
não entendi nada !!!
O eixo A é angular, ou seja, a cada volta do eixo A (360 graus), a escala relativa de A vai de 0 ate 1, ou seja, 0,25 = 45 Graus, 0,5 = 180 Graus, 0,75 = 270 Graus e 1 = 360 Graus. Assim, a cada volta, a contagem do eixo A aumenta em 1 unidade (uma espira), ou seja, A é um contador de espiras (voltas).
(4) Fiz o seguinte programa:
( Código gerado a mão )
( Por: Gil Pinheiro - minilathe )
( Bobina com: )
( N=1000 espiras, largura 20 mm, 100 espiras por camada )
( espiras unidas, bitola do fio = 20/100 = 0,2 mm )
.
.
Dá para colocar uma instrução de loop, pra não ficar repetindo linhas.
colocar um loop é sempre interessante, mas onde é possível enxergar em que passo ou em que pé está o loop?
Ao invés de usar a sequência:
G01 X20 A100
G01 X0 A200
G01 X20 A300
G01 X0 A400
G01 X20 A500
G01 X0 A600
G01 X20 A700
G01 X0 A800
G01 X20 A900
G01 X0 A1000
A idéia é não ficar repetindo as linhas para fazer o guia ir de um lado para o outro. Foi utilizada uma linha de programa por camada. Para tentar "simplificar", eu poderia fazer um programa paramétrico, usando:
(=======================================================)
( Parâmetros do programa )
#1000 = 1000 ( total de espiras )
#1001 = 20.0 ( largura do carretel, mm )
#1002 = 0.200 ( bitola do fio, mm )
#1003 = 0.0000 ( posição inicial X, mm )
#1004 = 200 ( velocidade de avanço )
(=======================================================)
( Variáveis internas do programa )
#1010 = [#1001 / #1002] ( espiras por camada )
#1011 = [#1000 / #1010 ] ( camadas )
#1012 = [#1003 + #1001 ]
#1013 = 0
(=======================================================)
G00 X#1003 Y0 Z0 A0
F#1004
O100 while[#1013 lt #1000]
G01 X#1012 A#1013
#1013 = [#1013 + #1010]
G01 X0 A#1013
#1013 = [#1013 + #1010]
O100 endwhile
M30
Evidentemente, que para uma sequência pequena como esta, usando o "while" consome-se a mesma, ou maior, quantidade de linhas de programa. Ou seja, ficou mais complexo!! Valeria a pena se fossem 10.000 espiras, 100 camadas de 100 espiras cada, ou 100 linhas na primeira versão do programa. Ok??