Сборка DIY-модуля LoRaWAN: пайка RFM95W и антенны PCB

Если вы читаете этот текст, значит, у вас уже есть набор компонентов или список покупок, и вы хотите получить рабочий радиомодуль. Забудьте про готовые шилды с кучей разъемов — они дорого стоят и занимают много места. Мы сделаем чистое решение: плата с микроконтроллером, чипом RFM95W и печатной антенной. Это тот самый уровень, когда проект «перестает быть хобби» и превращается в полноценное устройство, которое можно встроить в корпус.

Главная проблема в таких проектах — не найти детали, а заставить их работать вместе без помех. Частота 868 МГц (или 915 МГц) — это не Arduino, где можно кинуть проводок и всё заработает. Здесь каждая дорожка, каждый конденсатор имеет значение. Я собрал десятки таких модулей, и в этой статье дам вам выжимку того, что работает, а что приводит к головной боли и перепрошивке.

Что нам понадобится: база и нюансы

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

В центре нашего внимания — модуль RFM95W. Это трансивер от компании HopeRF. Он дешев, доступен и отлично работает в диапазоне Sub-1 GHz. Но есть два критических момента, о которых молчат в описаниях на маркетплейсах:

  1. Региональная привязка. RFM95W бывает на 433, 868 и 915 МГц. Для Европы (и России по закону) нужен именно 868 МГц. Не перепутайте, чип на 433 МГц не прошьешь на 868 программно — физика не позволит.
  2. Разводка. RFM95W идет в корпусе QFN. Это значит, что у него нет ножек, торчащих наружу. Пайка требует навыка работы с микросхемами под корпусом. Если вы не паяли микросхемы с шагом 0.4 мм, потратьте вечер на тренировку на старых платах.

Второй герой — микроконтроллер. Лучший выбор для DIY — STM32 (серии Blue Pill или L0/L4) или ESP32. Для чистого LoRaWAN лучше брать STM32, так как они потребляют меньше энергии в спящем режиме. ESP32 хорош, если вам нужен Wi-Fi или Bluetooth в комплекте, но его токи спящего режима выше, а радиопомехи от Wi-Fi-модуля могут «задушить» чувствительность LoRa. Для простой сборки берите STM32L071 или L152 — они созданы для этого.

Схема и разводка: где прячутся ошибки

Вам не нужно изобретать велосипед. Схема RFM95W от производителя — это закон. Но есть детали, которые новички игнорируют.

Мощность передатчика (PA) в RFM95W требует внешних компонентов. Чип не может выдать свои заявленные +20 дБм (100 мВт) сам по себе. Выход PA_DAC требует подключения фильтра и согласующей цепи. Если вы просто соедините вывод PA с землей или оставите его висеть — мощность упадет до +14 дБм (25 мВт), и дальность сократится в разы.

А теперь про антенну. Печатная антенна (PCB Trace Antenna) — это выбор в пользу компактности. Вам не нужен внешний «волчок», вы просто вырезаете дорожку на плате. Это дешево и красиво, но требует точности. Ошибка в длине дорожки всего на 2-3 мм может сдвинуть резонансную частоту так, что антенна перестанет работать.

Ключевые узлы схемы

  • Фильтр PA. Обязателен. Обычно это LC-схема (катушка + конденсаторы). Без неё передатчик греется, а сигнал «звездит» по соседним частотам.
  • Сглаживающие емкости. RFM95W очень чувствителен к «пульсациям» питания. Ставьте керамические конденсаторы 100 нФ и 10 мкФ как можно ближе к выводам питания чипа. Не верьте словам «можно поставить подальше» — на высоких частотах длинная дорожка работает как антенна для помех.
  • Кварцевый резонатор. RFM95W требует внешнего резонатора 12.5 МГц (или 12 МГц, зависит от версии). Для STM32 нужен свой резонатор (обычно 8 МГц). Не экономьте на них. Дешевые заводские резонаторы могут «плавать», и синхронизация пакетов будет сбиваться.

Таблица: Антенна PCB vs Внешняя

Многие спорят, что лучше. Давайте посмотрим на реальные сценарии использования.

