Хабрахабр

[Из песочницы] Как «поделить» АЦП правильно

Довольно часто в устройствах применяются активные датчики (терморезисторы, тензорезисторы, фоторезисторы, времярезисторы, счастьерезисторы и прочее).

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

2, который измеряет температуру ключей. Для примера ниже я представил часть схемы из драйвера VESC 4.

Кто-то связывает величину только с ограничением тока на нагрев термистора. О величине резистора во втором плече все высказываются по-разному.

Где-то существуют прикидки и советы.

Место для прикидки в жизни есть, но порой встает вопрос: «А почему именно такое сопротивление?» Но я не нашел конкретных указаний по типу: «Сделай так, потому что так-то и так-то».
Инженерный подход не дает мне спать спокойно.

Что же, вызов принят. Интерес подогрел спор с коллегой.

Прикладываю исходник. Сразу скажу, что расчет выполнялся в программе SMath Studio. Вы можете использовать его в своих расчетах.

Постановка задачи

Критерий оптимальности – максимальный размах напряжения на выходе. Необходимо ввести только диапазон изменения сопротивления, а формула должна возвратить оптимальное сопротивление второго плеча.

Решение

Вариантов схем включения может быть две: либо изменяющееся сопротивление находится в лапах АЦП, либо наоборот.

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

Напряжение на входе АЦП зависит от сопротивления постоянного резистора и пределов изменения переменного:

$$display$$ \Delta U(R_c, R_k, R_n, U) = U \cdot \left(\over{R_k+R_c}}-{{R_n}\over{R_n+R_c}} \right), $$display$$

где $inline$R_c$inline$ – сопротивление постоянного резистора;

$inline$R_k$inline$ – самое большое сопротивление изменяющегося резистора;

$inline$R_n$inline$ – самое маленькое сопротивление изменяющегося резистора;

$inline$U$inline$ – напряжение питания.

Если построить график зависимости этого напряжения от сопротивления постоянного резистора, то можно увидеть ярко выраженный пик, а это именно то, что нам нужно (график построен для случая питающего напряжения в 1 В при использовании NTC термистора в широком диапазоне температур).

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

$$display$${{d}\over{dR_c}} \Delta U(R_c, R_k, R_n, U) = 0$$display$$

Можете скачать и пользоваться. Расчет выполнен в SMathStudio.

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

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

Но и изменение напряжения будет ничтожно. 1 правило: Если изменение сопротивление незначительно, то постоянное сопротивление должно быть примерно равным среднему изменяющемуся. Используй лучше мостовую схему.

2 правило: Если сопротивление изменяется в разы, то постоянное сопротивление должно быть меньше максимально возможного у изменяемого.

3 правило: Чем больше изменяется сопротивление в изменяемом резисторе, тем меньше должно быть сопротивление постоянного относительно максимума изменяемого.

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

Если совсем не охота вникать, но хочется поставить в свой arduino проект «осознанный» делитель, то можно воспользоваться готовым ответом.

Какой резистор ставить в паре с NTC термистором на 10 кОм с В = 3950.

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

Диапазон изменения сопротивления, градусов целься

Применение

Рекомендуемое сопротивление второго плеча, кОм

Процент использования динамического диапазона АЦП, %

0..+125

Мониторинг температуры внутри устройств в помещении

3,3

81

-50...+125

Максималка для данного термистора

18

96

-20..+50

Температура на улице

20

68

Если есть еще распространенные применения, то пишите, добавлю еще.

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть