Суточный таймер перезагрузки

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

Задача проста – один раз в сутки отключить на 10÷15 секунд питание сетевого оборудования. Удобней это делать ночью, когда никто не пользуется интернетом.

Для установки текущего времени и программирования времени длительности перезагрузки предусмотрена возможность подключения компьютера, через USB порт.

Схема и работа отдельных узлов

Схема электрическая принципиальная, работа отдельных узлов.

Устройство собранно на микроконтроллере ATMega48 (DD1), почему то в магазинах он дешевле, например, ATTiny2313.

Время начала перезагрузки и длительность перезагрузки хранятся в EEPROM и не портятся при отключении напряжения питания. Тактируется контроллер от внутреннего генератора на частоте 8МГц. В качестве часов реального времени используется таймер/счетчик 2, работающий в асинхронном режиме. Для тактирования таймера применен часовой кварцевый резонатор частотой 32768 kHz.

Резистор R1, конденсатор С1 и диод VD1 служат для формирования импульса начального сброса при первом включении напряжения питания. Конденсаторы С2-С6 являются фильтрующими по питанию. Микроконтроллер через резистор R2 управляет транзисторным ключом VT1, который в свою очередь управляет электромагнитным реле с двумя парами переключающихся контактов. Диод VD2 шунтирует обмотку реле.

Для питания устройства при аварийном отключении напряжения в сети, предусмотрен резервный аккумулятор. В штатном режиме устройство питается от сетевого адаптера с напряжением 5В и током 0,5…1А. Аккумулятор при этом постоянно подзаряжается через резистор R3. Штатное питание и аккумулятор развязаны между собой диодами VD3, VD4. При пропадании напряжения в сети, устройство питается от аккумулятора.

Для подключения к компьютеру через USB порт используется специализированная микросхема FT232RL (DA1). Конденсаторы С7С9 служат фильтрами напряжения питания. Питается микросхема непосредственно от USB порта компьютера.

Работа устройства.

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

Подключив устройство к компьютеру, через USB порт можно установить текущее время и задать время перезагрузки в секундах.

При подключении необходимо установить на компьютер драйвер для FT232RL. Его можно взять у производителя. Для управления используется любая терминальная программа (например, для Windows это – Hyper Terminal). Настраивается она на скорость обмена 9600, 1 стоп бит, без бита четности. Возможно, придется выбрать параметры шрифта, так как устройство передает сообщения на русском языке. После правильной настройки и подключения нажмите любую клавишу на клавиатуре. В ответ устройство выдаст сообщение о текущем времени, времени перезагрузки, длительности перезагрузки. Кроме того в конце сообщения выводится краткая справка о командах управления в терминальном режиме.

Пример сообщения:

Текущее время 12:07:36

Время перезагрузки 03:00

Длительность перезагрузки 15 сек

---------------------------------------------------------

Для установки текущего времени введите

данные в формате:

t ччмм

Для установки времени перезагрузки введите

данные в формате:

a ччмм

Для установки длительности перезагрузки введите

данные в формате:

d cc

:>

После ввода данных сообщение повторяется с новыми данными. Если данные введены неправильно, перед сообщение выводится строка « !!! НЕ ВЕРНЫЕ ДАННЫЕ !!! », и сообщение выводится с неизмененными данными.

Файлы проекта:

Исходник, .HEX файлы (прошивка) в AVR Studio не забудьте EEPROM).

Проект в Proteus.