реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> изобретаю цифровой фильтр
esaulenka
сообщение Apr 3 2012, 11:45
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Есть система, представляющая собой нагрузку типа "N резисторов параллельно" с управлением от микроконтроллера. Питается оно от аккумуляторов (внутреннее сопротивление аккумуляторов и нагрузки, если N максимальное, сопоставимо).
Количество одновременно включенных резисторов переменное (рулится контроллером, заранее предсказать сложно) от 0 до N. Также в контроллер заведено напряжение с аккумуляторов - на АЦП.

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

Вариант "включить, померять k раз, усреднить, посчитать время выключения" не проходит, т.к. включать надо на единицы миллисекунд, и в промежутках ещё кучу всего делать.

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

Вопрос: что делать-то? Читать про Калмана? Вроде бы самое оно...
Вот только не делал я никогда, даже "простейший одномерный случай без входного воздействия".


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
Demeny
сообщение Apr 3 2012, 12:03
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Цитата(esaulenka @ Apr 3 2012, 15:45) *
Вопрос: что делать-то? Читать про Калмана?

Читать про Кирхгофа.
Внутреннее сопротивление источника можно вычислить, измерив падение напряжения на источнике при подключении к нему известного сопротивления.


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Apr 3 2012, 12:12
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



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


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
Demeny
сообщение Apr 3 2012, 12:35
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Имхо, сопротивление источника - параметр, который меняется очень медленно (например, из-за старения аккумулятора), поэтому усреднять его можно совершенно безбожно rolleyes.gif , тем же скользящим средним. При каждом подключении нагрузки вычисляете внутреннее сопротивление, и измеренное значение пропускаете через фильтр, например, такой:
Rсреднее = Rсреднее + (Rизмер - Rсреднее)/1000.0 (при усреднении по 1000 измерениям).
А в вычислении "предсказания" падения напряжения перед подключением нагрузки используйте уже отфильтрованное Rсреднее.


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Apr 3 2012, 12:53
Сообщение #5


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Тут впору нейрокластер применить... и связать его по UART через аудиомодем по воздуху biggrin.gif ...

Как вяжется Калман(!) с требованием просто усреднить сигнал? Да и еще(о боги!) "в промежутках ещё кучу всего делать"...
Непонятна сама постановка задачи. Если необходимо обеспечить постоянную адаптивную подстройку, а включать АЦП хочется в каких-то паузах между работой то это к Гарри Потеру скорее.
Если задача выделить постоянную составляющую в пульсирующем сигнале то скользящее (блочное?) среднее самое то, только интервал накопления подобрать.
Если избавить от шума переменный не детерминированный сигнал (разделить по-сути 2-а стохастических) то да, это задача адаптивной фильтрации(того или иного метода).

P.S.: ...если Калманом Вы пытаетесь сделать какой-то "инерциоид" - то ничего не выйдет, нет никаких данных(если измерять "в паузах") о наличии этого "инерциоида" в Вашем сигнале...


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Apr 3 2012, 13:26
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



АЦП будет мерять предыдущее значение, "каких-то пауз" не предусмотрено. "Всё выключено" - это просто частный случай с N=0.

Demeney, спасибо. Надо бы вывод всех значений организовать, посмотреть, что там с помехами. А то кажется мне, что если усреднять уже посчитанное Rвнутр, ошибок больно много будет... При небольших нагрузках оно даже отрицательным может получится - если помеха "перебьёт" просадку напряжения.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Apr 3 2012, 13:53
Сообщение #7


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(esaulenka @ Apr 3 2012, 16:26) *
При небольших нагрузках оно даже отрицательным может получится - если помеха "перебьёт" просадку напряжения.

Т.е. все-таки "нестационарность" помехи соизмерима с "нестационарностью" сигнала?


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
maksimp
сообщение Apr 3 2012, 18:27
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023



Цитата(esaulenka @ Apr 3 2012, 15:45) *
Вариант "включить, померять k раз, усреднить, посчитать время выключения" не проходит, т.к. включать надо на единицы миллисекунд, и в промежутках ещё кучу всего делать.

Может взять контроллер поновее и сделать именно такой вариант? В последних сериях контроллеров АЦП делает измерение примерно за микросекунду. За требуемое время успеет выполнить тысячи измерений, которые можно усреднить, и принять решение когда выключать резисторы.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 6th July 2025 - 20:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01416 секунд с 7
ELECTRONIX ©2004-2016