Например TDA7294

Форум РадиоКот • Просмотр темы - Музыкальный дверной звонок
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 05:42:01

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 45 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Музыкальный дверной звонок
СообщениеДобавлено: Ср мар 19, 2014 21:11:00 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 5
Зарегистрирован: Вт янв 28, 2014 10:44:29
Сообщений: 38
Рейтинг сообщения: 3
Обсуждение статьи
http://radiokot.ru/circuit/digital/home/197


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Чт мар 20, 2014 13:47:44 
Открыл глаза

Карма: 1
Рейтинг сообщений: 4
Зарегистрирован: Пн май 19, 2008 21:14:12
Сообщений: 41
Откуда: Рига
Рейтинг сообщения: 0
А хорошо бы еще модернизировать или увеличить функциональность звонка. 1.- в случае отсутствия хозяев, звонок информировал (мелодией) что кто-то приходил (звонил). 2. - определение кнопкой звонка, свой или чужой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Чт мар 20, 2014 14:10:23 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 5
Зарегистрирован: Вт янв 28, 2014 10:44:29
Сообщений: 38
Рейтинг сообщения: 0
Немного о методе генерации звука.

Здесь перевод статьи, об оригинальной музыкальной шкатулке:
http://www.microcontrollerov.net/microc ... a-ATtiny45
Так же в этой статье есть реализация звонка, но ни прошивки, ни файлов схем нет.

Здесь есть схема похожего устройства, но на Attiny13:
http://aterlux.ru/index.php?page=articl ... y_musicbox
Метод геренации звука точно такой же. Т.к. там написано на Си, то алгоритм разобрать проще.

В общем случае для генерации звука заданной частоты используется DDS: прямой цифровой синтез частоты.
О самом методе можно почитать здесь:
http://ra3ggi.qrz.ru/UZLY/dds.htm

Здесь есть небольшой пример реализаци DDS с комментариями:
http://chipenable.ru/index.php/forum/2- ... -shim.html
По этой статье можно разобраться откуда берутся те или иные коэффициенты.

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

В asm-Файле, полученном из midi файла находятся частоты (ω). Т.е. по сути величина на которую надо увелчивать (φ) и задержки сколько надо эту частоту играть.
Т.к. в прошивке реализована полифония, то таких частот в прошивке может быть до 6 штук.
Последовательно перебирая длительности и частоты получается мелодия.

Общий метод генерации синусоиды с помощью ШИМ:
http://avr-start.ru/?p=749


Последний раз редактировалось kostya13 Чт мар 20, 2014 14:30:21, всего редактировалось 1 раз.

Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Чт мар 20, 2014 14:28:57 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 5
Зарегистрирован: Вт янв 28, 2014 10:44:29
Сообщений: 38
Рейтинг сообщения: 0
aon писал(а):
А хорошо бы еще модернизировать или увеличить функциональность звонка.

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


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Чт мар 20, 2014 19:54:44 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 9
Рейтинг сообщений: 163
Зарегистрирован: Вс янв 09, 2011 16:51:39
Сообщений: 2329
Откуда: Санкт-Ленинград
Рейтинг сообщения: 0
kostya13 писал(а):
Обсуждение статьи
Если свяжетесь со мной по почте, то, наверное, можно будет доделать Continy45, что б она и для Вашего варианта генерила прямо готовый хекс.

_________________
ICQ нет, и, в ближайшее время, не будет.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Чт мар 20, 2014 21:15:50 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
читал но так и не понял алгоритм воспроизведения мелодии
в силах ли кто-либо изложить его крестьянским языком ?

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Пт мар 21, 2014 08:35:13 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 5
Зарегистрирован: Вт янв 28, 2014 10:44:29
Сообщений: 38
Рейтинг сообщения: 0
Начнем с самого начала. Будем рассматривать один канал т.к. сути это не меняет.
Немного упростим задачу, будем считать, что нам надо создать простую синусоиду определенной частоты.
В данной прошивке используется еще некоторые усложнения, чтобы придать более естественное звучание ноте, но эти нюансы сути не меняют.

Если будут понятны основы, то можно рассмотреть и дополнения.

Итак.

