ESP3D, Wi-Fi для принтера. Прошивка.
Функционал системы ESP3D вызывает весьма много споров.
Есть как недостатки, так и достоинства.
Недостатки - это скорее тема требований. Для некоторых они будут критическими, для других, несущественными.
Что позволяет эта система:
1. Полное управление 3D принтером
Подвигать осями, включать нагреватели, вентиляторы.
2. Послать команду принтеру. Очень часто нужно инициализировать EEPROM, узнать настройки, кол-во шагов на мм, провести калибровки PID, экструдера. Ввести новые настройки в память.
2.1 Послать команду модулю. Подать 1 или 0 на определённый IO, подождать заданное кол-во времени.
3. Вести печать прямо из компьютера через программу Repetier Host, например.
Вот это все у него очень хорошо получается. Впрочем п.3 имеет особенности, ввиду зависимости от Wi-Fi.
Если ктото в процессе печати задумает подключиться к этой сети, произойдёт затык. Временный, но в этом месте будет отметина от натёкшего плактика. Хорошо если это будет в заполнении, тогда никто не увидит.
Модулей много разных существует. Я предпочитаю ESP-12F, так как он имеет 6 дополнительный портов. А значит, больше возможностей, например MicroSD флешку подсоединить по SPI, и иметь удалённый, высокоскоростной Wi-Fi диск.
Но методика прошивки для всех одинакова.
На этом портале таких методик несколько штук. Я постараюсь добавить свой вариант без использования неприятной программы Ардуино IDE
Прошивку сначала компилирую в той же среде, где и марлин 2. Для меня это программа Atom.
Скачиваем исходники с официального гитхаба
На данный момент есть свежая версия 2.1.1, и даже появилась бета версия 3.0, но она мне не понравилась.
Настраивается там всего 1 единственный файл config.h. И то, если хотим подключить температурный сенсор, дисплей, или SD флешку. Если такое не нужно, то просто нажимаем кнопку компилировать.
Получаем файл с прошивкой firmware.bin
Чтобы зашить этот файл в модуль, есть программа Flash Download Tools. Работает без установки. Главное, чтобы в его пути не было русских букв. Лучше всего записать его в корень диска С.
С прошивкой, кстати тоже.
С этим всё. Теперь тонкости подключения.
Здесь нужно бы немножко потрудиться и спаять платку согласно схеме.
Модулю нужно питание не более 3.3 вольт. Значит нужен стабилизатор.
Далее, выводы EN, Rst, IO4, IO0 должны быть притянуты к + питания через резисторы. При этом вывод IO0 используется для перевода модуль в режим прошивки притягиванием к минусу. Вывод IO15 притянут к земле.
Подсоединяем USB-UART переходник +5в к VCC, GND - понятно, RX к RX, TX к TX.
Если брать названия RX TX на модуле, то крект накрест Rx к Tx, Tx к Rx.
Теперь хорошо бы убедиться, что связь вообще есть с модулем. Для этого подойдёт терминальная программа, например PUTTY.
КОМпорт вписываем свой, скорость 115200, впрочем возможно придётся подбирать. Жмём Open.
Откроется чёрное окно терминала с зелёным прямоугольником. Пишем заглавными буквами AT на английском. Если буквы появились - связь есть, можно закрывать программу. Если нет, меняем скорость соединения, повторяем.
Впринципе, можно пропустить это действие.
Вынимаем + из модуля, обесточиваем.
Запускаем Flash Download Tools
Ставим настройки как на картинке, выбираем файл с прошивкой firmware.bin, ставим птичку, смотрим на адрес справа.
Притягиваем IO0 модуля к GND перемычкой, подаём + на модуль и жмём START.
В случае успешного соединения, в полях отмеченных овалами появится информация о модуле, в том числе MAC адрес, а прошивка начнет заливаться, наполняя зелёной субстанцией горизонтальную линию ниже кнопок. После, будет FINISH.
Отключаем модуль, снимаем перемычку, включаем. Через 20-30 сек появится точка доступа ESP. Подключаемся к ней, узнаём адрес
Открываем браузер, вводим адрес и попадаем на первоначальную настройку в которой нужно закачать в модуль файл с интерфейсом.
Закачаваем, перезапускам модуль, и снова настройки, на этот раз уже финальные.
Прошивку принтера настраивать почти не нужно, лишь открыть UART 3 порт.
На примере SKR1.4 это делается несколько замороченно и неочевидно.
У меня например дисплей MKS TFT2.4 подключен по UART, а еще этому модулю нужен свой канал.
В этом случае придётся пожертвовать USB. Плата может только 2 UART обеспечить.
#define SERIAL_PORT 0 это порт для дисплея
#define SERIAL_PORT_2 3 это порт для вай фай (3)
Или
#define SERIAL_PORT 3 это порт для вай фай
#define SERIAL_PORT_2 -1 Это будет USB
Третий, потому что 2й висит на других выводах. А нам нужен специальный разьём Wi-Fi на плате.
Идём по адресу:
C:\Users\вашПК\.platformio\packages\framework-arduino-lpc176x\cores\arduino\HARDWARESERIAL.h
Назначаем там на этот третий порт номера выводов:
Строки 106 и дальше:
// Initialize UART pin connect
PinCfg.Funcnum = 3;
PinCfg.OpenDrain = 0;
PinCfg.Pinmode = 0;
PinCfg.Pinnum = 28;
PinCfg.Portnum = 4;
PINSEL_ConfigPin(&PinCfg);
PinCfg.Pinnum = 29;
PINSEL_ConfigPin(&PinCfg);
В этом файле содержится вся раскладка UART выводов.
Ну вот и всё, работает.
Но самая класссная штука:
Незадействованным IO портами можно легко управлять.
Посылаем команду [ESP201]P12 V1
[ESP201] - это даём понять, что команда предназначена вай фай модулю, а не плате принтера.
P12 это номер порта, может быть 2,4, 5, 12, 13, 14, 15, 16
V1 - вкл, V0 - Выкл.
Установить притяжку вывода к + или к -
PULLUP=YES
Например подключить рэле, или сервопривод, сбивающий отпечатанную модель со стола, вентилятор.
Или сделать 3D принтер с функцией умная розетка. Или просто напросто, включать БП принтера, но для этого модуль должен получать питание всегда.
В Веб интерфейсе можно добавить кнопку и назначить на неё нужное действие в виде макроса. Работает даже последовательность команд,
Включить вывод 4, подождать 5 секунд, включить пин 12, а вывод 4 выключить. ну и т.п.
А можно повесить на один из IO датчик температуры DHT11 и вывести показания на веб интерфейс. Например температуру в термокамере.
Еще больше интересных статей
duet web control не регулируются обороты вентилятора обдува детали на BTT SKR V1.4
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
принтер у меня самодельно переделанный из ки...
Антивоблинг на flyingbear ghost 5
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
3. Директ. А не задумывались н...
Возможно вы выставляли сопло н...
Вы можете ждать и сотни миллиа...
Всем привет. Печатал коробку д...
Всем привет. Мой опыт в 3д печ...
Доброго времени суток, подскаж...
Добрый день !Случаем нет ли у...