Nyereség:
- Képes a P, I, D kifejezések és hatások magyarázatára és alkalmazására az AI-ra a megfelelő kontextusban
- Képes Ziegler-Nichols és kísérleti hangolási módszerek lépésről lépésre végrehajtani az AI segítségével
- Képes felismerni és kiküszöbölni a PID-csapdákat, mint például az integrált tekercselés, a származtatott zaj az AI ajánlásokban
A sütő hőmérsékletének állandó tartása, a motor fordulatszámának kívánt értéken tartása, a drón szögének kiegyenlítése; Mindegyikük középpontjában egy vezérlő algoritmus áll. Ezek közül a legelterjedtebb a PID szabályozó, amely az ipar gerincét képezi. PID; Egyszerű, robusztus és számos probléma megoldására alkalmas. De az "egyszerű" nem azt jelenti, hogy "könnyen hangolható": a helytelenül beállított PID oszcillál, túllendül, késik vagy teljesen instabillá válik. A mesterséges intelligencia itt értékes asszisztens: elmagyarázza a PID kifejezéseket, végigvezeti a hangolási módszereket, diagnosztizálja a tipikus buktatókat és megírja a hangolási kódot. A végső beállítást azonban a rendszer fizikai viselkedésének figyelembevételével kell elvégezni, és a stabilitási döntés a mérnöké. Ebben a részben a PID-csapdák mesterséges intelligencia segítségével történő telepítését, hangolását és ellenőrzését ismertetjük.
A PID három feltétele
A PID háromféleképpen reagál a hibajelre (e = cél – mért):
kifejezést
Mit néz?
Hatás
szélsőségesen
P (arányos)
aktuális hiba
gyors reagálás
Oszcilláció, állandó hiba
I (integrál)
Halmozott múltbeli hiba
Visszaállítja az állandó hibát
túllövés, feltekerés, oszcilláció
D (származék)
A hiba változásának mértéke
A csillapítás csökkenti a túllövést
Erősítse fel a zajt
Szóbeli összefoglaló: P válaszol a "milyen messze vagyok most", én "mióta vagyok távol", D "milyen gyorsan közeledek" kérdésekre. Egy jó vezérlő mindhárom egyensúlyt kiegyensúlyozza.
osztály PID: def __init__(self, Kp, Ki, Kd, output_min=-100, output_max=100): self.Kp, self.Ki, self.Kd = Kp, Ki, Kd self.out_min, self.out_max = output_min, output_max self.integral = 0.0_erfr.selfre. cél, mért, dt): hiba = cél - mért # P p = self.Kp * hiba # I -- self.integral with windup protection += error * dt i = self.Ki * self.integral # D -- derivative noise szenzitív d = self.Kd * (hiba - self.previous_error) / dt = self.previous_error windup if output > self.output_max: output = self.out_max self.integral -= error * dt # anti-windup: visszavonja az integrál elif kimenetet < self.output_min: output = self.output_min self.integral -= error * dt return output
Ez a kód nem egy „képzési PID”, hanem a termelési logikához közel álló váz: tartalmazza a kimeneti telítettséget és az anti-windup-ot. Sok egyszerű, mesterséges intelligencia által adott PID megkerüli ezt a két védelmet; Ezek nélkül, amikor az aktuátor eléri a határértékét, az integrál megduzzad, és a rendszer váratlanul túllendül.
Tipp: Amikor az AI-t kéri a PID-re, mondja azt, hogy "add output telítettséget és anti-windup, alkalmazz derivált a mérésnél a derivált kifejezésre". Ez a három kiegészítés a tankönyv PID-jét PID mezővé alakítja.
Integrált felszámolás és származékos zaj
Két klasszikus buktató a PID meghibásodásának leggyakoribb oka:
Integrált felhúzás: Amikor az aktuátor telítődik (például a motor már teljes teljesítményen van), a hiba továbbra is fennáll, és az integrál tag tovább növekszik. Ez a felfújt integrál nagy túllövéshez vezet, amikor a rendszer eléri a célt. Megoldás: az integrál leállítása vagy visszagörgetése, ha a kimenet telített (anti-windup, a fenti kódban látható).
Derivatív zaj: A D tag felveszi a hiba deriváltját; A zajos mérés deriváltja sokkal zajosabb, és vibrálni fogja az aktuátort. Megoldások: a mérés deriváltjának vétele (hiba helyett a mérés deriváltja), aluláteresztő szűrő hozzáadása a derivált taghoz.
# Derivatív zaj csökkentése: mérési derivált + filterd_raw = -(mért - self.previous_measured) / dt hiba helyett
Az AI jól azonosítja ezeket a buktatókat; Ha azt mondja, hogy "A PID-m nagymértékben túllép, amikor eléri a célt", akkor a feloldást javasolja. De megméri, hogy a javítás működik-e a rendszeren.
Beállítás Ziegler-Nichols-szal
Klasszikus módszer a nyereség (Kp, Ki, Kd) nulláról való megtalálására a Ziegler-Nichols. Lényege: csak P-vel kezdjük és Kp-t növeljük addig, amíg a rendszer tartós rezgésbe nem megy; Számítsa ki a Kp, Ki, Kd táblázatból a Ku kritikus erősítéssel és a Tu rezgési periódussal ezen a ponton.
vezérlő
kp
Ti
Td
P.
0,5·Ku
–
–
P.I.
0,45·Ku
Tu/1.2
–
PID
0,6·Ku
Tu/2
Tu/8
Ziegler-Nichols lépései (a tervet az AI készíti): 1. Vegyük Ki=0, Kd=0. Csak futtasd a P.2-t. LASSAN növelje a Kp-t, amíg a stabil, tartós rezgés meg nem kezdődik.3. Ez a Kp = Ku (kritikus erősítés), az oszcilláció periódusa = Tu.4. Számítsd ki a táblázatból Kp, Ti, Td; Ki = Kp/Ti, Kd = Kp*Td.5. Kezdje ezekkel az értékekkel, majd végezzen kísérleti módosításokat.
Figyelem: Ziegler-Nichols szándékosan hozza a rendszert a stabilitási határáig (tartós oszcilláció). Fennáll a mechanikai igénybevétel, a túláram és a veszély kockázata, ha ezt valódi hardveren teszi; Ha lehetséges, először szimulációban végezze el, majd dolgozzon alacsony teljesítménykorláttal és hardveres E-stoppal. Az AI által javasolt Ku egy kiindulópont, mérik és ellenőrzik a rendszerben.
AI-asszisztált diagnosztika
A PID viselkedését úgy diagnosztizálhatja, hogy leírja az AI-nak. Tünet → lehetséges okok feltérképezése:
tünet
lehetséges oka
Az AI által javasolt irányt
lassú ülés
Kp/Ki alacsony
kp növelése
Állandó hiba
Hiányzik vagy nagyon alacsony vagyok
Ki hozzá/növeli
Túllövés + oszcilláció
Kp/Ki magas, nincs D
Kd hozzáadása, Ki csökkentése
A működtető remeg
származékos zaj
Szűrje/csökkentse D
Amikor eléri a nagy túllépést
integrált felhúzás
Adja hozzá az anti-windup
Gyenge felszólítás / Erős felszólítás
GYENGE:"Adja meg a PID-növekedést."(Melyik rendszer? Hogyan viselkedik? Vannak mérések? Véletlen számok jönnek.)STRONG:"Állítom a PID-t egy egyenáramú motor fordulatszám-szabályozására. Jelenleg Kp=2, Ki=0,5, Kd=0. 35%-ot túllép a lépésbemeneten, és sok időbe telik, amikor eléri a célt. A mintavételezés 100 Hz. Sorolja fel az ezekből a tünetekből eredő lehetséges okokat, amelyek „Javaslom, hogy melyik irányba változtassak, és mondd meg, hogyan tesztelhetem, hogy a túllépés integrált feloldás-e”.
Mini tok
Kerem vezérlőmérnök beállítja az extruder hőmérséklet-szabályozását. A mesterséges intelligencia által javasolt előnyökkel a rendszer gyorsan eléri a célt, de minden egyes beállítási változtatásnál nagy túllövést hajt végre, és lassan rendeződik. Kerem elmagyarázza a tünetet az MI-nek; A mesterséges intelligencia integrált felhúzásra gyanakszik, mert a fűtés egy ideig teljes teljesítményen (telítetten) marad. A Kerem hozzáadja az anti-windup-ot a PID kódhoz, és a túllépés jelentősen csökken. De most enyhe vibrálás tapasztalható a fűtőelem kimeneténél; Ezt a hőmérséklet-érzékelő zaját felerősítő D kifejezésnek tulajdonítja, és egy aluláteresztő szűrőt ad a deriválthoz. Végül nagyjából érvényesíti a nyereséget a Ziegler-Nichols segítségével, és kísérleti finomhangolást végez. Az AI gyorsított diagnózissal rendelkezik; De Kerem minden korrekciót megerősített a tényleges lépésreakció mérésével – akár a felhúzást javították, akár megszűnt a villogás, csak grafikusan lehetett látni.
Gyakori hibák
- Nem sikerült hozzáadni a kimeneti telítettséget és az anti-windup-ot a PID-hez, és nagymértékben túllépik az aktuátor határértékét.
- A zajos mérés deriváltjának levétele és az aktuátor rezgése.
- Feltételezve, hogy dt állandó, míg a mintavételi periódus változik.
- A Ziegler-Nichols oszcillációs teszt végrehajtása hardveren biztonsági óvintézkedések nélkül.
- A mesterséges intelligencia által generált bevételek elfogadása „véglegesként” rendszerspecifikus ellenőrzés nélkül.
- Egyetlen nyereség megváltoztatása nagyon nagy lépésekkel és a rendszer instabilitásba taszítása.
Összefoglalva
- PID; P-vel (aktuális hiba), I-vel (halmozott hiba), D-vel (hibaváltozási sebesség) reagál.
- A mező PID-nek tartalmaznia kell a kimeneti telítettséget, az anti-windup-ot és a származtatott szűrőt.
- Az integrált tekercselés nagy túllövés, a származékos zaj rezgést okoz az aktuátorban.
- Ziegler-Nichols kezdi a nyereséget; A hardver biztonsági intézkedésekkel valósul meg.
- Az AI gyorsan diagnosztizálja a tünettől az okig; A korrekciót méréssel igazoljuk.
- dt ténylegesen mért; A keresetek változása kis lépésekkel és megfigyeléssel történik.
Pályázati feladat
Válasszon ki egy rendszert (valódi motor/fűtő, vagy egy egyszerű első/másodrendű modell a Pythonban), és kérje meg az AI-t, hogy generáljon egy PID osztályt telítéssel + anti-windup. Ezután: (1) figyelje meg az oszcilláció viselkedését úgy, hogy csak P-vel kezdi, és növeli Kp-t, (2) adjon hozzá Ki-t az állandó hiba kiküszöböléséhez, és nézze meg, hogyan növekszik a túllépés, (3) hasonlítsa össze a nagy túllövés hatását az anti-windup be- és kikapcsolásával. Minden lépésnél ábrázolja a lépésválaszt, és jegyezze fel, hogy melyik nyereség melyik viselkedést változtatja meg. Hasonlítsa össze a Ziegler-Nichols nyereségét a saját maga által elért nyereségekkel.