ЧПУ фрезерный станок с автономным контроллером на STM32

ЧПУ фрезерный станок с автономным контроллером на STM32

1754

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

www.cnczone.ru/forums/index.php?showtopic=3334
Ссылка на исходники контроллера и настроенную оболочку Eclipse+gcc и пр. лежат там же где ролик:

История сотворения
Часто сталкиваясь, с необходимостью сделать ту либо иную маленькую «штучку» сложной формы, сначало задумался о 3D принтере. И даже начал его делать…
Но почитал форумы, и оценив скорость работы 3D принтера, качество и точность результата, процент брака и конструкционные характеристики термопластмассы, сообразил, то это не наиболее чем игрушка.
Собирал из всякой фигни, что была под рукою, так как хотелось побыстрее (профиль + шпильки). Заказ на комплектующие из Китая пришел за месяц. И уже через 2 недельки станок работал с управлением от LinuxCNC.
Так что конструкция осталась без конфигураций. Собирался позже переработать, но, как оказалось, станок вышел довольно твердый, и гайки на шпильках не пришлось подтягивать ни разу.

Исходная эксплуатация станка показала что:
Перегревается и жутко громко работает. Применять в качестве шпинделя бормашинку “china noname” на 220V не наилучшая мысль. Боковой люфт фрезы (подшипников?) чувствуется руками.
Но перегревается и выключатся через 5 минут. Люфт не ощутим. Бормашинка Proxon работает тихо.
Комп, взятый на время, с LPT двунаправленным портом — не комфортен. И вообщем.. Занимает место. Взят на время (отыскать PCI-LPT оказалось неувязкой).

Опосля начальной эксплуатации заказал шпиндель с водяным остыванием и решил сделать контроллер для автономной работы на самом дешевеньком варианте STM32F103, продаваемом в комплекте с 320×240 LCD экраном.
Почему люд до сих пор упрямо истязает 8-и разрядные ATMega для относительно сложных задач, да еще через Arduino для меня загадка. Наверняка обожают трудности.

Разработка контроллера
Но ни те, ни те исходники расчета линии движения не взял. Програмку создавал опосля вдумчивого просмотра исходников LinuxCNC и gbrl. Захотелось испытать написать модуль расчета без использования float. Только на 32-х разрядной математике.
Итог меня устраивает для всех режимов эксплуатации и прошивку не трогал уже издавна.
режим 1/8). Скорость наибольшая, подобранная экспериментально: X:2000мм/мин Y:1600 Z:700 (1600 step/mm.
Но ограничена не ресурсами контроллера. Просто выше уже отвратительный звук пропуска шагов даже прямых участках по воздуху. Экономная китайская плата управления шаговиками на TB6560 не самый наилучший вариант.
Растет возможность поломки фрезы. Практически скорость по дереву (бук, 5мм заглубления,d=1мм фреза, шаг 0.15мм) больше 1200 мм не ставлю.

В итоге вышел контроллер со последующим функционалом:

Работа с файлами обычного формата G-code Подключение к наружному компютеру как обычное usb mass storage device (FAT16 на SD карте).
Удаление файлов через пользовательский интерфейс контроллера.
Просмотр линии движения по избранному файлу (как дозволяет экран 640×320) и расчет времени выполнения. Практически эмуляция выполнения с суммированием времени.
Просмотр содержимого файлов в тестовом виде.
Режим ручного управления с клавиатуры (перемещение и выставления «0»).
Пуск выполнения задания по избранному файлу (G-code).
Приостанов/продолжить выполнение. (время от времени полезно).
Аварийный программный стоп.

Т.е. Контроллер подключатся к плате управления шаговиками через тот же разъем LPT. он выполняет роль управляющего компа с LinuxCNC/Mach3 и взаимозаменяем с ним.

Как раз на e-bay отыскал относительно дешевенькие оптически экодеры (1/512), шаг деления которых для моих ШВП был 5/512= 0.0098мм. Опосля творческих тестов по вырезанию своими руками нарисованных рельефов на дереве, и тестов с опциями ускорений в програмке, захотел дополнительно еще и энкодеры на осях.
Ни обработка по прерыванию, ни, тем наиболее, программный опрос никогда не управятся с «дребезгом» (это говорю для любителей ATMega). Кстати, внедрение оптических энкодеров высочайшего разрешения, без аппаратной схемы работы с ними (в STM32 она есть) – бессмысленно.

В первую очередь, я желал для последующих задач:
Ручное размещение на столе с высочайшей точностью.
Контроль пропуска шагов с контролем отклонение линии движения от расчетной.

Но, отыскал им еще одно применение, пусть и в достаточно узенькой задачке.
Внедрение энкодеров для корректировки линии движения станка с шаговыми движками

Увидел, что при вырезании рельефа, при задании ускорения по Z больше определенной величины, ось Z начинает медлительно, но уверенно ползти вниз. По окончанию вырезания рельефа 17×20 см с шагом 0.1мм фреза может уйти вниз на 1-2 мм от расчетной линии движения. Но, время вырезания рельефа при этом ускорении на 20% меньше.
Анализ ситуации в динамике по энкодерам, показал, что при подъеме фрезы время от времени пропадает 1-2 шага.
Обычный метод корректировки шагов с внедрением энкодера дает отклонение не наиболее 0.03 мм и дозволяет уменьшить время обработки на 20%. А даже 0.1 мм выступ на дереве увидеть трудно.

Конструкция

И до сих пор мне этого хватает. Безупречным вариантом для хоббийных целей посчитал настольный вариант с полем чуток больше чем A4.

Подвижный стол
Единственное ее преимущество – возможность обработать по частям чрезвычайно длинноватую доску либо, раз приходится часто обрабатывать материал вес которого больше веса портала. Для меня до сих пор остается загадкой, почему все выбирают для настольных станков конструкцию с подвижным порталом.
За все время эксплуатации ни разу не было необходимость выпилить по частям рельеф на 3-х метровой доске либо сделать гравировку на каменной плите.
Подвижный стол владеет последующими преимуществами для настольных станков:
Конструкция проще и, в общем случае, конструкция наиболее твердая.
На неподвижный портал навешиваются все потроха (блоки питания, платы и пр.) и станок выходит компактнее и удобнее для переноски.
Масса стола и кусочка обычного материала для обработки значительно ниже чем масса портала и шпинделя.
Фактически исчезает неувязка с кабелями и шлангами водяного остывания шпинделя.

Шпиндель
Желал бы увидеть, что данный станок не для силовой обработки. ЧПУ станок для силовой обработки проще всего сделать на базе обыденного фрезерного станка.
На мой взор, станок для силовой обработки сплава и станок с высоко оборотистым шпинделем для обработки дерева/пластмасс — это совсем различные типы оборудования.
Сделать в домашних условия всепригодный станок как минимум не имеет смысла.

Это высоко оборотистый шпиндель. Выбор шпинделя для станка с данным типом ШВП и направляющими с линейными подшипниками однозначен.
Для обычного высоко оборотистого шпинделя (20000 о/мин) фрезеровка цветных металлов (про сталь даже речи не идет) – это экстремальный режим для шпинделя. Ну, разве что чрезвычайно нужно и тогда съем по 0.3 мм за проход с поливом ОЖ.
Шпиндель для станка рекомендовал бы с водяным остыванием. С ним слышно во время работы лишь «пение» шаговых движков и бульканье аквариумного насоса в контуре остывания.

Что можно сделать на таком станке

Хоть какой формы корпус фрезеруется из «оргстекла» и по совершенно по гладким срезам склеивается растворителем. В первую очередь у меня ушла неувязка корпусов.

Шестерни из текстолита непревзойденно вырезаются с честным эвольвентным профилем. Стеклотекстолит отказался всепригодным материалом. Точность станка дозволяет вырезать посадочное место под подшипник, в которое он прохладный зайдет, как положено с легким натягом, а опосля уже не вынуть.

Обработка дерева (рельефы и пр.) – широкий простор для реализации собственных творческих порывов либо, как минимум, для реализации чужих порывов (готовые модели).

Вот лишь ювелирку не пробовал. habrahabr.ru Хотя брусок ювелирного воска ожидает собственного часа. Негде опоки прокаливать/плавить/лить.