Перейти к содержанию
    

Усреднение вычислений АЦП

13 минут назад, lyric сказал:

контроллер AVR. Напряжение на входе НЕ меняется, но при этом измеренное значение АЦП со временем (полчаса-час, сутки-трое суток) меняется, - уползает вверх, или вниз, когда как... Отчего это может быть? В программе значение АЦП аппроксимировано в диапазон 0-6000. Так вот в таком виде (0-6000) значение уезжает вплоть до 40 единиц, - например установилось значение 3500, и плавно уменьшается, и через час оно уже 3478, хотя измеряемый сигнал никак не менялся.

У меня никогда такого не было - чтобы сигнал никак не менялся,  завидую вам.

з.ы.

всё время вокруг меня какие-то  шумы, то постоянные составляющие плывущие от погоды, то плывущий референс, то помехи по нему или по сигналу, или по питанию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Lmx2315 said:

У меня никогда такого не было - чтобы сигнал никак не менялся,  завидую вам.

з.ы.

всё время вокруг меня какие-то  шумы, то постоянные составляющие плывущие от погоды, то плывущий референс, то помехи по нему или по сигналу, или по питанию.

Ну да, я немного не так выразился)

Сигнал для АЦП задаётся переменным резистором. То, что сигнал не менялся, - я имел в виду что я этот резистор не трогал во время проведения измерений, то есть измеряемая величина никак принудительно не менялась.

Для второго такого же канала АЦП сигнал тоже плывёт, иногда даже больше, чем у первого канала с резистором. Хотя здесь сигнал задаётся калибратором токовой петли ОВЕН РЗУ-420, в характеристиках у которого заявлена точность  "до десятой доли процента". Проблема в применяемых компонентах измерительных цепей?

 

А по второму вопросу - насчёт того, что включаю вывод и значение АЦП искажается, можете что-то подсказать?

Изменено пользователем lyric

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 минут назад, lyric сказал:

Сигнал для АЦП задаётся переменным резистором. То, что сигнал не менялся, - я имел в виду что я этот резистор не трогал во время проведения измерений, то есть измеряемая величина никак принудительно не менялась.

Для второго такого же канала АЦП сигнал тоже плывёт, иногда даже больше, чем у первого канала с резистором. Хотя здесь сигнал задаётся калибратором токовой петли ОВЕН РЗУ-420, в характеристиках у которого заявлена точность  "до десятой доли процента". Проблема в применяемых компонентах измерительных цепей?

А по второму вопросу - насчёт того, что включаю вывод и значение АЦП искажается, можете что-то подсказать?

Переменный резистор вещь непостоянная, его сопротивление зависит от температуры и вибрации . Потом напряжение на этот резистор подаётся с какого-то источника - там тоже не бывает идеальных вариантов, либо спуры, либо шумы , либо уровень плывёт. Постучите рукой по столу на котором лежит ваш переменник и посмотрите на результаты измерений. Они должны будут сильно изменится . Вибрации окружают нас постоянно.

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

По второму вопросу всё просто - И микроконтроллер и его АЦП ножка микроконтроллера сидят на одном питании, когда вы меняете состояние ножек микроконтроллера это влияние ввиде помех будет сказываться на напряжениях питания/референсном и так попадать в результаты измерений. Ещё бывает ВЧ помехи могут пролазить на вход АЦП, особенно если у него высокоомный вход и его источник тоже высокоомный, а разводка печатной платы сделана так себе, с плохой землёй, пересечениями разных сигналов и прочее.

Прочее - это если по питанию не хватает ёмкости или количества блокировочных конденсаторов.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Lmx2315, большое спасибо за разъяснение.

А я всё думал что виновата моя программа

Изменено пользователем lyric

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, lyric сказал:

Lmx2315, большое спасибо за разъяснение.

А я всё думал что виновата моя программа

Программу тоже надо проверять , для этого применяют тесты. Подайте на вход вашей программы не выход АЦП, а цифровой сгенерированый сигнал синуса со смещением, константу, что-то ещё.

Потому как в программе могут быть эффекты переполнений, ошибок округлений и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 4/19/2019 at 12:51 PM, lyric said:

Lmx2315, большое спасибо за разъяснение.

А я всё думал что виновата моя программа

Да, просто не читайте из регистра АЦП а подайте константу если сомневаетесь.

Изменено пользователем Михась

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно использовать режим шумоподавления АЦП, отдельный Vcc и прецизионный референс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...