Таймер автоматической подачи звонков в учебных учреждениях «Школьник».

Это устройство разрабатывалось по просьбе руководства одной из гимназий г.Минска. Основное назначение, как уже догадался читатель из названия статьи, - подача звонков по расписанию. «Школьник» успешно прошёл предварительные испытания и с октября 2009г. «находится на постоянном рабочем месте».

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

       Получившееся в итоге изделие обладает следующими характеристиками:

 - энергонезависимая память на 125 будильников (звонков);

 - раздельный выбор дней срабатывания (понедельник...воскресенье) для каждого из будильников;

 - полный календарь до 2999 г. с учётом високосных лет;

 - автоматический переход на летнее время и обратно (или без него в зависимости от версии прошивки);

 - автоматический расчёт дня недели по текущей дате;

 - синхронизация времени по сигналам точного времени от радиотрансляционной сети или радиоприёмника;

 - изменяемая, посредством системного меню, в пределах 0...60 секунд длительность включения нагрузки (звонка);

 - индикация на ЖК-дисплее полной текущей даты и времени;

 - регулируемые, посредством системного меню, яркость подсветки и контрастность ЖК-дисплея;

 - автоматический возврат в главное меню при отсутствии нажатий на кнопки управления спустя 30 секунд;

 - цифровая подстройка хода часов;

 - функция блокировки клавиатуры для исключения несанкционированного доступа к настройкам устройства;

 - русский или украинский язык меню (в зависимости от прошивки).

   

     Прошивки  для микропроцессора AT Mega8(L) в hex-формате можно скачать одним архивом. В архиве находится версия прошивки с русским языком меню без функции автоматического перевода часов на летнее/зимнее время (введена по просьбе г-на Медведева из России...), а так же прошивка с украинским языком меню и автоматическим переводом часов на летнее/зимнее время (сделана на скорую руку по просьбе некоего Василя)...

     В недалёком прошлом существовала и версия с белорусским языком меню, однако из архива она убрана при очередной модификации программы устройства и добавлении функции блокировки клавиатуры. Сделано это потому что, из более чем 90 человек повторивших данное устройство, пока ещё никто не не решился собирать белорусскую версию (она приведена на фото). Виной тому практически полное отсутствие в Республике Беларусь населения говорящего на родном языке. Это всё из-за официального двуязычия в стране и того кто его придумал... Так уж повелось, что если ты на улице заговоришь на Белорусском - значит "враг советской власти" и в кутузку тебя... А не дай бог заявление в органы власти на родном языке написать... Не верите - почитайте новости на сайтах неофициальных СМИ. Что-то отвлёкся я...

     Отмечу, что сам микропроцессор тактируется от встроенного RC-генератора с частотой 4 МГц, а микропрограмма написана на языке C++ в среде WinAVR-20100110.

    Счет времени ведётся в подпрограмме обработки прерывания по переполнению таймера-счётчика 2, настроенного на работу в асинхронном режиме от кварцевого генератора с частотой часовой 32768 Гц.

    Основную сложность при разработке устройства составила расшифровка и обработка звукового сигнала, необходимого для выделения из звукоряда сигналов точного времени. Для выполнения этой задачи с радиоприёмника, настроенного на частоту «Первого национального канала Белорусского радио» были записаны сигналы точного времени. Как оказалось, они представляют собой ряд импульсов с частотой 1 кГц., следующих пачками.

    Длительность первых 5-ти пачек приблизительно составляет 270 мс., причём огибающая каждой пачки представляет собой не прямоугольник, а определённо более сложную фигуру. Первые 100 мс. все модулирующие импульсы, заполняющие слышимый звуковой сигнал «пик», имеют одинаковую амплитуду, которая затем начинает убывать по экспоненциальному закону.

    Время между началами двух любых рядом стоящих импульсов составляет ровно 1 секунду (По крайней мере, с точностью не хуже ±0,00001с. Точнее не позволяет измерять имеющееся у меня оборудование). Всё вышесказанное касается первых пяти звуковых импульсов. Что касается шестого, то длительность незатухающего участка колебаний в четыре раза больше первых пяти.

    После компьютерного моделирования и анализа различных схем выделения импульсной последовательности из звукового ряда выбор автор остановил свой выбор на довольно простой схеме:
    Не смотря на простоту схемы, не содержащей ни операционных усилителей, ни полосовых фильтров для выделения несущей частоты в 1 кГц., ни даже транзисторов, при практических испытаниях прибора ложных срабатываний, ровно, как и пропуска сигналов точного времени, не наблюдалось.

    Схема предварительной фильтрации состоит из нескольких частей. Первая представляет собой параметрический стабилизатор переменного напряжения, служащий для ограничения амплитуды переменного напряжения, поступающего на вход схемы синхронизации. Выбор его элементов обусловлен тем, что устройство должно выдерживать длительное ошибочное подключение к сети переменного напряжения с действующим значением до 250 В., например радиофидер с напряжением 240 В. или сеть переменного тока с напряжением 220 В. Вторая часть – мостовой выпрямитель с фильтрующим конденсатором на выходе. Резистор R3, совместно с конденсатором С1 представляют собой интегрирующую цепочку. Её параметры выбраны такими, что позволяют преобразовать импульсную последовательность с частотой 1 кГц., поступающую от радиотрансляционной сети или радиоприёмника в прямоугольные импульсы. При этом затягивание импульсов не превышает 290 мкс на спаде и 25 мкс. на фронте импульса.

    Отмечу, что для защиты от зависаний микропрограммы задействован сторожевой таймер (DWT), срабатывающий с периодом около 1 секунды.

    Коротко остановлюсь на работе электрической принципиальной схемы устройства:
    Центральной частью схемы устройства, как уже догадался читатель, является микроконтроллер AT Mega8L, хотя допускается использовать микросхему без индекса L. Аккумуляторная батарея GB1 предназначена для питания устройства при отсутствии сетевого напряжения. В качестве аккумулятора используется обычная 3,6-вольтовая батарея от сотового телефона. Выбор данного элемента обусловлен тем, что практически в любой семье, пользующейся сотовыми телефонами, имеется либо неисправный аппарат, либо потерявший часть ёмкости аккумулятор, не применимый для использования по прямому назначению ввиду малой продолжительности работы телефона. Кроме того аккумуляторная батарея сотового телефона уже содержит схему контроля заряда-разряда, что существенно упрощает схему устройства. Как видно по схеме, АБ просто включена в буфер. Аккумулятора ёмкостью 500-800 мАч. достаточно для питания устройства в течение 9-12 суток, так как потребляемый схемой от АБ ток не превышает 3 мА. При работе от сети через интегральный стабилизатор DA1 батарея заряжается через разделительный диод VD3. При переходе на питание от аккумулятора этот диод предотвращает свечение подсветки LCD-дисплея и протекание обратного тока через стабилизатор напряжения DA1, тем самым способствуя экономии энергии АБ. Исходя из вышесказанного следует, что подсветка дисплея при работе устройства от аккумулятора отключается.

    Резисторы R6-R11 служат для защиты портов микропроцессора при появлении импульсного напряжения (помех) на плате клавиатуры. В качестве ЖК-индикатора может использоваться любой дисплей со встроенным контроллером Hd44780 или аналогичным, имеющий две строки по 16 символов в каждой. Питание схемы обеспечивается трансформатором Т1 с выходным напряжение около 12 В. и мостовым выпрямителем. Предохранители FU1, FU2 служат для защиты схемы от нестандартных ситуаций со стороны как радиотрансляционной, так и силовой электрической сети. Для включения исполнительного устройства – звонка предназначены ключ на транзисторе VT2 и 12-ти вольтовое реле К1. Элементы VD1, R5, C7 образуют цепочку начального сброса микропроцессора.

    При первом включении устройства необходимо удерживать в нажатом состоянии кнопку «MENU/OK» в этом случае устройство произведёт сброс настроек по умолчанию и запишет их в энергонезависимую память.

    В программе предусмотрено обнуление секунд, для этого достаточно одновременно нажать кнопки «RIGHT» и «LEFT».

    Все настройки «Школьника» осуществляются через системное меню, структура которого и соответствующий внешний вид ЖК-дисплея, приведены на рисунке здесь. Отмечу, что навигация по меню и выбор регулируемого параметра осуществляется кнопками «RIGHT» и «LEFT», вход в меню и подменю кнопкой «MENU/OK», а изменение регулируемого параметра кнопками «UP» и «DOWN». При выходе из меню по нажатии кнопки «CANCEL», сохранение внесенных изменений не производится. В подменю настройки коррекции хода часов изменение знака коррекции производится клавишами «RIGHT» и «LEFT».

    При отсутствии нажатий на клавиши управления в течение 30 секунд устройство автоматически осуществит выход из меню без сохранения настроек в энергонезависимой памяти.
Если предполагается синхронизировать таймер подачи звонков не от радиотрансляционной сети с номинальным напряжением 15 В. или 30 В. (действующее значение), а от радиоприёмника, то необходимо путём применения внешнего повышающего трансформатора, поднять напряжение на входе схемы до уровня не менее 15 В.

    Блокировка клавиатуры устройства введена по просьбе народа для того что бы ученики (да и учителя) не "нажимали кнопочки просто так". Блокируется клавиатура при нажатии кнопок Up+Down+Menu и удержании их нажатыми в течение 20 секунд. При блокировке на 5 сек. выводится надпись "Заблокировано!" При нажатии на любую кнопку и включенной блокировке на 5 сек. так же выводится надпись "Заблокировано!" Разблокирование клавиатуры устройства производится так же как и блокировка. При разблокировке на 5 сек. выводится надпись "Разблокировано!" При подаче питания на устройство клавиатура изначально будет заблокирована!

    После загрузки программы в микроконтроллер необходимо правильно запрограммировать fuse-биты:

• WDT – включен;
• Включен встроенный детектор понижения напряжения питания. Напряжение срабатывания установлено 2,6 В.;
• Включено тактирование от внутреннего RC-генератора. Частота работы генератора 4 МГц.;
• Запрограммирован бит CKOPT, отвечающий за подключение внутренних конденсаторов к выводам кварцевого резонатора;
• Запрограммирован бит EESAVE, служащий для отключения стирания EEPROM при перепрограммировании микропроцессора.

 

    Для среды программирования PonyProg fuse-биты должны быть установлены так, как показано на рисунке:

 

 

         Желающим получить готовую дипломную работу по данному устройству прошу писать мне на мыло servissistemy"пёсик"narod.ru ("пёсик" необходимо заменить на символ @ - это защита от спама).

 

 

НА ГЛАВНУЮ