Введение
В начале 2021 я представил на сайте usamodelkina.ru прототип системы передачи показаний счетчиков воды на основе LoRa-модулей. Публикация вызвала неоднозначную реакцию, содержащую претензию к сложности подобной системы. К тому моменту я уже изготовил опытный образец, но реакция и семейные обстоятельства заставили меня отложить описание в долгий ящик.
Сейчас у меня наконец-то появилось немного времени на доработку и проверку работоспособности, и я решил, что сложность системы все-таки преувеличена: в итоге вырисовывается очень простая схема, в перспективе содержащая дешевые и доступные компоненты.
Изначально мной были поставлены следующие задачи:
- Разработать схему, потребляющую минимум энергии, чтобы обеспечить многомесячное питание от небольшого аккумулятора типа «пауч». Я использовал аккумулятор на 1200 мАч;
- Изготовить опытный образец методом ЛУТ. Размер образца не более сигаретной пачки, чтобы влезал в дешевый пластиковый корпус. Сложность изготовления средняя, требующая владение паяльным феном;
- Проверить опытный образец на работоспособность, исправить выявленные ошибки, доработать схему.
В отличие от прототипа в данном опытном образце я использовал LoRa-модуль RFM95W, являющийся функциональным аналогом модуля Semtech SX1276, применявшемся в прототипе. На изображении видно, что выводы расположены аналогично, отличается только печать.
Производство
Для производства опытного образца методом ЛУТ использовалась двухсторонняя фольгированная плата. Задняя (зеленая) сторона в KiCAD печатается без инвертирования, а передняя (бордовая) сторона с инвертированием на двухсторонней глянцевой бумаге для лазерных принтеров Cactus CS-LPA4100100. Очень рекомендую эту бумагу для ЛУТ, потому что она не сворачивается и не застревает при печати, и подходит практически для любого лазерного принтера. Для печати использовался доисторический Canon LBP-810 с драйверами под Linux. Достоинством этого принтера является режим запрета экономии тонера (5 уровень подачи тонера), который я и использую. Перенос на фольгированный стеклотекстолит производится с помощью обычного бытового утюга на 2800 Вт с подложкой из отданной на растерзание нэжной пижамки жены до пожелтения бумаги. Выравнивание произвожу по напечатанным границам (Edge Cuts).
Тонер стираю после замачивания в «Калоше», ибо Degreaser 65 дороговат, хоть и работает лучше.
Затем производится сверловка гравером со сверлом диаметром 0,8мм. После этого две стороны платы электрически соединяются перемычками из электрического лома (ножками от выводных компонентов).
Монтаж компонентов производится с помощью китайского фена на известную китайскую пасту «Механик». Схема рассчитана на типоразмер 1206, чтобы не сломать глаза и спину, но его можно уменьшать (0805, 0603…), ибо там микротоки.
Для программирования используется китайский клон USBAsp через переходник «10 на 6». Среда программирования – PlatformIO. В ходе проверки изготовленного образца выяснилось, что я ошибся в схеме с питанием Attiny84a, поэтому пришлось разрезать пару дорожек и кинуть пару проводков. Кроме того, выяснилось, что RFM95W не дает запрограммировать Attiny84a с помощью встроенного ICSP-разъема, поэтому Attiny84a пришлось выпаивать и срочно создавать переходник для программирования на основе универсального адаптера для программирования микросхем DIP-SOIC 16 pin 150 mil. Два пина не использовались.
В итоге этот китайский Attiny84a все равно оказался нерабочим. Attiny84a из магазина «ЧИП и ДИП» оказался работоспособным и был запрограммирован с помощью созданного переходника. В плату были внесены изменения: дорожки SCK и MISO (или MOSI) между Attiny84a и RFM95W должны быть разорваны во время программирования Attiny84a.
В итоге плата выглядела так:
Проверка
Для имитации счетчика воды с герконом использовался модуль Keyes KY-021, представляющий собой геркон с резистором.

Для возбуждения геркона использовался небольшой магнит.
В прошивку было внесено изменение в связи с тем, что используются два геркона (счетчики холодной и горячей воды). Теперь они просто опрашиваются попеременно. В связи с тем, что я немного поторопился, тестовые константы были зашиты в прошивку вот по такому принципу:
Один из желтых светодиодов не работал из-за неправильно подобранного сопротивления. Перепаивать уже было лень. Тем более, что никакой функциональной нагрузки он не несет кроме декоративной.
Геркон 1 активирован:
Геркон 1 деактивирован:
Геркон 2 активирован (сверху) и деактивирован (снизу):
Доработка схемы:
- Исправлена схема питания Attiny84a;
- Добавлено сопротивление 10 кОм между RST на Attiny84a и 2.5V на ICSP для подтяжки RST;
- На лицевой (бордовой) стороне: разорваны дорожки SCK и MISO между Attiny84a и RFM95W, встроены нуль-резисторы. Обрыв дорожек необходим для корректного программирования Attiny84a;
- Вывод 8 на Attiny84a переименован на B2 по аналогии с прошивкой.
Возможная замена компонентов для удешевления или простой замены:
- LP2985-28DBVT -> MCP1700T-2502E/TT;
- Bourns 3314G-1-103E -> китайский потенциометр 3x3 SMD под крест Philips. В оригинале это, по-моему, Kyocera;
- IRF7210 -> практически любой SMD-полевик P-типа с Gate Threshold Voltage > (-2.5V);
- Attiny84a-SSU -> Attiny841-SSU;
- RFM95W -> Semtech SX1276;
FDS9926A и LM393 стоят копейки.
Проверка показала, что схема является работоспособной. В KiCAD представлен доработанный вариант платы, которую вы можете изменить по своему вкусу.
В файле прошивки secconfig.h задается интервал опроса счетчиков (в секундах):
#define SLEEP_TIME 9
Разводка платы LoraCounter в KiCAD
Модифицированная прошивка Attiny84a
Прошивка TTGO Lora-32
Разводка переходника для программирования Attiny84Adapter
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.