Звуковий процесор для підсилювача

Мій варіант звукового процесора на основі мікросхеми TDA7318 спеціально її не вибирав - вона у мене лежала без діла вже дуже давно, ось і вирішив застосувати. Мікроконтролер вибрав ATmega16 - через доступність, кількість портів і простоту в роботі з ним. Особливих вимог до пристрою не висувалося, це повинен бути просто регулятор гучності та тембру з вибором джерела сигналу та не хитрою автоматикою.

звуковий

Звуковий процесор для підсилювача складається з 3 частин - основна плата з самим звуковим процесором та мікроконтролером, клавіатура та дисплей.

Як я вже сказав раніше, як звуковий процесор використовується TDA7318. Чесно кажучи його характеристики далекі від ідеальних, та й відгуки за якістю не найприємніші, але все ж таки, зі своїми функціями він справляється. Якщо немає TDA7318, можна сміливо замінити на TDA7313 - це повністю сумісні мікросхеми за винятком кількості входів, TDA7313 їх всього три і максимальний ступінь посилення буде 11.25дб замість 18.75дб.

ATmega16 - у стандартному включенні, три порти мікроконтролера майже повністю використані. Програмування здійснюється через ISP роз'єм, до роботи програматора доданий кварцовий резонатор, у звичайному режимі не використовується, а микроконтроллер тактується від внутрішнього RC генератора 8МГц. Він потрібен тільки на той випадок, якщо ви будете використовувати мікроконтролер, зашитий на роботу від зовнішнього кварцового резонатора, у нових мікроконтролерів фьюзи зазвичай виставлені на роботу від вбудованого RC генератора і кварцовий резонатор тоді не знадобиться взагалі.

На принциповій схемі можна побачити термодатчик DS18B20 та вентилятор. Я їх запровадив спеціально для примусового охолодження підсилювача. Термодатчик встановлюємо на радіатор, якомога ближче доTDA7294, а вентилятор направляємо на ребра радіатора. При перевищенні температури заданої в програмі вентилятор включається за допомогою ШІМ і в залежності від ступеня нагріву змінює свою швидкість обертання. Температура визначається через меню підсилювача і може бути виставлена ​​від +30 до +70 градусів з кроком в 2 градуси.

Також за допомогою ШІМ змінюється яскравість підсвічування дисплея. Як ключі використовуються польові ключі IRFD110. Можна використати будь-які інші з p-каналом.

Окремо хочу розповісти про клавіатуру. Робити банальні кнопки не хотів, та й у голові давно був задум зробити клавіші з підсвічуванням. Як я вже писав у статті про підсилювач на TDA7294 корпусом поділився старий генератор Г6-37 знищений вандалами в гонитві за дорогоцінними металами. Саме під цей корпус розроблялася передня панель. Матеріалом послужило оргскло, як найдоступніший і легко оброблюваний матеріал, хоча спочатку хотів використовувати алюміній. Лазерною різкою, по кресленнях були вирізані панель, клавіші та гравіювання на них, а також пластина з 1мм оргскла під кнопки та шайби для встановлення плати клавіатури на панель. Пластина з 1мм оргскла виконує роль пружини, до неї приклеєні дихлоретаном клавіші, а з внутрішньої сторони наклеєна світлорозсіювальна плівка від РК панелей, що відслужили. Під клавішами на шайбах встановлюється плата клавіатури з кнопками та світлодіодами підсвічування. При натисканні на клавішу вона натискає на мікрокнопку на платі, а при відпусканні - пружна платівка повертає клавішу обатно. Під усіма клавішами на платі розташовані світлодіоди, по одному білому на кожну кнопку і червоні під кнопками вибору джерела сигналу.

звуковий
підсилювача
процесор
підсилювача

Дисплей служить для виведення службової інформації та здійснення налаштувань. Використаний 4-х рядковий по 16символів у рядку WH1604B фірми Winstar. Спочатку передбачалося використовувати графічний 128х64, але пізніше відмовився через його низьку доцільність. Чому саме 4 рядки? За ціною не набагато дорожче двох малих, але при цьому, інформації можна вивести вдвічі більше, контролер у ньому ST7066, сумісний за командами зі звичним HD44780.

підсилювача
процесор
звуковий
процесор

Апаратну частину розглянули тепер про програмну частину. Прошивку писав з нуля, не використовуючи "чужих" готових кодів. Так простіше і самому розібратися і менше шансів наробити помилки.

Звуковий процесор для підсилювача працює за наступним алгоритмом.

У момент увімкнення пристрою відбувається ініціалізація пристроїв на шині 1-wire, i2c шини та LCD дисплея.

Для перевірки працездатності яскравість підсвічування дисплея встановлюється на 50%, а вентилятор короткочасно включається на 100%.

Далі перевіряється наявність температурних датчиків на шині 1-wire. Якщо температурний датчик DS18B20 не виявлено, виводиться попередження.

звуковий

ERROR! DS18B20 не налаштовано або не налаштовано. FAN speed – 100%. (Помилка! DS18B20 несправний або не встановлений, швидкість обертання вентилятора – 100%)

У цьому випадку, якщо температурний датчик несправний або не встановлений вентилятор охолодження підсилювача працюватиме постійно і на максимальній швидкості обертання. Це має захистити від перегріву підсилювач якщо ви все-таки його використовуватимете без температурного датчика.

