banner

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








26 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
  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. Amigo,
    Poste sua dúvida no www.forum.fernandok.com.
    Vamos formar uma comunidade e ajudar uns aos outros.

    ResponderExcluir







  12. gostaria de saber se alguem ja teve esse erro, se alguem pode mim ajudar,
    ERROR:20 IN SD FILE AT LINE 1
    error:20 in SD file at line 1

    ResponderExcluir

Tecnologia do Blogger.