0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283

Акустический датчик

01.10.2010, 21:25. Показов 76541. Ответов 93
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Эксперимента ради, собрал я такую штуковину:

http://img440.imageshack.us/img440/928/dscn2468s.jpg

По сути дела это датчик, реагирующий на резкие звуки (например, хлопки в ладоши)
Работает так:
1) Старый совковый пьезоизлучатель преобразует звуковые колебания в напряжение.
2) Компаратор преобразует эти импульсы в вид, пригодный для МК.
На выходе пьезоизлучателя амплитуда колебаний около 0.1В (если громко хлопнуть в ладоши, в метре от него)
Порог компаратора я ставлю около 20мВ. От него зависит чувствительность.
3) МК (на демоплате стоит ATTiny2313), анализирует импульсы, проверяя подходят-ли они под шаблон. Например, можно приучить устройство реагировать на два хлопка, или на серию хлопков с определённым ритмом.
4) Если это то, что нужно - можно, например, переключить свет. Или выполнить любое другое действие.

Ждите видюшку :)

P.S. Около года не заглядывал на EE. Теперь вернулся :)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.10.2010, 21:25
Ответы с готовыми решениями:

Датчик
Здраствуйте! Делаю простой датчик преград по такой схеме: http://robozone.su/uptoods/posts/2008-04/1207727620_tsop_schem.gif ...

Емкостной датчик
Парни, подскажите, нужна микросхема-коммутатор что-то типа наших КТ. Сопротивление канала доли ома, чем ниже тем лучше. Смысл такой,...

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

93
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
01.10.2010, 21:30
А более детальное изображение - слабо?
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
01.10.2010, 22:11
Крупные фотки:
http://img839.imageshack.us/i/dscn2468c.jpg
http://img835.imageshack.us/i/dscn2471d.jpg

Схема:

http://img137.imageshack.us/img137/3325/82265295.jpg

И видео:
http://imk718.imageshack.us/i/dscn2455.mp4
0
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
02.10.2010, 10:53
Цитата Сообщение от dsodir
Проглядывается матан на листочке:)
0
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,379
02.10.2010, 11:35
Только я не понял, а чего бы просто микрофон не поставить?
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,352
02.10.2010, 16:49
моя еще нереализованная идея

1 береш нормальный микрофон от мабил
2 снимаеш ачх хлопка в том месте, где будет стоять датчик
3 делаеш полосовой фильтр, чтобы не реагировал на помехи
4 береш тини13 с ацп
5 ???????
6 PROFIT
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
04.10.2010, 15:33
Только я не понял, а чего бы просто микрофон не поставить?
Ну так поставил то, что было под рукой.
Да и потом - что этот микрофон даст? Чувствительности мне хватает с запасом (на прямой видимости срабатывает с ~8метров). А всякую аналоговую живность (вроде того-же компаратора) всё-равно ставить придётся.

2kotobyti
Это только по-началу кажется, что всё так просто. Я тоже думал - щас соберу, напишу прошивку и всё заработает... Ан нет! Оказалось, что есть куча шумов, которые почти идентичны хлопку. Например сначала система была настроена на команду из двух хлопков с определённой паузой между ними (100-200мс). И ведь работало прекрасно... до тех пор, пока я не простудился: оказалось, что система спокойно реагирует на мой кашель :) "Кхе-Кхе" = "Хлоп-Хлоп". Пришлось допиливать программу.
Поэтому сразу предупреждаю: самое интересное будет в п.5 "??????"
0
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,379
04.10.2010, 16:12
"поставил то, что было под рукой" - вполне нормальная причина. Правда мне трудно представить себе ситуацию, когда под рукой нет обычного микрофона...

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

Лучший и наиболее продуктивный вариант - загнать сигнал в компьютер с установленным на ним пакетом анализа сигналов (тип LabView), разработать на нем все нужные фильтры, а потом уже реализовывать их на МК. Это и для целей обучения будет куда более полезно. Тем более что звук можно снять с обычной звуковой карты, без использования дополнительных средств.
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,352
04.10.2010, 18:27
Цитата Сообщение от dsodir
И ведь работало прекрасно... до тех пор, пока я не простудился: оказалось, что система спокойно реагирует на мой кашель :) "Кхе-Кхе" = "Хлоп-Хлоп". Пришлось допиливать программу.
может у тебя та пищалка так реагирует?
хотя я не простужаюсь и посторонних шумов нет тоже

2 коротких хлопка для включения второй лампочки тоже неплохая идея
не забудь еще фотодиод, чтобы днем не срабатывало
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
05.10.2010, 18:42
Нашел второй пьезодинамик. Теперь девайс отличает "право" и "лево":
http://img339.imageshack.us/im... cn2508.mp4

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

Может это связано с тем, что у пьезодинамиков разная чувствительность. Может с тем, что в дело вмешивается эхо (хотя это как-то маловероятно). А может.... может пора ставить микрофоны... :)
0
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,379
05.10.2010, 18:49
А между датчиками и МК по прежнему компараторы?
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
05.10.2010, 19:10
Да, схема осталась той-же. Датчики подключены к "-" входу компаратора. Пороговое напряжение (на "+") одинаковое для обоих датчиков. Хотя... я тут подумал про напряжение смещения компаратора. Он (по ДШ) не больше 10мВ.

Собственно, задумка в том, чтобы по разнице во времени, определять направление на источник звука. Но пока даже эту разницу измерить не удаётся. При одинаковых условиях она изменятся почти случайным образом. Чёт-тут не то :)
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
05.10.2010, 20:22
Я тут, между делом, подумал о практическом применении этой приблуды:

1) Управление всякими устройствами. К примеру той-же лампочкой. Возможность определять направление (хотя-бы "право-лево") позволяет, к примеру, включить свет в той части помещения, откуда ты хлопнул.

2) Контроль за работой всяких механизмов. Допустим, есть какой-нить перпетум-мобиле, который при поломке начинает ритмично шуметь, а потом разваливается. Вот, можно установить это устройство на него и определять, когда механизм собирается сдохнуть. В случае чего отключить питание.
0
0 / 0 / 0
Регистрация: 27.06.2010
Сообщений: 405
05.10.2010, 20:55
Я делал немного по другому. Полосовой RC фильтр на операционнике + амплитудный детектор на диодах + компаратор(или триггер Шмита). Полоса пропускания подбирается двумя конденсаторами в фильтре. Амплитудный детектор позволяет определять длительность звука, что и уменьшает число ложных срабатываний от продолжетельных громких звуков. Т.е. срабатывать должно только от звуков определенной длятельности и/или определённой пазузы между звуками.
Правда, до конца я эту штуку так и не доделал, забросил её почему-то.

0
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,379
05.10.2010, 21:06
Правильнее и интереснее делать цифровую фильтрацию, загоняя сигнал в МК через АЦП. Простой предфильтр, конечно, тоже нужен.

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

Как, кстати, измеряешь длительность?
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
05.10.2010, 21:21

http://**************************/download/file.php?id=1975&sid=401cacce63a44cb1fcd db206e800d8c6

Вот так оно выглядит.

Разницу во времени измеряю 8и разрядным таймером (Tiny2313, 18МГц). Когда срабатывает один датчик - запускаю, когда второй - останавливаю. Потом высылаю в комп.

Даже, если бы звук доходил через общие поверхности (стол, или провода), то устройство должно выдавать неправильные результаты при определении направления ("право-лево") . А оно достаточно уверенно рабтотает в этом режиме.

P.S. Скоро будет микрофон (если я не засну :))
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
05.10.2010, 22:16
Поюзал микрофон от старенького mp3-плеера. Мысли такие:

1) Он реально мельче, чем тот пьезодинамик. :)))

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

3) Пьезодинамик феерично реагировал на вибрации. Пэтому была такая тема: стукнул пальцем по столу - настольная лампочка включилась :) Друзей пугал :) Микрофон таких эффектов не выдаёт.

4) Зато микрофон хорошо реагирует на поток воздуха - дунул на лампочку - она включилась :)))

Будем копать глубже :)
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
05.10.2010, 23:02
В деле микрофон показал себя неплохо. С точки зрения МК, импульсы от микрофона выглядят так-же, как и с пьезодинамика. Я думал, что будут различия, но оказалось, что всё хорошо.

Хотя, есть одно различие. Пьезодинамик почти не реагировал на звуки с небольшой амплитудой (Музыка из колонок, голос). А хлопок, это ударная волна, поэтому амплитуда тут достаточна.
Микрофон-же напротив, прекрасно реагирует на голос и другую муть. Можно предположить, что от этого будут появляться "ложные срабатывания" (если шум совпадает с шаблоном). И, возможно, участятся "пропуски команды".

