Простейшая схема контроллера для чпу фрезера. ЧПУ фрезерный станок с автономным контроллером на STM32


Всем доброго времени суток! А вот и я с новой частью своего рассказа о ЧПУ - станке . Когда начинал писать статью даже не думал, что она получится настолько объемной. Когда написал про электронику станка посмотрел и испугался – лист А4 исписан с двух сторон, а ещё очень и очень много чего нужно рассказать.

В итоге получилось этакое руководство по созданию станка ЧПУ , рабочего станка, с ноля. Будет три части статьи об одном станке: 1-электронная начинка, 2-механика станка, 3-все тонкости настройки электроники, самого станка, и программы управления станком.
В общем попытаюсь объединить в одном материале всё полезное и необходимое каждому начинающему в этом интересном деле, то что сам прочел на разных интернет-ресурсах и пропустил через себя.

Кстати, в той статье я забыл показать фотографии изготовленных поделок. Исправляю это. Пенопластовый медведь и фанерное растение.

Предисловие

После того, как собрал свой маленький станочек без существенных затрат сил, времени и средств, меня всерьез заинтересовала эта тема. Посмотрел на ютубе, если не все, то почти все ролики, связанные с любительскими станками. Особенно впечатлили фотографии изделий, которые люди делают на своих «home CNC ». Посмотрел и принял решение – буду собирать свой большой станок! Вот так на волне эмоций, хорошо всё не обдумал погрузился в новый и неизведанный для себя мир CNC .

Не знал с чего начать. Первым делом заказал нормальный шаговый двигатель Vexta на 12 кг/см, между прочим с гордой надписью «made in Japan».


Пока тот ехал через всю Россию, сидел вечерами на разных ЧПУ-шных форумах и пытался определиться в выборе контроллера STEP/DIR и драйвера шаговых двигателей. Рассматривал три варианта: на микросхеме L298 , на полевиках, либо же купить готовый китайский TB6560 о котором были очень противоречивые отзывы.


У одних он работал без проблем продолжительное время, у других сгорал при малейшей ошибки пользователя. Кто-то даже писал, что у него сгорел, когда тот немножко провернул вал двигателя, подключенного в это время к контроллеру. Наверное факт ненадежности китайца и сыграл в пользу выбора схемы L297+ активно обсуждаемой на форуме. Схема наверное и в самом деле неубиваемая т.к. полевики драйвера по амперам в несколько раз превышают то, что нужно подавать на моторы. Пусть и самому паять надо (это же только в плюс), и по стоимости деталей выходило чуть больше, чем китайский контроллер, зато надежно, что важнее.

Немного отступлю от темы. Когда всё это делалось, даже не возникло мысли, что когда-нибудь буду об этом писать. Поэтому нет фотографий процесса сборки механики и электроники, только несколько фоток, сделанных на камеру мобильника. Всё остальное щелкал специально для статьи, в уже собранном виде.

Дело паяльника боится

Начну с блока питания. Планировал сделать импульсный, провозился с ним наверное неделю, но так и не смог победить возбуд, который шел непонятно откуда. Мотаю транс на 12в – всё ОК, мотаю на 30-полная неразбериха. Пришел к выводу, что какая-то бяка лезет по обратной связи с 30в на TL494 и сносит ей башню. Так и забросил этот импульсник, благо было несколько ТС-180 один из которых пошел служить родине в качестве транса питания. Да и что ни говори, а кусок железа и меди будет надежнее кучки рассыпухи. Трансформатор перемотал на нужные напряжения, а нужно было +30в на питание моторчиков, +15в на питание IR2104 , +5в на L297 , и вентилятор. На двигатели можно подавать 10, а можно и 70, главное не превышать по току, но, если сделать меньше – снижаются максимальные обороты и сила, а вот больше не позволял трансформатор т.к. нужно было 6-7А. Напряжения 5 и 15в застабилизировал, 30 оставил «плавающими» на усмотрение нашей электросети.


Всё это время ежевечернее сидел за компьютером и читал, читал, читал. Настройка контроллера, выбор программ: какой рисовать, какой управлять станком, как изготовить механику и тд. и тп. В общем, чем больше читал, тем страшнее становилось, и всё чаще возникал вопрос «нафига мне это надо?!». Но отступать было поздно, двигатель на столе, детали где-то в пути – надо продолжать.

Пришло время паять плату. Имеющиеся в интернете мне не подошли по трем причинам:
1 - В магазине, котором заказывал детали не оказалось IR2104 в DIP корпусах, и мне прислали 8-SOICN. На плату они припаиваются с другой стороны, перевернутые, и соответственно нужно было зеркалить дорожки, а их (IR2104 ) 12 штук.


2 - Резисторы и конденсаторы также взял в SMD корпусах для уменьшения количества отверстий, которые нужно было сверлить.
3 - Имеющийся у меня радиатор был меньшего размера и крайние транзисторы были вне его площади. Нужно было смещать полевики на одной плате вправо, а на другой влево, поэтому изготовил два вида платы.

Схема контроллера станка


Для безопасности LPT порта, контроллер и компьютер соединил через плату опторазвязки. Схему и печатку взял на одном известном сайте, но опять же пришлось немного переделать её под себя и убрать лишние детали.


Одна сторона платы питается через USB порт, другая, подключенная к контроллеру - от источника +5в. Сигналы передаются через оптроны. Все подробности о настройке контроллера и развязки напишу в третьей главе, здесь же упомяну только основные моменты. Данная плата развязки предназначена для безопасного подключения контроллера шагового двигателя к LPT порту компьютера. Полностью электрически изолирует порт компьютера от электроники станка, и позволяет управлять 4-х осевым ЧПУ станком. Если станок имеет только три оси, как в нашем случае, ненужные детали можно оставить висеть в воздухе, либо вообще их не впаивать. Имеется возможность подключения концевых датчиков, кнопки принудительной остановки, реле включения шпинделя и другого устройства, например пылесоса.


Это было фото платы опторазвязки взятое из интернета, а вот так выглядит мой огород после установки в корпус. Две платы и куча проводов. Но вроде бы наводок никаких нет, и всё работает без ошибок.


Первая плата контроллера готова, всё проверил и пошагово протестировал, как в инструкции. Подстроечником выставил небольшой ток (это возможно благодаря наличию ШИМ), и подключил питание (двигателей) через цепочку лампочек 12+24в, чтобы было «ничё, если чё». У меня же полевики стоят без радиатора.

Двигатель зашипел. Хорошая новость, значит ШИМ работает как надо. Нажимаю клавишу и он крутится! Забыл упомянуть, что этот контроллер предназначен для управления биполярным шаговым двигателем т.е. тем, у которого подключаются 4 провода. Игрался с режимами шаг/полушаг, током. В режиме полушаг двигатель ведёт себя стабильнее и развивает большие обороты + увеличивается точность. Так и оставил перемычку в «полушаге». С максимальным безопасным для двигателя током при напряжении примерно 30в получилось раскрутить двигатель до 2500 об/мин! Моему первому станку без ШИМ такое и не снилось.))

Следующие два мотора заказал помощнее, Nema на 18кг/с, но уже «made in China».


По качеству они уступают Vexta , всё-таки Китай и Япония разные вещи. Когда вращаешь вал рукой у японца это происходит как-то мягко, а от китайцев ощущение другое, но на работе это пока что никак не сказалось. Замечаний к ним нет.

Спаял две оставшиеся платы, проверил через «светодиодный симулятор шагового двигателя», вроде бы всё хорошо. Подключаю один мотор – работает отлично, но уже не 2500 оборотов, а около 3000! По уже отработанной схеме подключаю третий мотор к третей плате, крутится пару секунд и встал… Смотрю осциллом – на одном выводе импульсов нет. Прозваниваю плату – одна из IR2104 пробита.

Ну ладно, может бракованная попалась, читал что часто такое бывает с этой микрухой. Впаиваю новую (брал с запасом 2 штуки), та же ерунда – пару секунд крутит и STOP! Тут я поднапрягся, и давай проверять полевики. Кстати, в моей плате установлены IRF530 (100В/17А) против (50В/49А), как в оригинале. На мотор будет идти максимум 3А, так что запаса в 14А хватит с избытком, а вот разница в цене почти в 2 раза в пользу 530-ых.
Так вот, проверяю полевики и что я вижу…не припаял одну ножку! И на выход этой "ирки" полетели все 30В с полевика. Припаял ножку, ещё раз внимательно всё осмотрел, ставлю ещё одну IR2104 , сам волнуюсь – это же последняя. Включил и был очень счастлив, когда двигатель не остановится после двух секунд работы. Режимы оставил такие: двигатель Vexta – 1,5А, двигатель NEMA 2,5А. При таком токе достигаются обороты примерно 2000, но лучше ограничить их программно во избежании пропуска шагов, и температура двигателей при длительной работе не превышает безопасную для моторов. Трансформатор питания справляется без проблем, ведь обычно одновременно крутятся только 2 мотора, но радиатору желательно дополнительное воздушное охлаждение.

Теперь про установку полевиков на радиатор , а их 24 штуки, если кто не заметил. В этом варианте платы они расположены лежа, т.е. радиатор просто на них ложится и чем-либо притягивается.


Конечно, желательно положить сплошной кусок слюды для изоляции радиатора от транзисторов, но у меня его не было. Выход нашел такой. Т.к. у половины транзисторов корпус идёт на плюс питания их можно крепить без изоляции, просто на термопасту. А под оставшиеся я положил кусочки слюды, оставшиеся от советских транзисторов. Радиатор и плату просверлил в трех местах насквозь и стянул болтиками. Одну большую плату я получил путем спаивания трех отдельных плат по краям, при этом для прочности впаял по периметру медный провод 1мм. Всю электронную начинку и блок питания разместил на каком–то железном шасси, даже не знаю от чего.

Боковые и верхнюю крышку вырезал из фанеры, и сверху поставил вентилятор.

Контроллер для станка легко сможет собрать и домашний мастер. Задать нужные параметры не сложно, достаточно учесть несколько нюансов.

Без правильного выбора контроллера для станка не удастся собрать сам контроллер для ЧПУ на Atmega8 16au своими руками. Эти устройства делятся на две разновидности:

  • Многоканальные. Сюда входят 3 и 4-осевые контроллеры для шаговых двигателей.
  • Одноканальные.

Небольшие шаровые двигатели наиболее эффективно управляются многоканальными контроллерами. Стандартные типоразмеры в данном случае – 42, либо 57 миллиметров. Это отличный вариант для самостоятельной сборки ЧПУ станков, у которых рабочее поле имеет размер до 1 метра.

Если же самостоятельно собирается станок на микроконтроллере с полем более чем в 1 метр – надо использовать двигатели, выпускающиеся в типоразмерах до 86 миллиметров. В данном случае рекомендуется организовывать управление мощными одноканальными драйверами, с током управления от 4,2 А и выше.

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

Управление

Контроллером легко управлять, используя специализированное программное оборудование, установленное на ПК. Главное, чтобы у самого компьютера память была минимум 1 ГБ, а процессор – не менее 1 GHz.

Можно использовать ноутбуки, но стационарные компьютеры в этом плане дают лучшие результаты. И обходятся гораздо дешевле. Компьютер можно использовать для решения других задач, когда станки не требуют управления. Хорошо, если есть возможность оптимизировать систему перед началом работы.

Параллельный порт LPT – вот какая деталь помогает организовать подключение. Если контроллер имеет порт USB, то используется разъем соответствующей формы. При этом выпускается все больше и больше компьютеров, у которых параллельный порт отсутствует.

