Обсуждаем контроллеры компании Atmel.
Ответить

Регулировка частоты ШИМ

Пт окт 20, 2017 07:57:50

Приветствую форумчан!
Так сложились звезды, что теперь я использую ардуино вместо привычных мне STM32 (да простят меня ST).
Появилась задача - собрать на ардуине генератор звуковых частот. Нужно получить несколько нот для музыкальной игрушки.
Как я понял, с использованием средств ардуино ide сделать это не получится. Даташит на аврку 328 не выдал мне регистра, позволяющего настраивать частоту ШИМ в произвольном варианте.
Подскажите пожалуйста, как можно реализовать такую задачу?

Re: Регулировка частоты ШИМ

Пт окт 20, 2017 08:08:36

Тут есть очень хорошая статья по генерации звука синусоидальной формы.
http://www.radio-magic.ru/microcontroll ... uka-na-avr

Добавлено after 34 seconds:
Остатенться поправить немного регистры через ДШ на 328.

Re: Регулировка частоты ШИМ

Пт окт 20, 2017 19:53:03

Ну после stm периферия avr конечно убого выглядит. Перед глазами дш нет, но должен быть подходящий режим. Если нет подходящего режима fast pwm, то шим с коррекцией фазы (боюсь не напишу правильное название по памяти) дожен подойти. Опять же прграммную реализацию никто не отменяет.

Re: Регулировка частоты ШИМ

Вс окт 22, 2017 06:16:09

СТС режиа с инверсией ноги при совпадении. выход будет 50% заполнением и периодом кратным OCRxA, где х-номер задействованного таймера.

Добавлено after 8 minutes 4 seconds:
только вроде в этом режиме нет буферизации, поэтому или счетчик использовать с "быстрым оборотом" чтобы небыло ощутимых провалов в звуке если вдруг значение регистра окажется меньше счетчика или регистр обновлять по совпадению (в прерывании).

Re: Регулировка частоты ШИМ

Вс окт 22, 2017 17:38:02

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

Re: Регулировка частоты ШИМ

Вс окт 22, 2017 17:43:13

Зачем же обнулять. Это можно делать в прерывании после сброса счетчика.

Re: Регулировка частоты ШИМ

Пн окт 23, 2017 08:54:01

Приветствую форумчан!...
Появилась задача - собрать на ардуине генератор звуковых частот. Нужно получить несколько нот для музыкальной игрушки.
Как я понял, с использованием средств ардуино ide сделать это не получится....
Подскажите пожалуйста, как можно реализовать такую задачу?


Как это у ардуино средств формирования звука/нот нет?
https://www.arduino.cc/en/Reference/HomePage
раздел
Advanced I/O
tone()
https://www.arduino.cc/en/Reference/Tone
:?
Да и платки на основе STM32 там также применяются...
:dont_know:
Ответить