После долгого периода разработки, наконец вышел NoRT CNC Control 0.5.


Он являет собой систему управления трехкоординатным фрезерным станком с ЧПУ, позволяющую в качестве управляющего компьютера использовать обычный ноутбук или даже планшет.


Ключевая особенность заключается в разделении кода на 2 большие части: требующую realtime и не требующую. Та часть, которая требует realtime, выполняется на недорогом микроконтроллере. А остальное исполняется на обычном компьютере. И в отличии от других схожих систем, где к компьютеру добавляется некая плата расширения, тут нет жестких realtime требований к каналу связи, достаточно чтобы хватало пропускной способности. В качестве такого канала может выступать ethernet, uart (включая usb-uart переходник).


Это позволяет с одной стороны, обходиться доступным компьютерным железом, с другой объем памяти микроконтроллеров ограничен и поместить все в него было бы тупиком, т.к. это накладывает ограничения на развитие проекта.


Проект состоит из 3 компонент:



В качестве микроконтроллеров поддерживаются stm32f103 с модулем enc28j60 для связи, а также arduino mega2560 со связью через штатный usb


Изменения:



  • Добавлена поддержка ethernet для увеличения пропускной способности по сравнению с uart

  • Код сервера полностью переписан на C#

  • Добавлена поддержка arduino mega2560

  • Устранены многочисленные баги (но возможно появились новые)

  • Добавлен режим эмуляции в прошивку. В этом случае компилируется программа, выполняемая на компьютере, а не на микроконтроллере, что позволяет «пощупать» работу системы без наличия железа

  • Добавлена возможность включать/выключать лазер или иное устройство во время движения

  • UI тоже переписан, на QT


Обработка нештатных ситуаций:



  • детектирование упирания в концевики. При этом происходит немедленная остановка. При движении на большой скорости фактическое положение головки не гарантируется, т.к. инерция


Система используется мною на моем настольном ЧПУ роутере









 ,






URL записи