|
|
  |
Автоматическое регулирование |
|
|
|
Sep 12 2006, 07:29
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
Цитата(Oldring @ Sep 11 2006, 22:25)  Сам датчик аналоговый без встроенного микроконтроллера?  Я не знаю, моя задача только программировать, всем остальным занимаются другие люди. А для программирования мне достаточно знать что будет 4-20 мА и все. Вообще в языке программирования, на котором пишется программа для контроллера, есть инструкция пид регулирования. Выходное значение рассчитывается по формуле: Кр*(err+Кd*Td*derr/dt+1/Ti*<интеграл>err dt) , где Кр - коэффициент пропорциональности err - рассогласование Кd - дифференциальный коэффициент Td - дифференциальная временная константа Ti - интегральная константа На языке релейно-контактных схем не очень хотелось бы писать свой вариант регулирования, хотя конечно можно. Ну я пока планирую использовать эту инструкцию. То есть необходимо только правильно подобрать коэффициенты. И большая точность вроде не особа нужна, поэтому действительно попробую экспериментально сначала, а уж если не получиться придется учить.
|
|
|
|
|
Sep 13 2006, 17:55
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
Что то вот это не совсем понял Цитата(LordN @ Aug 31 2006, 12:26)  Цитата Потоком жидкости необходимо управлять шаровым краном, который управляется двумя дискретными сигналами, один-открывать, другой-закрывать это называется трехпозиционное регулирование. для него И-часть не нужна. привод сам выполнит накопление ошибки. потребуются только П- или ПД- части. управлять приводом просто. имеется сигнал от регулятора. имеется сигнал положения заслонки обратной связи. сравниваем их и выбираем - открывать или закрывать. тупой компаратор. можно усложнить слегка - вычислять разность и взависимости от неё подавать сверхнизкочастотный ШИМ на управление приводом, т.о. можно управлять скоростью привода для более точной подстройки. То есть получается, если у меня сигнал о положении заслонки в контроллере преобразуется в целое от 0 до 32768, то мне надо выход регулятора нормировать к такой же размерности ? Цитата имеется сигнал от регулятора. имеется сигнал положения заслонки обратной связи. сравниваем их и выбираем - открывать или закрывать Получается что если ошибка равна 0 то кран всегда будет закрываться ?
|
|
|
|
|
Sep 14 2006, 04:27
|
Знающий
   
Группа: Свой
Сообщений: 704
Регистрация: 15-10-05
Из: г.Томск
Пользователь №: 9 686

|
Цитата То есть получается, если у меня сигнал о положении заслонки в контроллере преобразуется в целое от 0 до 32768, то мне надо выход регулятора нормировать к такой же размерности ? естессна. одно к другому надо обязательно приводить, иначе как их сравнивать? Цитата Получается что если ошибка равна 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 - значение выхода программного регулятора.
--------------------
|
|
|
|
|
Sep 14 2006, 08:13
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
Все равно не понятно: 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) И вообще не пойму как привод накапливает ошибку. Помойму ситуация аналогична с той, когда я спрашивал про управление стоком частотником без интегральной составляющей, где ошибка будет постоянно появляться потому что сток воды есть и частотник будет то включать, то выключать двигатель. И здесь также когда нет ошибки, кран закрыт, но она(ошибка) будет все время появляться благодаря стоку и кран будет открыватся/закрываться постоянно.
Сообщение отредактировал Destr - Sep 14 2006, 08:16
|
|
|
|
|
Sep 14 2006, 08:48
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
Цитата(TomaT @ Sep 14 2006, 12:36)  Немного в сторону... А в частотнике ПИД-а нет? Обычно бывает... И отклик на управление ему наверно тоже настроить можно. Есть, но я думаю удобнее через контроллер, а вообще что есть какая то разница ?
|
|
|
|
|
Sep 14 2006, 10:02
|
Знающий
   
Группа: Свой
Сообщений: 704
Регистрация: 15-10-05
Из: г.Томск
Пользователь №: 9 686

