Guia CNC Brasil - Tudo sobre CNC, Router, Laser, Torno e 3D Print

SOFTWARES => G-Code => Tópico iniciado por: luiz sousa em 19 de Junho de 2017, 10:29

Título: Leitura da função ''probe'' na rotina
Enviado por: luiz sousa em 19 de Junho de 2017, 10:29
Bom dia a todos,
Estou finalizando uma cnc p solda estanho e estou tendo dificuldades no posicionamento em função dos terminais a serem soldados terem um diferença minima de um p outro , gostaria de usar uma ponta de prova na ponta do ferro , p q atue no momento do encosto com  o terminal, faria a maquina chegar num ponto pre determinado e voltar uns 3mm ate encostar no terminal sanando assim o erro, seguinte dúvida:Como inserir na programação o parametro de ''probe''
para q se faça a leitura dessa função rodando no programa( Chega no ponto , retrae uns 3mm até encostar no terminal, acionando o ''probe'' e repete-se a rotina p os proximos teminais?
Muito obrigado
Título: Re:Leitura da função ''probe'' na rotina
Enviado por: F.Gilii em 19 de Junho de 2017, 11:14
Creio que deva ser algo parecido com o que se usa nas maquinas de plasma, onde cada vez que vai iniciar uma sequencia de corte, o comando manda procurar a chapa para conhecer a altura.

Normalmente antes de cada corte há um comando M3 (ligar spindle) que no seu caso pode ser alterado e usado para fazer a procura do material...

Envie um arquivo em código G que você usa e uma descrição da rotina que precisa para a gente ter uma noção de onde começar.
Título: Re:Leitura da função ''probe'' na rotina
Enviado por: luiz sousa em 19 de Junho de 2017, 12:34
Bom dia Sr Gilii, Bom dia a todos..
Segue a rotina q uso p cada terminal;
G00X10Y50Z20 ==>posiciona a ponta do ferro no teminal
G0 Z-1,2==> baixa o ferro no teminal (o fato de ser negativo é por q existe um amortecimento da ponta do ferro)
G04 P8==> tempo p aquecimento (segundos)
G04 A2,8==>disparo do estanho na zona quente do terminal (mm)
G0 Z10==>subida do eixo ''Z''
 e repete-se a rotina p os demais terminais( são 36 ao total) aí q vem a questão do ''encaixe'' do comande ''probe''  nessa rotina (ver se é viavel) , pois na primeira linha (G00X10Y50Z20) queria colocar na sequencia esse comando p ex(G00X7Y50Z-1,2)
onde a ponta do ferro recuaria 3mm até tocar no terminal p ''matar'' a folga q existe entre os terminais , acionando-se assim o ''probe'' e parando o ,mesmo  e seguindo a rotina ,ficaria assim ;
G00X10Y50Z20 ==>posiciona a ponta do ferro no teminal
G0 Z-1,2==> baixa o ferro no teminal (o fato de ser negativo é por q existe um amortecimento da ponta do ferro)
(G00 X7 Y50Z-1,2) ==>Ferro recuando3mm p ''matar'' o gap do teminal
(Comado ''probe'' acionado) ==>para-se o ferro quando encosta no terminal
...segue rotina...
G04 P8==> tempo p aquecimento
G04 A1,8==>disparo do estanho na zona quente do terminal
G0 Z10==>subida do eixo ''Z''
...loop da rotina...
Seria mais ou menos essa a idéia q tive ou se é possivel algo parecido, agradeço a ajuda de todos, principalmente do Sr
Gillii ! :)

 
Título: Re:Leitura da função ''probe'' na rotina
Enviado por: F.Gilii em 19 de Junho de 2017, 16:13
Luiz, por gentileza, confirme se está de fato usando este comando grafado dessa forma - G04 A2.8

Pergunto porque o comando G04 está requisitando uma pausa que será expressa pela palavra "P" logo após - por exemplo na sua linha de cima: G04 P8 - pausa de 8 segundos para o aquecimento...

de qualquer forma, na rotina de probe se espera que:
- exista algum meio de "ler" a altura através de um pino de entrada que será ativado seja por um sensor indutivo, capacitivo, de contato físico etc
- que para cada inicio de rotina (de posição) exista um comando que dispara a rotina,
- após a leitura, o resto do trabalho continue até o próximo ponto a ser lido, então a rotina se repete...

a rotina de leitura de probe é uma chamada M31 - normalmente seguida por um comando de deslocamento de algum eixo - por exemplo, M31 Z-10 F300, onde no exemplo imagino que o Z estará "acima" da cota indicada (daí o pedido para descer -10) e de uma velocidade de descida representada pelo F300...

