Olá, boa tarde!

Estou usando um Arduino Mega + ramps 1.4 (controladora dos meus 3 motores de passo - x, y, z)

Existe meio que uma "fila de espera" em que um comando só é executado após o término do seu antecessor... Por exemplo: não consigo mexer um eixo "y" durante a execução de um comando para o eixo "x"... 

Preciso que durante a execução de algum comando para x, y ou z eu consiga enviar outro comando e ele seja executado mesmo que o primeiro comando ainda nao tenha terminado... Controlando os eixos independentemente

Exibições: 2569

Responder esta

Respostas a este tópico

Oi FGAGS, boa tarde.

Isto que voce está querendo, chama-se interpolação.

O GCode tem código interpolados.

     Código G01(interpolação linear) 

        No Gcode:

               G01 X3000 Y2000 Z1000
  

       Na máquina o que ocorre:

                Movimento è    X3000 Y2000 Z1000  Tudo simiultaneamente.

O soft de gerenciamento da CNC (Mach3, GRBL, etc) é que tem que cuidar de executar esta interpolação.

Rui

Entao Rui, esse é problema! Se eu mandar "G01 X3000 Y2000 Z1000" e quiser movimentar algum eixo durante esse movimento eu nao consigo... Tenho que esperar ele finalizar pra começar outro... Preciso enviar um comando seguido do outro e obter a resposta instantaneamente 

FGAGS, não entendi.

Se a CNC já está executando um comando que movimenta os 3 eixos,

o que mais vai você querer fazer?

Explique melhor sua necessidade.

Rui

Rui, bom dia...
Nessa execução que voce diz se em algum momento a chapa tiver uma deformação ou se deformar por causa do calor preciso manualmente subir o eixo z entente? Mesmo que exista um comando sendo executado eu preciso conseguir mexer um eixo (no caso o z) sem ter que esperar todo o processo acabar

Simples,use uma interrupção no arduino mega.

Oi FGAGS, boa tarde.

Se você está usando um soft de gerenciamento da CNC que usa o GCode, deverá saber que

ao inciar os trabalhos você dever referenciar os 3 eixos no home.

A partir deste referencial é que todo o GCode funciona, ou seja ele não é incremental.

Se por exemplo envia o comando: G01 X3000 Y2000 Z1000, ele vai para a posição

 3000 a partir do home X, posição 2000 a partir do home Y e posição 1000 do home Z.

Então, se durante o processo, modificar manualmente o eixo Z, na próxima linha de code

ele posicionará o eixo Z em relação ao home Z, e não em relação à ultima posição que 

você colocou o eixo Z.

Portanto, o que você quer fazer não resolve seu problema de placa abauladas.

Apesar de no mach3, Isto que você quer fazer ser possível sim, usando a tela Jogging. 

http://cnc4pc.com/images/JOG_WINDOW.jpg, também não resolve seu problema.

Uma saída, seria antes de gerar o GCode, mapear sua placa, e depois concatenar os dois

GCodes gerados.  (Trabalho bem complexo)

Rui

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço