Полезное

пятница, 6 декабря 2013 г.

Цифровой VU-meter ИН-13

Автор: Myxomop
Лампа: ИН-13
Схема: есть ( PIC 12F683)
Плата:нет   
Прошивка:есть
Исходник:есть ( ASM )
Описание: есть
                                                                   Ссылка первоисточник: ---
Особенности:  цифровой VU-meter стерео, 2 вида шкалы (линейная и экспоненциальная).



Схема:


              После долгих поисков, наконец, попались в руки 2 штуки ИН-13. Решил сделать шкалу - индикатор уровня (VU-meter). Схему придумал сам из готовых кусков от чужих проектов. Она проста до безобразия. Аудио сигнал идет на усилитель - выпрямитель (IC3) - сглаживатель R2C8 (R5C13) и затем на вход АЦП МК. МК практически ничего не делает :), просто измеряет значение на входе АЦП и формирует ШИМ пропорционально измеренному значению для управления индикаторами на драйверах IC5 VT2,VT3. Также МК формирует меандр для высоковольтного преобразователя.

Девайс в процесе наладки-отладки 

         На фото видна доп. плата, которая изначально не планировалась. Дело в том, что высоковольтный преобразователь я хотел сделать по такой схеме - обратная связь идет на МК и генерит прерывание по изменению состояния ноги порта. Если 0 - ШИМ включаем, 1 - выключаем.

  

 Прикол в том, что схема эта абсолютно рабочая и прекрасно работает. Сначала я запилил её на макетке для теста и все отлично работало. Жопа вылезла уже на готовой плате в окончательном варианте. И заключалась она в том, что прерывание на обратной связи вызывалось настолько часто, что просто "забивало" прерывание от таймера для формирования программного ШИМа индикаторов. А тут еще выяснилось, что и сами индикаторы очень чувствительны к точности ШИМа. Визуально это выглядело как дрожание длины светящегося столбика на 5-10 мм, что очень много. Сначала переписал прогу, выкинув прерывание по изменению уровня, и вставил проверку состояния ноги ОС преобразователя в процедуру обработки прерывания от таймера (которое используется для генерации ШИМа индикаторов). Естественно, в этом случае реагирование на изменение выходного высокого напряжения происходило не сразу, а с некоторой задержкой. Практически высокое плавало в пределах всего 1-3 вольта и совсем не отражалось на длине и яркости горящего столбика. Но в итоге я по некоторым причинам опять переписал прогу формирования ШИМа для индикаторов и этот способ регулировки высокого тоже оказался непригодным. Поматерившись минут 5-10 :) принял волевое решение сделать аппаратную ОС в виде довеска на дополнительной плате. К тому же на основной плате под силовой ключ был разведен мосфет SFS9410 в соике (SO-8 корпусе), а пока я налаживал всю эту хрень, сжег 2 штуки и больше в таком корпусе у меня их не нашлось. В результате и появился этот уродский довесок, который вы видите на фотке.

 Трансформатор взял от вспышки из кетайской пленочной фотомыльницы. Естественно, с разборкой и перемоткой. По размерам это примерно кубик 1x1x1см. Очень маленький, но работает без проблем. Если кто решит повторить этот девайс, возможно потребуецо изменить параметры ШИМа под конкретный транс. Я тут выкладываю исходники, в них надо будет при необходимости изменить данные периода (PWMperiod) и скважности (PWMdtcycle). Период считается по формуле PWMperiod=int(2000000/F)-1, где F - частота ШИМа в Гц. Я подбирал конкретные цифры по минимальному току потребления и чтоб напряжение не просаживалось при макс. нагрузке (такое было, когда я в борьбе за минимальное потребление слишком сильно уменьшил скважность). У меня получилось общее потребление всей схемы при длине светящихся столбиков 5 мм около 40 mA. При максимальной нагрузке (оба индикатора светятся на всю длину) ток возрастал до 138 mA. 

 Скриншот из симулятора. Вверху ШИМ на высокое. В середине ШИМ для максимального значения АЦП (255), внизу для минимального (1). При 0 естественно всегда 0. 
Когда я уже наслаждался рабочим девайсом, заметил одну интересную хрень. Бывают мелодии вроде медленные-спокойные, а индикатор очень хорошо колбасит взад вперед, а бывают такие быстрые, ритмичные мелодии, а индикатор очень слабо и вяло реагирует на них. Х.з. Появилась идея запилить еще логарифмическую шкалу. А переключаться между линейной/логарифмической шкалой как раз через освободившуюся ногу от неудавшейся ОС высокого. Так что щас если GP3=0 - шкала линейная, 1 - логарифмическая. 
 Вот на этом видео сравнение работы на линейной шкале и логарифмической. Я думал движение будет более динамичное, но получилось то что получилось. На самом деле график зависимости можно сделать вообще любого вида, сами значения лежат в отдельном файле ls.inc. 


 Еще одна фича девайса - если в течении примерно 45 сек. уровень сигнала не поднимаеца выше определенного (типа тишина), индикаторы выключаются. Точнее выключаеца HV преобразователь. Уровень выключения записан в EEPROM по адресу 0. В приложенном архиве стоит уровень 5. У меня при значении 4 выключалось не всегда (шумы наверно), а при 5 уже всегда. Если поставить 0, проверка тишины не происходит и индикаторы горят всегда.

Собранный девайс желательно настроить. Я понятия не именю, как это надо делать по уму. Напишу как настраивал я. Скажу сразу, настройка очень примерная. Беда еще в том, что индкаторы ИН-13 имеют очень большой разброс параметров сами по себе. Перед сборкой я делал тестовые включения и оказалось, что ток достаточный для полной шкалы на одном из индикаторов, на втором индикаторе давал свечение лишь до половины шкалы. Возможно раньше на заводах их как-то подбирали парами по примерно одинаковому току, х.з. У меня полюбому такой возможности не было, ибо в наличии имелось всего 2 индикатора найденные с большим трудом. Настройку делал так. Сначала отключил входные усилители (снял перемычки с разъема ICSP) и замкнул эти входы на землю. Резисторами R16 и R17 надо установить уровень 0 - я выбрал его примерно 3-5 мм светящейся шкалы. Хотя надо бы его сделать до красной полосы (типа там начинаеца линейный участок шкалы). Далее ставим перемычки назад и на вход подаем максимальный сигнал. Резисторами R4 и R9 устанавливаем длину столбика в конце индикатора. В качестве источника я использовал комп и прогу-генератор синуса. К сожалению, добиться одинаковой длины при одинаковых промежуточных уровнях сигнала очень трудно. У меня разница столбцов доходила до 1-1,5см в зависимости от уровня, частоты и формы сигнала. Но в реальных условиях на музыке это особо не заметно, в конце-концов это же не точный измерительный прибор, а просто красивый газоразрядный индикатор с теплым светом для души . А, забыл, сперва надо выставить с помощью R11 высокое напряжение около 150-160 вольт.

 Несколько фоток готового девайса. Осталось только собрать усилок, куда его можно будет засунуть :) Изначально я хотел его вставить в комп в 5" отсек, но ИН-13 оказались чуть длинее и не влезли туда. 


 Видео работы готового девайса 


Исходник + HEX

От себя: хочу повторить эту ВУ, есть интересные задумки по корпусу. Первый квартал следующего года покажет будет ли на это время ....

Комментариев нет:

Отправить комментарий