Pular para o conteúdo principal

Compatibilidade de Firmware

Esta página documenta a compatibilidade de firmware para controladores de laser usados com o Rayforge.

Visão Geral

O Rayforge é projetado principalmente para controladores baseados em GRBL mas também suporta Marlin, Smoothieware e outros tipos de firmware.

Matriz de Compatibilidade

FirmwareVersãoStatusDriverNotas
GRBL1.1+Totalmente suportadoGRBL SerialRecomendado
grblHAL2023+CompatívelGRBL Serial / GRBL TelnetFork moderno do GRBL
GRBL0.9LimitadoGRBL SerialAntigo, pode ter problemas
SmoothiewareTodosCompatívelSmoothieDriver (Telnet)Baseado em rede
Marlin2.0+CompatívelMarlin SerialModo laser necessário
ESP3DTodosCompatívelGRBL TelnetBaseado em rede
OctoPrintTodosExperimentalOctoPrintVeja notas abaixo
Outro-Não suportado-Solicite suporte

Firmware GRBL

Status:  Totalmente Suportado Versões: 1.1+ Driver: GRBL Serial

GRBL 1.1 (Recomendado)

O que é GRBL 1.1?

GRBL 1.1 é o firmware mais comum para máquinas CNC e laser de hobby. Lançado em 2017, é estável, bem documentado e amplamente suportado.

Recursos suportados pelo Rayforge:

  • Comunicação serial (USB)
  • Relatório de status em tempo real
  • Modo laser (M4 potência constante)
  • Leitura/escrita de configurações ($$, $X=valor)
  • Ciclos de homing ($H)
  • Sistemas de coordenadas de trabalho (G54)
  • Comandos de jogging ($J=)
  • Override de taxa de avanço
  • Limites suaves
  • Limites físicos (endstops)

Limitações conhecidas:

  • Intervalo de potência: 0-1000 (parâmetro S)
  • Sem conectividade de rede (apenas USB)
  • Memória onboard limitada (buffer de G-code pequeno)

Verificando a Versão do GRBL

Consulte a versão:

Conecte ao seu controlador e envie:

$I

Exemplos de resposta:

[VER:1.1h.20190825:]
[OPT:V,15,128]
  • 1.1h = versão GRBL 1.1h
  • Data indica a compilação

GRBL 0.9 (Antigo)

Status: Suporte Limitado

GRBL 0.9 é uma versão antiga com alguns problemas de compatibilidade:

Diferenças:

  • Formato de relatório de status diferente
  • Sem modo laser (M4) - usa apenas M3
  • Menos configurações
  • Sintaxe de jogging diferente

Se você tem GRBL 0.9:

  1. Atualize para GRBL 1.1 se possível (recomendado)
  2. Use M3 em vez de M4 (potência menos previsível)
  3. Teste completamente - alguns recursos podem não funcionar

Instruções de atualização: Veja GRBL Wiki


grblHAL

Status: Compatível Versões: 2023+ Driver: GRBL Serial

O que é grblHAL?

grblHAL é um fork moderno do GRBL com recursos aprimorados:

  • Suporte a múltiplos hardwares de controlador (STM32, ESP32, etc.)
  • Rede Ethernet/WiFi
  • Suporte a cartão SD
  • Mais pinos de I/O
  • Suporte a laser aprimorado

Compatibilidade com Rayforge:

  • Totalmente compatível - grblHAL mantém o protocolo GRBL 1.1
  • Todos os recursos GRBL funcionam
  • Recursos adicionais (rede, SD) ainda não suportados pelo Rayforge
  • Relatório de status idêntico ao GRBL

Usando grblHAL:

  1. Selecione o driver "GRBL Serial" no Rayforge
  2. Conecte via serial USB (assim como GRBL)
  3. Todos os recursos funcionam como documentado para GRBL

Futuro: Rayforge pode adicionar suporte para recursos específicos do grblHAL (rede, etc.)


Driver GRBL Telnet

Status: Suportado Firmware: grblHAL, ESP3D e outros controladores GRBL em rede Driver: GRBL Telnet

Sobre o Driver GRBL Telnet

O driver GRBL Telnet se conecta a controladores baseados em GRBL pela rede via uma interface Telnet. Ideal para placas com WiFi ou Ethernet integrado — sem necessidade de cabo USB.

Recursos:

  • Conectividade de rede (Ethernet/WiFi)
  • Compatível com placas baseadas em grblHAL e ESP3D
  • Mesmo protocolo GRBL do driver serial

Usando o driver GRBL Telnet:

  1. Configure a rede no seu controlador (WiFi ou Ethernet)
  2. Selecione "GRBL Telnet" nas configurações da máquina
  3. Insira o endereço IP e porta do seu controlador
  4. Conecte — o driver se comunica via Telnet

Requisitos:

  • Controlador GRBL compatível em rede (grblHAL, ESP3D, etc.)
  • Controlador e computador na mesma rede
  • Interface Telnet habilitada no controlador

Smoothieware

Driver: GRBL Serial (modo de compatibilidade)

Notas de Compatibilidade

Smoothieware usa sintaxe G-code diferente:

Principais diferenças:

RecursoGRBLSmoothieware
Laser LigadoM4 S<valor>M3 S<valor>
Intervalo de Potência0-10000.0-1.0 (float)
Statusformato <...>Formato diferente

Usando Smoothieware com Rayforge:

  1. Selecione o dialeto Smoothieware nas configurações da máquina > G-code > Dialeto
  2. Teste com baixa potência primeiro
  3. Verifique se o intervalo de potência corresponde à sua configuração
  4. Sem status em tempo real - feedback limitado

Limitações:

  • Relatório de status não totalmente compatível
  • Escala de potência pode diferir
  • Comandos de configurações ($$) não suportados
  • Não testado em hardware real

Recomendação: Se possível, use firmware compatível com GRBL em vez disso.


Marlin

Versões: 2.0+ com suporte a laser Driver: Marlin Serial

Driver Marlin Serial

O Rayforge inclui um MarlinSerialDriver dedicado que se conecta ao firmware Marlin via serial (USB). Marlin 2.0+ pode controlar lasers quando configurado corretamente.

Recursos:

  • Comunicação serial (USB)
  • Protocolo de handshake Marlin (aguarda mensagem "start")
  • Streaming de G-code linha por linha com confirmação ok
  • Polling de posição M114
  • Execução de trabalhos com relatório de progresso granular
  • Referenciamento (G28), jogging, movimento, troca de ferramenta (T)
  • Configuração de offset WCS (G10 L2 P)
  • Controle de potência do laser via dialeto Marlin
  • Cancelamento via M410 (Quick Stop)
  • Auto-configuração (consultas M115, M211, M503)

Requisitos:

  1. Firmware Marlin 2.0 ou posterior
  2. Recursos de laser ativados:
    #define LASER_FEATURE
    #define LASER_POWER_INLINE
  3. Intervalo de potência correto configurado:
    #define SPEED_POWER_MAX 1000

Usando Marlin com Rayforge:

  1. Selecione o driver "Marlin (Serial)" nas configurações da máquina
  2. Defina a porta serial e a taxa de transmissão (tipicamente 115200)
  3. Selecione o dialeto Marlin nas configurações da máquina > G-code > Dialeto
  4. Configure o Marlin para uso com laser
  5. Teste o intervalo de potência (0-1000 ou 0-255)

Limitações:

  • Experimental — feedback bem-vindo
  • Leitura/gravação de configurações (como $$ do GRBL) não suportada
  • Sem conectividade de rede (apenas USB)

Guia de Atualização de Firmware

Atualizando para GRBL 1.1

Por que atualizar?

  • Modo laser (M4) para potência constante
  • Melhor relatório de status
  • Mais confiável
  • Melhor suporte do Rayforge

Como atualizar:

  1. Identifique sua placa controladora:

    • Arduino Nano/Uno (ATmega328P)
    • Arduino Mega (ATmega2560)
    • Placa personalizada
  2. Baixe GRBL 1.1:

    • GRBL Releases
    • Obtenha a versão 1.1 mais recente (1.1h recomendado)
  3. Grave o firmware:

    Usando Arduino IDE:

    1. Instale Arduino IDE
    2. Abra o sketch GRBL (grbl.ino)
    3. Selecione a placa e porta corretas
    4. Faça upload

    Usando avrdude:

    avrdude -c arduino -p m328p -P /dev/ttyUSB0 \
    -U flash:w:grbl.hex:i
  4. Configure o GRBL:

    • Conecte via serial
    • Envie $$ para ver as configurações
    • Configure para sua máquina

Backup Antes de Atualizar

Salve suas configurações:

  1. Conecte ao controlador
  2. Envie o comando $$
  3. Copie toda a saída de configurações
  4. Salve em um arquivo

Após a atualização:

  • Restaure as configurações uma por uma: $0=10, $1=25, etc.
  • Ou use os padrões e reconfigure

Hardware do Controlador

Controladores Comuns

PlacaFirmware TípicoSuporte Rayforge
Arduino CNC ShieldGRBL 1.1Excelente
MKS DLC32grblHALExcelente
RuidaProprietárioExperimental
OctoPrint (Pi)DiversosExperimental

Controladores Recomendados

Para melhor compatibilidade com Rayforge:

  1. Arduino Nano + CNC Shield (GRBL 1.1)

    • Barato (~$10-20)
    • Fácil de gravar
    • Bem documentado
  2. MKS DLC32 (grblHAL)

    • Moderno (baseado em ESP32)
    • Capacidade WiFi
    • Desenvolvimento ativo
  3. Placas GRBL personalizadas

    • Muitas disponíveis no mercado
    • Verifique suporte a GRBL 1.1+

Configuração de Firmware

Configurações GRBL para Laser

Configurações essenciais:

$30=1000 ; Potência máxima spindle/laser (1000 = 100%)
$31=0 ; Potência mínima spindle/laser
$32=1 ; Modo laser ativado (1 = ligado)

Configurações da máquina:

$100=80 ; Passos/mm X (calibre para sua máquina)
$101=80 ; Passos/mm Y
$110=3000 ; Taxa máxima X (mm/min)
$111=3000 ; Taxa máxima Y
$120=100 ; Aceleração X (mm/seg)
$121=100 ; Aceleração Y
$130=300 ; Deslocamento máximo X (mm)
$131=200 ; Deslocamento máximo Y (mm)

Configurações de segurança:

$20=1 ; Limites suaves ativados
$21=1 ; Limites físicos ativados (se você tem endstops)
$22=1 ; Homing ativado

Testando o Firmware

Sequência básica de teste:

  1. Teste de conexão:

    Envia: ?
    Espera: &lt;Idle|...&gt;
  2. Verificação de versão:

    Envia: $I
    Espera: [VER:1.1...]
  3. Verificação de configurações:

    Envia: $$
    Espera: $0=..., $1=..., etc.
  4. Teste de movimento:

    Envia: G91 G0 X10
    Espera: Máquina move 10mm em X
  5. Teste de laser (potência muito baixa):

    Envia: M4 S10
    Espera: Laser liga (fraco)
    Envia: M5
    Espera: Laser desliga

Solução de Problemas de Firmware

Firmware Não Responde

Sintomas:

  • Sem resposta aos comandos
  • Conexão falha
  • Status não reportado

Diagnóstico:

  1. Verifique a taxa de transmissão (baud rate):

    • Padrão GRBL 1.1: 115200
    • GRBL 0.9: 9600
    • Tente ambos
  2. Verifique o cabo USB:

    • Cabo de dados, não apenas de carga
    • Substitua por um cabo conhecido bom
  3. Verifique a porta:

    • Linux: /dev/ttyUSB0 ou /dev/ttyACM0
    • Windows: COM3, COM4, etc.
    • Porta correta selecionada no Rayforge
  4. Teste com terminal:

    • Use screen, minicom ou PuTTY
    • Envie ? e veja se obtém resposta

