Витенька,
Senturio, то о чём вы говорите вылечено в прошивке, по крайней мере у меня работает нормально. Но на всяк опишу проблему по факту:
1. Датчик цифровой DS18B20 генерирует данные на наименьшей точности за около 850 мск. Поэтому как ни крути, а чаще одного раза в 1 секунды данные не обновляются.
2. Не только летом, а в любое время работают граничные условия. Например, температуры воды снимается с точностью 0,1, поэтому данные могут быть:
25-25,1-25-24,9-25 и каждый раз когда значение будет больше 25 будет срабатывать реле. То есть реле в худшем случае будет дёргаться каждую секунды и действовать на нервы и губительно на подключённый прибор.
Для избежания этого по заказу был использован Гистерезис.
4. Например установлена температура срабатывания 25 градусов, гистерезис +/- 1 градус. То обогреватель будет включаться при температуре 25-1=24 и выключаться 25+1=26, что позволяет избежать обработки флуктуаций температуры. То есть небольшие остывания и нагревания воды не дёргают реле. Гистерезис при желании можно установить от 0,1 и больше.
Вобще проблемы дёрганья быть не должно. НО, пока писал пост пришла мысль, может в этом и проблема:
Цитата:
Допис від likuz1973
Arduino Вы ранее писали:
1) 52 строка и далее - номер контактов куда следует подключать датчики и реле, могут быть изменены. (аналоговые выходы А0-А7 могут быть использованы как цифровые и обращения к ним начинается с 14 = А0, 15 = А1 и т.д.)
#define pinTemperatureAqua 14
#define pinTemperatureLedRadiator 15
#define pinRelayHeat 16
#define pinRelayFanWater 17
#define pinRelayFanLedRadiator 2 - это какой А контакт?
Я же могу его поменять на 17? пока испытывать буду куллеры на охлаждение радиатора ледов?
|
Если вы для pinRelayFanLedRadiator поставили 17 и оставили 17 у pinRelayFanWater,
то получается что этот пин (реле) дёргает две функции, как человека за руки в разные стороны и он пытается угодить и тем и этим. Надеюсь вы поняли?
