AVR для всех
Проект 4.  Цифровое реле времени на AT90S2313.
Сайт готовых проектов на контроллерах AVR...
Источник: http://www.radiokot.ru                                                                          Автор:   kot@radiokot.ru
Да будет известно достопочтенной публике, я, если можно так выразиться, занимаюсь в авиамодельном кружке. И понадобилось для нужд кружка собрать цифровое реле времени для управления вакумным насосом. Работа по разработке и воплощению устройства в железе была успешно выполнена и результаты её представляются чуть ниже.
Итак, ингридиенты:
Пиво.
Паяльные принадлежности.
Пиво.
Прямые руки, желательно управляемые головой.
Пиво.
Кое-какие радиодетали.
Пиво я не пью, но если вы только вчера собирали Серегину светодиодную мигалку (как я) и сожгли пару контроллеров, как я, то без пива Вам тут явно не обойтись.

Сразу скажу, что плата не разрабатывалась по причине отсутствия возможности распечатать её на хорошем лазерном принтере и на хорошей бумаге.
Железная часть
Схема собрана на микроконтроллере AT90S2313.
В моей схеме стабилизацию питания обеспечивает микросхема КР142ЕН5б, но более предпочтительна КР142ЕН5А.
Напряжение на выходе 5В.
Микросхема шунтируется как по входу, так и по выходу конденсаторами т.к. любит возбуждаться и по тому, и по другому.
Напряжение питания в моем случае с креном - от 7.5 до 30 вольт. У меня работает и от 7.24.
Ток потребления - 30-50ма (без реле).
Схему подключения индикатора можно назвать стандартной. С общим анодом. Индикаторы любые, главное, чтоб подходили по току и имели общий анод. В моем случае все разряды были отдельные. Пришлось много проводов паять. Аноды комутируются транзисторами КТ361. По току вполне достаточно. Номиналы резисторов 16-20 варьируются в широких пределах. Главное, чтоб ток через ногу контроллера не превысил 40ма и не был меньше тока одного сегмента умноженного на 7 и поделенного на Кус транзистора :)
Пятый сегмент неполный и представлен отдельными светодиодами.
Блок кнопок работает совместно с сегментами.
Кнопки 7 и 8 устанавливаются по желанию, если планируется их дальнейшее использование. Так же можно добавить ещё 2 кнопки, подключив к управляющему разряду пятого анода.
Транзистор, комутирующий реле у меня расчитан на установку на радиатор (какой нашел). На нем мало чего написано, так что идентефицировать его сложно, но при токе 170ма он совсем не греется.
На схеме имеется разъем для программирования по ISP.
Мягкая часть
Собственно, прошивка находится выше.
Подсчет времени осуществляется по прерыванию компаратора первого таймера. Компаратор настроен на 0.5 сек для обеспечения стандартного мигания межсегментного индикатора. У кнопок управления временем есть автоповтор. Все действия описаны в событиях на нажатие.
Принцип работы:
·:нопками 1-4 устанавливается время, на которое реле будет замыкаться.
·:нопка 5 позволяет устанавливать время, на которое реле будет размыкаться, аналогичным образом.
·:нопка 6 запускает устройство.
·7апоминание времен происходит при нажатии кнопки переключения режима (5) и при запуске устройства кнопкой 6.
После включения питания устройство сразу готово к работе (сразу можно запустить кнопкой 6). Предустановленное время: 4 минуты работы, 30 отдыха. После запуска начинается обратный отсчет времени текущего режима. После того, как таймер досчитает, режим переключается, устанавливается новое время, переключается реле и все повторяется.
Заглючение
С этим устройством можно устроить много интересных игр как в помещении, так и на открытом воздухе, но разрабатывалось оно для управления вакуумным насосом в авиамодельной мастерской для формования больших плоскостей используя давление атмосферы. В работе насоса требуются перерывы т.к. вакуум он создает хороший, но вакуумные мешки все же имеют отверстия, через которые воздух проникает обратно.
Так же, устройство напоминает таймер и может использоваться в этой роли в других устройствах, снабженных ТНТ, С4, ГМТД, ивв типа "Киса" и пр. для совершения диверсионных вылазок с целью поставить под угрозу территориальную целостность мирового сообщества...
Загрузить схему, файл прошивки и исходные коды
Сайт создан в системе uCoz