Регулятор температуры на Ардуино ( Гистерезис )

Владимир 13
Offline
Зарегистрирован: 18.11.2020

здравствуйте  делаю автоматику своего газового  котла  дошел   до регулятора температуры  скетч  работает но встал вопрос с гистерезисом  я написал   код  но  гистерезис в нем  почему то не  работает подскажите  в чем ошибка  ?

величина  val  это  величина температуры задаваемая  переменным резистором

 первая строчка  кода  это и есть гистерезис   если  реле выключено (реле которое включает нагрев )  то величина val  -  5  градусов  а если включено   то  просто  считывается величина  val 

выкладываю  код  только релейной  части и гистерезиса 

 if (digitalRead(RELAY == LOW )
{
(val-5);
 }

if ( celsius < val  ) 
{ 
digitalWrite(RELAY, HIGH); 
delay(1000); 
}
else 
 
if(celsius >= val)
{
digitalWrite(RELAY, LOW); 
delay(1000); 

} 

 

b707
Offline
Зарегистрирован: 26.05.2017

вы можете обьяснить, что у вас написано в строке 3 ?

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Гистерезис? Каково его значение?

Владимир 13
Offline
Зарегистрирован: 18.11.2020

из значения   val   которое задано  переменным резистором     допустим   60 Гр   вычитается    5 градусов  

Владимир 13
Offline
Зарегистрирован: 18.11.2020

в строчке  3   его значение  5  градусов 

sadman41
Offline
Зарегистрирован: 19.10.2016

Вы о гистерезисе что знаете вообще?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Да и о программировании?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

В первой строчке ты не реле читаешь, а пин 0 или 1

Кстати, этот огрызок кода даже компилироваться не будет

Владимир 13
Offline
Зарегистрирован: 18.11.2020

а мне  и нужен  пин   к нему реле подключено  ,    огрызок нет а весь код компилируется  

Владимир 13
Offline
Зарегистрирован: 18.11.2020

ты помочь   хочешь или  глупые вопросы задавать  будешь если нет до свидание  !

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Владимир 13 пишет:

а мне  и нужен  пин   к нему реле подключено  ,    огрызок нет а весь код компилируется  

А я утверждаю, что если ты это скопировал из твоего текущего кода, то он тоже не компилируется

Владимир 13
Offline
Зарегистрирован: 18.11.2020

значит   как программист     ты не очень !   бывай !

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Скобки круглые посчитай в первой строке, прогрраммист,, мля.

SLKH
Offline
Зарегистрирован: 17.08.2015

фигнёй не занимайтесь.

 

Классический RS-триггер из двух строк:
 
if (celsius < (val-5)) {digitalWrite(RELAY, HIGH);}
 
if (celsius > val) {digitalWrite(RELAY, LOW);}
 
никаких  delay() и else, дребезга нет.
 
 
Владимир 13
Offline
Зарегистрирован: 18.11.2020

со скобками все нормально  дело не в них   с этими   мелочами я и без форума разберусь  ( так  себе программист  )

if(digitalRead(RELAY) == LOW )
{
  (val-5);
}

if ( celsius < val  ) 
{ 
digitalWrite(RELAY, HIGH); 
delay(1000); 
}
else 
 
if(celsius >= val)
{
digitalWrite(RELAY, LOW); 
delay(1000); 

} 

 

Владимир 13
Offline
Зарегистрирован: 18.11.2020

в этом коде есть одно но  он  будет   держать  температуру меньше на величину гистерезиса  то есть - 5 градусов     от уставки   а хотелось бы   что  бы держал согласно заданной уставки 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

DetSimen пишет:

Владимир 13 пишет:

а мне  и нужен  пин   к нему реле подключено  ,    огрызок нет а весь код компилируется  

А я утверждаю, что если ты это скопировал из твоего текущего кода, то он тоже не компилируется

Диду! Не стоит вмешиваться, это ж котел газовый. Тут естественный отбор сработает. С таким кодом - четко и быстро сработает! ;)))

kolyn
Offline
Зарегистрирован: 18.01.2019

Владимир 13 пишет:

значит   как программист     ты не очень !   бывай !

Если будешь отвечать местным в таком тоне, следующий вопрос на форуме придется задавать под ником Владимир 14

Владимир 13
Offline
Зарегистрирован: 18.11.2020

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

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Ясно. Очередное чмо. Ой, тоись, мачо. 

Владимир 13
Offline
Зарегистрирован: 18.11.2020

что  ответить очередному долбоебу    ты и сам все знаешь  )

sadman41
Offline
Зарегистрирован: 19.10.2016

Чото борзых в последнее время слишком много.

Проклятый АлиЭкспресс ПТУшникам ардуины бездумно продает, мерзавец...

Семён, мне кажется, что на взлете таких шлёпать надо, пока не начали веерно срать.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Владимир 13 пишет:

кто   хочет помогает

Зачем помогать абсолютному нолю, результат-то какой будет? Гораздо веселей поглумиться, хоть радостно станет и на душе приятно! ;))

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Могу удалить, а надо? 

Суббота, самое ж время для глума.

kolyn
Offline
Зарегистрирован: 18.01.2019

Владимир 13 пишет:

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

Дятел, хуету несешь ты и прямо в первом ответе тебе на это указали. А если амбиции с эмоциями шкалят, нех делать на форуме, решай свои проблемы сам

Владимир 13
Offline
Зарегистрирован: 18.11.2020

группа  поддержки  чмыря вылезла   , смелый   я сморю   до поры  ) 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

DetSimen пишет:

Могу удалить, а надо? 

Суббота, самое ж время для глума.

Поц еще недостаточно себя проявил. Как-то бледненько.  Пусть раскроет себя! ;))

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Подождем. :-)

Владимир 13
Offline
Зарегистрирован: 18.11.2020

что  уебище проснулся  ?  )    зенки свои продери    прежде чем про ошибки   говорить 

kolyn
Offline
Зарегистрирован: 18.01.2019

Владимир 13 пишет:

что  уебище проснулся  ?  )    зенки свои продери    прежде чем про ошибки   говорить 

Афтар пиши исче

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Да, да, пиши больше, вентилятор еще тока набирает обороты...

А у тебя какрас с собой два ведра супстанции. 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Владимир 13 пишет:

  прежде чем про ошибки   говорить 

ты скобки посчитал в строке №1? Чему присваивается (val-5) в строке №3 уже нашел? А что скрываешь, тогда ? ;)))

kolyn
Offline
Зарегистрирован: 18.01.2019

wdrakula пишет:

 Чему присваивается (val-5) в строке №3 уже нашел? 

А ты думаешь он знает, что такое "присваивается"?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

пятница начинается в субботу?

-NMi-
Offline
Зарегистрирован: 20.08.2018

Владимир 13 пишет:

что  уебище проснулся  ?  )    зенки свои продери    прежде чем про ошибки   говорить 


Вот запятых нивидна ваще, чозанах?

kolyn
Offline
Зарегистрирован: 18.01.2019

SLKH пишет:

фигнёй не занимайтесь.

 

Классический RS-триггер из двух строк:
 
if (celsius < (val-5)) {digitalWrite(RELAY, HIGH);}
 
if (celsius > val) {digitalWrite(RELAY, LOW);}
 
никаких  delay() и else, дребезга нет.
 
 

А если celsius == val. У него ж котел газовый. А сам он не додумается вжисть. Кому за БАБАХ овечать?;)

SLKH
Offline
Зарегистрирован: 17.08.2015

Владимир 13 пишет:

в этом коде есть одно но  он  будет   держать  температуру меньше на величину гистерезиса  то есть - 5 градусов     от уставки   а хотелось бы   что  бы держал согласно заданной уставки 

– Как вы себе представляете домкрат? Опишите своими словами.

– Такой… Падает, одним словом.

 

Владимир 13, как вы себе представляете действия персонажа, именуемого "Гистерезис" ?

SLKH
Offline
Зарегистрирован: 17.08.2015

kolyn пишет:

SLKH пишет:

фигнёй не занимайтесь.

 

Классический RS-триггер из двух строк:
 
if (celsius < (val-5)) {digitalWrite(RELAY, HIGH);}
 
if (celsius > val) {digitalWrite(RELAY, LOW);}
 
никаких  delay() и else, дребезга нет.
 
 

А если celsius == val. 

значение на выходном пине не изменится.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Владимир 13 пишет:
из значения   val   которое задано  переменным резистором     допустим   60 Гр   вычитается    5 градусов
И куда девается результат вычитания?

Вообще-то, прочитав первый пост, решил попытаться помочь (карму с утра подчистить), но, прочитав всю ветку ... в общем, Вашими же словами

Владимир 13 пишет:
что  ответить долбоебу    ты и сам все знаешь  )

kolyn
Offline
Зарегистрирован: 18.01.2019

SLKH пишет:

 значение на выходном пине не изменится.

ТС крутильник-задавальник упоминал. А вдруг установит предельный режим, понадеявшись на гистерезис. Одним словом я за такую if (celsius >=val) {digitalWrite(RELAY, LOW) однозначность, пусть реле подольше выключено будет:)

vde69
Offline
Зарегистрирован: 10.01.2016

советчики блин...

1. всегда надо учитывать переход через пограничное состояние (в сабже это изменение переменной celsius), в теме нет правильных ответов на это, банально датчик за 5 секунд может выдать 5 переходов через границу, но это не значит, что надо котел включать 5 раз... в инерционных системах пид регуляторы в чистом виде НЕ РАБОТАЮТ

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

3. вот мой проект, можно подсмотреть... правда тут температуры немного другие, но даже мой скеч можно применить в сабже если его "обучить"  http://arduino.ru/forum/proekty/kontroller-mufelnoi-pechi

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

kolyn пишет:

Если будешь отвечать местным в таком тоне, следующий вопрос на форуме придется задавать под ником Владимир 14

Я думаю, Владимиром 14 он будет только через год.

kolyn
Offline
Зарегистрирован: 18.01.2019

vde69 пишет:

советчики блин...

vde69 пишет:

идея использовать апромиксацию на основе кривой Бозье (легко считается и очень красиво работает)

Это первое, что нужно было подсказать ТС

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

vde69 пишет:

на основе кривой Бозье

Чё за зверь такой?

-NMi-
Offline
Зарегистрирован: 20.08.2018

ЕвгенийП пишет:

vde69 пишет:

на основе кривой Бозье

Чё за зверь такой?


Це-ж знаменитыйо хранцузы, такие каг Равенъё, Лепелътйо, ты шо, низнашъ их, йо-майо???

kolyn
Offline
Зарегистрирован: 18.01.2019

ЕвгенийП пишет:

Чё за зверь такой?

Все зависит от транскрипции слова monsieur - если мОсье, то Бозье, если мЕсье - Безье, мИсье - Бизье.

SLKH
Offline
Зарегистрирован: 17.08.2015

-NMi- пишет:
ЕвгенийП пишет:

vde69 пишет:

на основе кривой Бозье

Чё за зверь такой?

Це-ж знаменитыйо хранцузы, такие каг Равенъё, Лепелътйо, ты шо, низнашъ их, йо-майо???
Оливье ещё.

Владимир 13
Offline
Зарегистрирован: 18.11.2020

 вопрос   гистерезиса решен   .    усреднять показания датчика   буду  позже потому что   бывают   резкие изменения на ровном месте     , лишние дерганья котла ни к чему  

vde69
Offline
Зарегистрирован: 10.01.2016

ЕвгенийП пишет:

vde69 пишет:

на основе кривой Бозье

Чё за зверь такой?

https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%B2%D0%B0%D1%8F_%D0%91%D0%B5%D0%B7%D1%8C%D0%B5

-NMi-
Offline
Зарегистрирован: 20.08.2018

Гистерезис и Бозьё заказали оливьё, принесли с собою литр, стали пить и рисовать. А на утро на столе не осталось оливье, только линии кривые, это память о Безье.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, я так и подумал, но решил перестраховаться. Подумал,  может и кривые "бозье" какие-нибудь тоже есть, просто я о них не слышал.