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
Tags:
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
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por