Kasu:
- Oskus selgitada ja rakendada PID-kontrolleri P, I, D termineid ja efekte tehisintellektile õiges kontekstis
- Võimalus AI abil samm-sammult läbi viia Ziegler-Nicholsi ja eksperimentaalseid häälestusmeetodeid
- Võimalus tuvastada ja kõrvaldada PID-lõksud, nagu integreeritud mähis, tuletatud müra AI soovitustes
Ahju temperatuuri konstantsena hoidmine, mootori kiiruse juhtimine soovitud väärtusel, drooni nurga tasakaalustamine; Nende kõigi keskmes on juhtimisalgoritm. Kõige tavalisem neist on PID-kontroller, mis on tööstuse selgroog. PID; See on lihtne, vastupidav ja töötab paljude probleemidega. Kuid "lihtne" ei tähenda "lihtne häälestada": valesti seatud PID võngub, ületab, jääb hiljaks või muutub täiesti ebastabiilseks. Tehisintellekt on siin väärtuslik abimees: see selgitab PID termineid, juhendab häälestusmeetodeid, diagnoosib tüüpilisi lõkse ja kirjutab häälestuskoodi. Lõplik korrigeerimine tehakse aga teie süsteemi füüsilist käitumist vaadates ja stabiilsusotsus kuulub insenerile. Selles üksuses käsitleme PID-lõksude installimist, häälestamist ja kontrollimist tehisintellektiga.
Kolm PID tingimust
PID reageerib veasignaalile (e = sihtmärk – mõõdetud) kolmel viisil:
tähtaeg
Mida ta vaatab?
Mõju
äärmisel juhul
P (proportsionaalne)
praegune viga
kiire reageerimine
Võnkumine, püsiv viga
I (integraalne)
Kogunenud minevikuviga
Lähtestab püsiva vea
ülelöök, kerimine, võnkumine
D (tuletis)
Vea muutumise määr
Summutamine vähendab ülevõtmist
Võimendage müra
Sõnaline kokkuvõte: P vastab küsimustele "kui kaugel ma praegu olen", ma "kaua olen eemal olnud", D "kui kiiresti ma lähenen". Hea kontroller tasakaalustab kõik kolm.
klassi PID: def __init__(self, Kp, Ki, Kd, output_min=-100, output_max=100): self.Kp, self.Ki, self.Kd = Kp, Ki, Kd ise.out_min, self.out_max = output_min, output_max self.integral = 0.0 erfrfpre. sihtmärk, mõõdetud, dt): viga = sihtmärk - mõõdetud # P p = ise.Kp * viga # I -- ise.integraal koos kerimiskaitsega += viga * dt i = ise.Ki * ise.integraal # D -- tuletismüra tundlik d = ise.Kd * (viga - ise.eelmine_viga) / dt = ise.eelmine_ viga windup if output > self.output_max: output = self.out_max self.integral -= error * dt # anti-windup: undo integral elif output < self.output_min: output = self.output_min self.integral -= error * dt tagastab väljund
See kood ei ole "koolitus-PID", vaid tootmisloogikale lähedane luustik: see sisaldab väljundi küllastust ja likvideerimisvastast funktsiooni. Paljud tehisintellekti antud lihtsad PID-d lähevad neist kahest kaitsest mööda; Ilma nendeta, kui täiturmehhanism jõuab oma piirini, paisub integraal ja süsteem lööb ootamatult üle.
Näpunäide. Kui küsite AI-lt PID-d, öelge "lisage väljundi küllastus ja anti-windup, rakendage tuletisterminile mõõtmisel tuletis". Need kolm täiendust muudavad õpiku PID väljaks PID.
Integraalne lõpetamine ja tuletismüra
Kaks klassikalist lõksu on PID-i tõrke kõige levinumad põhjused:
Integreeritud mähis: kui täiturmehhanism küllastub (nt mootor on juba täisvõimsusel), tõrge püsib ja integraaltähtaeg kasvab. See täispuhutud integraal põhjustab suure ületamise, kui süsteem jõuab sihtmärgini. Lahendus: integraali peatamine või tagasipööramine, kui väljund on küllastunud (üleminekuvastane, näidatud ülaltoodud koodis).
Tuletismüra: D-termin võtab vea tuletise; Mürarikka mõõtmise tuletis on palju mürarikkam ja vibreerib täiturmehhanismi. Lahendused: tuletise võtmine mõõtmisest (vea asemel mõõtmise tuletis), tuletisliikmele madalpääsfiltri lisamine.
# Tuletismüra vähendamine: mõõtmise tuletis + filterd_raw = -(mõõdetud - ise.eelmine_mõõdetud) / dt vea asemel
AI suudab neid lõkse hästi tuvastada; Kui ütlete "Minu PID ületab sihtmärgini jõudmisel oluliselt", soovitab see lõpetada. Kuid saate kontrollida, mõõtes, kas parandus teie süsteemis töötab.
Seadistamine Ziegler-Nicholsiga
Klassikaline meetod kasumite (Kp, Ki, Kd) nullist leidmiseks on Ziegler-Nichols. Selle olemus: alustades ainult P-st ja suurendades Kp-d, kuni süsteem läheb püsivasse võnkumisse; Arvutage tabelist Kp, Ki, Kd kriitilise võimenduse Ku ja võnkeperioodiga Tu selles punktis.
kontroller
kp
Ti
Td
P.
0,5·Ku
–
–
P.I.
0,45·Ku
Tu/1,2
–
PID
0,6·Ku
Tu/2
Tu/8
Ziegler-Nicholsi sammud (plaani teeb AI):1. Võtke Ki=0, Kd=0. Lihtsalt käivitage P.2. Suurendage AEGLASELT Kp-d, kuni algab stabiilne, püsiv võnkumine.3. See Kp = Ku (kriitiline võimendus), võnkeperiood = Tu.4. Arvuta tabelist Kp, Ti, Td; Ki = Kp/Ti, Kd = Kp*Td.5. Alustage nendest väärtustest, seejärel tehke eksperimentaalseid muudatusi.
Ettevaatust: Ziegler-Nichols viib süsteemi teadlikult stabiilsuspiirini (püsiv võnkumine). Seda tehes reaalse riistvaraga kaasneb mehaanilise pinge, ülevoolu ja ohu oht; Võimalusel tehke seda esmalt simulatsioonis, seejärel töötage riistvaraliselt väikese võimsuspiirangu ja E-stopiga. AI pakutud Ku on lähtepunkt, seda mõõdetakse ja kontrollitakse teie süsteemis.
AI-abiga diagnostika
PID käitumist saate diagnoosida, kirjeldades seda tehisintellektile. Sümptom → võimalik põhjuste kaardistamine:
sümptom
võimalik põhjus
Suuna AI soovitab
aeglane istumine
Kp/Ki madal
suurendada kp
Püsiv viga
Ma puudub või on väga madal
Ki lisada/suurendada
Ülesõit + võnkumine
Kp/Ki kõrge, D puudub
Lisa Kd, vähenda Ki
Täiturmehhanism väriseb
tuletatud müra
Filtreeri/vähenda D
Kui jõuad suure ületamiseni
terviklik lõpetamine
Lisa likvideerimisvastane
Nõrk viip / Tugev viip
NÕRK:"Andke PID võimendus." (Milline süsteem? Kuidas käitub? Kas on mingeid mõõtmisi? Tulevad juhuslikud numbrid.) STRONG:"Reguleerin PID-d alalisvoolumootori kiiruse reguleerimiseks. Praegu on Kp=2, Ki=0,5, Kd=0. See ületab astmesisendil 35% ja kui see saavutab sekundi, kulub kaua aega; Proovivõtu sagedus on 100 Hz. Loetlege nendest sümptomitest tulenevad võimalikud põhjused, mille puhul "Sootage, millises suunas peaksin seda muutma, ja öelge mulle, kuidas kontrollida, kas ületamine on lahutamatu katkestus".
Mini korpus
Juhtinsener Kerem reguleerib ekstruuderi temperatuuri regulaatorit. Tehisintellekti soovitatud kasu korral jõuab süsteem kiiresti eesmärgini, kuid iga seatud muudatuse korral teeb see suure ülelöögi ja rahuneb aeglaselt. Kerem selgitab sümptomit tehisintellektile; Tehisintellekt kahtlustab sisseehitamist, kuna kütteseade jääb mõneks ajaks täisvõimsusele (küllastunud). Kerem lisab PID koodile anti-windup ja ületamine väheneb oluliselt. Kuid nüüd on kerise väljalaskeava juures kerge värelus; Ta omistab selle D-terminile, mis võimendab temperatuurianduri müra ja lisab tuletisele madalpääsfiltri. Lõpuks kinnitab see umbkaudselt Ziegler-Nicholsiga saadud kasu ja teostab eksperimentaalset peenhäälestust. AI-l on kiire diagnoos; Kuid Kerem kinnitas iga paranduse, mõõtes tegelikku astmereaktsiooni – olenemata sellest, kas lõpetamine on parandatud või virvendus kadunud, oli seda näha ainult graafiliselt.
Levinud vead
- Väljundi küllastust ja PID-i katkestustevastast lisamist ei õnnestunud ning täiturmehhanismi piirväärtus on suurel määral ületatud.
- Tuletise võtmine müramõõtmise tuletisest ja täiturmehhanismi vibreerimine.
- Eeldusel, et dt on konstantne, samas kui proovivõtuperiood varieerub.
- Riistvara Ziegler-Nicholsi võnketesti läbiviimine ilma ohutusmeetmeteta.
- Tehisintellektiga teenitud tulude aktsepteerimine lõplikuna ilma süsteemipõhise kinnitamiseta.
- Üksiku võimenduse muutmine väga suurte sammudega ja süsteemi ebastabiilsusse lükkamine.
Kokkuvõttes
- PID; See reageerib P (praegune viga), I (akumuleeritud viga), D (vea muutumise määr).
- Välja PID peaks sisaldama väljundi küllastust, kerimisvastast ja tuletisfiltrit.
- Integreeritud mähis suur ületamine, tuletatud müra põhjustab täiturmehhanismi vibratsiooni.
- Ziegler-Nichols annab alguse võita; Seda rakendatakse riistvara turvameetmetega.
- AI diagnoosib kiiresti sümptomist põhjuseni; Parandust kontrollitakse mõõtmisega.
- dt tegelik mõõdetud; Tulude muutused toimuvad väikeste sammude ja jälgimisega.
Rakenduse ülesanne
Valige süsteem (päris mootor/kütteseade või Pythonis lihtne esimest/teise järgu mudel) ja laske tehisintellektil genereerida PID-klass küllastusega + anti-windup. Seejärel: (1) jälgige võnke käitumist, alustades ainult P-st ja suurendades Kp-d, (2) lisage Ki, et kõrvaldada püsiv viga ja vaadata, kuidas ületamine suureneb, (3) võrrelge mõju suurele ülelöögile, lülitades anti-windup sisse ja välja. Joonistage igal etapil sammu vastus ja märkige, milline võimendus millist käitumist muudab. Võrrelge Ziegler-Nicholsi tulusid enda leitud tuludega.