Используем ШИМ как ЦАП.
Напряжение на выходе зависит от скважности (http://ru.wikipedia.org/wiki/%D1%EA%E2% ... E%F1%F2%FC) сигнала.
Чем она меньше, тем выше напряжение.

Частота аналогового сигнала генерируемого с помощью ШИМ-сигнала можно рассчитать по формуле.
Fs = Fckl/(256 * N * M)
где Fclk - тактовая частота микроконтроллера, N - коэффициент деления предделителя, M - число отсчетов сигнала.

Основной минус этого способа, что для задания разных частот надо иметь таблицы синуса с разным количеством M.
Чтобы обойти этот недостаток используют DDS, но про него позже.

Еще раз повторю ссылку:
http://avr-start.ru/?p=749
В ней приведены рассчеты для синусоиды определенной частоты. Даже есть исходник простенького примерчика.
Можешь его посмотреть и сказать, что конкретно в исходном файле не понятно.

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


Последний раз редактировалось AlekseyEnergo Чт май 08, 2014 09:40:55, всего редактировалось 1 раз.
Нарушение пункта 2.7 правил форума. Подредактировал. Предупрежден!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Пт мар 21, 2014 11:31:44 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
kostya13 писал(а):
Еще раз повторю ссылку:
http://avr-start.ru/?p=749

Цитата:
Так как скважность изменяется от 0 до 0xFF(255), значит у нас будет 255 уровней постоянного напряжения.

почему 255 ?

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Пт мар 21, 2014 11:41:33 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 5
Зарегистрирован: Вт янв 28, 2014 10:44:29
Сообщений: 38
Рейтинг сообщения: 0
FreshMan писал(а):
почему 255 ?


Потомучто используют 8ми битный таймер. Но уровней, конено 256 будет: от 0 до 255.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Пт мар 21, 2014 12:06:43 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
пока понятно
давайте дальше :))

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Пт мар 21, 2014 20:08:37 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 9
Рейтинг сообщений: 163
Зарегистрирован: Вс янв 09, 2011 16:51:39
Сообщений: 2329
Откуда: Санкт-Ленинград
Рейтинг сообщения: 0
kostya13 писал(а):
уровней, конено 256 будет: от 0 до 255.
Уровней, в нашем случае, как-раз будет именно 255, поскольку сигнал должен быть симметричным.

_________________
ICQ нет, и, в ближайшее время, не будет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Пн мар 24, 2014 11:19:49 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
kostya13, разяснения больше не будет ? :wink:

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Пн мар 24, 2014 11:53:03 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 5
Зарегистрирован: Вт янв 28, 2014 10:44:29
Сообщений: 38
Рейтинг сообщения: 0
Будет :)

Итак, у нас есть таблица, допустим из 256 значений синусоиды.
Если индекс = 1 ( т.е. приращение указателя, который берет значения из таблицы) это позволяет генерировать звук частотой F = (T0CLK/510/256).
256 - количество данных в таблице, максимальное 510 количество значений счетчика.
Этот то, что было в прошлом примере.

Если мы будем увеличивать индекс на 2, то весь массив будет пройден вдвое быстрее, т.е. получим частоту F*2 , если будем увеличивать индекс на 3, то получим частоту F*3.

Полностью здесь автор "САБ" даже с расчетами объясненяет как зависит частота от шага выборки:
http://chipenable.ru/index.php/forum/2- ... -shim.html
Надо понять как этот пример работает.

Т.е. имея всего лишь одну таблицу можно по ней генерировать звук в большом диапазоне частот.

Вопросы?


Последний раз редактировалось AlekseyEnergo Чт май 08, 2014 09:42:10, всего редактировалось 1 раз.
Нарушение пункта 2.7 правил форума. Подредактировал.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Пн мар 24, 2014 15:02:05 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
kostya13 писал(а):
Если мы будем увеличивать индекс на 2, то весь массив будет пройден вдвое быстрее, т.е. получим частоту F*2 , если будем увеличивать индекс на 3, то получим частоту F*3.

при увеличении индекса наша синусоида будет получатся более ломанной, менее гладкой ?
я так понимаю ?

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Пн мар 24, 2014 15:58:36 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 5
Зарегистрирован: Вт янв 28, 2014 10:44:29
Сообщений: 38
Рейтинг сообщения: 0
FreshMan писал(а):
при увеличении индекса наша синусоида будет получатся более ломанной, менее гладкой ?
я так понимаю ?


Нет. При увеличении приращении индекса частота синусоиды повышается.
Вот смотри.

Берем таблицу и строим по ней синусоиду. Заметь за 20 отсчетов прошел всего один полупериод синусоиды:
Изображение

Теперь значение из таблицы берем через одно:
Изображение


За те же 20 отсчетов уже прошла полная синусоида, т.е. частота этой синусоиды в 2 раза выше, чем предыдущей.

Аналогично, если будем менять шаг выборки, соответственно будет меняться и частота.
Вот так все работает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Пн мар 24, 2014 19:23:52 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
kostya13 писал(а):
если будем менять шаг выборки,

тоесть время за которое будет считываться массив значеий для синусоиды ?

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Вт мар 25, 2014 08:40:35 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 5
Зарегистрирован: Вт янв 28, 2014 10:44:29
Сообщений: 38
Рейтинг сообщения: 0
FreshMan писал(а):
тоесть время за которое будет считываться массив значеий для синусоиды ?


Шаг - это не время. Это безразмерная величина.

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

Таким образом в первом случае за 20 секунд на динамик попадет лишь пол волны сигнала, во втором случаеза те же 20 секунд на динамике будет уже полная волна, т.е. во втором случае мы услышим звук в два раза выше по частоте.
Это происходит потому, что в первом случае за 20 секунд мы считали лишь половину таблицы, а во втором скакали через одно значение и допрыгали до конца за то же время, а вся таблица - это один период синусоиды.

(конечно если отсчет 1 секунда, никого звука мы не услишим, это лишь образное выражение).

И еще такая особенность. Если данных в таблице будет 256, а счетчик у тебя 8ми битный, т.е. в него тоже максимум можно записать 255. То при достижении максимума указатель автоматически сбросится из-за переполнения и отсчет пойдет от начала таблицы. Таким образом переполнение здесь даже помогает зациклить считывание синусоиды.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Вт мар 25, 2014 10:51:21 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
спасибо, усек :)
давайте дальше :write:

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Вт мар 25, 2014 11:01:46 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 5
Зарегистрирован: Вт янв 28, 2014 10:44:29
Сообщений: 38
Рейтинг сообщения: 0
FreshMan писал(а):
давайте дальше :write:


дальше все попроще.
В asm файле хранится как раз длительность звучания (количество отсчетов) и этот самый шаг, определяющий частоту звучания.

Программа последовательно берет значения из массива мелодии, устанавливает шаг для указателя (по сути нота) и контролирует время звучания этой ноты.
Одновременно таких нот может проигрываться до 6 штук.

Затем все 6 нот складыавются, умножаются на коэффициент громкости и уже результирующее значение отправляется в шим.

Чтобы звучало немного естественней в начале звучания данные берутся из специальной таблицы (а не из таблицы синусоиды) и добавляется огибающая: зависимость громкости от времени.
В конце звучания тоже добавляетс огибающая, чтобы звучание ноты плавно затухало.

Вот, собственно и все.
Можешь еще раз перечитать перевод статьи, надеюсь на этот раз будет более понятно.

Вот еще одна хорошая статья про генерацию звука:
http://www.deep-shadows.com/hax/wordpress/?page_id=1111


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Музыкальный дверной звонок
СообщениеДобавлено: Пн ноя 21, 2016 23:06:08 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Пн май 09, 2011 17:14:37
Сообщений: 22
Рейтинг сообщения: 0
Добрый вечер.
Понравилась схемка (http://radiokot.ru/circuit/digital/home/197/) данного дверного звонка своей простотой и возможностью залить в любое время мелодию которая понравится, но как всегда есть пару вопросов.
1) Я так понимаю когда XS2 пуск, по схеме, замыкается на массу тогда запускается воспроизведение мелодии?
2) От длительности нажатия не зависит проигрыш мелодии (в смысле нажал раз – мелодия запустилась, сразу же нажал еще, но пока полностью мелодия не отыграла на кнопку реакции нет)?
3)Если хочу сделать музыкальный усилитель мощнее, то просто сигнал с 6 ножки PB1 подавать на вход нового усилителя а R1,R2,R5 просто выкинуть со схемы? (И подскажите пожалуйста схемку какого-то усилителя немного мощнее, но не намного сложнее ;-))
4)Есть проблема такого рода : звонок планируется использовать в частном доме, то есть кнопка должна быть выносной, и расстояние от кнопки до звонка метров 20, как это скажется на работе или будут проблемы с такой протяженностью провода? К тому же хочу параллельно кнопке звонка установить геркон, типа кто-то пришел, но калитка на замок не заперта, человек не позвонил но открыл калитку что-бы зайти, и магнитик на калитке замкнул геркон и звонок зазвонил по любому.
5)Так как писал ранее дом частный, и хода два. Хочу сделать два звонка но с разными мелодиями на разную калитку, вопрос такого рода можно ли как-то подключить два звонка на один динамик (для минимизации конструкции)? Вариант одномоментного нажатия двух кнопок крайне низка, но присутствует.
6) Переключатель SA1 - полной блокировки звонка не лучше ли использовать выключатель на линии питания, дабы обесточить полностью схему ?
Благодарю за ответ и извините за изобилие текста.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 45 ]  1, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y