Плоттер с ЧПУ на Arduino с автоматической сменой инструмента


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

Плоттер с ЧПУ на Arduino с автоматической сменой инструмента

Ранее на нашем сайте мы рассматривали следующие проекты станков с ЧПУ на основе платы Arduino:

Обзор проекта

Конструкция данного плоттера основана на проекте самодельного лазерного гравера с ЧПУ, рассмотренного в предыдущей статье, где целью было сделать самый простой ЧПУ станок с минимальным количеством деталей. Он использует 3 шаговых двигателя NEMA 17 для движения по осям X, Y и Z, а также небольшой сервопривод для захвата. Мозгом этого ЧПУ плоттера является плата Arduino UNO в сочетании с CNC shield (платой расширения с функциями управления двигателями) и тремя шаговыми драйверами A4988.

Наш самодельный плоттер с ЧПУ в действии

Рабочая область довольно большая, 360x280 мм, и уровень детализации, который может выводить этот плоттер, на мой взгляд, тоже весьма впечатляет. Я был на самом деле удивлен, насколько хорошими и точными получились рисунки, особенно те, где я использовал гелевую ручку 0,6 мм.

Пример рисования плоттером с помощью гелевой ручки

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

3D модель плоттера с ЧПУ

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

3D модель плоттера с ЧПУ 

Два основных компонента — линейные направляющие MGN15H вместе с подходящими для них скользящими блоками. Движение по осям X и Y обеспечивается двумя ремнями GT2 и несколькими шкивами GT2. Что касается оси Z, то у нас есть простое возвратно-поступательное движение, при котором подвижная часть скользит вверх и вниз по двум 6-миллиметровым линейным стержням и подходящим линейным подшипникам. Для захвата ручки используется небольшой сервопривод для хобби.

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

Файлы для загрузки 3D-моделей и STL

Эту 3D-модель, а также файлы STL для 3D-печати можно получить на сайте Cults3D.

3D модель плоттера с ЧПУ на сайте Cults3D

Сборка плоттера с ЧПУ

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

Внешний вид деталей, необходимых для сборки перьевого плоттера

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

  • Линейный рельс MGN15H
  • Линейный стержень 6 мм
  • Линейный подшипник 6 мм
  • Шаговый двигатель – NEMA 17
  • Ремень GT2 + зубчатый шкив
  • Натяжной ролик GT2
  • Распорные гайки
  • Набор болтов и гаек + винты с плоской головкой 3x16 мм

Хорошо, теперь мы можем начать сборку станка. Я начал с того, что закрепил вместе базовую пластину и кронштейн для линейной направляющей с помощью нескольких болтов M3. Все болты для сборки этой машины на самом деле M3 разной длины, за исключением нескольких болтов M5, необходимых для шкивов GT2.

Сборка X оси плоттера

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

Движущаяся часть направляющих MGN15H

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

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

Подготовка к установке шагового двигателя NEMA 17

Затем мы можем установить два шаговых двигателя NEMA 17. Один идет на верхнюю сторону, а другой на нижнюю сторону пластины. Как я уже упоминал ранее, нам нужны несколько болтов и гаек M5 для установки шкивов GT2 на место. Два шкива здесь на самом деле являются натяжными шкивами, которые используются для обеспечения сцепления для ремня GT2 оси X и зубчатого шкива, который идет на шаговый двигатель.

Обеспечение сцепления для ремня GT2 оси X и зубчатого шкива

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

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

Хорошо, далее следует соединение двух осей вместе. Мы просто делаем это, прикрепляя центральную пластину к скользящему блоку оси X с помощью четырех болтов M3. С этим станок приобрел свою основную форму, и теперь скользящий блок оси Y может достигать любого положения в рабочей зоне.

Соединение двух осей плоттера меньше

Теперь мы можем продолжить сборку механизма подъемника пера. Этот механизм состоит из двух частей: одна фиксированная, которая прикручена к скользящему блоку оси Y, и другая, которая будет скользить вверх и вниз. После того, как фиксированная часть закреплена на месте, мы можем установить на нее шаговый двигатель оси Z. Этот шаговый двигатель также является NEMA 17, но он короче, 23 мм вместо 40 мм, чтобы уменьшить вес.

Установка шагового двигателя для оси Z

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

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

Установка сервопривода для движений ручки

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

Установка пружины между неподвижной и скользящей частями

Это поможет ручке лучше контактировать с рабочей поверхностью. В нижней части фиксированной части есть отверстие, куда мы можем вставить гайки M3 и использовать их для закрепления 6-миллиметровых стержней на месте.

Далее мы можем собрать блок держателя ручек, который идет с одной стороны станка. Он состоит из верхней и нижней части с отверстиями для размещения до 12 ручек.

Блок держателя ручек для нашего плоттера

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

Напечатанный на 3D принтере соединитель ремня

Используя болт М3, мы можем закрепить первый разъем на одной стороне блока и повторить ту же процедуру для другой стороны. Мы можем перемещать разъемы вдоль этих пазов здесь и таким образом натягивать ремень так сильно, как мы хотим.

Регулировка натяжения ремня

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

Положение ремня для оси X

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

Соединители для натяжения ремня оси X

Далее мы можем установить концевые выключатели.

Установка концевого выключателя оси Z

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

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

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

Как я уже упоминал, мы используем плату Arduino Uno в сочетании с шилдом ЧПУ и тремя шаговыми драйверами A4988.

Плата Arduino Uno для нашего плоттера

Для крепления платы Arduino к станку я сделал дополнительную 3D-печатную деталь, которая идет на боковую панель. Я закрепил плату Arduino двумя болтами M3, а сверху вставил щит CNC.

Закрепление платы Arduino на станке

Здесь нам нужно вставить три перемычки для каждого драйвера шагового двигателя, чтобы выбрать разрешение 16th /step, а затем вставить драйверы шагового двигателя.

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

Подключение платы расширения для управления двигателями

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

Схема плоттера с ЧПУ на основе платы Arduino

Вот принципиальная схема того, как все должно быть подключено.

Принципиальная схема плоттера с ЧПУ на основе платы Arduino

Итак, мы используем плату Arduino UNO в сочетании с CNC Shield и тремя шаговыми драйверами A4988. У нас есть три микроконцевых выключателя для возврата машины в исходное положение и небольшой серводвигатель для механизма захвата. Для питания нам нужен блок питания 12 В с минимальной силой тока 2 А.

Более подробно про управление шаговым двигателем NEMA 17 с помощью Arduino и драйвера A4988 вы можете прочитать в этой статье.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Шаговый двигатель NEMA 17 (купить на AliExpress).
  3. Шаговый двигатель – NEMA 17 23 мм.
  4. Arduino CNC Shield (купить на AliExpress).
  5. A4988 Stepper Driver Module (модуль драйвера шагового двигателя) (купить на AliExpress).
  6. Серводвигатель.
  7. Концевые выключатели.
  8. Источник питания постоянного тока.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Завершение сборки станка с ЧПУ

Осталось сделать несколько последних штрихов, чтобы завершить сборку этого перьевого плоттер. Здесь я устанавливаю захват пера, который просто крепится к серводвигателю через серворог.

Установка захвата пера

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

Использование коврика для обеденного стола для прокладки кабелей от подъемника ручки

На этом наша чертежная машина завершена. Однако есть несколько вещей, которые мы должны здесь отметить. Поскольку рельс оси Y не имеет опоры с одной стороны, а сам материал PLA для 3D-печати не такой уж жесткий, при полном выдвижении подъемник пера был на 4 мм ниже по сравнению с поддерживаемой стороной.

Нестыковка по высоте рельса оси Y при его полном выдвижении

Это слишком много люфта, но мне удалось решить эту проблему, немного приподняв переднюю часть машины. Таким образом, я уменьшил разницу примерно до 1 мм, что было приемлемо. Если вы планируете использовать эти большие рельсы, я бы определенно рекомендовал поддерживать рельс оси Y также и с другой стороны.

Устранение люфта оси Y по высоте

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

Держатель ручек требует улучшения

Наконец, мы можем вставить доску под весь станок, чтобы получить ровную поверхность.

Плоттер с ЧПУ на Arduino с автоматической сменой инструмента в собранном виде

Вот и все, наш станок готов.

Прошивка и программное обеспечение для управления самодельным плоттером

Теперь осталось дать ему жизнь или сделать его настоящим станком с ЧПУ. Для этого нам нужно установить прошивку на Arduino для управления движением станка с ЧПУ и нам нужно управляющее программное обеспечение, через которое мы будем отправлять G-коды и сообщать станку, что делать.

Схема работы программного обеспечения нашего плоттера

Самым популярным выбором для самодельных станков с ЧПУ является прошивка GRBL с открытым исходным кодом. Однако для этого перьевого плоттера нам нужна ее модифицированная версия, которая может управлять серводвигателем. Эта модифицированная версия называется «grbl-servo», она изменяет частоту ШИМ по умолчанию на выводе управления шпинделем (или цифровом выводе номер 11) с 1 кГц до 50 Гц, что необходимо для управления этим типом серводвигателя.

После загрузки и установки этой прошивки GRBL в папку библиотеки нашей среды разработки Arduino IDE нам также необходимо изменить ее файл config.h, чтобы включить 3-осевое перемещение вместо 2-осевого перемещения по умолчанию.

Включение 3-осевого перемещения прошивки GRBL

Что касается программного обеспечения для управления, мы будем использовать GRBL-Plotter, который предназначен для управления плоттерами и включает в себя графический конвертер, с помощью которого мы можем генерировать G-код из наших изображений или графики. Это также программное обеспечение с открытым исходным кодом, которое можно загрузить с Github.

 Генерирование G-кода с помощью GRBL-Plotter'а

