Добици:
- Способност да се објасне и примене П, И, Д термини и ефекти ПИД контролера на АИ са правим контекстом
- Способност спровођења Зиеглер-Ницхолс и експерименталних метода подешавања корак по корак уз помоћ АИ
- Способност препознавања и елиминисања ПИД замки као што су интегрални намотавање, дериватни шум у АИ препорукама
Одржавање константне температуре пећнице, покретање брзине мотора на жељеној вредности, балансирање угла дрона; У срцу свих њих је контролни алгоритам. Најчешћи од њих је ПИД контролер, који је окосница индустрије. ПИД; Једноставан је, робустан и ради на широком спектру проблема. Али „једноставно“ не значи „лако за подешавање“: погрешно подешен ПИД ће осцилирати, премашити, каснити или постати потпуно нестабилан. Вештачка интелигенција је овде вредан помоћник: објашњава ПИД појмове, води кроз методе подешавања, дијагностикује типичне замке и пише код за подешавање. Међутим, коначно прилагођавање се врши посматрањем физичког понашања вашег система и одлука о стабилности припада инжењеру. У овој јединици описујемо како инсталирати, подесити и верификовати ПИД замке помоћу АИ.
Три термина ПИД-а
ПИД реагује на сигнал грешке (е = циљ − мерено) на три начина:
термин
Шта он гледа?
Ефекат
у екстрему
П (пропорционално)
тренутна грешка
брз одговор
Осцилација, трајна грешка
ја (интеграл)
Акумулирана прошла грешка
Ресетује трајну грешку
прекорачење, навијање, осциловање
Д (деривација)
Стопа промене грешке
Пригушење смањује прекорачење
Појачајте шум
Вербални резиме: П одговара на питања „колико сам сада далеко“, ја „колико дуго ме није било“, Д „колико се брзо приближавам“. Добар контролор балансира сва три.
класа ПИД: деф __инит__(селф, Кп, Ки, Кд, оутпут_мин=-100, оутпут_мак=100): селф.Кп, селф.Ки, селф.Кд = Кп, Ки, Кд селф.оут_мин, селф.оут_мак = оутпут_мин, оутпут_мак селф.интеграл=ви. измерено, дт): грешка = циљ - измерено # П п = селф.Кп * грешка # И -- селф.интеграл са заштитом од навијања += грешка * дт и = селф.Ки * селф.интеграл # Д -- деривативни шум осетљив д = селф.Кд * (грешка - селф.превиоус_еррор) / дт селф.превиоус_превиоус_еррор) / дт селф.превиоус_превиоус_еррор) / дт селф.превиоус_превиоус_еррор) / дт селф.превиоус_превиоус_еррор анд дт селф.превиоус_еррор + оутпут иф оутпут селф.оутпут_мак: оутпут = селф.оут_мак селф.интеграл -= грешка * дт # анти-виндуп: поништи интегрални елиф оутпут < селф.оутпут_мин: оутпут = селф.оутпут_мин селф.интеграл -= грешка * дт ретурн оутпут
Овај код није „ПИД за обуку“, већ скелет близак логици производње: укључује засићење излаза и анти-виндуп. Многи једноставни ПИД-ови које даје АИ заобилазе ове две заштите; Без њих, када актуатор достигне своју границу, интеграл ће набубрити и систем ће неочекивано премашити.
Савет: Када питате АИ за ПИД, реците „додајте засићење излаза и анти-виндуп, примените дериват на мерењу на дериватни термин“. Ова три додатка претварају уџбеник ПИД у поље ПИД.
Интегрални шум навијања и деривата
Две класичне замке су најчешћи узроци отказивања ПИД-а:
Интегрални намотај: Када се актуатор засити (нпр. мотор је већ на пуној снази), грешка остаје и интегрални члан наставља да расте. Овај надувани интеграл доводи до великог прекорачења када систем достигне циљ. Решење: заустављање или враћање интеграла када је излаз засићен (анти-виндуп, демонстрирано у коду изнад).
Деривативна бука: Д термин узима дериват грешке; Дериват бучног мерења је много бучнији и вибрираће актуатор. Решења: узимање извода из мерења (деривација мерења уместо грешке), додавање нископропусног филтера термину извода.
# Смањење шума деривата: дериват мерења + филтерд_рав = -(мерено - селф.превиоус_меасуред) / дт уместо грешке
АИ је добар у идентификацији ових замки; Ако кажете „Мој ПИД умногоме премашује када достигне циљ“, препоручује се затварање. Али ви потврђујете мерењем да ли поправка функционише на вашем систему.
Поставка са Зиглер-Ницхолсом
Класичан метод за проналажење добитака (Кп, Ки, Кд) од нуле је Зиеглер-Ницхолс. Његова суштина: почевши само са П и повећавајући Кп док систем не пређе у трајну осцилацију; Израчунајте Кп, Ки, Кд из табеле са критичним појачањем Ку и периодом осциловања Ту у овој тачки.
контролор
кп
Ти
Тд
П.
0,5·Ку
–
–
П.И.
0,45·Ку
Ту/1.2
–
ПИД
0.6·Ку
Ту/2
Ту/8
Зиглер-Николсови кораци (план који ће израдити АИ):1. Узмимо Ки=0, Кд=0. Само покрените П.2. ПОЛАКО повећавајте Кп док не почне стабилно, трајно осциловање.3. Овај Кп = Ку (критични добитак), период осциловања = Ту.4. Израчунајте Кп, Ти, Тд из табеле; Ки = Кп/Ти, Кд = Кп*Тд.5. Почните са овим вредностима, а затим направите експериментална подешавања.
Опрез: Зиеглер-Ницхолс намерно доводи систем до границе стабилности (трајна осцилација). Постоји ризик од механичког напрезања, прекомерне струје и опасности када се ово ради на стварном хардверу; Ако је могуће, урадите то прво у симулацији, а затим радите са ниским ограничењем снаге и Е-стопом у хардверу. Ку који предлаже АИ је почетна тачка, мери се и верификује у вашем систему.
Дијагностика уз помоћ вештачке интелигенције
Можете дијагностиковати ПИД понашање тако што ћете га описати АИ. Симптом → мапирање могућег узрока:
симптом
могући узрок
Правац који ће АИ предложити
споро седење
Кп/Ки низак
повећати кп
Трајна грешка
Ја сам одсутан или веома низак
Ки додати/повећати
Прекорачење + осцилација
Кп/Ки висок, нема Д
Додајте Кд, смањите Ки
Актуатор се тресе
деривативни шум
Филтрирање/смањивање Д
Када дођете до великог прекорачења
интегрални навијање
Додајте анти-виндуп
Слаба порука / јака промпт
СЛАБО:"Дајте ПИД појачања."(Који систем? Какво је понашање? Има ли мерења? Долазе насумични бројеви.)ЈАКО:"Подешавам ПИД за контролу брзине мотора једносмерне струје. Тренутно, Кп=2, Ки=0,5, Кд=0. Прекорачује 35% на улазу корака и када достигне велики циљ, потребно је много времена да се пређе на циљ. Узорковање је 100 Хз. Наведите могуће разлоге из ових симптома, који добијају „Предложите у ком правцу да га променим и реците ми како да тестирам да ли је прекорачење интегрални завршетак“.
Мини Цасе
Контролни инжењер Керем подешава контролу температуре екструдера. Уз добитке које предлаже АИ, систем брзо стиже до циља, али при свакој промени сета прави велико прекорачење и полако се смири. Керем објашњава АИ симптом; АИ сумња на интегрално навијање јер грејач остаје на пуној снази (засићен) неко време. Керем додаје анти-виндуп ПИД коду и прекорачење се значајно смањује. Али сада постоји благо треперење на излазу грејача; Он ово приписује термину Д који појачава шум температурног сензора и додаје нископропусни филтер деривату. Коначно, он грубо потврђује добитке са Зиеглер-Ницхолсом и врши експериментално фино подешавање. АИ има брзу дијагнозу; Али Керем је потврдио сваку исправку мерењем стварног одговора на корак - да ли је намотавање исправљено или је треперење нестало, то се могло видети само графички.
Уобичајене грешке
- Неуспешно додавање засићења излаза и анти-виндуп ПИД-у и доживљавање великог прекорачења границе актуатора.
- Узимање извода од деривације бучног мерења и вибрирање актуатора.
- Под претпоставком да је дт константан, док период узорковања варира.
- Извођење Зиеглер-Ницхолсовог теста осциловања на хардверу без мера предострожности.
- Прихватање зараде генерисане вештачком интелигенцијом као „коначне“ без верификације специфичне за систем.
- Промена једног појачања са веома великим корацима и гурање система у нестабилност.
Укратко
- ПИД; Реагује са П (тренутна грешка), И (акумулирана грешка), Д (стопа промене грешке).
- Поље ПИД треба да садржи излазно засићење, анти-виндуп и деривативни филтер.
- Велико прекорачење интегрисаног намотаја, дериватна бука изазива вибрације актуатора.
- Зиглер-Ницхолс даје почетак да добије; Имплементирано је уз мере безбедности у хардверу.
- АИ је брз у дијагнози од симптома до узрока; Корекција се проверава мерењем.
- дт стварно измерено; Промене зараде се врше малим корацима и посматрањем.
Задатак апликације
Изаберите систем (прави мотор/грејач или једноставан модел првог/другог реда у Питхон-у) и нека АИ генерише ПИД класу са засићењем + анти-виндуп. Затим: (1) посматрајте понашање осциловања почевши само са П и повећавајући Кп, (2) додајте Ки да бисте елиминисали трајну грешку и видели како се прекорачење повећава, (3) упоредите ефекат на велико прекорачење укључивањем и искључивањем анти-виндуп-а. Нацртајте одговор на корак на сваком кораку и забележите који добитак мења које понашање. Упоредите добитке од Зиеглер-Ницхолса са добицима које сте сами пронашли.