Опытный образец автоматизированной системы передачи показаний счетчиков воды на основе LoRa-модулей

Введение

В начале 2021 я представил на сайте usamodelkina.ru прототип системы передачи показаний счетчиков воды на основе LoRa-модулей. Публикация вызвала неоднозначную реакцию, содержащую претензию к сложности подобной системы. К тому моменту я уже изготовил опытный образец, но реакция и семейные обстоятельства заставили меня отложить описание в долгий ящик.

Сейчас у меня наконец-то появилось немного времени на доработку и проверку работоспособности, и я решил, что сложность системы все-таки преувеличена: в итоге вырисовывается очень простая схема, в перспективе содержащая дешевые и доступные компоненты.

Изначально мной были поставлены следующие задачи:

  1. Разработать схему, потребляющую минимум энергии, чтобы обеспечить многомесячное питание от небольшого аккумулятора типа «пауч». Я использовал аккумулятор на 1200 мАч;
  2. Изготовить опытный образец методом ЛУТ. Размер образца не более сигаретной пачки, чтобы влезал в дешевый пластиковый корпус. Сложность изготовления средняя, требующая владение паяльным феном;
  3. Проверить опытный образец на работоспособность, исправить выявленные ошибки, доработать схему.

В отличие от прототипа в данном опытном образце я использовал 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, представляющий собой геркон с резистором.

Опытный образец автоматизированной системы передачи показаний счетчиков воды на основе LoRa-модулей

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

В прошивку было внесено изменение в связи с тем, что используются два геркона (счетчики холодной и горячей воды). Теперь они просто опрашиваются попеременно. В связи с тем, что я немного поторопился, тестовые константы были зашиты в прошивку вот по такому принципу:

Один из желтых светодиодов не работал из-за неправильно подобранного сопротивления. Перепаивать уже было лень. Тем более, что никакой функциональной нагрузки он не несет кроме декоративной.

Геркон 1 активирован:

Геркон 1 деактивирован:

Геркон 2 активирован (сверху) и деактивирован (снизу):

Доработка схемы:

  1. Исправлена схема питания Attiny84a;
  2. Добавлено сопротивление 10 кОм между RST на Attiny84a и 2.5V на ICSP для подтяжки RST;
  3. На лицевой (бордовой) стороне: разорваны дорожки SCK и MISO между Attiny84a и RFM95W, встроены нуль-резисторы. Обрыв дорожек необходим для корректного программирования Attiny84a;
  4. Вывод 8 на Attiny84a переименован на B2 по аналогии с прошивкой.

Возможная замена компонентов для удешевления или простой замены:

  1. LP2985-28DBVT -> MCP1700T-2502E/TT;
  2. Bourns 3314G-1-103E -> китайский потенциометр 3×3 SMD под крест Philips. В оригинале это, по-моему, Kyocera;
  3. IRF7210 -> практически любой SMD-полевик P-типа с Gate Threshold Voltage > (-2.5V);
  4. Attiny84a-SSU -> Attiny841-SSU;
  5. RFM95W -> Semtech SX1276;

FDS9926A и LM393 стоят копейки.

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

В файле прошивки secconfig.h задается интервал опроса счетчиков (в секундах):
#define SLEEP_TIME 9

Разводка платы LoraCounter в KiCAD
Модифицированная прошивка Attiny84a
Прошивка TTGO Lora-32
Разводка переходника для программирования Attiny84Adapter

Подборки: attiny84 lora

ВЧ-модули для дистанционного управления своими руками

Источник

Если вам понравилась статья, поделитесь ей в соц.сетях !