Параметр Печатная антенна (PCB Trace) Внешняя антенна (IPEX/ SMA)
Стоимость 0 руб. (просто медь на плате) 150–300 руб. за качественный модуль
Габариты Компактно (занимает край платы) Нужен разъем + место для изгиба
Дальность Ограничена геометрией платы (обычно -10 дБи) Высокая (дипольная антенна +2…+5 дБи)
Критичность к корпусу Высокая (рука, металл, пластик с краской убивают сигнал) Низкая (антенна вынесена наружу)
Сложность настройки Требуется точная разводка и анализатор (в идеале) Нужен качественный разъем и кабель

Пошаговая сборка: от платы до первого пакета

Допустим, вы спроектировали плату в KiCad или EasyEDA. Вы можете заказать её в Китае за 2 недели, а можете собрать макет на перфокарте (но для RF это не рекомендуется). Ниже — алгоритм для готовой печатной платы.

Шаг 1: Подготовка чипов

Самое сложное — припаять RFM95W. У него 24 вывода. Используйте паяльную пасту и фен. Не жалейте флюс. После пайки тщательно отмойте плату от флюса. На частоте 868 МГц остатки флюса могут работать как паразитная антенна, создавая утечки тока.

Особое внимание уделите выводу 1 (это часто земля или ключ). Убедитесь, что все выводы припаялись, но и не замкнули между собой.

Шаг 2: Пассивные компоненты

Сначала паяйте мелкие SMD-компоненты (конденсаторы 0402 или 0603). Затем переходите к катушкам и резисторам. Для антенны используйте медную фольгу или толстую дорожку на плате. Ширина дорожки для антенны обычно 0.5–0.8 мм, но это зависит от толщины текстолита.

Шаг 3: Микроконтроллер

Если вы используете сдвоенный корпус (например, QFN STM32), паяйте его после RFM95W. Если микроконтроллер в DIP (через отверстия), ставьте его в последнюю очередь, так как он высокий и может мешать фену при пайке других деталей.

Шаг 4: Программная часть

Аппаратная часть готова. Теперь нужно заставить её говорить. Лучшая библиотека для старта — RadioHead или LMIC (The Things Network). Для LoRaWAN вам понадобится именно LMIC, так как она реализует протокол сетевой адаптации.

Проверьте конфигурацию палов (пинов). Соединение должно быть SPI. Обычно это:

  • NSS (Chip Select) — управляющий вывод.
  • MOSI / MISO — передача данных.
  • SCK — тактовый сигнал.
  • RST, DIO0, DIO1 — прерывания.

Обязательно проверьте, что пины DIO0 подключены к прерываниям микроконтроллера. Если вы используете библиотеку, которая работает в polling-режиме (опрос), радиоприем будет нестабильным.

Настройка антенны: как не убить сигнал

Вы спаяли всё, включили питание, но ничего не работает. Скорее всего, проблема в согласовании антенны. Печатная антенна — это просто кусок меди, но её форма определяет то, как она излучает энергию.

Если у вас нет анализатора цепей (VNA), который стоит от 500 долларов, есть обходной путь. Сделайте антенну чуть короче, чем рассчитано, и постепенно расширяйте её длину (добавляйте медь или поднимайте перемычку), проверяя сигнал. Но это «метод тыка».

Правило «Рамочной антенны»: Часто в компактных платах используют изогнутую линию (Meandered Antenna). Она занимает меньше места. Но чем больше изгибов, тем выше потери. Для DIY лучше использовать простую линию (Trace Antenna) вдоль края платы.

Важный момент: Заземление (Ground Plane). Антенна PCB работает только в паре с «землей». Она должна быть под антенной или рядом, но не перекрывать её полностью. Обычно делают зазор 1-2 мм между антенной и слоем земли. Если вы сделаете сплошную землю под антенной — сигнал уйдет в плату, а не в воздух.

Частые ошибки и как их избежать

Вот список проблем, с которыми я сталкивался чаще всего, и как их лечить.

1. Плохой контакт земли (GND).
Многие забывают поставить заземляющие отверстия (vias) для RFM95W. У чипа снизу есть теплоотводящая площадка, которая должна быть соединена с «землей» платы множеством отверстий. Если этого не сделать, чип перегреется, а шум будет колоссальным.

