Создайте свой CNC-чертежный плоттер с автоматическим сменой инструмента — Урок по DIY чертежной машине
В этом уроке я покажу, как я построил CNC-чертежный плоттер или чертежную машину, но с одной крутой особенностью — автоматической сменой инструмента. Другими словами, машина сможет автоматически менять цвета, и так мы сможем рисовать действительно крутые вещи с ней. Вы можете посмотреть следующее видео или прочитать письменный урок ниже. Конструкция машины основана на моей DIY CNC лазерной гравировальной машине из предыдущего видео, где целью было сделать самую простую CNC-машину с минимально возможным количеством деталей. Она использует 3 шаговых двигателя NEMA 17 для движения по осям X, Y и Z, и небольшой сервопривод для захвата. Мозгом этого CNC-чертежного плоттера является плата Arduino UNO в комбинации с CNC-шилдом и тремя драйверами A4988. Рабочая область довольно большая, 360x280 мм, и уровень деталей, который может вывести этот чертежный плоттер, на мой взгляд, довольно впечатляющий. Я был на самом деле удивлен, насколько хорошие и точные получились рисунки, особенно те, где я использовал гелевую ручку 0.6 мм. Тем не менее, теперь я объясню все, что нужно знать о построении такой чертежной машины, включая проектирование, подключение электроники, какое прошивку и ПО использовать и как генерировать G-код для нее. Для начала давайте посмотрим на дизайн этой CNC-машины. Как я уже упоминал, эта машина основана на дизайне моей предыдущей CNC лазерной гравировальной машины, где целью было сделать очень простую CNC с минимальным количеством деталей. Два основных компонента — это линейные направляющие MGN15H вместе с их подходящими каретками. Движение по осям X и Y обеспечивается двумя ремнями GT2 и некоторыми зубчатыми шкивами GT2. Что касается оси Z, у нас есть простое возвратно-поступательное движение, где движущаяся часть скользит вверх и вниз по двум стержням диаметром 6 мм и подходящим линейным подшипникам. Небольшой хобби-сервопривод используется для захвата ручки. Процедура парковки (homing) необходима для этого чертежного плоттера, так как держатели ручек имеют фиксированное положение, поэтому машина должна иметь исходную точку. Следовательно, мы должны иметь концевой выключатель для каждой оси. Вы можете найти и скачать эту 3D-модель, а также изучить её в вашем браузере на Thangs: Скачайте 3D-модель сборки на Thangs. Спасибо Thangs за поддержку этого урока. Что касается STL-файлов, используемых для 3D-печати деталей, вы можете скачать их здесь: Вот все детали, необходимые для сборки чертежного плоттера. Вот список компонентов, необходимых для сборки этой DIY CNC-машины. Список электронных компонентов можно найти ниже в разделе схемы подключения. Хорошо, теперь мы можем начать сборку машины. Я начал с закрепления базовой платы и крепления для линейной направляющей вместе с помощью нескольких болтов M3. Все болты для сборки этой машины на самом деле M3 с различной длиной, за исключением нескольких болтов M5, необходимых для зубчатых шкивов GT2. Как только у нас готовы две стороны, мы можем закрепить линейную направляющую оси X к ним с двумя болтами с каждой стороны. Эти направляющие MGN15H обеспечивают очень плавное и бесзазорное движение, так как их каретки имеют шарики или ролики внутри. Однако перед установкой их хорошей идеей будет хорошо почистить и смазать их для правильной работы. Далее, направляющая оси Y должна идти поверх каретки оси X, и для их соединения мы будем использовать центральную монтажную пластину. Сначала мы можем установить направляющую оси Y на центральную пластину с помощью трех болтов. Затем мы можем установить два шаговых двигателя NEMA 17. Один идет на верхнюю сторону, а другой на нижнюю сторону пластины. Как я упоминал ранее, нам нужны некоторые болты и гайки M5 для установки зубчатых шкивов GT2 на место. Два ролика здесь на самом деле являются натяжными роликами, которые используются для обеспечения сцепления для ремня GT2 оси X, а зубчатое шкив, который идет на шаговый двигатель. Что касается установки этого шкива, мы должны измерить и выровнять его в соответствии с натяжными роликами. Что касается оси Y, нам нужен только один натяжной ролик, который идет на другой стороне направляющей, так как ремень для этой оси будет установлен в петлю. Хорошо, дальше идет соединение или подключение двух осей вместе. Мы просто делаем это, закрепляя центральную пластину к каретке оси X с помощью четырех болтов M3. С этим машина обрела свою основную форму, и теперь каретка оси Y может достичь любого положения в рабочей области. Мы можем продолжить теперь со сборкой механизма подъема пера. Этот механизм состоит из двух частей: одной фиксированной, которая закреплена к каретке оси Y, и другой, которая будет скользить вверх и вниз. После того как фиксированная часть закреплена на месте, мы можем установить шаговый двигатель оси Z на ней. Этот шаговый двигатель также NEMA 17, но он короче, 23 мм вместо 40 мм, чтобы сократить вес. Затем мы можем установить подъемник, который просто крепится к валу шагового двигателя. Зажимной винт, который у меня был, был немного длинным для него, поэтому я поставил подъемник на вал без него, но его отверстие имеет форму вала, так что движение будет передаваться хорошо. На самом деле я в итоге немного модифицировал эту деталь, но не волнуйтесь, вы получите обновленную версию её в файлах для скачивания. Затем я вставил четыре линейных подшипника в скользящую часть и закрепил микро-сервопривод на месте. Затем я также закрепил деталь держателя ручки прямо рядом с сервоприводом. Для соединения фиксированной и скользящей частей вместе, сначала нам нужно провести провод сервопривода через отверстие в фиксированной части, а затем вставить стержни 6 мм сверху, через подшипники и отверстие фиксированной части. При установке этого стержня мы также должны вставить пружину между фиксированной и скользящей частями так, чтобы она толкала скользящую часть вниз. Это поможет перу иметь лучший контакт с рабочей поверхностью. На нижней стороне фиксированной части есть отверстия, куда мы можем вставить гайки M3 и использовать их для закрепления стержней 6 мм на месте. Далее мы можем собрать блок держателя ручек, который идет на одной стороне машины. Он состоит из верхней и нижней частей с отверстиями для размещения до 12 ручек. Я продолжил установку ремней. Сначала нам нужно измерить, какую длину нам нужно, и отрезать её примерно по размеру. Для крепления ремня к каретке я сделал эти классные соединители ремня, где ремень идет вокруг полого вала и между двумя стенками, которые не позволяют ремню двигаться. Используя болт M3, мы можем закрепить первый соединитель на одной стороне каретки и повторить ту же процедуру для другой стороны. Мы можем двигать соединители вдоль этих пазов и так натягивать ремень так сильно, как мы хотим. Что касается оси X, ремень пойдет в прямую линию от одной стороны к другой, проходя через шкивы так, чтобы обеспечить натяжение или сцепление со зубчатым шкивом шагового двигателя. Для натяжения ремня оси X я сделал эти соединители, которые имеют форму ремня, и так мы можем затянуть их к сторонам машины. Далее мы можем установить концевые выключатели. Я на самом деле в итоге немного опустил этот концевой выключатель оси Z, а для концевых выключателей осей X и Y я использовал те из моего предыдущего проекта, у которых уже были подключенные провода. С этим механическая часть машины готова, и мы можем перейти к подключению электроники. Как я упоминал, мы используем плату Arduino Uno в комбинации с CNC-шилдом и тремя драйверами A4988. Для крепления платы Arduino к машине я сделал дополнительную 3D-напечатанную деталь, которая идет на боковой панели. Я закрепил плату Arduino с двумя болтами M3, и сверху вставил CNC-шилд. Здесь нам нужно вставить три перемычки для каждого шагового драйвера, чтобы выбрать разрешение 1/16 шага, а затем вставить драйверы шаговых двигателей. Затем мы можем подключить двигатели к CNC-шилду соответствующим образом. Для подключения микроконцевых выключателей на место, я просто припаял провода непосредственно к ним, а на другой стороне припаял мамы pin headers, которые я получил от некоторых перемычек. Что касается сервопривода, я использовал некоторые удлинительные кабели для сервопривода, чтобы он мог дотянуться до CNC-шилда. Для питания машины нам нужно 12В источник питания. Вот схема того, как все должно быть подключено. Вот схема подключения того, как все должно быть соединено. Вы можете приобрести компоненты, необходимые для этого проекта, по ссылкам ниже: Итак, мы используем плату Arduino UNO в комбинации с CNC Shield и тремя драйверами A4988. У нас есть три микроконцевых выключателя для парковки машины и небольшой сервопривод для механизма захвата. Для питания нам нужно 12В источник питания с минимальным током не менее 2 Ампер. Есть несколько финальных штрихов, которые нужно сделать, чтобы завершить этот чертежный плоттер. Здесь я устанавливаю захват пера, который просто крепится к сервоприводу через рычаг сервопривода. Для управления кабелями от подъемника пера я использовал коврик для обеденного стола, материал которого был жестким, но гибким, поэтому он был идеален для этой работы. С этим наш чертежный плоттер завершен. Однако есть несколько моментов, которые мы должны отметить здесь. Поскольку направляющая оси Y неподдерживается с одной стороны, а материал 3D-печати PLA сам по себе не так уж жестен, когда полностью выдвинута, подъемник пера был на 4 мм ниже по сравнению с поддерживаемой стороной. Это слишком большой зазор, но я смог решить эту проблему, приподняв переднюю сторону машины немного. Таким образом я уменьшил разницу до примерно 1 мм, что было приемлемо. Если вы планируете использовать такие большие направляющие, я определенно предложил бы поддерживать направляющую оси Y на другой стороне тоже. Другая проблема — держатель ручек, потому что ручки не держатся на месте хорошо таким образом. Здесь я бы предложил сделать верхние отверстия больше и добавить какой-то мягкий материал по бокам, чтобы ручки держались на месте, но при этом было легко машине их вставлять. Наконец, мы можем вставить доску под всей машиной, чтобы получить ровную поверхность. И это всё, наша машина завершена. Что осталось сделать сейчас — это оживить её или сделать её настоящей CNC-машиной. Для этого нам нужно установить прошивку на Arduino для управления движением CNC-машины, и нам нужно управляющее ПО, через которое мы будем отправлять G-коды и говорить машине, что делать. Самый популярный выбор для DIY CNC-машин — это открытая прошивка GRBL. Однако для этого чертежного плоттера нам нужна модифицированная версия, которая может управлять сервоприводом. Эта модифицированная версия называется «grbl-servo», которая изменяет частоту PWM по умолчанию вывода управления шпинделем (или цифрового вывода номер 11) с 1 кГц на 50 Гц, что необходимо для управления этим типом сервопривода. Как только мы скачаем и установим эту прошивку GRBL в папку библиотек нашей Arduino IDE, нам также нужно изменить её файл config.h, чтобы включить 3-осевую парковку вместо стандартной 2-осевой. Что касается управляющего ПО, мы будем использовать GRBL-Plotter, которое предназначено для управления плоттерами и включает конвертер графики, через который мы можем генерировать G-код из наших изображений или графики. Это тоже открытое ПО, которое можно скачать с Github. Здесь первое, что нам нужно сделать, это подключить нашу плату Arduino к программе через подходящий COM-порт. Как только мы нажмем кнопку «Kill Alarm», в мониторе последовательного порта мы получим список наших текущих параметров GRBL. Нам нужно изменить некоторые из этих параметров в соответствии с нашей машиной. Первое, что мы должны скорректировать здесь — это разрешение перемещения или значения шагов/мм. Эти значения указывают, сколько шагов должен сделать двигатель, чтобы переместиться на 1 мм. Это зависит от типа шагового двигателя, выбранного разрешения шага и передачи движения, в данном случае ремня GT2 и шкива. Для нашей машины значение 80 шагов/мм необходимо для осей X и Y для точности. Что касается оси Z, я установил значение 40, которое на самом деле не точно в терминах реального движения, но мы не можем достичь этого в любом случае с нашим возвратно-поступательным движением. Мы также должны установить параметр номер 23 в 0, который говорит, где находятся наши концевые выключатели, установить максимальную скорость подачи, ускорение, максимальную скорость перемещения и параметр номер 1 в значение 255, которое держит шаговые двигатели активными все время. Однако мы должны отметить, что с этим включенным, особенно для шагового двигателя оси Z, мы должны отрегулировать предел тока драйвера A4988 на минимум, потому что более короткий шаговый двигатель NEMA 17 может быстро нагреться. Хорошо, давайте посмотрим на настройку контроллера сейчас. Здесь так много опций для настройки, что это может быть немного пугающе в начале. Здесь сначала нам нужно установить преобразование «Pen up and down» на ось Z и установить значения для позиций Up и Down. Вкладке Tool table (Таблица инструментов) мы можем определить цвет ручек и их положение. Мы должны отметить здесь, что эти значения для системы координат G53 или машинной системы координат. Это означает, что они определены жесткими концевыми выключателями машины и максимальным перемещением, которое мы установили в параметрах GRBL ранее. Для определения позиции каждой ручки я использовал значения смещения, которые составляют 0 для X и 277 для оси Y в этом случае. Эти значения позиционируют захват перед первой ручкой, а затем мне просто пришлось определить значение Y для каждой ручки, которое составляет 21.7 мм в отрицательном направлении. Здесь мы также можем настроить скорость подачи и позиции вверх/вниз для каждой ручки индивидуально, если ручки разные. Далее во вкладке Tool change (Смена инструмента) мы должны выбрать «Perform tool change on Tx M06», что говорит машине сделать смену инструмента, когда эта команда появляется в G-коде. Значение «x» после буквы T указывает номер инструмента из таблицы инструментов. Для выполнения смены инструмента мы должны включить скрипты «select» и «remove», которые выполняются, когда появляется команда Tx M06. В этих скриптах мы определяем движение захвата для взятия или удаления инструмента. Для выбора ручки захват сначала позиционируется перед фактической ручкой в абсолютных машинных координатах, той, что определена в таблице инструментов. Затем сервопривод открывает захват, он поднимается на 4 мм больше, затем движется к ручке в направлении X и немного в направлении Y. Затем захват закрывается, поднимает ручку и возвращается в то же положение перед выполнением скрипта. Для удаления ручки шаги скрипта те же, но в обратном порядке. Конечно, все эти параметры зависят от самих ручек, их размеров и размеров держателей. Единственный способ получить этот процесс правильным — тестирование и корректировка значений. Наконец, давайте посмотрим, как мы можем генерировать G-код из изображений с этим программным обеспечением GRBL-Plotter. Как только мы загрузим изображение, мы можем нажать «Preview with colors from table», чтобы увидеть, как изображение будет выглядеть. Во вкладке коррекции изображения мы можем играть со значениями яркости, контраста, гаммы и насыщенности, чтобы достичь цветов, похожих на реальное изображение или то, что мы на самом деле хотим. Мы можем установить размер вывода в мм, и во вкладке замены цветов мы можем удалить цвета, которые мы не хотим использовать. Например, мы можем удалить абрикосовый цвет, который является белым цветом на изображении. Затем мы можем нажать кнопку Create G-Code, и G-код будет сгенерирован. Мы также можем генерировать G-коды из SVG-файлов, которые мы можем просто перетащить, и программа сразу сгенерирует G-код. Прежде чем начать черчение, мы должны установить позицию 0 где угодно в рабочей области и затем нажать кнопку воспроизведения. Чертежный плоттер начнет работать, и мы сможем наслаждаться наблюдением за тем, как он творит магию. Я надеюсь, вам понравилось это видео и вы узнали что-то новое. Если у вас есть вопросы, не стесняйтесь задавать их в разделе комментариев ниже.Обзор


3D-модель DIY CNC-чертежного плоттера


Сборка машины
















Подключение электроники



Схема подключения DIY CNC-чертежного плоттера

Завершение сборки машины






Прошивка и управляющее ПО DIY чертежного плоттера



Параметры GRBL

Настройка GRBL-Plotter






Генерация G-кода для CNC-чертежного плоттера с автоматической сменой инструмента





Производственный процесс
- История, производство и будущее современной монетной системы
- Выбор режущего инструмента для станков ЧПУ: профессиональное руководство по ресурсу и производительности
- Освоение ЧПУ фрезеровки: полное руководство по эксплуатации и настройке
- Максимизация точности станков с ЧПУ: Практическое руководство по точности и надежности
- Построение полнофункционального станка с ЧПУ на базе Arduino Nano R3
- Быстрое сравнение ЧПУ режущих инструментов: фрезы, резьбовые фрезы и другие
- Top-Turn S50: косогорелые ЧПУ токарные станки для точной обработки длинных деталей
- Точная обработка длинных деталей на косогорелых ЧПУ токарных станках Top-Turn S50
- Три проверенных метода построения пятиосевых станков с ЧПУ
- Топ-10 точных компонентов, изготавливаемых на ЧПУ-станках