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

SOFTWARES => G-Code => Tópico iniciado por: fcamargo em 08 de Agosto de 2011, 17:25

Título: gerar um circulo usando código G
Enviado por: fcamargo em 08 de Agosto de 2011, 17:25
parece Ridiculo..

mas usando o G2 ou G3. para eu desenhar um circulo (360 graus), como fazer o código?

já fiza varios desenhos na (unha) mas sempre em G1 (traços e cortes mais simples)

quero entender o código para gerar um criculo com diametro ou raio a definir.

Título: Re:gerar um circulo usando código G
Enviado por: Jorge_BH em 08 de Agosto de 2011, 22:17
Eu não sei fazer um círculo (360°) com um só comando, assim como se faz o arco... Eu sei fazendo o primeiro arco com 180° e logo em seguida o segundo arco com os outros 180°. Se servir, tá aí:

G00 X0 Y50                  (ponto inicial do círculo)
G01 Z-3                       (profundidade da ferramenta)
G02 X0 Y-50 I0 J-50     (ponto final do primeiro semi-círculo)
G02 X0 Y50 I0 J50       (ponto final do segundo semi-círculo)

Vai ser feito um círculo completo (360°) com o centro em 0, 50 e com o diâmetro de 100.

Abraço.
Jorge
Título: Re:gerar um circulo usando código G
Enviado por: badade em 15 de Agosto de 2011, 19:06
Para gerar um círculo completo usa-se a seguinte notação:   G02/G03   I/J
O valor de I ou J é o raio, o sinal de I ou J indica a localização do centro em referência à posição atual.
I positivo o centro está à direita , J positiva o centro está no topo,  de acordo com os eixos cartesianos.
G02 I-30,  cria um círculo de raio 30 com centro que fica à esquerda a partir da posição atual.
isto é!
Título: Re:gerar um circulo usando código G
Enviado por: Jorge_BH em 16 de Agosto de 2011, 07:00
Muito bom, badade, testei e funcionou beleza.
Abraço.
Jorge
Título: Re:gerar um circulo usando código G
Enviado por: Jorge_BH em 16 de Agosto de 2011, 10:09
Ué, fui tentar com G03 e não funcionou. Só com G02...
Título: Re:gerar um circulo usando código G
Enviado por: badade em 16 de Agosto de 2011, 14:48
O que significa que só funciona com o G02? Mostre-me um programa de exemplo e vamos descobrir o problema.
 Você talvez esta usando funções de compensação G41 ou G42?
Estou lhe enviando uma nota relativas a esses movimentos.
Título: Re:gerar um circulo usando código G
Enviado por: Jorge_BH em 18 de Agosto de 2011, 08:39
Esse G-Code funcionou, ou seja, foram feitos 4 círculos completos em posições equidistantes:

t22
G1 Z5
G0 X100 Y100
G1 Z-3 F200
G02 I30
G02 I-30
G02 J30
G02 J-30


O G_Code abaixo não funcionou. Ao invés de fazer os círculos, faz-se uma linha reta sem fim. Não foi feito nehum dos 4 círculos.
Há de se observar que o teste foi feito no cncsimulator. Ainda não testei com outro software.

t22
G1 Z5
G0 X100 Y100
G1 Z-3 F200
G03 I30
G03 I-30
G03 J30
G03 J-30

Abraço.
Jorge
Título: Re:gerar um circulo usando código G
Enviado por: Sauleira em 18 de Agosto de 2011, 09:01
G2 G3

você quer fazer um circulo interno de diametro 100mm e você tem uma fresa de 20mm
100-20=80

Pega esse 80 e divida por 2
40

N10 G0 G54 X0 Y0
X-40 (DESLOCA O VALOR ACHADO)
G2/G3 X-40 Y0 I40 J0
G0 X0 Y0
Z100
M30

Circulo 360 graus gerará esse programa. Se vossa senhoria quiser mais informações
de como fazer outros circulos lhe passo um manual.

espero ter ajudado...
Título: Re:gerar um circulo usando código G
Enviado por: F.Gilii em 18 de Agosto de 2011, 09:02
Na verdade os comandos acima postados pelo Jorge fazem 3  círculos, com o ponto inicial nas coordenadas x100 y100 conforme a imagem abaixo:

(http://www.guiacnc.com.br/w2box/data/Fabio%20Gilii/g02.png)
Título: Re:gerar um circulo usando código G
Enviado por: Jorge_BH em 18 de Agosto de 2011, 09:12
Oi, Gilii.
No cncsimulator foram feitos 4 círculos. Mas só com o G02...

Editando: troquei a figura por outra .jpg pra ficar menor...
Título: Re:gerar um circulo usando código G
Enviado por: Jorge_BH em 18 de Agosto de 2011, 09:21
E agora com o G03... nada.
Título: Re:gerar um circulo usando código G
Enviado por: F.Gilii em 18 de Agosto de 2011, 09:22
Jorge,

Me desculpe - realmente o erro foi meu - na hora de copiar/colar, não capturei a última linha que faz o último círculo...

Mea culpa...
Título: Re:gerar um circulo usando código G
Enviado por: F.Gilii em 18 de Agosto de 2011, 09:25
Aqui funcionou com G02 ou G03, mas as simulações foram feitas no Mach3
Título: Re:gerar um circulo usando código G
Enviado por: Jorge_BH em 18 de Agosto de 2011, 10:24
Eu pensei, mesmo, que poderia ser um bug no cncsimulator. À noite vou tentar no EMC2.
Abraço.
Jorge
Título: Re:gerar um circulo usando código G
Enviado por: badade em 18 de Agosto de 2011, 18:56
cncsimulador parece não aceitar a notação G03 I.
Se escrevermos (que é o mesmo) G91 G03 X0 Y0 I-30 J0 o círculo é feito (pode experimentar).
Não é um problema insignificante porque cncsimulador não tem problemas com G02 I (porque só G03?).
Pessoalmente eu não uso programas de simulação, mas também experimentei cnc simulador;
não posso dizer com certeza que este é um bug (o G02 e G03 são códigos fundamentais e parece-me um pouco estranho),
mas posso dizer que estamos na presença de uma incongruência.
Para nós, a sintaxe de programação ISO está correta, G02 ou G03 como escrito no seu programa estão escritos exatamente,
 mas por alguma razão cnc simulador aceita apenas a notação  G91 G03 X0 Y0 I J0   ou G91 G03 X0 Y0 I0 J.
A melhor coisa é sempre utilizar uma cnc real,  não tendo oportunidade, devemos ser muito cautelosos em nossas demonstrações
e experimentar com diferentes programas de simulação.
Eu escrevi sempre G03 I/J para fazer un círculo completo e vou continuar assim pois é a sintaxe correta:
é claro, os interessados ​​deverão adquirir todas as informações sobre este bug hipotético.
Título: Re:gerar um circulo usando código G
Enviado por: Jorge_BH em 18 de Agosto de 2011, 20:37
No EMC2 funcionou normal. A encrenca é só no cncsimulator...
Título: fanzendo um cone
Enviado por: wandercnc1 em 02 de Outubro de 2011, 20:28
Boa Noite pessoal sou novo por aqui,
Meu Nome é Wander e gostaria de uma ajuda de vocês.

Trabalho com uma pantografica para isopor daquelas de 4 metros e não cosigo fazer cones nela pois os eixos abc não aceitam o comando g02 o que devo fazer? valeu muito obrigado.
Título: Re:gerar um circulo usando código G
Enviado por: F.Gilii em 03 de Outubro de 2011, 08:14
Se não aceita interpolação circular, faça por interpolação linear...
Título: Re:fanzendo um cone
Enviado por: Jorge_BH em 03 de Outubro de 2011, 09:32
...pantografica para isopor daquelas de 4 metros e não cosigo fazer cones nela pois os eixos abc não aceitam o comando g02 ...
Não entendi direito.
- Pantográfica não seria uma máquina para cópias de modelos?
- Como ela corta o isopor? Se for por fio quente acho difícl fazer um cone com 3 eixos.

Você poderia especificar mais a máquina, como funciona, fotos, etc...
Abraço.
Jorge
Título: Re:fanzendo um cone
Enviado por: marc0 em 03 de Outubro de 2011, 10:36
Não entendi direito.

Realmente deixa muitas dúvidas, seria mais fácil opinar sem muitos chutes com mais dados sobre a máquina e sobre a operação desejada.

Qual é a configuração/modelo da máquina?
Qual é o sistema/software de controle?

Fotos são bem vindas...

Abçs...


Título: Re:gerar um circulo usando código G
Enviado por: cliffburton em 03 de Outubro de 2011, 19:26
Fazer um círculo no fanuck o código é
Com compensação do raio da ferramenta a esquerda usando o g41 fica
sentido do corte concordante com o material usa o ge 03 sentido anti-horário do giro do eixo da máquina ou ferramenta
Partido do x0 y0 fica uma circunferência de 100 mm fica
G41 x50
G03 x50 y0 i-50 j0 fará uma circunferencia de 100mm cujo centro da circunferencia está no x0 y0 sendo que o sentido de corte da ferramenta estará concordante com o material, se quiser discordante é só usar o G41 e usar o G02 para se usinar o interno do material alargar um furo usando uma fresa.

Agora se quiser usar o G42 com sentido de corte da ferramenta concordante com o material fica
G42 x50
G02 x50 y0 i-50 j0 fará o mesmo movimento com sentido horário porém se notar-mos a compensação do raio da ferramenta ficou a direita, isto é, para fazer um circulo usinando o externo do material com sentido de corte concordante, espero que não compliquei!!!!
Título: Re:gerar um circulo usando código G
Enviado por: cliffburton em 03 de Outubro de 2011, 19:40
Agora se quiser interpolar um circulo junto com o eixo z "fresa" fica o exemplo

...
G0 x-10 y-10 z10  "distancio a ferramenta da peça para pode compensar com o g41"
G01 G41 x0 y0 F1000 "faço o movimento para compensar o raio da ferramenta"
G52 x50 y0 "marco um novo ponto zero da peça""ponto zero temporário"" na extremidade da circunferência"
M98P100002 "chamo o subprograma onde está escrito a interpolação circular"
Z10
G52 x-50 y0 "volto para o ponto de horigem da peça"


Sub programa
G91 z-0,5 F500
G90
G03 X0 Y0 I-50 J0
M99
Esse subprograma fará a circunferência com o movimento em z ao mesmo tempo, para a ferramenta descer até onde desejá é só mandar repetir o subprograma quantas vezes necessário, é só calcular a profundidade dividido pelo passe que nesse caso é de 0,5 em Z

Esero que tenha entendido!!
Título: Re:gerar um circulo usando código G
Enviado por: cralx2k em 24 de Março de 2013, 18:46
E agora com o G03... nada.

Jorge_BH, qual a versao desse seu cncsimulator.com?
Título: Re:gerar um circulo usando código G
Enviado por: Jorge_BH em 24 de Março de 2013, 19:31
Não me lembro que versão era, e há muito tempo não uso esse simulador...
Título: Re:gerar um circulo usando código G
Enviado por: cralx2k em 25 de Março de 2013, 02:19
Valeu, estou usando a ultima versao do cncsimulator mas sempre vejo na net esse formato que vc usou.
Título: Re:gerar um circulo usando código G
Enviado por: ojsvargas em 21 de Setembro de 2013, 19:38
Aproveitando o tópico à respeito de CÍRCULOS,  gostaria da opinião dos amigos mais espertos.  Realizei um círculo de 600mm de diâmetro  e ao conferir as medidas no alinhamento  Y e no alinhamento X as medidas estão PERFEITAS, ou seja com 600mm de diâmetro.  Ao realizar a conferência a mais ou menos 45 graus das linhas imaginárias X e Y a medida possui 604mm, ou seja  está um pouco "oval" .
Re-calibrei TODOS os eixos, mas continua oval...  Faço os arquivos no DolphinCAD, módulos Partmastercam. (http://www.cncgladiador.com/partmastercam/ (http://www.cncgladiador.com/partmastercam/) )   Detalhes:  O eixo X é com fuso de esferas e o Y com Cremalheira.
Alguém tem alguma sugestão ???? 

Título: Re:gerar um circulo usando código G
Enviado por: minilathe em 22 de Setembro de 2013, 09:44
O problema poderia ser no código G gerado ou na sua CNC, como o código G anexado me parece correto para um "circulo perfeito", concluo pela 2ª opção.

Sendo na CNC, e pelo seu relato, nos pontos do círculo onde ocorre movimentação da CNC predominante nos eixos x e y, ou seja nas direções +x, -x, +y, e -y o diâmetro correto foi obtido. O erro (provavelmente máximo) no diâmetro ocorre nos pontos onde o movimento composto x e y é máximo, ou seja, a 45º em relação às direções x ou y. Nesses pontos, os movimentos dos eixos estão sendo de certo modo "comparados", me parece que um é melhor que o outro ou então ambos tem alguma deficiência mínima e um deles é um pouco pior. Nessas diagonais (45º), o erro é de 4mm em 600mm, ou seja: 0,67%. Nas direções do x e y o erro é "zero".

Eu acho que podem ser algumas coisas, por exemplo, folga na movimentação ou então falta de rigidez (flexibilidade) na estrutura associada a atrito na movimentação em ambos ou num dos eixos x e y poderiam ocasionar esse tipo de erro. Ou seja, uma folga "demasiada" num dos eixos poderia gerar o erro.

Já tentou realizar o mesmo trabalho em velocidade menor? (menores velocidades => menores acelerações e esforços => menores deformações).

Prenda uma caneta ao eixo z, efetue a mesma movimentação, meça o círculo desenhado e informe os resultados.
Qual o tipo de guia está sendo usado nos eixos?
Poderia postar fotos da máquina?
Título: Re:gerar um circulo usando código G
Enviado por: ojsvargas em 22 de Setembro de 2013, 18:25
Olá amigo. Muito obrigado por seus comentários. A máquina possui guias lineares  em todos os eixos. Ela pode ser vista neste link:
http://www.cncgladiador.com/gladiador-master/ (http://www.cncgladiador.com/gladiador-master/)   .  Já havia pensado exatamente nisso que você comentou, então usei uma caneta esferográfica azul para traçar os círculos. O resultado era o mesmo.  Achei que o eixo Y, por ser com cremalheira de dentes oblíquos, poderia dar esse erro de menos de 1%.  Então fiz um círculo menor na minha outra CNC com 3 eixos de fusos de esferas recirculantes e descobri que o erro também existe na outra máquina. Como o  erro era relativamente pequeno não havia percebido isso, mas agora resolvi "ZERAR" as folgas em qualquer sentido.  Então refiz a calibração dos eixos e medi a distância de movimentos com um trena de precisão calibrada e descobri que na medição os valores eram EXATOS, ou seja, ao pedir para a CNC caminhar 1500 mm para calibração, ela andou EXATOS 1500 mm, mas ao se fabricar uma peça "lendo" o código G ela errava 0,6% só no eixo Y.  Então optei por fazer uma "gambiarra" (no meu conceito atual) , onde ela configurou os pulsos do motor Y  em 5.00954054  ALTEREI para 5.082  e assim o desenho ficou exato em relação à peça produzida. (Por tentativa e erro tive de produzir 6 peças ). A pergunta é com que precisão se pode criar uma mesa redonda de 600 mm de diâmetro usando o Mach3 ??????   Abraços..
Título: Re:gerar um circulo usando código G
Enviado por: F.Gilii em 25 de Setembro de 2013, 08:55
Se posso dar uma opinião, a resolução por passo da máquina deve ser melhor (e menor) que a tolerancia desejada da peça.

Se a tolerancia de desenho ou da forma da peça é de digamos 0,05mm (5 centésimos) a máquina deve ter uma resolução menor que isso - por exemplo 0,01 ou 0,025mm...

Veja - isso é por onde eu começaria, mas há ainda outros aspectos a rever como rigidez de movimentos, repetibilidade, acuidade de posição etc...
Título: Re:gerar um circulo usando código G
Enviado por: ojsvargas em 28 de Setembro de 2013, 15:10
Se posso dar uma opinião, a resolução por passo da máquina deve ser melhor (e menor) que a tolerancia desejada da peça.

Se a tolerancia de desenho ou da forma da peça é de digamos 0,05mm (5 centésimos) a máquina deve ter uma resolução menor que isso - por exemplo 0,01 ou 0,025mm...

Veja - isso é por onde eu começaria, mas há ainda outros aspectos a rever como rigidez de movimentos, repetibilidade, acuidade de posição etc...

Olá Sr. Fabio, obrigado pelo comentário.
Não entendi oque quis dizer com resolução da máquina ??? 
Não acho que rigidez seja o problema pois a máquina pesa quase meia tonelada... e usar uma caneta esferográfica produz forças bem pequenas...  Hoje fiz uma calibração usando um relógio comparador, precisão de 0,01mm . melhorou um pouco, mas o círculo ainda não está perfeito....  O Driver de passo permite um ajuste de até 25 mil micropassos, ajustei para um micropasso de 400 recalibrando a máquina, melhorou um pouquinho, mas ainda tem 0,2 mm de variação em 60mm de diâmetro... é muito !!!!
Algumas sugestões ???
Título: Re:gerar um circulo usando código G
Enviado por: minilathe em 28 de Setembro de 2013, 16:02
Se posso dar uma opinião, a resolução por passo da máquina deve ser melhor (e menor) que a tolerancia desejada da peça.

Se a tolerancia de desenho ou da forma da peça é de digamos 0,05mm (5 centésimos) a máquina deve ter uma resolução menor que isso - por exemplo 0,01 ou 0,025mm...

Veja - isso é por onde eu começaria, mas há ainda outros aspectos a rever como rigidez de movimentos, repetibilidade, acuidade de posição etc...

Olá Sr. Fabio, obrigado pelo comentário.
Não entendi oque quis dizer com resolução da máquina ??? 
Não acho que rigidez seja o problema pois a máquina pesa quase meia tonelada... e usar uma caneta esferográfica produz forças bem pequenas...  Hoje fiz uma calibração usando um relógio comparador, precisão de 0,01mm . melhorou um pouco, mas o círculo ainda não está perfeito....  O Driver de passo permite um ajuste de até 25 mil micropassos, ajustei para um micropasso de 400 recalibrando a máquina, melhorou um pouquinho, mas ainda tem 0,2 mm de variação em 60mm de diâmetro... é muito !!!!
Algumas sugestões ???

Qual a menor movimentação que você consegue realizar em cada eixo? Ou seja, qual o passo do motor e a redução associada a cada eixo (considerando o fuso ou a cremalheira e o uso de meio passo, passo cheio ou micropasso)?
Título: Re:gerar um circulo usando código G
Enviado por: F.Gilii em 28 de Setembro de 2013, 16:19
Veja só, imaginando que sua máquina esteja usando um fuso de passo 5mm, e este é acionado em meio passo diretamente pelo motor, teremos uma resolução teorica de 0,0125mm por passo.

No mundo ideal, se não tivéssemos folgas de nenhuma espécie, poderemos afirmar que este seria o menor deslocamento do eixo "em linha reta" isto é, se eu pedir para o sistema se deslocar 1 centésimo apenas, das duas uma: ou a máquina se desloca 0,0125mm ou não se desloca, pois o mínimo é 0,0125, um pouco mais que 0,01...

se eu deslocar 2 eixos simultaneamente, farei um deslocamento angular de 45 graus e a resolução para este deslocamento será de 0,0176mm mais ou menos, então noto que se eu preciso de resolução na medida da peça de 0,01 mm, preciso melhorar muito a resolução da máquina.

Agora junte a isso folgas, rigidez do conjunto - e neste caso não me refiro à rigidez mecanica da máquina, mas dos movimentos - em outras palavras, tenho que ter a certeza que se eu mandar a máquina se mexer 0,01mm, ela deve ter movimentos concretos (e ter resolução) para se mover o que eu pedí...
Título: Re:gerar um circulo usando código G
Enviado por: ojsvargas em 04 de Outubro de 2013, 21:52
Os Drivers que utilizo permitem um ajuste de até 25000 MICROPASSOS, ou seja absurdamente pequeno.
Ajustava para uma relação direta, ou seja sem uso do micropasso, mas depois de alguns testes achei a resolução de 400uP bem mais interessante, os motores trabalham bem mais silenciosos e com movimentos mais suaves.
Criei um retângulo com 80mm x 300mm e o resultado foi bem aceitável para uma peça de MDF. (~80,01 x ~300,15 )
O "defeito" é mesmo nos círculos que não ficam perfeitamente redondos...
Ainda estudo uma solução...

 :-\