Чпу станок на ардуино. Автономный контроллер ЧПУ станка на Arduino: пошаговая инструкция по сборке

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

Содержание

Необходимые компоненты для сборки автономного контроллера ЧПУ

Для создания автономного контроллера ЧПУ станка на базе Arduino потребуются следующие компоненты:

  • Arduino Mega 2560 (или более мощная плата)
  • LCD дисплей 20×4 символа с I2C интерфейсом
  • Энкодер с кнопкой для навигации по меню
  • Модуль SD-карты для хранения G-кода
  • Драйверы шаговых двигателей (например, A4988)
  • Источник питания 12-24В
  • Провода, резисторы, конденсаторы

Центральным элементом контроллера является Arduino Mega 2560, обладающая достаточной производительностью и объемом памяти для управления ЧПУ станком. LCD дисплей и энкодер позволят создать удобный пользовательский интерфейс.

Подключение компонентов к Arduino

Схема подключения основных компонентов к Arduino Mega:


  • LCD дисплей: SDA — пин 20, SCL — пин 21
  • Энкодер: CLK — пин 2, DT — пин 3, SW — пин 4
  • Модуль SD-карты: MISO — пин 50, MOSI — пин 51, SCK — пин 52, CS — пин 53
  • Драйверы шаговых двигателей: STEP/DIR сигналы на цифровые пины

При подключении обязательно используйте подтягивающие резисторы для энкодера и ограничивающие резисторы для LCD дисплея. Не забудьте про общий провод GND между всеми компонентами.

Программирование контроллера ЧПУ на Arduino

Основные этапы разработки программного обеспечения для контроллера:

  1. Реализация меню на LCD дисплее с навигацией через энкодер
  2. Чтение G-кода с SD-карты
  3. Парсинг и выполнение команд G-кода
  4. Управление шаговыми двигателями через драйверы
  5. Реализация основных функций ЧПУ станка (перемещение, обнуление координат и т.д.)

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

  • LiquidCrystal_I2C — для работы с LCD дисплеем
  • RotaryEncoder — для обработки сигналов с энкодера
  • SD — для работы с SD-картой
  • AccelStepper — для управления шаговыми двигателями

Настройка и калибровка контроллера

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


  1. Задать параметры шаговых двигателей (количество шагов на оборот, микрошаг)
  2. Установить максимальные скорости и ускорения по осям
  3. Откалибровать перемещение по осям (шаг/мм)
  4. Настроить концевые выключатели и процедуру обнуления координат
  5. Задать размеры рабочей области станка

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

Преимущества автономного контроллера ЧПУ

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

  • Портативность — возможность использовать станок без подключения к ПК
  • Надежность — отсутствие проблем с драйверами и связью с компьютером
  • Экономичность — не требуется покупка дорогого ПО для управления
  • Простота использования — интуитивно понятный интерфейс на дисплее
  • Возможность полной кастомизации под свои задачи

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


Возможные улучшения автономного контроллера

Базовую версию контроллера можно улучшить, добавив следующие возможности:

  • Беспроводной интерфейс (WiFi, Bluetooth) для удаленного управления
  • Сенсорный TFT-дисплей для более удобного управления
  • Поддержка различных типов инструментов (фреза, лазер, 3D-печать)
  • Система автоматической смены инструмента
  • Встроенный G-code редактор для внесения изменений в программу

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

Примеры использования автономного контроллера ЧПУ

Рассмотрим несколько сценариев практического применения собранного контроллера:

  1. Гравировка на дереве — загрузка векторного рисунка с SD-карты и выполнение гравировки без подключения к ПК
  2. Фрезерование деталей — запуск готовой управляющей программы для изготовления серии однотипных деталей
  3. 3D-печать — использование контроллера в качестве автономной системы управления 3D-принтером
  4. Лазерная резка — точное управление лазером для вырезания деталей из тонких материалов

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


Заключение

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


Как настроить GRBL и управлять станком с ЧПУ на Arduino

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

Кроме того, мы узнаем, как использовать Universal G-code Sender, популярное программное обеспечение контроллера GRBL с открытым исходным кодом.

Что такое GRBL?

GRBL — это программное обеспечение или прошивка с открытым исходным кодом, которая позволяет управлять движением для станков с ЧПУ. Мы можем легко установить прошивку GRBL на Arduino и сразу же получить недорогой высокопроизводительный контроллер ЧПУ. GRBL использует G-код в качестве ввода и выводит управление движением через Arduino.

Для лучшего понимания мы можем взглянуть на следующую схему:

GRBL и Arduino принцип работы ЧПУ станка

Из схемы мы можем видеть место GRBL в принципе работы станка с ЧПУ.  Это прошивка, которую нам нужно установить или загрузить в Arduino, чтобы она могла управлять шаговыми двигателями станка с ЧПУ. Другими словами, функция прошивки GRBL заключается в переводе G-кода в движение двигателя.

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

  • 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

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

Как установить GRBL

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

Затем мы можем скачать прошивку GRBL с github.com.

 

Загрузите файл .ZIP и выполните следующие действия:

  • Откройте файл grbl-master. zip и извлеките файлы
  • Откройте IDE Arduino, перейдите в Sketch> Включить библиотеку> Добавить библиотеку .ZIP…
Добавление GRBL прошивки в IDE Arduino

Перейдите в извлеченную папку «grbl-master», в ней выберите папку «grbl» и щелкните открытый файл. Теперь нам нужно использовать GRBL как библиотеку Arduino.

  • Затем перейдите в Файл> Примеры> grbl> grblUpload. Откроется новый скетч, и нам нужно загрузить его на плату Arduino. Код может выглядеть странно, так как это всего лишь одна строка, но не беспокойтесь, все происходит в фоновом режиме в библиотеке. Итак, нам просто нужно выбрать плату Arduino, COM-порт и нажать эту кнопку загрузки, и все готово.

Конфигурация GRBL

На этом этапе мы должны настроить GRBL для нашей машины. Мы можем сделать это через Serial Monitor IDE Arduino. Как только мы откроем Serial Monitor, мы получим сообщение типа «Grbl 1.1h [‘$’ for help]». Если вы не видите это сообщение, убедитесь, что вы изменили скорость передачи данных на 115200. 2)

Все эти команды могут или должны быть настроены в соответствии с нашим станком с ЧПУ. Например, с первой командой, $100 = 250,000 (x, шаг / мм), мы можем отрегулировать шаги на мм машины, или мы можем указать, сколько шагов должен сделать двигатель, чтобы наша ось X сместилась на 1 мм.

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

Контроллер GRBL

Итак, после того, как мы установили прошивку GRBL, теперь наш Arduino знает, как читать G-код и как управлять станком с ЧПУ в соответствии с ним. Однако, чтобы отправить G-код на Arduino, нам нужен какой-то интерфейс или программное обеспечение контроллера, которое сообщит Arduino, что делать. На самом деле для этого существует множество программ как с открытым кодом, так и коммерческих, подробно о них вы можете узнать из нашей статьи. Конечно, мы будем придерживаться открытого исходного кода, поэтому в качестве примера мы будем использовать Univarsal G-code Sender.

Интерфейс Univarsal G-code Sender

Как использовать универсальный отправитель G-кода

В этом примере я буду использовать версию платформы 2.0. После загрузки нам нужно извлечь zip-файл, перейти в папку «bin» и открыть любой из исполняемых файлов «ugsplatfrom». На самом деле это программа JAVA, поэтому для запуска этой программы сначала необходимо установить среду выполнения JAVA .

Как только мы откроем универсальный отправитель G-кода, сначала нам нужно настроить машину и настроить параметры GRBL, показанные ранее. Для этой цели мы воспользуемся мастером настройки UGS, который намного удобнее, чем вводить команды вручную через Serial Monitor IDE Arduino.

Выбор скорости передачи GRBL

Первый шаг здесь — выбрать скорость передачи, которая должна быть 115200, и порт, к которому подключен наш Arduino. Как только мы подключим Univarsal G-code Sender к Arduino, на следующем шаге мы сможем проверить направление движения двигателей.

Направление движения двигателей UGS

При необходимости мы можем изменить направление с помощью мастера или вручную переключить соединение двигателя на Arduino CNC Shield.

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

Значение по умолчанию — 250 шагов / мм. Это означает, что если мы нажмем кнопку перемещения «x +», двигатель сделает 250 шагов. Теперь, в зависимости от количества физических шагов двигателя, выбранного шагового разрешения и типа передачи, машина будет перемещаться на некоторое расстояние. Используя линейку, мы можем измерить фактическое перемещение машины и ввести это значение в поле «Фактическое перемещение». На основании этого мастер рассчитает и сообщит нам, на какое значение следует изменить параметр шаги / мм.

В моем случае станок сдвинулся на 3 мм. В соответствии с этим мастер предложил обновить параметр шаги / мм до значения 83.

GRBL калибровка шагов

После обновления этого значения станок теперь движется правильно, 1 мм в программном обеспечении означает 1 мм для станка с ЧПУ.

Консоль UGS

В консоли UGS, когда мы выполняем каждое действие, мы можем видеть выполняемые команды. Мы можем заметить, что, обновив параметр steps / mm, программа UGS фактически отправила в Arduino или прошивку GRBL команду, о которой мы упоминали ранее. Это было значение по умолчанию: $100 = 250 000 (x, шаг / мм), и теперь мы обновили значение до 83 шагов на мм: $100 = 83.

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

Включение коцевиков

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

Здесь стоит отметить, что иногда нам нужно отключить концевой выключатель оси Z. Так было сj станком для резки пенопласта с ЧПУ, где мне не нужен был концевой выключатель оси Z, и мне пришлось отключить его, чтобы иметь возможность правильно разместить станок. Итак, для этого нам нужно отредактировать файл config.h, который находится в папке библиотеки Arduino (или Documents \ Arduino \ libraries).

Файл config.h

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

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

Возврат в исходное положение

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

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

Ограничения станка с ЧПУ в UGS

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

Заключение

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

Arduino Uno и Arduino CNC Shield GRBL

Конечно, доступно множество других настроек и функций, так как GRBL действительно совместима с прошивкой контроллера ЧПУ. Все это подробно объясняется в документации GRBL, так что вы всегда можете проверить их на их вики-странице на github.com .

Кроме того, существует множество других программ контроллера GRBL с открытым исходным кодом, таких как Universal G-code Sender, и вот несколько: GRBLweb (веб-браузер), GrblPanel (графический интерфейс Windows), grblControl (графический интерфейс Windows / Linux), Easel (на основе браузера) и т. д. Вы должны изучить их и посмотреть, какой из них вам больше подходит.

Автономный контроллер ЧПУ станка на Arduino?

Intagan
✩✩✩✩✩✩✩