Перейти к содержанию

Как Звуковой Сигнал Преобразовать В Цифровой?


Рекомендуемые сообщения

Вообщем делаю я свое первое самостоятельное устройство на МК(Что-то похожее на СДУ) с возможностью цветомузыки. И тут тупик. Саму цветомузыку на схеме хотел реализовать так: с выхода, например компьютера мы принимаем звуковой сигнал, затем преобразовываем синосоиду в прямоугольный сигнал, а микроконтроллер просто считывает количество импульсов за определенный промежуток времени и мы получаем частоту, а дальше в зависимости от частоты зажигаю определеный цвет, ну или еще чего придумаю. С программной частью вопросов пока нет, думаю справлюсь. А вот с преобразованием затык. Полез в итернет, нашел почти то, что нужно, вот : http://krasivo-korotko.livejournal.com/pics/catalog/295/489 , но с двумя недостатками:

1 Там автор использует питание от 19 вольт, а у меня 5 вольт и стабилизатор мне в схеме не нужен. Автор упоминает что преобразование идет за счет конденсаторов. Я сейчас скажу какие у меня мысли, поправите если это не так. Вообщем преобразование идет за счет конденсаторов С1 и С2, а остальные работают на стабилизатор, либо сглаживают ток. Так- чтоли? Какие элементы можно убрать, чтобы питание было от 5В, но сама работа схемы не нарушилась?

2 Конечно уже прихоть, но как доработать эту схему под стерео? просто добавить еще одну цепь из 2 конденсаторов, резюка, и транзистора? или не все так просто?

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Так а чё если принимать внутреним АЦП МК звуковой сигнал и когда сигнал попадёт в аккумулятор МК, написать прогу если сигнал положителен ( положительная полуволна синусоиды)выставлять на одном выводе порта МК 1, если отрицательный то на выходе 0, помоемудля этого можно как - то флаговый регистр задействовать

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Ну предпочтительнее все же подсчитывать импульсы,т.к я начинающий, с АЦП не умею работать, плюс неизвестно, можно ли методом, который вы описали вычислить частоту. Хотя стоп, кажется я понял, что вы имели ввиду. Вы хотели сказать, что вместо преобразования сигнала, за импульс считать каждый положительный и отрицательный период? Ну тогда и программа усложнится, а так чего стоит установить счетчик считать по нарастающему фронту и все)

Изменено пользователем Губитель
Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

А зачем что-то придумывать чтобы "спрямоуголить" сигнал? Если порт МК настроен как цифровой, он сам будет воспринимать только 2 значения:0 и 1. Надо просто чтобы амплитуда сигнала на входе порта была около 5В. Ну и стабилитрон не помешает для защиты.

Ссылка на комментарий
Поделиться на другие сайты

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

Любой, заслуживающий внимания, опыт приобретается себе в убыток...

Ссылка на комментарий
Поделиться на другие сайты

Парни, вы форму гармоничекого сигнала видели хоть одним глазком? Что толку преобразовывать его одноуровневым компаратором. Как вы будете анализировать уровни частотных составляющих? Пока вы сильно "плаваете" даже в логике работы ЦМУ.

Ссылка на комментарий
Поделиться на другие сайты

1 Там автор использует питание от 19 вольт, а у меня 5 вольт и стабилизатор мне в схеме не нужен. Автор упоминает что преобразование идет за счет конденсаторов. Я сейчас скажу какие у меня мысли, поправите если это не так. Вообщем преобразование идет за счет конденсаторов С1 и С2, а остальные работают на стабилизатор, либо сглаживают ток. Так- чтоли? Какие элементы можно убрать, чтобы питание было от 5В, но сама работа схемы не нарушилась?

2 Конечно уже прихоть, но как доработать эту схему под стерео? просто добавить еще одну цепь из 2 конденсаторов, резюка, и транзистора? или не все так просто?

1.Все которые стоят до КРЕНа

2.Зачем? Ну если надо то добавь ещё один конденсатор С1 на второй канал и подключи к рез.R4. Кстати лучше поставить его переменным на 10ком.

Ссылка на комментарий
Поделиться на другие сайты

Спасибо, и правда, чего раньше об этом не подумал. Поискал в интернете. Нашел одно решение которое мне понравилось: http://radiokot.ru/c...audio/other/19/ . Но такую микросхему я наверное не найду. Есть еще один вариант: http://radioshema.uc...odakh/33-1-0-63 но я не понял как она работает. Мне не так важен результат, я не тороплюсь, для меня главное понять как работает. Я подумал, Может есть у кого информация по этому поводу, а точнее реализация спектроанализатора или ЦМУ на МК.

Ссылка на комментарий
Поделиться на другие сайты

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

Второй использует чистую математику - реализацию ДПФ - математическое разложение оцифрованного сигнала на составляющие. И затем точно так же как в прошлом варианте выводит амплитуды составляющих на полоски светодиодов.

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

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

Но опять же, тут будет такая гадость как низкочастотный сигнал просто уведет высокочастотную составляющую вне пределов порога срабатывания компаратора и будет детектироваться программой преимущественно только НЧ составляющая, например ударники на частоте 20Гц все забъют. Надо какой-то ВЧ фильтр вводить на входе или разделять по частотным каналам... но тогда чем схема будет лучше аналоговой ЦМУ?

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Может мы друг друга не поняли? Я не собираюсь пока делать анализатор спектра. А сам прибор у меня ведь не только ЦМУ, а также Есть эффекты. Почему будет гореть только один светодиод? Допустим посчитал я импульсы и получил чистоту к примеру 1Кгц, и программа исходя из этого условия зажжет желтый цвет, другая частота-другой цвет. Может я просто не упомянул что очень похоже на световую пушку и их будет 4, и расположены они будут по углам комнаты. Кстати у людей ведь заработало. Вы сильно не пинайте, что я тут не соглашаюсь с вами. Я тут подумал, а что если за основу взять частотомер? Например из книги АВР вводный курс, там есть учебный проект, где для высоких частот используется метод описанный мною выше, а для низких частот измерение интервала времени между нарастающими фронтами входного сигнала.

Ссылка на комментарий
Поделиться на другие сайты

Потому что результат измерения частотомера - одно число. Как на его основе зажечь несколько диодов?

Реальные сигналы довольно сложны. Что будет с частотомером если подать на него смесь сигналов

20гц амплитудой 2В, 270Гц амплитудой 0.5В и 1000Гц амплитудой 0.2В. Так сразу навскидку сказать какую частоту он измерит невозможно, скорей всего что-то близкое к 20Гц.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

До меня дошло. Звук же это наложение гармоник друг на друга. Ну тут тогда только на основе спектроанализатора выкрутится можно, нету исходников на ассемблере( ДПФ для меня сложновато, 9 класс еще, я такие формулы которые там приводятся, даже прочесть не могу. А вот если допустим взять 8 ног у Мк и к каждому выводу фильтр сделать? такое возможно же? Я вот посмотрел аналоговый спектроанализатор на AN6884, там фильтры на ОУ, но вот я никогда не имел с биполярным напряжением дела, можно ли сделать пассивный полосовой фильтр на звуковые частоты, а то при поиске мне выводит высокочастотные , начиная от 1 Мгц.

Изменено пользователем Губитель
Ссылка на комментарий
Поделиться на другие сайты

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

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Вот дополнил схему активными фильтрами. Может кто сможет проверить на правильность?

post-148554-0-90446300-1358066354_thumb.jpg

Изменено пользователем Губитель
Ссылка на комментарий
Поделиться на другие сайты

А зачем выходы фильтров заводить на простые ноги 2313? Лог. 0 и лог. 1 для оценки выхода фильтра будет слишком грубо. Лучше взять мегу8 и использовать входы АЦП.

Любой, заслуживающий внимания, опыт приобретается себе в убыток...

Ссылка на комментарий
Поделиться на другие сайты

Губитель, Вы хотите сделать ЦМУ или "поиграться" с микроконтроллером? Это всё-таки две большие разницы и обе разные (как говорят в славном городе Одессе).

Тем более, что полосовые фильтры у Вас у же введены в схему.

Я сделал несколько ЦМУ, но на логике. Аналоговый сигнал преобразуется в цифру и дальше она управляет осветителями. Могу скинуть схему - гляньте, как это устроено и переведите на МК.

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

Ссылка на комментарий
Поделиться на другие сайты

Goodfine, Я с АЦП ни разу ничего не делал, и честно не представляю еще , как можно программно обрабатывать сигнал, но думаю вы правы, я уже думал об этом, 1 и 0 будет грубо. надо читать про АЦП, попробовать какой нить учебный проект собрать на макетке.

Falconist, вы верно заметили, само ЦМУ для меня не является приоритетом, нет, конечно, я бы не отказался бы в итоге получить неплохое устройство, но для меня главное опыт и знания, а на таком устройстве я могу получить и опыт в программировании и в составлении схем. как-то так. От схемы я бы не отказался.

Изменено пользователем Губитель
Ссылка на комментарий
Поделиться на другие сайты

Тогда вряд ли моя схема сильно поможет. Дело в том, что для анализа частотных составляющих звукового сигнала на МК надо будет применить нехилую математическую обработку ("цифровые фильтры"). Для начинающего - сильно сложно. А если переложить эту задачу на внешние аналоговые устройства - тогда возникает сильное сомнение в необходимости МК в принципе. Получается "из пушки по воробьям". Я же смог всё это сварганить на логике! Алгоритм-то примитивнейший.

Немного освобожусь - напишу статью.

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

Ссылка на комментарий
Поделиться на другие сайты

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

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

Ссылка на комментарий
Поделиться на другие сайты

Если взялись за МК. То конечно БПФ. Ни чего там особо сложного нет. Смысл Быстрого Преобразования Фурье, что если взять сигнал, к примеру, синус, известной частоты и сложить его с не известным сигналом, получим всплеск на величину присутствия этой частоты в сигнале. (Сумма синуса равна нулю, понимаете?) Вот писал сто лет назад тока на IBM http://www.terminal-kom.narod.ru/asmprog.html

Изменено пользователем terminal
Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

До меня дошло. Звук же это наложение гармоник друг на друга. Ну тут тогда только на основе спектроанализатора выкрутится можно, нету исходников на ассемблере( ДПФ для меня сложновато, 9 класс еще, я такие формулы которые там приводятся, даже прочесть не могу. А вот если допустим взять 8 ног у Мк и к каждому выводу фильтр сделать? такое возможно же? Я вот посмотрел аналоговый спектроанализатор на AN6884, там фильтры на ОУ, но вот я никогда не имел с биполярным напряжением дела, можно ли сделать пассивный полосовой фильтр на звуковые частоты, а то при поиске мне выводит высокочастотные , начиная от 1 Мгц.

Как по мне,так лучше возьми браслет,второе вродe как лучше пересмотреть схему-ee предётся разгружать.Частично указаные понятия и определения реализованны в Точечном сварочном аппарате.

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

Программируются по спектрограмме путём расчёта линейности.
Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

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

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

561cea405592.jpg

Так-же составил новую схему. Изменения коснулись кристалла, аудио входа и сдвиговых регистров со светодиодами. Mega8 была выбрана из-за того, что есть операция умножения. В ходе эксперементов со светодиодами, отпало желание делать каждый светильник из около 50 обычных сверхъярких светодиодов, т.к. свет рассеивается, и предпологаемых четких точек я не увидел. В итоге выбор пал на 10W светодиоды. в каждый из 4 светильников помещается по красному,зеленому,синему цветов для смешения. Кстати, сдвиговых регистров потребуется на порядок меньше, что компенсирует затраты на мощные светодиоды. Вот схема:

7e8d029027cf.jpg

Вот такие предполагаю использовать светодиоды:

9c1617c74bca.jpg

По поводу алгоритма. Думаю взять вот отсюда: http://lightportal.at.ua/publ/spektroanalizatory/12_kanalnyj_analizator_spektra_na_atmega16_na_osnove_diskretnogo_preobrazovanija_fure_dpf_i_uolsha/18-1-0-55 и переписать на ассемблере.

Вопросы:

1)светодиоды 10W и питаются от примерно 10В, как запитать их в схеме?( Наверно глупый вопрос)

2)есть ли изъяны в алгоритме?

3) Нужна ли обвязка для аудио входа? Если даже не обязательна, то что она делает? У меня только одно предположение: усилить сигнал.

4) Насколько сложно будет переписать этот алгоритм?

Ссылка на комментарий
Поделиться на другие сайты

Просто наполеоновские планы...

Переписать на ассемблере... угу, удачи. Загрязнешь в болоте не ступив и двух шагов. С твоими-то знаниями.

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

"ДПФ для 12 частот" - тоже от незнания предметной области. ДПФ не выгодно проводить для отдельных частот, для этих целей проще использовать цифровые фильтры.

В третьих... толку использовать светодиоды разных цветов - нерационально. Есть же 50Вт RGB - три в одном, и дешевле чем 3 отдельные.

Регистром сдвига управлять диодами... теоретически возможно, но потребует огромных ресурсов только на реализацию ШИМ да еще через регистры - слишком ного накладных расходов, уж проще использовать специализированные м/с - есть такие реализуют 10 бит ШИМ на 16 каналов аппаратно, с индивидуальной цифровой коррекцией тока каждого диода, правда не пойдет для 10Вт диодов поэтому коррекция без толку - всеравно м/с будет управлять драйверами мощных светодиодов, а драйверу входной ток отразится только на длительности фронтов открытия/закрытия транзисторов.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Пока только смогу ответить только по поводу светодиодов. 50W RGB мне не подойдут, они дороже, и напряжение больше. Купить 15 светодиодов 10W выходит дешевле, чем 5 50W. Сдвиговые регистры можно убрать, мне главное реализация ШИМ. Выводов у mega8 хватит. Про ДПФ, да я не силен еще. http://avrall.com.ua/?p=131 понравилась вот эта реализация фильтра. Может посоветуете, по фильтрам. А сигнал в алгоритме я имел ввиду звуковой.

Изменено пользователем Губитель
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...