Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Gravação a laser com o robô DIY Arduino SCARA


Neste tutorial, mostrarei como converti meu braço robótico SCARA impresso em 3D DIY que construí em um dos meus vídeos anteriores para trabalhar como gravador a laser. Você pode assistir ao vídeo a seguir ao vídeo ou ler o artigo abaixo.

Visão geral do projeto


O robô SCARA possui 4 graus de liberdade que são acionados por 4 motores de passo NEMA 17 e controlados por uma placa Arduino. No vídeo original eu usei uma placa Arduino UNO em combinação com um CNC Shield, mas agora vamos usar uma placa Arduino MEGA em combinação com uma placa RAMPs. Precisamos dessa combinação porque usaremos o firmware da impressora 3D Marlin para controlar o robô.

Quanto à parte mecânica, só tive que trocar o mecanismo da garra por um módulo de laser. Neste caso, estou usando um módulo de laser de 5,5 W que é bom o suficiente para gravação.

Um recurso interessante que obtemos com esta configuração do robô SCARA é que podemos ter uma maior amplitude do movimento do eixo Z e assim podemos gravar a laser objetos mais altos.

Além disso, a área de trabalho é bastante impressionante, considerando o tamanho reduzido do robô. Ele pode usar a área à sua frente, bem como em ambos os lados. Na verdade, podemos configurá-lo para usar quase todos os 360 graus ao redor do robô como área de trabalho. Podemos fazer isso graças ao firmware da impressora 3D Marling de código aberto, que possui opções para gravação a laser e configuração do robô SCARA.

Para gerar os códigos G, estou usando outro software de código aberto, o Inkscape e um plugin para ele chamado Inkscape-Lasertools. Podemos gerar códigos G apenas com contornos ou com contornos e preenchimento a partir da mesma imagem vetorial, e temos várias opções como ajustar o feixe de laser, velocidade de deslocamento, velocidade de preenchimento, velocidade de perímetro, comandos de ligar e desligar do laser, incluindo controle PWM do lazer e assim por diante.

No entanto, agora vou orientá-lo em todo o processo de configuração de um robô SCARA para trabalhar como gravador a laser. Vamos dar uma olhada no design deste robô SCARA, como instalar e configurar o firmware Marlin de acordo com nossa máquina e como preparar os desenhos e os códigos G para gravação. Então vamos começar.

Design e modelo 3D


Aqui está uma rápida olhada no modelo 3D deste robô SCARA para que você possa ver como ele funciona caso não tenha assistido ao tutorial original onde explico em detalhes como o construí.

O robô foi projetado de forma que a maioria das peças possa ser facilmente impressa em 3D. As articulações são acionadas por motores de passo NEMA 17 cuja velocidade é reduzida com a ajuda de correias GT2 e algumas polias GT2 impressas em 3D adequadas. O robô tem 4 graus de liberdade, mas neste caso, precisamos apenas de 3 DOF, duas rotações para atingir qualquer ponto da área de trabalho e um movimento linear para ajustar a altura do laser.

A 4ª junta que gira o efetor final não será usada, embora o módulo de laser seja conectado a ela. Fiz o suporte para o laser de forma que o feixe de laser fique no centro de rotação desse 4º eixo, portanto, mesmo que o eixo gire, isso não afetará a posição final.

Você pode encontrar e baixar este modelo 3D, bem como explorá-lo em seu navegador no Thangs:

Baixe o modelo 3D de montagem de Thangs.

Obrigado Thangs por apoiar este tutorial.

Arquivos STL para impressão 3D:

Patrocinado


Eu projetei este robô SCARA usando o 3DEXPERIENCE SOLIDWORKS for Makers, que também é o patrocinador deste vídeo. Sim, você ouviu direito. Com o 3DEXPERIENCE SOLIDWORKS for Makers, a SOLIDWORKS está finalmente trazendo suas ferramentas de design líderes do setor para fabricantes de todos os tipos a um preço incrivelmente baixo.

Os fabricantes agora podem acessar as melhores ferramentas de design do SOLIDWORKS por apenas US$ 99 por ano, mas para os MEUS visualizadores, o SOLIDWORKS está oferecendo uma oferta por tempo limitado que fará com que essas ferramentas sejam ainda mais baratas!

Isso mesmo. Para os espectadores deste vídeo, você pode obter este pacote hoje – que inclui uma versão conectada à nuvem do SOLIDWORKS, bem como ferramentas de design baseadas em navegador, como 3D Creator e 3D Sculptor – com um desconto especial de 20% enquanto durarem os estoques!



Tudo o que você precisa fazer é clicar no link a seguir e criar seu 3DEXPERIENCE ID gratuito, que permitirá que você acesse esta oferta especial de 20% de desconto - para que você possa começar a fazer com o melhor hoje. Muito obrigado ao SOLIDWORKS por patrocinar e apoiar conteúdo educacional como este.

Confira o SOLIDWORKS para fabricantes

20% de desconto no SOLIDWORKS para fabricantes

Instalando o Módulo Laser


Primeiro, removi o mecanismo de garra do robô que estava preso com quatro parafusos.

Os fios usados ​​para controlar o servo da garra agora serão usados ​​para controlar o módulo de laser.

O módulo de laser específico que tenho funciona em 12V e pode ser controlado usando sinal PWM com apenas dois fios, Terra e VCC. Para conectar o laser, usei o conector que vem com o módulo, aquele com os 3 pinos. O fio preto da esquerda é o Ground e o do meio, o fio branco no meu caso é o VCC. Eu soldei dois conectores de fio de jumper macho a esses fios para que eu possa conectá-los facilmente aos fios do efetor final.

Então eu simplesmente coloco o conector no lugar, passo o fio por uma das aberturas do suporte e prendo o módulo de laser com dois parafusos M3. Usando quatro parafusos M4, prendi o módulo de laser ao robô.

Em seguida, como mencionei anteriormente, em vez da placa Arduino UNO que usei para controlar o robô no vídeo original, agora precisamos de uma placa Arduino MEGA e combinação com uma placa RAMPS.

Aqui, primeiro, precisamos selecionar a resolução da etapa dos drivers. Claro, para um movimento mais suave, devemos selecionar a resolução mais alta possível adicionando três jumpers para cada driver de passo. Estou usando o driver de passo A4988 que tem resolução de 16º passo, mas também podemos usar o driver de passo DRV8825 que tem resolução de 1/32 passo.

Então podemos conectar todos os fios no lugar. Eu tinha todos os meus fios marcados para não estragar.

Diagrama do circuito do gravador a laser do robô SCARA


Aqui está o diagrama de circuito de como tudo precisa ser conectado.

Os motores de passo ficam logo acima dos drivers e as chaves fim de curso que são normalmente fechadas com dois fios vão nos pinos finais S e – para cada eixo, respectivamente.

Para controlar o módulo de laser, usaremos o pino D9 que em uma configuração de impressora 3D é usado para controlar um ventilador. Este pino é compatível com PWM para que possamos controlar a intensidade do laser com ele. Para alimentar tudo, precisamos de uma fonte de alimentação de 12V com taxa de corrente mínima de 3A.

Você pode obter os componentes necessários para este projeto nos links abaixo:
  • Motor de passo – NEMA 17……………… 
  • Driver de passo A4988…………………..… 
  • Placa RAMPAS 1.6…………………………..…
  • Arduino MEGA………………….…..………
  • Interruptor de limite ……………………………………. AmazôniaBanggood  / AliExpress
  • Fonte de alimentação CC ……………………………. Amazônia  / Banggood  / AliExpress
  • Módulo Laser …………………………………… Amazon / Banggood / AliExpress
  • Óculos de segurança contra laser …………………….. Amazon / Banggod / AliExpress

Quanto aos componentes mecânicos, você pode conferir o artigo original.

Depois de conectar tudo conforme explicado, apertei um pouco os fios e cobri a eletrônica para que tudo ficasse bonito e limpo.

Finalizando a montagem


