Подключаем 3D принтер к домашней WiFi сети.

Подписаться на 3Dtoday
AZOT
Идет загрузка
Загрузка
26.02.16
20178
48
Техничка
42
Так как принтер у меня стоит на кухне, а основной, рабочий компьютер, находится в комнате, закралась мне в голову шальная мысль, а не подключить ли мне его по воздуху?
Вариант с подключением через «Голубой зуб», отпадал. Расстояние большое, да и стабильность такого соединения оставляет желать лучшего. И вот, бродя по просторам интернетов, наткнулся я на модуль ESP8266. Стоит копейки, программируется легко, огромное сообщество, в том числе и на русском языке. Стал копать дальше, логично же, если есть такое чудо, то сообщество уже давно начало его использовать в качестве стандартного коннектора WiFi для 3D принтеров. А всё оказалось совсем не так. Как я не «гуглил», более-менее подробной инструкции, а желательно еще и на русском найти мне не удалось. Ну раз нет, то пытливый ум требует восполнить этот пробел. О чем я вам сейчас и поведаю. Далее под катом пошаговая инструкция по подключению ESP8266 к абсолютно любому 3D принтеру, электроника которого основана на связке Arduino Mega 2560 + Ramps 1.4 + ПО Marlin.

Итак, приступим.
Что нам понадобиться из железа:
- Рабочий 3D принтер, электроника которого основана на Arduino Mega 2560 + Ramps 1.4 + ПО Marlin;
- Модуль ESP8266;
Отступление один. Модулей великое множество и помимо его самой первой модификации ESP8266 ESP-01 продаются модули с подключением внешней антенны, с керамической антенной, с PCB антенной, без антенны. На разных модулях выведено разное количество GPIO. Подробную информацию можно найти по ссылке.

- USB-TTL конвертер (желательно с переключателем на 5 и 3,3 вольт, либо версия на 3,3 вольта) на базе FTDI, PL2303 или аналогичном чипе. Ищите USB-TTL адаптер, на котором есть выводы DTR и RTS.)
Отступление два. Для ESP8266, в качестве программатора, можно использовать ардуинку и Arduino IDE, про использование такой связки можно почитать на соответствующих форумах поссылке.
- Источник питания на 3,3 вольта.
Отступление три. Модуль ESP8266 питается напряжением от 3 до 3,6 вольт.
Подача на модуль напряжения выше обозначено превратит Ваш модуль в бесполезную железяку. Идеальным вариантом, для себя, считаю питание электроники от компьютерного БП. USB-TTL конвертер может не «потянуть» питание модуля (мой не потянул), поэтому пришлось питать отдельно.
- Резисторы на 10КОм, 470Ом, конденсатор на 0,1 мкФ, кнопки (либо джампера), провода, разъемы, макетная плата.
- Паяльник, олово, канифоль.
- Чуть, чуть прямые руки и умение их применять.

Что нам понадобиться из софта:
- Программа прошивки самого модуля nodemcu-flasher;
- Программа для заливки в модуль lua кодов LuaLoader;
- Сами lua коды.

Далее по шагам.

Шаг №1

Собираем плату по следующей схеме:
scheme-full.jpg
В зависимости от модификации модуля, на вашей плате может не хватать GPIO, как например у меня, это не страшно. Подключение неразведенных пинов не требуется, на моем ESP-01 разведены только: VCC, GND, GPIO0, GPIO2, CH_PD и RESET — подключаем только их. Для того, чтоб не щелкать лишний раз по питанию ставим дополнительный джампер на CH_PD.

Шаг №2

Подключаем наш USB-TTL конвертер к компьютеру (пока только его) и устанавливаем все необходимые драйвера. Если все хорошо, то в системе должен появиться новый виртуальный последовательный порт.
Проверяем выходное напряжение, оно не должно превышать 3,6 В!

Шаг №3

Отключаем USB-TTL конвертер и подключаем к нему модуль ESP8266, в соответствии со схемой. Подаем питание. Джампер GPIO0 должен быть разомкнут!

Шаг №4

Размыкаем дополнительный джампер, который мы установили на CH_PD. Замыкаем джампер GPIO0. Замыкаем джампер CH_PD.
Этими действиями мы переводим модуль ESP8266 в режим прошивки.

