LINUX.ORG.RU
ФорумTalks

[ТАУ]Термостат


0

1

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

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

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

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



Последнее исправление: wingrime (всего исправлений: 1)
Ответ на: комментарий от Harald

можно поставить вентилятор но система пока отлично себя охлаждает за счет конвекции

wingrime
() автор топика

wiki://пид%20регулирование

aol ★★★★★
()

пид-регулятор

/*
Themp - текущая температура
Themp_Set - установленная температура
delta_Themp - ошибка регулятора задача регулятора держать ее как можно ближе
равной 0.
old_delta_Themp - старый отсчет ошибки регулятора.
S - полный сигнал
I - интегральная составляющая
D - дифференциальная составляющая
Kp - зона пропорциональности
Ti - интегральная постоянная
Td - дифференциальная постоянная
*/

void PID()
{
delta_Themp = Themp_Set - Themp;
I += (delta_Themp + old_delta_Themp)/(2 * Ti);
if(I < 0) I = 0;
else if (I > Kp) I = Kp;
D = (old_delta_Themp - delta_Themp) * Td;
S = (delta_Themp + I + D) / Kp;
if(S < 0) S = 0;
else if(S > 1) S = 1;
old_delta_Themp = delta_Themp;
}

// Все величины нормированные к единице.
// Td как минимум в десять раз меньше Ti.
registrant ★★★★★
()
Ответ на: комментарий от Harald

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

Как-как, делаешь дискретный ПИД-регулятор :) (или он ПРС называется для дискретного случая). Коэффициенты либо рассчитываешь по всем правилам, если по-хорошему, либо подбираешь методом тыка

Harald ★★★★★
()

Зачем все эти сложности с датчиками? Подбери себе вещество с подходящей температурой плавления и сделай термостат.

abraziv_whiskey ★★★★★
()
Ответ на: комментарий от registrant

откуда брать параметры среды? что будет если она изменится?

получается что нужно расчеты делать на месте както

wingrime
() автор топика
Ответ на: комментарий от kombrig

А не наплевать ли нам на колебания, когда речь идёт о температуре? Всё равно ничего нагреться не успеет. ПИ-регулятора достаточно.

gogi
()
Ответ на: комментарий от gogi

Смотря температурой чего управлять. И с какой скоростью. ПИД лучше других описанных по скоростным и статическим хр-кам. Минусы - гемор с настройкой и цена.

kombrig ★★★
()
Ответ на: комментарий от kombrig

Вот! ТС ничего не сообщил про желаемые показатели качества регулирования. А без этого даже если взять ПИД-регулятор, не понятно как его настраивать.

И с какой скоростью.

Скорость здесь не так важна. Между термостатом и объектом, температуру которого хочется поддерживать, всегда есть среда, которая выступает в роли хорошего ФНЧ.

gogi
()
Ответ на: комментарий от kombrig

на самом деле стоит

где брать коэффиценты

хотелось что бы система оправдывала название САУ и адаптивно вела себя

wingrime
() автор топика
Ответ на: комментарий от wingrime

Как-то так Ну и ты бы более детально задачу обрисовал: Что за объект, требуемые временные параметры, требуемая точность, статичность. А то ПИД настраивать на практике довольно сложно. Может тебе и П регулятора за глаза хватит.

kombrig ★★★
()
Ответ на: комментарий от gogi

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

kombrig ★★★
()

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

PakMaH
()

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

PakMaH
()

Купи регулятор температуры. Хотя бы Овен или Термодат. Или ещё что-то в этом роде.

Quasar ★★★★★
()
Ответ на: комментарий от wingrime

Кожффициенты находятся по различным методикам. В некоторых регуляторах эти коэффициенты подбираются автоматически (опция такая есть). Но суть в том, что ты сначала нагреваешь и смотришь, как ведёт себя температура. Потом по углу наклона касательной к кривой графика подбираешь коэффициенты.

Quasar ★★★★★
()
Ответ на: комментарий от PakMaH

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

Ничего страшного. Промышленные печи так и работают.

Quasar ★★★★★
()
Ответ на: комментарий от PakMaH

PakMaH> нет возможности прикрутить к нагревателю регулятор мощности ?

В готовых регуляторах температуры это имеется. Там задаётся максимальная мощность, а уж регулятор по закону ПИД определяет, сколько надо подавать мощности на нагревательные элементы.

Короче говоря - всё уже сделано и отработано как надо.

Quasar ★★★★★
()
Ответ на: комментарий от Quasar

Нет, всё-таки через пропорциональные клапаны и инжекторы с ПИД-регулированием.

coldy ★★
()
Ответ на: комментарий от Quasar

не хочется делать эмпирически, нужны какие нибудь мат методики оптимизаций

wingrime
() автор топика
Ответ на: комментарий от Quasar

есть готовый макет, мне осталось довести прошивку mk до кондиции а не искать готовые решения, которые кот в мешке

wingrime
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.