ESP3D, Wi-Fi для принтера. Прошивка.

McPaul
Идет загрузка
Загрузка
21.09.2020
4655
16
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

14

Функционал системы 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 и вывести показания на веб интерфейс. Например температуру в термокамере.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

14
Комментарии к статье

Комментарии

21.09.2020 в 11:47
1

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

Рулить вроде выходит, далеко не в полной мере правда, заливку файлов так и не победил.  Интерфейс крайне аскетичен, впринципе это нормально, если бы все работало.

21.09.2020 в 12:29
0

а я наоборот, октопринт отставил. Ну не нравится мне картинка осьминога позади температурного графика.

Если уберут картинку, может и вернусь ))

Переброска файлов гиблое дело.

Но можно организовать совместный доступ к флешке.

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

Встроенный веб интерфейс я почти не использую. Repetier Host полностью заменяет.

21.09.2020 в 15:10
0

Убрать её очень легко - плагином.

21.09.2020 в 19:59
0

У меня никаких осьминогов нет. Туда же темы разные можно установить.


21.09.2020 в 22:40
1

ставишь plugin_tempsgraph убираешь галку на фоновую картинку

и все нет ее

22.09.2020 в 15:34
0

Ну не нравится мне картинка осьминога

Туда свою картинку любую вставить можно

25.09.2020 в 13:59
0

Можно пример ссылки на прошивку? Искал не нашёл ничего кроме esp3d

25.09.2020 в 14:30
0

https://github.com/luc-github/ESP3D

а Вам какую прошивку нужно?

25.09.2020 в 14:33
0

"Но можно организовать совместный доступ к флешке.

Для этого модуль нужно прошить другой прошивкой, там же с гитхаба."

Вот на это

25.09.2020 в 20:41
0

Благодарю! 

21.09.2020 в 15:10
0

А как подключить его к плате MKS TFT? И зачем при наличии оной подключать к плате принтера?

21.09.2020 в 15:26
0

первая фото, модуль слева подключается к MKS TFT как есть. Схема тоже от него.

В прошивке модуля нужно указать, что это для дисплея:

#define MKS_TFT_FEATURE

Но это будет ерунда. 

Послать команду принтеру можно, но в ответ будет OK.

Шлём M503 с целью выяснить параметры в памяти, а он ответит OK.

Очень большие задержки. Дали команду подвинуть X на 10мм, он её подвинет, но спустя секунд 30. А мы за это время понажимаем еще кнопок.

Так что вай фай для дисплея негодится.

А вот если его прямо в плату принтера воткнуть, тогда всё нормально. Мгновенное исполнение команд, и полный контроль.

21.09.2020 в 16:48
0

Спасибо за оперативность. На "бмаге" всё гладко, ровно и понятно, а вот на практике как всегда с "бубнами".

На MKS  эран прошил вместе с WiFi, к сети подклёчил, через CURA и остальные программы управляю, файлы отправляю. Както так. WiFi от ВТТ наверно пускай пока полежит.

21.09.2020 в 19:42
0

камера с WiFi понятно . сидеть в другой комнате и поглядывать на процес печати это одно но управлять принтером по WiFi это как секс по видео :)) 

22.09.2020 в 10:36
0

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

Если печатать через вай фай чтото более сложное по геометрии чем кубик, то всё, подвисает секунды на 3-5-10 случайно.

Так что вот так. 

Если надоело дёргать каждую печать карточку памяти, то октопринт. Но тогда логично бы и от ТФТ экрана избавиться и перейти на обычный. Желательно бы сразу к малинке подключенный.

... мысли вслух

22.09.2020 в 15:40

Комментарий удалён

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Anet A8 - стол на прокачку.

Переходники для кислородных трубок

Как мы сначала боялись, а потом полюбили тифлорепродукции

Зимняя резина для жужи

Инструмент. Шлифовальная машина

Как я победил пропуски шагов по оси Y на Ender 3 Pro