Шаг №5

Запускаем nodemcu-flasher.
Выставляем COM порт (обычно это действие не нужно, но вдруг). Программа сама скачает новую версию прошивки, если это необходимо.
Нажимаем flash.
Ждем, пока заполнится зеленая полоса прошивки и появится надпись flash Ок.
Если что то пошло не так, идем по ссылке и ищем свою проблему. Если схема и подключение выполнены правильно, а так же напряжение соответствует, то проблем быть не должно.

Основную проблему можно увидеть и диагностировать на этапе подключения. Если, после подключения USB-TTL конвертера, а затем подачи от него питания на модуль ESP8266 из системы пропал COM порт, то это значит, что конвертер не тянет модуль и нужен внешний источник питания на 3,3 В.

Выходим из программы.
Размыкаем дополнительный джампер, который мы установили на CH_PD. Размыкаем джампер GPIO0. Замыкаем джампер CH_PD.

Шаг №6

Запускаем LuaLoader.

Идем в Settings, Comm Port Setting. Выбираем порт, на который у нас подключен USB-TTL конвертер с модулем ESP8266.

В Baud Rate выставляем 9600, нажимаем Connect.
Если все сделано правильно то Baud Rate должен поменять цвет с красного на зеленый.
Далее, в поле SSID вводим SSID вашей сети, в поле password вводим password вашей сети.
Жмем Set IP. Жмем Зеленый символ WiFi.
После всех этих действий модуль ESP8266 должен появиться в вашей домашней сети. Проверить это можно любым из доступных способов, например зайти на роутер и посмотреть список подключенных устройств.
Следующим шагом нам нужно загрузить на модуль lua коды.
Жмем Disconnect (хотя это наверное можно и не делать).
Тыкаем в Upload File, находим скачанный раньше по ссылке файл init.lua и он сам загрузится на устройство, нужно только немного подождать.
Снова тыкаем в Upload File, находим скачанный раньше по ссылке файл WIFI_Reset.lua и снова ждем.
LuaLoader.jpg
Все, на этом наш модуль готов к подключению к нашему принтеру.

Шаг №7

Подключаем наш модуль к AUX1 Ramps 1.4. Не забудьте, что питание должно быть не выше 3,3 В!
Connect to printer-1.jpg
Включаем принтер, ждем пока он загрузится. Подаем питание на модуль.
Если у Вас принтер с экраном то в нижней строке экрана высветиться его IP адрес. Если же нет, то лезем на роутер и смотрим в подключенных по WiFi устройствах IP адрес нашего 3D принтера.
IP.jpg
Шаг №8

Так как я пользуюсь Repetier-Host, подключение к принтеру буду описывать на примере этой программы.

Запускаем Repetier-Host.
Идем в Конфигурация, Настройки принтера.
В закладке Соединение ставим Соединение TCP/IP.
В закладке IP адрес, ставим IP адрес, который на экране принтера либо который нашли в настройках роутера.
В закладке Порт пишем 9999.
Остальное можно не менять.
Нажимаем Применить. Закрываем вкладку.
Нажимаем Подсоединить.
PREVIEW
Пользуемся!

Полезные ссылки:
http://creatorbot.com/projects/electronics/add-esp8266-wifi-to-your-3d-printer
http://esp8266.ru/category/esp8266/esp8266-hardware/
http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/
https://habrahabr.ru/company/coolrf/blog/238443/
Подписаться на 3Dtoday
42
Комментарии к статье

Комментарии

26 Фев 15:20
0
Не хватает фото. Загрузите в комменты - я добавлю в пост
26 Фев 20:59
0
scheme-full.jpg

что касательно схемы.
26 Фев 15:26
1
Браво! Ждем картинки. И с удовольствием повторю ваши шаги, достали кабели.
Вопрос еще - что вышло по деньгам?
26 Фев 21:26
1
По стоимости.
Модуль стоит порядка 150 рублей, детали вышли порядка 50 рублей.
В итоге получилось 200...
26 Фев 16:03
0
А из pronterface можно по wifi коннектиться?
26 Фев 18:30
0
pronterface для подключения к принтеру ищет com-порт. Нужен драйвер, который создаст в системе виртуальный ком-порт и будет транслировать его запросы по tcp/ip.
26 Фев 16:14
3
Вай фай не стабилен, принтер будет терять пакеты данных, что для 8 битной ардуинки очень чревато. Нет ничего надежнее старого доброго USB.
26 Фев 16:23
0
Разве протокол без коррекции?
26 Фев 22:24
0
Терять пакеты он не будет, если грамотно написана программная часть. А вот задержки будут 100%, что чревато наплывами и прочими изъянами.
27 Фев 13:12
0
там же буфер стоит, правда скорее всего маленький
p.s. остался совсем маленький шаг - по воздуху писать на подключенную флешку и разработать механическую систему очистки стола от детали и рафта.
29 Фев 00:19
0
а где вы видели грамотно написанные скетчи:)?))
29 Фев 23:17
0
Скетчи под ардуину пишут все кому ни лень, грамотность конечно страдает. Но тут бОльшую роль играет прошивка ESP модуля, а это стандартная nodemcu, все-таки не школьниками написана;)
26 Фев 17:09
0
Очень интересное решение, к нему полезно ещё камеру добавить. Тогда можно будет держать принтер в отдельном хорошо вентилируемом помещении и следить за ним удаленно.
26 Фев 18:52
0
Ардуина камеру не потянет :)
1 Мар 15:05
0
А вот с этим то как раз проблем и нет...
http://arduino-diy.com/arduino-modul-videokamery
1 Мар 15:13
0
Камера с UART... ЖЕСТЬ! С таким извратом я еще не сталкивался.
Для передачи изображения понадобится около 30 секунд.
По факту, если принципиально не использовать малинку-апельсинку, то можно найти старую или китайскую айпишную камеру и смотреть через нее.
1 Мар 22:17
0
Русский витязь прямых путей не ищет. :D
1 Мар 15:52
0
А можно приобрести типа такого девайса.
26 Фев 17:32
0
А по WiFi можно заливать файлы на SD карту?
Что то, я устал бегать от ПК к принтеру, но печатать хочу с карты.
26 Фев 17:38
0
Вряд ли.вы же присоединяя принтер к репетиру/пронтерфейсу не видите карту. Продаются карты с вай фаем, поищите.
26 Фев 17:57
1
26 Фев 18:46
0
Arduino больше 2gb не видит карты
26 Фев 19:01
0
Да ну?У меня меньше 8 дома нету, и ничего, работает.
26 Фев 19:12
0
Использую на 1gb
В инструкции к мейкерботу написано максимум 2gb
Решил что и тут так же
26 Фев 21:15
0
8 Гб, полет нормльный.
26 Фев 21:55
0
32 гига)
27 Фев 11:29
0
А по WiFi можно заливать файлы на SD карту?
Вот решение, но дорого. Если стоит рампс 1,4.
27 Фев 11:32
0
Красивая штука, но за такие деньги проще купить апельсинку и развернуть на ней Octoprint или Repetier-Server (в последнем случае можно прозрачно управлять через привычный Repetier-Host). Конечно, есть подводные камни, вроде муторной настройки некоторых вайфайных свистков, но в целом куда более гибкий вариант.
27 Фев 12:56
0
Не спорю ;) это вариант ответа на конкретный вопрос + бонус экран. :) Можно и апельсинку, малинку и что то там у интела вроде есть ;) Кому что понравилось. Вообще я думаю, не убьет ли новая вида ( типа 11 или 12 вариант ) связь с принтером? Уже столько устройств без поддержки......... :evil:
27 Фев 13:26
0
Прошивочки может кто русский вставит.
26 Фев 18:43
2
Octoprint - наше все. При трансляции жи-кода в реальном времени, пусть даже с некоторой буферизацией, может случиться "ой". С учетом полной и тотальной загаженности радиодиапазона, я бы не стал полагаться на надежность Wi-Fi.
26 Фев 18:44
0
А зачем подключать принтер к компу через wifi по средствам виртуального com-порта, если гораздо удобнее и надежнее печатать с sd карты.
Вот мне приходится ресетить ардуину после вставляния карты. Если бы можно было на sd карту скидывать файлы по wifi или usb
26 Фев 20:11
1
Супер! Отличная инструкция!

Статья хороша как опыт для понимания взаимодействия оборудования, возможно кому то будет полезна в использовании Arduino, но сомневаюсь, что в 3D-принтеростроении.
Я как то не удержался, попытался залить Gcode на SD карту, вставленную в принтер подключенный по USB. Не дождался, переткнул карту в комп. А по вафле она думаю быстрее писать на карту не станет.
26 Фев 21:25
0
Обидно будет когда отвалиться на 80 % . :D
26 Фев 21:36
3
Коллеги, всем спасибо за комментарии и вполне обоснованную критику.
Первоначальной целью было подключить сей волшебный девайс к принтеру, так как в интернетах нет внятной инструкции как это сделать.
Все плюсы и минусы, на которые вы обратили внимание, имеют место быть, но поскольку первоначальная цель уже достигнута, я буду рыть в сторону расширения возможностей данного решения.
27 Фев 10:06
0
Отлично подобранный материал, не у всех принтеры стоят рядом с компом, конечно печатаю с sd, иногда octoprint, а это решение в качестве резерва самое то!
27 Фев 10:12
0
Я вот думаю дальше двигаться в сторону создания виртуального порта и соединения его с принтером, тогда в полной мере можно будет использовать возможности девайса, в том числе запись на SD карту принтера для автономной печати. Если мне удастся этого добиться, обязательно поделюсь. Для справки. Нельзя одновременно использовать кабель и ESD, это однозначно приведет к конфликту.
27 Фев 10:15
0
Печатать что то серьезное по wifi не получится. А вот загрузить на SD и управлять принтером можно. Есть такой проект https://github.com/luc-github/ESP8266 . Правда сыроват. Пытался взять его за основу и допилить. Даже платочки есть под такой сервер, которые в разъем вставляются в рампсе. Много переписал. Но пока проект повесил на HOLD, времени не хватает :( В общем реализуемо вполне.
27 Фев 11:09
0
Так все ж упирается в скорость работы ардуйни с картой. А она никакущая. Вот если SD подцепить к ESP (не знаю, насколько реализуемо, я только светодиодами моргал), то можно попытаться сделать копеечный аналог малинки с октопринтом.
27 Фев 10:43
0
Спасибо за ссылку.
27 Фев 12:13
0
В дополнение. Репитер видит карту, которая стоит в принтере и файлы на ней, но при попытке сохранения Г-кода на эту карту выдается ошибка.
27 Фев 13:15
0
Репетир очень капризен к таймаутам которые неизбежно возникают в такой конфигурации. Правильнее это веб морда, с возможностью сохранения файла на SD карту принтера. Это работает, тут узкое место уже последовательный интерфейс самого принтера.
21 Мар 22:34
0
В итоге. Танцы с бубном, призыв Ктулху и прочие магические и не только действия к ощутимым результатам не привели. Грешу на свою криворукость. Пока данную тему положил в отдельный ящик с кучей вопросов, будет время буду копать дальше.
14 Апр 16:48
1
Прочитав статью задумался над ТТЛ,несколько посмотрел на работе- на выходе Тх от 4,6 до 10 вольт,добравшись до дома понял что на ардуине все есть и питание и рсс.,так что буду ей програмить
12 Авг 18:46
0
А какие изменения надо сделать в Marlin ?
13 Авг 21:30
0
Никаких
19 Авг 11:13
0
http://roboforum.ru/forum107/topic15976.html
кому этот способ интересен тут более подробно
можно собрать прошивку тут https://nodemcu-build.com/
27 Авг 01:24
0
CZ
Dobrý den. Prosím Vás nelze stáhnout soubor LUA Code and Eagle PCB files.zip . Můžete jej prosím někde umístit. Děkuji.

Google translate:
Добрый день. Загрузите файл LUA Code and Eagle PCB files.zip . Пожалуйста, поместите его где-нибудь. Благодарю вас.

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

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

3D PrintExpo 2017: подводим итоги

Аспирант ТИУ предлагает добывать порошки для промышленных 3D-принтеров из грязной воды

Инсайдерский дайджест pt 53

Massivit 3D - размерчик что надо!

Ядерные реакторы, покрышки и 3D-принтеры, или Как обнинские ученые научились получать дешевый лимонен

Новый центр аддитивных технологий в Жуковском получит промышленные 3D-принтеры BeAM