Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: анализ изменения напряжения от времени
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Kovrov
господа прошу идеи!! :-)
;----------------------------
Вообщем тема такая:
Имеем 2 величины - напряжение и время (U T)
в "некоторой зависимости" от времени произходит рост напряжения(точность измерения 0,01в)
(некоторая зависимость очень похожа на экспоненциальное распределение)
нужно проанализировать, когда прекратиться рост напряжения.
По предварительным опытам ( на глаз) , рост напряжения прекращается гдето через 10-15 минут)
Последующий рост буду считать вне зоны точности и его можно проигнорировать.
;-------
Конечно, можно просто подождать 10-15 минут и записать текущее напряжение (как то плохо :-))
Можно измерить время при каждой разнице напряжения и потом брать их отношение (dU/dT)
(но чегото тоже не нравиться - общее время анализа растет)
ЧТО можно придумать есче?
просто раньше как то не доводилось с такими вещами работать.....
_artem_
Постоянно мерите разность текушего с предыдушим состоянием и следите за знаком результата. Когда знак поменяется на минус - предыдушее состояние и будет максумумом. Хранить надо только предыдушее и текушее состояние . Вообше то этот решение очень ясное , непонятно почему Вы ему не следуете ? Не доверяете?)
Есть еще аналоговые детекторы пикового напряжения - сохраняют максимальное напряжение когда было бывшее на входе.
Kovrov
наверное вы не поняли что я хочу...
мне не нужен максимум напряжения или там пики - цель не в этом..
мне важно за минимально возможное время отследить эту величину(напряжение) с условием что
оно (напряжение) стало постоянно.

пыс... пыс грешен.. со словарным запасом чтото последнее время у меня как то не очень :-)
Прохожий
Цитата(Kovrov @ Nov 28 2006, 21:46) *
наверное вы не поняли что я хочу...
мне не нужен максимум напряжения или там пики - цель не в этом..
мне важно за минимально возможное время отследить эту величину(напряжение) с условием что
оно напряжение стало постоянно.

пыс... пыс грешен.. со словарным запасом чтото последнее время у меня как то не очень :-)

А что если сделать следующим образом:
1. Считаем скользящее среднее арифметическое по n отсчетам.
2. Считаем скользящее действующее значение по тем же n отсчетам.
3. Сравниваем полученные цифры.
4. Если разница укладывается в заданный критерий, то цель достигнута.
5. Иначе переходим к п 1.
Может так будет быстрее, хотя я не уверен. Нужны эксперименты.
Kovrov
С первого раза, как обычно, не въехал в идею)
но со второго уже получше... есть конечно интресное решение в предложенном...
только как определить этот критерий?
по равенству полученных результатов?
И непонятно как выбрать этот N отсчетов?
и всетаки я думаю будет все очень сильно завистеть от времени по которым будет произходить отсчет.
посто легко может случится что за эти н остчетов обе величины будут одинаковые..
или я просто чето не уловил в алгоритме?
_artem_
Для этого Вам надо сначала задаться условием :
точность постоянства (-+ 10 мВ как я понял), и время в течении которого это напряжение будет считаться постоянным при условии того что модуль разницы между самым наименьшим и самым наибольшим напряжениями измеренными за это время не превосходило величину в 10 мВ.

Формируйте вопрос четко или опишите задачу чтоб можно было генерировать, а то гаданием на кофейной гуше занимаемся )
Kovrov
вот время и есть самая основная проблема
...
и скорее всего в худшем варианте придется все таки определиться со МАКСИМАЛЬНЫМ временем при котором изменение напряжения прекращается.. ну это тогда очень простая задача...
....
Вот интереная мысль у прохожего ... нада будет завтра помозговать....
Прохожий
Цитата(Kovrov @ Nov 28 2006, 22:16) *
С первого раза, как обычно, не въехал в идею)
но со второго уже получше... есть конечно интресное решение в предложенном...
только как определить этот критерий?
по равенству полученных результатов?
И непонятно как выбрать этот N отсчетов?
и всетаки я думаю будет все очень сильно завистеть от времени по которым будет произходить отсчет.
посто легко может случится что за эти н остчетов обе величины будут одинаковые..
или я просто чето не уловил в алгоритме?

Так я и говорю, нужен эксперимент...
Если в течение n отсчетов величины будут одинаковыми, то это значит, что измеряемая величина постоянна, поскольку ее действующее значение совпадает со средним. Одновременно, это значение и есть искомый результат.
Целью эксперимента является поиск этого n.
Вопрос об одинаковости так же требует проведения опытных работ. Если АЦП многоразрядный, то полного совпадения можно не дождаться и до второго пришествия smile.gif . Просто разность по модулю двух величин должна быть меньше некоторой положительной ошибки. Ее, эту ошибку, тоже следует подобрать опытным путем.
Вполне допускаю, что в результате опытов предложенный метод окажется непригодным.
Kovrov
Спасибо за свежесть идеи :-)
Если у многоуважаемых коллег будут ещё предложения - я очень буду признателен...
Stefan
Цитата(Kovrov @ Nov 28 2006, 23:33) *
Спасибо за свежесть идеи :-)
Если у многоуважаемых коллег будут ещё предложения - я очень буду признателен...


Я бы здесь разделил задачи фильтрации полученного значения (отсчета) напряжения и, собственно, самого определения достижения критерия. Фильтрация - любыми приемлемыми средствами (скользящее среднее, сортировка отсчетов АЦП каким-нибудь быстрым методом и выбором среднего отсчета как очередной точки, аппаратным аналоговым фильтром и т.д.) А вот когда это все проделано, тут уже работаем с гладенькой кривой. При той скорости процесса, которая Вам уже известна, нужно задаться каким-то разумным временем между отсчетами (сериями отсчетов). Скорее всего, экспериментально. Это должно быть такое минимальное время, за которое напряжение изменяется на вполне устойчиво определяемую величину. А вот когда данные отфильтрованы и определено рациональное время между отсчетами, тогда эта задача становится очень простой smile.gif
defunct
Что-то задача непонятна совершенно. Если напряжение зависит от времени, то результат можно сказать сразу - U = U0 + F(t). Что там еще усреднять замерять? зачем? ;>

почему бы просто не показывать то, что есть на текущий момент?
Kovrov
так вот эта F(t) неизвестна совершенно...
известно только определенно, что через какое то время, напряжение становиться постоянным!
Сегодня попытаюсь все таки попробывать описать эту функцию
пока мои мысли всторону F=1/k*exp(x)
_artem_
Ковров , чем больше значений для усреднения возьмете тем больше обманете себя - усреднение уменьшает всплески а Вам эти всплески надо найти, то есть разницу между максимальным и минимальным значениями сигнала в теченеии минимального интервала, который неопределен Вами. Поскольку этот интервал не определен и зависит от рода задачи, то нужно описание ее которое я спрашивал у Вас до этого. До этих пор чтото советовать не имеет какого либо значения, разве что для Вас , ставшего в позу падишаха полувнемлюшего советам витиеватых визирей.)
Ну хотите, фильтр Калмана поставьте - он даже предсказывать будет.)
ARIM
Цитата(Kovrov @ Nov 28 2006, 21:16) *
господа прошу идеи!! :-)
;----------------------------
Вообщем тема такая:
Имеем 2 величины - напряжение и время (U T)
в "некоторой зависимости" от времени произходит рост напряжения(точность измерения 0,01в)
(некоторая зависимость очень похожа на экспоненциальное распределение)
нужно проанализировать, когда прекратиться рост напряжения.

а если подавать это напряжение на дифф. цепочку, а с ее выхода на АЦП. когда напряжение перестанет расти там будет 0.
add
Что то совсем путано..?!
Чег тут такого?
Две переменные 1-я переменная ацп, 2-я переменная времени

1.Берем значение ацп
2.Сравниваем с предыдущим значением
3.если больше увеличиваем значение переменной ацп
4.если меньше уеньшаем значение переменной ацп
5.прверяем превысили ли граничное (Вашу точность 0.01 ) значение переменной ацп
6.Превысили.. сбрасываем обе переменные. переходим к пункту 1.
7.Не превысили - увеличиваем переменную времени
8.Переменная времени превысила границу (время установившегося уровня напр.)
9.Превысила- считаем напр. установилось, если нет переходим к пункту 1.

Вроде все... должно работать.
Kovrov
Цитата(_artem_ @ Nov 29 2006, 12:29) *
. До этих пор чтото советовать не имеет какого либо значения, разве что для Вас , ставшего в позу падишаха полувнемлюшего советам витиеватых визирей.)

че то вы как то не туда.... на мой взгляд...


Цитата(add @ Nov 29 2006, 14:58) *
Что то совсем путано..?!
Чег тут такого?
Две переменные 1-я переменная ацп, 2-я переменная времени

Вроде все... должно работать.

да!!! это должно быть не плохо....
спасибо большое
VDG
Цитата(Kovrov @ Nov 28 2006, 22:16) *
нужно проанализировать, когда прекратиться рост напряжения.
ИМХО, нейронная сеть будет в самый раз. Но нужна статистика.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.