Como configurar CNC com Raspberry Pi



Como configurar CNC com Raspberry Pi? Hoje nós vamos preparar um Raspberry Pi 3 com a imagem RPI CNC V4 usando o HAT, versão 2.58. Vamos montar esse HAT e configurar o GRBL. Tudo isso dá continuidade ao assunto que abordamos na semana passada: Plotter e Laser com Raspberry Pi CNC HAT, quando montamos um plotter laser com uma mesa XY.
Hoje vamos falar do HAT (Hardware anexado no topo), que é uma placa retangular que possui quatro furos de montagem nos cantos que se alinham com os furos de montagem do Raspberry Pi, possui um conector para o GPIO do Raspberry e suporta o sistema especial de autoconfiguração que permite a configuração automática do GPIO e configuração do driver. O recurso é bastante eficiente para a automatização de CNCs.
Lembro aqui que, quando falo de CNC (do inglês Computer Numeric Control), além do plotter, do laser, eu também estou falando de uma router, de uma fresadora, de um torno CNC, porque é tudo a mesma coisa, pois a origem é a mesma. A automatização destas máquinas exige comando CNC, então, compreendendo esse sistema você pode ir muito mais longe.


Seguindo a imagem acima, minha indicação, então, pessoal, é que vocês utilizem o Raspberry ao invés do PC com Arduino Uno. Junte a isso o Protoneer e a montagem do Plotter Laser que fizemos no primeiro vídeo sobre esse assunto.

Recursos usados

1 Raspberry Pi 3 (mas poderia ser B+, 2 ou 3 com conexão 20x2)
1 Protoneer RPi CNC Hat versão 2.58
1 Cartão micro SD 16Gb (recomendado 8Gb ou mais)
1 Fonte 12V x 10A.
3 drivers de motor de passo DRV8825.
1 Monitor com HDMI ou com adaptador.
Teclado e mouse USB
Fios, ferro de solda, solda.

Montando o RPi CNC Hat no Raspberry Pi

A montagem do RPi CNC Hat sobre o Raspberry é bastante simples.
FONTE: https://wiki.protoneer.co.nz/File:RPI-CNC-V258-Front.jpg


  • Junto à placa são fornecidos espaçadores metálicos e seus respectivos parafusos.
  • Comece por prendê-los ao Raspberry.
  • Não aperte demais para não danificar a placa.
FONTE: https://wiki.protoneer.co.nz/File:PiWithSpacersLoose.JPG

  • Após a fixação o Raspberry deve ficar assim.
  • Note que dependendo da versão do Raspberry pode ser necessário usar 3 ou 4 destes espaçadores.

FONTE: https://wiki.protoneer.co.nz/File:PiWithSpacersInstalled.JPG

  • Conecte agora o RPi CNC HAT, alinhando os conectores. Os furos dos espaçadores devem ficar alinhados também.
  • Por fim, parafuse o RPi CNC HAT aos espaçadores, mas tomando o cuidado de não apertar demais os parafusos.

FONTE: https://wiki.protoneer.co.nz/File:AlignConnector.JPG

Exemplo de placa do Mach3

Tenho aqui parte de um esquemático de placas que funcionam com o Mach3 na porta paralela. Lembro, no entanto, que minha preferência é pelo uso do Raspberry, por considerar o Mach3 um tanto “antigo” ou até “ultrapassado” em relação às possibilidades que temos hoje em dia. Tanto o Raspberry quanto o GRBL diretos são melhores que o Mach3, pois com eles você pode ter um software que tem controle da situação da máquina.


Comparando

Quero mostrar aqui 3 situações:

1ª – Mach3
Exemplo de uma router que eu tenho:
Tenho um PC > porta paralela > placa controladora > drivers > motores de passo.
Neste caso, por que foi escolhida esta arquitetura? Se voltarmos no tempo, há 10, 15 anos atrás, havia grande dificuldade de construir uma placa microcontrolada. Isso era caro tanto para desenvolver quanto produzir, além de ser difícil de vender por conta do custo final. Foi, então, que o Mach3 passou a controlar tudo.

2ª – GRBL
Com o surgimento do GRBL com o Arduino UNO, passamos a ter o seguinte esquema:
Tenho um PC > Arduino UNO com GRBL > drivers > motores de passo.
Diferente da 1ª situação, na qual o Mach3 faz tudo e a placa controladora não faz nada, aqui, o PC manda para o GRBL o Gcode. Mas, temos aqui uma dificuldade diferente: as informações do GRBL são demais para o Arduino UNO. Ou seja, esta situação funciona bem, mas para os projetos mais simples.

3ª – Raspberry
Aqui, temos um esquema totalmente diferente, pois nem PC temos mais:
Raspberry/GRBL > drivers (HAT) > motores de passo.
Neste caso, o software roda no Raspberry. Eu posso pegar um monitor, um teclado e um mouse e montar uma máquina totalmente autocontida. E essa situação é a melhor que encontrei até hoje. Lembrando, claro, que isso aqui também vai evoluir. Felizmente.

Gravando a imagem

Nesta etapa vamos falar sobre a gravação da imagem do SO, ou seja, o sistema operacional configurado para rodar o software de CNC, no Raspberry.

·         Para o Raspberry Pi funcionar ele precisa ter um sistema operacional instalado em um cartão micro SD o qual ele possa acessar.
·         Neste caso usaremos uma imagem Standart  Raspberry Pi Jesse fornecida e já pré-configurada. Ela vem com vários aplicativos para interagirmos com o HAT.
· Para fazer o download da versão mais recente no link: https://wiki.protoneer.co.nz/Raspberry_Pi_CNC_User_Interface_SD_Card_Image


·         Além do download, o site possui outras informações importantes sobre o sistema operacional, configurações e sobre os aplicativos disponíveis.
·         Depois de baixar e descompactar a imagem, será necessário transferi-la para o cartão micro SD.
·         Para isso podemos utilizar o um gravador de imagens. Nós escolhemos o Etcher que pode ser encontrado no link: https://etcher.io/


Executando a gravação da imagem

·         Insira o cartão SD no leitor de cartões.
·         Abra o programa Etcher.
·         Selecione o arquivo da imagem que deseja gravar.
·         Selecione o cartão e clique em continuar.
·         Clique em “Flash!” para gravar.


·         Após a gravação, o programa fará uma verificação do resultado da transferência.
·         Aguarde até que seja concluído.



Configurações iniciais do RPi CNC Hat

·         Para iniciar o RPi com a imagem do SD, instale o SD.
·         Conecte o monitor na saída HDMI e um teclado e um mouse nas portas USB.
·         Conecte a fonte de alimentação do RPi.
·         Depois de iniciar o sistema, uma área de trabalho como esta deverá aparecer.
Obs.: Se nunca usou antes o RPi, aconselhamos uma leitura prévia. Há muitos artigos disponíveis para uma introdução.


·         Usando RPi 3, devemos configurar a porta serial, devido às alterações de hardware que ocorreram nesta versão do Raspberry e de software com o Raspbian Jessie.
·         Para facilitar, existe um script na área de trabalho que servirá para este proposito, o RPi3 Serial Config.
·         No caso de utilizar um RPi 3, devemos executá-lo. Ele se encarregará de ajustar corretamente as configurações da serial para funcionar com o RPi CNC Hat e reiniciará o sistema para que as alterações tenham efeito.


·         Neste ponto, já podemos nos conectar ao GRBL e configurá-lo. Para isso podemos utilizar o  Universal G-Code Sender ou bCNC.
·         Para mais detalhes sobre o significado detalhado de cada uma das configurações do GRBL, consulte o site: https://github.com/gnea/grbl/wiki/Grbl-v1.1-Configuration



·         Um dos parâmetros que precisaremos alterar no futuro será o $32, responsável pela mudança de comportamento do GRBL para o modo laser.
·         Neste modo, o GRBL se moverá continuamente entre comandos G1, G2 e G3 enquanto a potência do laser é atualizada instantaneamente a cada movimento.


·         Usando o Universal G-Code Sender podemos nos conectar  na serial /dev/ttyAMA0 usando um baudrate de 115200bps. Basta clicar em Open.
·         A resposta do GRBL aparecerá na tela do terminal logo abaixo:

**** Connected to /dev/ttyAMA0 @ 115200 baud ****

Grbl 1.1f [‘$’ for help]


Digitando $$ e pressionando ENTER na barra de comandos, o comando será enviado e o GRBL responderá com suas configurações atuais. Essas são as que utilizamos.



·         Para alterar qualquer uma das configurações listadas, basta enviar o comando $, seguido do índice do parâmetro, seguido de um sinal de igual e o novo valor.
·         Por exemplo: supondo que seja necessário alterar a velocidade máxima do eixo X (X Max rate) para 1000 milímetros por minuto (mm/min), enviaríamos o seguinte comando.

$110 = 1000

·         Onde o 110 é o índice do parâmetro (X Max rate) e 1000 o novo valor (em mm/min)


·         Podemos configurar o GRBL também pelo bCNC. Neste caso, após abrir o programa, clicamos em “FILE”. Observe se as configurações de conexão estão corretas:

  •        Port: /dev/ttyAMA0
  •        Baud: 115200
  •       Controller: Grbl

·         Clicando em “Open” a conexão deve ser estabelecida.


·         Clicando em “TOOLS” e em seguida na opção “Controller”, o bCNC mostrará todas as configurações do GRBL.
·         Podemos alterá-las clicando nos valores.


·    Após efetuarmos as alterações, basta clicar no botão Controller logo acima das opções para que o bCNC inicie o upload das informações.
·        O progresso do upload pode ser acompanhado pela barra de status.







Faça o download dos arquivos:
PDF
STL
F3D




6 comentários:

  1. Boa tarde Fernando, gostaria portar essa interface para os ESP32 e fazer a conexão via tcp/ip. Meu nome é Geraldo.Ja´tenho a minha CNC funcionando, mas acho que devo evoluir para 5 eixos com sensor hall, etc.

    ResponderExcluir
  2. Bom dia.
    Estou encontrando dificuldades de adquirir o Protoneer Hat para o Raspberry Pi3, encontrei apenas um link que cobrou um absurdo...Poderia NOS ajudar?

    ResponderExcluir
  3. Boa tarde,
    Seus vídeos são ótimos, obrigado!
    Tenho uma dúvida:
    Você fala que o arduino com GRBL está com os dias contados, que não cabe mais nada no uC.
    Mas o protoneer hat usa basicamente o mesmo firmware, num AVR.
    Pelo que deu para ver, só troca a conexão serial over USB pela TTL direta com o Raspberry...
    É isso?

    ResponderExcluir
    Respostas
    1. Sim é verdade,
      É o grbl dentro da protoneer. Que tem a vantagen de não usar um pc.
      O mundo maker tem poucas opções de controladoras. Se vc quiser pode usar o arduino uno com grbl, vai funcionar também.
      Se eu fizer uma placa com firmware provavelmente vou usar stm32 Arm ou mesmo o esp32 que é muito mais poderoso. O motivo que não fiz ainda porque me falta tempo. Tem que sentar e projetar a placa e fazer o software.
      Para mim um trabalho de 6 meses.
      Os seguidores me escrevem que querem mais recursos nos routers mas usando arduino é difícil é muito pequeno e o codigo não esta preparado para mais recursos.
      A minha idéia é desenvolver a partir do Raspberry PI , no inicio agora com protoneer mas depois ou com minha placa ou com algo novo que pode aparecer.

      Excluir
  4. Fernado,

    Estou tentando fazer CNC com raspberry mas estou encontrando um problema.
    A placa da protoneer no ebay não pode ser enviada ao brasil.
    Gostaria de saber se vende 1 de suas placas protoneer ou uma que você vai fazer,
    para usar raspberry. As que você vai fazer tenho uma ideia de 5 a 10 unidades da protoneer 1 unidade

    ResponderExcluir
  5. Encontrei o Protoneer aqui www.zyltech.com/genuine-protoneer-raspberry-pi-cnc-hat-v2-58/
    No ebay não está enviando ao Brasil sai $56 total 36 +taxa+ envio

    ResponderExcluir

Tecnologia do Blogger.