Страница 1 из 1

Среднее значение показаний датчика.

Добавлено: 21.07.2016{, 13:04}
findeler
Задача стоит следующая, есть датчик DS18B20 он опрашивается с периодичностью 20 мин. И формирует среднюю температуру за сутки.

Температура "скользящая", в смысле каждое новое показание должно корректировать температуру. FIFO буфер.

Но в первый запуск пока не наберётся информация для суточного результата, необходимо работать только по поступившим значениям. То есть если в штатном режиме анализируется 24*3=72 значения температуры. То в начальном, сначала 1, потом 2, и.т. д. до 72.

И вот это пока никак не получается. Данные с датчика получаю , а вот дальше...

Среднее значение показаний датчика.

Добавлено: 21.07.2016{, 13:37}
Boroda
Вот здесь аналогичная ситуация.

Среднее значение показаний датчика.

Добавлено: 21.07.2016{, 14:38}
findeler
Boroda писал(а):Вот здесь аналогичная ситуация.
Ну там несколько другое, но ваши фильтры позаимствовал, спасибо. Скользящее среднее переделаю на свои 72. Непонятно как с начальным заполнением поступить.

P.S. В коде я вроде понимаю, как сделать то что мне нужно.

Среднее значение показаний датчика.

Добавлено: 21.07.2016{, 14:59}
Boroda
Все тоже самое! У Вас после включения появилась температура +25 градусов с датчика. Вы быстрым генератором прогоняете фильтр (FIFO) этим значением, в итоге на выходе фильтра появится +25 градусов, а потом включаете штатный генератор фильтра на 20 минут. Усреднятор нужен с внешним тактированием. Опрос датчика изначальный должен быть тоже быстрым.

Добавлено (21.07.2016, 14:59)
---------------------------------------------
Да и вообще пусть датчик опрашивается каждые 5 секунд, а Вы тактируйте усреднятор хоть раз в час.

Среднее значение показаний датчика.

Добавлено: 21.07.2016{, 16:01}
rw6cm
findeler писал(а):Непонятно как с начальным заполнением поступить.
А что мешает сделать так?

Среднее значение показаний датчика.

Добавлено: 21.07.2016{, 16:32}
Boroda
Да можно и так!