Guia CNC Brasil - Tudo sobre CNC, Router, Laser, Torno e 3D Print
SOFTWARES => Controle => Mach 2/3 => Tópico iniciado por: matrix em 12 de Outubro de 2013, 13:55
-
Olá Pessoal, preciso de ajuda, tenho que adicionar uma função no mach3 que permita ligar ou desligar uma saida enquanto
o Gcode está a correr.
Sei que posso usar uma macro (M), o que aconteçe é que quando a macro é executada ela tem um ligeiro time de atrazo,
isso faz que com os eixo estejam parados um pouquinho de tempo, o sufuciente para danificar o trabalho.
Então seria algo deste genero:
X0 Y0
X20 Y20 M100 ( este M100 seria a macro para activar ou desactivar a saida) mas o mach3 não aceita isto.
X100 Y100
O que ele aceita é isto
X0 Y0
X20 Y20
M100
X100 Y100
Esta ultima provoca o atraso que tal como falei danifica o trabalho.
Alguem tem ideias?
-
o que voce precisa exatamente?
-
Obrigado Fabio
Mas vou explicar melhor qual é a função, esta aplicação tem apenas dois eixos XY, o eixo Z não é controlado, ele
tem um cilindro pneumatico que, ou está em cima ou está em baixo, é usado para fazer polimento em superficies, neste caso granito, utilizando varios abrasivos desde o mais grosso até o mais fino.
Quando dou start tenho uma macro que activa a saida do cilindro( para baixo), o mesmo aconteçe quando acaba o Gcode, tenho uma macro que desactiva a saida (para cima).
O problema é quando acaba, existe um time para executar a macro, neste time a maquina está parada um pouquinho, o suficiente para deixar uma ligeira marca.
Eu tenho que desactivar a saida com a maquina ainda em andamento.
-
O que acha de usar o sinal de direção do eixo Z para controle do cilindro?
Assim ele é executado durante os movimentos, e creio que funcione bem.
Outra possibilidade seria de usar as macros M10P1 / M11P1 no lugar de M100 (e a outra macro para desativar o sinal) - em alguns casos se usa E1P1 e E1P0 que tem velocidade de resposta muito mais alta - estes comandos atuam sobre a saida #1
-
Obrigado Fabio,
Usar o eixo Z foi a minha primeira ideia, mas eu estou a usar uma interface para servoMotor, e não é possivel ter um eixo virtual
como no step, tenho encoder de feedback e ou tenho eixo ou não tenho.
Eu penso que encontrei uma forma de fazer isto, usando a função tool offset e usar o led para activar ou desactivar a saida,
e assim é só colucar G43/G40 no codigo.
Mas posso explorar mais um pouco dessa sua ideia, pode explicar melhor qual é a função do M10/M11? e apenas tem a saida 1 disponivel?