Статья: Цифровой потенциометр X9C

Рассмотрим управление цифровым потенциометром X9C (X9C102, X9C103, X9C503, X9C104) с помощью Arduino, а также то, какие области применения могут быть у данного устройства.

Описание цифрового потенциометра типа X9C

Потенциометр, или переменный резистор – это электротехническое устройство, которое позволяет изменять сопротивление электрическому току. Классический (механический) потенциометр представляет собой два вывода, между которыми располагается третий – подвижный («скользящий»). Перемещая подвижный вывод, мы меняем сопротивление между ним и каждым из неподвижных вывода.

Электронный потенциометр – это аналог механического потенциометра, но с рядом преимуществ: он не имеет механических частей, он может управляться удалённо с помощью, например, микроконтроллера, и он существенно меньше по размеру.

Потенциометры широко применяются в различных электронных устройствах, где необходимо регулировать напряжение в процессе работы. Например, в роли подстроечных резисторов при настройке схем, в роли регуляторов громкости в аудио-устройствах, или регуляторов уровня освещения в осветительных приборах.

Будем использовать готовый модуль с цифровым потенциометром X9C102 (X9C103, X9C104, X9C503).

Цифровой потенциометр типа X9C может быть одного из следующих типов, различающихся максимальными сопротивлениями:

НазваниеМаксимальное сопротивление
X9C1021 кОм
X9C10310 кОм
X9C50350 кОм
X9C104100 кОм

В названии потенциометра X9C три цифры означают: значение и количество нулей, которое нужно приписать к значению, чтобы получить номинал. Например: 102 это 10 и 2 нуля, или 1000 Ом (1 кОм); 503 – это 50 и 3 нуля, или 50000 (50 кОм) т.п.

Логика работы и схема подключения цифрового потенциометра X9C103 к Arduino

Между 0 и максимальным значением с шагом 1/100 от максимума можно регулировать сопротивление на третьем «подвижном» выводе.

Управление положением «подвижного» вывода осуществляется с помощью серии отрицательных импульсов. Каждый импульс смещает значение сопротивления на 1 шаг в сторону увеличения или уменьшения.

Потенциометр управляется по трём линиям:

Название выводаНазначениеПримечание
CSВыбор устройстваLOW – устройство активно
INCИзменение сопротивления выходаОтрицательные импульсы
U/DНаправление измененияU (вверх) – если напряжение на ножке микросхемы HIGH, D (вниз) – LOW

Модуль требует питание +5 В.

Скетч управления цифровым потенциометром X9C102, X9C103, X9C104

Теперь напишем вот такой скетч:

const int CS = 10;
const int INC = 9;
const int UD = 8;

void setup() {
  pinMode(CS, OUTPUT);
  pinMode(INC, OUTPUT);
  pinMode(UD, OUTPUT);
  digitalWrite(CS, HIGH);  // X9C в режиме низкого потребления
  digitalWrite(INC, HIGH); 
  digitalWrite(UD, HIGH); 
}

void loop() {
   for (int i=0; i<=100; i+=10) {
    setResistance(i);
    delay(100);
  }
}

// Задаёт сопротивление на "подвижном" выводе.
// Уровень percent - от 0 до 100% от максимума.
void setResistance(int percent) { 
  // Понижаем сопротивление до 0%:
  digitalWrite(UD, LOW); // выбираем понижение
  digitalWrite(CS, LOW); // выбираем потенциометр X9C
  for (int i=0; i<100; i++) { // т.к. потенциометр имеет 100 доступных позиций
    digitalWrite(INC, LOW);
    delayMicroseconds(1);
    digitalWrite(INC, HIGH);
    delayMicroseconds(1);
  }

  // Поднимаем сопротивление до нужного:
  digitalWrite(UD, HIGH);
  for (int i=0; i<percent; i++) {
    digitalWrite(INC, LOW);
    delayMicroseconds(1);
    digitalWrite(INC, HIGH);
    delayMicroseconds(1);
  }

  digitalWrite(CS, HIGH); /* запоминаем значение 
  и выходим из режима настройки */
}

Данный скетч содержит такой алгоритм: повышаем каждые 100 мс с шагом 10% сопротивление от 0 до 100% от максимума потенциометра.

Опускаем линию CS в LOW, а также U/D в LOW (уменьшение выходного сопротивления). Когда на INC отсчитали 100 импульсов, поднимаем U/D в HIGH (изменяем сопротивление в сторону увеличения). С помощью INC относительно выставленного нулевого сопротивления начинаем отсчитывать нужное значение (в данном случае 10 импульсов равны 10% от максимума потенциометра).

Потенциометр X9C102/103/104 имеет 100 градаций сопротивления между минимальным и максимальным. Это позволяет не вводить никаких коэффициентов для пересчёта процентов в импульсы. Например: 10 импульсов INC изменяют текущее значение выходного сопротивления на 10%.

Распиновка и назначение контактов микросхемы:

доброго времени суток, друзья!))в этой статье я расскажу про цифровой потенциометр X9C103 на 10kΩ и его братьев с разными номиналами.-3

1 INC – Increment контакт для управления “ползунком” когда на него поступает положительный сигнал “ползунок” перемещается в верх или в низ

а в какую сторону “ползунок” пойдёт, определяет пин

2 U/D – Up/Down при высоком уровне ползунок едет на верх а при низком в низ.

7 CS – Chip Select микросхема выбирается, когда на входе CS НИЗКИЙ уровень. когда CS переходит в ВЫСОКИЙ уровень, а вход INC также имеет ВЫСОКИЙ уровень, текущее положение “ползунка” сохраняется в энергонезависимой памяти.

После завершения операции сохранения X9C1ХХ будет переведен в режим ожидания с низким энергопотреблением, пока микросхема не будет выбрана еще раз.

5 VW — это тот самый контакт “ползунка” или центральный вывод потенциометра которым мы управляем, Последовательное сопротивление между контактами VW – VL и VW – VH не менее 40 Ом. это кстати тоже может накладывать некие ограничения для использования этой микросхемы.

3 VH и 6 VL – пины высокого (VH) и низкого (VL) сигнала X9CХХ эквивалентны фиксированным контактам механического потенциометра. Минимальное напряжение –5В, максимальное +5В.

Следует отметить, что терминология VL и VH относится к относительному положению клеммы по отношению к направлению движения “ползунка”, выбранному входом U/D, а не к потенциалу напряжения на клемме.

одно из самых важных ограничений это выходы потенциометра, максимальное напряжение проходящее через потенциометр не должно превышать 5V и ток в 8 мА.

Модуль цифрового потенциометра X9C104 100K

Ссылка

Этот Модуль имеет 10 контактов:

5 контактов с левой стороны:

VCC: Источник питания модуля – 5 В
GND: Заземление
INC: Команда изменения резистора
U/ D: ВВЕРХ / вниз. Регулировочный резистор
CS: Выбор микросхемы. Активный НИЗКИЙ уровень


5 контактов с правой стороны:

VCC: Источник питания модуля – 5 В
RH: Высокий резистор
RW: Регулируемый резистор
RL: Низкий резистор
GND: Заземление

Ссылка на Али

Ещё ссылка