Потенциометр своими руками цифровой

Добавил пользователь Дмитрий К.
Обновлено: 19.09.2024

В этом уроке рассмотрим цифровой потенциометр, попробуем управлять им вручную, а также на низком уровне при .

Потенциометр с цифровым управлением, изменение сопротивление происходит благодаря массиву из 99 резисторов.

В этом видео показана простая схема на одном транзисторе, которая позволяет плавно регулировать, например, яркость .

Всем привет! Если вам надоело крутить ручки переменных резисторов, то их можно заменить простым електронным .

Цифровые потенциометры или дигипоты (от англ. digiPot, digital potentiometer) применяются для регулировки .

Китайский многооборотник-деньги на ветер. Служат крайне мало из за того что им пох. на качество. Делаем сами и не .

Всем привет! В этом видео мы посмотрим как подключить цифровой переменный резистор AD5171 к Ардуино по I2C.

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

Потенциометр с цифровым управлением и интерфейсом SPI. MCP41010 в DIP корпусе на али, got.by/3n1jlp Код: .

Спасибо за просмотр, если понравилось ставим лайки, подписываемся. Что не понятно - спрашивайте в комментариях.

На видео показана реализация конфигурации т.н. цифрового потенциометра, когда частота вращения двигателя .

Как сделать цифровой манометр своими руками на Ардуино (ESP8266) на датчике ms5803-05ba. Первая часть видео про .

Как сделать индикатор уровня топлива и цифровой вольтметр для авто на микроконтроллере ATMega16 и TFT дисплее .

В этом уроке поговорим об управлении нагрузкой переменного тока при помощи Arduino и симистора, а также рассмотрим .

Для проверки блоков питания или аккумуляторов обычно требуется нагрузка в виде источника постоянного тока. Однако иногда бывает нужно изучить поведение устройства при резистивной нагрузке. Использование потенциометра большой мощности может быть неоправданно дорогим решением. Альтернативный подход обеспечивает схема на Рисунке 1, работающая как мощный резистор, который подключается между клеммами P1 и P2.

Рисунок 1. Сопротивление канала MOSFET изменяется, выполняя
функцию переменного резистора.

Чтобы понять, как работает эта схема, представим, что операционный усилитель идеален и что общее сопротивление R2 и R3 превышает сопротивление мощного резистора (на рисунке не показан). R2 и R3 образуют делитель, выходное напряжение которого равно:

Операционный усилитель поддерживает напряжение на R1, равным опорному напряжению VREF, поэтому ток через резистор R1 будет соответствовать выражению:

Подставляя первое выражение во второе, получаем:

Если пренебречь током, идущим через R2 и R3, то ток резистора будет равен входному току, согласно следующей формуле:

Эта формула показывает линейную зависимость входного тока от входного напряжения. Таким образом, схема между клеммами P1 и P2 ведет себя как резистор. Тогда формула приобретает вид:

– коэффициент, больший единицы, на который умножается R1. Если сопротивление R2 или R3 заменить потенциометром, схема превратится в переменный резистор. Стоимость подходящего для этой схемы транзистора и резистора R1 вместе с остальными компонентами меньше, чем у переменного резистора, способного рассеивать такую же мощность.

Эту схему легко собрать на макетной плате.
Рисунок 2. Эту схему легко собрать на макетной плате.

Однако схема имеет некоторые ограничения. Во-первых, она работает с входными напряжениями только одной полярности, что может не позволить использовать ее в некоторых приложениях. Во-вторых, минимально достижимое сопротивление эквивалентного резистора равно сумме сопротивления R1 и минимального сопротивления открытого транзистора. Другие факторы, такие как смещение операционного усилителя, сопротивления резисторов R2 и R3 и входное напряжение, влияют на линейность схемы, но характеристики устройства все равно остаются высокими, даже с недорогими компонентами. В зависимости от диапазона входных напряжений операционного усилителя, схема требует внешнего двуполярного источника питания. На Рисунке 2 показана фотография макета собранной и испытанной схемы с мощным транзистором без радиатора, для изменения эквивалентного сопротивления которой используется потенциометр.

Но как быть, если требуется регулировка переменного сигнала? Частичным выходом из положения является использование умножающего ЦАП. Еще в давние времена многие отечественные разработчики применяли умножающий ЦАП К572ПА1 (он же AD7520) для построения аттенюаторов сигнала и даже умудрялись строить на нем перестраиваемые по частоте фильтры. Хотя этот ЦАП и можно было включать как потенциометр, однако из-за особенностей его схемотехники существовало ограничение: один из выводов должен быть обязательно заземлен, а на другой можно подавать лишь относительно небольшое напряжение, иначе ухудшалась линейность. Для получения полноценной замены переменного резистора можно взять КМОП-мультиплексор и подключить к нему цепочку постоянных резисторов. Такой цифровой потенциометр будет иметь три отдельных вывода, на которые можно подавать любые постоянные или переменные напряжения в допустимых для электронных ключей пределах. В настоящее время нет необходимости делать самодельные ЦП, так как выпускается большое количество готовых и практически на все случаи жизни.

