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

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

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

Что такое GRBL?

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

Для лучшего понимания этого процесса посмотрите на следующую схему:

GRBL и Arduino принцип работы ЧПУ станка
Схема работы GRBL и Arduino для ЧПУ станка

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

Необходимое оборудование

  • Arduino — Для работы с GRBL понадобится плата Arduino, предпочтительно модель с микроконтроллером Atmega 328, такая как Arduino UNO или Nano.
  • Шаговые двигатели — Эти моторы обеспечивают движение станка с ЧПУ.
  • Драйверы шаговых двигателей — Для управления шаговыми двигателями подойдут драйверы A4988 или DRV8825, которые часто применяются в компактных самодельных станках с ЧПУ.
  • Arduino CNC Shield — Плата расширения для удобного подключения драйверов и других компонентов, таких как шпиндель, концевые выключатели и вентиляторы охлаждения.

Это основные элементы, необходимые для сборки ЧПУ-станка и понимания его работы.

На примере самодельного станка для резки пенопласта можно увидеть, как соединяются все компоненты:

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

Вот список основных компонентов для этой сборки:

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

Главным инструментом в этом станке служит горячая проволока, которая легко расплавляет пенополистирол, придавая ему нужную форму.

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

Для того чтобы загрузить GRBL на Arduino, сначала понадобится установить Arduino IDE.

После этого можно скачать прошивку GRBL с официального репозитория на GitHub.

Загрузка прошивки GRBL с GitHub
 

После того как файл .ZIP будет скачан, выполните следующие шаги:

  • Распакуйте архив «grbl-master.zip»
  • Откройте Arduino IDE и перейдите в Sketch > Include Library > Add .ZIP Library…
Добавление GRBL в Arduino IDE
Добавление GRBL в Arduino IDE

В извлечённой папке «grbl-master» найдите папку «grbl» и откройте её. Теперь нам нужно добавить её как библиотеку в Arduino IDE.

Использование GRBL как библиотеки в Arduino IDE
  • Теперь перейдите в File > Examples > grbl > grblUpload. Откроется новый скетч, который необходимо загрузить на Arduino. Несмотря на то, что код кажется простым и состоит из одной строки, вся основная работа происходит через библиотеку GRBL. После этого просто выберите плату Arduino и COM-порт, а затем нажмите на кнопку загрузки. Теперь прошивка GRBL установлена!

Настройка GRBL

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

Введя команду «$$», мы увидим список настроек GRBL, который может выглядеть следующим образом:

$100 = 250.000 (x, шаги/мм)
$101 = 250.000 (y, шаги/мм)
$102 = 3200.000 (z, шаги/мм)
$110 = 500.000 (макс. скорость x, мм/мин)
$111 = 500.000 (макс. скорость y, мм/мин)
$112 = 500.000 (макс. скорость z, мм/мин)
$120 = 10.000 (ускорение x, мм/с²)
$121 = 10.000 (ускорение y, мм/с²)
$122 = 10.000 (ускорение z, мм/с²)

Эти настройки можно адаптировать к конкретным характеристикам вашего станка. Например, параметр $100 = 250.000 (x, шаги/мм) указывает, сколько шагов должен совершить двигатель для перемещения оси X на 1 мм. Но если вы не уверены в этих значениях, можно оставить их как есть, а позже воспользоваться специальным ПО для более удобной настройки, о котором поговорим далее.

Программное обеспечение для GRBL

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

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

Как работать с Universal G-code Sender

В этом примере используется версия платформы 2.0. После скачивания необходимо распаковать zip-файл, открыть папку «bin» и запустить исполняемый файл «ugsplatform». Так как программа написана на Java, вам потребуется предварительно установить Java Runtime Environment.

После запуска программы необходимо подключить станок и настроить параметры GRBL, о которых мы говорили ранее. В программе UGS предусмотрен мастер настройки, который значительно упрощает процесс и заменяет ввод команд вручную через Serial Monitor.

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

Первый шаг — выбрать скорость передачи (115200) и порт, к которому подключен Arduino. После подключения можно протестировать направление движения двигателей.

Проверка направления движения двигателей в UGS
Проверка направления движения двигателей в UGS

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

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

Настройка параметра шагов/мм

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

Настройка шагов двигателя

В моем случае, смещение станка составило 3 мм. Следовательно, специалист порекомендовал изменить параметр шаги на миллиметр на значение 83.

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

После корректировки параметра шагов, станок начал двигаться корректно. Теперь 1 мм в программе соответствует 1 мм на станке с ЧПУ.

Консоль UGS
Консоль UGS

В консоли UGS можно отслеживать команды, отправляемые станку при каждом действии. При изменении параметра шагов на миллиметр, UGS отправил в прошивку GRBL команду для изменения значения с $100 = 250 000 (шаги X) на $100 = 83.

Следующий этап — включение и проверка концевых выключателей на корректную работу.

Включение концевых выключателей
Включение концевых выключателей

Концевые выключатели можно инвертировать в зависимости от их состояния: нормально замкнутые или нормально разомкнутые.

Отдельно стоит отметить необходимость отключения Z-выключателя в некоторых случаях. Например, для ЧПУ станка для резки пенопласта не потребовался Z-концевик, поэтому его отключили. Для этого нужно внести изменения в файл config.h, который находится в папке библиотеки Arduino.

Файл config.h
Файл config.h

Нужно найти строки, отвечающие за режим возврата в исходное положение, закомментировать настройки для 3-осевого станка и раскомментировать настройки для 2-осевого. Сохраните файл и загрузите обновленный grblUpload на плату Arduino.

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

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

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

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

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

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

Заключение

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

Arduino Uno и Arduino CNC Shield GRBL
Arduino Uno и Arduino CNC Shield GRBL

Стоит отметить, что существует множество других настроек и функций, доступных через прошивку GRBL. Все они подробно описаны в официальной документации, которую можно найти на вики-странице на GitHub.

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

Вам может также понравиться...

1 комментарий

  1. Анатолий:

    Спасибо за интересную информацию. Подскажите, пожалуйста, что моет быть неправильно. Если я получаю такие сообщения
    https://ibb.co/vhz2Dmv
    И где можно посмотреть весь список сообщений и их расшифровку.
    Спасибо.

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

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


Срок проверки reCAPTCHA истек. Перезагрузите страницу.