Чтобы точнее судить о вероятности таких ошибок, подключу его опять к лампочке, на ночь. Утром будет статистика по ошибкам :)

Скриншот программы, в которой я смотрю импульсы с компаратора (не пинайте интерфейс - написал на скорую руку)
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
05.10.2010, 23:04
2miyvir

Можно взглянуть на схему устройства? А то я только недавно заглянул в дивный мир аналоговой электроники, и мне интересно посмотреть на реализацию без МК.
0
1 / 1 / 0
Регистрация: 30.08.2010
Сообщений: 3,379
05.10.2010, 23:28
А с чего бы импульсам отличаться, у тебя же компаратор стоит. Это, кстати, рубит на корню все твои попытки обработки сигналов на МК или компьютере.

Микрофон, чтобы он меньше реагировал на потоки воздуха, убирают в поролоновый чехол, или в чехол их искусственного меха, что еще лучше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.10.2010, 23:28
Помогаю со студенческими работами здесь

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

Mouse и датчик дождя.
Всем привет! Что-то пока мысли в кучку не собираются. Есть небольшая уйма сломанных оптических мышей . Собственно от одной из них...

Емкостный датчик топлива.
Собираюсь делать ёмкостный датчик топлива для трактора. 4 пластины алюминия с зазором 2 либо 3 мм. помещу в бак. Собственно вопрос. ...

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

Датчик пересечения ..20м
Попросил меня один знакомый помочь сделать контроль прохождения/проезда в прискладской территории людей и машин. Надо считать сколько...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
CQRS (Command Query Responsibility Segregation) на Java
Javaican 12.05.2025
CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций. . .
Шаблоны и приёмы реализации DDD на C#
stackOverflow 12.05.2025
Когда я впервые погрузился в мир Domain-Driven Design, мне показалось, что это очередная модная методология, которая скоро канет в лету. Однако годы практики убедили меня в обратном. DDD — не просто. . .
Исследование рантаймов контейнеров Docker, containerd и rkt
Mr. Docker 11.05.2025
Когда мы говорим о контейнерных рантаймах, мы обсуждаем программные компоненты, отвечающие за исполнение контейнеризованных приложений. Это тот слой, который берет образ контейнера и превращает его в. . .
Micronaut и GraalVM - будущее микросервисов на Java?
Javaican 11.05.2025
Облачные вычисления безжалостно обнажили ахиллесову пяту Java — прожорливость к ресурсам и медлительный старт приложений. Традиционные фреймворки, годами радовавшие корпоративных разработчиков своей. . .
Инфраструктура как код на C#
stackOverflow 11.05.2025
IaC — это управление и развертывание инфраструктуры через машиночитаемые файлы определений, а не через физическую настройку оборудования или интерактивные инструменты. Представьте: все ваши серверы,. . .
Инъекция зависимостей в ASP.NET Core - Практический подход
UnmanagedCoder 11.05.2025
Инъекция зависимостей (Dependency Injection, DI) — это техника программирования, которая кардинально меняет подход к управлению зависимостями в приложениях. Представьте модульный дом, где каждая. . .
Битва за скорость: может ли Java догнать Rust и C++?
Javaican 11.05.2025
Java, с её мантрой "напиши один раз, запускай где угодно", десятилетиями остаётся в тени своих "быстрых" собратьев, когда речь заходит о сырой вычислительной мощи. Rust и C++ традиционно занимают. . .
Упрощение разработки облачной инфраструктуры с Golang
golander 11.05.2025
Причины популярности Go в облачной инфраструктуре просты и одновременно глубоки. Прежде всего — поразительная конкурентность, реализованная через горутины, которые дешевле традиционных потоков в. . .
Создание конвейеров данных ETL с помощью Pandas
AI_Generated 10.05.2025
Помню свой первый опыт работы с большим датасетом — это была катастрофа из неотформатированных CSV-файлов, странных значений NULL и дубликатов, от которых ехала крыша. Тогда я потратил три дня на. . .
C++ и OpenCV - Гайд по продвинутому компьютерному зрению
bytestream 10.05.2025
Компьютерное зрение — одна из тех технологий, которые буквально меняют мир на наших глазах. Если оглянуться на несколько лет назад, то сложно представить, что алгоритмы смогут не просто распознавать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru