Какое минимальное опорное напряжение может быть?
- Войдите на сайт для отправки комментариев
Чт, 06/10/2016 - 14:54
Имею плату UNO.
Возникла потребность точного измерения сигнала с датчика с максимальным напряжением не более 0,1 вольт.
Следовательно для повышения точности при проведениии измерений мне нужен опорный источник с напряжением менее чем стандартный 1,1 вольт.
Вопрос:
Могу ли я используя функцию analogReference(EXTERNAL)
подать на вход AREF напряжение 0,1 вольт.
Будет ли нормально работать АЦП?
Правильно ли я понимаю, что в этом случае значение АЦП в 1023 будет соответствовать напряжению на аналоговом входе 0,1 вольт?
У кого есть опыт точных измерений?
Какое минимальное напряжение возможно измерить с достаточной точностью непосредственно аналоговыми входами платы?
(с учетом цифровых наводок при работе контроллера)
FAI4, в даташите референс чётко регламентирован от 1в до AVcc. Нужно применять внешний ADC с дифф входом и встроенным усилением.
Т.е. AREF делать менее 1 вольта нельзя - ?
Зачем обязательно внешний АЦП - ?
Как промежуточный вариант наверное можно поставить внешний малошумящий ОУ с нормированным Кус,(например в 10 раз)
Можно, но только ценой увеличения относительной погрешности. Т.е. абсолютная точность от этого не возрастет, увеличится лишь количество "шумовых" разрядов.
Если я буду измерять например 10 мВ, то с опорным напряжением в 1,1 Вольта это будет на уровне 3-4 значащих разрядов,
т.е. здесь 1 младший разряд будет равен 1/16 = 6%
Это очень большая погрешность.
Если я усилю сигнал в 10 раз, то измерять буду уже 100 мВ, а это уже 6-7 значащих двоичных разрядов
Значит погрешность одного разряда уже будет равно = 1 / 128 = 0,8%
Это уже совсем иное дело.
Понятно, что ОУ будет иметь свое смещение, но вполне можно его отбалансировать, чобы на выходе было менее 1мВ (при 100 мВ сигнала).
Пусть еще +1%
Итого 2% против 6% - это будет лучше.
А кто сказал что на вход AREF нельзя подавать внешнее опорное напряжение менее, чем 1 вольт - ?
Где именно это написано?
Пришлите пожалуйста ссылку или выдержку (из техданных), если возможно.
А кто сказал что на вход AREF нельзя подавать внешнее опорное напряжение менее, чем 1 вольт - ? Где именно это написано? Пришлите пожалуйста ссылку или выдержку (из техданных), если возможно.
До чего народ обленился. , а самому окрыть даташит и почитать характеристики -не царское дело?
На этой странице нет таких данных
http://arduino.ru/Hardware/ArduinoBoardUno
Где еще можно посмотреть?
Там документации только схема и разводка ПП
http://www.alldatasheet.com/datasheet-pdf/pdf/241077/ATMEL/ATMEGA328P.html
Скачиваем и изучаем.
Пардон, лучше так:
http://www.alldatasheet.com/datasheet-pdf/pdf/313656/ATMEL/ATmega328P.html
Там НИГДЕ нет такого ограничения.
Везде просто указано что AREF - вход (выход) опорного напряжения для АЦП.
Где вы нашли что это напряжение не может быть менее 1 В (в случае использования режима "внешнего источника")?
FAI4, ох, не стоит бросаться словами "все Даташит вдоль и поперек". Я его как библию каждый день читаю, и то не всё проштудировал :) И так, смотрим: страница 323, таблица 28-7 ADC Characteristics
Да, сейчас нашел в этой даташит.
(Смотрел 2 других варианта (краткий - 28 стр и другой большой) - там не было эти данных)
Спасибо за помощь!
ЗЫ. Все равно проведу эксперимент.
Электирически ничего повредится не может если будет внешнее опорное например 0,2 вольта (менее 1 В).
Видимо при таком напряжении точность измерений совсем никудышняя. поэтому производитель и не советует брать ниже этого уровня.
Спасибо всем, кто помогал!
Это мой первый проект и вообще первое знакомство с миром Arduino.
Аппаратная часть проекта закончена.
Arduino UNO управляет 9-ю 8-разрядными светодиодными индикаторами АЛС324А.
На них отображаются 3 независимые группы цифр:
1: 3 разряда - фактические измерения с датчика
2. 2 разряда. Здесь программно подбирается наиболее близкий к фактическому значению (по минимуму отклонения) из стандартного ряда Диафрагменных чисел 1, 1.4, 2, 2.8, 4, 5.6, ....
3. 4 разряда. Здесь отображается отклонение в % (со знаком) показания 1 от показания 2
Поскольку контроллер MAX7219 может управлять только 8-ю разрядами,
то 9-м индикатором пришлось управлять напрямую с платы.
Благо, что выводов хватило на все.
Ставить еще одну 7219 посчитал нецелесообразным ради одной цифры.
Сигнал на обработку береться с 2-х аналоговых датчиков.
Подключены еще 4 устройства управления:
2 кнопки и 4 концевика, сообщающие о конфигурации измеряемого объекта.
Очень сильный эффект был получен от усреднения результатов измерений (усреднение примерно по 100 отсчетам)
Также сильный эффект дала определенная номированная задержка между измерениями.
Здесь оказалось важно не попасть в гармонику от 50 Гц.
Удачно подобранный параметр улучшает измерения примерно в 10 раз .
В результате цифры стоят "как вкопанные".
(И это при уровне сигнала с чувствительного датчика около 20-80 милливольт.)
Даже в младшем разряде не наблюдается движений.
Без усреднения разброс показаний был примерно в 20 раз хуже.
По ощущениям, математическай обработка (усреднение) виртуально "добавляет" несколько разрядов к базовой разрядности АЦП.
Посмотрим дальше на реальных измерениях, будет ли достаточно 10 бит на плате или придется ставить предварительный усилитель сигнала, либо подключать внешнюю прецизионную плату АЦП (20 бит).
ЗЫ. Вставил бы фото устойства, но не знаю как это сделать...
Также сильный эффект дала определенная номированная задержка между измерениями.
Здесь оказалось важно не попасть в гармонику от 50 Гц.
Удачно подобранный параметр улучшает измерения примерно в 10 раз .
В результате цифры стоят "как вкопанные".
(И это при уровне сигнала с чувствительного датчика около 20-80 милливольт.)
Даже в младшем разряде не наблюдается движений.
Без усреднения разброс показаний был примерно в 20 раз хуже.
Меня бы сильно насторожило отсутсвие шумов с аналоговых датчиков. Поскольку одна и таже ардуино и меряет и драйвит цифры - возможен эффект ПОС или "залипания", когда индикация одного из сегментов меняет показания АЦП и зависает. Проверить легко, взять батарейку резюк и пот, крутилкой менять 0-20мВ и смотреть линейность и непрерывность.
FAI4, хороший отчет, только есть ряд неясностей. В частности, так во сколько раз у Вас улучшился результат при усреднении? В 10 или 20?
По теории при усреднении по 100 измерениям случайная ошибка должна уменьшится в 10 раз.
Но (!) хотелось бы отметить, что так ведет себя только случайная ошибка, на систематическую это никак не влияет. А систематическая обязательно есть, причем, если Вы выходите за рамки рекомендованного производителем диапазона опорных напряжений, в первую очередь увеличиваться будут именно систематические ошибки. Поэтому я присоединяюсь к совету MagicianT - проверить/проградуировать Ваш вольтметр заведомо исправным измерительным прибором.
Ну и не увлекаться усреднением - оно имеет смысл лишь при условии превышения случайной ошибки над систематической. Обычно при разработке стараются сделать изделие сбалансированным. Разработчик с одной стороны установил разрядность АЦП равной 10, а с другой - пишет о недостоверности двух младших разрядов. Вот только за эти два разряда и имеет смысл бороться. Дальше - бессмысленно. А это - усреднение по 16 измерениям. У Вас, правда, есть дополнительный источник помехи - сетевая наводка 50 Гц. С ней тоже нужно бороться. Желательно - аппаратно (конденсатор на входе). Но можно и программно - равномерно распределив эти 16 измерений по интервалу периода в 20 мс, т.е. одно измерение каждые 1.25 мс. Ну или 20.0*N + 1.25 мс, где N - целое число.
Судя по употребленному Вами термину "Диафрагменные числа" Вы не очень дружите с математикой. Этор ряд - ряд степеней двойки с шагом 0.5. Ряд - в логарифмическом масштабе. Я надеюсь, высчитываете ближайшее и подсчитываете процент ошибки Вы тоже в логарифмическом (а не в линейном) масштабе? Раз Вы отводите под индикацию погрешности 4 разряда, значит, различие между линейной и логарифмической шкалой для Вас существенно.
Если без усреднения, то показания индикатора прыгают в диапазоне 1,48-1,75 (например)
После усреднения цифры стоят 1,63-1,64 (этого вполне достаточно)
Видимо основная нестабильность связана с наводкой от сети (у меня на макете не сильно заэкранированы провода)
Провести измерения на одном отрезке 20 мсек - этого недостаточно.
(1. видимо сам АЦП имеет внутри рядом сигнал помехи (в т.ч. внутренней коммутации) и ему нужно разнесенные по времени измерения
2. 1,25 мсек - "опишет" наводку сети, но здесь нужно более разнесенные измерения (на разных волнах наводки)
Чтобы не ловить горбы или впадины, задержку сделал максимально некратной 50 Гц (по простому "повернул вектор" на 90 градусов, т.е. К деления/умножения (от 20 мсек) = 1,414...)
3. от самого датчика нужны измерения сильно разнесенные по времени)
В целом цикл измерений с 2-х датчиков у меня занимает до 1 секунды.
Мне такое время смены индикации на установке- вполне комфортно (зачем чаще)
"Диафрагменные числа" потому как это измерительный блок к оптической установке и измеряет фактическое значение Диафрагмы.
Соответственно указанный ряд - стандартные диафрагмы (известно любому, кто общался с фотоаппаратом)
Естественно я знаю, что числа идут с шагом sqrt(2)
Программа подыскивает ближайшее стандартное число по минимальной ошибке и высчитывает отклонение от него в % (естественно в "искривленном" пространстве)
Систематическая ошибка будет убираться за счет процедуры калибровки (ввод в программу констант для подстройки "измерительной кривой")
Для калибровки на установку ставятся эталонные оптические "объективы" и считывается значение с фотодатчика.
Таким образом мы "привязываемся" к эталону вблизи каждого числа "стандартной диафрагмы".
Это обеспечит вполне приемлиемую точность измерений во всем плавном диапазоне (от 1 до 22)
ЗЫ, По поводу "дружбы с математикой" - я закончил физмат-школу при МГУ...
Если без усреднения, то показания индикатора прыгают в диапазоне 1,48-1,75 (например)
После усреднения цифры стоят 1,63-1,64 (этого вполне достаточно)
Видимо основная нестабильность связана с наводкой от сети (у меня на макете не сильно заэкранированы провода)
1,63 -это в каких попугаях?
Основная нестабильность не от наводок и помех, а от самого принципа работы ацп последовательного приближения. Какой бы стабильный сигнал вы не подали на вход, и каким бы стабильным не было опорное напряжение - всё равно итоговый результат будет трясти двумя младшими битами. Для точных измерений применяют АЦП сигма-дельта и АЦП двойного интегрирования.
Это то, что показывает индикатор в установке.
Опорное - внутренее 1.1 вольта (по факту 1.089)
Измеряемая величина на уровне 0.08 вольта
10 разрядов базового АЦП оказалось недостаточно, с учетом того, что реально работало 9 разрядов.
Конструкция была доработана за счет установки готового модуля Arduino 24-разрядного АЦП.
Если раньше "шевелился" последний разряд (+/- 1), а это было милливольты,
то с новой платой меняется разрядность 0,1 милливольта (нестабильность +/- 2_3).
Т.е. реально (с учетом нестабильности датчика) понадобилось где-то еще 3-4 разряда, чтобы полностью удовлетворить аппаратные потребности.
Т.е 13-14 разрядов - это уже достаточно для данного прибора, а остальное - это уже "излишество"...