Опорное напряжение, выбранное АЦП (12 бит), дает значение, которое отличается на большее количество точек, чем другие измерения.

Я использую эталон напряжения TI REF3020 (2048 мВ) в сочетании с микроконтроллером, чтобы иметь эталон для измерения напряжения.

Микроконтроллер питается от 5 В (5,00 В), опорное значение АЦП микроконтроллера также установлено на 5,00 В. Из-за того, что я не хочу полагаться на опорную стабильность шин VDD, я хотел добавить прецизионное опорное напряжение.

В моих тестовых установках я могу легко измерить напряжение VDD (опорное значение АЦП) и рассчитать напряжение относительно земли на входном контакте АЦП. В целях тестирования я использовал внешний источник питания в качестве входа для вывода АЦП. После измерения напряжения на выводе с помощью осциллографа и цифрового мультиметра микроконтроллер измерил без какой-либо дополнительной калибровки фактическое правильное напряжение вплоть до младшего бита АЦП. (Я использую 12-разрядный АЦП). Этот эксперимент был успешно проведен с несколькими напряжениями от 0 до 5 В.

Далее я использовал вышеупомянутый источник опорного напряжения REF3020 в той же схеме, что и вход для АЦП. И осциллограф, и цифровой мультиметр подтвердили точное значение 2,048 В. При измерении того же напряжения микроконтроллером через АЦП значение отличалось на 15 пунктов. Вместо битового значения 1677 MCU измерил 1663:

U "=" 1663 4095 5 В 2.0305 В

Значение, измеренное MCU, не колеблется и не дрейфует с течением времени и температурой (если честно, относительно узким диапазоном), которую я тестировал. (Усредненное) значение постоянно остается равным 1663. Без усреднения значение колеблется от минимума примерно 1660 до 1666. Однако влияние температуры должно быть незначительным, поскольку другой эксперимент проводился при той же температуре (комнатной температуре).

Для этого приложения я использую в среднем 128 выборок во временном окне около 4 мс. Я даже пытался сделать выборку и время сравнения дольше. Тоже не помогло.

Опорное напряжение даже сильноточное. Согласно техническому описанию, он может безопасно подавать до 25 мА. Этого должно быть достаточно для дискретизации одним каналом АЦП. Никакие другие нагрузки не подключены к источнику опорного напряжения.

Я мог бы легко откалибровать ошибку смещения, но это, по сути, свело бы на нет всю цель опорного напряжения в этом приложении.

Что еще может быть причиной этого отклонения, проявляющегося только при измерении выходного напряжения опорного напряжения?

Пожалуйста, дайте схему. Такие вещи, как заземление или развязывающие конденсаторы, могут иметь значение, а со схемой нам не нужно играть в угадайку.
Может ли быть, что эталон более точен, чем питающие рельсы? Было бы полезно, если бы у вас были другие эталоны точности для проверки, если вы видите постоянное смещение, то буфер АЦП, вероятно, имеет какое-то смещение или что-то в этом роде, если вы видите постоянную ошибку усиления, то внутреннее эталонное значение АЦП может быть немного низкая (поскольку вероятность того, что несколько разных эталонов будут логически неверными, очень мала). Возможно, эталон просто низкий, он отсутствует к 2030,5/2048 = 0,85%, если он указан лучше, чем 1%, некоторые эталоны со сверхнизким дрейфом имеют широкую изменчивость напряжения
Что вы обнаружите, если прощупаете входной контакт АЦП осциллографом с подключенным опорным напряжением, пока АЦП производит выборку? Является ли входной контакт АЦП стабильным при 2,048 В (предполагая, что АЦП по какой-то причине отключен) или он падает (предполагая другой тип проблемы)?
@marcelm И опорное напряжение, и рельсы, измеренные с помощью осциллографа и цифрового мультиметра, показывают стабильные 5,00 В (иногда 4,99 В) и 2,048 В соответственно. РЕДАКТИРОВАТЬ: Поскольку в таблице данных указано, что дополнительные (развязывающие) конденсаторы не нужны, я не добавлял их в свою текущую конструкцию. Я посмотрю, что я могу сделать со схемой.
@Tom Кажется, нет существенной ошибки усиления, поскольку измерения, похоже, совпадают как при 0 В, так и при 5 В, пока я не использую АЦП для измерения опорного напряжения. Проверка опорного напряжения с помощью осциллографа показывает стабильные 2,048 В.
Какие ссылки вы используете «около 0 В и 5 В»? К вашему сведению, большинство осциллографов всего в 8 бит или в 16 раз менее точны (1LSB = 19 мВ против 1,2 мВ для 12-битного АЦП, предполагая, что шкала 5 В на обоих — не гарантируется), чем ваш 12-битный АЦП, поэтому я бы не стал полагаться на него для точных измерений. В вашем приложении критична точность или только разрешение? В противном случае вам может потребоваться откалибровать АЦП, и в этом случае вам потребуется несколько высокоточных эталонов при разных напряжениях (12b = 4096 уровней, поэтому 1LSB = 1,2 мВ = 0,025 % ).
@Tom Я использовал регулируемый источник питания, измеренный с помощью осциллографа, и полагался на значение, данное осциллографом, а не на дисплей источника питания. Честно говоря, для этого приложения точность не так критична, но меня поразило, что «самой точной» частью моей схемы была та, которая больше всего отклонялась от номинального значения в моих измерениях. Я думал об использовании нескольких эталонов точности для калибровки АЦП, но, как я уже сказал, это было бы излишним для моего приложения.
Что заставляет вас думать, что это эталон, а не питающие рельсы? Осциллограф имеет большую внутреннюю ошибку, чем вы измеряете с помощью 12-битного АЦП, любое отклонение от 5 В, любой шум, внутреннее смещение и т. Д. Испортят ваши измерения. Если у вас нет блока питания серии HP 662x или его аналога, я бы тоже не стал доверять его точности.
Я также добавлю, что ваш расчет неверен. Вы должны делить на 4096, так как есть много шагов.

Ответы (2)

Попробуйте обеспечить немного больше времени установления (несколько мс) перед выполнением каждого измерения. Под этим я подразумеваю время между выбором канала АЦП и началом преобразования. Я использую REF3020, и он плохо реагирует на изменения нагрузки, хотя может выдавать большой ток при фиксированной нагрузке. Вы не увидите этого с цифровым мультиметром или даже с оптическим прицелом, потому что сложно очень точно настроить спусковой крючок.

Отлично спасибо! После дальнейшего увеличения времени выборки я теперь получаю правильное значение.

Я не думаю, что вы используете источник опорного напряжения наилучшим образом. Вы написали: «Микроконтроллер питается от 5 В (5,00 В), опорное значение АЦП микроконтроллера также установлено на 5,00 В». так что вы фактически используете свою шину 5 В в качестве эталона АЦП. Вы не используете 2,048 В в качестве эталона АЦП. Таким образом, ваш АЦП может быть таким же точным, как ваша шина 5 В.

То, что вы действительно хотите сделать, это подключить опорное напряжение 2,048 В к входу ADC VREF MCU и настроить MCU для использования его в качестве опорного. Это означает, что ваша шина 5 В может перемещаться вверх и вниз по мере того, как нагрузки приходят и уходят, но ваш АЦП всегда будет считывать полную шкалу точно при опорном напряжении VREF IN.

Недостатком является то, что полномасштабные показания ограничены 2,048 В. Вот почему я обычно использую опорное напряжение 4,096 В, а любые напряжения, которые мне нужно считывать выше 4 В, я уменьшаю с помощью резисторов и/или операционных усилителей.

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