Потім з EEPROM пам'яті мікроконтролера завантажуються збережені параметри підсилювача (гучність, тембр НЧ, тембр ВЧ, посилення, номер входу, яскравість підсвічування дисплея, збережений поріг включення вентилятора) і завантажуються в TDA7318 протоколу i2c.

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

процесор

AUDIO AMPLIFIER – підсилювач звуку HW4.0 SW1.1 – четверта версія заліза та версія прошивки 1.1 System starting – старт системи Loading settings – завантаження налаштувань.

Якщо підсилювач включається вперше, то в EEPROM пам'яті нічого не збережено і TDA7318 можуть завантажитися невірні дані. У цьому випадку, при першому включенні підсилювача після складання необхідно в момент включення натиснути та утримувати кнопку “SET/MENU” і в момент ініціалізації в пам'ять мікроконтролера будуть записані налаштування за замовчуванням (Гучність - -75db, тембр НЧ - 0db, тембр ВЧ - 0db, посилення – 0db, джерело сигналу – Line 1, яскравість підсвічування – 50%, температура увімкнення вентилятора – 50 градусів). Або можна пробігтися меню і встановити всі значення вручну.

При завантаженні значень за промовчанням на екран відображається відповідний напис.

підсилювача

Saving defaults – збереження стандартних налаштувань.

Потім виводиться головний екран підсилювача.

процесор

Виводиться поточне значення гучності в умовних одиницях та відповідне їм згасання сигналу в децибелах, поточна температура підсилювача в градусах Цельсія (якщо датчика немає – завжди виводиться 0). І четвертим рядком відображається вхід джерела сигналу.

Одночасно світиться світлодіод під кнопкою вибраного джерела сигналу.

Перебуваючи в головному меню і натискаючи на кнопки Line1 – Line4 можна вибрати бажаний номер джерела сигналу, одночасно змінюватиметься відповідний напис на дисплеї та загориться світлодіод вибраного каналу.

(При викликі основного меню, при зміні гучності, балансу, яскравості підсвічування тощо мінятиджерело сигналу не можна).

При натисканні на кнопки вгору і вниз викликається меню гучності.

процесор

Рівень гучності виводиться як і умовних одиницях і децибелах. Плюс, додатково у вигляді наочної шкали. При натисканні кнопки вгору гучність збільшується, при натисканні кнопки вниз відповідно зменшується. При зміні гучності нове значення відразу надсилається TDA7318 і гучність змінюється відразу. При натисканні на кнопку SET/MENU – поточне значення запам'ятовується та зберігається у пам'яті мікроконтролера. Те саме відбувається, якщо ви не натискали кнопок протягом приблизно 10 сек. На екран виводиться смуга, що біжить, і напис Data stored – дані збережені.

процесор

При натисканні кнопки SET/MENU – переходимо до основного меню підсилювача. Тут є 6 опцій - Volume - гучність, Bass - тембр НЧ, Treble - тембр ВЧ, Signal gain - посилення сигналу, Backlight - яскравість підсвічування дисплея, Fan on temp - температура включення вентилятора.

Перехід між опціями здійснюється кнопками вгору та вниз, вибір опції – кнопкою SET/MENU, цією ж кнопкою - підтвердження змін та вихід назад у меню. У результатізвуковий процесор для підсилювача фактично управляється всього трьома кнопками.

Перший пункт – гучність, ми його вже розглянули раніше, потім іде Bass – тембр НЧ. Тембр ми можемо змінювати від -14db до +14db з 16 кроками. Причому через особливості мікросхеми значень 0db – два. Опція Тембр ВЧ – Treble така сама як і для НЧ.

Зміна налаштувань здійснюється так само, як і в гучності.

процесор
підсилювача

Потім іде опція – Signal gain – посилення сигналу. TDA7318 має підсилювач із 4-ма фіксованими значеннями – 0db, +6.25db, +12.5db, +18.75db. Цими значеннями ми і можемо керувати виставляючи будь-яке зчотирьох.

звуковий

Наступна опція – Backlight – підсвічування.

Тут можна налаштувати яскравість підсвічування дисплея. Кроків налаштування яскравості – 25, дані виводяться у шістнадцятковому вигляді.

звуковий

Остання опція – Fan ON temp – температура увімкнення вентилятора.

Налаштувати температуру включення вентилятора можна від +30 до +70 градусів за Цельсієм з кроком 2 градуси.

Поскільки вентилятором я керую за допомогою ШІМ – це означає, що можна регулювати швидкість його обертання. Так би мовити, розумний ШІМ.

Коли температура підсилювача менша за виставлене значення на 6 градусів – вентилятор включається на 50%

Коли менше на 3 градуси – вентилятор вмикається на 75%

Коли температура підсилювача дорівнює виставленій – вентилятор вмикається на 100%

А якщо температура підсилювача перевищує виставлену на 5 градусів – вентилятор вмикається на 100% і одночасно гучність зменшується до максимального значення –78.75db

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

Як видно, у "легкому" режимі вентилятор працює на 50-ти відсотках від номіналу, хотілося зробити 30%, але на практиці виявилося, що не всі вентилятори стабільно стартують при такому значенні, тому було обрано саме 50% для стабільного запуску майже всіх вентиляторів.

процесор

Далі опції повторюються по колу. Перехід до головного екрана відбувається автоматично після приблизно 10 секунд бездіяльності.

Fuse bits можна розставити за допомогою цієї картинки.

процесор

Висловлюю велику подяку Агешину Андріюза допомогу у виготовленні гарних плат методом ЛУТу.