Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > ПЛК и микроконтроллеры
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Программирование PID регулятора

 Ответить Ответить Страница  <123>
Автор
Сообщение
Petrov Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 15 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 805
Свойства публикации Свойства публикации   Ответить, цитируя автора - Petrov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Программирование PID регулятора
    Опубликовано: 11 Июль 2007 14:25
Первоначально опубликовано Yong

спасибо за ссылочку!!!, жаль что на английском...

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

Наверх
Yong Смотреть выпадающим
Новичок
Новичок
Аватар

Присоединился: 19 Январь 2007
Online Status: Offline
Публикации: 12
Свойства публикации Свойства публикации   Ответить, цитируя автора - Yong Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 11 Июль 2007 18:02

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

 

Наверх
flexlogix5434 Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 27 Ноябрь 2006
Категория: Albania
Online Status: Offline
Публикации: 134
Свойства публикации Свойства публикации   Ответить, цитируя автора - flexlogix5434 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Июль 2007 10:48
http://members.vicard.net/sensor/main1_10.htm
http://model.exponenta.ru/auto_reg.html
http://www.segnetics.com/main.aspx?Page=228

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

удачи!
Смейся, и весь мир будет смеяться вместе с тобой.
Плачь, и ты будешь плакать в одиночестве.
Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Июль 2007 13:25

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

Сперва надо выяснить - требует-ли данный процесс именно Пропорционально-Интегрирующего типа регулирования. Если нет - то ПИД-регулятор никаким боком не приладишь. А подбор коэффициентов - вещь не принципиальная.

С уважением, SAN 

Наверх
Yong Смотреть выпадающим
Новичок
Новичок
Аватар

Присоединился: 19 Январь 2007
Online Status: Offline
Публикации: 12
Свойства публикации Свойства публикации   Ответить, цитируя автора - Yong Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Июль 2007 18:05

Сперва надо выяснить - требует-ли данный процесс именно Пропорционально-Интегрирующего типа регулирования. Если нет - то ПИД-регулятор никаким боком не приладишь. А подбор коэффициентов - вещь не принципиальная.

 

Стоит задача позиционирования. Пневмоцилиндр с магнитной шкалой (высокоскоростной счетчик как вверх так и вниз) должен останавливаться в заданном положении. Т.е входная величина показания счетчика, а выходная-аналоговый сигнал от 0 до 5 В (управляет движением цилиндра). каретка цилиндра движется как с нагрузкой так и без нагрузки. По-моему без PID никак нельзя. ну только если считать нагрузку незначительной можно попробовать PDрегулятор ? но  там те же заморочки, что и в PID, коэффициентов правда поменьше.

 

Наверх
Pike Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 24 Апрель 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 135
Свойства публикации Свойства публикации   Ответить, цитируя автора - Pike Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Июль 2007 18:24

Опа, пневмопозиционер А ведь года три назад я возился с подобной задачкой. И решили мы тогда ее не при помощи ПИДа. Учтите, что пневмопривод - ну очень нелинейная система. Интересно было бы узнать по подробнее что за ПЦ, что за распределители.

 

Наверх
Petrov Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 15 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 805
Свойства публикации Свойства публикации   Ответить, цитируя автора - Petrov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Июль 2007 21:18
Первоначально опубликовано Pike

Опа, пневмопозиционер А ведь года три назад я возился с подобной задачкой. И решили мы тогда ее не при помощи ПИДа. Учтите, что пневмопривод - ну очень нелинейная система. Интересно было бы узнать по подробнее что за ПЦ, что за распределители.

Гы. Пневмопривод с позиционером рулит! А вот без позиционера - полная анрхия, действительно, не совсем линейная система. :)

Пневмоцилиндр - это наверное про другое...

Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Июль 2007 21:23

Похоже, что ваш регулятор не работает из-за того, что на его вход подается абсолютное положение, а должна подаваться РАЗНОСТЬ между заданной и текущей координатами. Эта величина часто называется - сигнал ошибки, а лучше - рассогласованием.

У  ПИД-звена есть два входа -  ACTUAL  и  SET-POINT  -  соответственно  текущая и целевая координаты (на остальные пока не обращайте внимания). Вот в ависимости от их разности, то-есть  (SET-POINT - ACTUAL) и вырабатывается выходное задание.
Но еще надо выполнить несколько обязательных условий. Будет понятнее если все делать попорядку и постепенно.

Прежде всего надо привести входные сигналы к одной размерности и масштабности, то-есть оба входных сигнала должны выражать координаты (размерность), и одинаковые перемещения должны соответствовать одинаковым изменениям сигналов (масштабность). Толко так можно ожидать нормальной работы регулятора. Если нет готового сигнала координаты, например - напряжение, то его надо преобразовать к размерности координаты, каким-нето образом.
Те или иные звенья - это еще не регуляторы. Регуляторами они становятся когда образуется цепь обратной связи. На вход ACTUAL подается действительная текущая координата, на SET-POINT - заданная. ПИД состоит из трех частей :  Пропорциональная, Интегрирующая и Дифференцирующая. Эти части независимы, то-есть не влияют друг на друга (принцип суперпозиции), и могут рассматриваться поотдельности. Каждая из частей может вообще отсутствовать, и тогда ПИД-звено будет превращаться в разные типы звеньев :  чисто Пропорциональное, чисто Интегрирующее, Пропорционально-Интнгрирующее, Пропорционально-Дифференцирующее.

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

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

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

Теперь, зная принцип действия можно подобрать коэффициент интегрирования TN. Он влияет на скорость установления координаты, и его превышение вызовет возбуждение двигателя. Это дополнительно можно сгладить Дифф-звеном

Можно было рассказать полнее и последовательней, с формулами, но заметка итак непозволительно велика для Форума. Утрамбовал как мог.

С вуажением, SAN

Наверх
AlexM Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 11 Октябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 392
Свойства публикации Свойства публикации   Ответить, цитируя автора - AlexM Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 13 Июль 2007 07:01
Первоначально опубликовано Yong

Стоит задача позиционирования. Пневмоцилиндр с магнитной шкалой (высокоскоростной счетчик как вверх так и вниз) должен останавливаться в заданном положении. Т.е входная величина показания счетчика, а выходная-аналоговый сигнал от 0 до 5 В (управляет движением цилиндра). каретка цилиндра движется как с нагрузкой так и без нагрузки. По-моему без PID никак нельзя. ну только если считать нагрузку незначительной можно попробовать PDрегулятор ? но  там те же заморочки, что и в PID, коэффициентов правда поменьше.

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

Наверх
Yong Смотреть выпадающим
Новичок
Новичок
Аватар

Присоединился: 19 Январь 2007
Online Status: Offline
Публикации: 12
Свойства публикации Свойства публикации   Ответить, цитируя автора - Yong Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 13 Июль 2007 13:15
Первоначально опубликовано sanwork

Похоже, что ваш регулятор не работает из-за того, что на его вход подается абсолютное положение, а должна подаваться РАЗНОСТЬ между заданной и текущей координатами. Эта величина часто называется - сигнал ошибки, а лучше - рассогласованием.

С вуажением, SAN

Так и есть!!! Подал рРАЗНОСТЬ на вход и регулятор начал себя вести вполне адекватно. Довольно быстро подобрал коэффициенты для PD. Спасибо большое за помощь, извините за то, что отнял у вас кучу времени

 

Наверх
 Ответить Ответить Страница  <123>

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz