Работа с логарифмическим цифровым потенциометром

Hleb13
Offline
Зарегистрирован: 16.04.2015

Здравствуйте!

Есть задача сделать регулятор громкости на усилителе мощности так, чтобы уровнем громкости можно было управлять с пульта ДУ. С учетом слухового восприятия звука человеком был выбран потенциометр с логарифмической зависимостью сопротивления DS 1802 (http://www.vegalab.ru/content/view/60/87/).

Изучал принцип работы подобных потенциометров, также, смотрел видео Джереми Блума

(http://yandex.ru/video/search?text=%D0%B4%D0%B6%D0%B5%D1%80%D0%B5%D0%BC%D0%B8%20%D0%B1%D0%BB%D1%83%D0%BC%208%20%D1%81%D0%B5%D1%80%D0%B8%D1%8F&path=wizard&parent-reqid=1459493288600318-2625334404656919130103576-myt1-2095&filmId=Weab_H4cUXI&redircnt=1459493290.1)

где рассказывается о работе с цифровым потенциометром линейного типа. То есть выставляется уровень от 50 до 255 и светодиод плавно разгорается и затем наоборот. Но поскольку потенциометр линейный, сопротивления в нем одного номинала, соответственно каждый раз меняя уровень на один шаг мы получаем линейное изменение сопротивления.

Но как связать Ардуино и цифровой потенциометр с логарифмической зависимостью? Ведь там просто не получится менять уровень от 0 до 255 на цифровом выходе Ардуино, ведь один шаг ползунка - это каждый раз рзное изменение сопротивления.

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

Заранее благодарен!

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

Hleb13 пишет:

где рассказывается о работе с цифровым потенциометром линейного типа. То есть выставляется уровень от 50 до 255 и светодиод плавно разгорается и затем наоборот. Но поскольку потенциометр линейный, сопротивления в нем одного номинала, соответственно каждый раз меняя уровень на один шаг мы получаем линейное изменение сопротивления.

ну, так, если у тебя потенциометр нелинейный, то от 50 до 255 будет выдавать нелинейный результат.

*зачем спрашивать, если проще проверить практически?

Hleb13
Offline
Зарегистрирован: 16.04.2015

Просто пока у меня нет в руках потенциометра, нет возможности экспериментировать, изучаю на теоретическом уровне.

То есть, правильно ли я понял, что, уровень от 50 до 255 никакого отношения к спортивлению не имеет, это просто некий уровень от Ардуино, который заставляет перемещаться ползунок потенциометра, а сопротивление уже выдается потенциометром по заранее заложенному в нем, в данном случае, логарифмическому алгоритму?

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

Hleb13 пишет:

Просто пока у меня нет в руках потенциометра, нет возможности экспериментировать, изучаю на теоретическом уровне.

То есть, правильно ли я понял, что, уровень от 50 до 255 никакого отношения к спортивлению не имеет, это просто некий уровень от Ардуино, который заставляет перемещаться ползунок потенциометра, а сопротивление уже выдается потенциометром по заранее заложенному в нем, в данном случае, логарифмическому алгоритму?

ну, да... и, не от 50, а от 0

Hleb13
Offline
Зарегистрирован: 16.04.2015

Понял, спасибо огромное!

Хочу еще экранчик в будущем подключить, который при регулировке громкости будет показывать уровень в dB. Отсюда вопрос, как свзять уровень dB и выходное сопротивление с потенциометра? Есть ли какая-то общая формула или у каждого потенциометра своя зависимость?

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

Hleb13 пишет:

Понял, спасибо огромное!

Хочу еще экранчик в будущем подключить, который при регулировке громкости будет показывать уровень в dB. Отсюда вопрос, как свзять уровень dB и выходное сопротивление с потенциометра? Есть ли какая-то общая формула или у каждого потенциометра своя зависимость?

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

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

Hleb13 пишет:
как свзять уровень dB и выходное сопротивление с потенциометра?
За 0 db принято действующее значение напряжения 0.775 В.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Hleb13 пишет:

Но как связать Ардуино и цифровой потенциометр с логарифмической зависимостью? Ведь там просто не получится менять уровень от 0 до 255 на цифровом выходе Ардуино, ведь один шаг ползунка - это каждый раз рзное изменение сопротивления.

Так Вам именно это и надо!

В чём смысл логарифмического потенциометра? При линейном вращении ручки получаем нелинейное изменени сопротивления. Что и нужно для хорошего восприятия на слух.

Т.е. Вы взяли правильный потеницометр с правильным эффектом, а теперь спрашиваете как от этого эффекта избавиться? Меняйте линейно, а сопротивление будет меняться как надо.

Hleb13
Offline
Зарегистрирован: 16.04.2015

Спасибо за ответы!

Со связью между Arduino и логарифмическим потенциометром вроде разобрался.

Теперь непонятно как подключить выбранный AD1802 к Arduino. Даташит его здесь http://www.electronshik.ru/pdf/pdf/d/ds182.pdf

Согласно уроку Джереми Блума (ссылка в первом сообщении) для подключения потенциометра по SPI необходимы CLK, SDI и CS. CLK есть вход, но нет CS и SDI. Данный потенциометр нельзя подключить по SPI или все же я что-то недопонял по даташиту?