Я использую эталон напряжения TI REF3020 (2048 мВ) в сочетании с микроконтроллером, чтобы иметь эталон для измерения напряжения.
Микроконтроллер питается от 5 В (5,00 В), опорное значение АЦП микроконтроллера также установлено на 5,00 В. Из-за того, что я не хочу полагаться на опорную стабильность шин VDD, я хотел добавить прецизионное опорное напряжение.
В моих тестовых установках я могу легко измерить напряжение VDD (опорное значение АЦП) и рассчитать напряжение относительно земли на входном контакте АЦП. В целях тестирования я использовал внешний источник питания в качестве входа для вывода АЦП. После измерения напряжения на выводе с помощью осциллографа и цифрового мультиметра микроконтроллер измерил без какой-либо дополнительной калибровки фактическое правильное напряжение вплоть до младшего бита АЦП. (Я использую 12-разрядный АЦП). Этот эксперимент был успешно проведен с несколькими напряжениями от 0 до 5 В.
Далее я использовал вышеупомянутый источник опорного напряжения REF3020 в той же схеме, что и вход для АЦП. И осциллограф, и цифровой мультиметр подтвердили точное значение 2,048 В. При измерении того же напряжения микроконтроллером через АЦП значение отличалось на 15 пунктов. Вместо битового значения 1677 MCU измерил 1663:
Значение, измеренное MCU, не колеблется и не дрейфует с течением времени и температурой (если честно, относительно узким диапазоном), которую я тестировал. (Усредненное) значение постоянно остается равным 1663. Без усреднения значение колеблется от минимума примерно 1660 до 1666. Однако влияние температуры должно быть незначительным, поскольку другой эксперимент проводился при той же температуре (комнатной температуре).
Для этого приложения я использую в среднем 128 выборок во временном окне около 4 мс. Я даже пытался сделать выборку и время сравнения дольше. Тоже не помогло.
Опорное напряжение даже сильноточное. Согласно техническому описанию, он может безопасно подавать до 25 мА. Этого должно быть достаточно для дискретизации одним каналом АЦП. Никакие другие нагрузки не подключены к источнику опорного напряжения.
Я мог бы легко откалибровать ошибку смещения, но это, по сути, свело бы на нет всю цель опорного напряжения в этом приложении.
Что еще может быть причиной этого отклонения, проявляющегося только при измерении выходного напряжения опорного напряжения?
Попробуйте обеспечить немного больше времени установления (несколько мс) перед выполнением каждого измерения. Под этим я подразумеваю время между выбором канала АЦП и началом преобразования. Я использую REF3020, и он плохо реагирует на изменения нагрузки, хотя может выдавать большой ток при фиксированной нагрузке. Вы не увидите этого с цифровым мультиметром или даже с оптическим прицелом, потому что сложно очень точно настроить спусковой крючок.
Я не думаю, что вы используете источник опорного напряжения наилучшим образом. Вы написали: «Микроконтроллер питается от 5 В (5,00 В), опорное значение АЦП микроконтроллера также установлено на 5,00 В». так что вы фактически используете свою шину 5 В в качестве эталона АЦП. Вы не используете 2,048 В в качестве эталона АЦП. Таким образом, ваш АЦП может быть таким же точным, как ваша шина 5 В.
То, что вы действительно хотите сделать, это подключить опорное напряжение 2,048 В к входу ADC VREF MCU и настроить MCU для использования его в качестве опорного. Это означает, что ваша шина 5 В может перемещаться вверх и вниз по мере того, как нагрузки приходят и уходят, но ваш АЦП всегда будет считывать полную шкалу точно при опорном напряжении VREF IN.
Недостатком является то, что полномасштабные показания ограничены 2,048 В. Вот почему я обычно использую опорное напряжение 4,096 В, а любые напряжения, которые мне нужно считывать выше 4 В, я уменьшаю с помощью резисторов и/или операционных усилителей.
Кроме того, убедитесь, что вы прочитали спецификации нашего АЦП. Даже при идеальном опорном напряжении АЦП будет иметь некоторую ошибку. Цена, которую вы заплатили, обычно определяет, насколько мала эта ошибка. Вот хорошая статья о чтении спецификаций АЦП . Надеюсь, это поможет.
Марсельм
Сэм
Марсельм
фшайдль
фшайдль
Сэм
фшайдль
Сэм
Том Карпентер