Кремень КД Реклама
Кремень КМ Реклама

Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.

nevelaev
Идет загрузка
Загрузка
12.02.2020
19136
39
Техничка

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

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

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

15

Всем привет! Не судите строго, статья моя первая, да и в печати я новичок: купил принтер месяц назад. Я из тех технарей, которые могут что-то купить, но половину времени вместо того, чтобы использовать изделие по назначению - предпочитают ковыряться под капотом =) Спасибо ресурсу за опыт, который я изучил перед эксплуатацией. Благодаря 3dtoday многие мои первые шаги дались с первого раза: первая деталь после сборки на штатном сопле и коврике - без косяков, первая ваза на вручную просверленном 1.2 сопле и PETG - тоже, даже дно не течет. За эти и многие другие знания выражаю благодарность местным бывалым старпёрам =) В общем, приступим.

    Вступление.

Удивлен, почему в русскоязычном интернете было ноль информации по прикручиванию ESP к Ender 3 Pro, честно говоря, я поначалу подумал, что это вообще нереально. Но я-таки решил поизучать тему, и в итоге за менее, чем 200 рублей имею удобную печать. Вся рассыпуха продается в любом магазине, где есть Arduino и модули к ним. Кстати, данный способ должен подойти любому принтеру, имеющему управление через последовательный интерфейс. Что мне потребовалось: 

1. Модуль ESP-01. Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.Можно любой другой модуль на базе ESP8266, мой оказался самый недорогой из линейки, на опытах и сжечь не жалко =) Отдал 135 рублей в Амперкоте. Вообще, модули ESP-01 - ESP12 встречаются с объемом флэш-микросхемы 1 - 4 мегабайт, бывают и больше. Лично у меня оказалась на 1. Она и самая распространенная.

2. Любой DC-DC стабилизатор или схема преобразователя, могущая употребить 5 вольт на входе и выдать 3.3 на выходе. У меня чисто случайно, прям как рояль в кустах, завалялся регулируемый LM2596S-ADJ DC-DC.  Стоит 50-80 рублей.Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.

3. Для заливки прошивки оказался достатым из кустов второй рояль. Программатор CH341a, он же USB-TTL конвертер. Arduino решил не использовать - лишний геморрой с преобразователями уровней и питания вообще. 341й - мой помощник для широкого спектра нужд, от прошивки микросхем BIOS на ноутбуках и компьютерах до работы банальным USB-COM и UART портом. Имеет выходы 3.3 и 5 вольт, MISO, MOSI, обычные COM Rx, Tx. По Rx, Tx выдает нужный нам уровень сигнала в 3.3 вольта. Им же и запитал ESP-01.  Ах, да, забыл: если шьём таким переходником - не забудьте переключить джампер в положение 2-3 для работы в  режиме TTL. После чего поставить драйвер для последовательного режима.

Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.

4. Arduino IDE.

4.1 Архив с настроенной и рабочей папкой скетча, внутри плагин для работы с SPIFFS и ESP3D, исходники с ESP-WEBUI. Для установки более актуальных в будущем версий - ниже п.5.

5. Исходники прошивки ESP3D. Да, прошивки в готовом виде лично я не видел. Страница проекта. Лезем вниз и ищем Stable release. На момент написания актуальная версия была 2.1. Жмём справа зеленую кнопку Clone or Download и Download ZIP. 

5.1 ESP3D-WEBUI - собственно веб оболочка. Понадобится на этапе настройки модуля. Для скачивания жмем зеленую кнопку "Clone or download-Download ZIP".

6. ESP Easy Flasher для очистки модуля от родной прошивки. Ссылка на скачивание.

7. Паяльник, провода, желательно с разъемами мама-мама для стандартных ардуиновских штырьков. Опционально - макетная плата, хорошая лупа или микроскоп)) 

    Итак, приступим. Для начала разберемся с софтовой частью.

Сразу скажу, что ниже опишу работу с уже готовой и настроенной папкой скетчей,  без необходимости качать отдельно исходники прошивки и прочие инструменты. Внутри исходники, в них интегрирован веб интерфейс ESP3D и плагин для работы IDE с SPIFFS. Вперемешку с чтением различных гайдов намучался я далеко не один час из-за того, что то IDE библиотек не хватает, то плагин SPIFFS криво работает, то порт не видится, то с прошивками долго возился, выдирал BIN из TEMP папок, да и вообще, все гайды создавались давно и во времена других актуальных версий ESP3D, WEBUI, Arduino IDE, менеджера плат ESP8266: в общем, череда ошибок и работ над ними привели к созданию готовой папки и написанию данной статьи как обобщения данного опыта. 

1. Качаем архив из п. 4.1 и распаковываем в отдельную папку. 

2.Устанавливаем Arduino IDE.  Открываем Arduino IDE, заходим в Файл-Настройки и в пункте "Размещение папки скетчей" указываем путь к распакованной папке SKETCHBOOK. Попутно в разделе "Дополнительные ссылки для менеджера плат" вставляем http://arduino.esp8266.com/stable/package_esp8266com_index.json. Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.Закрываем Arduino IDE, запускаем снова.

3. Заходим в Инструменты-Плата Arduino Yuri-Менеджер плат. Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.Листаем вниз до упора и ищем раздел "esp8266". Конкретно для этого супового набора исходников прошивки я опытным путем выбрал версию 2.5.0. Лично я упарился воевать с последней версией (2.6.2 на момент написания статьи), она наотрез отказывалась работать с файловой системой SPIFFS и не зашивала в модуль прошивку, а более старые версии были лишены некоторых библиотек, на что компилятор постоянно матерился как школьник и отказывался компилировать, спотыкаясь на каком-нибудь модуле в коде.Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.

4. Закрываем менеджер плат и лезем настраивать конфигурацию модуля. Выбираем Инструменты-Плата-Arduino Yuri-Generic ESP8266 Module. Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.Далее устанавливаем  все пункты как на картинке ниже. Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.Поясню по двум параметрам: для модулей с объемом флешки 1 мегабайт указываем Flash Size: "1M (256K SPIFFS"), для флешек 4 мегабайта - "4M (3M SPIFFS). В принципе, сейчас самые популярные модули - 1М. Частоту процессора некоторые советовали выставить 160 МГц, лично я предпочитаю не гнать, модули работают, но разгон негарантированный, оставил как есть. Порт выбираем COM, который выдаст USB-TTL адаптер. Обычно это не COM1. Скорость 115200. 

5. Далее выбираем Скетч-Компилировать. Если начнет выдавать ошибки - закрываем Arduino IDE, идем в папку SKETCHBOOK\ESP3D-2.1\libraries, копируем все папки с библиотеками оттуда в папку установки Arduino IDE\libraries. Обычно IDE ставится по пути C:\Program Files(x86)\Arduino. Снова запускаем Arduino IDE и компилируем. У меня после установки библиотек ошибок не возникло.

    Хардверная часть. 

Подключаем питание и данные. Напомню, что Rx и Tх на одном устройстве подключаются соответственно к TX и Rx на другом. Далее необходимо включить режим программирования. Кидаем еще провод с +3.3В на штырек EN, и одну землю GND на вывод IO2. Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.Включаем все это дело, отсоединяем провод от IO2. Отключаем все программы, которые могут использовать COM порт. Слайсеры типа Cura, к примеру, тоже. Распаковываем и запускаем EasyFlasher, он очистит нам память для новой прошивки. Выбираем порт, скорость 115200, Firmware (bin) - blank_1MB.bin и жмем Flash ESP. Кстати, в папке bin заодно лежит прошивка Sonoff, оставшаяся у меня с организации реле для света на кухне. Если прикупить релейный модуль для ESP-01 - можно быстренько организовать управляемое реле =) Главное, после прошивки не забыть на веб странице по пути "Конфигурация-Конфигурация модуля" установить тип модуля Generic (18), далее "D3 GPIO0 Кнопка1 - Реле1 (21). Иначе не заработает. Настройки Wi-Fi идентичны таковым в прошивке тематики данной статьи. Управление поддерживается через HTTP, так что я банально поставил на телефон приложение "Ярлыки HTTP" и создал на главном экране смартфона простой ярлык с методом GET и URL "HTTP://адрес модуля/cm&cmnd=Power%20TOGGLE", который одним нажатием переключает реле =)

Ладно, отдохнули, и хватит. Пора продолжить.

Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.Если заливка пошла - через несколько секунд начинает мигать синий светодиод на модуле, а программа сообщит, что ждать чуть менее 2х минут. Ждем, пока не сообщит об успешной прошивке, затем отключаем модуль от питания, вставляем обратно землю GND в IO2 и включаем модуль снова. Отключаем IO2 от земли, идем в Arduino IDE. Жмем Инструменты-ESP8266 Sketch Data Upload. Ждем, пока не сообщит, что закончил. Выключаем модуль, включаем снова.  Нормальная работа модуля - когда к EN подведено +3.3, но контакт IO2 - пустой.

    Настройка ESP3D. 

Если прошилось нормально, то через несколько секунд появится точка доступа ESP3D. Подключаемся к ней с телефона или ПК, лезем на 192.168.0.1. Там нас встретит мастер. Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.

   Начинаем. Жмем Start и в следующем окне выбираем принтер согласно установленной прошивке (чисто на всякий напомню: заводская в нашем E3DPro - Marlin =), скорость порта, NetBIOS имя модуля в локальной сети. После каждого выбора не забываем нажать SET.Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.

Далее нас ждет настройка режима Wi-Fi. Кому как, а мне удобно, чтобы принтер был подключен к домашнему роутеру, а сам не светился. Об этом позже. Задаем для подключения к роутеру режим Client Station, далее выбираем свой роутер в списке сетей и указываем пароль сети.Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.

В следующем окне жмем Finish и перезагружаем модуль. Снова подключаемся и заходим на веб-интерфейс. Нас встретит главная страница. Надо донастроить сеть. Жмем кнопку ESP3D и попадаем на страницу ниже. Главное - не забыть Data Port - по нему мы подключаемся к принтеру извне. Ниже можно подправить настройки точки доступа...Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.

...и настроить IP адрес. Можно назначить статический, а можно выдать постоянный адрес средствами роутера, что сделал я. Тут же можно скрыть SSID модуля. чтобы не отсвечивал в эфире. Бесполезно против желающих взломать, но от простых любопытных глаз скроет. Можно вовсе отключить, но я на всякий оставил. 

Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.Все. Сохраняем, еще раз запоминаем  IP модуля, порт и уходим отсюда.

    Подключение модуля к принтеру.

Ну тут всё просто. В папке SKETCHBOOK\ESP3D-2.1\images\CREALITY есть обозначение контактов Rx,Tx на картинке CR10E3.jpg. Разбираем коробку с платой управления, вынимаем плату, паяем.Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов.Плата у меня другая, но не беда, лично я припаялся напрямую к контроллеру, мне так проще. Взял с разъема ISP внизу 5В и GND, припаял к DC-DC модулю, Tx, Rx подключил на соответствующие штыри на модуле, не забыв продублировать +3.3В на ногу EN. Собираем всё взад, включаем. Если всё заработало - на экране принтера увидим IP адрес.

    Установка Repetier-Host. 

Заходим на сайт Repetier и качаем оттуда Repetier-Host, устанавливаем. Лично я настройку сервера Repetier пропустил, а просто в настройках Repetier-Host в разделе "Настройка принтера" указал соединение TCP\IP, порт 8888. Жмем "Подсоединить", и всё, принтер подключен, полностью управляется и может печатать. Repetier сам недавно начал изучать, первая печать обрадовала: при одинаковом материале и настройках, по сравнению с SD картой (прямо взял и загрузил с SD тот же GCODE) деталь напечаталась минут на 10 быстрее (20 против 30). Правда, при печати через WiFi не виден прогресс на экране принтера, зато Repetier через дисплей показывает примерно оставшееся время. Все остальный плюшки Repetier типа управления, положения головки при печати, остальное "в реальном времени" работает отлично. Подозреваю, что при печати с SD карты бедный 328й Atmega был загружен под завязку. Отработка GCode, плюс масса прерываний от кучи устройств, особенно от драйверов моторов, а Repetier-Host его разгружает. Ну ничего, все равно 32-битный MKS SGEN-L едет, да комплект TMC2208 впридачу. 

За сим откланиваюсь, не пинайте пожалуйста сильно, ибо пишу в первый раз =) 

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

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

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

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