Há mais uma coisa que eu precisava mudar no meu robô SCARA para que ele funcione corretamente, e isso é mudar quando o interruptor de limite do segundo braço é acionado. Como o robô SCARA será configurado para funcionar como destro, o retorno do segundo braço precisa estar em 0 graus, ou alinhado com o primeiro braço, podendo girar para a esquerda. Para isso, colei simplesmente um pequeno pedaço na articulação do braço para que acione o fim de curso na posição descrita.

Na verdade, há mais um pequeno detalhe que eu precisava mudar. O gatilho do interruptor de limite original estava interferindo em uma das porcas na parte inferior do braço para que o braço não pudesse alcançar seu movimento total.

Eu simplesmente removi essa porca, substituindo-a por uma inserção rosqueada para que, ao prender a peça no lugar, ela não fique para fora.

E é isso. O robô SCARA agora está pronto para trabalhar como gravador a laser, mas é claro que primeiro precisamos instalar o firmware na placa Arduino.

Veja também:Braço robótico DIY Arduino com controle de smartphone

Firmware Marlin para gravação a laser com robô SCARA


Como eu disse, vou usar o firmware Marlin que é um dos firmwares de código aberto mais usados ​​para impressoras 3D, que também tem opções para gravação a laser e configurações de robôs SCARA. Podemos baixar o firmware do Marlin em seu site oficial ou no Github.com.

Para instalar o firmware Marlin na placa Arduino MEGA, usaremos o PlatformIO IDE em vez do Arduino IDE. Como o firmware do Marlin é grande e complexo, o Arduino IDE às vezes pode dar erros e não conseguir compilá-lo.

O PlarformIO é criado com base no editor do Visual Studio Code e pode ser instalado como extensão dele. Isso significa que primeiro precisamos instalar o Visual Studio Code, depois procurar o PlatformIO no gerenciador de extensão e instalá-lo a partir daí.

Após a instalação, podemos clicar no botão Open Project, navegar até a pasta Marlin que baixamos e descompactamos e clicar em “Open Marlin”.

Isso carregará todos os arquivos do Marlin no editor e poderemos abri-los e editá-los. Os dois arquivos principais onde fazemos todos os ajustes de acordo com a configuração da nossa máquina são os arquivos Configuration.he Configuration_adv.h.

Na verdade, antes de abrirmos a pasta Marlin, devemos primeiro ir ao repositório de configuração no Github.com de onde podemos baixar alguns arquivos de configuração pré-testados que são adequados para nós. Na pasta “Examples” devemos ir até a pasta “SCARA” e copiar esses dois arquivos de configuração e colá-los em nossa pasta Marlin.

Consulte também: Como configurar o GRBL & Controle de máquina CNC com Arduino

Configurando o Firmware Marlin


Assim, uma vez que reabrimos a pasta Marlin com os arquivos de configuração “SCARA”, podemos abrir o arquivo Configuration.h e editar alguns parâmetros de acordo com nossa máquina. A primeira coisa aqui é selecionar o tipo de robô SCARA que temos.
/**
 * MORGAN_SCARA was developed by QHARLEY in South Africa in 2012-2013.
 * Implemented and slightly reworked by JCERNY in June, 2014.
 */
//#define MORGAN_SCARA

/**
 * Mostly Printed SCARA is an open source design by Tyler Williams. See:
 *   https://www.thingiverse.com/thing:2487048
 *   https://www.thingiverse.com/thing:1241491
 */
#define MP_SCARA

#if EITHER(MORGAN_SCARA, MP_SCARA)
  // If movement is choppy try lowering this value
  #define SCARA_SEGMENTS_PER_SECOND 100

  // Length of inner and outer support arms. Measure arm lengths precisely.
  #define SCARA_LINKAGE_1  228.15  // Arm 1 lenght - 228(mm)
  #define SCARA_LINKAGE_2 136.2    // Arm 2 lenght - 136.5(mm)

  // SCARA tower offset (position of Tower relative to bed zero position)
  // This needs to be reasonably accurate as it defines the printbed position in the SCARA space.
  #define SCARA_OFFSET_X    300       // (mm)
  #define SCARA_OFFSET_Y    150       // (mm)Code language: Arduino (arduino)

O “MORGAN_SCARA” é para robô SCARA paralelo e o “MP_SCARA” é para robô SCARA serial, igual ao que temos. Isso é baseado em um projeto de código aberto de Tyler Williams que implementa cinemática inversa nos códigos G gerados para sistemas cartesianos normais.

No meu tutorial anterior eu já expliquei o que é cinemática inversa e como ela funciona com este robô SCARA, então para mais detalhes você pode conferir esse tutorial. Resumidamente, com a cinemática inversa, calculamos em quais ângulos os dois braços devem se posicionar para atingir uma determinada coordenada X, Y. A matemática por trás da cinemática inversa é baseada na trigonometria, e o resultado depende apenas dos comprimentos dos dois braços.

Dito isto, aqui precisamos inserir o comprimento dos braços do robô e, neste caso, são 228 mm para o primeiro braço e 136,5 mm para o segundo braço. O próximo parâmetro que precisamos definir é a posição zero da mesa de trabalho. Este valor é inserido com os valores SCARA_OFFSET_X e Y e é a distância da torre ou da primeira junta em relação à posição zero do leito.

Há mais um conjunto de parâmetros que precisamos ajustar de acordo com nossa máquina, e esse é o MANUAL_X_HOME_POS para X e Y. Esses valores são as distâncias X e Y do efetor final do braço do robô ou do laser quando está na posição inicial, relativo para a posição zero da cama que definimos anteriormente. Para obter esses valores, fiz um esboço simples no SOLIDWORKS com as duas linhas representando os dois braços do robô SCARA.

A partir daqui pode definir a posição zero da cama desejada e obter os valores para as variáveis ​​MANUAL_X_HOME_POS.

Em seguida, precisamos definir os conectores de terminação. No nosso caso temos um batente para cada eixo, que está na posição mínima.
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUGCode language: Arduino (arduino)

Além disso, precisamos definir X_HOME_DIR para –1, que indica a direção dos pontos finais ao retornar.
// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1Code language: Arduino (arduino)

Aqui também devemos verificar se todas as variáveis ​​__MIN_ENDSTOP_INVERTING estão definidas como “FALSE”.

Em seguida, precisamos ajustar os valores DEFAULT_AXIS_STEPS_PER_UNIT para corresponder à nossa máquina.
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 177.7777777, 142.2222222, 400, 93 }Code language: Arduino (arduino)

Esses valores indicam quantos passos o programa deve enviar aos drivers de passo para que o motor mova uma unidade, e neste caso é a rotação da junta de um grau. Veja como calculei esses valores para o meu robô SCARA.

Os motores de passo NEMA 17 levam 200 passos para rotação completa, mas como estamos usando a resolução de 16º passo, isso significa que precisamos enviar 3200 passos para o driver para que o motor faça uma rotação completa de 360 ​​graus. Além disso, para a primeira junta temos redução de velocidade de 20:1, o que significa que precisamos de 64.000 passos para rotação completa. Se dividirmos esse valor por 360, obteremos o número 177.777, que na verdade é o número de passos que o programa precisa enviar ao driver para girar a junta uma unidade ou um grau.

O segundo braço tem redução de velocidade de 16:1, então o valor será 142.222. Para o eixo Z temos um parafuso de avanço com passo de 8mm, o que significa que uma rotação completa do motor resultará em monition linear de 8mm. Uma unidade aqui é um mm, então precisamos dividir os 3200 passos por 8, e assim obtemos o valor de 400, que é o número de passos necessários para o eixo Z mover uma unidade ou um mm. O quarto valor aqui é para o escalonador da extrusora, mas como não temos nenhuma extrusora aqui, não precisamos alterá-la.

A direção do motor de passo depende da maneira como conectamos os fios. Caso estejamos errados, podemos inverter os fios ou alterá-los aqui no software configurando as variáveis ​​INVERT_X_DIR para TRUE.
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR falseCode language: Arduino (arduino)

Devemos fazer mais algumas alterações para que este firmware Marlin funcione. Como o Marlin é principalmente um firmware para impressoras clássicas de estilo cartesiano, o modo SCARA que ele apresenta possui alguns pequenos bugs que ainda não foram resolvidos no momento em que fiz este projeto. Aqui estão as mudanças que eu fiz para fazê-lo funcionar.

Em scara.cpp, linha 75, troquei MORGAN_SCARA por MP_SCARA. Em motion.cpp, tive que comentar a linha 1716 e 1717, em cofiguration.h comentar VALIDATE_HOMING_ENDSTOPS, e em configuration_adv.h descomentar QUICK_HOME.

Na verdade, mesmo com essas mudanças, o homing ainda não estava funcionando 100% corretamente, mas vou explicar a solução que usei para fazê-lo funcionar.

No entanto, agora podemos clicar no botão Upload localizado na parte inferior esquerda do editor e o firmware Marlin será instalado na placa Arduino. Você baixa este firmware Marlin específico com todas as alterações que fiz para trabalhar com este robô SCARA abaixo ou, claro, você pode baixar o firmware Marlin original do Github.com e fazer todas as alterações por conta própria, conforme expliquei.

Software de controle – Rapetier-host


Tudo bem, assim que tivermos o firmware Marlin instalado, agora precisamos de um programa de computador para controlar o robô e enviar códigos G para ele. Existem muitas opções, mas optei por usar o Rapetier-host, que é um software de impressão 3D popular. Podemos baixar e usar este software gratuitamente. Depois de instalá-lo, podemos ir para Config> Printer Settings e ajustar várias coisas aqui.

Devemos selecionar a porta COM à qual nosso Arduino está conectado e selecionar o Baud Rate que definimos no firmware Marlin. Na aba Printer Shape, devemos definir os valores X e Y max e a Printer Area.

Depois de aplicar essas configurações, podemos clicar no botão Conectar e o software deve se conectar ao nosso robô SCARA. Então podemos ir na torneira de Controle Manual e daqui tentar mover a impressora.

Observe que ao pressionar as setas X ou Y, o robô pode se comportar de maneira estranha, pois implementa a cinemática inversa imediatamente e provavelmente moverá os dois braços mesmo se pressionada apenas uma seta.

No entanto, para que o robô funcione, devemos primeiro colocá-lo em casa. Antes de clicar no botão home, devemos aproximar manualmente as juntas dos interruptores de limite.

Quando clicamos no botão Home, o robô deve começar a se mover em direção aos interruptores de limite. Na verdade, o segundo braço começará a se mover em direção ao seu interruptor de limite, enquanto o primeiro braço deve se mover na direção oposta. Assim que o segundo braço ou o eixo Y atingir sua chave limitadora, o primeiro braço ou o eixo X também começará a se mover em direção à sua chave limitadora. Uma vez que o interruptor de limite X é alcançado, o robô irá para o interruptor de limite Z.

Assim, após o homing ser feito, devemos ser capazes de começar a gravar ou mover manualmente o robô ao redor de sua área de trabalho. No entanto, se tentarmos fazer algo imediatamente, por algum motivo o robô se comportará mal e fará movimentos estranhos. Para evitar esse comportamento estranho, após o homing, basta desconectar o robô do software e reconectá-lo novamente .

Agora podemos mover ou gravar manualmente e o robô funcionará corretamente. Este é provavelmente um bug no firmware do Marlin, e está lá porque o modo SCARA neste firmware não é bem suportado, pois não há muito interesse nele.

No entanto, se enviarmos o comando G-code G00 X0 Y0 o robô deverá ir para sua posição zero, aquela que definimos no arquivo Marlin Configuration.h.

Então podemos ativar o laser enviando o comando M106 S10. O valor por trás de S pode ser de 0 a 255 e na verdade é o controle PWM da potência do laser de 0 a 100%. Então, estamos usando um valor de S10 aqui para que não queime nada, mas fique visível para que possamos ver a posição zero e também ajustar o foco do laser.

O foco pode ser ajustado manualmente girando a lente do laser na parte inferior e, ao mesmo tempo, depende da distância entre ela e a peça de trabalho. Recomenda-se definir uma distância de cerca de 5 cm e ajustar o foco até obter o menor ponto possível.

Gravação a laser com o robô SCARA 


Para calibrar a máquina, é uma boa ideia começar gravando uma forma quadrada simples para que possamos ver se funciona corretamente.

