Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Генерация тонов
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
ksinet
Доброе время суток!!!
Хочу сделать девайсик (мультивибратор), который издавал такой же звук как и автомобильная сирена, с циклическим изменением тональностей. Я так понимаю что необходимо использовать встроенный ШИМ. Но я ниразу таким не занимался, подскажите с чего начать и как сгенерировать тональности автомобильной сирены. Может кто-то поделиться документацией на сами автомобильные сирены, интересуют частоты этих завываний и кваканий smile.gif ? (какой частоты нужно подавать сигнал на рупорный динамик)

Вариант, использовать стандартную автомобильную сирену (или мультивибратор из нее) не предлагать smile.gif

Спасибо всем
katarsis
если я правильно понял что ты хочешь, то можно сделать следующее так. есть хреновенький кодек от максима - MX7427. по сути на2 ножки к нему надо загонять 2 меандра некоторых частот. с максима имеет смысл пустить звук на какойнить усилитель. например ssm2211. после него можно на динамик. хочешь, выложу даташник на то и другое. тебе надо будет просто загонять с какогонить простенького контроллера меандр.
ksinet
Цитата(katarsis @ Jul 16 2005, 04:34)
если я правильно понял что ты хочешь, то можно сделать следующее так. есть хреновенький кодек от максима - MX7427. по сути на2 ножки к нему надо загонять 2 меандра  некоторых частот. с максима имеет смысл пустить звук на какойнить усилитель. например ssm2211.  после него можно на динамик.
*


Зачем все так сложно? Ну вот, мне нужно будет генерить два меандра. А я хотел просто воспользоваться ШИМом и через транзистор сразу управлять динамиком. Почему так нельзя?
AndyBig
ШИМ генерирует одну частоту, просто с разным заполнением.
CDT
Цитата(AndyBig @ Jul 16 2005, 15:01)
ШИМ генерирует одну частоту, просто с разным заполнением.
*

А заполнение есть амплитуда сигнала в момент времени, соответствующий данному импульсу на выходе ШИМ. Вульгарный ФНЧ делает из этого дела желаемый сигнал.

Обсчитываешь в Exel желаемый звуковой сигнал для точек, соответствующих частоте ШИМа (частота дискретизации), масштабируешь до диапазона регулирования ШИМ.
Результат преобразуешь в текст, копируешь в файл программы, добавив необходимые слова для формирования таблицы.
В программе с частотой дискретизации подаешь эти значения на ШИМ.
На выходе RC или LC фильтр и усилитель.

Сиреньте на здоровье!
AndyBig
Ага... А в схему вешаешь флэшку, в которую загоняешь получившийся "wav"... smile.gif
Проще воспользоваться таймером.
CDT
Цитата(AndyBig @ Jul 18 2005, 09:34)
Ага... А в схему вешаешь флэшку, в которую загоняешь получившийся "wav"... smile.gif
Проще воспользоваться таймером.
*

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

Функция периодическая, по табличке можно ходить вперед и назад.
Серьезных требований к качеству (нелинейные искажения и непрерывность фазы) не предъявляются. Поэтому достаточна табличка на 1/2 или даже 1/4 периода суммарного сигнала.

Можно взять табличку на 1/4 периода синуса, из которой дергать значение уровня для составляющей и подставлять его в нужный момент времени в сумматор всех составляющих. при тактовой 8 или 16 МГц и частоте дискретизации 4-8 кГц вполне можно успеть.

Разумеется, таймеры можно использовать (если они от ШИМа остались). А в тини26, по-моему, можно частоту ШИМ менять на ходу (чтобы противней выла).

Есть чем поразвлечься творческому человеку.
sseett
Если не охота возится с ШИМ-ом, то прикрути 8 резюков на порт и 1 общий, и будет тебе ЦАП. И все что предлагали коллеги- получится с большим быстродействием и меньшими затратами.
Удачи!
_Sam_
Здесь описание, а здесь пример для AVR.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.