Перейти к содержанию
    

Дешевое измерение сопротивления от 30ом до 300ком

Задача: необходимо неспешно измерить сопротивление, величина которого лежит в диапазоне от 30 до 300000 ом. Точность - 1% и ниже. Скорость - не важна абсолютно. Результат - в цифровом виде.

 

Предлагаемое решение, сверху вниз по предполагаемой схеме. Все управляется микроконтроллером "сбоку"

 

а) Управляемый источник напряжения. Цифровой резистор, два ОУ и полевик. На выходе можем получить 1-30В (примерно) с шагом около 0,1В (если взять резистор в 256 шагов). Через ОУ - на АЦП1 для контроля напряжения.

 

б) "Батарея" резисторов на сопротивление 30, 100, 1000 .... 200000, 300000 (сколько надо), соединенных параллельно. Каждый резистор "включается" в парралель с помощью полевого транзистора. Транзистор управляется микроконтроллером.

 

в) Само сопротивление, которое надо измерить.

 

Сбоку операционник в режиме повторителя напряжения/инвертирующего усилителя с изменяемой ОС (по необходимости) и АЦП2. подключен к получившемуся делителю напряжения из батареи резисторов и измеряемого.

 

Принцип измерения:

 

1. Ставим напряжение на 1в

2. "Подключаем" сопротивление на 30 ом путем открытия соответствующего полевика

3. Меряем напряжение с помощью АЦП2

4. Полученное 0 или около нуля? Переключаем на резистор номиналом повыше и/или напряжение повыше, пока не будет где-то "в середине".

5. Меряем, корректируем с учетом напряжения и включенного резистора.

 

Управляемый источник напряжения нужен, что бы убежать от ошибок, связанных с маленькими токами на больших номиналах и с большими токами на маленьких номиналах.

 

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

 

По прикидкам, родного 12битного АЦП микроконтроллера хватит, что бы обеспечить 1% и замахнуться на 0,1%

 

Минусы - надо много ног микроконтроллера (но это можно решить регистром сдвига) и использование "лишнего" АЦП для контроля напряжения/калибровки.

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а просто сделать делитель из N резисторов подключенных прямо к порту, и измеряемого, подключенного к АЦП.

для 0.1% точности всё равно отдельно калибровать всё придётся.

 

и для какого-нибудь msp430f2013 за 2$, c сигма-дельта АЦП и PGA, N совсем небольшим будет.

там у АЦП дин. диапазона под 90дБ плюс PGA на 32.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Точность - 1% и ниже.
То есть 8 бит - выше головы. Обычный делитель, измерять падение встроенным АЦП.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задача: необходимо неспешно измерить сопротивление, величина которого лежит в диапазоне от 30 до 300000 ом. Точность - 1% и ниже. Скорость - не важна абсолютно. Результат - в цифровом виде.

 

Что значит ниже 1%? Точность (погрешность) относительно чего?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Итого, требуется всего лишь измерить три напряжения в трёх точках данной схемы, для чего, при требуемых диапазонах, 12-ти разрядов явно недостаточно. Дёшево увеличить разрядность такого АЦП можно посредством каскадирования его со сравнивающим АЦП, т.е. подмешиванием к сигналу пилообразного смещения (с перекрытием МЗР, т.е. порядка 1,5 МЗР) и усреднением полученных результатов — например, если микроконтроллер создал соответствующую пилу, на протяжении которой сделал 64 измерения, к разрешению АЦП добавится: log2 64 = 6 разрядов.

 

Поскольку входное сопротивление всех встроенных в современные микроконтроллеры АЦП порядка 1 кОм, буферный повторитель на ОУ с высокоомными входами неизбежен и уже имеется в бюджете проекта — остаётся лишь добавить к нему на выход сопротивление 10 Ом и подать на него пилообразный ток 100 мкА, в результате чего получится смещение (10 Ом · 100 мкА) = 1 мВ или (4096 · 1 мВ / 3 В) = 1,365 МЗР.

 

