ЧПУ станок своими руками на базе arduino. Пошаговая инструкция + видео

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

Внешний вид плоттера с ЧПУ на основе Arduino Uno

В этом проекте мы рассмотрим создание самодельного (DIY) плоттера с ЧПУ на основе платы Arduino Uno. Из всех плоттеров, которые можно изготовить самому, этот является одним из самых простых. Наш самодельный плоттер сможет рисовать большинство основных форм, текстов и даже мультфильмов. Он работает примерно по такому же принципу, как и человеческая рука, но намного быстрее и точнее чем может рисовать человек. Подробно процесс функционирования этого плоттера вы можете посмотреть на видео, приведенном в конце статьи.

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

Для работы плоттера с ЧПУ при построения графиков с ЧПУ требуется 3 оси (ось x, ось y и ось z). Оси x и y работают в унисон для создания 2D-изображения на обычной бумаге. Эти оси (x и y) расположены под углом 90 градусов друг к другу таким образом, что любая точка на плоской поверхности определяется заданным значением x и y. Ось z используется для подъема и опускания пера на плоскую бумагу.

В зависимости от того, какое изображение необходимо нарисовать, компьютер будет генерировать соответствующие координаты и отправлять их на микроконтроллер через USB-порт. Микроконтроллер интерпретирует эти координаты, а затем управляет положением двигателей для создания изображения. В качестве микроконтроллера в данном проекте мы использовали плату Arduino.

Требуемое оборудование

  • Arduino — Как мы уже говорили, нам понадобится Arduino для установки GRBL. В частности, нам нужна плата Arduino на базе Atmega 328, а это означает, что мы можем использовать либо Arduino UNO, либо Nano.
  • Шаговые двигатели. Очевидно, что шаговые двигатели обеспечивают движение машины.
  • Драйверы — для управления шаговыми двигателями нам нужны драйверы, и распространенный выбор, когда дело доходит до небольших станков с ЧПУ DIY (использующих шаговые двигатели NEMA 14 или 17), — это драйверы A4988 или DRV8825.
  • Arduino CNC Shield — для подключения шаговых драйверов к Arduino самый простой способ — использовать Arduino CNC Shield. Он использует все контакты Arduino и обеспечивает простой способ подключения всего, шаговых двигателей, шпинделя / лазера, концевых выключателей, охлаждающего вентилятора и т. д.

Обратите внимание, что это только основные электронные компоненты, которые нам нужны, чтобы понять, как работает станок с ЧПУ.

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

Схема сборки станка с ЧПУ GRBL

Здесь вы можете проверить и получить основные электронные компоненты, необходимые для сборки этого станка с ЧПУ:

  • Шаговый двигатель — NEMA 17
  • Шаговый драйвер A4988
  • Arduino CNC Shield
  • Arduino Uno

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

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

Аппаратные компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Шилд (плата расширения) драйвера двигателей L293D (купить на AliExpress).
  3. Старый HP/Epson принтер. Можно использовать старый компьютерный DVD привод.
  4. Мини сервомотор (купить на AliExpress).
  5. Алюминиевый лист (710mm x 710mm).
  6. Органическое стекло.
  7. Болты и гайки.
  8. Ручка.

Плата Arduino, драйвер мотора и ручка

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

Инструменты

Отвертка Дрель Режущий инструмент (ножовка) Клей Стендовое устройство

Программное обеспечение

Arduino IDE version 1.6.6 или новее Processing IDE version 3.1.1 или новее (последнюю версию можно скачать здесь) Inkscape version 0.48.5 или новее. (скачать здесь) Grbl controller (опционально)

Основание для ЧПУ плоттера

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

Дизайн и размеры основания показаны на следующем рисунке (все размеры указаны в мм):

Размеры основания для нашего плоттера

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

Внешний вид собранного основания для плоттера

Как сделать ЧПУ-станок для выжигания на различных материалах?

Станок для выжигания работает при помощи лазера, который фокусирует луч на поверхности материала. Обычно фокусная не более 0,001 дюйма.

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

пример изделия

При правильной настройке скорость работы лазерного станка для выжигания составляет 10 метров в минуту. Ее можно увеличить, если управлять работой устройства с ноутбука, убрав LPT-кабель.

Сборка X, Y и Z осей

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

Для z-оси мы использовали мини сервомотор, который мы прикрепили к y-оси с помощью клея. Этот сервомотор будет использоваться для подъема и опускания ручки (карандаша). Также необходимо сконструировать хороший поддерживающий механизм, который бы позволял свободно поднимать и опускать ручку.

Вид основания плоттера с двумя установленными опорами от принтера

Схема плоттера

Вставьте шилд (плату расширения) драйвера двигателей L293D в плату Arduino. Эта плата расширения может одновременно управлять двумя шаговыми и двумя серводвигателями. Присоедините к ней два шаговых двигателя как показано на рисунке. Соединения “земли” необходимо оставить не соединенными поскольку у нас двигатели биполярного типа.

Также подключите мини сервомотор к разъему servo1. Подайте питание напряжением 7.5V — 9V на порт питания шилда драйвера мотора. Устройство готово к тестированию.

Для чего нужны шилды?

Использование шилдов позволяет значительно расширить функционал фрезера. Чаще всего их делают под форм-фактор платы. Можно одновременно применять и несколько шилдов. Спектр применения весьма широк:

  1. Обеспечение независимой работы от компьютера.
  2. Подключение периферийных устройств.
  3. Вывод информации на периферийные устройства непосредственно с «Ардуино».
  4. Одновременное управление большим количеством двигателей.
  5. Хранение и обработка объемной информации.
  6. Подключение к Wi-Fi.
  7. Подключение антенн мобильной сети.
  8. Воспроизведение музыки на «Ардуино» и др.

ВАЖНО . Во время подключения шилдов необходимо быть осторожным, чтобы не повредить плату «Ардуино».

Как сгенерировать свой собственный G-код

В этом разделе статьи мы рассмотрим как с помощью программного обеспечения Inkscape сгенерировать G-код для надписи HELLO WORLD.

Создание надписи HELLO WORLD в Inkskape

Примечание: Inkscape не умеет сохранять G-коды. Поэтому дополнительно установите вот этот MakerBot Unicorn plugin который позволяет экспортировать изображения в G-коды. Но новые версии Inkscape, возможно, уже умеют сохранять G-коды. Оригинал этой статьи был написан в 2022 году, возможно, с тех пор уже что то изменилось.

Если установка прошла успешно, откройте File menu в Inkscape кликните на «Document Properties» (свойства документа). Сначала измените размеры с px на миллиметры (mm). Также уменьшите ширину и высоту до 90 мм. Теперь закройте это окно. После этого в зоне рисования появится квадрат – именно в нем мы и будем писать наш текст.

Теперь слева в панели инструментов кликните на “create and edit text object tab”. Напишите текст «HELLO WORLD» и установите его необходимую позицию с помощью инструмента, показанного на следующем рисунке.

Кликните text и выберите необходимый вам шрифт. Кликните apply (применить) и закройте.

Теперь кликните на «path» и выберите «object to path». Теперь ваш текст готов к сохранению в виде G-кода. Кликните на file -> save и напишите имя файла «hello world».

Измените тип файла на «MakerBot Unicon G-Code» как показано на следующем рисунке (эта возможность будет вам доступна если вы успешно установили плагин MakerBot Unicorn). Теперь нажмите на «save» и кликните на «ok» в открывшемся окне.

Сохранение G-кода с помощью плагина MakerBot Unicorn

Сохраненный G-код вы можете использовать для рисования на плоттере с помощью выше описанных операций.

RoboCraft

Хочется иногда изготовить какую-то деталь. Нет ничего проще: берем болванку -> долгий процесс ручной обработки -> готовая деталь. Но точность изготовления, даже с прямыми руками, оставляет желать лучшего, времени на работу уходит море, да и деталей, как правило, необходимо сделать несколько. Гораздо интереснее сделать инструмент, который значительно облегчит изготовление почти любой детали — фрезерный ЧПУ станок.

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

Поскольку задача изготовления станка является достаточно сложной, то я разбил её на несколько подзадач: I. Изготовление механики II. Выбор и использование двигателя III. Разработка и изготовление электроники управления IV. Выбор программного обеспечения

I. Изготовление механики

На просторах интернета можно найти множество русскоязычных сайтов, на которых народ делится опытом изготовления ЧПУ станков, но, к сожалению, информация на них не систематизируется. В целом, станки изготавливают из подручных материалов, дерева, алюминия или стали. Всё определяется конечным материалом, который требуется обрабатывать: чем твёрже обрабатываемый материал и нужна большая точность — тем твёрже материал станка. Я остановил свой выбор на обработке дерева и алюминия, а соответственно можно попробовать изготовить станок из дерева.

Дале я попытался найти чертежи станков, которые представляют на сайтах и среди многих наиболее часто попадались отзывы о: — станок из МДФ — станок «Графа»

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

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

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

Долгое время я не решался делать станок, а потом нашел одно занимательное видео…

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

Об изготовлении механической части станка читайте в следующей части.

II. Выбор и использование двигателя

Решение данного вопроса оказалось достаточно простым. Блуждание по форумам ЧПУ-шников дало однозначный ответ: Kress 1050 FME.

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

На форумах как раз и говорилось, что фрезеры Kress весьма надёжны именно в данном плане, а также по ним имелись хорошие отзывы станкостроителей. В результате Kress 1050 FME был приобретен мною у официального дилера за 7200 рублей. Оправдает ли он затраченных денег — покажет время.

