Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Терморегулятор на AVR
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
_Pasha
Доброго времени!
История болезни: терморегулятор поддерживает температуру в вакуумной печи. Датчик DS18B20, работа в диапазоне 60..85 градусов. Никаких вопросов, кроме одного: очень большая инерционность печи. Без PID-регулятора заброс по температуре +50% (!) Прикручивается самонастройка PID, но, ввиду инерционности объекта, возникают сложности по начальному разогреву и выходу в зону регулирования. Особенно интересно получается, если разогрелись где-то до 70% от уставки, и кратковременно выключили сеть. Что делать контроллеру: греть? ждать и мерять? Если ждать, то сколько? Самонастройка откладываеццо... Упомянутый заброс достигает своего максимума где-то минут аж за 20, и если тупо ждать, ТТХ прибора оставляют желать лучшего...
Интересно, кто как решает подобную проблему.
vvs157
Цитата(_Pasha @ Sep 25 2008, 23:56) *
но, ввиду инерционности объекта, возникают сложности по начальному разогреву и выходу в зону регулирования
Проще всего решается медленным увеличением уставки, так, чтобы не срывать регулирование. Зачем вам самостройка? Однажды определите параметры потратив на это достаточное количество времени и дальше ими пользуйтесь. Если инерционность печи сильно меняется по мере разогрева - сделайте несколько участков со своими ПИД в каждом
Огурцов
При условии, что инерционность мало зависит от полезной загрузки печи, а это не всегда так.
domowoj
Что имеется ввиду под словом "самонастройка"?
Если задана температура и работает ПИД, ну и пусть сеть гаснет, печь то инерционная.
Или я чтото не понимаю.
MrYuran
Я вот не совсем понял, что за инерционность. Если печь медленно разогревается - это нормально. Тут ПИД очень хорошо должен работать. А вот если вы выключили нагрев, а она продолжает разогреваться ещё долгое время и проскакивает уставку - это другое дело. Так как на самом деле?
Огурцов
Термодатчик может стоять внутри печи, а нагреватель за огнеупорной стенкой (муфель).
При нагреве стенка прогревается медленно, в тот момент когда на датчике одна температура, на нагревателе уже другая (выше). По достижению установленной температуры на термодатчике нагреватель выключится, но температура внутри печи продолжит расти (а температура нагревателя начнет падать). Чем толще стенка и больше запас мощности нагревателя, тем все хуже.
VladimirYU
Цитата(_Pasha @ Sep 25 2008, 23:56) *
Доброго времени!
История болезни: терморегулятор поддерживает температуру в вакуумной печи. Датчик DS18B20, работа в диапазоне 60..85 градусов. Никаких вопросов, кроме одного: очень большая инерционность печи. Без PID-регулятора заброс по температуре +50% (!) .........
Интересно, кто как решает подобную проблему.


Более того, управлять разогревом печи вы можете как угодно, о вот остыванием никак. Поэтому и перерегулирование такое большое. Классический ПИД в этом случае слабо помогает из-за несимметричности свойств объекта в целом. У меня в похожей задаче лучшие результаты получились при перестраиваемом регуляторе. На этапе разогрева чистый П-регулятор, при входе в определенный коридор точности (приблизительно на уровне статической ошибки П-регулятора) добавляется И-составляющая с довольно большой постоянной интегрирования (медленный интегратор). Д-составляющая в моем случае была малоэффективна из-за медленности процессов, поэтому ее можно выкинуть совершенно безболезненно. И наконец, важна линейность сиового преобразователя управление->выходная мощность (особенно если это тиристоры), иначе упомянутые Вами проблемы могут проявляться по разному на разных температурах печи.
MrYuran
Цитата(Огурцов @ Sep 26 2008, 10:33) *

Ясненько. Ну так и что? Классический ПИД.
П - пропорционально отклонению от уставки.
Д - гасит колебания, противодействует резким изменениям.
И - компенсирует потери тепла.

Надо только правильно коэффициенты расставить. Для начала - снять характеристику нагрева. То есть включить, догреть до какой-то температуры, а потом выключить. по полученной кривой можно будет уже что-то думать.
Dog Pawlowa
Дополнительные датчики помогут получить информацию о состоянии печи и прогнозировать перегрев.
MrYuran
Цитата(VladimirYU @ Sep 26 2008, 10:45) *
И наконец, важна линейность сиового преобразователя управление->выходная мощность (особенно если это тиристоры), иначе упомянутые Вами проблемы могут проявляться по разному на разных температурах печи.

ШИМ с большим периодом (секунды, минуты). По-моему, не должно быть никаких проблем. Хотя, с большими печами не общался. Только на уровне духовки. Делал термостат для запекания силикона и керамики.
VladimirYU
Цитата(Dog Pawlowa @ Sep 26 2008, 10:54) *
Дополнительные датчики помогут получить информацию о состоянии печи и прогнозировать перегрев.

Прогнозировать может только производная (1-ая, 2-ая ) регулируемой величины, а при медленных процессах получить качествееное дифференцирование далеко невсегда удается, дискетизация по уровню и по времени делает свое черное дело. N и N+1 состояния становятся неразличимы, а при значительном увеличении периода квантования такая производная становится неэффективной, а даже скорей вредной. В постановке нескольких датчиков несомненно есть рациональное, это позволит наблюдать распределение температур по печи и оценивать динамику процесса, но тоже задача непростая.
IJAR
Цитата(_Pasha @ Sep 25 2008, 22:56) *
Доброго времени!
История болезни: терморегулятор поддерживает температуру в вакуумной печи. Датчик DS18B20, работа в диапазоне 60..85 градусов. Никаких вопросов, кроме одного: очень большая инерционность печи. Без PID-регулятора заброс по температуре +50% (!) Прикручивается самонастройка PID, но, ввиду инерционности объекта, возникают сложности по начальному разогреву и выходу в зону регулирования. Особенно интересно получается, если разогрелись где-то до 70% от уставки, и кратковременно выключили сеть. Что делать контроллеру: греть? ждать и мерять? Если ждать, то сколько? Самонастройка откладываеццо... Упомянутый заброс достигает своего максимума где-то минут аж за 20, и если тупо ждать, ТТХ прибора оставляют желать лучшего...
Интересно, кто как решает подобную проблему.

В 70-х годах 20-го века мы разрабатывали систему управления температурой для диффузионной
электропечи. Правда диапазон был 300..1200 ^C и точность +/- 1^C при 300..700 и 0,1^C
при 1000..1200^C
Проблемы были аналогичные. Решение было таково:
один термодатчик ставили на нагреватель (прямо на проволоку) и по нему работал ПИД регулятор
а второй ставился непосредственно в рабочий объем - контрольный датчик. При настройуе системы
подавлся скачок мощности и по контрольному датчику определялось термосопотивление
объекта и далее подбирались коэфициенты ПИД регулятора. Реально, в такой системе
нужно использовать ПИ регулятор (из-за малой зависимости объекта от Д)
mempfis_
Цитата(_Pasha @ Sep 25 2008, 23:56) *
Доброго времени!
История болезни: терморегулятор поддерживает температуру в вакуумной печи. Датчик DS18B20...


Добрый деньsmile.gif
Чтобы не открывать новую тему пишу сюда.
У меня стоит подобная задача только нужно не нагревать а охлаждать камеру. Охлаждение идёт с помощью элемента пельтье а контроль температуры с помощью термодатчика DS18B20.
Пока сделал по-простому: при достижении заданной температуры отключаю элемент пельтье, при нагреве - включаю. На практике ещё не проверял (пока что холодильник ещё не собран) но чувствую возникнут проблемы при охлаждении из-за инерционности (камера представляет из-себя алюминиевый цилиндр с достаточно толстыми стенками. термодатчик болтается в центре камеры).
Поделитесь опытом как правильно регулировать температуру? Предполагаю что нужно реализовать ПИД-регулятор. Расскажите пожалуйста в простых словах что это такое чтобы понять суть, а то формулы пока-что не лезут в голову.
По моим соображениям нужно:
- определить текущую температуру
- сопоставить этой температуре некоторую скважность шима питающего элемент пельтье
- при приближении к заданной температуре плавно уменьшать скважность

Правильно-ли я понимаю что ПИД какраз и определяет закон изменения скважности?
Как вообще вычисляется этот закон практическим методом?

Параметры регулирования: Т -15....+4 (или с запасом -30....+50), точность скажем 0.1 С (хотя термодатчик позволяет мерять с точностью 0.0625 С)
Спасибо всем кто поможет дельным советом
Dog Pawlowa
Цитата(VladimirYU @ Sep 26 2008, 10:10) *
... В постановке нескольких датчиков несомненно есть рациональное, это позволит наблюдать распределение температур по печи и оценивать динамику процесса, но тоже задача непростая.

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

Извиняюсь smile.gif
файл называется "Регуляторы температуры" рар-архив на 54 кБ
smk
А если на начальном этапе нагрева измерить теплоемксть всей конструкции получив значение скорости нагрева (охлаждения) градС/мин (или мин/1градС) и исходя из этого значения определять параметры управления нагревателем. Ведь скорость роста температуры напрямую зависит от загрузки печи.
VladimirYU
[quote name='smk' date='Sep 26 2008, 11:47' post='475825']
А если на начальном этапе нагрева измерить теплоемксть всей конструкции получив значение скорости нагрева (охлаждения) градС/мин (или мин/1градС) и исходя из этого значения определять параметры управления нагревателем. Ведь скорость роста температуры напрямую зависит от загрузки печи.
[/quote]

Практически реализована Ваша идея. См. пост выше от IJAR:
[/quote]
.....
один термодатчик ставили на нагреватель (прямо на проволоку) и по нему работал ПИД регулятор
а второй ставился непосредственно в рабочий объем - контрольный датчик. При настройуе системы
подавлся скачок мощности и по контрольному датчику определялось термосопотивление
объекта и далее подбирались коэфициенты ПИД регулятора.
[/quote]
smk
Цитата
один термодатчик ставили на нагреватель (прямо на проволоку) и по нему работал ПИД регулятор
а второй ставился непосредственно в рабочий объем

Я предлагаю обойтись одним датчиком. За 1 мин до достижения нужной температуры выключаем нагреватель. Спустя 1 мин управляем посредством ШИМ. До всего этого нагреватель постоянно включен, а контроллер ведет мониторинг скорости нагрева постоянно корректируя значение прироста градС/мин. Как такая идея?
_Pasha
Цитата(Огурцов @ Sep 26 2008, 01:54) *
При условии, что инерционность мало зависит от полезной загрузки печи, а это не всегда так.

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

Цитата(MrYuran @ Sep 26 2008, 09:06) *
Я вот не совсем понял, что за инерционность. Если печь медленно разогревается - это нормально. Тут ПИД очень хорошо должен работать. А вот если вы выключили нагрев, а она продолжает разогреваться ещё долгое время и проскакивает уставку - это другое дело. Так как на самом деле?

Второй вариант. Выключили, а разогрев еще 20 минут идет.

Цитата(VladimirYU @ Sep 26 2008, 10:45) *
У меня в похожей задаче лучшие результаты получились при перестраиваемом регуляторе.
...
Д-составляющая в моем случае была малоэффективна из-за медленности процессов, поэтому ее можно выкинуть совершенно безболезненно.

В том то и дело - что я изначально выкинул Д - получил самый большой заброс. При 80град уставки макс температура аж 120 град. (!) А дальше - 125 гр макс температура DS18B20 - и привет.

Цитата(Dog Pawlowa @ Sep 26 2008, 10:54) *
Дополнительные датчики помогут получить информацию о состоянии печи и прогнозировать перегрев.


Цитата(IJAR @ Sep 26 2008, 11:10) *
Проблемы были аналогичные. Решение было таково:


+1. Каждому smile.gif. Думаю об этом ...


Цитата(smk @ Sep 26 2008, 11:47) *
А если на начальном этапе нагрева измерить теплоемксть всей конструкции

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

Кстати, еще никто явно не говорил о проблеме, как контроллеру найти, в какой зоне регулирования он
находится после Power-Up.

Цитата(smk @ Sep 26 2008, 12:19) *
Как такая идея?

Никак. Слишком просто. Здесь такие гуси не взлетают.
smk
Цитата
Слишком просто.

Это единственная причина?
Цитата
Кстати, еще никто явно не говорил о проблеме, как контроллеру найти, в какой зоне регулирования он
находится после Power-Up.

Ну так это напрямую зависит от алгоритма регулирования.
zhevak
Цитата(_Pasha @ Sep 26 2008, 01:56) *
Доброго времени!
История болезни: терморегулятор
...
Особенно интересно получается, если разогрелись где-то до 70% от уставки, и кратковременно выключили сеть.


И Вам доброго времени smile.gif

Задача достаточно сложная. На сколько я понял, у Вас в печи присутствует не только эквивалентный инерционный элемент, но и элемент запаздывания с нехилым временем -- 20 минут, о которых Вы говорили. Если бы в контуре регулирования отсутствовал элемент запаздывания, то Ваша задача бы легко решалась. Но поскольку он присутствует, Вам нужно либо знать будущее (ближайшие 20 минут), что очень сложно осуществить, либо делать инерционность системы регулирования соизмеримую с этим временем.

Мне в свое время повезло столкнуться с подобной задачей в сфере коммунального хозяйства. Мне нужно было сделать регулятор в контур ГВС (горячего водоснабжения). Там, на объекте (типа жилой дом) тоже присутствовал элемент запаздывания -- скорость протекания воды по трубе + скорость заполнения теплообменника кипятком. Это не эквиваленты инерционных элементов (индкутивности, конденсаторы), это -- элементы запаздывания (линии задержки). Задерка-то была по сравнеию с Вашей -- тьфу! Каких-то несколько десятков секунд! К своему стыду, я так и не смог решить эту задачу. Какие бы коэффициенты я бы ни ставил в своем ПИ-регуляторе, как бы я ни изменял алгоритмы регулирования -- ну не хотела система работать. Она либо генерила колебания (температуры воды от 40 до 90°С с периодом от 40 до 80 секунд), либо была тупая как скотина, и выходила на заданный режим в 60°С в течении 5-10 минут. Вот счастье-то было у жителей, либо пропускать воду минут 10, либо стоять под струей контрастного душа. Не говоря уже о том, что вода в кране свыше 70°С не должна быть в принципе. А может быть и сами жильцы своим водоразбором систему выводили из равновесия... Пропускали холодную воду, а кипяток, наоборот, -- прикрывали. Таким образом в системе менялось время запаздывания, и она дурила со страшной силой. Не знаю. Дело далекого прошлого.

Могу только добавить, что до того на объекте стояла тупая задвижка (кран), которая вообще ничего не регулировала, просто добавляла в контур ГВС постоянное количество теплоты от магистрали (теплоноситель магистрали 108°С 8 атм.) и ей было все по барабану. Люди жаловались, что при сильном водоразборе вода была холодная. Я же сделал еще интереснее! ... Что там сейчас стоит -- не знаю sad.gif Давно уже работаю в другом месте.

Вам же могу посоветовать только одно -- попробуйте составить эквивалентную схему регулирования и почитайте ТАР (Теория автоматического регулирования).

Искренне желаю чтобы у Вас что-нибудь получилось полезное, работающее.
Удачи!
_Pasha
Цитата(zhevak @ Sep 26 2008, 22:08) *
у Вас в печи присутствует не только эквивалентный инерционный элемент, но и элемент запаздывания
.............................
Мне в свое время повезло столкнуться с подобной задачей в сфере коммунального хозяйства.


Нет, это все-таки разные задачи. Моя проще.
Физика такова: нагреватель прогревает муфель,
оттока тепла почти нет, так что Q=c*m*(T1-T0) smile.gif
за время прогрева мы сообщаем системе такое количество теплоты (4МДж), что это до ху очень много, и оно никуда не девается. Поскольку имеет место достаточно хорошая теплоизоляция (температура наружной поверхности при внутренней 80..100 градусов не возрастает более, чем на 10 градусов - рукой трогаю - чуть теплая), то это не элемент задержки в чистом виде. По мере "пробивания" теплом муфеля время задержки уменьшается.

Второй датчик, о котором говорилось в теме, - это хорошо, но конструктивно сложновато.
В общем, я решил плюнуть на скорость выхода на режим - это от лукавого, т.к. время сушки изделий - не менее суток. Алгоритм будет примерно такой:
Пусть Tset - это уставка
1. Сообщаем системе некоторое кол-во теплоты Q[n]. Заряжаем тайм-аут на 20 минут.
2. Ожидаем максимум температуры T[n]. Запоминаем его.
3. kf = (Tset - T[n])/(T[n]-T[n-1]); if (kf > 2) kf=2; // ограничили коэффициент
4. Если n >= 3, то kf вычисляем сплайном по 3..5 точкам
5. Q[n+1] = kf*Q[n] и перешли к п.1

Кстати, про ПИД -регулировку с переменной задержкой - добивался работы контура САР за счет сужения, насколько возможно, области регулирования и комбинирования медленного двухпозиционного регулятора. Но это совсем другая история...
Tanya
Цитата(_Pasha @ Sep 27 2008, 02:24) *
Нет, это все-таки разные задачи. Моя проще.
Физика такова: нагреватель прогревает муфель,
оттока тепла почти нет, так что Q=c*m*(T1-T0) smile.gif

Все такие задачи одинаковые... Только масштаб времени разный.
_Pasha
Цитата(Tanya @ Sep 29 2008, 13:01) *
Все такие задачи одинаковые... Только масштаб времени разный.

Спасибо, что посетили тему.
Меня смутило то, что в печке этой моей рассеяние тепла настолько маленькое. А там
, где вода - наоборот...
А Вы тоже за то, чтобы в начале работы просто медленно менять уставку в задатчике ?
Tanya
Цитата(_Pasha @ Sep 29 2008, 19:29) *
Спасибо, что посетили тему.
Меня смутило то, что в печке этой моей рассеяние тепла настолько маленькое. А там
, где вода - наоборот...
А Вы тоже за то, чтобы в начале работы просто медленно менять уставку в задатчике ?


Надо сначала правильно сформулировать цель(и) управления. Тут возможны разнообразные варианты -
скорость выхода, минимум переброса и т.д и т.п. и их комбинации с весами...
В Вашем случае, наверное, можно проще, чем Вы предлагаете. Вы же знаете теплоемкость.
Тогда подается импульс энергии для достижения почти... Потом, зная внешнюю температуру, подаем (оставляем) поддерживающую мощность, чуть позднее включаем П(И(Д)). Начальным значением И-компоненты берем поддерживающую мощность.
_Pasha
Цитата(Tanya @ Sep 29 2008, 20:02) *
Надо сначала правильно сформулировать цель(и) управления.

минимум переброса

Цитата
Тогда подается импульс энергии для достижения почти...

... но тут откуда ни возьмись выясняется, что контроллер ужЕ пару минут назад такую операцию проделывал - не дали, гады-электрики, завершить. И теперь по включению питания контроллеру очень надо знать, где он находится, по возможности, имея на борту только датчик температуры, причем один, без часов реального времени, использования энергонезависимой памяти для протоколирования операций и т.п. (краткое содержание предыдущих серий biggrin.gif )
MrYuran
Цитата(_Pasha @ Sep 29 2008, 20:14) *
... но тут откуда ни возьмись выясняется, что контроллер ужЕ пару минут назад такую операцию проделывал - не дали, гады-электрики, завершить. И теперь по включению питания контроллеру очень надо знать, где он находится

недавно решал такую задачу. сделал так: через определённые промежутки времени писал в флешь текущие значения температуры. При (ре)старте сравнивал измеренное значение с записанным с некоторым допуском. При совпадении считывал текущий (тёкший) режим и продолжал в том же духе.
При несовпадении - рестарт.
Tanya
Цитата(_Pasha @ Sep 29 2008, 20:14) *
минимум переброса


... но тут откуда ни возьмись выясняется, что контроллер ужЕ пару минут назад такую операцию проделывал - не дали, гады-электрики, завершить. И теперь по включению питания контроллеру очень надо знать, где он находится, по возможности, имея на борту только датчик температуры, причем один, без часов реального времени, использования энергонезависимой памяти для протоколирования операций и т.п. (краткое содержание предыдущих серий biggrin.gif )

Ну, если экономить на батарейках, то злые электрики ВСЕГДА победят. Приходилось делать систему с выходом на режим более суток. Цена вопроса была... даже слов не подберу. На батарейках с дублерами.Только батарейки гарантируют. Почти...
_Pasha
Цитата(MrYuran @ Sep 29 2008, 20:28) *
При (ре)старте сравнивал измеренное значение с записанным с некоторым допуском. При совпадении считывал текущий (тёкший) режим и продолжал в том же духе.
При несовпадении - рестарт.


Упрощаю для себя так:
При (ре)старте
Если текущая температура больше или равна последней записанной в еепром, то продолжать только измерять до появления максимума, вплоть до известного (20минут) таймаута, иначе - сразу включать нагрев и т.д. как раньше писАл
Спасибо! Имхо, то что надо.
Tanya
Цитата(_Pasha @ Sep 29 2008, 20:51) *
Упрощаю для себя так:
При (ре)старте
Если текущая температура больше или равна последней записанной в еепром, то продолжать только измерять до появления максимума, вплоть до известного (20минут) таймаута, иначе - сразу включать нагрев и т.д. как раньше писАл
Спасибо! Имхо, то что надо.

В Вашем случае НУЖНО измерять и учитывать реальную мощность (энергию), поданную на нагреватель. Еще лучше - еще и энергию, отданную в комнату. Ее (сумму) тоже можно (нужно) запоминать. Чем ниже Ваша температура, и чем хуже теплоотдача, тем хуже для Вас...
Кроме всего прочего, учет реальной мощности и теплоотдачи значительно заузит коридор.
_Pasha
Цитата(Tanya @ Sep 29 2008, 20:59) *
Чем ниже Ваша температура, и чем хуже теплоотдача, тем хуже для Вас...

biggrin.gif 36.6 в свободное от работы время !
Спасибо.
З.Ы. А условия теплоотдачи, мощность и прочие неприличные сложности как раз хотел вынести в цель самонастройки контура управления. Как думаете - это реально ?
zhevak
Помечтаем. Может это наведет Вас на нужные мысли.

Представьте, что вы занимаетесь не температурой, а управляете локомотивом. Ваша задача, разогнать его до скорости 80 км/час как можно за меньшее время, а потом удерживать эту скорость какое-то продолжительное время. Что сложного? -- Легко! Автомобили мы все водим, знаем как это делается. Локомотив же выбран для задачи из соображений что бы не отвлекаться на рулежку (само едет по рельсам), светофоры и гаишников.


ОК. Теперь усложним условие задачи. У локомотива нет тормозов. (Зашибись!!! Сам балдею от таких условий!). Т.е. разогнать мы его можем легко, а вот притормозить -- фиг! Он, конечно, сам остановиться через много-много времени. Ну что, сложнее ехать? -- Безусловно! Но можно приспособиться: при приближении к 80 км/час аккуратнее жать на "газилку".

Усложним условие задачи еще. Теперь мы должны не жать на газилку, а подливать топливо. Так сказать заниматься ручной дозировкой для соблюдения скоростного режима. Пока топливо есть, локомотив ускоряется, топлива нет -- бежит по инерции. (Сразу вспомнился фильм "Особенности национальной рыбалки" smile.gif ) Можно периодически добавлять по стопарику, а можно сразу влить поллитру.

И последний аттракцион -- пусть у локомотива спидометр имеет свойство давать показания с опазданием на одну минуту. Т.е. пусть он показывает правильную скорость, но скорость не в данный момент, а ту, котрая была минуту назад.

Ну что, поехали покатаемся? smile.gif
_Pasha
Цитата(zhevak @ Sep 29 2008, 22:31) *
Ну что, поехали покатаемся? smile.gif

Я крупно не согласен с Вашими аналогиями. Температуру-то я получаю без существенных задержек, и вот это все, что сказано Вами, может быть отнесено только к двухпозиционному регулированию. Вступать в спор не могу - времени нету.
Tanya
Цитата(_Pasha @ Sep 29 2008, 21:13) *
biggrin.gif 36.6 в свободное от работы время !
Спасибо.
З.Ы. А условия теплоотдачи, мощность и прочие неприличные сложности как раз хотел вынести в цель самонастройки контура управления. Как думаете - это реально ?

Я думаю, что этого не нужно. Тут никаких сложностей, тем более, - неприличных, нет. Это кажимость... Вам нужно ТОЧНО измерять подводимую и отводимую мощность. Первое - интеграл от квадрата напряжения (или ток на напряжение), второе - разность температур кожух - воздух при отсутствии вариаций в движении воздуха.
_Pasha
Цитата(Tanya @ Sep 30 2008, 09:06) *
Вам нужно ТОЧНО измерять подводимую и отводимую мощность.

Мда... озадачили. Железо, однако, наращивать надо. crying.gif
VladimirYU
Цитата(_Pasha @ Sep 29 2008, 20:51) *
Упрощаю для себя так:
При (ре)старте
Если текущая температура больше или равна последней записанной в еепром, то продолжать только измерять до появления максимума, вплоть до известного (20минут) таймаута, иначе - сразу включать нагрев и т.д. как раньше писАл
Спасибо! Имхо, то что надо.

Пример, который Вам приводили, с локомотивом достаточно наглядно показывает суть вашей проблемы. У вас нет возможности управлять охлаждением, о чем ранее тоже говорилось. В рамках линейных методов регулирования также достаточно было рекомендаций, необходимо только их пробовать и сравнивать результаты. Все последние рекомендации Вас, осознано или неосознано авторами, толкают на применение методов нечеткой логики. ИМХО в вашем случае можно обойтись и без них. Процессы все у Вас медленные и нет НИКАКОЙ необходимости знать +10 или +30 в помещении, где стоит ваша печь, только разве, что какую одежду одеть работнику. Оцените динамику разогрева пустой печи и ее остывания при полной загрузке, т.е. самые "худшие" случаи. Определите постоянные времени. Далее по Бесекерскому с учетом особенностей цифровой реализации.
Tanya
Цитата(VladimirYU @ Sep 30 2008, 11:46) *
Пример, который Вам приводили, с локомотивом достаточно наглядно показывает суть вашей проблемы. У вас нет возможности управлять охлаждением, о чем ранее тоже говорилось. В рамках линейных методов регулирования также достаточно было рекомендаций, необходимо только их пробовать и сравнивать результаты. Все последние рекомендации Вас, осознано или неосознано авторами, толкают на применение методов нечеткой логики. ИМХО в вашем случае можно обойтись и без них. Процессы все у Вас медленные и нет НИКАКОЙ необходимости знать +10 или +30 в помещении, где стоит ваша печь, только разве, что какую одежду одеть работнику. Оцените динамику разогрева пустой печи и ее остывания при полной загрузке, т.е. самые "худшие" случаи. Определите постоянные времени. Далее по Бесекерскому с учетом особенностей цифровой реализации.

Управлять охлаждением нет возможности, но есть прекрасная возможность измерить его. А этого достаточно. Не бывает медленных процессов вообще, а только по сравнению с чем-либо. Абсолютно одинаковые уравнения (их решения) будут для объектов с постоянной времени 1 микросекунда и один год... Только масштаб по оси времени разный. А вот изменение комнатной температуры с 10 до 30 градусов при внутренней температуре 80 приведет к 40%-му изменению теплоотдачи. Если мы это не будем учитывать "на корню", то произойдет изменение температуры, которое должна отработать система управления. Аналогично - изменение напряжения сети на 10 % даст 20% изменение мощности.
А какой логикой Вы пользовались, рекомендуя в данном случае применение нечеткой логики?
VladimirYU
Цитата(Tanya @ Sep 30 2008, 12:58) *
Управлять охлаждением нет возможности, но есть прекрасная возможность измерить его. А этого достаточно. Не бывает медленных процессов вообще, а только по сравнению с чем-либо. Абсолютно одинаковые уравнения (их решения) будут для объектов с постоянной времени 1 микросекунда и один год... Только масштаб по оси времени разный. А вот изменение комнатной температуры с 10 до 30 градусов при внутренней температуре 80 приведет к 40%-му изменению теплоотдачи. Если мы это не будем учитывать "на корню", то произойдет изменение температуры, которое должна отработать система управления. Аналогично - изменение напряжения сети на 10 % даст 20% изменение мощности.
А какой логикой Вы пользовались, рекомендуя в данном случае применение нечеткой логики?

Если Вы внимательно прочитаете мое сообщение, то увидите, что я, напротив, пытаюсь отговорить даже от попыток применения методов основанных на нечетких алгоритмах, в этом моя логика.
Далее, поведение замкнутой системы определяется малыми (суммой) или некомпенсируемыми (кому как больше нравится) постоянными времени. Так как нет возможности управлять охлаждением, то постоянная времени остывания является некомпенсируемой => малой. И никакие ухищрения в данной ситуации не помогут.
Спорить о свойствах экспоненты и масштабе времени не вижу смысла.

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

Задача у коллеги непростая, но может быть решена без применения различного рода изощрений и извращений, к которым иногда пытаются его подтолкнуть . Это могу утверждать исходя из своего опыта.
Tanya
Цитата(VladimirYU @ Sep 30 2008, 13:29) *
Если Вы внимательно прочитаете мое сообщение, то увидите, что я, напротив, пытаюсь отговорить даже от попыток применения методов основанных на нечетких алгоритмах, в этом моя логика.
Далее, поведение замкнутой системы определяется малыми (суммой) или некомпенсируемыми (кому как больше нравится) постоянными времени. Так как нет возможности управлять охлаждением, то постоянная времени остывания является некомпенсируемой => малой. И никакие ухищрения в данной ситуации не помогут.
Спорить о свойствах экспоненты и масштабе времени не вижу смысла.

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

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

Прошу прощения - читала невнимательно - или не поняла сразу все витиеватости.. Задача у коллеги простейшая из возможных - нет неконтролируемых тепловых потоков, все линейно - намного проще, чем утюг.
VladimirYU
Цитата(Tanya @ Sep 30 2008, 15:06) *
Прошу прощения - читала невнимательно - или не поняла сразу все витиеватости.. Задача у коллеги простейшая из возможных - нет неконтролируемых тепловых потоков, все линейно - намного проще, чем утюг.

Мы то друг друга поняли, главное, чтобы коллега не пытался ничего изобретать, все уже изобретено для его случая.
Tanya
Цитата(VladimirYU @ Sep 30 2008, 15:10) *
Мы то друг друга поняли, главное, чтобы коллега не пытался ничего изобретать, все уже изобретено для его случая.

Нет. Cо многим, из того, что Вы писали(7, 11...) не согласная я. Но, "форум - не место для дискуссий"...
Огурцов
Девочки-мальчики, так может резюме какое, а ? Коль уж вы друг с другом договорились
rudy_b
Термопечь - сложная задача. В ней, кроме элементов типа RC присутствует элемент задержки, причем с переменным параметром, зависящим от того, что в печи. Эта задержка определяет минимальное время выхода на режим. Все параметры (теплопроводности, теплоемкости и т.п.) можно оценить и найти вилки (наилучшее/наихудшее). Дальше самое удобное - построить электронную модель в любом симуляторе и за пол дня подогнать коэффициенты.
А в алгоритме - медленная и ограниченная коррекция коэффициентов по текущим данным начиная с наихудших значений.
Задача резко упрощается если дополнительно измерять температуру нагревателя.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.