Формула Пид регулятора

Logik
Offline
Зарегистрирован: 05.08.2014

Спасибо, поржал )) 

//куда знание этих показателей приткнуть - для решения конкретной поставленной задачи?

Ну Вы же утверждаете что инженер - должны знать куда. Как посчитать - не знали, как использовать тоже. Липовый какойто инженер выходит. Последний раз просвещаю. Вопрос был "возможно ли реализовать функцию набора температуры на заданное количество градусов в минуту" Ответ по приведеному расчету: можна, но скорость нагрева градусов в минуту будет ограничена расчитаным выше значением.

//и где счастье?  

Для Вас - нигде его не будет.

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

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

zurum777
Offline
Зарегистрирован: 07.01.2015

Спасибо всем интересующимся данной темой. 

Поспортные ТТХ и то что удалось узнать

Термопара - тип К, мах.1200 С , опрос 25 Гц, подключена через ОУ LTC1050

ТЭН - 220 В, 1.3 кВ, 45 Ом, включается через твердательное реле импульзами , длину и переодичность не знаю( думаю 0.1-0.3 с  , переодичность 0.2с). Скорость подьема температуры от 20-100 С в мин ( задаеться пользователем). Начальная Т =400 С , кон. 1000 С 

Прошивка была зашита в ПЛИС  , в качестве ЦП  был mc68hc11a0fn , 8 бит, 3 MHz,.

Камера нагрева -диаметр 8см , высота 15.Хорошо изолирована толстым металическим  корпусом( 1см) + толстый муфель + герметически закрываеться под вакуумом.

Теперь сам вопрос - для подьема температуры на заданое количество градусов в минуту надо во время обжига решать  ПИД алгоритм или на таком старом железе это невозможно? МОжет все контрольные сумы были записаны в память  и просто выбиралась нужная + немного корректировки во время роботы?

Какой путь проще будет если все делать на Ардуино или Разберри?

Спасибо

SLKH
Offline
Зарегистрирован: 17.08.2015

zurum777 пишет:

 

Теперь сам вопрос - для подьема температуры на заданое количество градусов в минуту надо во время обжига решать  ПИД алгоритм или на таком старом железе это невозможно? МОжет все контрольные сумы были записаны в память  и просто выбиралась нужная + немного корректировки во время роботы?

Какой путь проще будет если все делать на Ардуино или Разберри?

Вы #41 прочитали? Что там непонятного? сверху вниз, последовательно.

 

 

 

SLKH
Offline
Зарегистрирован: 17.08.2015

zurum777 пишет:

Спасибо всем интересующимся данной темой. 

Поспортные ТТХ и то что удалось узнать

Термопара - тип К, мах.1200 С , опрос 25 Гц, подключена через ОУ LTC1050

ТЭН - 220 В, 1.3 кВ, 45 Ом, включается через твердательное реле импульзами , длину и переодичность не знаю( думаю 0.1-0.3 с  , переодичность 0.2с). Скорость подьема температуры от 20-100 С в мин ( задаеться пользователем). Начальная Т =400 С , кон. 1000 С 

Прошивка была зашита в ПЛИС  , в качестве ЦП  был mc68hc11a0fn , 8 бит, 3 MHz,.

Камера нагрева -диаметр 8см , высота 15.Хорошо изолирована толстым металическим  корпусом( 1см) + толстый муфель + герметически закрываеться под вакуумом.

Теперь сам вопрос - для подьема температуры на заданое количество градусов в минуту надо во время обжига решать  ПИД алгоритм или на таком старом железе это невозможно? МОжет все контрольные сумы были записаны в память  и просто выбиралась нужная + немного корректировки во время роботы?

Какой путь проще будет если все делать на Ардуино или Разберри?

Спасибо

ну а что нужно-то?

- печка не работает

- работает частично

- работает, но время и температуры наглухо вшиты, а мне нужны другие*

- что-то еще?

 

======

* какие? 

Buldakov
Offline
Зарегистрирован: 17.01.2016

Много уже правильного писалось. Предложу еще один вариант. Вроде должен быть простым и понятным.

