В поисках лучшей антенны для ESP32 ZERO
Проверяем на практике: работают ли советы из интернета про проволочные антенны
Начав работать с ESP32 S3 Zero, заметил что там антенна не встроенная в плату, а в виде SMD элемента. И оказалось что WI-FI на ней слабее. Начитавшись в инете про улучшение связи «проволочкой», решил сделать и себе.. Потратил несколько дней на этот DIY-цирк, сделал кучу тестов и хочу поделиться результатами.
Что я узнал (коротко)
Проволочка даёт +5.2 dBm RSSI — на обычных открытых платах
В корпусе антенны-проволочки работают… как захотят. SMD чуть стабильнее.
Питание и окружение портит WiFi сильнее, чем слабая антенна
Качество ground plane критично (особенно у модулей ESP32 S3 Zero)
Интернет-советы работают, но только в идеальных условиях
Начнем издалека
Давно занимаюсь светодиодными приборами и только недавно решил оснастить их удаленным управлением. И вообще сделать красивое веб-приложение (впрочем, это уже совсем другая история). По образованию программист, электронику изучал сам с нуля.
Недавно была коллаборация по крафту мечей Кратоса. В них мы установили esp8266 модуль, простой модуль повербанка и светодиодную ленту. Было очень важно сделать компактную систему электроники.
После этого проекта решил сделать свои компактные модули для подобных будущих проектов. Раньше всегда работал с ESP32 Devkit, но они достаточно большие. Нашел в инете новые очень маленькие ESP32 S3 Zero.. Спроектировал и собрал с ними модули, назвав Minis 1.
Модуль Minis 1
Идея в макcимальной компактности и «автономности» - припаял батареи, кнопки, ленту - и готово.
Что на борту:
ESP32-S3 Zero
Система PowerBank на IP5310 (5В 3А)
2 разъема под адресные ленты
2 разъема под кнопки
1 разъем под кнопку включения
1 разъем под батареи
Разъемы = отверстия под пайку проводов
Поверив в магию советов из инета, впаял во все модули эти проводки, собрал лампы.. А потом решил проверить, как работает WI-FI. А он не заработал. Решил разобраться в чем дело, что всё таки лучше, сделал разные тесты. Из этого всего родилась эта статья.
Как оказалось, но именно данный мод (31мм, петля 16мм) на моем Zero как-то не заработал. Условно рабочим оказался вариант 62мм без петли.
Как тестировал.
Было 14 тестов:
ESP32 #1 (испытуемый в разных конфигурациях) :
Создаёт WiFi-сеть
Сам выбирает наименее нагруженный канал
Запускает веб-сервер
Перед началом каждого замера модуль автоматически выбирает наименее загруженный канал из 1/6/11, основываясь на сигнале окружающих сетей выше −80 dBm. Это позволило минимизировать влияние сильных помех.
ESP32 #2 (логгер):
Замеряет RSSI (сети ESP32 #1) каждые 2 секунды
90 замеров за 3 минуты
Телефон (измеритель):
Подключается к ESP32 #1
Отправляет 240 HTTP-запросов с интервалом 500мс
Что нас интересует из замеров
Время отклика (чем меньше, тем лучше)
Джиттер (как сильно плавают значения)
RSSI (уровень сигнала)
Стабильность (процент времени когда сигнал не скачет. 100% = связь ровная, 50% = то работает, то тормозит)
Стабильность сигнала рассчитывалась как процент замеров RSSI, оказавшихся в диапазоне ±3 dBm от среднего значения. Чем выше процент — тем более “ровная” и предсказуемая связь.
По окончанию замеров каждый ESP32 выдавал данные для копирования и исследования.
Условия тестов
Расстояние — ~10 метров через длинный коридор квартиры и комнаты
Помехи — 4-5 соседских WiFi
Время — Суббота, 15-17; Воскресенье, 10-11.
Результаты (суббота):
Тест 1: Не модифицированный ESP32, адаптер питания 5V (БП)
Проволочка лучше по RSSI. По по времени отклика — в пределах погрешности.
Тест 2: Влияние питания на ESP32 S3 Zero без проволоки.
Источники питания: БП, PowerBank, Батареи через IP5310
При питании от модуля с батареями сигнал ухудшается, его не только шатает (джиттер), но и мощность падает.
Тест 3: ESP S3 Zero (Minis 1) в сборе с лампой
Заметил, что прямая проволока глушит сеть, если окружить её батареями. Если батареи отнести на небольшое расстояние - прямая проволока работает. Так же не глушит сеть проволока параллельно лампе и батареям.
Бонус: графики Ping и RSSI для разных конфигураций
Стабильность замеров между днями.
Замеры в субботу показались странными, и решил перемерить на утро следующего дня. Результаты меня удивили..
Что показали таблицы:
ESP32 DevKit - единственный стабильный
Ping и джиттер в пределах погрешности измерений.
RSSI стабилен
Единственный модуль который остался предсказуемым
S3 модули нестабильны
Тесты S3 модулей показали изменения RSSI
S3 модули оказались чувствительнее к условиям
Проволочные антенны = рулетка
Могут резко улучшиться или ухудшиться
Результат непредсказуем
SMD антенны чуть стабильнее
Большинство изменений в небольших пределах
Более предсказуемое поведение чем проволочки
Влияние времени и условий
Возможно в воскресенье утром эфир был другой
Компактные модули чувствительнее к внешним факторам
Питание влияет на стабильность
Разные источники питания дают разные результаты между днями
IP5310 показывает нестабильные результаты
PowerBank стабильнее встроенного питания
Главный вывод
"Чуть изменились условия - и результаты другие"
Проволочные антенны могут выстрелить или провалиться по связи. SMD антенны более менее предсказуемые. Качественные модули (DevKit) устойчивы к изменениям, дешевые (S3) чувствительны к любым факторам.
Что у нас в итоге:
DevKit — чемпион стабильности.
Почти не реагировал на смену условий, всегда показывал отличную стабильность и минимальный разброс.
S3 модули скачут независимо от антенны — и с SMD, и с проволочными результаты менялись день ото дня. Дешево, но непредсказуемо.
SMD — скучно, но стабильно.
Там, где использовались SMD-антенны без проволочек и внешних воздействий,
связь оказалась наиболее предсказуемой — метрики менялись в пределах погрешности даже между разными днями.
Проволочки = лотерея — сегодня работает отлично, завтра хуже. Чуть повернул — и связи нет. Долго подбирать длину и ориентацию. Классические 31мм в корпусе могут вообще не работать.
Питание и окружение влияют сильнее антенн.
В корпусе - Minis 1, батареи, длинные провода, корпус - похоже всё это может “прибить” даже идеальную антенну.
Особенно в компактных модулях, где почти нет ground plane.
Магия “31 мм проволочки” из форумов — работает только на открытых платах.
В корпусе проволочная антенна вела себя непредсказуемо: в лучшем случае не помогала, в худшем — глушила связь.
Еще немного о модуле Minis 1 и лампах.
Получается железо работает, адрески светятся, но вот стабильность WI-FI, видимо не только моя вина. Как я понимаю, в текущих лампах рядом с процом металлический профиль, батареи, куча проводов и тд. Возможно, с моей стороны не идеальная разводка материнской платы влияет на результат. Ну и сам модуль S3 Zero с его мини антенной тоже влияет на связь. Похоже еще повезло взять самый не удачный Зеро, с малым полигоном земли для антенны.
Но всё равно, такой модуль можно использовать:
Косплей и декоративные проекты
Автономные светильники
Локальные проекты где связь нужна редко (или управление не далеко)
Видео, откуда я и взял идею про антенны:
Сделать компактный модуль для управления чем-либо (ленты, моторы, экранчики и т.д.) не так сложно, но когда сталкиваешься со радиосвязью, там вылезают вот такие всякие особенности..
Исходные данные: Excel таблицы с результатами всех тестов и код для ESP32 могу прислать если кому нужно будет =)
P.S. На всякий случай повторю, что я самоучка в плане электроники, и могу не знать каких-то нюансов, особенно про радиосвязь.