Кроме того, данный буферный усилитель не сможет повторить сигналы, равные потенциалам шин питания, если он питается от них же, а значит, двум крайним выводам измерительного делителя требуется немного отступить от обеих шин питания, что проще всего сделать добавлением последовательно по диоду с каждой стороны. То же самое и в отношении входного диапазона АЦП — бессмысленно было бы пытаться им что-то измерить на краях его шкалы. Также, все RR-усилители имеют естественный дефект в виде скачка напряжения смещения при переходе входа на противоположную диффпару — к примеру, у ОУ MCP6002 это происходит при входном синфазном напряжении примерно VDD–1,2 В (Рис.2-5 паспорта), т.е. в 3-вольтовой схеме требуется либо запитать такую микросхему от 5 В, либо сделать отступ входного сигнала от верхней шины питания заведомо больше, т.е. добавить в измерительную последовательную входную цепь условно ещё один диод.

 

Источник пилообразного тока элементарно делается посредством ШИМ-ЦАП, т.е. фильтрации ШИМ-выхода микроконтроллера посредством ФНЧ на RC-цепочке, и типового преобразователя напряжение-ток, т.е. ОУ, транзистор и резистор, Поскольку минимальное напряжение, которое требуется измерять, ранее было ограничено отступом от потенциала общего провода на напряжение диода, т.е. порядка 500 мВ, то 3 В амплитуды с вывода ШИМ микроконтроллера требуется уменьшить дополнительным к резистору ФНЧ резистором до, к примеру, 100 мВ, т.е. в 30 раз, чтобы этот транзистор работал в линейном режиме, а резистор его датчика тока, соответственно, будет (100 мВ / 100 мкА) = 1 кОм.

 

Наконец, для коммутации трёх сигналов, а правильнее четырёх, т.е. настоящей четырёхпроводной схемы, поскольку измеряемое сопротивление обычно вынесено из подобных приборов 4-проводным кабелем произвольной длины, требуется аналоговый мультиплексор 4:1 с низкими токами утечки, т.е. ширпотреб 74HC4052 здесь не годится, а требуется что-то типа DG409LDY.

 

Итого, 14 руб. за сдвоенный ОУ MCP6002, 2 руб. за транзистор BSS138, 88 руб. за DG409LDY, по 1 руб. за BAS16, 8 руб. за эталон сопротивления RT0805BRD 3 кОм 0,1% 25 ppm — порядка 120 руб., в сумме с прочей мелочью и без учёта элементов защиты, или втрое дешевле, чем один 24-разрядный АЦП AD7799, тоже решивший бы эту задачу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а просто сделать делитель из N резисторов подключенных прямо к порту, и измеряемого, подключенного к АЦП.

Я на макетке пробовал - у потртов МК слишком большой разброс по току-напряжению. Без внешнего "референса" не придумал как обойтись.

 

Что значит ниже 1%? Точность (погрешность) относительно чего?

Значит, результат не должен отличаться больше 1% от измеренного хорошим мультиметром. Если тот показал, что сопротивление 1000 ом, то схема должна выдать на том же резисторе результат от 992 до 1009 ом.

 

Итого, требуется всего лишь измерить три напряжения в трёх точках данной схемы, для чего, при требуемых диапазонах, 12-ти разрядов явно недостаточно. Дёшево увеличить разрядность такого АЦП можно посредством каскадирования его со сравнивающим АЦП, т.е. подмешиванием к сигналу пилообразного смещения (с перекрытием МЗР, т.е. порядка 1,5 МЗР) и усреднением полученных результатов — например, если микроконтроллер создал соответствующую пилу, на протяжении которой сделал 64 измерения, к разрешению АЦП добавится: log2 64 = 6 разрядов.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То есть 8 бит - выше головы. Обычный делитель, измерять падение встроенным АЦП.

В диапазоне 1:10000?

ну-ну :)

Как минимум 3-4 диапазона усиления надо делать, не считая PGA ADC

 

так что схема типовая - опер с токовым входом, а в ОС - переключаемый опорный резистор.

Можно, конечно, инструментальный поставить, но точно не дешевле выйдет. Компактнее разве что.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот в известном и очень популярном "транзистортестере" диапазон для резисторов 20 Ohm...20 MOhm с претензией на 1% и лучше. При примитивной просто до смешного схеме измерения...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я делал измерение термосопротивления на МК. Там динамический диапазон тоже очень большой.