Рис. 1. Структурная схема ЦП

Что такое цифровой потенциометр (ЦП)?

Четкой грани между ЦАП и ЦП нет. ЦП в англоязычной литературе иногда даже называют Trim-DAC, то есть ЦАП для подстройки. Пожалуй, главная отличительная особенность ЦП — это то, что он имеет три вывода переменного резистора (рис. 1), которые можно совершенно свободно подключать к любым потенциалам, постоянным или переменным, лишь бы они не выходили за пределы напряжения питания. Второе отличие заключается в шине управления. Обычные ЦАП довольно часто имеют параллельную шину, которая обеспечивает максимальное быстродействие. Для ЦП не требуется высокого быстродействия, поэтому применять громоздкую параллельную шину не имеет смысла. Подавляющее большинство ЦП имеет последовательную шину управления.

Чаще всего используются три типа шин управления: SPI, I2C и UDC. Некоторые производители не указывают явно, что ЦП имеет именно шину SPI или I2C, называя шины 3-wire и 2-wire соответственно. Часто приборы с шиной I2C называют адресуемыми. На самом деле совместимость с соответствующими шинами обычно обеспечивается, хотя могут быть и некоторые особенности, которые описаны в фирменной документации.

Таблица

Таблица (продолжение)

Таблица (продолжение)

Отдельно следует остановиться на интерфейсе UDC (Up/Down Control). Этот интерфейс является специфическим и предназначен для ручного управления ЦП с помощью кнопок. Интерфейс имеет три сигнала: CS — выбор устройства, Inc — инкремент и Up/Dn — сигнал направления. Для регулировки потенциометра необходимо выбрать его сигналом CS, подать сигнал направления Up/Dn и затем осуществить нужное количество шагов, подавая импульсы на вход Inc. Бывают и исключения. Например, ЦП DS1866 имеет параллельную шину, а DS2890 — однопроводную.

Зачем ЦП энергонезависимая память?

Достоинства ЦП

И недостатки.

Существуют некоторые отличия цифровых потенциометров от обычных механических переменных резисторов, которые накладывают ограничения на их применение и в большинстве случаев являются недостатками.

Параметры ЦП

Важнейшим параметром ЦП является количество коммутируемых отводов переменного резистора (количество шагов). Этот параметр определяет дискретность регулировки. Обычно количество шагов является степенью числа 2, но бывают ЦП и с другим количеством шагов, например 100. Наиболее распространены ЦП с количеством шагов от 32 до 256.

Еще одним важным параметром ЦП, впрочем, как и обычного переменного резистора, является полное сопротивление. Наиболее распространены ЦП с полным сопротивлением 10, 50 и 100 кОм.

Диапазон допустимых напряжений на выводах

Пожалуй, самое главное отличие от переменных резисторов заключается в том, что ЦП нельзя включать в цепь, потенциал которой выходит за пределы допустимого напряжения на выводах переменного резистора. Чаще всего это напряжение не должно выходить за пределы напряжения питания ЦП. Для многих ЦП допустимый диапазон напряжений питания равен 0…5 В, поэтому и использоваться они могут лишь в цепях с такими потенциалами. Некоторые типы ЦП допускают напряжение на выводах переменного резистора большее, чем напряжение питания. Например, X9312 при питании +5 В допускает напряжение до +15 В. Некоторые ЦП могут иметь двухполярное питание ±5 В, и это расширяет сферу их применения на схемы с двухполярным питанием. В то же время в измерительной аппаратуре часто используется напряжение питания ±15 В, что затрудняет применение там большинства ЦП. Дело в том, что производство ЦП подчиняется общей тенденции перехода на низкое напряжение питания ±5 В или даже ±3 В. Хотя есть и исключения, например AD7376, который работает при напряжениях питания ±15 В.

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

Амплитудно-частотная характеристика

Из-за наличия паразитных емкостей АЧХ делителя, который образован ЦП, имеет спад на высоких частотах.

Рис.2 Эквивалентная схема ЦП.

Эквивалентная схема ЦП показана на рис. 2. Из нее видно, что ЦП представляет собой ФНЧ, частота среза которого зависит, в частности, от положения. Значения емкостей на рисунке указаны ориентировочно. Они зависят от типа ЦП и от положения. В то же время значения паразитных емкостей практически не зависят от номинального сопротивления ЦП. Поэтому там, где требуется широкая полоса пропускания, следует применять ЦП с возможно меньшим сопротивлением, имеющие более высокую частоту среза. Приблизительно частота среза для ЦП сопротивлением 100 кОм равна 100 кГц, 50 кОм — 200 кГц, 10 кОм — около 1 МГц (рис. 3). У обычных подстроечных резисторов паразитные емкости значительно меньше.

Рис.3. АЧХ ЦП AD8400

Рис.4. Зависимость сопротивления "щетки" от напряжения

Зависимость сопротивления от температуры

Температурный коэффициент сопротивления резисторов, на основе которых построены ЦП, достаточно велик. Это обычно поликристаллические кремниевые резисторы, имеющие положительный ТКС. Абсолютное значение ТКС имеет величину примерно 300–800 ppm/°C. Поэтому, если применять потенциометр в режиме реостата (двухполюсник), таким же будет и результирующий ТКС. Это нужно учитывать при использовании ЦП. Ситуация существенно улучшится, когда ЦП используется в режиме потенциометра (делитель напряжения, трехполюсник). Коэффициент деления имеет значительно меньший температурный коэффициент (обычно не более 20 ppm/°C). Однако вблизи крайнего положения он значительно больше (рис. 5), так как большое влияние оказывает сопротивление канала полевого ключа, имеющее значительный ТКС (тысячи ppm).

Рис.5. Температурная зависимость для ЦП в режиме потенциометра

Нужно отметить, что существуют ЦП с пониженным ТКС, например MAX5413/14/15, имеющие около 35 ppm/°C, что сравнимо с ТКС качественных проволочных переменных резисторов.

Разброс сопротивлений

Существует ряд применений, где требуется согласованная регулировка двух и более переменных резисторов. Примером может служить активный фильтр второго порядка с перестраиваемой частотой среза. Для этой цели годятся лишь сдвоенные ЦП, выполненные на одном кристалле и имеющие разброс сопротивлений не более 1 %. А вот у разных экземпляров ЦП даже одного типа разброс сопротивлений может доходить до 30 %.

Проникновение сигналов управления

ЦП также присущ эффект проникновения сигнала с цифровых управляющих входов в цепь переменного резистора. Этот эффект объясняется наличием паразитных емкостей, и в первую очередь емкости между каналом и затвором полевых ключей. Поэтому в процессе регулировки возможно возникновение помех. Там, где регулировка выполняется однократно, эти помехи практически не имеют значения. А в таких применениях, как, например, регулировка громкости, помехи весьма нежелательны. Поэтому для регулировки громкости следует использовать специальные ЦП, у которых помехи существенно уменьшены (glitchless-регуляторы).

Нелинейность

Как и обыкновенным ЦАП, ЦП присуща интегральная и дифференциальная нелинейность. Во многих применениях ЦП нелинейность не имеет определяющего значения, хотя существуют критичные применения, где ее нужно учитывать. Численные значения нелинейности для конкретных типов ЦП можно найти в документации производителя.

Области применения ЦП

Примеры применения ЦП

На рис. 6, а показана схема инвертирующего усилителя, коэффициент усиления которого регулируется с помощью ЦП в пределах от –0,5 до –2. Особенностью схемы является то, что она допускает диапазон входного напряжения ±10 В без нарушения условия, что на выводах ЦП напряжение не должно превышать ±5 В.

Рис. 6.а Рис. 6.б

На рис. 6, б приведен пример регулировки смещения ОУ с помощью ЦП. Благодаря резисторам, включенным последовательно с ЦП, цепь регулировки смещения удалось запитать от источника ±15 В без нарушения ограничения ±5 В для ЦП.

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

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

Рис. 6.в Рис. 6.г

При построении широкополосных усилителей АЧХ даже самого низкоомного ЦП может оказаться неудовлетворительной. В таких случаях можно уменьшить эффективное полное сопротивление ЦП, включив параллельно ему постоянный резистор. На рис. 6, д показана схема усилителя, частота среза которого регулируется с помощью ЦП в пределах 0,13…1 МГц, а коэффициент усиления — в пределах 1…2.

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

    или иная совместимая плата; ; (breadboard);
  • соединительные провода (рекомендую вот такой набор);
  • персональный компьютер со средой разработки Arduino IDE.

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

Принцип работы механического потенциометра

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

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

Будем использовать готовый модуль с цифровым потенциометром X9C102 (X9C103, X9C104, X9C503). Китайские друзья продают их меньше чем за 100 рублей.

Модуль с цифровым потенциометром X9C102, X9C103, X9C104 Модуль с цифровым потенциометром X9C103S

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

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

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

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

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

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

