Autor Tópico: Intepolação Linear  (Lida 8339 vezes)

Description:

0 Membros e 1 Visitante estão vendo este tópico.

Offline alangustavo_

  • Fuso
  • **
  • Posts: 110
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Santa Fe do Sul - SP
  • Nome:: Alan Gustavo
  • Profissão: nao tenho
Intepolação Linear
« Online: 11 de Maio de 2012, 13:07 »
Estou montando um algoritimo para interpretar codigo G...
mas estou com um problema ex: G01 X50,0000 Y30,0000 =partindo de 0, para andar linearmente ele chegaria ate 49,9980 restando 0,0020 o que faço com esse valor restante, esse valor seria irrelevante, isso seria a precisao da maquina

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Re:Intepolação Linear
« Resposta #1 Online: 11 de Maio de 2012, 13:25 »
Alan,

Tenho e uso o Mach3 como programa de controle de máquinas, e baseado no que conheço dele te diria o seguinte:

O que interessa na realidade é a resolução por passo e mais do que isso a resolução "real" de deslocamento da máquina - isso dita a quantidade de casas decimais que importam ao operador ou para a medida da peça, então baseado nisso e na capacidade de construção mecanica de cada um, eu diria que podemos esperar uma resolução ou acuidade decimal ou até centesimal.

Posto isso, eu diria que o interpretador de movimentos deveria usar casas centesimais para os movimentos, mas o mais importante é entender que isso está ligado à resolução inserida durante o setup da máquina.

Então, se eu tenho um ajuste onde a quantidade de passos por milimetro (ou em outros casos deslocamento por passo) fracionados como quando se usa uma cremalheira ou polia dentada, a coisa pode ser significativa, e o software deve ser capaz de compensar as perdas por passo por exemplo.

Não sou a pessoa mais indicada a responder à isso, mas me parece que o pessoal usa algo baseado no algoritmo de Bresseham para fazer estas compensações.

Offline alangustavo_

  • Fuso
  • **
  • Posts: 110
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Santa Fe do Sul - SP
  • Nome:: Alan Gustavo
  • Profissão: nao tenho
Re:Intepolação Linear
« Resposta #2 Online: 12 de Maio de 2012, 17:36 »
Boa tarde  F.Gilii muito obrigado mesmo... com as suas dicas eu consegui montar essa parte do software, agora creio que esta proxima parte que vou começar G02 e G03 é mais dificil, pois vai juntar muitas variaveis, e ainda nao sou um craque em G02 e G03, se vc tiver alguma dica para me dar agradeço... muito obrigado!!

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderador
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re:Intepolação Linear
« Resposta #3 Online: 12 de Maio de 2012, 17:42 »
Estou montando um algoritimo para interpretar codigo G...
mas estou com um problema ex: G01 X50,0000 Y30,0000 =partindo de 0, para andar linearmente ele chegaria ate 49,9980 restando 0,0020 o que faço com esse valor restante, esse valor seria irrelevante, isso seria a precisao da maquina

Se um comando G é para ir de (Xa, Ya, Za) para (Xb, Yb, Zb), eu faria um programa que pudesse fazer exatamente esse deslocamento, se ficasse faltando ou sobrando alguma diferença, esse seria decorrente da resolução da máquina. Porém, esse erro não deve ser cumulativo, ou seja, se um movimento de um comando G foi "para mais" o próximo deve ser "para menos", compensando e diluindo o erro ao longo de todos os movimentos.

Offline alangustavo_

  • Fuso
  • **
  • Posts: 110
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Santa Fe do Sul - SP
  • Nome:: Alan Gustavo
  • Profissão: nao tenho
Re:Intepolação Linear
« Resposta #4 Online: 12 de Maio de 2012, 18:57 »
minilathe, ok obrigado eu consegui montar com os 3axis da para adicionar mais tambem... para fazer a interpolação linear... e nao da perda ja vai para o ponto certo, agora vo começar G02 e G03, se alguem ai tiver alguma dica para me ajudar a entender mais interpolação circular agradeço... sobre os raios IJK e o XYZ

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Re:Intepolação Linear
« Resposta #5 Online: 12 de Maio de 2012, 20:15 »
Os comandos G02 e G03 são comandos padronizados e descrevem movimentos circulares (ou helicoidais) interpolados e paralelos a um plano de trabalho (Os planos são descritos por G17 (eixo Z, plano XY), G18 (eixo Y, planoXZ) e G19 (eixo X, plano YZ))

G02 é usado para movimentos no sentido horário e G03 para sentido antihorário e normalmente a linha que descreve o movimento possui as coordenadas do final do circulo (ou arco) e as coordenadas do centro deste círculo, sendo que se pode descrever o centro ou pelo raio ou pelas coordenadas do centro.

Se optar pelo raio, a linha de comando precisa ser como o exemplo abaixo:
G17 G2 X10 Y15 R20 Z5

Esta linha descreve o plano de trabalho (G17), o sentido da interpolação (G02) as coordenadas finais (X e Y) o raio do circulo (R) e o movimento em Z (Z) para um helicoidal - se Z é suprimido, o movimento será uma interpolação circular.

Se optar por coordenadas de centro, a linha deve ser como no exemplo:
G17 G03 X10 Y16 I3 J4

As coordenadas do centro são descritas por I e J e no exemplo estão a 3 unidades de X (I3) e 4 unidades de Y (J4).

Note que estas são coordenadas "incrementais" - caso queira usar coordenadas absolutas, deverá levar em consideração a origem do desenho.


Offline Jorge_BH

  • CNCMASTER
  • ******
  • Posts: 2503
  • Sexo: Masculino
  • Jorge Maluf Jacob
  • Cidade - UF: Belo Horizonte-MG
  • Profissão: Administrador de Empresas
Re:Intepolação Linear
« Resposta #6 Online: 12 de Maio de 2012, 20:26 »
Oi, Alan.
Procure aqui no forum sobre Gcode que vc vai achar muita coisa. Também, procure no Google por "G02 Gcode" que há bastante matéria.

Anexo um desenho de arcos com G02 e G03. Nos dois comandos, o "I" seria a distância entre o eixo X e o centro do arco; e o "J" seria a distância entre o eixo Y e o centro do arco. No desenho mostrado abaixo pode-se verificar que, quando se inicia o comando G02 para se fazer o arco, o spindle (ou outro cabeçote qualquer) já está posicionado em X=100 e Y=0. Seria a primeira linha de comando marcada em vermelho. Então, a distância de X (que já é 100) para o centro do arco (que está em X=100 e Y=50) será 0. Então, o "I" é igual a zero. Já o Y está, na primeira linha assinalada de vermelho, em 0. Portanto, a diferença de Y para o centro do arco será de 50. Então, "J" é igual a 50.
A segunda linha marcada de vermelho mostra o ponto final do arco e as distâncias entre X e Y em relação ao centro do arco, através das letras "I" e "J" respectivamente.

Abraço.
Jorge

Offline alangustavo_

  • Fuso
  • **
  • Posts: 110
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Santa Fe do Sul - SP
  • Nome:: Alan Gustavo
  • Profissão: nao tenho
Re:Intepolação Linear
« Resposta #7 Online: 14 de Maio de 2012, 15:30 »
Boa tarde F.Gilii, Jorge_BH pessoal muito obrigado pela ajuda, se nao fossem essas dicas nao teria conseguido, eu consegui montar o algoritimo para G02 e G03 tambem funcionando com o eixo Z para Helicoidal, agora vou terminar os outros codigos G04, G05..... creio que agora os proximos  serão mais facil de terminar, agora vou mecher no visual configurações e outras detalhes, montei um algoritimo tambem para interpretar PLT (HPGL) este ja esta pronto e funcionando... mas PLT é apenas para 2D, queria implementar pelo menos DXF se aguem ai tiver alguma dica sobre algum algoritimo para interpretar este tipo de arquivo, qualquer dica para mim implantar no software que estou montando será bem vinda agradeço a todas por estarem me ajudando abraços!!!

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Re:Intepolação Linear
« Resposta #8 Online: 14 de Maio de 2012, 17:35 »
Não se engane - DXF também é 2D... não existe DXF 3D (só na cabeça do pessoal da Autodesk)

O que é muito comum são arquivos comumente chamados de 2 ¹/² D isto é - são arquivos vetoriais em um plano apenas (XY) com incrementos em Z...

Offline alangustavo_

  • Fuso
  • **
  • Posts: 110
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Santa Fe do Sul - SP
  • Nome:: Alan Gustavo
  • Profissão: nao tenho
Re:Intepolação Linear
« Resposta #9 Online: 14 de Maio de 2012, 23:57 »
Bom dia... pessoal em relação ao G02 e G03, olhem essa imagem
http://www.teachstemnow.com/wp-content/gallery/gcode-101/gcode_example_arcs.jpg
http://www.teachstemnow.com/wp-content/gallery/gcode-101/gcode_example_arcs.jpg
Intepolação Linear


o codigo é esse :

(Example Program with Arcs)
%
O12345   (Program Name)
N05 G90 G20   (Absolute & Inches)
N10 S6000 M03   (Spindle On, 6000 RPM)
N15 G00 Z0.25   (Rapid Move)
N20 X-0.5 Y1.0   (Rapid Move)
N25 G01 Z-0.375 F20.0   (Tool Down, Linear Move, Feedrate)
N30 G02 X0.5 Y1.0 I0.5 J0.0   (CW Arc Move)
N35 G03 X1.0 Y0.5 I0.5 J0.0   (CCW Arc Move)
N40 G02 X1.0 Y-0.5 I0.0 J-0.5   (CW Arc Move)
N45 G03 X0.5 Y-1.0 I0.0 J-0.5   (CCW Arc Move)
N50 G02 X-0.5 Y-1.0 I-0.5 J0.0   (CW Arc Move)
N55 G03 X-1.0 Y-0.5 I-0.5 J0.0   (CCW Arc Move)
N60 G02 X-1.0 Y0.5 I0.0 J0.5   (CW Arc Move)
N65 G03 X-0.5 Y1.0 I0.0 J0.5   (CCW Arc Move)
N70 G00 Z0.25   (Tool Up, Rapid Move)
N75 M05   (Spindle Off)
N80 M30   (End Program)
%


em N30 porque o valor dele esta em I0.5 sendo que ele não é o centro do arco, o centro seria em I0.0, como esta no exemplo que o Jorge_BH passou acima

t+ Abraço

Offline Jorge_BH

  • CNCMASTER
  • ******
  • Posts: 2503
  • Sexo: Masculino
  • Jorge Maluf Jacob
  • Cidade - UF: Belo Horizonte-MG
  • Profissão: Administrador de Empresas
Re:Intepolação Linear
« Resposta #10 Online: 15 de Maio de 2012, 07:08 »
Oi, Alan.
Você se "auto-respondeu" ;D
Como vc disse, o centro do primeiro arco está em 0. Mas, repare que o ponto inicial é marcado pelo movimento rápido indicado na linha 25, onde o X é posicionado em -0.5 e Y = 1. Como vc disse que o centro é em X=0 o "I" deve ser a diferença do X para o 0 (zero). Então I deve ser igual a 0.5. (-5) + (+5) = 0 (centro do arco).
Abraço.
Jorge
« Última modificação: 15 de Maio de 2012, 07:11 por Jorge_BH »

Offline alangustavo_

  • Fuso
  • **
  • Posts: 110
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Santa Fe do Sul - SP
  • Nome:: Alan Gustavo
  • Profissão: nao tenho
Re:Intepolação Linear
« Resposta #11 Online: 21 de Maio de 2012, 18:34 »
Pessoal Boa tarde eu to com uma duvida seguinte... ate agora implantei no programa na parte do G02 e G03 ta funcionando apenas quando colocado como abaixo

O12345   (Program Name)
N05 G90 G20   (Absolute & Inches)
N10 S6000 M03   (Spindle On, 6000 RPM)
N15 G00 Z0.25   (Rapid Move)
N20 X-0.5 Y1.0   (Rapid Move)
N25 G01 Z-0.375 F20.0   (Tool Down, Linear Move, Feedrate)
N30 G02 X0.5 Y1.0 I0.5 J0.0   (CW Arc Move)
N35 G03 X1.0 Y0.5 I0.5 J0.0   (CCW Arc Move)
N40 G02 X1.0 Y-0.5 I0.0 J-0.5   (CW Arc Move)

agora existem codigos que vem com valores de I e J tambem maior que zero preciso de um exemplo para mim ver como ficaria um que tem o arco dessa forma com o I e o J com valores diferente de 0 abraços t+

Offline alangustavo_

  • Fuso
  • **
  • Posts: 110
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Santa Fe do Sul - SP
  • Nome:: Alan Gustavo
  • Profissão: nao tenho
Re:Intepolação Linear
« Resposta #12 Online: 28 de Maio de 2012, 13:12 »
Boa tarde Pessoal, alguem ai pode me ajudar com G02 e G03 quando a interpolação usa os dois raios I e o J, com algum exemplo, qualquer dica é bem vinda blz obrigado...

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Re:Intepolação Linear
« Resposta #13 Online: 28 de Maio de 2012, 14:09 »
Veja se isso ajuda:

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Re:Intepolação Linear
« Resposta #14 Online: 28 de Maio de 2012, 14:11 »

 

/** * */