Se ha lanzado una nueva versión del sistema de control de fresadoras CNC que estoy desarrollando. En esta versión, se han corregido principalmente los errores y fallos de la versión anterior (Ha salido NoRT CNC Control)
Mejoras:
- Se ha rediseñado el planificador de velocidad de movimientos. El nuevo planificador analiza completamente el movimiento desde el principio hasta el final, considerando la curvatura de las trayectorias al moverse por arcos y elige la velocidad máxima posible dentro de las velocidades establecidas, sin exceder las aceleraciones máximas permitidas.
- Parte de la configuración que se almacenaba en la parte RT del microcontrolador se ha trasladado completamente al código en Python.
- Se han solucionado problemas con la pérdida de foco en la interfaz de usuario al introducir comandos manualmente.
- Se ha añadido la posibilidad de emular independientemente el husillo y la mesa de coordenadas.
- Se han corregido fallos en el estado de la máquina al introducir comandos de manera manual.
- Se ha ajustado el ciclo de envío de mensajes a la mesa de coordenadas y al husillo, así como el manejo correcto de la señal de reinicio y el procesamiento del mensaje de reinicio desde el microcontrolador.
- Se ha añadido CRC al protocolo de interacción con el microcontrolador.
- Se ha implementado un cierre adecuado al desconectar el puerto serial USB, si la interacción con el microcontrolador se realiza a través de él; anteriormente, el sistema comenzaba a leer en un ciclo un ttyUSB0 ya inexistente.
- Ahora los movimientos están bloqueados tras el reinicio del microcontrolador. Para desbloquear, se debe enviar un comando especial al microcontrolador. Este se envía al inicio de la ejecución del g-code. De esta manera, se evita el movimiento incorrecto en caso de un reinicio repentino del MCU durante el movimiento.
Paralelamente a la escritura del código, ya estoy utilizando la máquina bajo su control. Recientemente corté algunas piezas para un modelo de planeador. De este modo, este código ya se utiliza en la práctica.
Fuente: linux.org.ru
