Решил тут соорудить USB-контроллер для мача. Вернее железо сделал давно но как то забросил. Т.к. достройка собственного станка откладывается на весну решил пока покодить слегка чтоб из темы не выпадать (а то заброшу и будет полуЧПУ пылиться в уголке как половина бывших хобби ).
Основная рабочая часть кода написана и протестирована всеми доступными методами (пока только на соответствие траектории, повторюсь собственного ЧПУ нет).
Основные задачи контроллера:
- Уход от реалтайма с ПК (ну не люблю этого - чисто мой заскок, с другими мнениями спорить не буду).
- Расширение пинов ввода/вывода(например подключить полнофункциональную операторскою панель)
- И основное: "Сглаживание" шаговой последовательности.
Что касается последнего пункта - основная часть кода тратилась именно на него. В результате при достигнутой частоте степов всего 50Кгц дискретность формирователя временных интервалов - 16Мгц. В отличие от ЛПТ у которого дискретность равна частоте ядра - 100Кгц макс, т.е. шаговая последовательность не кратная 10мкс будет рваться. Пример, шаги 45кГц от ЛПТ и от контроллера - использовался один и тот же УП и настройки для мача:
Зачем создан этот пост:
Коммерческой цели не преследую, если есть энтузиасты кому интересно продолжение разработки - присоединяйтесь, проект можно сделать открытым.
P.S. Ссылками на готовые решения (SS, Kflop, ncPod, etc.. ) и вопросами "Аназачем это надо? " просьба не заваливать. Мне иногда нравится покодить - если больше никому не интересно - закроем тему.