DH11 и uno relay controlle зависают

Я хочу управлять своим барным холодильником с помощью датчика температуры и реле,

Это мой первый проект с кодом, я скопировал это: https://robojax.com/learn/arduino/?vid=robojax-DHT22_11_TM1637_relay

Но

Мне нужен какой-то дополнительный код, который предотвратит слишком частое включение холодильника (т.е. Реле).

Для моих целей я хочу, чтобы реле закрывалось, если температура выше 4с, но только если реле было выключено, скажем, на 20 минут или больше. К вашему сведению, это потому, что мой источник питания не любит запускать компрессор, когда он горячий, поэтому я не хочу, чтобы он включался, если он просто включен.

, 👍1


1 ответ


1

Классный вопрос! ;-) Вместо фиксированного таймера я бы встроил некоторый (так называемый) гистерезис, который означает включение охлаждения выше определенной температуры (скажем, 4 ° C), но выключение только тогда, когда температура снова упадет до температуры значительно ниже этой (скажем, 3 ° C). Это гарантирует, что температура остается в заданных пределах, и в то же время предотвращает быструю езду на велосипеде. Для этого вам не нужны никакие таймеры, и он будет работать в любой ситуации (даже когда за пределами холодильника очень жарко или очень холодно). Вот как работают коммерческие термостаты.

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

,

Спасибо, я действительно нашел Blink без задержки примерно за час до того, как прочитал ваше сообщение. Но я здесь выхожу из своей рулевой рубки, как мне собрать 2 вместе? Кстати, мне нравится идея гистерезиса, но открытие двери может привести к повышению температуры на 5 градусов, что займет несколько минут или дольше, чтобы снова стабилизироваться., @SV Savannah

Вы могли бы добавить тактильный / магнитный переключатель (тростниковый / эффект Холла) для определения того, когда дверь открыта, вы могли бы использовать его в качестве триггера, чтобы сообщить программному обеспечению, почему произошло такое резкое падение, и подождать x времени, пока температура снова не установится. Идея гистерезиса также кажется хорошим решением, вы могли бы добиться того же эффекта, рассчитав скользящее среднее значение за определенный период времени и включив холодильник только тогда, когда это скользящее среднее значение опустится ниже температуры срабатывания. Это помогло бы немного сгладить показания датчиков., @Jack Soldano