RadioRadar - Радиоэлектроника, даташиты, схемы

https://www.radioradar.net/radiofan/power_supply/device_power_interruption.html

Устройство периодического прерывания питания с большой выдержкой

Приведено описание простого устройства, позволяющего с периодом в несколько часов автоматически на короткое время выключать и вновь включать питание любого электроприбора. Устройство выполнено на микроконтроллере ATtiny13A и содержит минимальное число элементов.

Примером применения такого устройства может быть периодическое выключение какого-либо прибора для перезагрузки его программы (это восстанавливает нарушенную в результате сбоя работоспособность). Можно, например, с периодом в несколько часов опрашивать электронный термометр или другой датчик и передавать его показания по радиоканалу.

У меня в деревенском доме регистрирующая система в отсутствие хозяев собирает показания различных датчиков и через 3G-модем отправляет их на специализированный сайт, где хранится база данных. Было замечено непредсказуемое "выпадение", а то и полное прекращение обновления информации в базе. Причиной оказалась потеря связи модема с сотовой сетью. Помогала только периодическая перезагрузка всех устройств системы (модема, роутера, контроллера). Я выбрал самый простой способ делать это - каждые четыре-пять часов выключать на несколько секунд питание регистрирующей системы.

Чтобы реализовать этот способ, нужен генератор импульсов с очень длительным периодом их повторения. Решение задачи традиционным методом приводит к довольно сложному устройству с высокими требованиями к долговременной стабильности элементов. Альтернатива - недорогое устройство на микроконтроллере. Принцип его работы может быть таким: "спящий" микроконтроллер периодически по сигналу сторожевого таймера "пробуждается", проверяет, сколько времени прошло с последней перезагрузки системы и, если нужный момент подошёл, на некоторое время отключает её питание.

Схема устройства показана на рис. 1. Напряжение +5 В поступает от входной розетки XS1 (USB-BF) через нормально замкнутые контакты K1.1 реле K1 на выходные розетки XS2 и XS3 (сдвоенный разъём USBA-2J). С выходом РВ4 микроконтроллера DD1 соединён электронный ключ на транзисторе VT1, в цепь коллектора которого включена обмотка реле K1 сопротивлением 75 Ом (рабочее напряжение обмотки 5 В).

Схема устройства

Рис. 1. Схема устройства

 

Светодиод HL1 служит индикатором состояния устройства. Он светится, когда от розеток XS2 и XS3 отключено питание. При включении питания микроконтроллер конфигурирует все линии своих портов как входы, поэтому транзистор остаётся закрытым, а обмотка реле обесточена.

Программа микроконтроллера разработана в среде Algorithm Builder for AVR. Блок-схема алгоритма её работы изображена на рис. 2. Необходимые для работы программы состояния разрядов конфигурации микроконтроллера ATtiny13A представлены на рис. 3.

Блок-схема алгоритма работы программы микроконтроллера

Рис. 2. Блок-схема алгоритма работы программы микроконтроллера

 

Необходимые для работы программы состояния разрядов конфигурации микроконтроллера ATtiny13A

Рис. 3. Необходимые для работы программы состояния разрядов конфигурации микроконтроллера ATtiny13A 

 

Режим работы сторожевого таймера микроконтроллера следует задать в среде разработки, как показано на рис. 4, что соответствует самой большой длительности его выдержки - 8,2 с. Программа построена так, что большую часть времени микроконтроллер находится в "спящем" режиме. "Проснувшись" при срабатывании сторожевого таймера, он, согласно программе, проверяет содержимое регистра R0 и увеличивает его содержимое на единицу.

Режим работы сторожевого таймера микроконтроллера

Рис. 4. Режим работы сторожевого таймера микроконтроллера

 

Хранящееся в регистре R0 значение в "спящем" режиме не изменяется, что позволяет использовать его регистр как счётчик числа "пробуждений" микроконтроллера. Переполнение регистра происходит приблизительно через каждые 35 мин (8,2 с х 256). Если же его содержимое отлично от нуля, переполнения счётчика ещё не произошло и микроконтроллер "засыпает" вновь (переходит в режим Power down).

Подсчёт переполнений регистра R0 программа ведёт в регистре R1. В моём случае оказалось достаточно восьми переполнений (8,2 с х 256 х 8 = 4,7 ч), поэтому начальное значение в регистре R1 - 7, а каждое переполнение регистра R0 уменьшает его на единицу. По истечении указанного интервала времени программа конфигурирует вывод РВ4 как выход и устанавливает на нём высокий логический уровень. Это открывает транзистор VT1 и приводит к срабатыванию реле K1, которое разрывает цепь питания устройств, подключённых к разъёмам XS2 и XS3. Через 8,2 с снова срабатывает сторожевой таймер, и программа возвращает вывод РВ4 в режим входа, чем выключает реле K1. Питание внешних устройств восстанавливается.

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

Прерыватель смонтирован на фрагменте макетной платы размерами 20х50 мм. Микроконтроллер DD1 установлен в панель. Реле K1 - SRS-05VDC-SL. Проверку изготовленного прерывателя следует начинать без микроконтроллера. Напряжение 5 В, поданное на розетку XS1, должно присутствовать на гнезде 8 панели микроконтроллера и левом (по схеме) выводе обмотки реле K1. Это напряжение измеряют относительно гнезда 4 панели микроконтроллера. Проверить работу транзистора VT1 и реле K1 можно кратковременным замыканием гнёзд 8 и 3 панели микроконтроллера - реле должно сработать, а светодиод - включиться на время замыкания. После установки микроконтроллера в панель проверка работы устройства состоит в длительном ожидании момента включения светодиода и срабатывания реле.

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

Внешний вид прерывателя

Рис. 5. Внешний вид прерывателя

 

Интересно отметить "побочный эффект". Чтобы при проверке не слишком долго ждать срабатывания реле, несколько упрощённая программа (без анализа состояния регистра R1) была загружена в микроконтроллер приёмной части устройства, описанного в моей статье "Радиоуправляемый сетевой удлинитель" ("Радио", 2014, № 7, с. 31-33). При её работе через каждые 35 мин розетки удлинителя включались на 8 с. В предновогодние дни к этому удлинителю была подключена ёлочная иллюминация. Эффект оказался неожиданным: в самое неподходящее время иллюминация вдруг включалась. Ёлка, весело мигая, несколько секунд поднимала настроение окружающим.

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

Принципы, заложенные в рассмотренный алгоритм, можно использовать и в иных целях, например, для имитации присутствия в доме.

Программу микроконтроллера можно скачать здесь.

Автор: А. Пахомов, г. Владимир