Digitalizador por contato


A rotina da máquina (código G) é pouco mostrada pela internet, sendo então desenvolvi utilizando uma programação encontrada nesse atalho.


onde adaptei para o meu caso, e adicionei melhorias que reconhece quando a superfície está subindo ou descendo como mostra nesse vídeo.



segue a programação, para quem queira usar e compartilhar melhorias.

%
(fonte: http://gtocs.blogspot.com.br/ )
(link direto: http://gtocs.blogspot.com.br/2012/04/garys-diy-cnc-touch-probe.html)
(adaptado por André, com a variação da altura.. reconhece se está subindo ou descendo )
(INICIO CONFIGURAÇÃO)
#1 = 0         ; X min
#2 = 0            ; Y min
#3 = 25         ; X max
#4 = 25        ; Y max
#5 = 55          ; Z max
#6 = -50           ; Z min
#7 = 0.5          ; X passo
#8 = 0.5           ; Y passo
#9 = 2        ; incremento de altura subindo
#10 = 0.5        ; incremento de altura descendo

#100 = 1500    ; velocidade movimento
#101 = 170    ; velocidade apalpador
(FIM CONFIGURAÇÃO)

#11 = #1   ; X position
#12 = #2   ; Y position


(PROBEOPEN probeResults-teste.txt)


o1 Do            ; inicio laço eixo Y
  #11 = 0       
  #201 = 0
  #202 = 0

  o2 Do                ; inicio laço eixo X
    #201 = #202
    G1 X #11 Y #12 F#100    ; posição da grade no eixo X
    G90 G38.3 Z #6 F#101    ; sondar
    #1001 = #5063        ; armazena o valor de Z
    #202 = #5063        ; armazena a variavel
    #11 = [#11 + #7]           ; nova posição da grade no X

    o3 if [#202 lt #201]    ; se o 202 for menor que 201 descendo
      G1 Z [#1001 + #10] F#100     ; sobe com o valor de Z mais o incremento
    o3 elseif [#101 gt 25000]    ; inventei valor para testar
      #5000 = #101
    o3 else [#202 ge #201]    ; se 202 for maior ou igual que 201 subindo ou plano
      G1 Z [#1001 + #9] F#100    ; sobe com o ultimo valor de Z mais o incremento
    o3 endif
          
  o2 While [#11 le #3]         ; se o valor da grade for menor que o limite, continua
  G1 Z #5 F#100        ; sobe até o Z max, para evitar a colisão na peça
  #12 = [#12 + #8]    ; novo valor da grade no eixo Y
o1 While [#12 le #4]    ; se o valor de Y for menor que o limite, continua

(PROBECLOSE)        ; fecha o arquivo

G0 Z #5            ; move eixo Z até Z máx;
M2            ; fim programa

 

Num dos testes com uma peça percebi que pode ter algum ressalto que poderá causar colisão ao movimentar ou também se tiver alguma região pequena onde a inclinação é maior e que não vale a pena configurar para que incremento da subida seja maior, ocasionando uma perda de tempo no restante da peça.

segue o vídeo mostrando os testes de colisão no movimento.






André Zardo Bonaldo
















Nenhum comentário:

Postar um comentário