|
Дешевое измерение сопротивления от 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, тоже решивший бы эту задачу.
|
|
|
|
Сообщений в этой теме
kiltum Дешевое измерение сопротивления от 30ом до 300ком Mar 9 2017, 13:56 _pv а просто сделать делитель из N резисторов подключе... Mar 9 2017, 15:13 kiltum Цитата(_pv @ Mar 9 2017, 18:13) а просто ... Mar 10 2017, 06:29  Plain Цитата(kiltum @ Mar 10 2017, 09:29) Но за... Mar 10 2017, 12:38   Tanya Цитата(Plain @ Mar 10 2017, 15:38) 11 руб... Mar 10 2017, 13:15 Сергей Борщ QUOTE (kiltum @ Mar 9 2017, 15:56) Точнос... Mar 9 2017, 16:37 MrYuran Цитата(Сергей Борщ @ Mar 9 2017, 19:37) Т... Mar 10 2017, 09:21 Tanya Цитата(kiltum @ Mar 9 2017, 16:56) Задача... Mar 9 2017, 16:45 @Ark Цитата(Plain @ Mar 10 2017, 04:58) Поскол... Mar 10 2017, 15:35  rx3apf Цитата(@Ark @ Mar 10 2017, 18:35) порядка... Mar 10 2017, 19:11   @Ark Цитата(rx3apf @ Mar 10 2017, 22:11) 1 uA ... Mar 10 2017, 20:08 rx3apf А вот в известном и очень популярном "транзис... Mar 10 2017, 09:40 adnega Я делал измерение термосопротивления на МК. Там ди... Mar 10 2017, 09:57 Plain Да, для такого случая нужно накинуть пилой как мин... Mar 10 2017, 14:02 Tanya Цитата(Plain @ Mar 10 2017, 17:02) Да, дл... Mar 10 2017, 14:19 Владимир Цитатасделал 64 измерения, к разрешению АЦП добави... Mar 10 2017, 14:09 Plain Цитата(Владимир @ Mar 10 2017, 17:09) Это... Mar 10 2017, 15:04  Tanya Цитата(Plain @ Mar 10 2017, 18:04) Как-то... Mar 10 2017, 16:16   Plain Цитата(Tanya @ Mar 10 2017, 19:16) Не пов... Mar 10 2017, 18:11  _pv Цитата(Plain @ Mar 10 2017, 22:04) Когда-... Mar 10 2017, 18:08   Plain Цитата(_pv @ Mar 10 2017, 21:08) никаким ... Mar 10 2017, 21:10 a123-flex Цитата(kiltum @ Mar 9 2017, 17:56) Задача... Mar 11 2017, 18:11
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|