Falhas do Firmware

Sintomas:

  • Controlador trava durante o trabalho
  • Desconexões aleatórias
  • Comportamento inconsistente

Possíveis causas:

  1. Estouro de buffer - Arquivo G-code muito complexo
  2. Ruído elétrico - Aterramento ruim ou EMI
  3. Bug do firmware - Atualize para a versão mais recente
  4. Problema de hardware - Controlador com defeito

Soluções:

  • Atualize o firmware para a versão estável mais recente
  • Simplifique o G-code (reduza precisão, menos segmentos)
  • Adicione contas de ferrite ao cabo USB
  • Melhore o aterramento e roteamento de cabos

Firmware Errado

Sintomas:

  • Comandos rejeitados
  • Comportamento inesperado
  • Mensagens de erro

Solução:

  1. Consulte a versão do firmware: $I
  2. Compare com as expectativas do Rayforge
  3. Atualize ou selecione o dialeto correto

Suporte Futuro de Firmware

Controladores Ruida

O Rayforge inclui suporte experimental para controladores baseados em Ruida (ex. RDC6442, RDC6445, Ruida R5). O driver Ruida conecta via rede e suporta jogging, relatório de posição, controle de ar assistido, seleção de camada, auto-conexão e sondagem de status.

Funcionalidades:

  • Conectividade de rede (Ethernet/WiFi)
  • Relatório de posição
  • Controles de jogging
  • Ar assistido e seleção de camada
  • Suporte a pontos de referência

Limitações:

  • Experimental — ainda não totalmente estável
  • Sem geração de G-code; Ruida usa seu próprio protocolo proprietário
  • Envio de trabalhos ainda não suportado

OctoPrint

O Rayforge inclui um driver OctoPrint experimental que envia G-code diretamente para um servidor OctoPrint pela rede. Isso é útil se o seu laser está conectado a um Raspberry Pi ou outra máquina executando OctoPrint.

Funcionalidades:

  • Conexão WebSocket para atualizações de status em tempo real
  • Fallback para polling REST quando o WebSocket não está disponível
  • Reconexão automática em caso de perda de conexão
  • Envio de trabalhos com início automático de impressão
  • Jogging, homing e controles de pausa/retomada
  • Fluxo "Solicitar Acesso" para chaves de aplicativo do OctoPrint

Usando o driver OctoPrint:

  1. Selecione o driver "OctoPrint" nas configurações da máquina
  2. Insira o nome do host ou endereço IP do seu servidor OctoPrint
  3. Defina a porta (padrão: 80)
  4. Clique em "Solicitar Acesso" para obter uma chave API através do sistema de chaves de aplicativo do OctoPrint
  5. Conecte — o Rayforge estabelecerá uma conexão WebSocket

Limitações:

  • Experimental e não testado em hardware real — feedback é bem-vindo
  • Não é possível ler ou gravar configurações de firmware através do OctoPrint
  • Resultados de sondagem não são relatados pelo OctoPrint
  • Leitura de deslocamentos WCS não é suportada

Outros Recursos Solicitados

Usuários solicitaram suporte para:

  • Trocen/AWC - Controladores de laser comerciais
  • ESP32 WiFi - Conectividade de rede para grblHAL
  • API Laser - API direta da máquina (sem G-code)

Status: Atualmente não suportado. Solicitações de recursos são bem-vindas no GitHub.

Contribuindo

Para adicionar suporte a firmware:

  1. Implemente o driver em rayforge/machine/driver/
  2. Defina o dialeto G-code em rayforge/machine/models/dialect.py
  3. Teste completamente em hardware real
  4. Envie um pull request com documentação

Páginas Relacionadas