Оглавление:

Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике: 4 шага
Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике: 4 шага

Видео: Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике: 4 шага

Видео: Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике: 4 шага
Видео: Уроки Ардуино #11 - плавное управление нагрузкой, ШИМ сигнал 2024, Ноябрь
Anonim
Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике
Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике
Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике
Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике
Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике
Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике
Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике
Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике

Привет ребята, Это вторая часть моего другого инструктажа (что было очень сложно). По сути, в этом проекте я использовал АЦП и ТАЙМЕРЫ на моем Arduino для преобразования аудиосигнала в сигнал ШИМ.

Это намного проще, чем моя предыдущая инструкция. Вот ссылка на мою первую инструкцию, если вы хотите ее увидеть. ссылка

Чтобы понять теорию аудиосигнала, битрейта, битовой глубины, частоты дискретизации, вы можете прочитать теорию в моем последнем руководстве по Instructable. Ссылка выше.

Шаг 1. Что нам нужно для этого проекта (требования)

1. Плата Arduino (мы можем использовать любую плату (328, 2560), то есть Mega, Uno, Mini и т. Д., Но с определенными разными контактами)

2. ПК с Arduino Studio.

3. Макетная или монтажная плата.

4. Подключение проводов

5. TC4420 (драйвер Mosfet или что-то в этом роде)

6. Силовой МОП-транзистор (канал N или P, подключите его соответственно) (я использовал канал N)

7. Динамик или обратноходовой трансформатор (да, вы правильно прочитали !!)

8. Подходящий источник питания (0-12 В) (я использовал свой собственный блок питания ATX)

9. Радиатор (утилизировал со своего старого ПК).

10. Усилитель (обычный музыкальный усилитель) или схема усилителя.

Шаг 2: Теория преобразования АЦП в ШИМ

Теория преобразования АЦП в ШИМ
Теория преобразования АЦП в ШИМ
Теория преобразования АЦП в ШИМ
Теория преобразования АЦП в ШИМ

Итак, в этом проекте я использовал встроенный АЦП Arduino для выборки данных аудиосигнала.

АЦП (аналого-цифровой преобразователь), как следует из названия, АЦП преобразует аналоговый сигнал в цифровые отсчеты. И для Arduino с максимальной 10-битной глубиной. Но для этого проекта мы будем использовать 8-битную выборку.

При использовании АЦП Arduino мы должны помнить о напряжении ADC_reference.

Arduino Uno предлагает 1,1 В, 5 В (внутренняя ссылка, которая может быть установлена в коде) или внешняя ссылка (которую мы должны применять извне к выводу AREF).

По моему опыту, для получения хорошего результата от АЦП в качестве опорного напряжения следует использовать минимум 2,0 В. Поскольку 1.1V не подошел, по крайней мере, для меня. (Личный опыт)

* ВАЖНО * * ВАЖНО ** ВАЖНО ** ВАЖНО ** ВАЖНО *

Нам нужно использовать усиленный аудиосигнал от усилителя или схемы усилителя с пиковым напряжением (макс. Напряжение) 5 В

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

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

Итак, в этом проекте мы будем использовать частоту дискретизации 33,33 кГц, установив тактовую частоту АЦП на 500 кГц. Чтобы понять, как это так, мы должны увидеть страницу синхронизации АЦП в таблице данных микросхемы Atmega (328p).

Мы видим, что нам нужно 13,5 тактов АЦП, чтобы выполнить одну выборку с автоматической выборкой. При частоте 500 кГц это означает, что 1/500 кГц = 2 мкс для одного цикла АЦП, что означает, что для завершения выборки при использовании автоматической выборки требуется 13,5 * 2 мкс = 27 мкс. Отдавая микроконтроллеру на 3 мкс больше (на всякий случай), создавая в общей сложности 30 мкс для одного образца.

Таким образом, 1 образец при 30 мкс означает 1/30 мкс = 33,33 тыс. Отсчетов / с.

Чтобы установить частоту дискретизации, которая зависит от TIMER0 Arduino, поскольку триггер автоматической выборки АЦП зависит от этого в нашем случае, как вы также можете видеть в коде и таблице данных, мы установили значение OCR0A = 60 (почему так ???)

Потому что по формуле, приведенной в даташите.

частота (или здесь Sample Rate) = Тактовая частота Arduino / Prescaler * Значение OCR0A (в нашем случае)

Частота или частота дискретизации, которую мы хотим = 33,33 кГц

Тактовая частота = 16 МГц

Значение предделителя = 8 (в нашем случае)

Значение OCR0A = мы хотим найти ??

что просто дает OCR0A = 60, также в нашем коде Arduino.

TIMER1 используется для несущей звукового сигнала, и я не буду вдаваться в подробности этого.

Итак, это была краткая теория концепции АЦП для ШИМ с Arduino.

Шаг 3: Схема

Схема
Схема

Подключите все компоненты, как показано на схеме. Итак, у вас есть два варианта: -

1. Подключите динамик (подключенный к 5 В)

2. Подключите обратноходовой трансформатор (подключен к напряжению 12 В).

Я пробовал оба. И оба работают очень хорошо.

* ВАЖНО * * ВАЖНО ** ВАЖНО ** ВАЖНО ** ВАЖНО * Нам необходимо использовать усиленный аудиосигнал от усилителя или схемы усилителя с пиковым напряжением (макс. Напряжение) 5 В

Отказ от ответственности: -

* Я рекомендую использовать обратноходовой трансформатор с осторожностью, так как это может быть опасно, поскольку производит высокое напряжение. И я не буду нести ответственности за любой ущерб. *

Шаг 4: Заключительный тест

Так что загрузите данный код в свой Arduino и подключите усиленный сигнал к контакту A0.

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

И просто наслаждайтесь музыкой.

Рекомендуемые: