|
|
  |
Регулировка температуры (П ПИ ПИД регуляторы), Начнем с ликбеза по вышке ... нервным не открывать :-) |
|
|
|
Nov 22 2007, 11:41
|
Профессионал
    
Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134

|
Цитата(Bird2 @ Nov 20 2007, 18:09)  А может применить трехпозиционный закон регулирования в данном случае? Для отопления помещений он вполне подходит. Вполне подойдет и двухпозиционный регулятор. Но есть тонкости. Первое датчик температуры должен находится по возможности вблизи Нагревателя. Мощность нагревателя должна быть минимальна. только чтобы обеспечить нужную температуру, это значительно уменьшит перебег при отключении. Желательно обеспечить максимально быстрое выравнивание температуры в камере.(принудительная конвенция,теплопроводящие трубки, распределеный нагреватель.) В случае применения ПИД регуляторов следует учесть очень большие постоянные времени. И "емкостный характер нагрузки" в виде теплоемкости объэкта регулирования. И большой "люфт" (низкая скорость выравнивания температуры в камере).
|
|
|
|
|
Nov 22 2007, 11:53
|
Частый гость
 
Группа: Свой
Сообщений: 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 от скорости нагрева  Примерно с таким алгоритмом я уже возился -- мощность нагревателя постоянно прыгает. Ну и П-регулятор http://icm-tec.com/main1_10.htm Y=К·(U-X) , для П-регулятора К= 1/R·t0 Я так понял, что первым делом надо данные с датчика завести на комп и сварганить логгер - построить криву разогрева моего ящика ... тогда можно думать о расчете коф. Но пока пара вопросов ... Следуя закону Y=К·(U-X) при уменьшении невязки мощность нагревателя падает ... и в один прекрасный момент становится нулю ... коробка остывает - невязка увеличивается - нагреватель включается - невязка уменьшается - нагреватель выключается ... одним словом получаем колебания ... период которых зависит от качества изоляции моей коробки и К. Амплитуда в большей степени зависит от К ... вроде. Если этот алгоритм впихнуть в мою коробку, которая остывает всего немного медленне, чем ее лампа нагревает ... то d (стат. ошибка) у меня должна быть ну Очень большой. Верно? Ну это всё пока изыски ... "а что, а как" Вот теперь интереснее вопрос .. как X превратить в конкретный показатель мощности, который у меня в пределах 0..100 ? А если невязка отрицательную получу при "проскоке" или смене задания? Лампу в холодильник как превратить  ? или просто мощность в 0 ?
|
|
|
|
|
Nov 22 2007, 18:36
|
Частый гость
 
Группа: Свой
Сообщений: 80
Регистрация: 19-12-06
Пользователь №: 23 672

|
Сорри за офф Я в детстве книжку читал, как два мальчика делали инкубатор. Использовали настольную лампу, термометр и тетрадки. Подкладывая или вынимая тетрадки со стопки они регулировали температуру! Может стоит занятся созданием РОБОТА ДЛЯ ПОДКЛАДЫВАНИЯ ТЕТРАДОК? Не бейте меня больно, я понимаю, что тема серъезная...
|
|
|
|
|
Nov 23 2007, 16:24
|

Знающий
   
Группа: Свой
Сообщений: 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 будет завышен - интегратор слишком лихо будет гонять мощность, Вы будете всё время пролетать уставку. Если К будет слишком мал - инкубатор будет очень медленно выходить на режим и компенсировать открывание дверцы. Чтобы в районе нужной температуры не гонять нагреватель, разумно сделать "зону нечувствительности" - коридор температуры вокруг уставки, где интегратор перестает интергрировать.
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
|
Nov 23 2007, 17:16
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Я делал инкубатор в голодное начало девяностых. Неудачно :-) Вместо мудреной электроники был ртутный термометр с размыкателем через ртуть. Результат был печален - я не учел градиент температуры по объему. Произошло ужасное - яйца вверху - спеклись, яйца внизу - протухли, яйца в середине - наполовину. Самое обидное, что даже непонятно было, что с этими яйцами делать  Есть было боязно. Так что там про ПИД? Достаточно просто ПИ - регулятора. Можно не париться диф составляющей, все равно инкубатор периодически проветривать и остужать. И еще. Аппаратура и программа должна иметь возможность плавно управлять мощностью через ШИМ. Напишите и отладьте такую промежуточную функцию SetHeaterPower(char percentage). Тогда регулятор сведется до одной формулы. Успехов
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Nov 23 2007, 17:38
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 23-05-05
Из: UA
Пользователь №: 5 317

|
Спасибо за ответ ... Я дальше ПИ и не дергаюсь  Но хочется разобраться с теорией хоть немного. Demeny Если не против, то давайте пока про П-регулятор ... без интегралов... Если в Y=К·(U-X) Y- [u]изменение[u] мощности, то тогда понятно и что будет при "проскоке" - уменьшение текущей мощности. R=Ymax/tи ... Здесь именно (я так понял ) и идет привязка к моей макс. мощности. А здесь необходимо указывать мощность нагревателя (40Вт лампа) или 100 единиц, которыми я оперирую в прошивке сейчас? Если нужно ставить 40 - реальную мощность ... то, получается, потом придется делать перевод с реальной мощности в мою процентную шкалу Ааааааа! Капут! Dog Pawlowa, мощностью я плавно уже управляю - 100 градаций от 0 до 100%
|
|
|
|
|
Nov 24 2007, 13:31
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(AndryG @ Nov 23 2007, 15:07)  Я так понял, что все махнули на меня рукой - безнадежен  Что Вы так странно реагируете? Уже столько было советов, отчасти правильных. Вот еще. Не знаю, какой у Вас Контроллер, но советую для настройки коэффициентов П и И использовать переменные резисторы, которые Вы будете крутить, а контроллер считывать... Не переживайте - точность подбора этих параметров низкая... Я один раз была на экскурсии в инкубаторе - он был очень большой - целый дом. Глаза только резало от формалина... Оказалось, что бедные цыплята вылупляются не одновременно. Первые ждут освобождения пару дней... Без еды и питья. В темноте. Какая-то часть не дожидается. Дышат формалином. Там еще влажность стабилизируется. Еще зачем-то кассеты с яйцами переворачивались автоматически. Как часто - не знаю.
|
|
|
|
|
Nov 24 2007, 17:51
|
Частый гость
 
Группа: Участник
Сообщений: 104
Регистрация: 21-12-06
Пользователь №: 23 770

|
Цитата Результат был печален - я не учел градиент температуры по объему А ведь товарищ прав. Неплохо иметь это ввиду. Если объем большой, то и колебания будут большими. Может, поставить еще один датчик температуры ? И при вычислениях учитывать их разность.
--------------------
Затравленный и прижатый к стене кот превращается в тигра. Мигель Сервантес.
|
|
|
|
|
Nov 25 2007, 12:03
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 23-05-05
Из: UA
Пользователь №: 5 317

|
Спасибо всем за ответы ... не стоит поднимать тему высиживания цыпляток :-) ... давайте лучше о П-регуляторе  А? Может ответите на пост 17 и 22 ?
|
|
|
|
|
Nov 26 2007, 10:26
|

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

|
Цитата(AndryG @ Nov 25 2007, 15:03)  Спасибо всем за ответы ... давайте лучше о П-регуляторе  А? Может ответите на пост 17 и 22 ? Давайте. П-регулятор не подходит для Вашей задачи. Инкубатор - достаточно сложный объект с большой постоянной времени. Лучше использовать ПИД-регулятор, но поскольку у Вас нет опыта построения и отладки систем автоматического управления, Вам будет сложно настроить дифференциальную составляющую регулятора. Поэтому я предложил Вам ПИ-регулирование несколькими постами выше, расписав всё подробно "на пальцах" и указав единственный параметр, который придётся подстроить, чтобы регулятор не вошел в колебательный режим. Не нужно бояться слова "интеграл" - это всего лишь сумма в контексте данной задачи
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
|
Nov 26 2007, 10:44
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 23-05-05
Из: UA
Пользователь №: 5 317

|
 не боюсь ... и я понимаю, что П мало и надо ПИ ... но хочется по порядку ... так легче разобраться. Вот и спрашиваю ... насколько я понял "чтиво" привязка к моим отсчетам мощности происходит при вычислении R ? Понимаю, что с практикой куча вопросов отпадет ... вот доделаю опторазвязку на ком-порт - нарисую на компе кривую разгона моего ящика .. да буду считать
|
|
|
|
|
Apr 21 2008, 07:11
|
Группа: Новичок
Сообщений: 14
Регистрация: 20-04-08
Пользователь №: 36 922

|
Интересно узнать как разрешилась Ваша проблема?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|