Превышение Температуры за единицу времени

Вопросы от новичков
Ответить
SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

Превышение Температуры за единицу времени

#1

Сообщение SerOv » 16.03.2021{, 20:26}

Всем привет. Помогите реализовать. Алгоритм отслеживания температуры.
Не могу понять, как сделать. Нужно каждую минуту, отслеживать температуру.
И если она по скорости набора температуры превышает 15градусов в 1 минуту. То по MQTT, в топик отсылалась 1. Если после превышения, скорость набора температуры будет падать и окажется меньше чем 15градусов в минуту, в топик присылался 0. Для меня эта сложная задача. И полный тупик.
Вложения
Температура проба.flp
(1.82 МБ) 29 скачиваний

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Превышение Температуры за единицу времени

#2

Сообщение Labu559 » 16.03.2021{, 21:50}

SerOv писал(а):
16.03.2021{, 20:26}
по скорости набора температуры превышает 15градусов в 1 минуту... в топик отсылалась 1...
скорость набора температуры будет падать и окажется меньше чем 15градусов в минуту, в топик присылался 0.
См. проект, если условие только для повышения температуры (скорость падения не играет роли) удалите блоки NumberChange (нижний) и OR. Если нужно, чтобы сигнал аварии длился не один цикл, а до следующего опроса (1 минуту) поставте
триггер с приоритетом установки.Показать
TrigControlHys.png
TrigControlHys.png (10.68 КБ) 557 просмотров
ControlHysteresis.flp
(96.68 КБ) 40 скачиваний

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Превышение Температуры за единицу времени

#3

Сообщение AlexCrane » 16.03.2021{, 22:07}

Labu559, А если температура набирала скорость 50 сек по 10 градусов в секунду а за последние 10 сек упала до нормы, то факт превышения не будет зафиксирован :smile44:
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Превышение Температуры за единицу времени

#4

Сообщение Labu559 » 16.03.2021{, 22:22}

AlexCrane писал(а):
16.03.2021{, 22:07}
А если температура...
Здравствуйте ув.Александр, так ведь есть ТЗ, где нет в условии мгновенной скорости или за другое время (кроме за 1 мин). Хозяин барин, я же не спрашиваю зачем температуру сначала умножать на 10 и сразу же делить тоже на 10 (см.проект ТС). :no: А если нужен расчет, то связать период опроса датчика и время разрешения работы детектора изм. числа одной константой времени, тогда 60сек/период опроса = 15/гистерезис. :) Вот только сомнения берут,- не будет ли сенсор DHT своим delay() рвать соединение Wi-Fi/ :smile37:
Вложения
MomentaryControlHysteresis.flp
(171.2 КБ) 34 скачивания
Последний раз редактировалось Labu559 16.03.2021{, 23:11}, всего редактировалось 1 раз.

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

Превышение Температуры за единицу времени

#5

Сообщение SerOv » 16.03.2021{, 23:11}

Собрал вот по этой схеме. И не работает. Если вводная температура, постоянно меняется то как она может отследить гистерезис. Его установил сейчас 2 градуса. Сравнить то не с чем.

Отправлено спустя 6 минут 31 секунду:
Зачем я делил и умножал на 10. Это было давно. Мне нужны были показания после запятой. Подсказали что надо сделать так. Раз работает все правильно так и осталось.
Вложения
Температура проба2.flp
(1.68 МБ) 38 скачиваний

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Превышение Температуры за единицу времени

#6

Сообщение Labu559 » 16.03.2021{, 23:28}

SerOv писал(а):
16.03.2021{, 23:11}
Если вводная температура, постоянно меняется то как она может отследить гистерезис
Как Вы думаете, зачем у меня стоит инверсия выхода генератора? В справке одновибратора (блока), кстати, не указано, что длительность нижнего полупериода 1 цикл.
SerOv писал(а):
16.03.2021{, 23:18}
нужны были показания после запятой
Вам или не то подсказали, или Вы не так поняли. Если нужно получить из целочисленного значения число с плавающей точкой нужно /1,0 :)
Последний раз редактировалось Labu559 16.03.2021{, 23:32}, всего редактировалось 1 раз.

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

Превышение Температуры за единицу времени

#7

Сообщение SerOv » 16.03.2021{, 23:31}

Когда я писал я имел в виду первую схему. Вторую я еще не видел.

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Превышение Температуры за единицу времени

