Перейти к содержанию
    

Терморегулятор на AVR

А если на начальном этапе нагрева измерить теплоемксть всей конструкции получив значение скорости нагрева (охлаждения) градС/мин (или мин/1градС) и исходя из этого значения определять параметры управления нагревателем. Ведь скорость роста температуры напрямую зависит от загрузки печи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если на начальном этапе нагрева измерить теплоемксть всей конструкции получив значение скорости нагрева (охлаждения) градС/мин (или мин/1градС) и исходя из этого значения определять параметры управления нагревателем. Ведь скорость роста температуры напрямую зависит от загрузки печи.

 

Практически реализована Ваша идея. См. пост выше от IJAR:

.....

один термодатчик ставили на нагреватель (прямо на проволоку) и по нему работал ПИД регулятор

а второй ставился непосредственно в рабочий объем - контрольный датчик. При настройуе системы

подавлся скачок мощности и по контрольному датчику определялось термосопотивление

объекта и далее подбирались коэфициенты ПИД регулятора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

один термодатчик ставили на нагреватель (прямо на проволоку) и по нему работал ПИД регулятор

а второй ставился непосредственно в рабочий объем

Я предлагаю обойтись одним датчиком. За 1 мин до достижения нужной температуры выключаем нагреватель. Спустя 1 мин управляем посредством ШИМ. До всего этого нагреватель постоянно включен, а контроллер ведет мониторинг скорости нагрева постоянно корректируя значение прироста градС/мин. Как такая идея?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При условии, что инерционность мало зависит от полезной загрузки печи, а это не всегда так.

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

 

Я вот не совсем понял, что за инерционность. Если печь медленно разогревается - это нормально. Тут ПИД очень хорошо должен работать. А вот если вы выключили нагрев, а она продолжает разогреваться ещё долгое время и проскакивает уставку - это другое дело. Так как на самом деле?

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

 

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

...

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

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

 

Дополнительные датчики помогут получить информацию о состоянии печи и прогнозировать перегрев.

 

Проблемы были аналогичные. Решение было таково:

 

+1. Каждому :). Думаю об этом ...

 

 

А если на начальном этапе нагрева измерить теплоемксть всей конструкции

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

 

Кстати, еще никто явно не говорил о проблеме, как контроллеру найти, в какой зоне регулирования он

находится после Power-Up.

 

Как такая идея?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Слишком просто.

Это единственная причина?

Кстати, еще никто явно не говорил о проблеме, как контроллеру найти, в какой зоне регулирования он

находится после Power-Up.

Ну так это напрямую зависит от алгоритма регулирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго времени!

История болезни: терморегулятор

...

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

 

И Вам доброго времени :)

 

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

 

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

 

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

 

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

 

Искренне желаю чтобы у Вас что-нибудь получилось полезное, работающее.

Удачи!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

.............................

Мне в свое время повезло столкнуться с подобной задачей в сфере коммунального хозяйства.

 

Нет, это все-таки разные задачи. Моя проще.

Физика такова: нагреватель прогревает муфель,

оттока тепла почти нет, так что Q=c*m*(T1-T0) :)

за время прогрева мы сообщаем системе такое количество теплоты (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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, это все-таки разные задачи. Моя проще.

Физика такова: нагреватель прогревает муфель,

оттока тепла почти нет, так что Q=c*m*(T1-T0) :)

Все такие задачи одинаковые... Только масштаб времени разный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все такие задачи одинаковые... Только масштаб времени разный.

Спасибо, что посетили тему.

Меня смутило то, что в печке этой моей рассеяние тепла настолько маленькое. А там

, где вода - наоборот...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, что посетили тему.

Меня смутило то, что в печке этой моей рассеяние тепла настолько маленькое. А там

, где вода - наоборот...

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

 

Надо сначала правильно сформулировать цель(и) управления. Тут возможны разнообразные варианты -

скорость выхода, минимум переброса и т.д и т.п. и их комбинации с весами...

В Вашем случае, наверное, можно проще, чем Вы предлагаете. Вы же знаете теплоемкость.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо сначала правильно сформулировать цель(и) управления.

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

недавно решал такую задачу. сделал так: через определённые промежутки времени писал в флешь текущие значения температуры. При (ре)старте сравнивал измеренное значение с записанным с некоторым допуском. При совпадении считывал текущий (тёкший) режим и продолжал в том же духе.

При несовпадении - рестарт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 

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

Ну, если экономить на батарейках, то злые электрики ВСЕГДА победят. Приходилось делать систему с выходом на режим более суток. Цена вопроса была... даже слов не подберу. На батарейках с дублерами.Только батарейки гарантируют. Почти...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При (ре)старте сравнивал измеренное значение с записанным с некоторым допуском. При совпадении считывал текущий (тёкший) режим и продолжал в том же духе.

При несовпадении - рестарт.

 

Упрощаю для себя так:

При (ре)старте

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

Спасибо! Имхо, то что надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Упрощаю для себя так:

При (ре)старте

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

Спасибо! Имхо, то что надо.

В Вашем случае НУЖНО измерять и учитывать реальную мощность (энергию), поданную на нагреватель. Еще лучше - еще и энергию, отданную в комнату. Ее (сумму) тоже можно (нужно) запоминать. Чем ниже Ваша температура, и чем хуже теплоотдача, тем хуже для Вас...

Кроме всего прочего, учет реальной мощности и теплоотдачи значительно заузит коридор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...