замерить милливольты

pacik33
Offline
Зарегистрирован: 19.11.2015

Доброго времени суток! Урывками пытаюсь вникнуть в возможности ардуины, все на начальном уровне и как хобби. Недавно возникла необходимость мониторить разность потенциалов между двумя электродами. Напряжение от 0 до 1В (1000мВ) с точность до целых... Скетч из нескольких строчек я потяну написать, но возникают вопросы:

1. Справиться ли ардуинка с измерением до 10 милливольт?

2.Если да то с какой точностью?

3.Есть внешний источник питания опорного напряжения 1.1В, как его подключить к ардуине?

4. И наверное самое сложное как быть со сменой полярности на электродах ведь надо будет менять землю и аналоговый вход местами?    

Radjah
Offline
Зарегистрирован: 06.08.2014

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

У АЦП на МЕГЕ2560 (не знаю как у стальных, не ковырялся) есть режимы с предусилением сигнала в 10 и 200 раз, и режим с шумодавом. Да, они оба - дифференциальные, то есть можно подать свое опорное на второй пин .. не, не хватает?

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Чтобы не ловить бесплатно эфир - посмотрите в сторону операционников, установленных в точке, откуда планируется забирать милливольты. У ардуины 1024 отсчета у АЦП, так что надо поднимать свой сигнал к сравнимому с вольтами...

a5021
Offline
Зарегистрирован: 07.07.2013

Ардуина может измерять напряжения от опорное_напряжение/1024.  Атмега может иметь встроенную опору 1.1в, 2.56в или в качестве опоры можно использовать напряжение питания. Таким образом можно измерять напряжения от 1.1/1024 = 1,0714 милливольта или 2.56/1024 = 2.5 милливольта или 5/1024 = 4,883 милливольта. Это без всяких операционников. Здесь еще стоит напомнить, что источник измеряемого напряжения должен иметь сопротивление не больше 20 килоом, иначе измерения будут страдать неточностью. Впрочем, это справедливо для всякого измеряемого с помощью АЦП ардуины напряжения.

pacik33
Offline
Зарегистрирован: 19.11.2015

a5021 пишет:

Ардуина может измерять напряжения от опорное_напряжение/1024.  Атмега может иметь встроенную опору 1.1в, 2.56в или в качестве опоры можно использовать напряжение питания. Таким образом можно измерять напряжения от 1.1/1024 = 1,0714 милливольта или 2.56/1024 = 2.5 милливольта или 5/1024 = 4,883 милливольта. Это без всяких операционников. Здесь еще стоит напомнить, что источник измеряемого напряжения должен иметь сопротивление не больше 20 килоом, иначе измерения будут страдать неточностью. Впрочем, это справедливо для всякого измеряемого с помощью АЦП ардуины напряжения.

Спасибо большое. Хотелось бы обойтись конечно одной ардуиной... Внешний источник опорного напряжения 1.1 вольт старый советский с ртутью или чем-то вроде этого внутри... 1 милливольт это как раз то что мне нужно... хотя если получиться точнее буду рад...

В любом случае спасибо всем ответившим, буду курить тему с усилителем... 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011
a5021
Offline
Зарегистрирован: 07.07.2013

Если не нужна какая-то супер-пупер сверхточность, то внешний источник опорного напряжения не  нужен. Достаточно внутреннего ардуины.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

А разве нельзя подать внешнее опорное на AREF? Подаем 1мв и оцифровываем через встроенный шумодав и предусилитель с GAIN 200. Получаем точность 1*200 = 200/1024 .. 0.25мв.

uragan
Offline
Зарегистрирован: 23.02.2015

Насколько я понимаю делить нужно на 1023. Для упрощения возьмите 2 отрезка. 0-1-2. Шкала 1 вольт. Если получили при замере 1 - это сколько? 1:2*1= 0.5 А по вашему: 1:3*1=0.3.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Arhat109-2, вы когда последний раз работали с милливольтами? На таких малых входных напряжениях замучаешься с помехами бороться. А МК тарахтит как трактор, рассылая помехи широкогого спектра  по воздуху, по шинам данных,  питания и земли.   

