MIDI->CV конвертор на Arduino

  • Автор темы Автор темы dugdum®
  • Дата начала Дата начала

dugdum®

Active Member
12 Янв 2005
4.819
2.951
113
Москва, ЮАО
Возникла мысль, а почему бы не сделать такой конвертер для управления аналоговыми синтами. В сети гуглится некоторое количество проектов... Но они все сосредоточены немного на другом - нота, велосити и ещё пара параметров. У меня, к примеру, Behringer Neutron сам всё это понимает, а вот дополнительных возможностей управления из секвенсора может и не помешало бы добавить.
На плате Arduino Nano за 150 рублей из китая можно легким взмахом руки получить 8 выходов CV с диапазоном 0-5В.
Как известно, у миди контроллеров CC всего 256 значений, столько же их и у ЦАП-ов Arduino, но может
быть если на выход поставить небольшую ёмкость она эти ступеньки сгладит. Хотя раньше на синтах мне 256 значений нигде для творчества не мешали.
Если нужен другой диапазон напряжений, то как по простому с помощью операционника их масштабировать?
 
а не 1024? разрядность же 10 бит...

да, соррян, 10 бит. но входной сигнал с контроллера 8-ми битный, значит можно и на программном уровне сглаживание ступенек организовать!
в принципе всё понятно, но интересный вопрос как организовать масштабирование напряжения, если надо
например 0-5В в -9, +9
 
Последнее редактирование:
Ничего сложного. Одним подстроечником в ООС, изменяя глубину этой ООС, подбираете коэф. масштабирования (растягивание /сужение диапазона), а на один из входов подаёте регулируемое напряж. с другого подстроечника (крайние его выводы - к стаб. питанию) - это будет регулировка смещения, "центровка", иначе говоря. Напряж. должно быть хорошо стабилизировано, ОУ прецизионный, что-то типа OP77, OP177 и т.п.
 
у миди СС 128 значений - 7 бит. а у ардуино нано 8 АЦП - это из аналога в цифру. цапы вроде стандартно на шиме, а их у нее вроде бы 2 штуки (мало работал с ардуинами). с помощью всяких 4051 4052 можно собрать 8 или 16 выходов, но работать оно будет очень коряво и медленно, т.к. шим требует очень сильной фильтрации для работы на сэмпл-холд. для ардуинки более менее подойдет этот мультибитный шим - http://www.openmusiclabs.com/learning/digital/pwm-dac/dual-pwm-circuits/.
но он тоже будет коряво работать, если внутри либ руками не перенастроить таймера в более подходящий режим. ну либо без мультиплексирования гонять один или 2 канала.

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

почитайте http://hackabrute.yusynth.net/index_en.php это бесценные материалы по данной теме. в основном потому, что они избавлены от необходимости использования большинства ненужных прецизионных компонентов (напряжение младшего разряда @ 10бит, 3.3В - 3,2мВ, TL072 вполне тянет). с подобными цапами можно работать и ардуиной.

протестировать свой будущий конвертер проще всего здесь - https://www.falstad.com/circuit/
 
@mrf , да, я уже понял что погорячился с ЦАПами на самом ардуино, нет их там. И энтузиазм поубавился.
можно обвесить ардуинку вот такими ЦАПами:
ac3181c68cd7d5d2714663bd76094b19.jpg

они 12 bit, под них есть библиотека и стоят они по 50 рублей из китаю, но надо ждать...
 

Сейчас просматривают