Вот так выглядит временная диаграмма управляющих сигналов:

Временная диаграмма управления потенциометром X9C102, X9C103, X9C104

Временная диаграмма управления потенциометром X9C102, X9C103, X9C104

Здесь VW – напряжение на центральном выводе.

Давайте соберём схему, как показано на рисунке:

Схема подключения цифрового потенциометра X9C102, X9C103, X9C104 к Arduino

Схема подключения цифрового потенциометра X9C102, X9C103, X9C104 к Arduino

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

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

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

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

Загрузим данный скетч в память платы Arduino.

4 Проверка работы цифрового потенциометра X9C102/103/104

С помощью логического анализатора посмотрим, получилось ли соблюсти временную диаграмму управления потенциометром:

Временная диаграмма управления цифровым потенциометром X9C

Временная диаграмма управления цифровым потенциометром X9C

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

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

Если теперь с помощью мультиметра проконтролировать сопротивление между центральным и одним из конечных выводов, то мы зафиксируем изменения сопротивления.

Для наглядности я подам напряжение 5 вольт между конечными выводами потенциометра, а к центральному контакту подключу осциллограф DSO138. Фотографии и видео ниже иллюстрируют результат.

Изменение напряжения с помощью цифрового потенциометра X9C Изменение напряжения с помощью цифрового потенциометра X9C

Неплохая достаточно подробная статья про виды и устройство потенциометров тут.

Кстати, для экспресс-тестирования работы с потенциометром X9C103 отлично подходят микросхемы фирмы FTDI (FT2232 или другие) и программа SPI via FTDI. Для этого мы пин "CS" модуля подключаем к CS микросхемы FT2232, пин "U/D" – к пину DO, и записываем в режиме SPI нужное число байтов. Так, чтобы послать 10 импульсов потенциометру, можно послать 10 байтов 0x01 или 5 байтов 0x0A (в двоичном виде это 0101), и т.д.

Управление цифровым потенциометром X9C103 с помощью микросхемы FT2232H

Управление цифровым потенциометром X9C103 с помощью микросхемы FT2232H


Всем владельцам ауди, вольксваген с системой ke motronic известна такая деталь как потенциометр напорного диска, попросту говоря расходник (переменный резистор который определяет расход воздуха — положение лопатки), себестоимость этой детали около 20 украинских гривен!
Но в нашем суровом торговом бизнесе, эта цена подскочила до двух с половиной тысяч гривен. Я, зная о такой несправедливой цене на какой-то сраный переменный резистор, решил немного покумекать и заменить его чем-то более дешёвым и более устойчивым к износу! Первое что мне пришло в голову, это фотоприемник со светодиодной матрицей. Но после эксперемента я выяснил, что в характеристике, которая должна быть линейной, происходят скачки, что мне совсем не подходит. Продолжил эксперемент дальше, заменил фотоприёмник солнечной батареей с калькулятора, характеристика почти линейная была, но тоже со скачком! И вдруг мне в голову пришла идея поставить магнитный датчик (сенсор угла поворота магнитного поля) и магнит, на место штатных ползунков потенциометра. Идея была в том, что характеристика такого датчика полностью линейная (это гарантируется производителем, так как каждый датчик проходит калибровку на этапе изготовления). Кроме того, такой датчик реагирует именно на УГОЛ ПОВОРОТА вектора магнитного поля, а не на его силу. То есть, частичная потеря магнитных свойств магнита (попросту говоря, "размагнитился") никак не влияет на показания датчика. Дальше мне надо было добится, чтобы от нуля до шести градусов поворота, напряжение плавно подималось до трёх вольт, а от шести градусов до 18 поднялось от трёх до пяти вольт. На каждом из участков зависимость должна быть линейной. Сначала возникла идея реализовать это с помощью нескольких операционных усилителей. Все работало так, как нужно, но габариты полученной схемы не позволяли разместить ее в корпусе штатного потенциометра. Поэтому пришлось искать другое решение. Микроконтроллер ATtiny13 имеет в своем составе АЦП (аналого-цифровой преобразователь), то есть попросту "умеет" измерять напряжение на входе. Сформировать нужное напряжение на выходе — тоже не проблема: есть таймер-счетчик с возможностью ШИМ (широтно-импульсная модуляция). Пересчитать нужное выходное напряжение при известном входном сложности не представляет. В итоге конструирование нужной характеристики свелось к написанию программы в несколько десятков строк. Место в программной памяти контроллера еще оставалось, так что решил добавить светодиод для индикации работи датчика в режиме холостых оборотов. Это облегчает настройку расположения датчика на корпусе расходомера. На видео видно, что работа самодельного потенциометра полностью соответствует требованиям даной системы!

Читайте также: