Recents in Beach


Receba o meu conteúdo GRATUITAMENTE


Router e Plotter WiFi com Webserver em ESP32



Já gravei vídeos sobre plotter com o Raspberry Pi e com Laser, mas, hoje, quero falar de uma versão com GRBL e ESP32. Como acredito em um crescimento muito grande do GRBL, o qual já tem sua própria interface WEB, na plataforma do ESP32, que vão possibilitar fabulosos projetos de mecatrônica, decidi te apresentar esse firmware portado para Esp32. Vou mostrar ainda o funcionamento via WiFi em uma mesa XYZ.


Os vídeos que já gravei sobre esse assunto estão nesta PLAYLIST. Da aí uma olhada!





Demonstração







Recursos usados para construção da eletrônica

  • 1 Esp32 Dev Kit V1
  • 3 Drivers DRV8825
  • 2 motores de passo Nema 17
  • 1 motor de passo de driver de CD-ROM
  • 2 chaves de fim de curso ópticas
  • 1 módulo para cartão SD
  • 1 Regulador de tensão stepdown
  • 1 botão switch
  • 3 botões push
  • 3 resistores 10k ohm
  • Jumpers para conexão
  • Protoboard
  • Fonte 12V






Recursos usados para construção da mesa (parafusos e porcas)

  • 12 Parafusos M5x25.
  • 8 Porcas M5 autotravantes (parlock).
  • 6 Parafusos 3/16”x 1 ¼” .
  • 12 porcas 3/16”x1 ¼” autotravantes (parlock) para os parafusos.
  • 16 Parafusos M3x8.
  • 2  Parafusos M3x16.
  • 6 Porcas M3 autotravantes (parlock).
  • 1 parafuso 3/16” x  ½”.
  • 5 parafusos de rosca soberba e cabeça chata 5mm de comprimento para fixação do motor.





Peças impressas usadas para construção da mesa

  • 2 Trava_Correia. (A)
  • 1 Suporte_Cabo_01_A. (B)
  • 1 Suporte_Cabo_01_B. ©
  • 2 Suporte_Cabo_01_C. (D)
  • 1 Protecao_Rasp. (E)
  • 1 Suporte_Motor. (F)
  • 1 Pillow_de_Plastico (com fixação para motor). (G)
  • 1 Pillow_de_Plastico (SEM fixação para motor). (H)
  • 1 Cabeça_Caneta. (I)
  • 1 Extensor. (J)
  • 1 Cursor. (K)
  • 1 Cursor_fixador. (L)






Montagem da eletrônica







Instalação do GRBL


Clique em “Clone or download”
Depois em “Download ZIP

Extraia o arquivo “Grbl_Esp32-master”



Acesse a pasta “libraries”


Copie as pastas “arduinoWebSockets” e “ESP32SSDP”


Cole as pastas no diretório em:
C:\Users\[seu usuário]\Documents\Arduino\libraries


Com as bibliotecas instaladas, acesse a pasta “Grbl_Esp32”


Abra o arquivo “Grbl_Esp32.ino” usando o Arduino IDE


Na aba “config.h”, localize a linha 137.


As linhas 137, 138 e 139 definem os eixos que serão acionados na função HOME do Grbl (comando: $H)


Como não instalamos o sensor de fim de curso Z, não podemos usar este eixo Z para a função HOME


Então, comente as linhas 137, 138 e 139 e descomente as linhas 144 e 145 para usarmos apenas os eixos X e Y quando o comando $H for solicitado


Caso tenha alguma dúvida, a aba “cpu_map.h” descreve todos os pinos de atuação usados pelo GRBL no Esp32


A aba “default.h” é onde estão todas as configurações da máquina como: baud rate, passo por mm, aceleração, velocidade, etc.
Altere essa parte baseado nas configurações da sua máquina.
Podemos alterá-las aqui, ou depois da instalação, via serial, usando os comandos do GRBL.


A aba “wificonfig.h” estão todas as configurações de conexão da rede WIFI
Não é necessário alterar essa parte, apenas se preferir.


Após configurado, podemos carregar o código no Esp32
Usaremos o Esp Dev Kit v1, então selecione a placa “ESP32 Dev Module”
Conecte o Esp32 e selecione a porta COM correta


Carregue o código


Com o código carregado, conecte à rede wifi do Esp32 com a senha “12345678” (ou sua senha personalizada na aba “wificonfig.h” do código)


Acesse o endereço “192.168.0.1”





Instalação do WebUI:

Vamos carregar a página WebUI ao Esp32 na qual vamos controlar o Grbl.










Configuração inicial:

Após reiniciar a página, uma requisição de identificação será exibida:


Após a identificação, a seguinte interface será exibida:


Essa interface será usada para controlar o Grbl através do WiFi


Completo os campos com a velocidade do eixo X/Y e Z para movê-los usando os controles


Na aba “GRBL”, podemos acertar as configurações do Grbl:


Na aba “ESP3D”, podemos configurar a rede e wifi do Esp32, visualizar algumas informações importantes, atualizar e reiniciar o WebUI:


Voltando na aba “Dashboarb”, localize o campo “SD Files” e clique em “Refresh” para atualizar o SD







FAÇA O DOWNLOAD DOS ARQUIVOS:

PDF

INO DO GITHUB








Postar um comentário

42 Comentários

  1. Ola. Nao estou conseguindo fazer ele reconhecer o cartão de memória. tem alguma coisa na configuração para ser feita ?

    ResponderExcluir
  2. Estou começando no aprendizado, não sei nada de programação, só o que ja vi no seu canal. É muito bom ter pessoas como você. Fica aqui o meu obrigado. E, continue assim.

    ResponderExcluir
  3. Respostas
    1. Nao sei o que to fazendo de errado. Montei toda mecânica certinho, crio uns loops no ide e funciona direitinho, mas quando monto a protoboard igual a essa, instalo o grbl e tals... nada acontece. Já encontrei um erro no esquema acima, a linha do direcional X está invertida com o Z, mas inverti no meu esquema. Não sei o que está acontecendo. E eu não entendo muito de eletrônica.

      Excluir
    2. Tem um fio branco na altura do m2 do driver no seu protoboard que não aparece no esquema . Estou frustrado, pois parece muito fácil até tentar tentar fazer.
      Eu ia fazer com arduino e shield, mas quando vi seu video, decidi começar meus estudos direto no ESP32. Comprei um normal e um LoRa também, mas estou a 2 semanas tentando e me sentindo burro. Rs...

      Excluir
    3. o desenho das ligaçoes esta errado, observe bem o primeiro fio do z dir esta indo no x dir, etc...
      x-26 y-25 z-33 para direçao
      x-12 y-14 z-27 step, este seria o correto,
      pino 32+gnd para probe

      Excluir
  4. Não consigo upar o grbl para o esp, aparece um erro dizendo que o sketch é muito grande, alguém sabe resolver isso?

    ResponderExcluir
    Respostas
    1. Vamos ver se posso te ajudar: para esse erro de sketch muito grande eu comentei a linha que define o Bluetooth no config.h, já que não vou usar, com isso o tamanho diminuiu e consegui compilar. Alterei a velocidade da porta serial que estava em 92600 para 115200.

      // Serial baud rate
      #define BAUD_RATE 115200

      //#define ENABLE_BLUETOOTH // enable bluetooth ... turns of if $I= something

      Excluir
    2. Não se esqueça de quando for gravar o sketch pressionar o botão de boot no devkit, no meu dava erro de conexão se não fizesse isso e não gravava.

      Excluir
    3. funcionou no meu.
      fiz exatamente como vc disse e consegui carregar.
      obrigado

      Excluir
    4. Estou com este problema, conseguiu achar a solução?

      Excluir
    5. Go to "Tools" and change your portion scheme in Arduino IDE

      Excluir
    6. Experimente trocar a partição na aba de Ferramentas-> Partition Scheme

      Excluir
  5. Puts. ainda bem que li os comentarios antes de tentar montar. Vou ficar com o meu usb mesmo.Rsrsrs.

    ResponderExcluir
  6. BOA NOITE, VOU TENTAR MONTAR, MAS GOSTARIA DE USAR O MICRO , PARA CONTROLAR E MANDAR GCODE , PRECISO SABER ONDE E´O PROBE NO ESP32, E TAMBEM PARA QUE SERVE O CARTAO DE MEMORIA? O GRBL FICA GRAVADO NELE?
    OBRIGADO

    ResponderExcluir
  7. O cartão é pra mandar arquivos em g code, não sei o que seria probe, o grbl fica gravado no esp32 como se fosse um arduino . Tem que comprar o esp correto se não não vai aceitar o código

    ResponderExcluir
    Respostas
    1. ola Igor,
      obrigado pela resposta, probe e´o pino usado com gnd para o sensor de zeramento do Z.
      esta no 32+gnd

      Excluir
    2. Obrigado, acabei vendo o que era probe nesses últimos dias, dá para usar o universal gcode para mandar os arquivos, pela UI do esp eu ainda não consegui fazer isso, os arquivos serão upados para o cartão de memória mas o que eu tenho aqui não está sendo reconhecido, caso vc consiga me avisa. Tem que colocar as definições bem certinho na hora de gravar porque senão o sketch não roda, caso vc não saiba quais são as especificações me avisa que eu mando.

      Excluir
    3. sim , para gcodes que vc usa sempre, no cartao e´muito mais rapido, mas pode enviar por qualquer outro sender, uso bcnc.
      bom passei o dia tentando conecçao com o esp32 e nada, baixei drivers etc,o grbl esta compilando, depois que comentei o bluetoth, e comentei tambem o wifi pois estava dando erro.
      mas nada de conecçao com a placa.

      Excluir
    4. Vamos lá, comentar o bluetoth não deu certo pra mim. Usei as configurações lá da página da wiki:A placa tem que ser "Esp 32 DEV Module", Aí vc configura as partições para "minimal spifs with OTA", aí ele vai permitir vc gravar o código sem ter que alterar nada. Assim que ele carregar o cógdigo vai aparecer no rodapé do arduino IDE: conecting....._....., nesse momento vc segura o botão de boot do seu esp32 ai ele vai começar a gravar. Qualquer dúvida acessa isso aqui que tem um passo a passo detalhado:https://translate.googleusercontent.com/translate_c?depth=1&hl=pt-PT&prev=search&rurl=translate.google.com&sl=en&sp=nmt4&u=https://github.com/bdring/Grbl_Esp32/wiki/Compiling-the-firmware&xid=25657,15700023,15700186,15700191,15700253,15700256,15700259&usg=ALkJrhhbE4-NFNGd3AS-V11X8CgCWthh6w

      Excluir
    5. dois dias em cima, e nada de gravar, comprei outra placa, ja estou desconfiando dela,
      tem uma discussao sobre isso no git, mas parece que da certo para uns, e outros nao, espero que esse assunto se estabilize, tb o autor da mod do grbl, colocou outra versao la no git.

      Excluir
  8. Estou tentando compilar, e fica dando erro de biblioteca. error: driver/rmt.h: No such file or directory
    #include

    ResponderExcluir
    Respostas
    1. Dando uma olhada no guithub, o firwar é exclusivo para o ESP-32, no meu caso estava tentando instalar num ESP-12N. Incompatibilidade nas versões dos ESPs... que pena!

      Excluir
  9. Isso é problema na configuração do seu ide arduino, assim que puder eu posto um link do wiki, lá tem um passo a passo bem explicado. Mas está em inglês

    ResponderExcluir
  10. mensagem que recebo, qdo mando carregar o sketch
    failled to conect to esp32: invalid head of packet (0x65)

    ResponderExcluir
  11. boa tarde fis tudo certo comentei a linha do BLUETOOTH funciono todo certo
    porem super aquece o ESP-32s copilei em um ESP32 lora ttgo e o mesmo acote se funciona porem super
    aquece a ponto de travar

    ResponderExcluir
    Respostas
    1. O meu tambem dá esse problema de Bluetooth, ja comentei mas não deu certo. Essas bibliotecas da dor de cabeça.

      Excluir
  12. Boa tarde, quero funcionar o ESP32 grbl com 5 eixos, tem alguém que já configurou? Considerando o uso de eixos com motor de passo?

    ResponderExcluir
  13. Esse código não funciona, tem uma biblioteca BLUETOOTH que da erro, e quando não é isso é falta de o problema é o ESP32 que não tem memoria suficiente.

    ResponderExcluir
  14. bom dia Yuri, conseguiu resolver? estou com o mesmo problema.
    o arquivo que está disponível no momento é ainda maior, pois está escrito para 6 eixos.
    obrigado.

    ResponderExcluir
    Respostas
    1. Olá Adriano, o problema do Bluetooth eu resolvi. Não precisa mudar nada no código. Para resolver este problema vai na IDE do arduino em ferramentas -> Partition Scheme -> No OTA (2MB APP/2MB SPIFFS)
      Agora estou com outro problema, simplesmente não funciona, ele abre a pagina web mais quando clico na setinha do eixo não mexe meu motor. Não faz nada. Se puder me ajudar também.

      Excluir
    2. @Adriano, se você tiver no grupo do telegram do fernando K me chama lá! Pois no grupo não tem ninguem que fez este projeto funcionar só funciona pro Fernando é incrível!

      Excluir
    3. Consegui fazer funcionar de boa, usei a versão 1.1, tem alguns passos que já foram modificados em comparação com o explicado no vídeo, como a configuração dos pinos por exemplo. Mas não foi difícil, o projeto está bem comentado.

      Excluir
  15. Alguém sabe como seriam os procedimentos para usar o ESP32 via bluetooth através do aplicativo (celular) GRBL CONTROLLER?

    ResponderExcluir
  16. Boa noite amigos... Estou com uma enorme dificuldade fazer o sistema funcionar pois o bragram mudou TOTALMENTE... alguem poderia me dizer o que ocorreu ?

    ResponderExcluir
  17. COMO USAR ESSA IDEIA AO BRAÇO ROBÓTICO ? É POSSÍVEL COMO ?

    ResponderExcluir
  18. Seria possível colocar um joystick usando o Esp32? se for como poderia ser feito? poderia me ajudar?

    ResponderExcluir
  19. Fiz o procedimento mas da vários erros:
    Foram encontradas múltiplas bibliotecas para "WiFi.h"
    Usado: C:\Users\Dell\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi
    Não usado: C:\Program Files (x86)\Arduino\libraries\WiFi
    exit status 1
    Erro compilando para a placa WEMOS LOLIN32

    ResponderExcluir
  20. Meu computador não tem wifi, estou conectado no roteador por cabo. Como inserir o esp32 na minha rede para acessar do computador sem wifi ?

    ResponderExcluir
  21. Este comentário foi removido pelo autor.

    ResponderExcluir
  22. Bom dia galera! Em pleno 2023 e eu desenvolvendo esse projeto no curso de eletrônica do Senai. Lembrando que ao seguir esse tutorial não vai funcionar logo de cara pois o código fonte foi alterado pelo autor. Mas não se desespere! Pois com poucos ajustes é possível por tudo pra funcionar! Para aqueles que se sentirem perdidos assim como eu me senti, meu e-mail é osasco.informatica@gmail.com e será um prazer contribuir com o projeto de vcs! Grande abraço!

    ResponderExcluir