Na minha primeira tentativa, a forma quadrada não estava na posição e orientação corretas e isso é porque eu configurei um valor errado para a variável MANUAL_X_HOME_POS. Depois de corrigi-lo, a forma quadrada ficou próxima do que deveria ser.

Então, eu carrego um código G do meu logotipo e configuro o robô para gravá-lo.

Para ser honesto, olhar para este robô SCARA trabalhando como gravador a laser é tão legal, mas observe que DEVE usar óculos de segurança a laser que protegerá nossos olhos da luz ultravioleta do laser, pois é muito perigoso. Além disso, devemos usar uma máscara de proteção respiratória e trabalhar em espaço aberto ou em sala bem ventilada, pois os fumos produzidos durante a gravação a laser também são perigosos para a nossa saúde.

No entanto, a gravação do logotipo ficou bem, mas notei que não era totalmente quadrada.

Então, voltei a gravar a forma quadrada simples para descobrir o que estava causando o problema. Percebi que o problema está nas dimensões para os comprimentos dos braços. Como o robô não é tão rígido, quando os braços são estendidos o peso dos próprios braços faz com que o robô se incline um pouco para frente. Isso faz com que a dimensão ou posição real dos braços fique um pouco fora.

Depois de fazer dezenas de testes, acabei ajustando os valores dos comprimentos de 228 a 228,15mm para o primeiro braço, e de 136,5 a 136,2mm para o segundo braço. Isso me deu o resultado mais preciso e agora a forma quadrada estava certa. No entanto, dependendo do local de impressão, se o braço está totalmente estendido ou não, a precisão ainda pode variar.

Gerando código G para gravação a laser


Por fim, deixe-me mostrar como preparei os desenhos e gerei códigos G para gravá-los a laser. Eu usei o Inkscape para esse propósito que é um software de gráficos vetoriais de código aberto.

Aqui primeiro precisamos definir o tamanho da página para o tamanho da nossa área de trabalho. Como exemplo, mostrarei como preparei o logotipo do Arduino para gravação a laser.

Baixei uma imagem do logotipo do Arduino e importei para o Inkscape. Usando a função Trace Bitmap, primeiro precisamos converter a imagem em um formato vetorial. Só podemos gerar códigos G a partir de formas vetoriais e para isso usei um plugin chamado Inkscape-Lasertools. Podemos baixar este plugin do Github.com e podemos instalá-lo copiando os arquivos do arquivo zip e colando-os no diretório de extensões do Inkscape.

Assim, uma vez que tenhamos o plugin instalado, podemos ir para Extensions>Lasertools para abri-lo e usá-lo para gerar um código G. Existem várias opções para definir e ajustar com este plugin. Como conectamos nosso laser ao pino D9 que é usado para controlar uma ventoinha, podemos ativar o laser enviando o comando M106.

Podemos escolher se o código G conterá apenas os contornos da forma ou o preenchimento em loops fechados também. Podemos definir a velocidade de deslocamento do laser, a velocidade de preenchimento do laser e a velocidade do perímetro.

Ao escolher um preenchimento, se quisermos diminuir a intensidade do laser na área de preenchimento, podemos adicionar o valor PWM ao comando M106 para definir a intensidade do laser, por exemplo, M106 S128 para 50% de potência do laser. Poderíamos obter um efeito semelhante se deixarmos a potência do laser em 100%, mas aumentarmos a velocidade de deslocamento na área de preenchimento. Então, na verdade, essas são configurações com as quais devemos brincar para ver o que funciona melhor para nós.

Na torneira Preferências, podemos selecionar “Remover pequenos caminhos de preenchimento” e na guia Caixa delimitadora, podemos selecionar “Gerar código G para visualização da caixa delimitadora”. Este recurso é muito útil, pois gera um código G de visualização da área onde o desenho será realizado, e assim podemos posicionar nossa peça de trabalho com precisão.

Ok, assim que gerarmos o código G, podemos carregá-lo no programa Repetier-Host. Como não se trata de impressão 3D, mas apenas movimentos de viagem, devemos marcar a caixa de seleção "Mostrar movimentos de viagem" para visualizar nosso código G.

Podemos finalmente clicar no botão “Imprimir” e nosso robô SCARA gravará a laser a peça de trabalho. Eu já disse, assistir a esta gravação a laser do robô SCARA é tão satisfatório e podemos gravar a laser tantas coisas com ela.

Uma boa característica é que ele tem eixo Z ajustável, o que significa que podemos gravar a laser objetos mais altos, como por exemplo, esta caixa de madeira para meus bits Forstner. Gravei meu logotipo na frente e um texto “Forstner bits” na parte de trás da caixa.



Aqui está um exemplo de gravação da mesma forma vetorial, uma silhueta de batman neste caso, apenas com contornos e com preenchimento em loops fechados.

Obviamente, ao gravar com preenchimento, o tempo necessário para terminar o trabalho é muito maior, mas também a aparência final é muito melhor.

Por fim, deixe-me mostrar como gravei este enorme desenho com área de 600x450mm com este robô SCARA.

Coloquei o robô em cima da peça de trabalho para que ele alcance a frente e os dois lados. Ajustei manualmente a peça de trabalho e o robô para ficarem no meio e paralelos um ao outro.

No firmware do Marlin, defino a posição zero no canto inferior esquerdo da peça de trabalho, que fica a 300 mm do robô na direção X e 150 mm na direção Y. Devemos prestar atenção aos sinais ao definir esses valores. De acordo com isso também alterei as variáveis ​​MANUAL_X e Y_HOME_POS.

Depois de fazer o upload do firmware com esses novos valores, posicionei o robô conforme explicado anteriormente e enviei o laser para a posição zero. Então ativei o laser, para poder ajustar ainda mais a orientação do preço do trabalho necessário.

Ao enviar comandos G01, que fazem linhas retas, pude verificar e ajustar a peça de trabalho para ser posicionada corretamente.

Agora para preparar o G-code para esta gravura fiz um template com esta configuração da peça de trabalho e do robô no Inscape. A partir daqui posso ver onde o robô pode chegar com o laser e de acordo com ele modificar o desenho.

Para o desenho, baixei uma imagem e converti em imagem vetorial usando a ferramenta Trace Bitmap.

Então eu redimensionei e posicionei a imagem como eu queria, e usando a ferramenta Erase eu deletei as áreas onde o robô está e a área que está fora do alcance do robô.

Então eu gerei o código G para deixar a máquina fazer seu trabalho. Demorou 4 horas para gravar a laser este desenho.



Uma vez terminado, eu queria preencher a área vazia onde o robô estava. Para isso, reposicionei o robô e a peça de trabalho, bem como alterei os parâmetros do Marlin para que a nova área de trabalho do robô seja esse espaço vazio na peça de trabalho.

No geral, esse método requer algum trabalho para configurá-lo, mas ainda funciona muito bem. Gostei muito de como ficou essa gravura.

Encerrar


Para encerrar, embora houvesse alguns problemas com o firmware, consegui encontrar soluções alternativas para que esse robô SCARA funcionasse como gravador a laser. If we take a closer look to the engraving, we can see that it’s far from perfect.

The robot is not that rigid and has some backlash, and therefore we cannot get precise and smooth movements. However, the things we learned in this tutorial can be implemented in any SCARA robot so you can definitely get better results. 

Espero que tenham gostado deste tutorial e aprendido algo novo. Feel free to ask any question in the comments section below and check my Arduino Projects Collection.

Processo de manufatura

  1. DIY mais simples relógio IV9 Numitron com Arduino
  2. Obstáculos para evitar o robô com servo motor
  3. Controle de um robô Roomba com Arduino e dispositivo Android
  4. Voltímetro DIY com Arduino e um visor Nokia 5110
  5. MobBob:DIY Arduino Robot Controlado por Smartphone Android
  6. Roda de medição simples DIY com codificador rotativo
  7. Monitor de qualidade do ar faça você mesmo com sensor Sharp GP2Y1010AU0F
  8. Faça você mesmo Arduino 1D Pong Game com WS2812 LED Strip
  9. Braço do robô Arduino DIY - Controlado por gestos manuais
  10. Controlar Arduino Robot Arm com aplicativo Android