|
Дешевое измерение сопротивления от 30ом до 300ком, Обругайте идею |
|
|
|
Mar 9 2017, 13:56
|
Группа: Участник
Сообщений: 6
Регистрация: 17-01-17
Пользователь №: 95 045

|
Задача: необходимо неспешно измерить сопротивление, величина которого лежит в диапазоне от 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%
Минусы - надо много ног микроконтроллера (но это можно решить регистром сдвига) и использование "лишнего" АЦП для контроля напряжения/калибровки.
|
|
|
|
|
Mar 10 2017, 01:58
|
Гуру
     
Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710

|
Определяющий погрешность прибора эталон сопротивления, именуемый в простонародье "известным резистором", обычно тупо соединяется последовательно с измеряемым сопротивлением, образуя трёхвыводную схему, на которую подаётся любое приемлемое напряжение, после чего, потому что ток в последовательной цепи всегда одинаковый, напряжения на этих двух сопротивлениях всегда будут относиться друг к другу в точности как их сопротивления.
Итого, требуется всего лишь измерить три напряжения в трёх точках данной схемы, для чего, при требуемых диапазонах, 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, тоже решивший бы эту задачу.
|
|
|
|
|
Mar 10 2017, 06:29
|
Группа: Участник
Сообщений: 6
Регистрация: 17-01-17
Пользователь №: 95 045

|
Цитата(_pv @ Mar 9 2017, 18:13)  а просто сделать делитель из N резисторов подключенных прямо к порту, и измеряемого, подключенного к АЦП. Я на макетке пробовал - у потртов МК слишком большой разброс по току-напряжению. Без внешнего "референса" не придумал как обойтись. Цитата(Tanya @ Mar 9 2017, 19:45)  Что значит ниже 1%? Точность (погрешность) относительно чего? Значит, результат не должен отличаться больше 1% от измеренного хорошим мультиметром. Если тот показал, что сопротивление 1000 ом, то схема должна выдать на том же резисторе результат от 992 до 1009 ом. Цитата(Plain @ Mar 10 2017, 04:58)  Итого, требуется всего лишь измерить три напряжения в трёх точках данной схемы, для чего, при требуемых диапазонах, 12-ти разрядов явно недостаточно. Дёшево увеличить разрядность такого АЦП можно посредством каскадирования его со сравнивающим АЦП, т.е. подмешиванием к сигналу пилообразного смещения (с перекрытием МЗР, т.е. порядка 1,5 МЗР) и усреднением полученных результатов — например, если микроконтроллер создал соответствующую пилу, на протяжении которой сделал 64 измерения, к разрешению АЦП добавится: log2 64 = 6 разрядов. Именно поэтому я и не хочу делать вжимать весь измеряемый диапазон в диапазон АЦП. Так-то да, было бы проще взять 24бита и не мучаться от слова совсем. Но за идею использовать аналоговый переключатель спасибо - я чего-то про них даже не подумал.
|
|
|
|
|
Mar 10 2017, 09:21
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Сергей Борщ @ Mar 9 2017, 19:37)  То есть 8 бит - выше головы. Обычный делитель, измерять падение встроенным АЦП. В диапазоне 1:10000? ну-ну  Как минимум 3-4 диапазона усиления надо делать, не считая PGA ADC так что схема типовая - опер с токовым входом, а в ОС - переключаемый опорный резистор. Можно, конечно, инструментальный поставить, но точно не дешевле выйдет. Компактнее разве что.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Mar 10 2017, 12:38
|
Гуру
     
Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710

|
Цитата(kiltum @ Mar 10 2017, 09:29)  Но за идею Смахивает на обвинение меня аж в оффтопике. Предлагаю Вам заново прочесть название собственной темы, после чего осознать, что моё решение строго по теме, т.е. реально самое дешёвое и за реально лишь 120 рублей реально выполняющее реально всю задачу целиком, а именно, измерение сопротивления в указанном диапазоне и с указанной точностью. Цитата и не мучаться от слова совсем Вы бы сперва читанули паспорт любого из запощенной Вами кучи "полевиков" на предмет их токов утечки, и тогда бы не мучались написанием не менее кучи слов, от слова совсем, потому как решение в первом сообщении темы заведомо нерабочее, а потому ещё и жуть как недешёвое. Мучение от каждой лишней пайки вовсе не редкость — моё начальство, к примеру, тоже сильно страдает этой древней болезнью. Итого, если сравнивать по ногам, то у AD7799 и DG409LDY их одинаково, диодов в схемах тоже. Следовательно, на 240 рублей разницы между 120-ю и 360-ю рублями остаются пайки лишних 8-ми ног MCP6002, 3-х ног BSS138, 2-х ног одного конденсатора ФНЧ и 8-ми ног 4-х резисторов — всего 21 нога, или мучений на (240 / 21) = 11 рублей за каждую пайку.
|
|
|
|
|
Mar 10 2017, 14:09
|

Гуру
     
Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671

|
Цитата сделал 64 измерения, к разрешению АЦП добавится: log2 64 = 6 разрядов. Это теоретическое Цитата как минимум 3 разряда это практическое.
|
|
|
|
|
Mar 10 2017, 15:04
|
Гуру
     
Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710

|
Цитата(Владимир @ Mar 10 2017, 17:09)  Это теоретическое ... это практическое Когда-то давным-давно пришлось таким способом добавлять 5 разрядов к 10-ти. Правда, были ещё всякие нелинейные фильтры, калибровка и прочее, но оно работало. Цитата(Tanya @ Mar 10 2017, 17:19)  в сторону (если деньги считать...) самодельного АЦП на базе интегратора тока Как-то Вы чересчур усложнили, потому что ровно на той же самой вышепредложенной паре ОУ, на том же измерительном делителе и том же аналоговом мультиплексоре 4:1 элементарно делается сравнивающий АЦП, т.е. сбрасываемый парой ног микроконтроллера интегратор, делающий опорную пилу, и подключённый к защёлке таймера микроконтроллера компаратор на втором ОУ, сравнивающий эту пилу поочерёдно с каждым из четырёх измеряемых напряжений, т.е. переключением входов мультиплексора микроконтроллером по прерываниям от защёлки. Нелинейности определяются только зависимостью смещений компаратора и ОУ от их синфазных напряжений, можно откалибровать. Но конечно, компаратор лучше поставить честный отдельный, например MCP6541. Странно, что сумма одиночного ОУ и компаратора получается тоже 14 руб., чудо маркетинга.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|