Программируемый школьный звонок

XX Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Программируемый школьный звонок

Ковальногов А.П. 1
1МБОУ "Средняя общеобразовательная школа №3"
Захарищева О.В. 1
1МБОУ "Средняя общеобразовательная школа №1 им. А.С. Пушкина"
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

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

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

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

Цель моего проекта изготовить прототип модели автоматического школьного звонка, который подает сигнал по специальному расписанию, и имеет возможность корректировки программы.

Задачи:

  • изучить принципы работы контроллеров в электрических цепях и способы ихпрограммирования;

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

  • составить работающую схему для автоматического школьного звонка, предусматривающую использование микрочасов, контроллера и подключения к имеющейся системе подачи звонков;

  • собрать прототип по выбранной схеме, проверить работоспособность модели;

  • проанализировать плюсы и минусы получившейся модели и собрать информацию об эффективности ее использования;

  • составить экономический расчёт и провести сравнение с имеющимися аналогами на рынке.

Объект исследования – школьный звонок.

Предмет исследования – использование микроконтроллеров в системе подачи электрических сигналов.

Гипотеза: автоматический школьный звонок можно сконструировать своими руками и это будет стоить дешевле, чем в магазине.

Краткий обзор теоретических сведений об использовании контроллеров и методов их программирования втехнике.

Контроллер2 (от англ.сontrol - управлять) это микропроцессорное устройство, позволяющие производить обработку цифровых сигналов в автоматизированных системах и управлять физическими процессами в соответствии с заложенной последовательностью действия (алгоритмом), с использованием информации, получаемой от датчиков (входов) и выводимой на окончательные устройства (выходы, например, светодиод или динамик). Проще говоря, контроллер – это мозг для машины.

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

Первый в мире ПЛК появился в середине XX века, а на рынке электроники устройство MODICON производства Bedford Associates появилось в 1960-х годах. Modicon 084 представлял собой шкаф с набором соединённых между собой реле и контактов, его память составляла лишь 4 килобайта.

Термин ПЛК ввел Аллен-Брадли в 1971. Вместе с Ричардом Морли он является его изобретателем. Буквально несколькодесятилетий назад все логические системы строились на основе электромеханических реле. Если в конструкции используются реле или другие решения с "жесткой" логикой, то машина может выполнять только определенные действия - научить машину другим операциям нельзя без вмешательства в ее техническую часть. Поэтому с изобретением ПЛК, в большинстве сфер реле в логических схемах были вытеснены ПЛК потому, что его работа зависит от программы,которую можно создать и при необходимости изменить. После этого устройство может работать автономно.

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

Структура работы ПЛК в общем виде представлена на рисунке 1.

Рисунок 1. Структура работы ПЛК.

Для работы ПЛК необходимы устройства, которые являются входами.Данных устройств может быть несколько. Это могут быть датчики – температуры, времени, давления и прочие, - то есть устройства, способные давать информацию, данные об измерениях физических величин. Затем в самом ПЛК происходит программная обработка – то есть по алгоритму предпринимаются определенные действия – например, может включаться какое-то устройство, подаваться сигнал на контакты, электроприводы, реле и другие исполнительные устройства.

На сегодняшний день для ПЛК пишется код при помощи программы. При помощи этой программы происходит создание логической связи между входнымии выходными клеммами. Именно она определяет, на каких выходныхклеммах будет присутствовать напряжение при определенных условиях на входныхклеммах. Программирование ПЛК очень простое, потому что язык, на котором это делается, очень схож с логикой работы электромагнитных реле. Если инженер-электрик или обычный монтер умеет читать схемы релейных систем, то он без особых трудностей сможет выполнить программирование контроллеров.

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

Существуют ПЛК разного уровня сложности в зависимости от сложности решаемых задач автоматизации. В зависимости от модели, подключение к ним источников сигналов и особенности программирования будут незначительно отличаться. Но суть процедуры настройки остается неизменной. В корпусе контроллера есть оптический изолятор – простой светодиод. С его помощью происходит связь входной клеммы и общей. При подаче напряжения на ПЛК загорается светодиод – именно по нему можно судить о том, что устройствоработает.

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

Опросвходов;

Выполнениекоманд;

Установка значений длявходов;

Вспомогательныеоперации.

Первая фаза цикла полностью обеспечивается системным ПО управления ПЛК. Затем управление берет на себя прикладное ПО - созданный оператором алгоритм. По данной программе контроллер будет выполнять то, что от него хотят. По завершению выполнения этих команд работа опять передается системному ПО. Процесс составления управляющей прикладной программы ПЛК максимально упрощен – программист не должен задумываться, как управлять аппаратными возможностями. Оператор лишь должен указать, какой сигнал будет на входе и как нужно на него реагировать на выходе.

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

Основные преимущества использования логических контроллеров для создания различных автоматических устройств перечислить просто:

Контроллеры изготавливаются как самостоятельные детали, что позволяет легко изготавливать различные электрические схемы сними;

Контроллеры могут совершать большое количество логических операций, в том числе в определенное время и/или определенное количество раз;

Все языки программирования контроллеров достаточны легки в отличие от языков программирования современныхкомпьютеров.

Контроллеры в отличие от компьютеров, могут напрямую использовать сигналы датчиков, в том числе таймеров, и напрямую выводить сигналы на исполнительные механизмы, поэтому могут применяться в большом числе стандартныхопераций;

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

Создание электрической схемы автоматического школьногозвонка.

Для того чтобы создать эффективную схему электрического звонка, были подобраны следующие детали:

№ п/п

Наименование деталей и необходимость их применения

Графическое изображение

1.

Контроллер ARDUINO UNO R3 CH340

применяется для возможности программирования схемы и включения сигнала в определенноевремя1

 

2.

Модуль часов реального времени DS1302 необходим для того, чтобы контроллер мог сверяться с заданным параметрамивремени

 

3.

Электромагнитное релеSRD-05МВС-SL-С контролирует звонок, так как он использует слишкомбольшое напряжение для того, чтобы включаться непосредственноконтроллером

 

4

Кнопка тактовая

 

5

Резисторы 10 кОм

 

6

LCD монитор 16х2

 

7

Дверной звонок для тестирования системы.

 

Схема подключения элементов в электрической схеме автоматического звонка.

Рисунок 2. Общая схема

Программирование логического контроллерадля школьногозвонка.

Для программирования логического контроллера была использована интегрированная среда разработки для Windows, MacOS и Linux «Arduino IDE»9. Язык программирования C ++.

Листинг программы показан в [Прил. 1].

На рис. 3 показана блок-схема работы алгоритма устройства.

Рисунок 3. Алгоритм работы устройства

Первый вариант моего устройства не совсем подходил для технических условий в школе [Прил. 1], его пришлось доработать: я добавил

  • блок питания 220 вольт;

  • кнопка включения/отключения устройства;

  • кнопка переключения на расписание сокращённых уроков;

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

Общий вид модели представлен в [Прил. 4].

Я составил программу, которая подаёт управляющее воздействие на микросхему, которая учитывает:

1. Подачу звонков с учётом 1 и 2 звонка на урок [Прил.2]

2. Особое расписание для субботы [Прил.2].

3. Программа звонков для сокращённых уроков [Прил.3].

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

Внешний вид новой модели представлен в [Прил. 5].

В период летних каникул я разработал приложение для телефона, чтобы можно было с него управлять устройством подачи звонков. Для разработки приложения я использовал программу «Mit App Inventor 2», это свободное ПО, не требуещее затрат на приобретение лицензии.. Скриншот окна приложения в телефоне можно посмотреть в [Прил.6].

Экономический расчёт

№ п/п

Наименование деталей и необходимость их применения

Стоимость деталей

1.

Контроллер ARDUINO UNO R3 CH340

800 рублей

2.

Модуль часов реального времени DS1302

120 рублей

3.

Электромагнитное релеSRD-05МВС-SL-С

60 рублей

4.

Кнопка тактовая

10 рублей

5.

Резисторы 10 кОм

10 рублей

6.

Блок питания

250 рублей

7

LCD монитор 16х2

350 рублей

 

Итого

1600 рублей

В магазинах такие устройства имеют стоимость от 5000 до 9500 рублей. Моё получилось 16000 рублей, но оно имеет ряд преимуществ:

  • недорогие и общедоступные электронные компоненты;

  • возможность быстро добавить новую функциональность.

Сравнительный анализ представлен в таблице.

Модель

МК135.2

Звонок-5М

Моё устройство

Питание

220 В 50Гц

220/110 В,

50/60 Гц

220V 50 Гц

Индикация текущего времени

+

+

+

Индикация дня недели

+

+

+

Индикация номера урока

+

+

+

 Возможность программирования  времени подачи звонков

+

+

+

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

+

+

+

Стоимость

5900 рублей

 9400 рублей

1600 рублей

Заключение

В нашей стране, как и во многих технически развитых странах мира, наблюдается тенденция к автоматизации различных процессов и систем для устранения рутинности действий и повышения надежности их использования. Многие несложные и рутинные процессы, такие как например контроль времени, требуют от человека повышенной внимательности. А такое обстоятельство, как человеческий фактор неизбежно уменьшает надежность этого процесса. Если процесс достаточно стабилен и повторяется многократно без изменений, то автоматизация его приводит к отличным результатам, что и было продемонстрировано в моей работе.

Плюсы моего устройства:

  • применение автоматического звонка устранило необходимость постоянного контролявремени и человеческий фактор.

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

  • звонок может работать как от сети 220V, так и от аккумуляторов или батареек;

  • при любом изменении расписания (изменения времени или количества уроков), автоматический звонок можно легко перепрограммировать с помощью установленного приложения в мобильном телефоне;

Минусы данного устройства:

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

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

Изучил принципы работы контроллеров в электрических цепях и способы их программирования. составил работающую схему для автоматического школьного звонка, предусматривающую использование микрочасов, контроллера и подключения к имеющейся системе подачи звонков.

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

Проанализировал плюсы и минусы получившейся модели.

Я считаю, мне удалось изготовить устройство автоматического школьного звонка в соответствии с техническим заданием и успешно протестировать его в условияхшколы.

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

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

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

Теперь исчезнет необходимость подавать сигнал звонка вручную, повысилась точность в продолжительности урока и перемен, устранен человеческий фактор, случайные ошибки «сведены нанет».

Список информационных источников.

  1. https://arduino.ru/

  2. http://electricalschool.info/spravochnik/1999-chto-takoe-programmiruemyy- logicheskiy-kontroller.html

  3. https://www.syl.ru/article/372726/kontrolleryi-eto-ustroystva-upravleniya-v- elektronike-i-vyichislitelnoy-tehnike-kontroller-opredelenie-shema-ustroystvo- i-vidyi

  4. https://250v.ru/goods/Schetchik-impulsov-CT6Y-5

  5. https://www.zvonok5m.ru/

  6. http://intelar.ru/ru/primeri/5-2/

  7. https://usamodelkina.ru/21072-avtomatizacija-shkolnogo-zvonka.html?utm_referrer=https%3A%2F%2Fwww.google.com%2F

  8. https://modelist-konstruktor.com/pribory-pomoshhniki/avtomat-podachi-zvonkov

  9. https://arduino.ru/forum/programmirovanie/avtomaticheskaya-podacha-zvonkov-v-uchebnom-zavedenii

  10. http://cyber-place.ru/showthread.php?t=1183

Приложение 1

Приложение 2

#include <ThreeWire.h>                         // Подключаем библиотеку ThreeWire

#include <RtcDS1302.h>                        // Подключаем библиотеку RtcDS1302

#include <LiquidCrystal.h>

 

ThreeWire myWire(7,6,8);                     // Указываем вывода IO, SCLK, CE

RtcDS1302<ThreeWire> Rtc(myWire);

int LedP = 11 ;

const int PIN_BUTTON = 2;

