 |
09.10.2018, 10:07
|
#1
|
Придивляюся
Реєстрація: 15.09.2012
Звідки Ви: Харьков
Дописи: 55
сказав Дякую: 13
сказали Дякую 9 раз(и) в 7 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від burnashev
Последний вопрос пока для меня) в какой строке поправить гистерезис на 0.5 градуса) а то щелкает каждые 10-15 секунд)
|
Попробуйте так сделать. Найти данный код
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < (float)aquaT){
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
}else
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
заменить на это:
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT+0.5))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > (float)aquaT)
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
|
|
|
09.10.2018, 13:14
|
#2
|
Харьковский клуб аквариумистов
Реєстрація: 30.03.2011
Звідки Ви: г. Харьков
Дописи: 584
сказав Дякую: 145
сказали Дякую 292 раз(и) в 213 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від Denisios
Попробуйте так сделать. Найти данный код
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < (float)aquaT){
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
}else
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
заменить на это:
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT+0.5))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > (float)aquaT)
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
|
Спасибо попробую)
tropfish.org.ua
__________________
ParkZoo Fish
__________________ 
|
|
|
09.10.2018, 17:23
|
#3
|
Бан за нарушения
Реєстрація: 16.10.2012
Звідки Ви: Львів
Дописи: 472
сказав Дякую: 71
сказали Дякую 329 раз(и) в 197 повідомленні
|
Відповідь: Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від Denisios
заменить на это:
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT+0.5))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > (float)aquaT)
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
|
Груба помилка, бо якщо, наприклад, виставлена температура 25, то
якщо температура нижче 25,5 нагрівач включаємо
якщо вище 25, то виключаємо.
В результаті нагріваємо до тих же 25 градусів без гістерезису.
Потрібно додати пів градуса не в першу умову, а в другу !
Ну а якщо робити справді коректно, то так
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT-0.25))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > ((float)aquaT+0.25))
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
Тоді температура буде підтримуватися з точністю +-0,25 градуса
Востаннє редагував bobus: 09.10.2018 о 18:08..
Причина: пропустив скобку
|
|
|
09.10.2018, 18:48
|
#4
|
Харьковский клуб аквариумистов
Реєстрація: 30.03.2011
Звідки Ви: г. Харьков
Дописи: 584
сказав Дякую: 145
сказали Дякую 292 раз(и) в 213 повідомленні
|
Re: Відповідь: Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Огромное спасибо)
Цитата:
Допис від bobus
Груба помилка, бо якщо, наприклад, виставлена температура 25, то
якщо температура нижче 25,5 нагрівач включаємо
якщо вище 25, то виключаємо.
В результаті нагріваємо до тих же 25 градусів без гістерезису.
Потрібно додати пів градуса не в першу умову, а в другу !
Ну а якщо робити справді коректно, то так
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT-0.25))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > ((float)aquaT+0.25))
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
Тоді температура буде підтримуватися з точністю +-0,25 градуса
|
tropfish.org.ua
__________________
ParkZoo Fish
__________________ 
|
|
|
13.10.2018, 11:37
|
#5
|
Харьковский клуб аквариумистов
Реєстрація: 30.03.2011
Звідки Ви: г. Харьков
Дописи: 584
сказав Дякую: 145
сказали Дякую 292 раз(и) в 213 повідомленні
|
Re: Відповідь: Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Изменение температуры просто сместилось на 0.25 теперь включается и отключается 24.75
Цитата:
Допис від bobus
Груба помилка, бо якщо, наприклад, виставлена температура 25, то
якщо температура нижче 25,5 нагрівач включаємо
якщо вище 25, то виключаємо.
В результаті нагріваємо до тих же 25 градусів без гістерезису.
Потрібно додати пів градуса не в першу умову, а в другу !
Ну а якщо робити справді коректно, то так
// Управление нагревом и охлаждением ----------------------------------------------
if(cur_temp < ((float)aquaT-0.25))
digitalWrite(EXT_HEATER_PIN, HIGH); // включает нагреватель
if (cur_temp > ((float)aquaT+0.25))
digitalWrite(EXT_HEATER_PIN, LOW); // выключает нагреватель
Тоді температура буде підтримуватися з точністю +-0,25 градуса
|
tropfish.org.ua
__________________
ParkZoo Fish
__________________ 
|
|
|
 |
Тут присутні: 1 (учасників - 0 , гостей - 1)
|
|
Ваші права у розділі
|
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи
HTML код Вимк.
|
|
|
Часовий пояс GMT +3. Поточний час: 09:55.
|