Главная » Микроконтроллеры
Призовой фонд
на октябрь 2017 г.
1. Термометр Relsib WT51
Рэлсиб
2. 1000 руб
PCBWay
3. Регулируемый паяльник 60 Вт
Паяльник
4. 100 руб.
От пользователей

Эффект эхо (echo) на микроконтроллере Atmega32

Когда я учился в 10 классе, я усиливал аудио сигнал схемой на нескольких транзисторах bc547 - bc557. С помощью этой схемы я мог усиливать аудио сигнал, но не мог создать эффект эхо как в громкоговорителях. Я просто не мог себе представить, как реализовать такой эффект. Тогда это было за пределами моих знаний.
Сейчас я могу сделать это, просто произведя цифровую обработку сигнала с помощью микроконтроллера. Принцип работы очень прост – в кольцевом буфере применяется обратная связь с запаздыванием. Сделано это с помощью микроконтроллера ATmega32. Это простой, но очень интересный проект. По этому принципу мы можем сделать не только эхо, но и много других небольших DSP эффектов, если у микроконтроллера будет больше ОЗУ.

Принцип действия

В проекте я использовал микроконтроллер Atmega32. Он имеет 2КБ ОЗУ и АЦП, чего достаточно для реализации данного эффекта эхо.  Для захвата голоса используется электретный микрофон. Сигнал с него подается на АЦП с соответствующим усилением и смещением уровня, что важно для качественной работы. АЦП преобразует аналоговый сигнал в цифровой, с определенной настраиваемой частотой дискретизации. Используется кольцевой буфер на 1900 байт. Нам необходимо сделать задержку при входе и выходе звука. Таким образом, для получения задержки мы можем заполнить буфер в одной точке, а прочитать в другой. Как сделать эту задержку максимальной? Это хорошо объясняется диаграммой.

uint8_t buf[1900];
Кольцевой буфер

Теперь необходимо сделать эффект эхо. Для этого нам необходимо обеспечить обратную связь от точки чтения, к точке записи. Говоря простыми словами, мы должны добавить уменьшенную модель считываемого сигнала вместе с образцом записи. Коэффициент обратной связи всегда должен быть <1. Таким образом, цифровой сигнал в буфере обрабатывается путем добавления эффекта эха. Считаные данные выходят из микроконтроллера в виде ШИМ сигнала, который может быть демодулирован с помощью простого RC фильтра, и усилен при помощи УНЧ.

В программе я добавил 5 уровней эхо – от эхо 0 до эхо 4.

Наблюдения

Если увеличить частоту дискретизации, то время от основного звука до эхо и длительность эхо будет меньше, но качество звука увеличится.
Если уменьшить частоту дискретизации, то время от основного звука до эхо и длительность эхо увеличится.
Если увеличить коэффициент усиления обратной связи, объем эхо и количество его повторения увеличится.
Если увеличить коэффициент усиления обратной связи выше 1, то звук испортится за счет колебаний.
Чтобы получить очень хорошее качество звука с хорошим эффектом эха, должно быть много ОЗУ и частота дискретизации должна быть высокой.  Для этой цели лучше подойдет ATmega2560 с 8КБ ОЗУ.

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

Принципиальная схема

Схема микрофонного усилителя:

Схема микрофонного усилителя

Схема фильтра:

Схема фильтра

Также необходим любой усилитель звука НЧ. Схему, подходящую к вашим колонкам можно легко найти в интернете, и я не стал давать её тут.

Исходник и прошивка прилагаются

Оригинал статьи

Прикрепленные файлы:

Теги:

Касьянов А. Опубликована: 2012 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (4) | Я собрал (0) | Подписаться

-1
Алексадр #
Я собрал сей девайс, но у меня почему-то очень сильные искажения и трещания... на вход подаю электрогитару.
Ответить
+1
Александр #
Разобрался. Я не установил фьюз биты, чтобы частота была от внешнего кварца. После установки все ок. Но эффект мне не понравился: очень низкокачественный. Нужен в разы мощней МК, чтобы эффект стал приятен для ушей. Но зато ради эксперимента было интересно.
Ответить
0
zhikh #
Но никто и не обещал, что это высококлассный horous
Ответить
0
zhikh #
Собрал на макетной плате, всё заработало с первого раза, как ни странно. Схема рабочая.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется сила тока?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Квадрокоптер Syma X11 Модуль измерения тока на ACS712 (30А)
вверх