Bom dia.

Recentemente encontrei um artigo sobre autoleveling e fico pensando se é possível saber a posição da ferramenta do equipamento CNC produzida por vcs do laboratório de garagem.

Se fosse possível ler esta posição através da interface arduíno, poderíamos executar o "probing" e assim corrigir por software as imperfeições do nivelamento da placa virgem e depois melhorar a qualidade do resultado final.

Bastaria então conseguir a qualquer momento ler a posição dos 3 eixos ...é possível?

Obrigado

Exibições: 650

Responder esta

Respostas a este tópico

Luiz estou empenhado em fazer um medidor de RPM para motor de passo. 

E na minha sukata tive uma grata surpresa ! 

De um motor sem escova BLDC de um video K7 antigo , retirei o rotor (onde esta o imã).

E descobri que esse imã , na verdade são seis ! 

Eu queria fazer uma surpresa para os colegas do Lab, mas não me contive diante do seu tópico. 

É fantástico usar esse rotor ! Para cada volta do motor, ele gera seis pulsos em um sensor Hal . 

E tenho feito descobertas que poderão ser muito úteis em CNC. 

Aguardem . Só para despertar a curiosidade:

Muito legal isso José.

Já pensei em usar um encoder linear de uma hp 640 uma vez:

E também o encoder rotativo:

O problema de usar encoder óticos em CNC  é a sujeira . 

Se sujar, não vai funcionar. E CNC , já viu, né ?

Valeu pessoal. Estava tentando usar um encoder circular tb e assim recolher os ponto dos do "probing" e então efetuar a correção.

Tudo vai funcionar mas dará um bom trabalho.

O que eu gostaria mesmo é de saber se os criadores do CNC LabdeGar previram ou permitem um backdoor no programa onde se possa enviar tb via serial a posição dos tres eixos...isso seria fantástico!!!

Talvez uma simples modificação no programa, coisa simples, logo antes de enviar o OK como ack do comando enviado ele poderia mandar tb as posições tipo gcode....dessa forma pode-se fazer um programa que envie as posições , digamos de 5 em 5  , acionar o eixo z, sentir com um microswitch a posição Z0 e coletando esses dados criar uma lista.Essa lista vai gerar os pontos de correção a serem utilizados e corrigir o gcode original.Não acho que seria difícil para eles e assim nos poderíamos contribuir com esse autoleveling, já que nesse forum vejo pessoas com habilidades diversas e conhecimento de programação.

Vamos pensar em termos de comunidade e tomar isso como um desafio, que é claro, dependerá muito mais da boa vontade do pessoal do laboratório de garagem ( eu estive em SP com eles e acho que não haverá problema, pois são muito legais) .

O que vcs acham?

José Gustavo, muito legal sua ideia.

Entretanto , para o caso, seria necessário um motor com 200 imãs!!!!

Lembre-se que o step motor usado no CNC do Lab tem uma precisão de 1,8º , logo, são necessários 200 pontos para podermos ter a mesma precisão na conversão, no caso do autoleveling, claro... 

Obrigado, José.

Humm...entendi....na realidade só é necessário um codificador no eixo Z.

Basta colocar um programa em um arduino , fazer um programa que "prove" de 10 em 10 cm ( exemplo) nos eixos X e Y, enviando o Gcode necess´rio.

A cada passo de 10cm ele controla o eixo Z até a posição Z0 e assim um switch é acionado ( com amortecedor) e o arduino recebe o aviso que o eixo Z chegou a zero e a informação do codificador é lida.

Após criar um mapa, é só calcular o perfil e ajustar no Gcode a ser utilizado...

Boa tarde.

Pessoal, continuo trabalhando neste projeto e consegui alguns progressos:

Devido a dificuldade de construir um controlador a conectar na placa do CNC, resolvi trabalhar com os recursos da máquina e criei um arquivo code.txt com os comandos necessários.

Basicamente ele desce o mandril , sobe, avança para 10mm o eixo X, até chegar em 100 e aí continua com o eixo Y.

O objetivo é tocar toda a placa de 100mm de 10 em 10mm.

Ao invés da broca estarei usando um pino com mola, similar à uma caneta que mola porém invertida, para que o movimento para baixo não cause quebra do interruptor.

Acabei de projetar um disco encoder de 200 furos com 100m de diâmetro e um "hub" de 20mm de diâmetro por 30mm de altura usando o openscad e um exemplo paramétrico do site Thingsverse.Ele será instalado no parafuso sem fim do eixo Z.

Então a cada comando vindo do cartão, a ferramenta desce , o pino acoplado no mandril desce e faz contato com a placa ( vai haver um outro fio ligado nela pra fechar o circuito), o valor dessa profundidade é armazenada em um controlador ( depois dou os detalhes) e assim ele vai coletando ( probing) a cada 10mm.

Depois, um sw especial, rodando no controlador que recolheu estes dados vai calcular os offsets e depois disto aplicamo-los ao código G original a ser modificado.

Muito bom Luis. 

Para servir de inspiração, veja esse disco com duas faixas de marcas para sensores óticos. 

Parece que uma faixa tem 256 marcas e a outra faixa tem 200. 

A base parece ser de alumínio, e a superfície com as marcas parece ser um slide fotográfico colado... Muito interessante. 

Legal!!!  José Gustavo Abreu Murta  onde vc arrumou este encoder?

Se for fácil vou tentar usar, mas posso imprimir na minha impressora 3D aquele encoer.

Finalizei os testes iniciais e o micro Mega1284P gerou os Gcodes para os movimentos.Estou agora me concentrando no probe...

Esse encoder é de um motor com escova de um equipamento IBM. 

O fabricante do motor é esse http://www.pittman-motors.com/

Se quiser, depois posso enviar as medidas.

Como eu disse, o disco com as marcas deve ter sido feito através de  processo fotográfico. 

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2017   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço