Foi lançado uma nova versão do sistema de controle da fresadora CNC que estou desenvolvendo. Nesta versão, principalmente, foram corrigidas as falhas e bugs da versão anterior (Lançado NoRT CNC Control)
Melhorias:
- O planejador de velocidade de movimentos foi refeito. O novo planejador analisa completamente o movimento do início ao fim, levando em conta a curvatura dos arcos durante o movimento e escolhendo a maior velocidade possível dentro das velocidades estabelecidas, para não exceder as acelerações máximas permitidas.
- Parte da configuração que estava armazenada na parte RT do microcontrolador foi totalmente transferida para o código Python.
- Corrigidos problemas de perda de foco na interface ao inserir comandos manualmente.
- Adicionada a capacidade de emular independentemente o spindle e a mesa coordenada.
- Corrigidos bugs nos estados da máquina ao inserir comandos manualmente.
- Ajustado o ciclo de envio de mensagens para a mesa coordenada e para o spindle, processamento correto do sinal de reset e manejo da mensagem de reset do microcontrolador.
- Adicionado CRC ao protocolo de interação com o microcontrolador.
- Finalização do trabalho ao desconectar a porta serial USB, caso a interação com o microcontrolador ocorra através dela — anteriormente, o sistema começava a ler em um ttyUSB0 que já não existia em um ciclo.
- Agora os movimentos estão bloqueados após a reinicialização do microcontrolador. Para desbloquear, é necessário enviar um comando especial para o microcontrolador. Esse comando é enviado ao iniciar a execução do g-code, evitando assim movimentos inadequados em caso de reinicialização repentina do MCU durante o movimento.
Paralelamente à escrita do código, já estou usando a máquina sob seu controle. Recentemente, fiz algumas peças para um modelo de planador. Dessa forma, este código já está sendo usado na prática.
Fonte: linux.org.ru
