Arduino X9C104

Arduino X9C104
Артикул: 2502874

производитель: Arduino
Требуется установка или ремонт?

сервисный центр Kypidetali!

тел. +7(499)347-04-82

Описание Arduino X9C104

Отличный выбор! X9C104 — это популярный и доступный цифровой потенциометр (цифровой переменный резистор), который часто используется в проектах на Arduino для замены механических подстроечных резисторов и потенциометров.

Описание и принцип работы

X9C104 — это интегральная схема (ИС), которая эмулирует работу обычного потенциометра (например, на 100 кОм), но управляется цифровыми сигналами. Внутри находится массив из 99 резистивных элементов и 100 отводов (тайп-пойнтов). Микроконтроллер (например, Arduino) может с помощью 3-х проводов перемещать "движок" по этим отводам, меняя сопротивление между средним выводом и крайними.

Ключевая идея: Вы можете программно менять сопротивление, создавая регулируемые делители напряжения, настраивая усиление, яркость, частоту и т.д., без физического поворота ручки.

Основные преимущества при использовании с Arduino:

  • Цифровое управление: Позволяет создавать системы с автоматической настройкой, удалённым управлением, сохранением положения в энергонезависимой памяти.
  • Компактность и надежность: Отсутствие движущихся частей (кроме электронных ключей) повышает стойкость к вибрациям и износу.
  • Повторяемость: Микроконтроллер всегда может установить точное, заранее известное положение.

Технические характеристики X9C104

| Параметр | Значение / Описание | | :--- | :--- | | Полное сопротивление (Rtotal) | 100 кОм (обозначение "104" = 10 * 10^4 Ом) | | Количество шагов | 99 резисторов, 100 позиций (включая крайние) | | Разрешение шага | ~1% от полного сопротивления (~1.01 кОм на шаг) | | Интерфейс управления | 3-проводной (Up/Down, Increment, Chip Select) — похож на SPI. | | Встроенная память | EEPROM (Non-Volatile Memory). Сохраняет последнее положение при выключении питания и автоматически восстанавливает его при включении. | | Напряжение питания (Vcc) | от +3В до +5.5В (идеально совместимо с 5V и 3.3V логикой Arduino) | | Диапазон сигнальных напряжений (Vh/Vl)| От -5В до +5В относительно Vss (может работать с биполярными сигналами в пределах). | | Стабильность при переключении | 0.2% (тип.) | | Срок сохранения данных в EEPROM | 100 лет (тип.) | | Количество циклов перезаписи EEPROM | 1,000,000 циклов (тип.) | | Типичное время инкремента | ~1 мс на шаг (важно для плавного изменения в коде) | | Температурный диапазон | Коммерческий (0°C to +70°C) | | Корпус | Обычно DIP-8 или SOIC-8 (удобно для макетных плат). |

Распиновка (DIP-8):

  1. INC (Increment) — Тактовый вход. Каждый спад импульса сдвигает движок на 1 шаг.
  2. U/D (Up/Down) — Направление. HIGH = увеличение сопротивления между Rw и RL, LOW = уменьшение.
  3. VH / Rw (Wiper) — Вывод "движка" потенциометра. Аналог среднего вывода.
  4. VSS (Ground) — Общий вывод ("земля"), нижний по схеме.
  5. RL (Low) — Нижний вывод резистора.
  6. RH (High) — Верхний вывод резистора.
  7. CS (Chip Select) — Активный низкий уровень. Чтобы начать изменение, нужно установить LOW, по окончании — HIGH (сохраняет положение).
  8. VCC (+5V) — Питание.

Парт-номера и совместимые модели

X9C104 — это конкретная модель из целого семейства цифровых потенциометров X9Cxxx. Различаются они только номиналом полного сопротивления.

Прямые аналоги (тот же корпус, интерфейс, характеристики, кроме Rtotal):

  • X9C102 — 1 кОм
  • X9C103 — 10 кОм (самый популярный аналог)
  • X9C503 — 50 кОм
  • X9C104 — 100 кОм
  • X9C504 — 500 кОм (встречается реже)

Важно: Модели с одинаковым интерфейсом (X9Cxxx) являются полностью взаимозаменяемыми по выводам и управлению в вашем коде Arduino. Нужно только учитывать другое максимальное сопротивление в схеме.

Совместимые по выводам и логике управления (DIP-8, 3-проводной интерфейс):

  • MCP41xxx / MCP42xxx от Microchip (например, MCP41010 — 10 кОм). Внимание: У них другой алгоритм управления (полноценный SPI), но физически они в том же корпусе. Код для X9C104 с ними не подойдет.
  • AD5206 от Analog Devices (6-канальный, SPI). Не является прямой заменой, но выполняет ту же функцию.

Для поиска на маркетплейсах и в магазинах используйте:

  • Основное название: X9C104
  • Ключевые слова: цифровой потенциометр 100к, digital potentiometer 100k, X9C104 модуль
  • Поиск модулей: Чаще всего продается в виде готового модуля для Arduino с распаянной микросхемой, керамическими конденсаторами и удобной обвязкой. Ищите: X9C104 module, модуль цифровой потенциометр.

Краткий пример подключения к Arduino

| X9C104 (модуль) | Arduino (пины) | | :--- | :--- | | VCC | 5V | | VSS (GND) | GND | | CS | D10 (любой цифровой) | | INC | D9 (любой цифровой) | | U/D | D8 (любой цифровой) | | RH | К источнику опорного напряжения | | RL | В GND (или отрицательный полюс) | | RW | Выход (подается на измеряемую цепь) |

Простейший скетч (шаблон):

// Определяем пины
#define CS_PIN 10
#define INC_PIN 9
#define UD_PIN 8

void setup() {
  pinMode(CS_PIN, OUTPUT);
  pinMode(INC_PIN, OUTPUT);
  pinMode(UD_PIN, OUTPUT);
  digitalWrite(CS_PIN, HIGH); // Деактивируем чип
}

void setResistance(int steps) {
  // steps: от 0 (мин. сопротивление) до 99 (макс. сопротивление)
  steps = constrain(steps, 0, 99);

  digitalWrite(CS_PIN, LOW); // Начинаем сеанс изменения
  digitalWrite(UD_PIN, (steps > 0) ? HIGH : LOW); // Задаем направление. Здесь упрощенно.

  for (int i = 0; i < steps; i++) {
    digitalWrite(INC_PIN, HIGH);
    delayMicroseconds(10); // Короткая пауза
    digitalWrite(INC_PIN, LOW);
    delay(1); // Важно! Даем время на переключение (~1 мс)
  }

  digitalWrite(CS_PIN, HIGH); // Сохраняем положение в EEPROM
}

void loop() {
  // Плавно меняем сопротивление от минимума до максимума
  for (int i = 0; i < 100; i++) {
    setResistance(i);
    delay(50);
  }
}

Вывод: X9C104 — это простое, эффективное и недорогое решение для цифрового управления аналоговыми сигналами в проектах Arduino. Его прямые аналоги (X9C103, X9C102) легко найти, и они подключаются идентично.

Совместимые модели для Arduino X9C104

Arduino X9C104