STM32F0xx & TDA8425. Проект блока керування аудіопроцесором.

IMG_20170527_205210.gif

Викладаю, на розсуд співтовариства, проект блока керування аудіопроцесором TDA8425 на мікроконтролері STM32F030F4P6 із дистанційним керуванням пультом(RC5) та дисплеєм сумісним HD44780. Початкові налаштування виконанні при допомозі “фірмового” кодогенератора від STMicroelectronics – CubeMX, та в якості компілятора використано Keil uVision 5. Доречі, для серії STM32F0xx, ця программа, без обмежень по величині коду.

Основні налаштування можливо виконувати при допомозі енкодера із кнопкою. Сюди входе:

  • регулювання гучності (vol);
  • регулювання тембра (bass & treble);
  • перемикання входів (AUX RADIO);

Все це, та також інші “плюшки” налаштовуються із пульта RC5:

  • регулювання гучності (vol);
  • регулювання тембра (bass & treble);
  • перемикання входів (AUX  RADIO);
  • перемикання режимів – лінійне, розширене та псевдо-стерео, а також моно.
  • вмикання-вимикання підсвітки дисплея;
  • режим “MUTE”;
  • налаштування годинника;

При створенні проекта було поставлено за мету максимально здешевити вартість комплектуючих. Про сам мікроконтролер STM32F030F4P6 годі і говорити, він найдешевший із STM32, в Китаї їх можна купити навіть по 0,5$ за штучку, в Україні десь за один бакс. Контролер має корпус TSOP20, 16 Kbytes флеш-пам’яті та 4 Kbytes SRAM

stm32f030f4

Дисплей використано теж один із найдешевших на даний момент на багатьох торгівельних площадках, на контролері сумісному HD44780, на задній стороні напис QAPASS 1602A. Саме під такий дисплей розроблена плата і саме по цій-же причині проект непідтримує кирилицю, оскільки її не підтримує  дисплей.

            Без названия      images

Сталось так, що я вже колись пробував збирати подібну конструкцію із цим “аудіопроцом” . Вона була виконана на мікроконтролері Atmega8… Від неї залишилась плата аудіопроцесора  із типовою схемою. І саме вона дала старт проекту.

         1293212807_02

Принципова схема. Голубим кольором позначено діод та резистор, призначені для підзарядки батарейки RTC DS3231. Особисто я їх не впаював, але на платі місце під них є. Чому саме із 5V? Десь читав, що для підзарядки елемента CR2032 потрібна напруга 4,2V…

tda8425&stm32f030f4

Плата & Board. Плата розроблена трохи на “швидку руку”, невеликі баги вивлені мною уже виправлені. Більшість деталей DIP-виконання, SMD тільки сам МК STM32F030F4P6, мікросхема годинника реального часу DS3231 та стабілізатор напруги 1117 на 3,3V.

Плату сам не травив, скористався послугами людей, які роблять плати на замовлення. Файно хлопці зробили та недорого, приблизно за 1,5$ шт + доставка… За такі гроші звісно без маски, просто “залужене” та на мою думку, для бюджетного любительского проекта саме те… Один ньюанс виник тільки з тримачем батарейки для годинника, було використано макрос в SMD-виконанні із програми Sprint-Layout 6.0, та на практиці такого розміру не знайшов, тож прийшлось трохи “попрацювати терпухом”…

lay_vol

lay fon

Програмування МК. На платі передбачено обидва варіанти прошивки, як через SWD-інтерфейс програматором ST-Link V2 так і через UART любим перехідником USB-UART, наприклад на мікросхемі PL2303. Потрібно правильно поставити перемичку(на фото позначено стрілкою), на масу(GND) при SWD програмуванні, чи плюс через резистор 100 Ом від IR-приймача при прошивці через UART.

IMG_20170514_184359.gif

Деталей небагато, паяється досить швидко. Фото без встановленого IR-приймача.

IMG_20170516_171002.gif

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

IMG_20170516_170928.gif

Трохи фоток. Режими перемикаються за допомогою кнопки енкодера, режим регулювання гучності:

IMG_20170527_205227

Режим регулювання басів:

IMG_20170527_205239

Режим регулювання високих частот:

IMG_20170527_205319

Режим селектора входів, вправо-вліво енкодером перемикання:

IMG_20170527_205329

Перемикаємо на інший вхід:

IMG_20170527_205338

Знову режим регулювання гучності:

IMG_20170527_205349

Пульт підходить із кодуванням RC5, хоча в мене трудиться пульт із написом Вр6 (судячи з усього це RC6), всерівно не всі кнопки задіяні.

IMG_20170527_205305

 Прошивка та проект для CubeMX & Keil5 – тут.

Сам HEX для прошивки МК знаходиться в архіві за адресою –

…stm32f030_tda8425_v2\MDK-ARM\stm32f030_tda8425_v2\stm32f030_tda8425_v2.hex

Плата в форматі Lay – тут.

Джерела:

[1] – обробник RC5

[2] – обробник енкодера

[3] – бібліотека дисплея

Advertisements
Опубліковано у STM32. Додати до закладок постійне посилання.

2 Responses to STM32F0xx & TDA8425. Проект блока керування аудіопроцесором.

  1. Чудова стаття! Шкода що мені не треба керувати аудіопроцесором 🙂 А то б зробив.
    В тексті є “попрацювати напильником”, може краще таки “попрацювати терпухом”?

    Вподобано 1 особа

Залишити відповідь

Заповніть поля нижче або авторизуйтесь клікнувши по іконці

Лого WordPress.com

Ви коментуєте, використовуючи свій обліковий запис WordPress.com. Log Out / Змінити )

Twitter picture

Ви коментуєте, використовуючи свій обліковий запис Twitter. Log Out / Змінити )

Facebook photo

Ви коментуєте, використовуючи свій обліковий запис Facebook. Log Out / Змінити )

Google+ photo

Ви коментуєте, використовуючи свій обліковий запис Google+. Log Out / Змінити )

З’єднання з %s