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

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
findeler
Рядовой
Сообщения: 76
Зарегистрирован: 16.07.2016{, 08:31}
Репутация: 0
Откуда: Рязань

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

#1

Сообщение findeler » 21.07.2016{, 13:04}

Задача стоит следующая, есть датчик DS18B20 он опрашивается с периодичностью 20 мин. И формирует среднюю температуру за сутки.

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

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

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

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

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

#2

Сообщение Boroda » 21.07.2016{, 13:37}

Вот здесь аналогичная ситуация.

findeler
Рядовой
Сообщения: 76
Зарегистрирован: 16.07.2016{, 08:31}
Репутация: 0
Откуда: Рязань

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

#3

Сообщение findeler » 21.07.2016{, 14:38}

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

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

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

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

#4

Сообщение Boroda » 21.07.2016{, 14:59}

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

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

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

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

#5

Сообщение rw6cm » 21.07.2016{, 16:01}

findeler писал(а):Непонятно как с начальным заполнением поступить.
А что мешает сделать так?
Вложения
1997011.flp
(146.2 КБ) 65 скачиваний
Win10-64, FLProg (portable)

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

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

#6

Сообщение Boroda » 21.07.2016{, 16:32}

Да можно и так!

Ответить

Вернуться в «Спросить у знатоков»