Никаких АЦП не хватит. Причем, устройство с батареечным питанием и очень малым объемом.

Делал на принципе заряда-разряда RC цепочки эталонными резисторами и измеряемым.

При этом делалась поправка на напряжение питания и термоуход конденсатора.

Использовал таймер и компаратор, встроенные в МК. Точность 0.1C в диапазоне 0-100С

Больше просто дисплей не позволяет. Причем в районе 100C точность должна быть максимальной, т.к.

измерение требовались "самогонщикам", а там очень трепетно нужно следить за графиком T.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но за идею

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

 

и не мучаться от слова совсем

Вы бы сперва читанули паспорт любого из запощенной Вами кучи "полевиков" на предмет их токов утечки, и тогда бы не мучались написанием не менее кучи слов, от слова совсем, потому как решение в первом сообщении темы заведомо нерабочее, а потому ещё и жуть как недешёвое.

 

Мучение от каждой лишней пайки вовсе не редкость — моё начальство, к примеру, тоже сильно страдает этой древней болезнью. Итого, если сравнивать по ногам, то у AD7799 и DG409LDY их одинаково, диодов в схемах тоже. Следовательно, на 240 рублей разницы между 120-ю и 360-ю рублями остаются пайки лишних 8-ми ног MCP6002, 3-х ног BSS138, 2-х ног одного конденсатора ФНЧ и 8-ми ног 4-х резисторов — всего 21 нога, или мучений на (240 / 21) = 11 рублей за каждую пайку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 рублей за каждую пайку.

 

Вот Вы очень ловко рубли считаете... А можете мне объяснить, как измерить один процент от опорного напряжения с точностью один процент микроконтроллерным АЦП, подмешивая пилу. Это же, как мне кажется, получается сотая процента.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, для такого случая нужно накинуть пилой как минимум 3 разряда, чтобы стало 15 разрядов. А ещё неплохо бы откалибровать ШИМ'ом нелинейности встроенного АЦП.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сделал 64 измерения, к разрешению АЦП добавится: log2 64 = 6 разрядов.

Это теоретическое

как минимум 3 разряда
это практическое.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, для такого случая нужно накинуть пилой как минимум 3 разряда, чтобы стало 15 разрядов. А ещё неплохо бы откалибровать ШИМ'ом нелинейности встроенного АЦП.

Вот не верю. Я бы подумала в сторону (если деньги считать...) самодельного АЦП на базе интегратора тока (трансимпедансного усилителя с конденсатором в обратной связи)... Можно подавать туда дозированные импульсы тока, поддерживая постоянный уровень. Дрейф емкости тут не важен. Только придется придумать небольшую схемку для учета сопротивления подводящих проводов к измеряемому резистору. Ведь процент от 30 ом - 0.3 ома. Если провода длинные, а температура меняется, то этого не избежать. Кажется забавным, но тут можно манганиновым проводом соединить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это теоретическое ... это практическое

Когда-то давным-давно пришлось таким способом добавлять 5 разрядов к 10-ти. Правда, были ещё всякие нелинейные фильтры, калибровка и прочее, но оно работало.

 

в сторону (если деньги считать...) самодельного АЦП на базе интегратора тока

Как-то Вы чересчур усложнили, потому что ровно на той же самой вышепредложенной паре ОУ, на том же измерительном делителе и том же аналоговом мультиплексоре 4:1 элементарно делается сравнивающий АЦП, т.е. сбрасываемый парой ног микроконтроллера интегратор, делающий опорную пилу, и подключённый к защёлке таймера микроконтроллера компаратор на втором ОУ, сравнивающий эту пилу поочерёдно с каждым из четырёх измеряемых напряжений, т.е. переключением входов мультиплексора микроконтроллером по прерываниям от защёлки. Нелинейности определяются только зависимостью смещений компаратора и ОУ от их синфазных напряжений, можно откалибровать.

 

Но конечно, компаратор лучше поставить честный отдельный, например MCP6541. Странно, что сумма одиночного ОУ и компаратора получается тоже 14 руб., чудо маркетинга.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...