www.diyfactory.ru



Страницы: (9) 1 2 [3] 4 5 ... Последняя »  ( Перейти к первому непрочитанному сообщению ) Ответ в темуСоздание новой темыСоздание опроса

> Проект MiniMoog. Часть 3, Midi to CV
BSVi
Дата 13.10.2007 - 11:57
Цитировать сообщение




Unregistered












ќткуда:


>12 бит для управления VCO слишкм мало даже в диапазоне 4 октав.16 бит >уже не дешево да и не просто. ...

Почему? По миди предается то только 8бит на ноту да 14бит на питч-бенд. итого 15бит. у нас- 16, хоть и ШИМ.

Вот думаюд я - делать програмный ШИМ (частота его будет не больше 500кГц)
или еще как извращаться с теми тремя каналами, что есть?

Напомню, что на дешевеньком и распространеньеньком atmega8 2канала 16 бит и 1 - восемь.

>Без экспоненциального преобразователя
Дак почему-же? Никто не запрещает запрограмировать линейным изменением напряжения от ноты (скорее всего эта опция и будет в стандартной поставке smile.gif) ), а если нужно - то зашить кривую какую-нибуть...
Top
BSVi
Дата 13.10.2007 - 16:17
Цитировать сообщение




Unregistered












ќткуда:


Таксь, написал программный ШИМ, несушая около 200кГц получилась при 8Мгц процессоре, Процессор можно взять на 16МГц и тогда несущая 400кГц получится.

Человек начинает ощущать 10мс зажержки, тоесть 100Гц, в принципе должно хватить.

Исходник в аттаче - может скажете чего путного

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  pwm.S
Top
Diz
Дата 13.10.2007 - 18:01
Цитировать сообщение




Unregistered












ќткуда:


VARI-MU:
При CV 0-5В и 12 битах получаем ступеньку 1.2 мВ. Не хватает ?

BSVi: Возьмем Atmega48/88 - стоит меньше Mega8 и имеет четыре 8-bit ШИМ
и два 16-bit.
Top
BSVi
Дата 13.10.2007 - 18:38
Цитировать сообщение




Unregistered












ќткуда:


Diz
Оно, то - да, но я так понимаю, нам нужны три 16битных ШИМа

В лдюбом случае уже написал програмный ШИМ smile.gif

Это сообщение отредактировал BSVi - 13.10.2007 - 18:38
Top
VARI-MU
Дата 13.10.2007 - 23:45
Цитировать сообщение




Unregistered












ќткуда:


Цитата (Diz @ 13.10.2007 - 18:01)
VARI-MU:
При CV 0-5В и 12 битах получаем ступеньку 1.2 мВ. Не хватает?

Практика показала, что не хватает.
Считаем сверху вниз:
5В - 2,5В одна октава
2.5В - 1.25В вторая октава
1.25 - 0.622 третья октава
0.622 - 0.311 четвертая октава.
Нижняя октава занимает диапазон 311 милливольт,
разделим грубо на 12 нот в октаве
получим примерно = 25 милливольт на на ноту
разделим на 1.2 получим 5% частоты ноты
На нижних нотах с учетом экспоненты дело еще хуже.
Представьте ,что звучит нота ЛЯ = 220 Герц и ваш генератор с 5% ошибкой ,
т.е. 220 разделить на 20 = 11 Герц.Представляете такой унисон с биениями в 11 Герц? 13 разрядов дадут 6.5 Герц ,
14 разрядов 3.5 Герц,
15 разрядов 1.7 Герц,
16 разрядов 0.85 Герц , что уже вроде приемлемо.
Все IMHO unsure.gif
Top
BSVi
Дата 14.10.2007 - 00:44
Цитировать сообщение




Unregistered












ќткуда:


>Считаем сверху вниз:
>5В - 2,5В одна октава
>2.5В - 1.25В вторая октава
>1.25 - 0.622 третья октава
>0.622 - 0.311 четвертая октава.

Дак ведь на октаву ведб вольт приходится, тоесть
одна октава - 10-9вольт, вторая 9-8, 7-6 итд... Это если логарифмический преобразователь не убирать, конечно...
Top
Medved
Дата 14.10.2007 - 01:23
Цитировать сообщение




Unregistered












ќткуда:


Так сделайте логарифическую зависимость. Будет постоянная относительная погрешность. Упс, Сергей уже ответил)))
Top
BSVi
Дата 14.10.2007 - 02:38
Цитировать сообщение




Unregistered












ќткуда:


Тут получается делема - во первых, логарифматор - пойди-ка, настрой-ка, а во вторых если делать полностью цифру, то пожно потерять некоторые "вкусности", если делать цифра+аналог - все хорошо, но например другой синт может не иметь логарифматора.

Что я предлагаю - я уже написал программный ШИМ. На скока-хочешь каналов, все 16-битные. В контроллере есть два встроенных 16-битных ШИМа, Что имеем.

Встроенные шимы могут работать с частотой несущей 244Гц, что для нас классно и вопросов нет. Програмный шим может дать несущую в 7Гц всего, что явно недостаточно для быстро-изменяющихся сигналов. (это все, если точность будет 16битная, если понизить до 10 бит, то програмная станет 100Гц, что хорошо)

Всего как я понял нужно 4 канала ЦАП -
1) Нота, грубое значение (но нужно 16бит для возможности реализации логарифма)

2) Питч бенд, точное значение, в протоколе дается 14битами, тоесть нужен такой-же ЦАП (14битный программный выдает 30Гц)

3) Велосити - в протоколе передается 7бит, 16 бит нужно для вывода по таблице

4) Модуляция - передается 7 бит, вот их наверняка линейно можно и выводить, без никакой таблицы.

Варианты решения -
1) Сделать смесь программной и аппаратной ШИМ. Аппаратная понадобится только одна, тогда
Нота и Велосити - аппаратно 16бит, Модуляция - аппаратно 8 бит, Питч Бенд - програмно, 16 бит (задержка 33мс)

2) Програмно считать сумму нота+модуляция, тогда все шимы аппаратные

3) Выбрать более дорогой и/или более сложно программируемы проц.

4) Взять два проца, да и сделать сеть smile.gif -чиста пой подход агррр smile.gif))

5) Прифигацить внешние АЦП (16бит ацп - удовольствие нехилое)

6) Поствить демультиплексоры и цепочки r-2r (точность такого метода неизвестна sad.gif )

Вроде и все. Между прочим в той статье, что обсуждалась с Пиком, бло всего два ЦАП'а и оба восьмибитные.

Еще - про 16бит точности с односторонней платой пожете забыть. Минимум 2 слоя, по нормальному - 4.
Top
Diz
Дата 14.10.2007 - 04:51
Цитировать сообщение




Unregistered












ќткуда:


BSVI, а чем не нравится подход с использованием двух 8-битных
ШИМ-выходов одного таймера и внешним суммированием (я писал выше) ? Получаем фактически два поддиапазона - грубый и хммм... нежный :-)

В той же mega48/88 можно будет сделать четыре 16-битных ШИМа:
два тормозных честно-аппаратных, и два вот таких быстрых и гибридных.

Питч бенд не особо критичен, на самом деле - у колеса питча
такая погрешность ... уууу. Если считать, что ход колеса 180 градусов,
то 14-битная точность составит 0.011 градуса - попробуй отлови :-)

И еще, давайте прикинем, фильтр какого порядка потребуется
для подавления остатков несущей ШИМа 244 Гц на 96 дБ (для
трубуемых честных 16 бит) :-) Частота среза, ну, скажем, 10 Гц :-)

Это сообщение отредактировал Diz - 14.10.2007 - 04:56
Top
BSVi
Дата 14.10.2007 - 10:52
Цитировать сообщение




Unregistered












ќткуда:


Diz
Во, тиы во всем прав!

Два 8 битных вывода - а попробуй-ка их так проссумировать - нехалява, однако... ООчень вероятно в точке соединения будет нелинейность.

В той же mega48/88...
Можно, ты пробовал соединять два шима?
Если да, то ноу проблемс....

>то 14-битная точность составит 0.011 градуса - попробуй отлови :-)
Тоже правильно. Но передается-то 14 битов, эффективных намерное первые 7-8 %)

>Частота среза, ну, скажем, 10 Гц :-)
И в этом ты прав... Фронт этого фильтра затянется е-мае, как...

Итого, форумчане!!! Выкладывайте реалистичные требования!

Кстате!! Есть еще широко-доступный ширпотребный TDA1543
можно на ней сделать 2канала, а два - на ШИМ. Можно поставить 2 таких и будет 4 канала. Но это ухе повышение цены (одна такая микруха стоит как 2 проца)

А с помошью ШИМ'а чесных 16бит не достичь при хорошей скорости, Diz прав.

Это сообщение отредактировал BSVi - 14.10.2007 - 10:53
Top
ilya
Дата 14.10.2007 - 13:52
Цитировать сообщение




Unregistered












ќткуда:


В Minimoog линейная зависимость. 1 вольт/окт.
Top
VARI-MU
Дата 15.10.2007 - 08:58
Цитировать сообщение




Unregistered












ќткуда:


Цитата (ilya @ 14.10.2007 - 13:52)
В Minimoog линейная зависимость. 1 вольт/окт.

Ну вот , с этого все встает на свои места biggrin.gif
Теперь и шести разрядов хватит с запасом
Начинаем обсуждать прецизионный экспоненциальный преобразователь. smile.gif
Я традиционно предлагаю ламповое решение: на лампе ЭМ-11 - " Тетрод электрометрический для логарифмирования и усиления тока ,изменяющегося в широких пределах" biggrin.gif / . Кстати , в каком-то из ранних синтезаторов так и было сделано.
Top
Diz
Дата 15.10.2007 - 23:39
Цитировать сообщение




Unregistered












ќткуда:


Соединять два ШИМа пробовал, но о точности ничего сказать не могу.
Использовал в речевом информаторе, там точность была не критична.

Аудио-ЦАП не вариант, они затачиваются под другое - точность хромает.

Что думаю: использовать один готовый хороший ЦАП, за ним мультиплексор
и сколько угодно каналов sample&hold (УВХ). Что-то вроде DAC7611,
это очень приятный 12-битный одноканальный ЦАП, интерфейс SPI,
встроенная опора, Vout = 0..4.095 В. Стоит порядка 150-180 р.

Возможно, что-то подобное 16-разрядное.


PS И на выходе экспоненциальный преобразователь на лампе :-)
И схему термокомпенсации на микроконтроллере - измеряем температуру
лампы и корректируем напряжение накала. По табличке. ШИМом :-)
Top
Diz
Дата 16.10.2007 - 21:44
Цитировать сообщение




Unregistered












ќткуда:


Что-то вроде вот этого (см. небрежно-рукописный файл ниже):


Присоединённый файл ( Кол-во скачиваний: 56 )
Присоединённый файл  m2cv_draft.jpg
Top
VARI-MU
Дата 17.10.2007 - 00:17
Цитировать сообщение




Unregistered












ќткуда:


Цитата (Diz @ 16.10.2007 - 21:44)
Что-то вроде вот этого (см. небрежно-рукописный файл ниже):

Вроде все разумно . Можно принять за основу. IMHO.
Top
BSVi
Дата 17.10.2007 - 09:49
Цитировать сообщение




Unregistered












ќткуда:


Да, все ничего так, тока АЦП дорогой. ,У нас стоит 500рур Решение помойму классное и логичное.

А dac6711 вообще в украину не возят - вот крупнейший поставщик
http://imrad.com.ua/search.shtml?qs=dac6711&query=any

Другое дело TDA1543 - доступен всем smile.gif Правда -70дБ шума+искажений (0.018%)

Какие еще ЦАП предложите?

Это сообщение отредактировал BSVi - 17.10.2007 - 10:01
Top
Diz
Дата 17.10.2007 - 10:50
Цитировать сообщение




Unregistered












ќткуда:


BSVi, я ошибся на бумажке - DAC7611, а не DAC6711. По твоей ссылке
он есть, стоит 48 грн. (сколько это в руб, интересно ?).
ЦАП реально хороший, пользовал.

DG408 очень неплохой и дешевый аналоговый мультиплексор.
По твоей ссылке он тоже есть, <10 грн.

Пара моментов по схеме: предполагается, что выходы обновляются
в цикле, с интервалом ~100 мкс (?). Тогда утечкой конденсаторов
можно пренебречь. Обновление вывода делается через промежуточный
выход, 'Dummy'. Переключились на него, загнали нужное значение
в ЦАП, подождали, переключились на нужный выход (напр. Velo).

Bend center - постоянно выводится среднее значение бенда, 2048 при
наших 12 битах. Тогда независимо от усиления ОУ после ЦАПа,
имеем биполярное значение бенда после диф. усилителя.

Glide - не знаю, можно сделать в аналоге, можно и в софте.

После ЦАПа нужен хороший операционник, способный работать на
большую емкостную нагрузку. Есть кандидаты ?
Top
BSVi
Дата 17.10.2007 - 16:57
Цитировать сообщение




Unregistered












ќткуда:


48 грн - 250руб - дороговато.

Можно цап заменить на две штуки 561ИР2 = CD4015A с R-2R цепочками, хоть и позвпрошлый век, но микруши эти найдут даже в новобобруйске. Можно организовать цап на второй меге, мега стоит 8грн (цап- 48грн) и мега есть на каждом углу. Недостаток - нужно прогать два контроллера, что не очень то и большой недостаток. Хотя пожди. У меги8 21юзабельная для нас ножка (кварц нужен обязательно) 12 ножек на ЦАП, одна на миди (отправлять сообщения нам не нужно) осталось 8 ног. 4 низ них - на мультиплексор, 4 осталось на выбор канала/индикацию. Еще можно на меге16, ATmega8535, ATmega8515 все три стоят меньше 15грн и на них ножно сделать полную фцнкциональность девайса.


DG408 - угу, юзали, тока в данном применении можно и
176КТ1 = CD4016, 561КТ3 = CD4066A, 1561КТ3 = CD4066B все они достаточно хороши.

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

Вот например меги 48/88 у нас есть, но обе в TQFP32, в дипе нету. Тут половина народа запаять их не сможет, а остальные испугаются и просто не станут и пытаться...

Это сообщение отредактировал BSVi - 17.10.2007 - 17:08
Top
Diz
Дата 17.10.2007 - 18:13
Цитировать сообщение




Unregistered












ќткуда:


300р. и больше за какую-нибудь лампу не жалко, а за хороший ЦАП жалко ?
:-)

Мое мнение - устройство единичное, плюс-минус десять баксов погоды не
сделают. Зато получаем гарантированные параметры и минимум геморроя.

R2R ЦАП потребует хороших точных резисторов.
Логические мультиплексоры - тоже не вижу смысла экономить 20 рублей.
Характеристики хуже, нужно преобразование логических уровней (еще один
чип), CD4051, CD4066 склонны к защелкиванию при подаче питания.

Повторяемость - если воспринимать как 'собрать из того, что можно купить
в любой лавке', то да, согласен. А если как 'повторяемость от изделия
к изделию', то совсем наоборот.

Насчет проца - можно любой ставить, не принципиально.
Лично для меня TQFP с большим шагом большой плюс :-)

Впрочем, если общественность хочет low-fi вариант, то можно подумать в
эту сторону.
Top
diyfactory
Дата 17.10.2007 - 19:01
Цитировать сообщение




Unregistered












ќткуда:


Лоуфай вариант поддерживаю, но также присоединяюсь что 250 руб за цап не жалко. Важнее действительно повторяемость в том смысле что человек без особых навыков (как то паяние смд и проч) смог сделать даже без понимания что он делает. То есть вытравил, запаял, прошил и готово. biggrin.gif
Top
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Страницы: (9) 1 2 [3] 4 5 ... Последняя » Ответ в темуСоздание новой темыСоздание опроса

 

<% COPYRIGHT %>