реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Дешевое измерение сопротивления от 30ом до 300ком, Обругайте идею
kiltum
сообщение Mar 9 2017, 13:56
Сообщение #1





Группа: Участник
Сообщений: 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%

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



Go to the top of the page
 
+Quote Post
_pv
сообщение Mar 9 2017, 15:13
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



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

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

Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 9 2017, 16:37
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (kiltum @ Mar 9 2017, 15:56) *
Точность - 1% и ниже.
То есть 8 бит - выше головы. Обычный делитель, измерять падение встроенным АЦП.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Tanya
сообщение Mar 9 2017, 16:45
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(kiltum @ Mar 9 2017, 16:56) *
Задача: необходимо неспешно измерить сопротивление, величина которого лежит в диапазоне от 30 до 300000 ом. Точность - 1% и ниже. Скорость - не важна абсолютно. Результат - в цифровом виде.


Что значит ниже 1%? Точность (погрешность) относительно чего?
Go to the top of the page
 
+Quote Post
Plain
сообщение Mar 10 2017, 01:58
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 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, тоже решивший бы эту задачу.
Go to the top of the page
 
+Quote Post
kiltum
сообщение Mar 10 2017, 06:29
Сообщение #6





Группа: Участник
Сообщений: 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бита и не мучаться от слова совсем. Но за идею использовать аналоговый переключатель спасибо - я чего-то про них даже не подумал.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Mar 10 2017, 09:21
Сообщение #7


Беспросветный оптимист
******

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



Цитата(Сергей Борщ @ Mar 9 2017, 19:37) *
То есть 8 бит - выше головы. Обычный делитель, измерять падение встроенным АЦП.

В диапазоне 1:10000?
ну-ну sm.gif
Как минимум 3-4 диапазона усиления надо делать, не считая PGA ADC

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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 10 2017, 09:40
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



А вот в известном и очень популярном "транзистортестере" диапазон для резисторов 20 Ohm...20 MOhm с претензией на 1% и лучше. При примитивной просто до смешного схеме измерения...
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 10 2017, 09:57
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Я делал измерение термосопротивления на МК. Там динамический диапазон тоже очень большой.
Никаких АЦП не хватит. Причем, устройство с батареечным питанием и очень малым объемом.
Делал на принципе заряда-разряда RC цепочки эталонными резисторами и измеряемым.
При этом делалась поправка на напряжение питания и термоуход конденсатора.
Использовал таймер и компаратор, встроенные в МК. Точность 0.1C в диапазоне 0-100С
Больше просто дисплей не позволяет. Причем в районе 100C точность должна быть максимальной, т.к.
измерение требовались "самогонщикам", а там очень трепетно нужно следить за графиком T.
Go to the top of the page
 
+Quote Post
Plain
сообщение Mar 10 2017, 12:38
Сообщение #10


Гуру
******

Группа: Участник
Сообщений: 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 рублей за каждую пайку.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Mar 10 2017, 13:15
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Plain @ Mar 10 2017, 15:38) *
11 рублей за каждую пайку.


Вот Вы очень ловко рубли считаете... А можете мне объяснить, как измерить один процент от опорного напряжения с точностью один процент микроконтроллерным АЦП, подмешивая пилу. Это же, как мне кажется, получается сотая процента.
Go to the top of the page
 
+Quote Post
Plain
сообщение Mar 10 2017, 14:02
Сообщение #12


Гуру
******

Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Да, для такого случая нужно накинуть пилой как минимум 3 разряда, чтобы стало 15 разрядов. А ещё неплохо бы откалибровать ШИМ'ом нелинейности встроенного АЦП.
Go to the top of the page
 
+Quote Post
Владимир
сообщение Mar 10 2017, 14:09
Сообщение #13


Гуру
******

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



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

Это теоретическое
Цитата
как минимум 3 разряда
это практическое.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Mar 10 2017, 14:19
Сообщение #14


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Plain @ Mar 10 2017, 17:02) *
Да, для такого случая нужно накинуть пилой как минимум 3 разряда, чтобы стало 15 разрядов. А ещё неплохо бы откалибровать ШИМ'ом нелинейности встроенного АЦП.

Вот не верю. Я бы подумала в сторону (если деньги считать...) самодельного АЦП на базе интегратора тока (трансимпедансного усилителя с конденсатором в обратной связи)... Можно подавать туда дозированные импульсы тока, поддерживая постоянный уровень. Дрейф емкости тут не важен. Только придется придумать небольшую схемку для учета сопротивления подводящих проводов к измеряемому резистору. Ведь процент от 30 ом - 0.3 ома. Если провода длинные, а температура меняется, то этого не избежать. Кажется забавным, но тут можно манганиновым проводом соединить.
Go to the top of the page
 
+Quote Post
Plain
сообщение Mar 10 2017, 15:04
Сообщение #15


Гуру
******

Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Цитата(Владимир @ Mar 10 2017, 17:09) *
Это теоретическое ... это практическое

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

Цитата(Tanya @ Mar 10 2017, 17:19) *
в сторону (если деньги считать...) самодельного АЦП на базе интегратора тока

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

Но конечно, компаратор лучше поставить честный отдельный, например MCP6541. Странно, что сумма одиночного ОУ и компаратора получается тоже 14 руб., чудо маркетинга.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 00:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01508 секунд с 7
ELECTRONIX ©2004-2016