boolean keyP_flag=false;

int tekButton = 0;

int prevButton = 0;

int PIN_RELAY = 3;

unsigned long curmil=0;

int curbell=1;

int curH;

int curM;

int curDoW;

int prevM;

void setup ()

{

pinMode(LedP, OUTPUT); // оперделение типа канала

digitalWrite(LedP,0);

pinMode(PIN_BUTTON, INPUT_PULLUP);

digitalWrite(PIN_BUTTON,0);

pinMode(PIN_RELAY, OUTPUT);

digitalWrite(PIN_RELAY, LOW);

    Rtc.Begin();                                     // Инициализация RTC

// RtcDateTime compiled = RtcDateTime(__DATE__, __TIME__); // Копирование даты и времени в compiled

 // Rtc.SetDateTime(compiled);                       // Установка времени

 Rtc.GetDateTime();

 RtcDateTime now = Rtc.GetDateTime(); //считываем время

 Serial.begin(9600);

 Serial.println(now.DayOfWeek());

 Serial.print(now.Hour());

 Serial.print(":");

 Serial.println(now.Minute());                           // Отправка данных на п

}

voidloop()

{

 

  Rtc.GetDateTime();

  RtcDateTime now = Rtc.GetDateTime(); //считываем время

tekButton=digitalRead(PIN_BUTTON);

if (tekButton == 1 && keyP_flag==false && millis()-curmil>200)

{

keyP_flag=true;

digitalWrite(PIN_BUTTON,0);

tekButton = 0;

curmil=millis();

 }

 if (tekButton == 1 && keyP_flag==true && millis()-curmil>200)

 {

 keyP_flag=false;

 digitalWrite(PIN_BUTTON,0);

 tekButton = LOW;

 curmil=millis();

}

if (keyP_flag==true)

{ digitalWrite(LedP,1);

 curDoW=now.DayOfWeek();

 curH=now.Hour();

 curM=now.Minute();

if (prevM!=curM)

{curbell=1;}

if (((curH==8 && (curM==0 || curM==40 || curM==55 || curM==53)) \

   || (curH==9 && (curM==35 || curM==50 || curM==48)) \

  || (curH==10 && (curM==45 || curM==30 || curM==43)) \

   || (curH==11 && (curM==25 || curM==40 || curM==38)) \

 || (curH==12 && (curM==20 || curM==35 || curM==33)) \

 || (curH==13 && (curM==15 || curM==20 || curM==18)) \

 || (curH==14 && (curM==0 || curM==5 || curM==45 || curM==3)) \

 || (curH==7 && curM==55) \

 || (curH==20 && (curM==48 || curM==53 || curM==55)) \

  )  && curbell==1 && (curDoW>0 && curDoW<6))

{Serial.print(curH); //для недели

 Serial.print(":");

 Serial.print(curM);

 Serial.println(" Звонок");

 digitalWrite(PIN_RELAY, HIGH);

 delay(2000);

 digitalWrite(PIN_RELAY, LOW);

 curbell=0;

 prevM=curM;}

 // для субботы

 if (((curH==8 && (curM==0 || curM==40 || curM==45)) \

   || (curH==9 && (curM==25 || curM==40 )) \

  || (curH==10 && (curM==20 || curM==30 )) \

   || (curH==11 && (curM==10 || curM==20)) \

 || (curH==12 && (curM==0 || curM==05 || curM==45 || curM==50)) \

 || (curH==13 && curM==30) \

   )  && curbell==1 && curDoW==6)

{Serial.print(curH);

 Serial.print(":");

 Serial.print(curM);

 Serial.println(" Звонок");

 digitalWrite(PIN_RELAY, HIGH);

 delay(2000);

 digitalWrite(PIN_RELAY, LOW);

 curbell=0;

 prevM=curM;}

}

 else

 { digitalWrite(LedP,0);

 digitalWrite(PIN_RELAY, LOW);

 }

}

Приложение 3

Приложение 4

Приложение 5

Приложение 6

Просмотров работы: 193