![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 2 Всего: 317 |
На вход поступает аналоговый сигнал(звук), а на выходе я хочу получить постоянную 1 если частота входного сигнала Fin >= Fграница. Сейчас использую RC фильтр, затем компаратор, который превращает синусоиду в 2 уровневый(блочный) сигнал. Далее сигнал пускается на мультивибратор(oneshot) который и правращает пульсы в постоянный сигнал.
Вроде все работает, но как то дури в ней много... По моему можно отакзатся от входного RC фильтра и собрать двоичный фильтр на мультивибраторе. У меня не получилось... Может кто нибудь знает более красивый способ реализации частотного фильтра, дающего 1 на выходе если входной сигнал в пределах требуемой частоты? Присоединённый файл ( Кол-во скачиваний: 6 )
filter_stom.gif-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| -= Александр =- |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 9.6.2004 Репутация: нет Всего: нет |
Проще будет поставить контроллер со встроенным АЦП и мерить частоту программно.
|
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 2 Всего: 317 |
По моему так будет еще сложнее... Xочется упростить схему, чувство схожее когда язык обязывает писать: x=x+2; а хочется x+=2.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 2 Всего: 317 |
Получилось.
Нашел вот эту схему. Разобрался и переделал. Компаратор на входе преобразует синусоиду в пульсовый(блочный) сигнал. Делитель напряжения из R4, R5 сопротивлений определяет границу по которой компаратор дает 1 на выход, следовательно мы укорачиваем длинну полупериода входного сигнала(duty cycle<50%). Это должно быть учетенно при вычисленнии длины сигнала мультивибратора. Фича нужна была в схеме. На рисунках она стоит, в теории я опустил. ![]() Синий: входной сигнал Оранжевый: сигнал после компаратора, далее по тексту это входной сигнал Зеленый: сигнал мультивибратора Идея: мультивибратор выдает пульсы длинною RC(t). При частоте среза F0 длинна полупериода входного сигнала(Т0/2) равна длинне пульса мультивибратора(t), если частота выше, то Т0/2 короче t, и наоборот если частота ниже, то T0/2 длинее t. Сигнал мультивибраотра назовем Um, a входной сигнал Uin. Тогда выделим сигналы: !Uin&&Um - частота выше F0, Uin&&!Um - частота ниже F0. ![]() Зеленый: сигнал !Uin&&Um Фиолетовый: сигнал Uin&&!Um Красный: всходной сигнал Uin Синий: сигнал мультивибратора Um Далее пускаем их на обычный(SR) flip-flop, с помощью которого получим постоянный сигнал. В зависимости как подключим входные сигналы на flip-flop получаем высокочастотный, либо низко частотный фильтр. ![]() Зеленый: сигнал !Uin&&Um Синий: сигнал Uin&&!Um Оранжевый: сигнал мультивибратора Um Красный: выходной сигнал(flip-flop) Два фильтра + AND элемент = полосной(band) фильтр. На выходы AND элемeнтов повесил конденсаторы, что бы убрать пульс выдаваемый обоими когда Um и Uin поднимаются(0->1). Фильтр почти идеальный, диапазон частот ограничивается лишь быстродействием логических схем. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Поздравляю!
А теперь все это дело программно перенести на контроллер, тогда можно будет параллельно делать что-нибудь еще СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 2 Всего: 317 |
А почему всё надо на микроконтроллер переносить? Конечно компонент меньше, но это похоже на стрельбу из пушки по воробьям. От батареек схема не работает, так что ток жалеть не буду. Легкость апгрейда? Пока не встречался за всю свою очень короткую практику в электронике
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Вовсе не обязательно... это я сказал чтобы к теме относилось...
СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
люди помогите!Нужно написать программу на Асемблере по автоматизации пожарной системы.
|
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Зарегистрируйся, задай вопрос, покумекаем над пожарниками
СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Гость_bzx |
|
|||
|
Unregistered |
to Sardar
Идея абсолютно правильная: обрабатывать всё в аналоговой форме - аналоговый фильтр (ФНЧ) => компаратор. Проблемы в создании фильтра. Увеличь порядок фильтра до 3го или 4 го порядка. Используй операционики для ФНЧ. Понадобится всего пара штук. |
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |