For Denis

Важное уточнение по чипам:
TDA2322 — это аналоговый предусилитель с электронной регулировкой громкости (управление напряжением 0–5В на выводе 8), не имеющий I2C. TDA2323 — вероятно, опечатка (существует TDA2822 — усилитель мощности, или TDA1524 — темброблок).

Чтобы управлять ими по шине I2C, необходимы цифровые потенциометры (MCP4018/PCA953x). Ниже приведены два решения:

  1. Рекомендуемое — на аудиопроцессоре PT2314 (всё управление по I2C в одном корпусе).
  2. По вашему запросу — каскад TDA2322 (громкость) + TDA2822 (мощность) с управлением через Arduino и цифровые потенциометры MCP4018.

1. Рекомендуемая схема (PT2314 + PAM8403)

Питание 5В, диапазон 20Гц–20кГц, полное управление по I2C.

Компоненты:

КомпонентФункцияПараметры
Arduino Nano/Pro MiniКонтроллер I2C (Master)5В, SDA=A4, SCL=A5
PT2314 (Princeton Tech)Аудиопроцессор: громкость (0–63дБ), тембр НЧ/ВЧ (±14дБ), 4 входаI2C-адрес 0x44, питание 5В
PAM8403Усилитель мощности класса D2×3Вт, 5В, стерео
Керамические конденсаторыБлокировка питания100нФ (входы питания каждого чипа)
ЭлектролитыСвязь и фильтрация питания10µF/16В (аудио), 470µF/10В (питание)

Принцип работы I2C:

PT2314 имеет фиксированный адрес 0x44 (или 0x45 при подтяжке адресного пина). Управление осуществляется отправкой 2-байтных команд:

  • Громкость: байт 0x000x3F (0 = макс., 63 = мин.)
  • Бас: байт 0x600x6F (0x67 = 0дБ, центральное положение)
  • ВЧ: байт 0x400x4F (0x47 = 0дБ)
  • Переключение входов/баланса: отдельные регистры

ASCII-схема (PT2314):

                     +5V
                      |
                   [100nF]
                      |
[AUX IN L]---+------[PT2314]------+----[PAM8403 L IN]----+
             |   (Audio Processor) |    (Class D Amp)     |
[AUX IN R]---+       | I2C         +----[PAM8403 R IN]----+----[L Speaker]
                      |                                |
[Arduino]             |                                +----[R Speaker]
  |                   |
[A4/SDA]--------------+                                +5V
  |                   |                                 |
[A5/SCL]--------------+                              [100nF]
                      |                                 |
                    [GND]-------------------------------GND

2. Схема на TDA2322 + TDA2822 с I2C-управлением

Здесь TDA2322 управляется напряжением с цифрового потенциометра, а тембры реализованы на отдельных ОУ с цифровыми резисторами.

Компоненты:

КомпонентНазначение
TDA2322Предусилитель с электронной регулировкой громкости (Pin 8 = 0–5В)
TDA2822MУсилитель мощности 2×1Вт
MCP4018-103 (3 шт.)Цифровой потенциометр 10к, I2C. Адреса: 0x2C, 0x2D, 0x2E (зависит от ADDR pin)
LM833NДвойной ОУ для активных фильтров тембра
R, CЗадают частоты фильтров (см. ниже)

Принцип управления:

  1. Громкость: MCP4018-1 работает как делитель 5В. Его средний вывод (Wiper) подключён к Pin 8 TDA2322. Изменение сопротивления меняет напряжение 0–5В, что меняет усиление TDA2322 (-80дБ…+20дБ).
  2. Бас/ВЧ: Два других MCP4018 включены в цепи обратной связи ОУ LM833, образуя активные фильтры с регулируемым усилением/ослаблением.

Механизм I2C:

  • MCP4018 использует простой протокол: Start → Адрес+W → Byte Data (0-127) → Stop
  • Адреса задаются подключением ADDR пина: NC=0x2C, VCC=0x2D, GND=0x2E, SCL=0x2F

ASCII-схема (TDA2322 + TDA2822):

[Arduino Nano]
   |
   |--[I2C: SDA]----+-------+-------+
   |                |       |       |
   |--[I2C: SCL]----+       |       |
   |            [MCP4018-1][MCP4018-2][MCP4018-3]
   |            (Volume)   (Bass)    (Treble)
   |                |       |       |
   |                |       |       +--[Wiper]--+
   |                |       +--[Wiper]--+        |
   |                +--[Wiper]--+       |        |
   |                         |       [R2]      [R4]
   |                        [R1]      |         |
   |                         |       [C2]      [C4]
   |                         |         |         |
[Audio In]                 [Pin 8    [OpAmp    [OpAmp
 (L/R)]                      TDA2322] LM833-1] LM833-2]
   |                             |         |         |
   +--[Cin 10µF]---+            |         |         |
                   |            |         |         |
                [TDA2322]-------+         +---------+
 (Stereo Preamp)   |                                |
   |              [Out L/R]                         |
   |                |                                |
   +----------------+--------------------------------+
                    |
              [TDA2822M]
           (Power Amp 2×1W)
                    |
              [Speakers]

Деталировка фильтров (LM833):

Бас (НЧ, 100Гц):
Повторитель с усилением на инвертирующем ОУ. Цифровой потенциометр MCP4018-2 стоит в цепи обратной связи между выходом и инвертирующим входом.

  • Конденсатор C2 = 0.22µF (с верхним срезом)
  • R2 = 10кΩ (с цифровым потом образуют делитель)

Высокие (ВЧ, 10кГц):
Дифференцирующее звено с переменным коэффициентом.

  • C4 = 4.7nF
  • R4 = 10кΩ

3. Пример кода Arduino

cppКопировать код#include <Wire.h>

// Адреса MCP4018 (зависит от подключения ADDR пина)
#define POT_VOL   0x2C  // NC
#define POT_BASS  0x2D  // VCC
#define POT_TREB  0x2E  // GND

// Для PT2314 (если используете 1-й вариант)
#define PT2314    0x44  

void setup() {
  Wire.begin(); // SDA=A4, SCL=A5
  Serial.begin(9600);
  
  // Инициализация: средняя громкость, flat тембр
  setDigitalPot(POT_VOL, 64);   // 50% (2.5В на Pin8 TDA2322)
  setDigitalPot(POT_BASS, 64);  // 0дБ
  setDigitalPot(POT_TREB, 64);
}

// Управление MCP4018 (0-127)
void setDigitalPot(byte address, byte value) {
  Wire.beginTransmission(address);
  Wire.write(value & 0x7F); // 7bit значение
  Wire.endTransmission();
}

// Для PT2314 (Вариант 1)
void setPT2314Volume(byte vol) { // 0-63
  Wire.beginTransmission(PT2314);
  Wire.write(vol & 0x3F);
  Wire.endTransmission();
}

void loop() {
  // Пример: плавное изменение громкости
  static byte vol = 0;
  setDigitalPot(POT_VOL, vol); // или setPT2314Volume(vol)
  vol = (vol + 1) % 128;
  delay(100);
}

4. Рекомендации по разводке

  1. Питание: Разделите цифровую (+5В Arduino) и аналоговую землю (звук). Соединяйте в одной точке у источника питания.
  2. Развязка: Каждый чип (TDA2322, TDA2822, MCP4018) требует керамический конденсатор 100нФ между VCC и GND непосредственно у корпуса.
  3. Сигнальные цепи: Используйте экранированный кабель для аудио. Линии I2C (SDA/SCL) нуждаются в подтяжке 4.7кΩ к +5В.
  4. Защита: Установите защитные диоды (1N4148) на аналоговых входах TDA2322 на случай статики.

Вывод: Для точной настройки 20Гц–20кГц при 5В лучше использовать PT2314 (Вариант 1) — меньше компонентов, меньше шумов, точная цифровая регулировка. Вариант с TDA2322 интересен для понимания аналого-цифрового интерфейса, но требует точной подгонки аналоговых фильтров.

Leave a Reply

Your email address will not be published. Required fields are marked *