Установка и настройка GRBL ESP32

Разработка проектов под заказ

Для работы ЧПУ станка требуется подключение к компьютеру. А станки с панелью управления стоят дорого, и покупать для малого бизнеса или хобби не выгодно. И волей-неволей, возникает вопрос, как можно управлять ЧПУ станком удаленно по Wi-Fi или Bluetooth? Сегодня начнем изучать, как это можно реализовать и, при этом, потратить чуть больше, чем сборка ЧПУ станка на Arduino UNO и CNC shield v3. Для этого мы будем использовать плату ESP32 и прошивку Grbl_Esp32. Приступим к изучению данной железки и программного обеспечения.

Подготовка среды Arduino IDE. Установка всех необходимых библиотек.

Для работы с платой ESP32, среду разработки Arduino IDE необходимо настроить, об этом рассказывал в статье: «Установка, прошивка платы ESP32 в Arduino IDE (Windows, Mac OS X, Linux)». Поэтому останавливаться на данном этапе не буду. А приступим сразу к установке библиотеки Grbl_Esp32, которую можно скачать со страницы разработчика. Для этого заходим в поисковую систему Яндекс, и в строке поиска указываем «ESP32 GRBL». Первая в выдаче поисковой системы ссылка на страницу на GitHub.

поисковую систему Яндекс, и в строке поиска указываем «ESP32 GRBL»

Переходим и скачиваем библиотеку.

Переходим и скачиваем библиотеку.


Установка библиотек, необходимых для работы Grbl_Esp32.

Скачанный архив с библиотеками нужно распаковать. Для этого кликаем по архиву правой кнопкой мыши и выбираем «Распаковать здесь».

Скачанный архив с библиотеками нужно распаковать.

Как написано в описании к данной прошивке на странице «wiki» -> «Compiling the firmware», необходимо установить библиотеки, которые располагаются в папке «libraries» скачанного архива.

Как написано в описании к данной прошивке на странице «wiki» - data-verified= «Compiling the firmware»" style="display: block; margin: auto;" >

Папки с библиотеками нужно скопировать в папку с библиотеками Arduino IDE, которые располагаются по адресу «...\Documents\Arduino\libraries» (для компьютеров на операционной системе Windows).

Папки с библиотеками нужно скопировать в папку с библиотеками Arduino IDE


Также нам нужно установить библиотеку для работы с драйверами TMC. Это нужно сделать, даже если вы не планируете использовать драйвера данного типа. Установить библиотеку можно скачав архив со страницы GitHub, или через менеджер библиотек.

ерез менеджер библиотек

Для этого в программе Arduino IDE переходим в меню «Скетч» -> «Подключить библиотеку» -> «Управление библиотеками». Подождите, пока диспетчер библиотек загрузит индекс библиотек и обновит список установленных библиотек.

Отфильтруйте свой поиск, набрав «TMCStepper». И нажмите на кнопку «Установка».

Отфильтруйте свой поиск, набрав TMCStepper

На этом установка дополнительных библиотек закончена.

Скачать прошивку и библиотеки можно внизу статьи в разделе «файлы для скачивания».

Предварительная настройка прошивки Grbl_Esp32.

Перед загрузкой кода нужно настроить прошивку, указав конфигурацию станка, и к каким пинам что подключено. В наборе прошивки уже есть достаточно большое количество конфигураций различных ЧПУ станков: плоттер, лазерный станок, 3-х осевой станок, и даже 6-ти осевой станок с ЧПУ. Вот такая классная прошивка. Так как я планирую покрутить тремя шаговыми двигателям, то буду использовать конфигурацию: «3axis_v4.h». Для того, чтобы прошивка понимала, что мы будем использовать данный файл конфигурации, нам нужно зайти в папку «Grbl_Esp32-main\Grbl_Esp32\src» и открыть файл «Machine.h» и закомментировать строку

Grbl_Esp32-main

#include "Machines/test_drive.h"

И раскомментировать строку

#include "Machines/3axis_v4.h"

 открыть файл «Machine.h»

Сейчас можно посмотреть на файл конфигурации, который мы будем использовать, для этого переходим в папку: «Grbl_Esp32-main\Grbl_Esp32\src\Machines». Тут хранится не только файл, который мы будем использовать, но и другие конфигурации станков, о которых я говорил выше. Открываем файл «3axis_v4.h» и видим настройки подключения драйверов, шпинделя, охлаждения.

Открываем файл 3axis_v4.h

Сейчас можно приступить к загрузке кода в отладочную плату ESP32.

Загрузка прошивки Grbl_Esp32 в отладочную плату esp32 devkit v1.

ESP32 devkit v1 использую как пример. Вы можете использовать другую отладочную плату.

Для загрузки кода подключаем ESP32 к компьютеру и в Arduino IDE выбираем следующие параметры: Плата «ESP32 Dev Module», «Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)», и порт, к которому подключена плата ESP32.

Для загрузки кода подключаем ESP32 к компьютеру и в Arduino IDE выбираем следующие параметры

Нажимаем кнопку загрузить.

Нажимаем кнопку загрузить.

При компиляции скетча вам выдаст предупреждение «ПРЕДУПРЕЖДЕНИЕ: библиотека arduino_484469 должна запускаться на архитектурах (avr) и может быть несовместима с вашей платой на архитектуре (esp32)». Это компилятор ругается на библиотеку «TMCStepper».

Это компилятор ругается на библиотеку «TMCStepper»

Когда вы увидите вот такую надпись «Connecting........_____.....__», необходимо нажать на кнопку «Boot» на плате ESP32, и удерживать ее, пока не начнется загрузка.

Когда вы увидите вот такую надпись Connecting........_____.....__, необходимо нажать на кнопку Boot на плате ESP32

По завершению загрузки вы увидите надпись «Загрузка завершена».

По завершению загрузки вы увидите надпись Загрузка завершена

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

Первый запуск ЧПУ станка на ESP32 по Wi-Fi.

Первичная настройка прошивки сделана, загрузка прошла успешно. Как же нам посмотреть что получилось? Для этого открываем Wi-Fi подключение, и найдем сеть с именем «GRBL_ESP32»,- это ESP32 создала точку доступа. Подключаемся к данной сети.

открываем Wi-Fi подключение, и найдем сеть с именем «GRBL_ESP32

Пароль для подключения, по умолчанию, «12345678», который можно будет изменить через веб-интерфейс устройства.

Пароль для подключения, по умолчанию, 12345678

После того, как мы подключились к нашему устройству, автоматически открывается сайт «http://www.msftconnecttest.com/redirect » в браузере. На данной странице вы сможете произвести первичные настройки станка, а также установить веб-интерфейс для управления станком прямо из браузера, чем мы и займемся.

На данной странице вы сможете произвести первичные настройки станка

В разделе «Flash Filesystem» выбираем файлы веб-интерфейса, которые мы скачали вместе с прошивкой, они располагаются в папке «Grbl_Esp32-main\Grbl_Esp32\src\data»

В разделе Flash Filesystem выбираем файлы веб-интерфейса, которые мы скачали вместе с прошивкой

 выбираем файлы веб-интерфейса

После того, как файлы выбраны, нажимаем на кнопку «Go to ESP3D interface». После установки вы увидите интерфейс управления станком.

После того, как файлы выбраны, нажимаем на кнопку Go to ESP3D interface

Теперь мы можем посмотреть, что собой представляет веб-интерфейс управления ЧПУ станком на ESP32. Первое, что нужно сделать, это поменять язык интерфейса на Русский.Можно сделать это в 2-х пунктах меню. 1. На момент установки мной, данный метод не работал, но я все же его опишу. Заходим в пункт меню «Setup», открывается окно настройки станка.

открывается окно настройки станка

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

Переходим в пункт меню Preferences

2. Переходим в пункт меню «Preferences», и в выпадающем меню выбираем русский язык. Не забываем нажать кнопку «сохранить», и интерфейс будет на Русском языке, но не все пункты. Перевод сделан не полностью. Но это не страшно.

интерфейс будет на Русском языке

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

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

Основные функции веб-интерфейса управления ESP32 ЧПУ.

Раздел «Команды» - аналог консоли любой управляющей программы, тут выводятся команды и положение станка в данный момент. Вывод можно настроить. Отключить подробный режим и настроить время вывода информации о положении осей.

Раздел «Команды» - аналог консоли любой управляющей программы

Раздел «Управление» позволяет перемещать оси станка и показывает текущие координаты. А также позволяет создавать макросы. Макросы - это быстрые команды, по аналогии пользовательских кнопок в программе LaserGRBL, которые мы рассматривали в статье: «Установка grbl 1.1 на Arduino uno. Основы работы в программе LaserGRBL».

Раздел «Управление»

Раздел «GRBL», в нем можно управлять скоростью вращения шпинделя, включать и отключать шпиндель и охлаждение.

Раздел «Управление»

Раздел «Файлы на SD-карте» говорит сам за себя. Тут будут отображаться файлы, которые хранятся на карте памяти. Но так как она не подключена, тут пока ничего нет.

Раздел «Файлы на SD-карте»

Пункты меню GRBL и ESP3D.

Если мы перейдем на вкладку меню «GRBL», тут мы увидим настройки станка, аналогичные настройкам, которые мы рассматривали в предыдущей статье «Установка grbl 1.1 на Arduino uno. Основы работы в программе LaserGRBL». Правда тут настроек больше, так как данная прошивка позволяет управлять вплоть до шести осями ЧПУ станка.

Если мы перейдем на вкладку меню «GRBL»

На вкладке меню «ESP3D» мы можем настраивать подключение к ESP32. Можно изменить точку доступа на режим станции. Что это такое и чем они отличаются, я рассказывал в уроке: «Веб-сервер ESP32 (ESP8266) в среде Arduino IDE»

На вкладке меню «ESP3D»

Также на вкладке «Настройки ESP3D» можно перезагрузить устройство, обновить прошивку, обновить веб-интерфейс и посмотреть состояние устройства.

Вывод.

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

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

Понравился проект Установка и настройка GRBL ESP32.? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Фотографии к статье

Файлы для скачивания

Grbl_Esp32 версия на момент написания статьи Grbl_Esp32 версия на момент написания статьи.zip865 Kb 954 Скачать
libraries libraries.zip82 Kb 718 Скачать
TMCStepper библиотека     TMCStepper библиотека .zip5401 Kb 709 Скачать

Комментарии

Ваше Имя*

Валентин

Гость: Валентин (11 августа, 2021 в 21:05)

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

Alexander

Гость: Alexander (9 августа, 2021 в 00:23)

SD пашет у автора? У меня на этой плате нет, при обращении из вебморды к сд уходит в ребут

Алексей

Гость: Алексей (4 августа, 2021 в 22:04)

С инверсией шпинделя разобрался. Необходимо в файле Defaults.h строка 211 - # define DEFAULT_INVERT_SPINDLE_ENABLE_PIN 1

кому интересно как я сделал контроллер для ЛПТ порта

Kasum

Гость: Kasum (15 июля, 2021 в 22:58)

мне очень нравиться.

Алексей

Гость: Алексей (14 апреля, 2021 в 00:53)

И тоже по поводу инверсии сигнала шпинделя, очень надо тоже проинвертировать программно этот пин.

Admin

Admin (28 марта, 2021 в 17:47)
А как можно инвертировать в прошивке сигнал шпинделя
Управление шпинделем происходит с помощью одного пина. Скорость можем регулировать, а инвертировать нельзя. Поменять провода на двигателе проще.

Алексей

Гость: Алексей (26 марта, 2021 в 22:03)

А как можно инвертировать в прошивке сигнал шпинделя

Николай

Гость: Николай (19 марта, 2021 в 09:15)

Прошу скомпилировать Grbl_Esp32-main в .bin

павел

Гость: павел (14 февраля, 2021 в 15:36)

Добрый день на плату Nodemcu-32s не загружается , пишет "скетч слишком большой"