|
Цитата Все равно не понятно: да, моя ошибка. сам запутался и вас ввёл в заблуждение. давайте еще раз. П-регулятор и трехпозиционный привод без обратной связи. тогда регулятор можно записать так: Код 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 и выдавать сигналы на откр/закр вентиля.
--------------------
|
|
|
|
|
Sep 14 2006, 14:27
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
Понятно, получается тоже самое что и с частотником, только там мы сразу на частотник подавали выходную величину, а здесь надо кран крутить, чтобы он сравнялся с этой величиной. А для чего интеграл ограничивать так: Цитата(LordN @ Sep 14 2006, 14:02)  limit(Integral, 0 , Zp) // ограничитель интеграла от 0 до Zp Как я уже писал, в языке программирования контроллера есть инструкция пид регулирования. Есть ли там такие ограничители неизвестно. Там просто коэффициенты задаваются и все.
Сообщение отредактировал Destr - Sep 14 2006, 14:29
|
|
|
|
|
Sep 23 2006, 11:00
|
Группа: Участник
Сообщений: 12
Регистрация: 15-08-06
Из: Украина, Николаев
Пользователь №: 19 571

|
Есть у меня книжка "PID Controllers Theory and Design" (на буржуйском) оочень неплохо написана, могу поделиться (ежели еще актуально). И еще, мое мнение несчет разделения задач управления частотником и краном - необходимо для разработки составить структурную схему системы регулирования, тогда будет очевидно, что сигнал управления частотником - "управляющее воздействие", а клапан - "исполнительный механизм" и для построения ПИД регулятора не методом подбора коэффициентов (что тоже имеет право на жизнь), а расчетом, необходимо записать их т.н. передаточные функции (которые учтут их физическую природу), и исходя из полученных данных получить коэффициенты ПИД регулятора. Вот тогда и станет очевидно, что эти задачи неразделимы...
|
|
|
|
|
Sep 23 2006, 12:55
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 29-08-06
Пользователь №: 19 915

|
Цитата(Fireball @ Sep 23 2006, 15:00)  Есть у меня книжка "PID Controllers Theory and Design" (на буржуйском) оочень неплохо написана, могу поделиться Да, я бы был вам очень признателен
Сообщение отредактировал Destr - Sep 23 2006, 13:31
|
|
|
|
|
Sep 25 2006, 17:02
|
Группа: Участник
Сообщений: 12
Регистрация: 15-08-06
Из: Украина, Николаев
Пользователь №: 19 571

|
ftp://81.24.212.28/ - доступно с 8-00 до 22-00 зы: за качество не пинайте...
|
|
|
|
|
Sep 26 2006, 03:41
|
Знающий
   
Группа: Свой
Сообщений: 704
Регистрация: 15-10-05
Из: г.Томск
Пользователь №: 9 686

|
Цитата ftp://81.24.212.28/ - доступно с 8-00 до 22-00 кто-нить успел скачать? выложите плз еще куда-нить...
--------------------
|
|
|
|
|
Sep 26 2006, 14:23
|

Группа: Участник
Сообщений: 14
Регистрация: 24-11-04
Из: Подмосковье
Пользователь №: 1 212

|
Цитата(LordN @ Sep 26 2006, 07:41)  Цитата ftp://81.24.212.28/ - доступно с 8-00 до 22-00 кто-нить успел скачать? выложите плз еще куда-нить... Думаю, Вы будете несколько разочарованны увиденным. К сожалению восприять текст в этом файле крайне проблематично из-за ужасно низкого качества. (Цифровые фото?) И для зрения вредно. Книга представляется интересной, но "читать" ее из этого источника ИМХО не получится... Получится только на нее "смотреть"  Точное название "PID Controllers: Theory, Design and Tuning." K. Astrom and T. Hagglung. 2nd edition.
--------------------
Если нам никто не поможет, то мы тоже никого не пощадим...
|
|
|
|
|
Sep 26 2006, 14:37
|
Группа: Участник
Сообщений: 12
Регистрация: 15-08-06
Из: Украина, Николаев
Пользователь №: 19 571

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