Здесь первое, что нам нужно сделать, это подключить нашу плату Arduino к программному обеспечению через подходящий COM-порт. Как только мы нажмем кнопку «Kill Alarm», на последовательном мониторе мы получим список наших текущих параметров GRBL. Нам нужно изменить некоторые из этих параметров в соответствии с нашей машиной.

Параметры GRBL

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

Настройка параметров GRBL для нашего станка ЧПУ

Для нашего станка для точности осей X и Y необходимо значение 80 шагов/мм. Что касается оси Z, я установил значение 40, что на самом деле неточно с точки зрения реального движения, но мы в любом случае не сможем этого добиться с нашим возвратно-поступательным движением. 

Мы также должны установить параметр номер 23 на 0, который сообщает, где находятся наши концевые выключатели, установить максимальную скорость подачи, ускорение, максимальную скорость перемещения и параметр номер 1 на значение 255, которое поддерживает активными шаговые двигатели все время. Однако мы должны отметить, что при включении этого, особенно для шагового двигателя оси Z, мы должны настроить ограничение тока драйвера A4988 на минимум, поскольку более короткий шаговый двигатель NEMA 17 может быстро нагреваться.

Настройка плоттера GRBL

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

Настройка перемещения пера вверх и вниз на ось Z для плоттера GRBL

На вкладке Таблица инструментов мы можем определить цвет перьев и их положение. Здесь следует отметить, что эти значения относятся к системе координат G53 или станка. Это означает, что они определяются жесткими концевыми выключателями, имеющимися на станке, и максимальным ходом, который мы установили в параметрах GRBL ранее.

Задание цвета перьев и их положения

Для определения положения каждого пера я использовал значения смещения, которые в данном случае равны 0 для оси X и 277 для оси Y. Эти значения располагают захват перед первым пером, а затем мне оставалось только определить значение Y для каждого пера, которое составляет 21,7 мм в отрицательном направлении.

Установка положения каждого пера

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

Далее в меню «Смена инструмента» необходимо выбрать «Выполнить смену инструмента по команде Tx M06», что сообщит станку о необходимости выполнить смену инструмента, когда эта команда появится в G-коде.

Настройка смены инструмента для станка ЧПУ

Значение «x» после буквы T указывает номер инструмента из таблицы инструментов. Для выполнения смены инструмента мы должны включить скрипты «select» и «remove», которые выполняются при появлении команды Tx M06. В этих скриптах мы определяем движение захвата для взятия или извлечения инструмента.

Задание движений захвата для взятия или извлечения инструмента

Для выбора пера захват сначала позиционируется перед фактическим пером в абсолютных координатах машины, которые определены в таблице инструментов. Затем сервопривод открывает захват, он поднимается еще на 4 мм, затем движется к перу в направлении X и немного в направлении Y. Затем захват закрывается, поднимает перо и возвращается в то же положение перед выполнением скрипта. Для удаления пера шаги скрипта те же, но в обратном порядке.

Демонстрация захвата нужного пера в нашем плоттере ЧПУ

Конечно, все эти параметры зависят от самих ручек, их размеров и размеров держателей. Единственный способ сделать этот процесс правильным — это тестирование и корректировка значений.

Генерация G-кода для перьевого плоттера с ЧПУ с автоматической сменой инструмента

Наконец, давайте посмотрим, как можно генерировать G-код из изображений с помощью программного обеспечения GRBL-Plotter.

Генерация G-кода для перьевого плоттера с ЧПУ с автоматической сменой инструмента

После загрузки изображения мы можем нажать «Предварительный просмотр с цветами из таблицы», чтобы увидеть, как будет выглядеть изображение. На вкладке коррекции изображения мы можем поиграть со значениями Яркость, Контрастность, Гамма и Насыщенность, чтобы добиться цветов, похожих на реальное изображение или на те, которые мы хотим. Мы можем задать размер вывода в мм, а в закладке замены цвета мы можем удалить цвета, которые мы не хотим использовать.

Окно предварительного просмотра в GRBL-Plotter

Например, мы можем удалить абрикосовый цвет, который является белым цветом на изображении. Затем мы можем нажать кнопку Create G-Code, и G-код будет сгенерирован. 

Мы также можем генерировать G-коды из файлов SVG, просто перетаскивая их, и программное обеспечение сразу же сгенерирует G-код.

Генерация G-кодов из файлов SVG в GRBL-Plotter

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

Установка нулевой позиции для начала рисования

Плоттер начнет работать, и мы сможем насладиться его волшебством.

Тестирование работы плоттера ЧПУ

Видео, демонстрирующее процесс сборки и работы плоттера с ЧПУ

Источник статьи

(Проголосуй первым!)
Загрузка...
63 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *