реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Регулировка температуры (П ПИ ПИД регуляторы), Начнем с ликбеза по вышке ... нервным не открывать :-)
MaslovVG
сообщение Nov 22 2007, 11:41
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Цитата(Bird2 @ Nov 20 2007, 18:09) *
А может применить трехпозиционный закон регулирования в данном случае? Для отопления помещений он вполне подходит.

Вполне подойдет и двухпозиционный регулятор.
Но есть тонкости. Первое датчик температуры должен находится по возможности вблизи Нагревателя.
Мощность нагревателя должна быть минимальна. только чтобы обеспечить нужную температуру, это значительно уменьшит перебег при отключении. Желательно обеспечить максимально быстрое выравнивание температуры в камере.(принудительная конвенция,теплопроводящие трубки, распределеный нагреватель.)
В случае применения ПИД регуляторов следует учесть очень большие постоянные времени. И "емкостный характер нагрузки" в виде теплоемкости объэкта регулирования. И большой "люфт"
(низкая скорость выравнивания температуры в камере).
Go to the top of the page
 
+Quote Post
AndryG
сообщение Nov 22 2007, 11:53
Сообщение #17


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 23-05-05
Из: UA
Пользователь №: 5 317



По термометру
У меня термометр живет на паразитном питании Управляется двумя функциями: ds_convert()-> инициализирует датчик и запускает конвертацию; и ds_read() -> читает температуру.
В основном цикле прокручиваются функции -> ds_convert ... 2 сек(время преобразования при 12 бит. 1.75 сек) ... ds_read ... ds_convert и т.д.
Саморазогрев идет 0.1 градуса. Посчитал, что пока можно смирится. а там посмотрим.
По трех-позиционном алг. управления
Насколько я понял, такой алгоритм прокатит в довольно инерционной системе ... а у меня ящик остывает с скорость примерно 0.75 от скорости нагрева smile.gif Примерно с таким алгоритмом я уже возился -- мощность нагревателя постоянно прыгает.

Ну и П-регулятор
http://icm-tec.com/main1_10.htm
Y=К·(U-X) , для П-регулятора К= 1/R·t0
Я так понял, что первым делом надо данные с датчика завести на комп и сварганить логгер - построить криву разогрева моего ящика ... тогда можно думать о расчете коф.
Но пока пара вопросов ...
Следуя закону Y=К·(U-X) при уменьшении невязки мощность нагревателя падает ... и в один прекрасный момент становится нулю ... коробка остывает - невязка увеличивается - нагреватель включается - невязка уменьшается - нагреватель выключается ... одним словом получаем колебания ... период которых зависит от качества изоляции моей коробки и К. Амплитуда в большей степени зависит от К ... вроде.

Если этот алгоритм впихнуть в мою коробку, которая остывает всего немного медленне, чем ее лампа нагревает ... то d (стат. ошибка) у меня должна быть ну Очень большой. Верно?

Ну это всё пока изыски ... "а что, а как" Вот теперь интереснее вопрос .. как X превратить в конкретный показатель мощности, который у меня в пределах 0..100 ? А если невязка отрицательную получу при "проскоке" или смене задания? Лампу в холодильник как превратитьsmile.gif ? или просто мощность в 0 ?
Go to the top of the page
 
+Quote Post
Bird2
сообщение Nov 22 2007, 18:36
Сообщение #18


Частый гость
**

Группа: Свой
Сообщений: 80
Регистрация: 19-12-06
Пользователь №: 23 672



Сорри за офф smile.gif
Я в детстве книжку читал, как два мальчика делали инкубатор. Использовали настольную лампу, термометр и тетрадки. Подкладывая или вынимая тетрадки со стопки они регулировали температуру!
Может стоит занятся созданием РОБОТА ДЛЯ ПОДКЛАДЫВАНИЯ ТЕТРАДОК?
Не бейте меня больно, я понимаю, что тема серъезная...
Go to the top of the page
 
+Quote Post
AndryG
сообщение Nov 23 2007, 12:07
Сообщение #19


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 23-05-05
Из: UA
Пользователь №: 5 317



Я так понял, что все махнули на меня рукой - безнадежен sad.gif
Go to the top of the page
 
+Quote Post
Demeny
сообщение Nov 23 2007, 16:24
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Цитата(AndryG @ Nov 22 2007, 14:53) *
Следуя закону Y=К·(U-X) при уменьшении невязки мощность нагревателя падает ... и в один прекрасный момент становится нулю ...

Вот где ошибка. При уменьшении невязки падает не мощность, а приращение мощности, и при нулевой невязке мощность равна не нулю, а некоторому установившемуся значению. То есть я предлагаю сделать Вам не пропорциональный, а пропорционально-интегральный (ПИ) регулятор.
Теперь подробнее "на пальцах". 1) Измеренное значение температуры фильтруем (усредняем) на интервале, скажем, 10 секунд 2) Формируем сигнал ошибки (невязки) как разность заданной температуры (уставки) и фильтрованного значения текущей температуры 3) Теперь главный параметр - коэффициент усиления K, на него умножаем ошибку и ... 4) интегрируем полученное значение, т. е. U = U + K*Error на каждом цикле управления (например, раз в секунду). Это U и есть выдаваемая мощность на нагреватель, её нужно ограничить условием 0<=U<=100.
Настройка этого регулятора заключается в подборе коэффициента K , по теории автоматического управления он равен 1/T, где T - время выхода инкубатора на установившийся режим, т е холодный инкубатор -> включаем нагреватель на 100 % -> измеряем время до момента, когда температура практически не меняется, это и есть T в первом приближении, K = 1/T, затем K в процессе эксперимента нужно подобрать более точно. Если K будет завышен - интегратор слишком лихо будет гонять мощность, Вы будете всё время пролетать уставку. Если К будет слишком мал - инкубатор будет очень медленно выходить на режим и компенсировать открывание дверцы.
Чтобы в районе нужной температуры не гонять нагреватель, разумно сделать "зону нечувствительности" - коридор температуры вокруг уставки, где интегратор перестает интергрировать.


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Nov 23 2007, 17:16
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Я делал инкубатор в голодное начало девяностых. Неудачно :-)
Вместо мудреной электроники был ртутный термометр с размыкателем через ртуть.
Результат был печален - я не учел градиент температуры по объему. Произошло ужасное - яйца вверху - спеклись, яйца внизу - протухли, яйца в середине - наполовину.
Самое обидное, что даже непонятно было, что с этими яйцами делать sad.gif Есть было боязно.

Так что там про ПИД? smile.gif
Достаточно просто ПИ - регулятора. Можно не париться диф составляющей, все равно инкубатор периодически проветривать и остужать.
И еще. Аппаратура и программа должна иметь возможность плавно управлять мощностью через ШИМ. Напишите и отладьте такую промежуточную функцию SetHeaterPower(char percentage).
Тогда регулятор сведется до одной формулы. Успехов smile.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
AndryG
сообщение Nov 23 2007, 17:38
Сообщение #22


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 23-05-05
Из: UA
Пользователь №: 5 317



Спасибо за ответ ...
Я дальше ПИ и не дергаюсь smile.gif Но хочется разобраться с теорией хоть немного.
Demeny Если не против, то давайте пока про П-регулятор ... без интегралов... Если в Y=К·(U-X) Y- [u]изменение[u] мощности, то тогда понятно и что будет при "проскоке" - уменьшение текущей мощности.

R=Ymax/tи ... Здесь именно (я так понял ) и идет привязка к моей макс. мощности. А здесь необходимо указывать мощность нагревателя (40Вт лампа) или 100 единиц, которыми я оперирую в прошивке сейчас?
Если нужно ставить 40 - реальную мощность ... то, получается, потом придется делать перевод с реальной мощности в мою процентную шкалу sad.gif
Ааааааа! Капут!

Dog Pawlowa, мощностью я плавно уже управляю - 100 градаций от 0 до 100%
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Nov 23 2007, 17:59
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Посмотрел я свои исходники прибора, где требуется очень точная установка температуры.
Вообще без регулятора! То есть пропорциональный с "ручным" пересчетом мощности в зависимости от разности требуемой и действительной температур. За счет большой мощности нагревателя колебания отклонения получились около 0,1 градуса.
А 100 градаций мощности - это супер, все нормальные пацаны так делают a14.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Tanya
сообщение Nov 24 2007, 13:31
Сообщение #24


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(AndryG @ Nov 23 2007, 15:07) *
Я так понял, что все махнули на меня рукой - безнадежен sad.gif

Что Вы так странно реагируете? Уже столько было советов, отчасти правильных.
Вот еще. Не знаю, какой у Вас Контроллер, но советую для настройки коэффициентов П и И использовать
переменные резисторы, которые Вы будете крутить, а контроллер считывать... Не переживайте - точность подбора этих параметров низкая...
Я один раз была на экскурсии в инкубаторе - он был очень большой - целый дом. Глаза только резало от формалина... Оказалось, что бедные цыплята вылупляются не одновременно. Первые ждут освобождения пару дней... Без еды и питья. В темноте. Какая-то часть не дожидается.
Дышат формалином. Там еще влажность стабилизируется. Еще зачем-то кассеты с яйцами переворачивались автоматически. Как часто - не знаю.
Go to the top of the page
 
+Quote Post
Wildcat
сообщение Nov 24 2007, 17:51
Сообщение #25


Частый гость
**

Группа: Участник
Сообщений: 104
Регистрация: 21-12-06
Пользователь №: 23 770



Цитата
Результат был печален - я не учел градиент температуры по объему

А ведь товарищ прав. Неплохо иметь это ввиду. Если объем большой, то и колебания будут большими. Может, поставить еще один датчик температуры ? И при вычислениях учитывать их разность.


--------------------
Затравленный и прижатый к стене кот превращается в тигра. Мигель Сервантес.
Go to the top of the page
 
+Quote Post
sergeeff Jr.
сообщение Nov 24 2007, 18:48
Сообщение #26


Знающий
****

Группа: Свой
Сообщений: 568
Регистрация: 8-07-07
Из: Занзибар
Пользователь №: 28 964



А может если объем большой, то все таки добиться равномерного распределения температуры (каким угодно методом). Это как включать инфракрасную лампочку в одном конце ангара, а в другом конце мерять температуру...


--------------------
"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие
Go to the top of the page
 
+Quote Post
AndryG
сообщение Nov 25 2007, 12:03
Сообщение #27


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 23-05-05
Из: UA
Пользователь №: 5 317



Спасибо всем за ответы ... не стоит поднимать тему высиживания цыпляток :-) ... давайте лучше о П-регуляторе smile.gif А?

Может ответите на пост 17 и 22 ?
Go to the top of the page
 
+Quote Post
Demeny
сообщение Nov 26 2007, 10:26
Сообщение #28


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Цитата(AndryG @ Nov 25 2007, 15:03) *
Спасибо всем за ответы ... давайте лучше о П-регуляторе smile.gif А?
Может ответите на пост 17 и 22 ?

Давайте. П-регулятор не подходит для Вашей задачи. Инкубатор - достаточно сложный объект с большой постоянной времени. Лучше использовать ПИД-регулятор, но поскольку у Вас нет опыта построения и отладки систем автоматического управления, Вам будет сложно настроить дифференциальную составляющую регулятора. Поэтому я предложил Вам ПИ-регулирование несколькими постами выше, расписав всё подробно "на пальцах" и указав единственный параметр, который придётся подстроить, чтобы регулятор не вошел в колебательный режим. Не нужно бояться слова "интеграл" - это всего лишь сумма в контексте данной задачи smile.gif


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
AndryG
сообщение Nov 26 2007, 10:44
Сообщение #29


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 23-05-05
Из: UA
Пользователь №: 5 317



smile.gif не боюсь ... и я понимаю, что П мало и надо ПИ ... но хочется по порядку ... так легче разобраться.

Вот и спрашиваю ... насколько я понял "чтиво" привязка к моим отсчетам мощности происходит при вычислении R ?

Понимаю, что с практикой куча вопросов отпадет ... вот доделаю опторазвязку на ком-порт - нарисую на компе кривую разгона моего ящика .. да буду считать smile.gif
Go to the top of the page
 
+Quote Post
andrej2005
сообщение Apr 21 2008, 07:11
Сообщение #30





Группа: Новичок
Сообщений: 14
Регистрация: 20-04-08
Пользователь №: 36 922



Интересно узнать как разрешилась Ваша проблема?
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 12:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01509 секунд с 7
ELECTRONIX ©2004-2016