Ну и кстати внешний  референс не должен быть менее 1в по даташиту.

Duino A.R.
Offline
Зарегистрирован: 25.05.2015

pacik33 пишет:

1. Справиться ли ардуинка с измерением до 10 милливольт?

2.Если да то с какой точностью?

3.Есть внешний источник питания опорного напряжения 1.1В, как его подключить к ардуине?

4. И наверное самое сложное как быть со сменой полярности на электродах ведь надо будет менять землю и аналоговый вход местами?    


Как то при обсуждении выпустили из виду, что производитель микросхемы МК не гарантирует верность показаний 2-х младших разрядов АЦП. Т.е. если речь идет о точности, то их нужно отбрасывать. Относительно милливольт и МК dimax правильно написал по поводу помех. А тут еще и смена полярности заявлена. На мой взгляд, фокус разработки здесь переносится в специализированную электронную часть - "усилитель-преобразователь" сигнала. Возможно, даже и с внешним АЦП. Закрадываются смутные сомнения, что Дуней хотят заменить заводской прибор в "сто тыш" ценой.:)))

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Duino A.R., внешнее АЦП решает все вопросы :) Взять хотя бы эту букашечку. Если ТС не собирается измерять переменку, и ему не нужны скоростные выборки, то это идеальный вариант. Дифф включение источника сигнала к АЦП снимает вопрос с полярностью, высокая разрядность снимает вопрос с точностью, встроенный предусилитель снимает вопрос с слабым сигналом.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

И всё это есть в дуне "в корпусе" .. разве что разрядность в дифф. режиме 9 бит и усиление фикс: 10 и 200 раз. С опроным просто не помню даташит .. от вольта, так от вольта. Тогда при 200х получим макс. сигнал около 5мв. или +-10. Насчет шумов - есть встроенный шумодав, тоже не ахти какой .. но есть. :)

Вопрос к требуемой точности. Поскольку мне тоже "сдается" .. ибо микрофонный шилд - усиливается и оцифровывается вполне нормально.

Гриша
Offline
Зарегистрирован: 27.04.2014

А что там с температурной нестабильностью? Или все учтено? Итого: шумы, температурка, опорное напряжение, малый входной сигнал, дрейф, низкое входное ...  может все же прецизионный ОУ, которого нет в МК. Я уже молчу про двухполярное питание, обоснованность которого зависит от частоты и постоянной составляющей  измеряемого сигнала. Что еще известно о сигнале - кроме 1000мВ?

Тянули мы провод с сигналом из одной комнаты в другую 30м, провод в экране, а словили помеху 50, 100, 150 Гц по нейтральному проводу 220В – была плохая развязка по питанию (БП подвели)…  так оказалось проще оборудование перенести, чем решить эту проблему…

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Перечитываем вдумчиво первый пост. "Изучаю ВОЗМОЖНОСТИ Ардуино" .. "от 0 и до 1000мв" .. сможет ли "до целых" .. то есть точность 1(один) милливольт. Да, ещё "разность потенциалов ДВУХ проводов"...

Ещё раз: согласно даташиту, есть встроенное опрное 1.1в, и АЦП позволяет оцифровывать до 10бит .. от 0 до 1024 в значениях. Есть дифф. режим, позволяющий оцифровывать РАЗНОСТЬ, есть встроенный шумодав "какой-никакой" а есть. Да, в даташите есть сноска что точность младших двух разрядов негарантируется, но там же есть отсылка к шумодаву и необходимости его применения для повышенной точности, впрочем как и рекомендации по опорному напряжению. Да, внешнее опорное - подать тоже можно.

Итого: 1.1в при разрядности 10бит (с шумодавом и прочими рекомендациями точность вполне достижима) дает 1,074в на одно значение. То есть "до целых" достижимо, но на пределе. С внешним опорным в 1в - вполне достижимо. Кроме этого, в диф.. режимах есть режимы предусилителя входного сигнала в 10 и 200 раз. Что позволяет измерять разности на уровне 5 милливольт .. даже только с 8 битами, но это даст точность в районе 20 микровольт. .. то есть "запас" есть - всяко.

А вот надо ли автору внешний АЦП, внешнее опорное и что он хочет сотворить - нам не известно. :)

Ну и как оно будет использовано, как понимаю сильно немаловажно. Вот сделал обработку прерываний PCINT2 для Меги.. и? Втыкаю сигнал echo от узв. сенсора в Analog9, а прерывание настраиваю на съем с Analog8 (не туда втыкнул, "промах") и? А нормально хватает и считает, несмотря на то что вход висит открытый, а сигнал шпарит по соседней ноге. Не сразу даже и обнаружил промах.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Arhat109-2, как то всё гладко у вас, в теории-то.  Но в реальной жизни всплывут нюансы. Того же дифф режима в "народной" атмеге328 нет. А там, где он есть поджидают ещё сюрпризы -в дифф режиме разрядность АЦП падает до 8 бит. При этом мусор в младших битах никто не отменял, так что честных будет лишь 6 бит. Если милливольты усилить в 200 раз, то будет ещё сюрприз - толпой прибегут помехи от всего, чего только можно)

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

dimax пишет:

Duino A.R., внешнее АЦП решает все вопросы :) Взять хотя бы эту букашечку. Если ТС не собирается измерять переменку, и ему не нужны скоростные выборки, то это идеальный вариант. Дифф включение источника сигнала к АЦП снимает вопрос с полярностью, высокая разрядность снимает вопрос с точностью, встроенный предусилитель снимает вопрос с слабым сигналом.

Жалко, что тут нету лички.

dimax, а вы чем в реальной жизни занимаетесь? С вашими знаниями КБ можно возглавлять...

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Gippopotam, да знаний не так много у меня, как кажется :-) ,  я обычный радиолюбитель. На работе обслуживаю комп. оборудование, it-инженер.

Гриша
Offline
Зарегистрирован: 27.04.2014

Gippopotam пишет:

Жалко, что тут нету лички.

Я против, мне тоже интересно для общего развития :) , делитесь жизненным опытом.

UPD, а вам не доводилось получать "дубовую"  плату УНЧ после разводки, которая "звенит" как генератор белого шума? Или вы сами разводите?

UUPD, что еще нам известно о сигнале кроме его размаха?

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

dimax пишет:

Gippopotam, да знаний не так много у меня, как кажется :-) ,  я обычный радиолюбитель. На работе обслуживаю комп. оборудование, it-инженер.

Такой талант пропадает...

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Gippopotam, был бы  талант... У нас на форуме много технически более  подкованных ребят, чем я, например  axill, a5021, Гриша  :) Причём статьи Axill`а на радиокоте я видел ещё до того, как узнал про ардуино. Тогда мне казалось, что сделать какую-нибудь интересную самоделку на МК, и ещё и программу под него написать -это только для гениев! ;)  Потом конечно узнал, что не так всё сложно как казалось, но тем не менее сам ничего действительно нового не разработал, только за другими повторяю..:\

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

dimax пишет:

Gippopotam, был бы  талант... У нас на форуме много технически более  подкованных ребят, чем я, например  axill, a5021, Гриша  :) Причём статьи Axill`а на радиокоте я видел ещё до того, как узнал про ардуино. Тогда мне казалось, что сделать какую-нибудь интересную самоделку на МК, и ещё и программу под него написать -это только для гениев! ;)  Потом конечно узнал, что не так всё сложно как казалось, но тем не менее сам ничего действительно нового не разработал, только за другими повторяю..:\

Не прибедняйтесь. Я с интересом читаю ваши посты. Коротко, емко, в тему. Даже завидно.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Так я не исключаю проблем, ограничений и сюрпризов от помех (отписал про помехи на прерывании) .. как вопрос был задан, так и ответил. А что там на самом деле собрался делать автор - он жеж так и не рассказал. :)

Делал прием и оцифровку сигнала от микрофонного шилда в диф. режиме на Меге2560 - меня "устроило". Но, рекомендовать делать так - тоже не буду. Ибо не знаю "чего хочет автор".

А с точки зрения "теории" - оно так как написано, ибо даташит. Кстати, где указано про 8 бит в диф.. режиме? У меня написано -512..511, то есть 9 + знак, что вполне ожидаемо. Да и работало вроде бы..

Просмотрел ещё раз даташит. Ну и? Нет там ни слова про 8 бит в диф. режиме. Есть, что вы можете не считывать старший регистр если вам больше 8 не треба, и есть что при оцифровке без старших разрядов скорость конверсии может быть значительно выше .. вплоть до 1Мгц. Неточность АЦП нормирована 2делениями и это суммарно. На самом деле ошибка малого сигнала 0.5 деления, ошибка большого сигнала от 0.5 до 1.5 деления и ошибка середины плюс-минус полделения. Есть рекомендации что шумодав работает при нестабильности внешнего опорного сигнала не более 300мв.

Даже пример есть:

Example:
ADMUX = 0xFB (ADC3 - ADC2, 10× gain, 2.56V reference, left adjusted result).
Voltage on ADC3 is 300mV, voltage on ADC2 is 500mV.
ADCR = 512 × 10 × (300 - 500) / 2560 = -400 = 0x270.
ADCL will thus read 0x00, and ADCH will read 0x9C. Writing zero to ADLAR right adjusts the
result: ADCL = 0x70, ADCH = 0x02.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Arhat109-2, ну да, с одной стороны  9 бит в дифф режиме, с другой стороны в том же даташите сказано следующее: "Семь дифференциальных аналоговых каналов используют общий инвертирующий вход (ADC1), а все остальные входы АЦП выполняют функцию неинвертирующих входов. Если выбрано усиление 1x или 10x, то можно ожидать 8-разр. разрешение, а если 200x, то 7-разрядное."  Режим шумопонижения в меге -это отдельная песня, я им интересовался с момента первых опытов с ардуино. Cобирал всякие цепи шумодобавки по апноуту, но в реальности этот режим шумопонижения практически не влияет на точность оцифровки. Поиск в инете тоже не дал результата, никто нигде не писал, что дескать я применил режим шумопонижения и получил отличные результаты. Позднее я понял, что  АЦП последовательного приближения в принципе не могут давать стабильные выборки. Реально качественно цифруют либо АЦП двойного интегрирования, либо сигма-дельта. Ацп  меги хорош только быстродействием, и тем что он там уже есть :)

 

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Дайте страничку даташита, где есть эта цитата .. плиз. У меня документ 2549.pdf, скачанный у Атмела и я там ничего подобного не нашел. Заранее благодарю, мне это очень интересно.

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

Но, ещё раз. Верно: основное достоинство в том что все это есть на борту. Уже есть. Да, вот такое корявенькое, последовательное .. но получить в диапазоне 0..1В точность до 1мв - МОЖНО. Что собственно и спрашивал автор.

Ещё раз: я не спорю с вами. Вы совершенно правы в части наличия значительно лучших приборов .. автор их не просил. Только и всего. :)

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Arhat109-2, да вроде в том-же 2549 есть, вот прямая ссылка даташит от 1280/2560,  там 268 страница. Фраза очень странная, не знаю как её растолковать. Но помимо неё мне ещё где-то встречалась про 8 бит в дифф, но где уже не помню.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Странно .. название файла одно и тоже, но у меня описание АЦП идет с 275 стр., есть эта фраза в превью к АЦП, видимо не обращал внимания (редко читаю превью до конца).

Отсюда видимо и про 2 младших бита, что не точно измеряет. Хотя в разделе Accuracy достаточно внятно прописано и даны графики возможных ошибок от амплитуды .. и там стоит 2 LSB (0.5 + 1.5), а не 4, да и про потерю точности в режиме 200х в этом разделе нет ни слова. Нигде по разделу АЦП объяснений и/или примечаний к такой "заяве" нет вовсе ни в моем ни в вашем варианте.

pacik33
Offline
Зарегистрирован: 19.11.2015

Доброго всем времени суток. Спасибо за ответы! Даже не думал что их будет столько. По поводу устройства: Это коса примерно 100м длинной 10(или 8) электродов подвешенная в толще воды неибходим мониторинг изменения потенциала всех электродов относительно одного нулевого у поверхности воды... Также  в косе истоят термодачики 10шт. сигнал с которых обрабатывает дуня...Но сдесь все просто. Для чего это нужно? Скажем так иследовательская работа. Есть уже работаюшая установка но 50-х годов с лампами и фотоумножителями сигнала, это громозко и жутко не удобно.. Иногда бывает проше замерить потенциал тестором.. С помошью дуни пытаюсь автоматизировать процесс. Также прошу прошения за грамматику и редкие ответы, к сожалению перебои со светом вносят коррективу в работу интернет провайдеров... :( 

pacik33
Offline
Зарегистрирован: 19.11.2015
ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

а вот вопрос, чисто ардуиной мерить ток в пределах 0 - 1.5А с такого прибора получится? - https://ru.aliexpress.com/item/0-28-Red-Blue-LED-DC-0-100V-10A-Dual-disp...

Шунт в нём по внешнему виду 75 милливольт.
Точнее даже не мерять, а регулировать придётся на максимум тока в устройстве ( для регулировки потенциометр используется)
Или без внешнего ацп не получится?

Гриша
Offline
Зарегистрирован: 27.04.2014

ua6em пишет:

а вот вопрос, чисто ардуиной мерить ток в пределах 0 - 1.5А с такого прибора получится? - https://ru.aliexpress.com/item/0-28-Red-Blue-LED-DC-0-100V-10A-Dual-disp...

Шунт в нём по внешнему виду 75 милливольт.
Точнее даже не мерять, а регулировать придётся на максимум тока в устройстве ( для регулировки потенциометр используется)
Или без внешнего ацп не получится?

смотрите в эту сторону:

ACS712 provides economical and precise  solutions for AC or DC current sensing in industrial, automotive, commercial, and communications systems. The device package allows for easy implementation by the customer. Typical applications include motor control, load detection and management, switched-mode power supplies, and overcurrent fault protection.

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Гриша пишет:

ua6em пишет:

а вот вопрос, чисто ардуиной мерить ток в пределах 0 - 1.5А с такого прибора получится? - https://ru.aliexpress.com/item/0-28-Red-Blue-LED-DC-0-100V-10A-Dual-disp...

Шунт в нём по внешнему виду 75 милливольт.
Точнее даже не мерять, а регулировать придётся на максимум тока в устройстве ( для регулировки потенциометр используется)
Или без внешнего ацп не получится?

смотрите в эту сторону:

ACS712 provides economical and precise  solutions for AC or DC current sensing in industrial, automotive, commercial, and communications systems. The device package allows for easy implementation by the customer. Typical applications include motor control, load detection and management, switched-mode power supplies, and overcurrent fault protection.

 

у оной 66 милливольт выходного на ампер, а мне надо возле ампера выдавливать на максимум тока. Как вариант!!! Но хотелось бы малой кровью, провода никуда тянуть не надо, всё в доступности 25-30 миллиметров.
Вопрос, где в даташите постотреть по использованию АЦП (выставить усиление, включить шумодав), а можети кодом поделитесь

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

a5021 пишет:

Ардуина может измерять напряжения от опорное_напряжение/1024.  Атмега может иметь встроенную опору 1.1в, 2.56в или в качестве опоры можно использовать напряжение питания. Таким образом можно измерять напряжения от 1.1/1024 = 1,0714 милливольта или 2.56/1024 = 2.5 милливольта или 5/1024 = 4,883 милливольта. Это без всяких операционников. Здесь еще стоит напомнить, что источник измеряемого напряжения должен иметь сопротивление не больше 20 килоом, иначе измерения будут страдать неточностью. Впрочем, это справедливо для всякого измеряемого с помощью АЦП ардуины напряжения.

А каким кодом задается выбор опорного напряжения 1.1, 2.56 или напряжение питания

nik182
Offline
Зарегистрирован: 04.05.2015
ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Благодарю!