Устройство управления нагрузкой по хлопку в ладоши на микроконтроллере ATmega8

В статье рассматривается простой блок управления нагрузкой по хлопку в ладоши. Устройство имеет один канал для управления нагрузкой, но благодаря тому, что основой является микроконтроллер Atmel AVR ATmega8, возможно дальнейшее наращивание возможностей и количества каналов.

Управление нагрузкой по хлопку на Atmega8

Аппаратная часть

Аппаратная часть устройства очень простая: микроконтроллер, электретный микрофон, реле и несколько дискретных компонентов.

Принципиальная схема устройства

Управление нагрузкой по хлопку в ладоши на Atmega8
Кликните для увеличения

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

Кнопки S1 и S2 служат для увеличения и уменьшения чувствительности.

Узел, собранный на микросхеме MAX232, представляет собой конвертер логических уровней интерфейса RS232, используемый в данном  проекте для отладки ПО. Устройство по интерфейсу RS-232 посылает данные о текущем режиме работы и параметрах. Просмотр данных осуществляется в любой терминальной программе.

Список компонентов

Обозначение в схеме

Наименование, номинал

IC1

Микроконтроллер ATmega8

IC2

Микросхема MAX232

IC3

Регулятор напряжения LM78L05Z

R1, R4

1 кОм

R2

100 кОм

R3, R6

10 кОм

R5

470 Ом

C1, C7

100 нФ

C2, C3

220 нФ

C4, C5, C6, C8

1 мкф × 25 В

Q1, Q2

Транзистор BC547

D1

Диод 1N4148

K1

Реле

LED1

Светодиод

S1, S2

Кнопки

X2

Разъем DB9F

Напряжение питания устройства 7…12 В. Также следует отметить, что необходимо подобрать реле, соответствующее напряжению питания.

Программное обеспечение

Программное обеспечение для микроконтроллера было написано в среде AVR Studio с использованием библиотек WinAVR.

АЦП микроконтроллера работает и считывает данные непрерывно, и возвращаемые им данные сравниваются с переменной, значение которой может быть изменено пользователем при помощи кнопок S1 и S2. Таким образом, пользователь может изменить чувствительность, необходимую для срабатывания устройства.

Если значение АЦП меньше, чем значение переменной, то оно игнорируется. В другом случае активизируется Таймер0 и начинает считать. При каждом переполнении таймера инкрементируется значение переменной timer.

Значение переменной timer сравнивается со значениями трех констант: burst_time, ready_time и time_out. В случае равенства значения переменной timer и значения константы burst_time, глобальной переменной burst присваивается значение 1. Если значение timer равно значению константы ready_time, то переменной burst присваивается значение 0, а глобальной переменной ready – присваивается значение 1. Если значение timer равно значению константы time_out, то глобальным переменным burst и ready присваивается значение 0.

При детектировании звука очередного хлопка, если значение burst=1, микроконтроллер очищает все значения переменных и начинает цикл заново. Если burst=0 и ready=1, изменяется состояние выхода микроконтроллера PB2. Срабатывание реле происходит лишь тогда, когда время между хлопками приблизительно правильное, таким образом исключается случайное включение или выключение нагрузки.

Блок-схема ниже поясняет работу микроконтроллера.


Кликните для увеличения

Настройки терминальной программы: скорость передачи данных 4800 бит/с, 8 бит данных, проверка четности отсутствует, 1 стоповый бит, управление потоком отключено.

Внешний вид окна терминальной программы при подключенном и работающем устройстве

Загрузки

Принципиальная схема и рисунок печатной платы (Eagle) – скачать
Программное обеспечение для микроконтроллера – скачать
Проект полностью в формате .pdf (на английском языке) – скачать

electronics-lab.com

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Microcontroller Clapper Switch

Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • В списке компонентов не присутствует одна важная деталь - X1. Хотя на схемах оно есть. Хотелось бы спросить, что же это именно такое)
  • X1.....Клемма на плату KF301....[url]http://diodvl.ru/kommutatsiya-knopki-i-pereklyuchateli/klemma-na-platu-kf301[/url]
  • Это весьма ценная информация для желающих "забивать гвозди микроскопом" Авот проще.... [url]http://payaem.ru/dve-sxemy-akusticheskix-rele.html[/url] [url]https://www.yandex.ru/search/?text=%D0%B0%D0%BA%D1%83%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5%20%D1%80%D0%B5%D0%BB%D0%B5%20%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F%20%D1%81%D0%B2%D0%B5%D1%82%D0%BE%D0%BC&lr=213[/url]
  • Неудобно и ненадежно, ИМХО. Неудобно - потому, что сопровождается резким, неприятным, нервирующим звуком. Ненадежно - потому, что, как мне кажется, эта штука будет срабатывать от чего угодно - от лая соседского щенка до звука от упавшей на пол тарелки. Обычный пульт от ТВ на порядки лучше. Ну или радиоканал, если требуется управление, например, из соседней комнаты ...
  • Совершенно верно! Эта схема - ремейк, из цикла "когда собаке делать нечего". Идее этой более 40 лет. Начинали делать [URL="http://www.chipinfo.ru/literature/radio/197110/p49-50.html"]еще на лампах[/URL]. Тогда, в 60-х это могло выглядеть оригинально и даже удивлять. Сейчас - однозначно блекло и неинтересно. Авторы таких ремейков почему-то считают, что если старинную схему повторить на МК, то она заиграет новыми красками. А получается наоборот глупо - то, что раньше реализовывали на 3 активных элементах, сейчас повторяют на 3 тыс. активных элементов. Сложность схемы (если считать МК) возрастает на несколько порядков, а возможности остаются те же. Это не развитие, это деградация.
  • Немного не так. Она действительно заиграет новыми красками, если за дело возьмется квалифицированный специалист по цифровой обработке сигналов (ЦОС) и реализует детектирование хлопка с привлечением именно алгоритмов цифровой обработки, а никак не примитивных компараторов и прочей подобной ерунды. Вот только хватит ли для этого МК ? Возможно, потребуется применить настоящий цифровой сигнальный процессор. Но, опять же, повторюсь. Сама идея управления нагрузкой по хлопку в ладоши для 99% реальных применений крайне неудачна. Сейчас не каменный век. Есть инфракрасные приемники-передатчики, есть радиоканал ...
  • Спорить ни с кем не хочу - каждый для себя решает, что ему надо. Вот здесь - [URL="http://avrproject.ru/publ/sounds_detector/1-1-0-8"]http://avrproject.ru/publ/sounds_detector/1-1-0-8[/URL] схема на attiny2313, срабатывает от ПАРЫ хлопков (для исключения участия собак и пр.).
  • Кто-нибудь может подсказать как в данной схеме правильно выставлять fuse-биты для прошивки МК?
Полный вариант обсуждения »