Изготовление самого простого варианта сканера

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

Берем следующие детали, извлеченные из прежних приборов:

  1. Сама микросхема.
  2. Шаговый двигатель.
  3. Пара стальных прутков.

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

Список инструментов будет выглядеть следующим образом:

  • Паяльник вместе, дополненный принадлежностями.
  • Пистолет с клеем.
  • Ножничный инструмент.
  • Кусачки.

Наконец, изготовление контроллера потребует следующих дополнительных деталей:

  1. Разъем с проводом, для организации удобного подключения.
  2. Цилиндрическое гнездо. Такие конструкции отвечают за питание устройства.
  3. Ходовыми винтами служат стержни, имеющие определенную резьбу.
  4. Гайка с подходящими для ходового винта размерами.
  5. Шурупы, шайбы, древесина в форме кусков.

Начинаем работу по созданию самодельного станка

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

Микросхема управления ULN2003 станет одним из главных элементов. Возможно отдельное приобретение деталей, если в сканере используются другие разновидности микросхем. В случае наличия нужного устройства на плате его аккуратно выпаиваем. Порядок действий при сборке контроллера для ЧПУ на Atmega8 16au своими руками выглядит следующим образом:

  • Сначала разогреваем олово, используя паяльник.
  • Удаление верхнего слоя потребует использования отсоса.
  • Одним концом отвертку устанавливаем под микросхему.
  • Жало паяльника должно касаться каждого вывода микросхемы. Если это условие соблюдается, на инструмент можно нажимать.

Далее микросхема припаивается на плату, тоже с максимальной аккуратностью. Для первых пробных шагов можно использовать макеты. Используем вариант с двумя шинами электропитания. Одна из них соединяется с положительным выводом, а другая – с отрицательным.

На следующем этапе идет соединение вывода у второго коннектора параллельного порта с выводом в самой микросхеме. Выводы у коннектора и микросхемы должны быть соединены соответствующим образом.

Нулевой вывод присоединяется к отрицательной шине.

Один из последних этапов – припайка шагового двигателя к устройству управления.

Хорошо, если есть возможность изучить документацию от производителя устройств. Если нет, то придется самостоятельно искать подходящее решение.

Провода соединяются с выводами. Наконец, один из них соединяется с положительной шиной.

Шины и гнезда электропитания нужно соединить.

Термоклей из пистолета поможет закрепить детали, чтобы они не откалывались.

Используем Turbo CNC – программу для управления

ПО Turbo CNC точно будет работать с микроконтроллером, который использует микросхему ULN2003.

  • Используем специализированный сайт, откуда можно скачать программное оборудование.
  • Любой пользователь разберется в том, как провести установку.
  • Именно данная программа лучше всего работает под MS-DOS. В режиме совместимости на Windows могут появляться некоторые ошибки.
  • Но, с другой стороны, это позволит собрать компьютер с определенными характеристиками, совместимыми именно с данным программным обеспечением.

  1. После первого запуска программы появится специальный экран.
  2. Надо нажать пробел. Так пользователь оказывается в главном меню.
  3. Нажимаем F1, а потом выбираем пункт Configure.
  4. Далее надо нажать пункт «number of Axis». Используем клавишу Enter.
  5. Остается только ввести количество соей, которые планируется использовать. В данном случае у нас один мотор, потому и нажимаем на цифру 1.
  6. Для продолжения используем Enter. Нам снова понадобится клавиша F1, после ее применения в меню Configure выбираем Configure Axis. Затем – два раза нажимаем пробел.

Drive Type – вот какая вкладка нам нужна, до нее доходим многочисленными нажиманиями Tab. Стрелка вниз помогает дойти до пункта Type. Нам нужна ячейка, которая носит название Scale. Далее определяем, сколько шагов двигатель совершает только за время одного оборота. Для этого достаточно знать номер детали. Тогда легко будет понять, на сколько градусов он поворачивается всего за один шаг. Далее число градусов делится на один шаг. Так мы вычисляем количество шагов.

Остальные настройки можно оставить в первоначальном виде. Число, получившееся в ячейке Scale, просто копируется в такую же ячейку, но на другом компьютере. Значение 20 должно быть присвоено ячейке Acceleration. По умолчанию в этой области стоит значение 2000, но оно слишком большое для собираемой системы. Начальный уровень – 20, а максимальный – 175. Далее остается нажимать TAB, пока пользователь не доходит до пункта Last Phase. Здесь нужно поставить цифру 4. Далее жмем Tab, пока не дойдем до ряда из иксов, первого в списке. Первые четыре строчки должны содержать следующие позиции:

1000XXXXXXXX
0100XXXXXXXX
0010XXXXXXXX
0001XXXXXXXX

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

Это мой первый станок с ЧПУ собранный своими руками из доступных материалов. Себестоимость станка около 170$.

Собрать станок с ЧПУ мечтал уже давно. В основном он мне нужен для резки фанеры и пластика, раскрой каких-то деталей для моделизма, самоделок и других станков. Собрать станок руки чесались почти два года, за это время собирал детали, электронику и знания.

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

Электроника собрана на Arduino + прошивка GRBL

Механика самая простая, станина из фанеры 10мм + шурупы и болты 8мм, линейные направляющие из металического уголка 25*25*3 мм + подшипники 8*7*22 мм . Ось Z движется на шпильке M8, а оси X и Y на ремнях T2.5 .

Шпиндель для ЧПУ самодельный , собран из бесколлекторного мотора и цангового зажима + зубчатая ременная передача. Надо отметить, что мотор шпинделя питается от основного блока питания 24 вольта. В технических характеристиках указано, что мотор на 80 ампер, но реально он потребляет 4 ампера под серьёзной нагрузкой. Почему так происходит я объяснить не могу, но мотор работает отлично и справляется со своей задачей.

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

Рабочее пространство примерно 45 см по X и 33 см по Y, по Z 4 см. Учитывая первый опыт, следующий станок я буду делать с большими габаритами и на ось X буду ставить два мотора, по одному с каждой строны. Это связано с большим плечом и нагрузкой на него, когда работа ведётся на максимальном удалении по оси Y. Сейчас стоит один мотор и это приводит к искажению деталей, круг получается немного элипсом из-за возникающего прогибания каретки по X.

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

Здесь на фото видно, что ось Z уже на других линейных направляющих, описание будет ниже.

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

Самодельные направляющие на оси Z я заменил на мебельные, стоили меньше доллара за две штуки. Я их укоротил, оставил ход 8 см. На осях X и Y ещё остались направляющие старые, менять пока не буду, планирую на этом станке вырезать детали для нового станка, потом этот просто разберу.

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

На фото видно как фреза 4 мм горела на берёзовой фанере 10 мм, я так и не понял почему, фанера чистая, а на фрезе нагар похожий на смолу от сосны.

Далее на фото фреза 2 мм четырёхзаходная после попытки фрезерования пластика. Этот кусок расплавленного пластика потом очень плохо снимался, откусывал по чуть-чуть кусачками. Даже на малых оборотах фреза все равно вязнет, 4 канавки явно для металла:)

На днях у дяди был день рождения, по этому случаю решил сделать подарок на своей игрушке:)

В качестве подарка сделал аншлаг на дом из фанеры. Первым делом попробовал фрезеровать на пенопласте, чтобы проверить программу и не портить фанеру.

Из-за люфтов и прогибаний подкову получилось вырезать только с седьмого раза.

В общей сложности этот аншлаг (в чистом виде) фрезеровался около 5 часов + куча времени на то, что было испорчено.

Как-то я публиковал статью про ключницу , ниже на фото эта же ключница, но уже вырезанная на станке с ЧПУ. Минимум усилий, максимум точность. Из-за люфтов точность конечно не максимум, но второй станок я сделаю более жестким.

А ещё на станке с ЧПУ я вырезал шестерёнки из фанеры , это намного удобнее и быстрее, чем резать своими руками лобзиком.

Позже вырезал и квадратные шестерёнки из фанеры , они на самом деле крутятся:)

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

Нужно освоить резку пластика, потому как встала работа над самодельным роботом-пылесосом . Собственно робот тоже подтолкнул меня на создание своего ЧПУ. Для робота буду резать из пластика шестерни и другие детали.

Update: Теперь покупаю фрезы прямые с двумя кромками (3.175*2.0*12 mm), режут без сильных задиров с обоих сторон фанеры.

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

Постарался написать только те моменты, которые лично мне показались важными.

Ссылка на исходники контроллера и настроенную оболочку Eclipse+gcc и пр. лежат там же, где ролик:

История создания

Регулярно сталкиваясь, с необходимостью сделать ту или иную мелкую «штучку» сложной формы, первоначально задумался о 3D принтере. И даже начал его делать. Но почитал форумы и оценив скорость работы 3D принтера, качество и точность результата, процент брака и конструкционные свойства термопластмассы, понял, то это не более чем игрушка.

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

Начальная эксплуатация станка показала что:

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

Разработка контроллера

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

В результате получился контроллер со следующим функционалом:

  • Подключение к внешнему компу как стандартное usb mass storage device (FAT16 на SD карте). Работа с файлами стандартного формата G-code
  • Удаление файлов через пользовательский интерфейс контроллера.
  • Просмотр траектории по выбранному файлу (насколько позволяет экран 640x320) и расчет времени выполнения. Фактически эмуляция выполнения с суммированием времени.
  • Просмотр содержимого файлов в тестовом виде.
  • Режим ручного управления с клавиатуры (перемещение и выставления «0»).
  • Запуск выполнения задания по выбранному файлу (G-code).
  • Приостанов/продолжить выполнение. (иногда полезно).
  • Аварийный программный стоп.
Контроллер подключатся к плате управления шаговиками через тот же разъем LPT. Т.е. он выполняет роль управляющего компьютера с LinuxCNC/Mach3 и взаимозаменяем с ним.

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

В первую очередь, я хотел для следующих задач:

  1. Ручное позиционирование на столе с высокой точностью.
  2. Контроль пропуска шагов с контролем отклонение траектории от расчетной.

Однако, нашел им еще одно применение, пусть и в довольно узкой задаче.

Использование энкодеров для коррекции траектории станка с шаговыми двигателями

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

Конструкция


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

Подвижный стол

Для меня до сих пор остается загадкой, почему все выбирают для настольных станков конструкцию с подвижным порталом. Единственное её преимущество – возможность обработать по частям очень длинную доску или, если приходится регулярно обрабатывать материал вес которого больше веса портала.

За все время эксплуатации ни разу не было необходимость выпилить по частям рельеф на 3-х метровой доске или сделать гравировку на каменной плите.

Подвижный стол обладает следующими преимуществами для настольных станков:

  1. Конструкция проще и, в общем случае, конструкция более жесткая.
  2. На неподвижный портал навешиваются все потроха (блоки питания, платы и пр.) и станок получается компактнее и удобнее для переноски.
  3. Масса стола и куска типичного материала для обработки существенно ниже чем масса портала и шпинделя.
  4. Практически исчезает проблема с кабелями и шлангами водяного охлаждения шпинделя.

Шпиндель

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

На мой взгляд, станок для силовой обработки металла и станок с высоко оборотистым шпинделем для обработки дерева/пластмасс - это совершенно разные типы оборудования.

Создать в домашних условия универсальный станок как минимум не имеет смысла.

Выбор шпинделя для станка с данным типом ШВП и направляющими с линейными подшипниками однозначен. Это высоко оборотистый шпиндель.

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

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

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

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

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

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



Похожие публикации