замерить милливольты
- Войдите на сайт для отправки комментариев
Пт, 27/11/2015 - 00:16
Доброго времени суток! Урывками пытаюсь вникнуть в возможности ардуины, все на начальном уровне и как хобби. Недавно возникла необходимость мониторить разность потенциалов между двумя электродами. Напряжение от 0 до 1В (1000мВ) с точность до целых... Скетч из нескольких строчек я потяну написать, но возникают вопросы:
1. Справиться ли ардуинка с измерением до 10 милливольт?
2.Если да то с какой точностью?
3.Есть внешний источник питания опорного напряжения 1.1В, как его подключить к ардуине?
4. И наверное самое сложное как быть со сменой полярности на электродах ведь надо будет менять землю и аналоговый вход местами?
У АЦП на МЕГЕ2560 (не знаю как у стальных, не ковырялся) есть режимы с предусилением сигнала в 10 и 200 раз, и режим с шумодавом. Да, они оба - дифференциальные, то есть можно подать свое опорное на второй пин .. не, не хватает?
Чтобы не ловить бесплатно эфир - посмотрите в сторону операционников, установленных в точке, откуда планируется забирать милливольты. У ардуины 1024 отсчета у АЦП, так что надо поднимать свой сигнал к сравнимому с вольтами...
Ардуина может измерять напряжения от опорное_напряжение/1024. Атмега может иметь встроенную опору 1.1в, 2.56в или в качестве опоры можно использовать напряжение питания. Таким образом можно измерять напряжения от 1.1/1024 = 1,0714 милливольта или 2.56/1024 = 2.5 милливольта или 5/1024 = 4,883 милливольта. Это без всяких операционников. Здесь еще стоит напомнить, что источник измеряемого напряжения должен иметь сопротивление не больше 20 килоом, иначе измерения будут страдать неточностью. Впрочем, это справедливо для всякого измеряемого с помощью АЦП ардуины напряжения.
Ардуина может измерять напряжения от опорное_напряжение/1024. Атмега может иметь встроенную опору 1.1в, 2.56в или в качестве опоры можно использовать напряжение питания. Таким образом можно измерять напряжения от 1.1/1024 = 1,0714 милливольта или 2.56/1024 = 2.5 милливольта или 5/1024 = 4,883 милливольта. Это без всяких операционников. Здесь еще стоит напомнить, что источник измеряемого напряжения должен иметь сопротивление не больше 20 килоом, иначе измерения будут страдать неточностью. Впрочем, это справедливо для всякого измеряемого с помощью АЦП ардуины напряжения.
Спасибо большое. Хотелось бы обойтись конечно одной ардуиной... Внешний источник опорного напряжения 1.1 вольт старый советский с ртутью или чем-то вроде этого внутри... 1 милливольт это как раз то что мне нужно... хотя если получиться точнее буду рад...
В любом случае спасибо всем ответившим, буду курить тему с усилителем...
Этот что-ли ?
https://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C...
https://www.google.ru/search?q=%D0%B8%D0%BE%D0%BD&newwindow=1&biw=1920&b...
Если не нужна какая-то супер-пупер сверхточность, то внешний источник опорного напряжения не нужен. Достаточно внутреннего ардуины.
А разве нельзя подать внешнее опорное на AREF? Подаем 1мв и оцифровываем через встроенный шумодав и предусилитель с GAIN 200. Получаем точность 1*200 = 200/1024 .. 0.25мв.
Насколько я понимаю делить нужно на 1023. Для упрощения возьмите 2 отрезка. 0-1-2. Шкала 1 вольт. Если получили при замере 1 - это сколько? 1:2*1= 0.5 А по вашему: 1:3*1=0.3.
Arhat109-2, вы когда последний раз работали с милливольтами? На таких малых входных напряжениях замучаешься с помехами бороться. А МК тарахтит как трактор, рассылая помехи широкогого спектра по воздуху, по шинам данных, питания и земли.
Ну и кстати внешний референс не должен быть менее 1в по даташиту.
1. Справиться ли ардуинка с измерением до 10 милливольт?
2.Если да то с какой точностью?
3.Есть внешний источник питания опорного напряжения 1.1В, как его подключить к ардуине?
4. И наверное самое сложное как быть со сменой полярности на электродах ведь надо будет менять землю и аналоговый вход местами?
Как то при обсуждении выпустили из виду, что производитель микросхемы МК не гарантирует верность показаний 2-х младших разрядов АЦП. Т.е. если речь идет о точности, то их нужно отбрасывать. Относительно милливольт и МК dimax правильно написал по поводу помех. А тут еще и смена полярности заявлена. На мой взгляд, фокус разработки здесь переносится в специализированную электронную часть - "усилитель-преобразователь" сигнала. Возможно, даже и с внешним АЦП. Закрадываются смутные сомнения, что Дуней хотят заменить заводской прибор в "сто тыш" ценой.:)))
Duino A.R., внешнее АЦП решает все вопросы :) Взять хотя бы эту букашечку. Если ТС не собирается измерять переменку, и ему не нужны скоростные выборки, то это идеальный вариант. Дифф включение источника сигнала к АЦП снимает вопрос с полярностью, высокая разрядность снимает вопрос с точностью, встроенный предусилитель снимает вопрос с слабым сигналом.
И всё это есть в дуне "в корпусе" .. разве что разрядность в дифф. режиме 9 бит и усиление фикс: 10 и 200 раз. С опроным просто не помню даташит .. от вольта, так от вольта. Тогда при 200х получим макс. сигнал около 5мв. или +-10. Насчет шумов - есть встроенный шумодав, тоже не ахти какой .. но есть. :)
Вопрос к требуемой точности. Поскольку мне тоже "сдается" .. ибо микрофонный шилд - усиливается и оцифровывается вполне нормально.
А что там с температурной нестабильностью? Или все учтено? Итого: шумы, температурка, опорное напряжение, малый входной сигнал, дрейф, низкое входное ... может все же прецизионный ОУ, которого нет в МК. Я уже молчу про двухполярное питание, обоснованность которого зависит от частоты и постоянной составляющей измеряемого сигнала. Что еще известно о сигнале - кроме 1000мВ?
Тянули мы провод с сигналом из одной комнаты в другую 30м, провод в экране, а словили помеху 50, 100, 150 Гц по нейтральному проводу 220В – была плохая развязка по питанию (БП подвели)… так оказалось проще оборудование перенести, чем решить эту проблему…
Перечитываем вдумчиво первый пост. "Изучаю ВОЗМОЖНОСТИ Ардуино" .. "от 0 и до 1000мв" .. сможет ли "до целых" .. то есть точность 1(один) милливольт. Да, ещё "разность потенциалов ДВУХ проводов"...
Ещё раз: согласно даташиту, есть встроенное опрное 1.1в, и АЦП позволяет оцифровывать до 10бит .. от 0 до 1024 в значениях. Есть дифф. режим, позволяющий оцифровывать РАЗНОСТЬ, есть встроенный шумодав "какой-никакой" а есть. Да, в даташите есть сноска что точность младших двух разрядов негарантируется, но там же есть отсылка к шумодаву и необходимости его применения для повышенной точности, впрочем как и рекомендации по опорному напряжению. Да, внешнее опорное - подать тоже можно.
Итого: 1.1в при разрядности 10бит (с шумодавом и прочими рекомендациями точность вполне достижима) дает 1,074в на одно значение. То есть "до целых" достижимо, но на пределе. С внешним опорным в 1в - вполне достижимо. Кроме этого, в диф.. режимах есть режимы предусилителя входного сигнала в 10 и 200 раз. Что позволяет измерять разности на уровне 5 милливольт .. даже только с 8 битами, но это даст точность в районе 20 микровольт. .. то есть "запас" есть - всяко.
А вот надо ли автору внешний АЦП, внешнее опорное и что он хочет сотворить - нам не известно. :)
Ну и как оно будет использовано, как понимаю сильно немаловажно. Вот сделал обработку прерываний PCINT2 для Меги.. и? Втыкаю сигнал echo от узв. сенсора в Analog9, а прерывание настраиваю на съем с Analog8 (не туда втыкнул, "промах") и? А нормально хватает и считает, несмотря на то что вход висит открытый, а сигнал шпарит по соседней ноге. Не сразу даже и обнаружил промах.
Arhat109-2, как то всё гладко у вас, в теории-то. Но в реальной жизни всплывут нюансы. Того же дифф режима в "народной" атмеге328 нет. А там, где он есть поджидают ещё сюрпризы -в дифф режиме разрядность АЦП падает до 8 бит. При этом мусор в младших битах никто не отменял, так что честных будет лишь 6 бит. Если милливольты усилить в 200 раз, то будет ещё сюрприз - толпой прибегут помехи от всего, чего только можно)
Duino A.R., внешнее АЦП решает все вопросы :) Взять хотя бы эту букашечку. Если ТС не собирается измерять переменку, и ему не нужны скоростные выборки, то это идеальный вариант. Дифф включение источника сигнала к АЦП снимает вопрос с полярностью, высокая разрядность снимает вопрос с точностью, встроенный предусилитель снимает вопрос с слабым сигналом.
Жалко, что тут нету лички.
dimax, а вы чем в реальной жизни занимаетесь? С вашими знаниями КБ можно возглавлять...
Gippopotam, да знаний не так много у меня, как кажется :-) , я обычный радиолюбитель. На работе обслуживаю комп. оборудование, it-инженер.
Жалко, что тут нету лички.
Я против, мне тоже интересно для общего развития :) , делитесь жизненным опытом.
UPD, а вам не доводилось получать "дубовую" плату УНЧ после разводки, которая "звенит" как генератор белого шума? Или вы сами разводите?
UUPD, что еще нам известно о сигнале кроме его размаха?
Gippopotam, да знаний не так много у меня, как кажется :-) , я обычный радиолюбитель. На работе обслуживаю комп. оборудование, it-инженер.
Такой талант пропадает...
Gippopotam, был бы талант... У нас на форуме много технически более подкованных ребят, чем я, например axill, a5021, Гриша :) Причём статьи Axill`а на радиокоте я видел ещё до того, как узнал про ардуино. Тогда мне казалось, что сделать какую-нибудь интересную самоделку на МК, и ещё и программу под него написать -это только для гениев! ;) Потом конечно узнал, что не так всё сложно как казалось, но тем не менее сам ничего действительно нового не разработал, только за другими повторяю..:\
Gippopotam, был бы талант... У нас на форуме много технически более подкованных ребят, чем я, например axill, a5021, Гриша :) Причём статьи Axill`а на радиокоте я видел ещё до того, как узнал про ардуино. Тогда мне казалось, что сделать какую-нибудь интересную самоделку на МК, и ещё и программу под него написать -это только для гениев! ;) Потом конечно узнал, что не так всё сложно как казалось, но тем не менее сам ничего действительно нового не разработал, только за другими повторяю..:\
Не прибедняйтесь. Я с интересом читаю ваши посты. Коротко, емко, в тему. Даже завидно.
Так я не исключаю проблем, ограничений и сюрпризов от помех (отписал про помехи на прерывании) .. как вопрос был задан, так и ответил. А что там на самом деле собрался делать автор - он жеж так и не рассказал. :)
Делал прием и оцифровку сигнала от микрофонного шилда в диф. режиме на Меге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.
Arhat109-2, ну да, с одной стороны 9 бит в дифф режиме, с другой стороны в том же даташите сказано следующее: "Семь дифференциальных аналоговых каналов используют общий инвертирующий вход (ADC1), а все остальные входы АЦП выполняют функцию неинвертирующих входов. Если выбрано усиление 1x или 10x, то можно ожидать 8-разр. разрешение, а если 200x, то 7-разрядное." Режим шумопонижения в меге -это отдельная песня, я им интересовался с момента первых опытов с ардуино. Cобирал всякие цепи шумодобавки по апноуту, но в реальности этот режим шумопонижения практически не влияет на точность оцифровки. Поиск в инете тоже не дал результата, никто нигде не писал, что дескать я применил режим шумопонижения и получил отличные результаты. Позднее я понял, что АЦП последовательного приближения в принципе не могут давать стабильные выборки. Реально качественно цифруют либо АЦП двойного интегрирования, либо сигма-дельта. Ацп меги хорош только быстродействием, и тем что он там уже есть :)
Дайте страничку даташита, где есть эта цитата .. плиз. У меня документ 2549.pdf, скачанный у Атмела и я там ничего подобного не нашел. Заранее благодарю, мне это очень интересно.
Ну конечно оно всё так как Вы пишете .. я развеж где-то спорю с этим? Конечно же "шумодав" там какой-никакой .. и толку от него "шиш да маленько" .. ну перечитайте. Конечно же в последовательных АЦП (а у Меги он именно такой, уж не знаю есть где другой у Атмела) роль шумодава ваще ограничена .. и это факт, а не реклама. Да и быстродействие, ваще-то оставляет желать лучшего .. и требования "при работающем шумодаве в момент оцифровки не должно прилетать прерываний ЦПУ, иначе .." ну далее по тексту .. маразм.
Но, ещё раз. Верно: основное достоинство в том что все это есть на борту. Уже есть. Да, вот такое корявенькое, последовательное .. но получить в диапазоне 0..1В точность до 1мв - МОЖНО. Что собственно и спрашивал автор.
Ещё раз: я не спорю с вами. Вы совершенно правы в части наличия значительно лучших приборов .. автор их не просил. Только и всего. :)
Arhat109-2, да вроде в том-же 2549 есть, вот прямая ссылка даташит от 1280/2560, там 268 страница. Фраза очень странная, не знаю как её растолковать. Но помимо неё мне ещё где-то встречалась про 8 бит в дифф, но где уже не помню.
Странно .. название файла одно и тоже, но у меня описание АЦП идет с 275 стр., есть эта фраза в превью к АЦП, видимо не обращал внимания (редко читаю превью до конца).
Отсюда видимо и про 2 младших бита, что не точно измеряет. Хотя в разделе Accuracy достаточно внятно прописано и даны графики возможных ошибок от амплитуды .. и там стоит 2 LSB (0.5 + 1.5), а не 4, да и про потерю точности в режиме 200х в этом разделе нет ни слова. Нигде по разделу АЦП объяснений и/или примечаний к такой "заяве" нет вовсе ни в моем ни в вашем варианте.
Доброго всем времени суток. Спасибо за ответы! Даже не думал что их будет столько. По поводу устройства: Это коса примерно 100м длинной 10(или 8) электродов подвешенная в толще воды неибходим мониторинг изменения потенциала всех электродов относительно одного нулевого у поверхности воды... Также в косе истоят термодачики 10шт. сигнал с которых обрабатывает дуня...Но сдесь все просто. Для чего это нужно? Скажем так иследовательская работа. Есть уже работаюшая установка но 50-х годов с лампами и фотоумножителями сигнала, это громозко и жутко не удобно.. Иногда бывает проше замерить потенциал тестором.. С помошью дуни пытаюсь автоматизировать процесс. Также прошу прошения за грамматику и редкие ответы, к сожалению перебои со светом вносят коррективу в работу интернет провайдеров... :(
Этот что-ли ?
https://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C...
https://www.google.ru/search?q=%D0%B8%D0%BE%D0%BD&newwindow=1&biw=1920&b...
да
а вот вопрос, чисто ардуиной мерить ток в пределах 0 - 1.5А с такого прибора получится? - https://ru.aliexpress.com/item/0-28-Red-Blue-LED-DC-0-100V-10A-Dual-disp...
Шунт в нём по внешнему виду 75 милливольт.
Точнее даже не мерять, а регулировать придётся на максимум тока в устройстве ( для регулировки потенциометр используется)
Или без внешнего ацп не получится?
а вот вопрос, чисто ардуиной мерить ток в пределах 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.
а вот вопрос, чисто ардуиной мерить ток в пределах 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 миллиметров.
Вопрос, где в даташите постотреть по использованию АЦП (выставить усиление, включить шумодав), а можети кодом поделитесь
Ардуина может измерять напряжения от опорное_напряжение/1024. Атмега может иметь встроенную опору 1.1в, 2.56в или в качестве опоры можно использовать напряжение питания. Таким образом можно измерять напряжения от 1.1/1024 = 1,0714 милливольта или 2.56/1024 = 2.5 милливольта или 5/1024 = 4,883 милливольта. Это без всяких операционников. Здесь еще стоит напомнить, что источник измеряемого напряжения должен иметь сопротивление не больше 20 килоом, иначе измерения будут страдать неточностью. Впрочем, это справедливо для всякого измеряемого с помощью АЦП ардуины напряжения.
А каким кодом задается выбор опорного напряжения 1.1, 2.56 или напряжение питания
http://arduino.ru/Reference/AnalogReference
http://arduino.ru/Reference/AnalogReference
Благодарю!