Небольшая заметка о моей простой отладочной плате для этого Wi-Fi чипа.
Схема проста и в то же время максимально учтены все мелкие косяки, что есть на китайских платах:
А именно:
- есть все необходимые подтяжки управляющих выводов;
- обвязка для Deep-Sleep;
- драйвер RS-485, подключенный к UART0 (при необходимости сразу можно использовать как есть TCP2UART от pvvx);
- в качестве DD1 можно ставить как ADM3072 для которого паяем перемычку JP3 (питание 3,3v), резистор R8 ставим = 0 (перемычка) и R9 не устанавливаем, а можно ставить наиболее распространенные аналоги ADM485 — тогда ставим перемычку JP1 (питание 5v) и устанавливаем резисторы R8, R9 номиналами как на схеме;
- стабилизатор LM1117 с 5в до 3.3в (сама плата от +5В питаться будет, при необходимости всё это можно выпаять и питать +3.3В напрямую);
- выведены HSPI пины и дополнительные на 2,54 мм гребёнку, питание так же;
- добавлены фильтрующие емкости по питанию где необходимо;
- пользовательский светодиод и светодиод по питанию;
- согласующие резисторы для внешней Flash;
- отдельная гребёнка для подключения программатора;
- отдельная гребёнка для подключения RS-485 + 5В питания;
- пин Bat выведен на гребёнку для подключения внешней батареи, чтобы корректно работал внутренний RTC (чего нет ни на одной плате китайцев!);
- пин ADC хоть и выведен, но без дополнительной обвязки, т.к. ADC тут не особо хороший, скорее, просто показометр.
Рендер платы из Альтия:
Из оставшихся замечаний:
- местами получилось не так хорошо, как хотелось бы, но вроде явно лучше, чем на китайских платах (в плане питания и общей разводки флешки);
- не очень хорошая распиновка, конечно, на кристалле… ADC около антенны, RES и IO16 (необходимо соединить для реализации Deep Sleep) по разным краям, получается, вокруг пина антенны, что тоже не очень хорошо.
Если надо, то можно заказать в OSH Park эту плату. Я маленькие прототипы у них время от времени заказываю — качество шикарное, но вот только цена для больших плат не радует, большие платы выгоднее у китайцев брать (иногда правда и местный Резонит выгоднее!).
Вышло так:
Ну и собственно ссылки для скачивания. :)
- Проект в Altium Designer — Скачать тут.
- Использованный шрифт в проекте isocpeur — Пак шрифтов.
Уважаемый A_D, с интересом слежу за Вашим проектом. В своем контроллере я использовал готовый модуль, сам разводить не рискнул. Но радиус действия китайского модуля, как Вы знаете, оставляет желать лучшего. Поэтому вопрос относительно радиуса действия Вашего борда. По сравнению с китайским модулем больше-меньше? А при подключенной внешней антенне?
НравитсяНравится
На дальность не тестировал, в пределах нескольких комнат, самодельные модули работали не хуже китайских. Но ожидать значительного улучшения тоже не стоит, т.к. я применил довольно простую, малогабаритную керамическую антенну.
Лучше дела обстояли с нагревом (плата больше, лучше разводка и теплу было куда уходить) и потреблением. Для увеличения радиуса в Вашем случае можно попробовать внешнюю антенну, как на роутерах или аналогичную.
НравитсяНравится
Спасибо!
Т. е., разъём для внешней антенны Вы разместили опционально, а подключать её, в Вашем случае, нет необходимости?
Ещё вопрос. Цена «китайца» 1.8 — 2.0$, а какова примерная стоимость компонентов, используемых вместо модуля?
НравитсяНравится
Да, там перемычку не паяете и просто подключаете внешнюю антенну.
Стоимость отдельно не считал, я взял валяющиеся в ящике самые глюченные модули (в основном ESP-01 распаял) — сдул с них всё основное и дополнил уже мелочевкой по необходимости. (плату не думал пускать в серию\мелкую продажу, спроектировал её ради опыта — попробовал сделать лучше, чем есть у китайцев) В итоге всё заработало без проблем!
НравитсяНравится
Устройство по Вашей схеме собрал. Установил ESP-12E. Прошивку залил с сайта https://esp8266.ru. Стоит задача управлять слейвами по RS485. Сама ESP работает. Команды на слейв проходят, устройство реагирует, а ответы от слейва нет. Нигде не нашел какие настройки должны быть на вкладке GPIO.
НравитсяНравится
По умолчанию подтяжки RS-485 драйвера на передачу, видимо не работает выбор прием\передача. Если прошивка Modbus TCP / RTU RS-485 — то там автоматом все, кроме одного пина — надо в настройках выставить конкретный пин, отвечающий за прием\передачу по RS-485. На этой плате это — IO4. Посмотрите на вкладке настроек RS-485, есть параметр Pin RD_ENA или как то так — тут и нужно выбрать IO4, насколько я помню…. давно с ESP8266 уже не возился.
НравитсяНравится
Пин выставлен IO0. Повнимательнее почитал описание на сайте. Как понял обмен со слайвами по RS485 идет через транзакторы. Опрос и управление Coils прошивка не поддерживает. Поэтому и не получается опрашивать внешнее устройство по RS485.
НравитсяНравится
Я помню делал опрос, аля мост TCP-RS485, т.е. по TCP опрашивал ESP (слейв), а она в свою очередь была мастером на RS-485. Там надо настроить что брать, по какому адресу и с какого слейва, помнится как раз была таблица этих транзакторов и если у ESP не получается прочитать данные со слейвов — она об этом сообщает на этой же страничке (кол-во ошибок чтения).
НравитсяНравится