2. Длинная линия питания.
Если вы поставили конденсатор питания далеко от чипа, на моменте броска мощности (когда RFM95W передает пакет) напряжение проседает. Микроконтроллер может перезагружаться в момент передачи. Решение: ставьте конденсатор 100 нФ в 1-2 мм от выводов.

3. Ошибки в схеме согласования PA.
В даташите есть схема для PA_RFO (малогабаритный выход) и PA_BOOST (мощный выход). Не перепутайте их. Для запуска на +20 дБм используйте PA_BOOST и подключите выход к антенне через фильтр. Если подключите PA_RFO — вы получите максимум +14 дБм.

4. Механические повреждения.
Печатная антенна очень хрупкая. Если вы будете пилить плату ножовкой, трещинки в меди по краю антенны убьют её эффективность. Используйте фрезер или лазерный резак. Если режете вручную — делайте это аккуратно и отшлифуйте край.

Сценарии: что выбрать под вашу задачу

Не все проекты одинаковы. В зависимости от условий, подход к сборке меняется.

Сценарий А: Датчик температуры в квартире (от батареи).
Вам нужна максимальная экономия энергии.
Решение: Используйте STM32L0 или STM32L4. Отключите все лишние периферийные модули. Антенна PCB будет идеальна, так как рядом нет металла и Wi-Fi-роутеров. Питание — 3.3В от батареи через LDO-стабилизатор с низким током покоя (например, MCP1700).

Сценарий Б: Датчик на улице (в металлическом корпусе).
Здесь любая печатная антенна внутри корпуса превратится в «глушак». Металл экранирует сигнал.

Решение: Выведите антенну наружу. Используйте разъем IPEX на плате и подключите внешний проводной диполь или штырь. Если корпус пластиковый, антенна PCB может работать, но её нужно разместить в месте, где корпус тонкий, и подальше от электроники.

Сценарий В: Промышленный мониторинг (вдали от базовых станций).
Здесь нужна максимальная мощность.

Решение: Не экономьте на фильтрах PA. Используйте PA_BOOST. Можно добавить внешний усилитель мощности (LNA) на прием, если нужен огромный радиус, но это усложнит схему. Для дома и города достаточно +20 дБм RFM95W.

Как лучше сделать: советы практика

Если вы хотите, чтобы устройство работало годами, а не месяц, учтите следующие нюансы.

Изоляция. После сборки и промывки платы обязательно покройте её лаком (conformal coating). Влажность — главный враг высокоомных цепей и антенн. Конденсат на плате может изменить ёмкость антенны, и частота «уплывет» на 1-2 МГц, что для узкополосного LoRaWAN фатально.

Тепло. RFM95W греется при передаче. Если вы планируете передавать часто (раз в минуту и чаще), убедитесь, что у вас есть теплоотвод. Обычная медная площадка под чипом на плате помогает, но в замкнутом корпусе может потребоваться вентиляция.

Диагностика. Обязательно выведите на UART (через USB-UART переходник, например, CP2102) отладочные сообщения. Вы должны видеть: «Радио инициализировано», «Пакет отправлен», «Прием подтвержден». Если вы пишете код без логов, вы будете гадать, почему не работает.

Итог: с чего начать прямо сейчас

Сборка LoRaWAN-модуля с RFM95W и антенной PCB — это отличный способ понять, как работают радиосети. Это сложнее, чем подключить модуль по проводу, но результат того стоит. Вы получаете автономное устройство, которое можно разместить где угодно.

  1. Начните с выбора частоты (868 МГц для Европы/РФ).
  2. Закажите готовую разводку или используйте проверенные схемы из документации HopeRF.
  3. Не игнорируйте фильтр PA — это 50% успеха по мощности.
  4. Для антенны PCB используйте простую линию沿 края платы и оставьте правильный зазор от земли.
  5. Тестируйте до установки в корпус.

Если вы сделаете всё по инструкции, у вас будет надежный модуль, который будет работать не хуже заводских решений, но стоить в 3 раза дешевле. Главное — аккуратность при пайке и уважение к физике радиоволн. Удачи с пайкой!

radio-blog.ru — электроника и технологии