Для работы ЧПУ станка требуется подключение к компьютеру. А станки с панелью управления стоят дорого, и покупать для малого бизнеса или хобби не выгодно. И волей-неволей, возникает вопрос, как можно управлять ЧПУ станком удаленно по 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.
Переходим и скачиваем библиотеку.
Установка библиотек, необходимых для работы Grbl_Esp32.
Скачанный архив с библиотеками нужно распаковать. Для этого кликаем по архиву правой кнопкой мыши и выбираем «Распаковать здесь».
Как написано в описании к данной прошивке на странице «wiki» -> «Compiling the firmware», необходимо установить библиотеки, которые располагаются в папке «libraries» скачанного архива.
«Compiling the firmware»" style="display: block; margin: auto;" >
Папки с библиотеками нужно скопировать в папку с библиотеками Arduino IDE, которые располагаются по адресу «...\Documents\Arduino\libraries» (для компьютеров на операционной системе Windows).
Также нам нужно установить библиотеку для работы с драйверами TMC. Это нужно сделать, даже если вы не планируете использовать драйвера данного типа. Установить библиотеку можно скачав архив со страницы GitHub, или через менеджер библиотек.
Для этого в программе Arduino IDE переходим в меню «Скетч» -> «Подключить библиотеку» -> «Управление библиотеками». Подождите, пока диспетчер библиотек загрузит индекс библиотек и обновит список установленных библиотек.
Отфильтруйте свой поиск, набрав «TMCStepper». И нажмите на кнопку «Установка».
На этом установка дополнительных библиотек закончена.
Скачать прошивку и библиотеки можно внизу статьи в разделе «файлы для скачивания».
Предварительная настройка прошивки Grbl_Esp32.
Перед загрузкой кода нужно настроить прошивку, указав конфигурацию станка, и к каким пинам что подключено. В наборе прошивки уже есть достаточно большое количество конфигураций различных ЧПУ станков: плоттер, лазерный станок, 3-х осевой станок, и даже 6-ти осевой станок с ЧПУ. Вот такая классная прошивка. Так как я планирую покрутить тремя шаговыми двигателям, то буду использовать конфигурацию: «3axis_v4.h». Для того, чтобы прошивка понимала, что мы будем использовать данный файл конфигурации, нам нужно зайти в папку «Grbl_Esp32-main\Grbl_Esp32\src» и открыть файл «Machine.h» и закомментировать строку
#include "Machines/test_drive.h"
И раскомментировать строку
#include "Machines/3axis_v4.h"
Сейчас можно посмотреть на файл конфигурации, который мы будем использовать, для этого переходим в папку: «Grbl_Esp32-main\Grbl_Esp32\src\Machines». Тут хранится не только файл, который мы будем использовать, но и другие конфигурации станков, о которых я говорил выше. Открываем файл «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.
Нажимаем кнопку загрузить.
При компиляции скетча вам выдаст предупреждение «ПРЕДУПРЕЖДЕНИЕ: библиотека arduino_484469 должна запускаться на архитектурах (avr) и может быть несовместима с вашей платой на архитектуре (esp32)». Это компилятор ругается на библиотеку «TMCStepper».
Когда вы увидите вот такую надпись «Connecting........_____.....__», необходимо нажать на кнопку «Boot» на плате ESP32, и удерживать ее, пока не начнется загрузка.
По завершению загрузки вы увидите надпись «Загрузка завершена».
Поздравляю, прошивка прошла успешно, и пришло время проверить, что у нас получилось, и приступить к дальнейшим настройкам.
Первый запуск ЧПУ станка на ESP32 по Wi-Fi.
Первичная настройка прошивки сделана, загрузка прошла успешно. Как же нам посмотреть что получилось? Для этого открываем Wi-Fi подключение, и найдем сеть с именем «GRBL_ESP32»,- это ESP32 создала точку доступа. Подключаемся к данной сети.
Пароль для подключения, по умолчанию, «12345678», который можно будет изменить через веб-интерфейс устройства.
После того, как мы подключились к нашему устройству, автоматически открывается сайт «http://www.msftconnecttest.com/redirect » в браузере. На данной странице вы сможете произвести первичные настройки станка, а также установить веб-интерфейс для управления станком прямо из браузера, чем мы и займемся.
В разделе «Flash Filesystem» выбираем файлы веб-интерфейса, которые мы скачали вместе с прошивкой, они располагаются в папке «Grbl_Esp32-main\Grbl_Esp32\src\data»
После того, как файлы выбраны, нажимаем на кнопку «Go to ESP3D interface». После установки вы увидите интерфейс управления станком.
Теперь мы можем посмотреть, что собой представляет веб-интерфейс управления ЧПУ станком на ESP32. Первое, что нужно сделать, это поменять язык интерфейса на Русский.Можно сделать это в 2-х пунктах меню. 1. На момент установки мной, данный метод не работал, но я все же его опишу. Заходим в пункт меню «Setup», открывается окно настройки станка.
Выполняем настройки в 4-х пунктах меню, после чего первичные настройки будут выполнены. Но в моем случае, кроме первого пункта меню, и последнего, ничего не отображалось, и при этом, все изменения не сохранялись. Поэтому я воспользовался вторым способом настройки.
2. Переходим в пункт меню «Preferences», и в выпадающем меню выбираем русский язык. Не забываем нажать кнопку «сохранить», и интерфейс будет на Русском языке, но не все пункты. Перевод сделан не полностью. Но это не страшно.
Затем заходим в этот же пункт меню, сейчас он называется «Настройки», и можно поставить вот эти 2 галочки. Первая выведет в основном окне интерфейса возможность снять блокировку с панели управления, и мы сможем перемещать оси станка. Вторая галочка добавит в основное меню раздел «Камера», в нем можно настроить IP камеру, которая установлена на станке и следит за процессом работы.
Основные функции веб-интерфейса управления ESP32 ЧПУ.
Раздел «Команды» - аналог консоли любой управляющей программы, тут выводятся команды и положение станка в данный момент. Вывод можно настроить. Отключить подробный режим и настроить время вывода информации о положении осей.
Раздел «Управление» позволяет перемещать оси станка и показывает текущие координаты. А также позволяет создавать макросы. Макросы - это быстрые команды, по аналогии пользовательских кнопок в программе LaserGRBL, которые мы рассматривали в статье: «Установка grbl 1.1 на Arduino uno. Основы работы в программе LaserGRBL».
Раздел «GRBL», в нем можно управлять скоростью вращения шпинделя, включать и отключать шпиндель и охлаждение.
Раздел «Файлы на SD-карте» говорит сам за себя. Тут будут отображаться файлы, которые хранятся на карте памяти. Но так как она не подключена, тут пока ничего нет.
Пункты меню GRBL и ESP3D.
Если мы перейдем на вкладку меню «GRBL», тут мы увидим настройки станка, аналогичные настройкам, которые мы рассматривали в предыдущей статье «Установка grbl 1.1 на Arduino uno. Основы работы в программе LaserGRBL». Правда тут настроек больше, так как данная прошивка позволяет управлять вплоть до шести осями ЧПУ станка.
На вкладке меню «ESP3D» мы можем настраивать подключение к ESP32. Можно изменить точку доступа на режим станции. Что это такое и чем они отличаются, я рассказывал в уроке: «Веб-сервер ESP32 (ESP8266) в среде Arduino IDE»
Также на вкладке «Настройки ESP3D» можно перезагрузить устройство, обновить прошивку, обновить веб-интерфейс и посмотреть состояние устройства.
Вывод.
Не смотря на то, что прошивка еще не совсем доработана, и встречаются недочеты, является достаточно перспективной и позволяет расширить представление о самодельном ЧПУ станке.
В следующей статье подключим шаговые двигатели, и проверим, как работает управление осями через веб-интерфейс.
Понравился проект Установка и настройка GRBL ESP32.? Не забудь поделиться с друзьями в соц. сетях.
Надо скачать Grbl32 master.zip . Проблема в прошивки main.zip. Нехватка место в стеке процессора уходит rebut.
Гость: mihail (16 декабря, 2021 в 23:18)
ok
Гость: Юрий (21 октября, 2021 в 21:59)
Прошивку скачал с этого сайта и решил ась проблема с SD картой - ЕSP её видит ,читает и загружает.
Гость: Юрий (16 октября, 2021 в 20:42)
SD при загрузке , уходит в перезагрузку ESP . Интересно- решение есть ?
Гость: Валентин (11 августа, 2021 в 21:05)
Alexander, у меня тоже в ребут уходит. Пару месяцев назад было норм. Видимо что-то обновили. Есть другие исходники, там файлы видит, но при считывании ребут. Примеры чтения флешки работают. Дело в esp3d исходниках.
Гость: Alexander (9 августа, 2021 в 00:23)
SD пашет у автора? У меня на этой плате нет, при обращении из вебморды к сд уходит в ребут
Гость: Алексей (4 августа, 2021 в 22:04)
С инверсией шпинделя разобрался. Необходимо в файле Defaults.h строка 211 - # define DEFAULT_INVERT_SPINDLE_ENABLE_PIN 1
кому интересно как я сделал контроллер для ЛПТ порта
Гость: Kasum (15 июля, 2021 в 22:58)
мне очень нравиться.
Гость: Алексей (14 апреля, 2021 в 00:53)
И тоже по поводу инверсии сигнала шпинделя, очень надо тоже проинвертировать программно этот пин.
Admin (28 марта, 2021 в 17:47)
А как можно инвертировать в прошивке сигнал шпинделя
Управление шпинделем происходит с помощью одного пина. Скорость можем регулировать, а инвертировать нельзя. Поменять провода на двигателе проще.
Гость: Алексей (26 марта, 2021 в 22:03)
А как можно инвертировать в прошивке сигнал шпинделя
Гость: Николай (19 марта, 2021 в 09:15)
Прошу скомпилировать Grbl_Esp32-main в .bin
Гость: павел (14 февраля, 2021 в 15:36)
Добрый день на плату Nodemcu-32s не загружается , пишет "скетч слишком большой"
Комментарии