Jump to content

    
Sign in to follow this  
Wantcan

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

Recommended Posts

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

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

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

з.ы.

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

Share this post


Link to post
Share on other sites
1 hour ago, Lmx2315 said:

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

з.ы.

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

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

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

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

 

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

Edited by lyric

Share this post


Link to post
Share on other sites
20 минут назад, lyric сказал:

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

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

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

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

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

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

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

 

Share this post


Link to post
Share on other sites
1 час назад, lyric сказал:

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

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

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

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

Share this post


Link to post
Share on other sites
On 4/19/2019 at 12:51 PM, lyric said:

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

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

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

Edited by Михась

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this