Начнем с простого:

1. Определяемся с контроллером и тиристором который будет всем управлять.

2.Паяем схему и пытаемся включить и выключить контроллером нагреватель, что бы ничего не сгорело.

3.Делаем плавную регулировку мощности нагревателя от 1 до 100 процентов. Да и тиристор должен включать нагрузку при переходе сетевого напряжения через ноль. В течении секунды мы открываем тиристор на 1 полуволну и 99 полуволн он закрыт.Мощность будет 1 процент. Ну и так далее до 100 процентов.

4.Находим установившуюся температуру для каждой мощности нагревателя. Например если нагреватель включен на 1 процент - то печка нагреется на 10 градусов. Если на 2 процента - то нагреется на 19 градусов. Если на 3 процента - то на 27 градусов. И так от 1 до 100 процентов мощности.

5. Далее делаем простой П - регулятор. Температура выше или ниже.

6.Измеряем температуру печки и наружного воздуха. И по их разнице  температур выставляем мощность посчитанную в п.4. с запасом градусов 20. (Печка может работать при минус 30 или +50 градусов на улице). Например температура 100 градусов. Значит мощность должна быть 15 процентов. При этих параметрах процесс нагрева будет плавным и близок к установивщемуся. И температуру будем регулировать обычным П регулятором. Который в данном случае я думаю справится.

7. И последнее нам остается только менять задание для П регулятора с заданной скоростью. И нужно еще задать в качестве переменного параметра запас по температуре из п.6. Чем больше будет запас - тем быстрее будет нагреваться печка. Эту температуру придется подобрать во время эксплуатации что бы П регулятор был включен около 80 процентов времени и около 20 процентов времени выключен.

Logik
Offline
Зарегистрирован: 05.08.2014

Buldakov пишет:

И температуру будем регулировать обычным П регулятором. Который в данном случае я думаю справится.

А я думаю нет! Но обовсем попорядку.

Я потратил полчаса отмоделировать процесс. Интерес не совсем праздный, хочу коечто в своем аппарате поправить ;) Но моделил на цифрах от ТС. Получилось гдетотак.

Кроме мощности и температуры окружающей среды систему описывают еще 4 параметра. 2 теплопроводности: от нагревателя наружу (её можна бы получить из максимальной температуры но не понятна природа приведеной) и от нагревателя внутрь печки и 2 теплоемкости - нагревателя и тигеля (или незнаю как там у ТС оно называется но в эту величину входит и нагреваемый материал с всеми его термодинамическими особенностями которых в модели понятно нет). Не совсем понятна конструкция печи, ну считаю что нагреватель снаружи тигеля. Значения параметров выбраны по правдоподобию, для точного расчета нада знать геометрию и материал. Первый график без автоматики не привожу -скучная експонента. На этом реализовано управление on/off с уставкой 800С до 400секунды  и далее с прибавлением 0,5С каждую секунду, т.е. скорость нагрева 30С/мин. Как видно простейший очень неплохо справился с погрешностю до 3С. 

В общем делать П нет смысла, а при попытке его отмоделировать выяснилось что в чистом виде его сделать не выйдет, будет недогрев. Чего так - а посмотрите какое значение мощности выдаст П в момент когда температура будет равна заданной ;) Прийдется компенсировать, вводить некую мощность соответствующую 0 с П. А как её определять? Особенно при изменении охлаждения снаружи и загрузки внутри. Так что П можно пропускать и переходить к ПИ (значение от И какраз и решает проблему) и далее, если конечно не устроит полученое  on/off.

А Вам, zurum777, я бы советовал таки модельку сделать, разумеется более точную, чем у меня. Поигратся, в процессе появится понимание идеи и их оценки.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Logik, предположу, что ваш датчик замера температуры банально имеет точность в те самые 3 градуса. Только и всего. Ни "П", ни "ПИ", ни "ПИД" никак не позволит улучшить точность нагрева лучше чем измеряет датчик.

В противном случае, у вас неверно подобран "П". Измените располовинив ошибку и получите точнсть в 0.5*..

Logik
Offline
Зарегистрирован: 05.08.2014

Arhat109-2 пишет:

Logik, предположу, что ваш датчик замера температуры банально имеет точность в те самые 3 градуса. Только и всего. Ни "П", ни "ПИ", ни "ПИД" никак не позволит улучшить точность нагрева лучше чем измеряет датчик.

В противном случае, у вас неверно подобран "П". Измените располовинив ошибку и получите точнсть в 0.5*..

Какой "датчик замера температуры банально имеет точность"?!  это ж чисто матмодель :) Ошибка регулирования  от физики системы, её инерционности - греем в одной точке а меряем в другой, между ними тепловое сопротивление и теплоемкости, и от алгоритма управления который изучаем на модели.

SLKH
Offline
Зарегистрирован: 17.08.2015

Arhat109-2 пишет:

Logik, предположу, что ваш датчик замера температуры банально имеет точность в те самые 3 градуса. Только и всего. Ни "П", ни "ПИ", ни "ПИД" никак не позволит улучшить точность нагрева лучше чем измеряет датчик.

В противном случае, у вас неверно подобран "П". Измените располовинив ошибку и получите точнсть в 0.5*..

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

 

в реальности - иначе.

хромель-алюмелевая термопара 2 класса допуска при 1000 град. банально имеет допускаемую погрешность термо-ЭДС 7,5 градусов. плюсуем сюда погрешности операционного усилителя и ацп, обе совсем не нулевые.

 

 

Buldakov
Offline
Зарегистрирован: 17.01.2016

 

В 41 посте все правильно было написано. Начните с простого и двигайтесь к сложному.

По поводу модельки из 56 поста.

У вас как нибудь учитывается изменение напряжения питания в сети в зависимости от мощности нагрузки? И изменение напряжения питания нагревателя в зависимости от напряжения в розетке.(Обычно напряжение меняется в пределах до 10%)

Дальше как у вас в модели учитывается инерционные свойства нагревателя и термопары? Естественно какие коэффициенты у данной печки - никто не знает.

А по поводу того, что П регулятор не справится - вы всегда его можете заменить на ПИ. А при нулевой разнице температур между температурой и заданием - система будет нагреваться за счет инерции нагревателя.

И по поводу нагрева со скоростью 30С в минуту - Вы уверены что сможете за такое короткое время прогреть всю печку? Инерционность только самой термопары может быть около минуты. Хотя как пишет автор скорость нагрева может доходить до 100 С в минуту. Да и как вы думаете печка и термопара при переходном процессе будут иметь какую разность температур? Да и переходный процесс на картинке у вас слишком идеальный. Ну не может массивная печка (вероятно с большой теплоемкостью) сразу из наклонного выйти на горизонтальный участок. За время в несколько секунд. Вы хотя бы попробуйте включите паяльник. У него только одного время нагрева около 7 минут при постоянной подводимой мощности. А положите паяльник на радиатор и коснитесь края радиатора рукой. Как вы дмаете когда тепло дойдет до туда. Вот такие параметры и еще много других в модели я не увидел.

Если бы они у вас были - у вас был бы переходный процесс на графике, а его у вас нет. Значит эти параметры вы не учитываете. И это при том, что вы наверно хорошо умеете моделировать.

Автору все это будет гораздо труднее. Может и месяц потратить на одну только модель. Если знает как. А если не знает - то и еще дольше.

Поскольку это все довольно сложно и непонятно как считать - поэтому я и предложил разработчику заменить все эти непонятные формулы и коэффициенты на снятие простого режима работы печки в стационарном режиме. Способ простой в реализации - но долгий по времени . Придется сидеть с печкой и снимать коэффициенты целый день.

Logik
Offline
Зарегистрирован: 05.08.2014

Buldakov пишет:

У вас как нибудь учитывается изменение напряжения питания в сети в зависимости от мощности нагрузки? И изменение напряжения питания нагревателя в зависимости от напряжения в розетке.(Обычно напряжение меняется в пределах до 10%)

А никак. Приведено мощность 1300Вт - значить столько. Для успокоения можно считать что нагреватель подключен к схеме стабилизации мощности. В реале понятно так не будет. И ничего, небольшими отклонениями либо пренебрегают считая их несущественными, либо повторяют расчет для крайних величин диапазона (благо - в экселе поменять мощность легко и приятно - это ж не ТЭН заменить). Для указаного диапазона напряжений +-10% мощность будет +-21% и даже больше если учесть температурный коэффициент сопротивления. Что тоже абсолютно реально. Но такая ловля блох хоть и возможна и иногда полезна, но не самое главное. Модель редко нужна для точного определения величины, она ценней для понимания процесса в системе.

Buldakov пишет:

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

 Если к чему либо сумма тепловых потоков с учетом знаков =0 - температура остается неизменной. Иначе изменение температуры определяется теплоемкостью.

Buldakov пишет:

Естественно какие коэффициенты у данной печки - никто не знает.

До тех пор пока не хочет узнать ))) Есть 2 пути: измерить или расчитать.

Buldakov пишет:

 П регулятор не справится - вы всегда его можете заменить на ПИ. 

Метод проб и ошибок - не лучший. Особенно на реальном оборудовании. Тем более киловатных и выше мощностей.

Buldakov пишет:

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

 

Начинаю понимать что Вы имеете ввиду под словами "инерция нагревателя". Вы не совсем правы. Будет нагреватся тигель и термопара в нем. А сам нагреватель будет остывать и отдавать тепло тигелю. Т.е. их температуры просто выравниваются тигелья растет а нагревателя снижается. Этот процесс хороше виден ниже на рисунке.

 

Buldakov пишет:

И по поводу нагрева со скоростью 30С в минуту - Вы уверены что сможете за такое короткое время прогреть всю печку? Инерционность только самой термопары может быть около минуты. Хотя как пишет автор скорость нагрева может доходить до 100 С в минуту. Да и как вы думаете печка и термопара при переходном процессе будут иметь какую разность температур? Да и переходный процесс на картинке у вас слишком идеальный. Ну не может массивная печка (вероятно с большой теплоемкостью) сразу из наклонного выйти на горизонтальный участок. За время в несколько секунд.... Если бы они у вас были - у вас был бы переходный процесс на графике, а его у вас нет. 

 

Тут многое зависит от масштаба, смотрим подробней. Тот же график в переходе к гризонтальной части.

Все на месте ;)

 

Цифры тоже разобрать можно (предпоследний столбец - температура нагревателя, последний - температура в печке, перед ними - тепловые потоки наружу и к тигелю), как видите и переходный и "инерционность" - 257-261секунды . О длительностях, тут оно порядка 15сек, можна будет говорить только при реальных коэффициентах.

Buldakov пишет:

Автору все это будет гораздо труднее. Может и месяц потратить на одну только модель. Если знает как. А если не знает - то и еще дольше.

"лучше день потерять потом за час долететь" ))) Хотя кому что где нравится. Вы думаете там суперсложные формулы? Там все примитивно, типа H261=H260+(E260-F260-G260)*H$3 т.е.температура на прошлом шаге (прошлой секунде значить) плюс баланс тепловых потоков на теплоемкость (на самом деле это величина обратная теплоемкости, чтоб не делить а умножать) . И коэффициенты хоть меряются, хоть считаются тоже просто. 

ПС. Не про ПИД и печку, но моделирование, необычное, сразу игра, потом еще интересней https://notdotteam.github.io/trust/
 
Buldakov
Offline
Зарегистрирован: 17.01.2016

Классная игрушка!!!

Мне понравилась. Не думал что в инете можно что то подобное найти. (Хотя и не задавался такой целью)

Спасибо за ссылку.

shaouman
Offline
Зарегистрирован: 06.11.2017

А почему бы не использовать готовые решения, например Altec PC410?

bwn
Offline
Зарегистрирован: 25.08.2014

shaouman пишет:

А почему бы не использовать готовые решения, например Altec PC410?

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