Mas não é só isso - é preciso uma lógica toda onde deve existir a rotina de baixar a ponta, tocar, subir para que o resto dos códigos sejam executados.

Um exemplo (para maquina de plasma) seria mais ou menos assim (código G):
Código: [Selecionar]
...
G00 Z10.0000
X50.0000 Y-0.7500
Z3.0000
M03
G04 P0.5
G01 Z1.5000 F100.0
G03 X50.0000 Y-0.7500 I-0.0000 J50.7500 F2000.0
M05
G00 Z10.0000
...

Note que antes de cada movimento há um comando M3 - M3 para o Mach3 permite que eu acione por exemplo um relé para ligar alguma coisa (um spindle) ou uma máquina de plasma, mas a coisa acontece dentro da macro M3 - veja a seguir:

Código: [Selecionar]
Option Explicit
Dim PIERCE, ALTSENSOR, PAUSE
PIERCE = GetOEMDRO( 1112 )
ALTSENSOR = getUserDRO (1111)
PAUSE = GetOEMDRO( 1110 )

CODE "G92 Z0"
CODE "G31 Z-100 F250"
While ISMOVING()
Wend

CODE "G92 Z0"
While ISMOVING()
Wend

CODE "G0 Z" & PIERCE
While ISMOVING()
Wend

resetthc()
DoSpinCW()
Code"G4P" & PAUSE
CODE "G0Z" & ALTSENSOR

Esta macro lê alguns valores presentes em alguns digitais na tela, e prepara toda movimentação do eixo Z para ler a altura do material e se posicionar corretamente - quando termina a rotina volta a ler o arquivo de código G acima...

Apenas para exemplificar como seu arquivo ficaria:
Código: [Selecionar]
...
G00X10Y50Z20 ==>posiciona a ponta do ferro no teminal
[color=red]M3[/color]
G04 P8==> tempo p aquecimento (segundos)
G0[color=red]1[/color] A2,8==>disparo do estanho na zona quente do terminal (mm)
G0 Z10==>subida do eixo ''Z''
...
próxima coordenada, etc
[color=red]M3[/color]
G04 P8==> tempo p aquecimento (segundos)
G0[color=red]1[/color] A2,8==>disparo do estanho na zona quente do terminal (mm)
G0 Z10==>subida do eixo ''Z''
...

e assim por diante

E dentro da macro M3 os comandos de probe...
Título: Re:Leitura da função ''probe'' na rotina
Enviado por: luiz sousa em 21 de Junho de 2017, 07:48
Bom dia a todos,
Ok, mas aonde seria feita a edição da leitura macro? No caso poderia exempilficar uma rotina qualquer somente p eu saber como aplicar no meu caso?
Muito grato!
Título: Re:Leitura da função ''probe'' na rotina
Enviado por: F.Gilii em 21 de Junho de 2017, 11:56
No Mach3, menu "Operator > VB Script Editor" - é um executável que vc pode editar qualquer macro no Mach3.

Abra a macro M3, edite, salve e teste - também precisará editar seus arquivos para colocar um comando M3 antes do ponto de solda, e provavelmente um comando M5 no final de cada ponto de solda - o comando M5 desliga o que o M3 ligou...

Título: Re:Leitura da função ''probe'' na rotina
Enviado por: luiz sousa em 22 de Junho de 2017, 13:37
Boa tarde a todos,
Só uma dúvida , Será q esse processo poderia ser simplificado com um sensor na ponta do ferro?(final de curso por ex) Já q o intuito é achar o obstaculo( terminal ) parar , e seguir a rotina...Q acha?é possivel?
Grato
Título: Re:Leitura da função ''probe'' na rotina
Enviado por: F.Gilii em 22 de Junho de 2017, 15:00
Creio que pode ser um sensor tipo um contato sêco montado numa mesa flutuante... a macro de probe faz o Z descer, o ferro toca no material e faz a mesa se deslocar até sinalizar o Mach3 através do contato, e assim por diante
Título: Re:Leitura da função ''probe'' na rotina
Enviado por: luiz sousa em 23 de Junho de 2017, 07:19
Bom dia a todos,
Ok, mas como faria depois do toque do sensor no terminal p seguir a rotina?
G00X10Y50Z20 ==>posiciona a ponta do ferro no teminal
G0 Z-1,2==> baixa o ferro no teminal (o fato de ser negativo é por q existe um amortecimento da ponta do ferro)
(encosto do ferro no terminal;G00X7Y50Z0)====>Como seguir a rotina?

G04 P8==> tempo p aquecimento (segundos)
G04 A2,8==>disparo do estanho na zona quente do terminal (mm)
G0 Z10==>subida do eixo ''Z''
 
Grato