III. Разработка и изготовление электроники управления

Изначально электронику планировалось купить, однако удовлетворяющую моим запросам оказалось не так уж просто найти, а та, что была найдена, имела заоблачную цену. Но прервусь, и прежде всего, расскажу что мне требуется… Станок имеет 3 оси движения каретки и кажется, что двигателя тоже должно быть 3, а я хочу 4! Дело в том, что если, например, захочется выточить ножку стула, то подобная операция проводится немножко другим типом станка — один шаговый двигатель вращает ножку по оси, другой двигает инструмент вдоль оси, а третий определяет расстояние до оси ножки. Но почему бы не объединить оба типа станка? — понадобится только добавить ещё один двигатель, который при необходимости будет вращать деталь вдоль оси. Соответственно мне нужно использовать 4 двигателя.

К тому же я хочу использовать имеющиеся у меня шаговые двигатели от советских принтеров, а они имеют потребление тока, которое не обеспечивают многие контроллеры. Есть ещё один момент… Двигатели — это не всё. В дополнение важны также концевые выключатели, которые обеспечивают прекращение движение при достижении конца рабочей зоны и движение в нулевую точку при начале работы. В общем, много контроллеров, которые меня не устраивают. Ну что же попробуем сделать контроллер сами (на базе микросхем L297, L298).

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

. Подробнее можно почитать в статье «Контроллер шагового двигателя«, однако общий смысл следующий: двигатель сложная система и для того что бы эффективно им управлять нужно знать не только в каком положении он должен оказаться, но и каково его положение было в предыдущий момент. Именно по этой причине многие любители станкостроения используют такое программное обеспечение, как CNCLinux. Дело в том, что это операционная система реального времени, и она позволяет управлять формировать управляющие команды за чётко определённый срок.

Что будет, если отказаться от подобного подхода? Предположим, что мы используем USB соединение с платой управления. То, что мы послали команду на USB, вовсе не означает, что она сразу будет передана устройству — контроллер USB сначала будет ждать или наступления таймаута или заполнения выходного буфера, прежде чем перешлёт команду. Что может произойти за время подобного ожидания? Раскрутившийся шаговый двигатель, обладая моментом инерции, может просто проскочить «зазевавшуюся» обмотку, а в результате усилятся вибрации, уменьшится точность, снизится скорость обработки. В общем, хорошо бы управлять двигателем в реальном времени. Держать для этого целый компьютер, в общем-то, не требуется — достаточно устройства, которое могло бы корректно интерпретировать G-код, на котором описывается куда и как ездить каретке станка, а сам G-код при этом можно хоть с флэшки читать. В проекте RepRap как раз такой контроллер и был реализован на основе arduino. По слухам код прошивки ещё глючит, но проект активно дорабатывается.

IV. Выбор программного обеспечения

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

Контроллер GRBL

Внешний вид окна контроллера GRBL

После того как вы сгенерировали G-код с помощью Inkscape может возникнуть необходимость в проверке того, укладываются ли он в заданные ограничения (по возможности рисования).

Ограничения по рисованию определяются в следующих строчках кода нашей программы для Arduino:

Задание границ рисования плоттера в программе для Arduino

В следующем окне GRBL контроллера можно проверить не выходит ли изображение на сгенерированном нами G-коде за пределы рисования, указанные в программе для Arduino. Если какая то часть изображения будет выходить за эти ограничения, то она не будет нарисована.

В нашем примере значения x и y изменяются в диапазоне от 0 до 40 мм. Но поскольку мы сконструировали плоттер с большей зоной рисования, то мы изменили максимальную границу с 40 до 60 мм.

Поэтому после того как вы нарисовали G-код в Inkscape желательно перед загрузкой его в плату Arduino проверять его с помощью программы GRBL не выходит ли он за пределы области рисования. Если выходит, то просто измените его размеры в Inkscape.

Что такое Arduino

Arduino — это бренд аппаратных и программных средств для построения и прототипирования простых систем, моделей и экспериментов в области электроники, автоматики, автоматизации процессов и робототехники.

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

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

Чаще всего термин «Ардуино» используют для обозначения контроллера с собственным процессором и памятью. Arduino пользуются большой популярностью среди начинающих инженеров и опытных энтузиастов, из-за низкой цены и простоты настройки.

Открытая архитектура плат Arduino позволяет проектировать микроконтроллеры людям с минимальным знанием электротехники. Существенным достоинством можно назвать и доступные в Интернете схемы и коды, созданные для различных типов станков.

К числу самых популярных у инженеров контроллеров Arduino принадлежат UNI, R3, Mega 2560 и Nano.

Рейтинг
( 2 оценки, среднее 4.5 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]