#8

Сообщение Labu559 » 16.03.2021{, 23:53}

SerOv писал(а):
16.03.2021{, 23:31}
имел в виду первую схему. Вторую я еще не видел
Да мы отправили ответы одновременно. Второй проект, это скорее ответ ув.Александру, потому как отслеживать изменение на 1.25 градуса за 5 секунд, что равно 15 град. за 1 минуту боюсь не позволит точность датчика (погрешность АЦП). :) В общем принцип показал,- используйте какой больше подходит, второй или из этого сообщения и удалите у себя эти блоки умножения и деления, они совершенно лишние. У Вас с выхода сенсора уже Float и не нужно ничего преобразовывать. Как пример целесообразности применения такого преобразования (умножением или делением на 1.0,- без разницы), см. пж. второй проект, где микросекунды (unsigned long 60 000/integer 5 000 -целочисленные значения) после второго блока деления (в числителе-15,0 число с плавающей точкой), становится Float на выходе блока.
Весь смысл применения одновибратора в том, что мы делаем всего один опрос за один цикл- дальше пауза для датчика в 5 секунд (потому инверсия) и данные не меняются в паузе (не измеряются).
MomentaryControlHysteresis2.flp
(137.67 КБ) 39 скачиваний

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

Превышение Температуры за единицу времени

#9

Сообщение SerOv » 17.03.2021{, 15:57}

Провел эксперимент, вот по этой схеме. Если температура постоянно повышается. То Все работает нормально. Постоянно присутствует 1 на выходе. Но если температура встала, Начинает незначительно понижаться буквально на +-0.1гр по показаниям, то на выходе появляется то 0 то 1. и так прыгает туда сюда. Хотелось бы получить такой принцип. Если температура стоит на месте или повышается не быстрее чем в (данном случае) на 4 градуса. То на выходе стоит 0. Если происходит понижение то этот 0 бы и оставался. Если только температура выходит за пределы(в данном случае)4гр то появляется 1 и она стоит до тех, пор пока температура не будет падать. Если падает то 0. Вот это хотелось бы реализовать. :smile37:
Вложения
Температура проба3.flp
(1.64 МБ) 35 скачиваний

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Превышение Температуры за единицу времени

#10

Сообщение AlexCrane » 17.03.2021{, 20:17}

SerOv, А для чего вообще пытаетесь отследить? Какой-то аварийный параметр или что?
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

Превышение Температуры за единицу времени

#11

Сообщение SerOv » 17.03.2021{, 20:36}

Хочу температуру отследить в небольшом помещении. По скорости прогрева. Если все нормально то сообщений нет. Если эти параметры будут превышаться, то приходит сообщение на телеграмм.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Превышение Температуры за единицу времени

#12

Сообщение AlexCrane » 17.03.2021{, 21:07}

SerOv, Ну тогда так попробуй На выходе блока мгновенная скорость изменения входного параметра в минуту, замер каждые 10 сек.
Заодно испытай новый фильтр, должен сглаживать все пики
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

Превышение Температуры за единицу времени

#13

Сообщение SerOv » 17.03.2021{, 22:20}

Я не понял, как с блока измерения скорости взять 1 и 0.
И что это за фильтр, принцип работы?

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Превышение Температуры за единицу времени

#14

Сообщение AlexCrane » 18.03.2021{, 10:09}

SerOv, Ну помнится Вы просили блок для измерения скорости прогрева, вот на выходе скорость, а дальше что хотите то и делайте, можно к примеру сразу через компаратор сравнить с требуемым значением и принять соответствующие меры. Можно не сразу, а чуток позже, все зависит от фантазии. Это как на машине мгновенный расход топлива, тапку вдавил - 30 л на 100 км, чуешь много отпустил тапку, только тут градусы в минуту.

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

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

Превышение Температуры за единицу времени

#15

Сообщение SerOv » 18.03.2021{, 10:31}

Я думаю, что это немного разное. Я говорил про измерения температуры от скорость. А здесь измерения самой скорость. Если конечно можно сделать с этим блоком что мне нужно. То нужно мне с ним разобраться как работает. Пока я не понимаю как это сделать :smile37:

Отправлено спустя 14 минут 50 секунд:
Как я понимаю что это все сложно рассчитать. одна зависимость от другой.

Ответить

Вернуться в «Начинающим»