AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
15.06.2013, 12:30
|
|
Частый гость
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Исполнение команды от внешнего звукового сигнала
Добрый день.
Микроконтроллерами баловаться начал недавно, поэтому прошу сильно ногами не бить. Есть следующая задача:
Некий прибор, который периодически выдает ошибку, после которой надо нажать две клавиши. Ошибка выдается тремя писками в динамик прибора. В сам прибор, к сожалению, вмешиваться нельзя. Возникла идея поставить atmega168 с микрофоном или пьезо пищалкой, что бы "слушать" прибор. По трем пискам выполнять отработку сервомашинками. Если писка 3 - отрабатываем. Если больше - ничего не делаем (это уже требует вмешательство человека). Частота писков 2кГц, длительность ~550 милисекунд, паузы между ними ~450 и ~650 мс. Пока идея только такая: слушаем микрофон, по алгоритму http://ru.wikipedia.org/wiki/Алгоритм_Гёрцеля вычисляем есть ли частота 2кГц, если есть - замеряем время звучания, потом время пауз. При соблюдении всех условий - отрабатываем сервами.
Подскажите, это нормальное решение, или я перемудрил чего-то и можно сделать проще?
Спасибо за помощь.
|
|
|
|
15.06.2013, 13:16
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,056
Сказал спасибо: 2,562
Сказали Спасибо 11,889 раз(а) в 5,963 сообщении(ях)
|
Re: Исполнение команды от внешнего звукового сигнала.
ollycat, с какими контроллерами Вы уже начали дружить? Вопрос не праздный - обработка сигнала требует большой памяти и, при двух килогерцах сигнала, достаточной скорострельности.
Эти два килогерца - с какой погрешностью? В этом плане Ваш подход чреват неожиданностями. Меньше проблем при применении полосового фильтра.
Посмотрите по фильтрам https://kazus.ru/forums/showpost.php...53&postcount=3
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
15.06.2013, 14:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Исполнение команды от внешнего звукового сигнала
Если частота писков всегда 2 кГц и нужно только определить количество писков (определить длительность писка и паузы), то по большому счету и цифровая фильтрация не нужна. Просто по компаратору подсчитываете количество импульсов за единицу времени, например, за 100 мс. Насчитало около 200 (+- лапоть), значит писк есть, ну и так далее. Дальше, я думаю, сами разберетесь.
|
|
|
|
15.06.2013, 14:33
|
|
Частый гость
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: Исполнение команды от внешнего звукового сигнала
Пока делал небольшие "поделки" на atmega168/328. Пока пробовал писать под них на C и скетчи под arduino. С ассемблером не разбирался пока, но когда-то давно на нем писал довольно много и не плохо под PC, так что не думаю, что если понадобиться добраться до ассемблера, будут сильно большие проблемы. Хотя надеялся что до этого не дойдет.
Ссылку сейчас почитаю, спасибо.
По погрешности сигнала сказать трудно: прибор постоянно в работе, сигнал выдает примерно раз в полтора - два часа. В связи с чем для отладки устройства записал и оцифровал сигнал. В этом виде уже и смотрел на его параметры.
|
|
|
|
15.06.2013, 14:36
|
|
Частый гость
Регистрация: 26.06.2011
Адрес: SPB
Сообщений: 25
Сказал спасибо: 11
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: Исполнение команды от внешнего звукового сигнала
Сообщение от alvadep
|
Если частота писков всегда 2 кГц и нужно только определить количество писков (определить длительность писка и паузы), то по большому счету и цифровая фильтрация не нужна. Просто по компаратору подсчитываете количество импульсов за единицу времени, например, за 100 мс. Насчитало около 200 (+- лапоть), значит писк есть, ну и так далее. Дальше, я думаю, сами разберетесь.
|
Думал об этом. Не знаю только на сколько это будет устойчиво работать при наличии посторонних шумов. Шумы скорее всего могут возникать, но редко, так как данная поделка нужна по сути только ночью. Но все равно вероятность из возникновения есть.
|
|
|
|
15.06.2013, 14:44
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,056
Сказал спасибо: 2,562
Сказали Спасибо 11,889 раз(а) в 5,963 сообщении(ях)
|
Re: Исполнение команды от внешнего звукового сигнала
Сообщение от ollycat
|
По погрешности сигнала сказать трудно: прибор постоянно в работе, сигнал выдает примерно раз в полтора - два часа. В связи с чем для отладки устройства записал и оцифровал сигнал. В этом виде уже и смотрел на его параметры.
|
Я хотел сказать, что на стабильность этого писка лучше не надеяться.
Что касательно предложенного просто компаратора и счетчика - думаю, помехозащищенность будет ни в дугу.
БИХ фильтры, насколько я понял, требовательны к точности вычислений, думаю, КИХ лучше применить.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
15.06.2013, 14:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Исполнение команды от внешнего звукового сигнала
Помехозащищенность будет напрямую зависеть от соотношения сигнал/шум и порога компарирования.
Если Вы расположите микрофон непосредственно около излучателя, то я думаю, будет все нормально. Но никто не запрещает использовать и ЦФ.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:17.
|
|