Jump to content
    

Автоматическое регулирование

Датчиком выдается сигнал 4-20 мА на контроллер, внутри контроллера это значение преобразуется также в 15 битовое целое.

 

Сам датчик аналоговый без встроенного микроконтроллера? ;)

 

На одном заводе знакомые, вообще не понимая что такое ПИД регулирование, подбирают 3 коэффициента методом тыка и ниче работает вроде всё и никто не жалуется. (Они просто работают на заводе, автоматизировали другие люди)

 

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

Share this post


Link to post
Share on other sites

Сам датчик аналоговый без встроенного микроконтроллера? ;)

 

Я не знаю, моя задача только программировать, всем остальным занимаются другие люди. А для программирования мне достаточно знать что будет 4-20 мА и все.

 

Вообще в языке программирования, на котором пишется программа для контроллера, есть инструкция пид регулирования. Выходное значение рассчитывается по формуле:

 

Кр*(err+Кd*Td*derr/dt+1/Ti*<интеграл>err dt) , где

 

Кр - коэффициент пропорциональности

err - рассогласование

Кd - дифференциальный коэффициент

Td - дифференциальная временная константа

Ti - интегральная константа

 

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

Share this post


Link to post
Share on other sites

Что то вот это не совсем понял

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

управлять приводом просто.

имеется сигнал от регулятора.

имеется сигнал положения заслонки обратной связи.

сравниваем их и выбираем - открывать или закрывать. тупой компаратор.

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

 

То есть получается, если у меня сигнал о положении заслонки в контроллере преобразуется в целое от 0 до 32768, то мне надо выход регулятора нормировать к такой же размерности ?

 

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

Получается что если ошибка равна 0 то кран всегда будет закрываться ?

Share this post


Link to post
Share on other sites

Guest LordN
То есть получается, если у меня сигнал о положении заслонки в контроллере преобразуется в целое от 0 до 32768, то мне надо выход регулятора нормировать к такой же размерности ?
естессна. одно к другому надо обязательно приводить, иначе как их сравнивать? :rolleyes:

 

Получается что если ошибка равна 0 то кран всегда будет закрываться ?
нет. не так.

есть привод. у него есть три состояния

1. пауза или стоянка. на движок не подается напруга вообще.

2. движок крутится в одну сторону - закрывает вентиль.

3. движок крутится в другую сторону - открывает вентиль.

 

вот смотрите, что будет, если на такой привод подать сигнал от П-регулятора:

при Error > 0 привод должен крутиться в одну строну,

при Error = 0 привод должен стоять,

при Error < 0 привод должен крутиться в другую сторону.

мысль понятна?

т.е. привод будет сам выполнять интегрирование по Error.

 

аппаратно (в схеме управления) нужно организовать два выхода (ключа).

один назвать Hi ("больше"), другой назвать Low("меньше")

еще должен быть вход для обратной связи по положению задвижки InValve.

 

напруга на выходах должна появляться в след.случаях:

на выходе Hi ("больше"), если InValve < (Out - DeadZone)

на выходе Low, если InValve > (Out + DeadZone)

если InValve = Out +/- DeadZone - привод стоит.

здесь DeadZone - мертвая зона для программного компаратора, по сути - гистерезис для того чтоб не реагировать на шумы положения.

Out - значение выхода программного регулятора.

Share this post


Link to post
Share on other sites

Все равно не понятно:

1) Какая связь между этим

при Error > 0 привод должен крутиться в одну строну,

при Error = 0 привод должен стоять,

при Error < 0 привод должен крутиться в другую сторону.

и этим

напруга на выходах должна появляться в след.случаях:

на выходе Hi ("больше"), если InValve < (Out - DeadZone)

на выходе Low, если InValve > (Out + DeadZone)

если InValve = Out +/- DeadZone - привод стоит.

 

2) Насколько я понимаю кран должен стоять тогда, когда нет ошибки.

А если судить по этому

InValve = Out +/- DeadZone - привод стоит

То когда нет ошибки (Out=0), InValve тоже должно быть равно 0, т.е. кран полностью закрыт ?

 

3) И вообще не пойму как привод накапливает ошибку. Помойму ситуация аналогична с той, когда я спрашивал про управление стоком частотником без интегральной составляющей, где ошибка будет постоянно появляться потому что сток воды есть и частотник будет то включать, то выключать двигатель. И здесь также когда нет ошибки, кран закрыт, но она(ошибка) будет все время появляться благодаря стоку и кран будет открыватся/закрываться постоянно.

Edited by Destr

Share this post


Link to post
Share on other sites

Немного в сторону... А в частотнике ПИД-а нет? Обычно бывает... И отклик на управление ему наверно тоже настроить можно.

Share this post


Link to post
Share on other sites

Немного в сторону... А в частотнике ПИД-а нет? Обычно бывает... И отклик на управление ему наверно тоже настроить можно.

 

Есть, но я думаю удобнее через контроллер, а вообще что есть какая то разница ?

Share this post


Link to post
Share on other sites

Guest LordN
Все равно не понятно:
да, моя ошибка. сам запутался и вас ввёл в заблуждение.

давайте еще раз.

 

П-регулятор и трехпозиционный привод без обратной связи.

тогда регулятор можно записать так:

 

if(abs(Error) <= Gisterezis) Out = 0;
else Out = sign(Error);
Hi = 0;
Low = 0;
if(Out > 0) Hi = 1;
else if(Out < 0) Low = 1;

 

 

ПИ-регулятор и трехпозиционный привод с обратной связью

записываем

 

см.тут

Integral += (Tquant * Error / Tint);
limit(Integral, 0 , Zp) // ограничитель интеграла от 0 до Zp 
Out = Scale * (Error + Integral) / Zp; // Scale = 32768 - сразу масштабируем выход регулятора к сигналу обратной связи
limit(Out, 0 , Scale); // ограничитель выхода от 0 до Scale

 

и вот теперь только можно сравнивать InValve с Out и выдавать сигналы на откр/закр вентиля.

Share this post


Link to post
Share on other sites

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

А для чего интеграл ограничивать так:

limit(Integral, 0 , Zp) // ограничитель интеграла от 0 до Zp

 

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

Edited by Destr

Share this post


Link to post
Share on other sites

Есть у меня книжка "PID Controllers Theory and Design" (на буржуйском) оочень неплохо написана, могу поделиться (ежели еще актуально).

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

Вот тогда и станет очевидно, что эти задачи неразделимы...

Share this post


Link to post
Share on other sites

Есть у меня книжка "PID Controllers Theory and Design" (на буржуйском) оочень неплохо написана, могу поделиться

Да, я бы был вам очень признателен

Edited by Destr

Share this post


Link to post
Share on other sites

ftp://81.24.212.28/ - доступно с 8-00 до 22-00

кто-нить успел скачать?

выложите плз еще куда-нить...

 

Думаю, Вы будете несколько разочарованны увиденным.

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

(Цифровые фото?) И для зрения вредно. Книга представляется интересной, но "читать" ее из этого источника ИМХО не получится... Получится только на нее "смотреть" :)

 

Точное название "PID Controllers: Theory, Design and Tuning." K. Astrom and T. Hagglung. 2nd edition.

Share this post


Link to post
Share on other sites

К сожалению у меня была возможность получить эту книгу только в виде "цифрового фото" и то с ксерокопии :( . В дежавю сжимал на скорую руку, разбираться щас нету времени. Могу выложить сами фотографии, там ессно качество лучше (около 100Мб).

Так что юзать или нет - дело Ваше.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...