← Все проекты

GSM-контроллер отопления

Управление отоплением по SMS на своей элементной базе: от макета на Arduino и модуле A6 до двух самодельных двусторонних плат с ATmega32A и Quectel M66.

Заморожен весна 2020

Весной 2020 года меня попросили сделать GSM-контроллер для системы отопления: чтобы управлять им издалека по SMS через обычную SIM-карту. Готовые устройства такого рода существуют (тот же ZONT), но задача была другая — собрать всё на своей элементной базе, от схемы до платы, без готовых решений.

Что должен был уметь контроллер:

  • включать и выключать отопление по SMS;
  • контролировать температуру;
  • менять заданную температуру;
  • присылать в ответ SMS с состоянием и всем, что нужно знать о системе.

Сначала макет

Прежде чем рисовать платы, собрал всю схему на макетной плате из готовых модулей: Arduino Nano как мозг, GSM-модуль A6, датчик DHT11, модуль реле и отдельный модуль питания макетки. Так можно быстро проверить идею и написать программу, не дожидаясь плат.

Макет: Arduino Nano, датчик DHT11, реле и GSM-модуль A6
Макет: Arduino Nano, датчик DHT11, реле и GSM-модуль A6

Первым делом — убедиться, что GSM-модуль вообще отвечает. Подключаюсь через монитор порта: на AT модуль отвечает OK, на ATI представляется — Ai Thinker, A6 и версия прошивки. Строка +CREG: 1 означает, что SIM-карта зарегистрировалась в сети.

GSM/GPRS-модуль A6 от Ai-Thinker
GSM/GPRS-модуль A6 от Ai-Thinker
Модуль отвечает на AT-команды и регистрируется в сети
Модуль отвечает на AT-команды и регистрируется в сети

Дальше собрал логику управления, проверил, показал — управление по SMS работало.

Плата контроллера на ATmega32A

Когда макет заработал, пришло время своих плат. Первой сделал отладочную плату контроллера на ATmega32A: все порты выведены на гребёнки, есть разъём программатора, UART, кнопки и светодиод. Схему и разводку рисовал в EasyEDA.

Схема в EasyEDA, сверху лежит готовая плата
Схема в EasyEDA, сверху лежит готовая плата
Разводка верхней стороны
Разводка верхней стороны

Плату делал методом ЛУТ: печатаю рисунок на лазерном принтере, переношу тонер утюгом на медь и травлю.

После травления
После травления
После лужения
После лужения

Микроконтроллер в корпусе TQFP паяется на нижнюю сторону — шаг выводов мелкий, поэтому работаю под лупой.

Рабочее место: лупа на «третьей руке», осциллограф и лабораторный блок питания
Рабочее место: лупа на «третьей руке», осциллограф и лабораторный блок питания
TQFP под лупой
TQFP под лупой
ATmega32A на месте
ATmega32A на месте
Готовая плата контроллера, верхняя сторона
Готовая плата контроллера, верхняя сторона

Плата GSM-модуля на Quectel M66

На макете стоял A6, но для своей платы я перешёл на Quectel M66 — он работает заметно устойчивее. Под новый модуль пришлось заново развести плату. Она тоже двусторонняя и тоже сделана ЛУТом — с обеих сторон.

Тонер перенесён на медь:

Верхний слой: под модулем M66 — веер дорожек к его выводам
Верхний слой: под модулем M66 — веер дорожек к его выводам
Нижний слой
Нижний слой

После травления, тонер ещё на дорожках:

Верх после травления
Верх после травления
Низ после травления
Низ после травления

Смыл тонер — видна чистая медь:

Верхний слой
Верхний слой
Нижний слой
Нижний слой

Потом залудил дорожки, чтобы медь не окислялась и лучше паялась:

Нижняя сторона после лужения
Нижняя сторона после лужения

Маркировку элементов на верхней стороне — обозначения, название и версию платы — тоже нанёс ЛУТом, тонером по стеклотекстолиту.

Маркировка элементов на верхней стороне
Маркировка элементов на верхней стороне
Крупно: дорожки и переходные отверстия
Крупно: дорожки и переходные отверстия

Сборка

Quectel M66 — модуль в корпусе с контактами по периметру, паяется прямо на площадки платы. Вокруг него — держатель SIM-карты, SMA-разъём для антенны, разъёмы для отладки и светодиод. По питанию стоят крупные электролитические конденсаторы: GSM-модуль во время передачи берёт короткие пики тока до 2 А, и без запаса ёмкости питание проседает.

Плата с Quectel M66 после сборки
Плата с Quectel M66 после сборки
Обе платы рядом: контроллер на ATmega32A и GSM-модуль
Обе платы рядом: контроллер на ATmega32A и GSM-модуль
Готовый комплект
Готовый комплект

Что дальше

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