નફો:
- P, I, D શરતો અને PID નિયંત્રકની અસરોને AI પર યોગ્ય સંદર્ભ સાથે સમજાવવાની અને લાગુ કરવાની ક્ષમતા
- AI ની મદદ સાથે ઝીગલર-નિકોલસ અને પ્રાયોગિક ટ્યુનિંગ પદ્ધતિઓ તબક્કાવાર હાથ ધરવાની ક્ષમતા
- AI ભલામણોમાં ઇન્ટિગ્રલ વિન્ડઅપ, વ્યુત્પન્ન અવાજ જેવા PID ટ્રેપ્સને ઓળખવાની અને દૂર કરવાની ક્ષમતા
પકાવવાની નાની ભઠ્ઠીનું તાપમાન સ્થિર રાખવું, મોટરની ગતિને ઇચ્છિત મૂલ્ય પર ચલાવવી, ડ્રોનના કોણને સંતુલિત કરવું; તે બધાના હૃદયમાં નિયંત્રણ અલ્ગોરિધમ છે. આમાં સૌથી સામાન્ય PID કંટ્રોલર છે, જે ઉદ્યોગની કરોડરજ્જુ છે. પીઆઈડી; તે સરળ, મજબૂત છે અને સમસ્યાઓની વિશાળ શ્રેણી પર કામ કરે છે. પરંતુ "સરળ" નો અર્થ "ટ્યુન કરવા માટે સરળ" નથી: ખોટી રીતે સેટ કરેલ PID ઓસીલેટ કરશે, ઓવરશૂટ કરશે, મોડું બેસી જશે અથવા સંપૂર્ણપણે અસ્થિર બનશે. આર્ટિફિશિયલ ઇન્ટેલિજન્સ અહીં એક મૂલ્યવાન સહાયક છે: તે PID શરતો સમજાવે છે, ટ્યુનિંગ પદ્ધતિઓ દ્વારા માર્ગદર્શન આપે છે, લાક્ષણિક ક્ષતિઓનું નિદાન કરે છે અને ટ્યુનિંગ કોડ લખે છે. જો કે, અંતિમ ગોઠવણ તમારી સિસ્ટમના ભૌતિક વર્તનને જોઈને કરવામાં આવે છે અને સ્થિરતાનો નિર્ણય એન્જિનિયરનો છે. આ યુનિટમાં અમે AI સાથે PID ટ્રેપ્સને કેવી રીતે ઇન્સ્ટોલ, ટ્યુન અને ચકાસવું તે આવરી લઈએ છીએ.
PID ની ત્રણ શરતો
PID ત્રણ રીતે એરર સિગ્નલ (e = લક્ષ્ય - માપેલ) નો પ્રતિસાદ આપે છે:
મુદત
તે શું જુએ છે?
અસર
આત્યંતિક
P (પ્રમાણસર)
વર્તમાન ભૂલ
ઝડપી પ્રતિભાવ
ઓસિલેશન, કાયમી ભૂલ
હું (અભિન્ન)
સંચિત ભૂતકાળની ભૂલ
કાયમી ભૂલ રીસેટ કરે છે
ઓવરશૂટ, વિન્ડઅપ, ઓસિલેશન
ડી (વ્યુત્પન્ન)
ભૂલના ફેરફારનો દર
ભીનાશ ઓવરશૂટ ઘટાડે છે
અવાજને વિસ્તૃત કરો
મૌખિક સારાંશ: P "હું હવે કેટલો દૂર છું", હું "હું કેટલા સમયથી દૂર છું", D "હું કેટલી ઝડપથી નજીક આવી રહ્યો છું" પ્રશ્નોના જવાબ આપે છે. એક સારો નિયંત્રક ત્રણેયને સંતુલિત કરે છે.
વર્ગ 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, આઉટપુટ_max self.integral = 0.0_0fself, 0.0.0 સેલ્ફ, 0.0 સેલ્ફ 0. લક્ષ્ય, માપેલ, dt): ભૂલ = લક્ષ્ય - માપેલ # P p = self.Kp * ભૂલ # I -- windup સુરક્ષા સાથે સ્વ. ઇન્ટિગ્રલ += ભૂલ * dt i = self.Ki * self.integral # D -- વ્યુત્પન્ન અવાજ સંવેદનશીલ d = self.Kd * (ભૂલ - self.previous_error) / ious + dt. આઉટ = ભૂલ + + + + + + + + + + ભૂલ આઉટપુટ અને લિમિટ વિન્ડઅપ જો આઉટપુટ > self.output_max: આઉટપુટ = self.out_max self.integral -= error * dt # anti-windup: integral elif આઉટપુટ પૂર્વવત્ કરો < self.output_min: output = self.output_min self.integral -= error * dt આઉટપુટ પરત કરો
આ કોડ "તાલીમ પીઆઈડી" નથી, પરંતુ ઉત્પાદન તર્કની નજીકનું હાડપિંજર છે: તેમાં આઉટપુટ સંતૃપ્તિ અને એન્ટિ-વિન્ડઅપનો સમાવેશ થાય છે. AI દ્વારા આપવામાં આવેલ ઘણા સરળ PID આ બે રક્ષણોને બાયપાસ કરે છે; તેમના વિના, જ્યારે એક્ટ્યુએટર તેની મર્યાદા સુધી પહોંચે છે, ત્યારે ઇન્ટિગ્રલ ફૂલી જશે અને સિસ્ટમ અનપેક્ષિત રીતે ઓવરશૂટ થશે.
ટીપ: જ્યારે AI ને PID માટે પૂછો ત્યારે કહો કે "આઉટપુટ સેચ્યુરેશન અને એન્ટી-વિન્ડઅપ ઉમેરો, ડેરિવેટિવ ટર્મ પર માપન લાગુ કરો". આ ત્રણ ઉમેરણો પાઠ્યપુસ્તક PID ને ફીલ્ડ PID માં રૂપાંતરિત કરે છે.
ઇન્ટિગ્રલ વિન્ડઅપ અને ડેરિવેટિવ નોઈઝ
બે ક્લાસિક મુશ્કેલીઓ PID નિષ્ફળતાના સૌથી સામાન્ય કારણો છે:
ઇન્ટિગ્રલ વિન્ડઅપ: જ્યારે એક્ટ્યુએટર સંતૃપ્ત થાય છે (દા.ત. મોટર પહેલેથી જ સંપૂર્ણ પાવર પર હોય છે) ત્યારે ભૂલ ચાલુ રહે છે અને ઇન્ટિગ્રલ ટર્મ સતત વધતી જાય છે. જ્યારે સિસ્ટમ લક્ષ્ય સુધી પહોંચે છે ત્યારે આ ઇન્ફ્લેટેડ ઇન્ટિગ્રલ મોટા ઓવરશૂટ તરફ દોરી જાય છે. સોલ્યુશન: જ્યારે આઉટપુટ સંતૃપ્ત થાય ત્યારે ઇન્ટિગ્રલને રોકવું અથવા પાછું ફેરવવું (એન્ટી-વિન્ડઅપ, ઉપરના કોડમાં દર્શાવવામાં આવ્યું છે).
વ્યુત્પન્ન અવાજ: D શબ્દ ભૂલનું વ્યુત્પન્ન લે છે; ઘોંઘાટીયા માપનું વ્યુત્પન્ન વધુ ઘોંઘાટીયા છે અને તે એક્ટ્યુએટરને વાઇબ્રેટ કરશે. ઉકેલો: માપનમાંથી વ્યુત્પન્ન લેવું (ભૂલને બદલે માપનનું વ્યુત્પન્ન), વ્યુત્પન્ન શબ્દમાં લો પાસ ફિલ્ટર ઉમેરવું.
# વ્યુત્પન્ન અવાજ ઘટાડવો: માપ વ્યુત્પન્ન + filterd_raw = -(માપેલું - સ્વ.અગાઉ_માપેલું) / dt ભૂલને બદલે
AI આ મુશ્કેલીઓને ઓળખવામાં સારી છે; જો તમે કહો છો કે "મારો PID જ્યારે તે લક્ષ્ય સુધી પહોંચે છે ત્યારે મોટા પ્રમાણમાં ઓવરશૂટ થાય છે", તો તે વિન્ડઅપની ભલામણ કરે છે. પરંતુ તમે તમારી સિસ્ટમ પર ફિક્સ કામ કરે છે કે કેમ તે માપીને ચકાસો.
ઝિગલર-નિકોલ્સ સાથે સેટિંગ
શરૂઆતથી નફો (Kp, Ki, Kd) શોધવા માટેની ક્લાસિક પદ્ધતિ ઝિગલર-નિકોલસ છે. તેનો સાર: ફક્ત P થી શરૂ કરીને અને Kp ને વધારતા જ્યાં સુધી સિસ્ટમ સતત ઓસિલેશનમાં ન જાય ત્યાં સુધી; આ બિંદુએ ક્રિટિકલ ગેઇન Ku અને ઓસિલેશન પીરિયડ Tu સાથે કોષ્ટકમાંથી Kp, Ki, Kd ની ગણતરી કરો.
નિયંત્રક
kp
ટી
ટીડી
પી.
0.5·કુ
-
-
પી.આઈ.
0.45·કુ
Tu/1.2
-
પીઆઈડી
0.6·કુ
Tu/2
Tu/8
ઝિગલર-નિકોલ્સના પગલાં (એઆઈ દ્વારા બનાવવાની યોજના):1. Ki=0, Kd=0 લો. ફક્ત P.2 ચલાવો. જ્યાં સુધી સ્થિર, સતત ઓસિલેશન શરૂ ન થાય ત્યાં સુધી ધીમે ધીમે Kp વધારો.3. આ Kp = Ku (જટિલ લાભ), ઓસિલેશનનો સમયગાળો = Tu.4. કોષ્ટકમાંથી Kp, Ti, Td ની ગણતરી કરો; Ki = Kp/Ti, Kd = Kp*Td.5. આ મૂલ્યોથી પ્રારંભ કરો, પછી પ્રાયોગિક ફેરફારો કરો.
સાવધાન: ઝિગલર-નિકોલસ ઇરાદાપૂર્વક સિસ્ટમને તેની સ્થિરતા મર્યાદામાં લાવે છે (સતત ઓસિલેશન). વાસ્તવિક હાર્ડવેર પર આવું કરતી વખતે યાંત્રિક તાણ, ઓવરકરન્ટ અને ભયનું જોખમ રહેલું છે; જો શક્ય હોય તો, તે પહેલા સિમ્યુલેશનમાં કરો, પછી લો પાવર લિમિટ અને હાર્ડવેરમાં ઇ-સ્ટોપ સાથે કામ કરો. AI દ્વારા સૂચવવામાં આવેલ Ku એ પ્રારંભિક બિંદુ છે, તે તમારી સિસ્ટમમાં માપવામાં આવે છે અને ચકાસવામાં આવે છે.
AI-આસિસ્ટેડ ડાયગ્નોસ્ટિક્સ
તમે AI માં તેનું વર્ણન કરીને PID વર્તનનું નિદાન કરી શકો છો. લક્ષણ → સંભવિત કારણ મેપિંગ:
લક્ષણ
સંભવિત કારણ
દિશા એઆઈ સૂચવે છે
ધીમી બેઠક
Kp/Ki નીચા
kp વધારો
કાયમી ભૂલ
હું ગેરહાજર છું અથવા ખૂબ જ ઓછો છું
કી ઉમેરો/વધારો
ઓવરશૂટ + ઓસિલેશન
Kp/Ki ઉચ્ચ, D ના
Kd ઉમેરો, કી ઘટાડો
એક્ટ્યુએટર ધ્રૂજી રહ્યું છે
વ્યુત્પન્ન અવાજ
ડી ફિલ્ટર/ઘટાડો
જ્યારે તમે મોટી ઓળંગી સુધી પહોંચો છો
અભિન્ન વિન્ડઅપ
વિરોધી પવન ઉમેરો
નબળા પ્રોમ્પ્ટ / મજબૂત પ્રોમ્પ્ટ
નબળા:"PID લાભો આપો."(કઈ સિસ્ટમ? વર્તન કેવું છે? શું ત્યાં કોઈ માપ છે? રેન્ડમ નંબરો આવે છે.) સ્ટ્રોંગ:"હું DC મોટર સ્પીડ કંટ્રોલ માટે PID એડજસ્ટ કરી રહ્યો છું. હાલમાં, Kp=2, Ki=0.5, Kd=0. તે સ્ટેપ ઇનપુટ પર 35% ઓવરશૂટ કરે છે અને જ્યારે તે લક્ષ્ય સુધી પહોંચવામાં મોટો સમય લે છે; સેમ્પલિંગ 100 હર્ટ્ઝ છે, આ લક્ષણોમાંથી સંભવિત કારણોની સૂચિ બનાવો, "મારે તેને કઈ દિશામાં બદલવી જોઈએ તે સૂચવો અને મને કહો કે ઓવરશૂટ એક અભિન્ન વિન્ડઅપ છે કે નહીં."
મીની કેસ
કંટ્રોલ એન્જિનિયર કેરેમ એક્સ્ટ્રુડરના તાપમાન નિયંત્રણને સમાયોજિત કરે છે. AI દ્વારા સૂચવવામાં આવેલા લાભો સાથે, સિસ્ટમ ઝડપથી લક્ષ્ય સુધી પહોંચે છે, પરંતુ દરેક સેટ ફેરફાર પર તે મોટા પ્રમાણમાં ઓવરશૂટ કરે છે અને ધીમે ધીમે સ્થિર થાય છે. કેરેમ એઆઈને લક્ષણ સમજાવે છે; AI અભિન્ન વિન્ડઅપની શંકા કરે છે કારણ કે હીટર થોડા સમય માટે સંપૂર્ણ શક્તિ (સંતૃપ્ત) પર રહે છે. Kerem PID કોડમાં એન્ટિ-વિન્ડઅપ ઉમેરે છે અને ઓવરશૂટ નોંધપાત્ર રીતે ઘટે છે. પરંતુ હવે હીટર આઉટલેટ પર થોડો ફ્લિકર છે; તે આનું શ્રેય ડી ટર્મને આપે છે જે તાપમાન સેન્સરનો અવાજ વધારે છે અને ડેરિવેટિવમાં લો-પાસ ફિલ્ટર ઉમેરે છે. અંતે, તે ઝિગલર-નિકોલસ સાથેના લાભને આશરે પ્રમાણિત કરે છે અને પ્રાયોગિક ફાઇન-ટ્યુનિંગ કરે છે. AI પાસે ઝડપી-ટ્રેક નિદાન છે; પરંતુ કેરેમે વાસ્તવિક સ્ટેપ રિસ્પોન્સને માપીને દરેક કરેક્શનની પુષ્ટિ કરી હતી - શું વિન્ડઅપ સુધારેલ છે અથવા ફ્લિકરિંગ ગયું છે, તે માત્ર ગ્રાફિકલી જોઈ શકાય છે.
સામાન્ય ભૂલો
- PID માં આઉટપુટ સેચ્યુરેશન અને એન્ટી-વિન્ડઅપ ઉમેરવામાં નિષ્ફળ થવું અને એક્ટ્યુએટર મર્યાદામાં મોટા ઓવરશૂટનો અનુભવ કરવો.
- ઘોંઘાટના માપના વ્યુત્પન્નમાંથી વ્યુત્પન્ન લેવું અને એક્ટ્યુએટરને વાઇબ્રેટ કરવું.
- ધારી રહ્યા છીએ કે તારીખ સ્થિર છે, જ્યારે નમૂના લેવાનો સમયગાળો બદલાય છે.
- સલામતીની સાવચેતી રાખ્યા વિના હાર્ડવેર પર ઝિગલર-નિકોલસ ઓસિલેશન પરીક્ષણ કરવું.
- સિસ્ટમ-વિશિષ્ટ ચકાસણી વિના AI-જનરેટેડ કમાણી "અંતિમ" તરીકે સ્વીકારવી.
- ખૂબ મોટા પગલાઓ સાથે એક જ લાભ બદલવો અને સિસ્ટમને અસ્થિરતામાં ધકેલવી.
સારાંશમાં
- પીઆઈડી; તે P (વર્તમાન ભૂલ), I (સંચિત ભૂલ), D (ભૂલ પરિવર્તનનો દર) સાથે પ્રતિક્રિયા આપે છે.
- ફીલ્ડ પીઆઈડીમાં આઉટપુટ સેચ્યુરેશન, એન્ટી વિન્ડઅપ અને ડેરિવેટિવ ફિલ્ટરનો સમાવેશ થવો જોઈએ.
- ઇન્ટિગ્રલ વિન્ડઅપ લાર્જ ઓવરશૂટ, ડેરિવેટિવ અવાજ એક્ટ્યુએટર વાઇબ્રેશનનું કારણ બને છે.
- ઝિગલર-નિકોલસ લાભની શરૂઆત આપે છે; તે હાર્ડવેરમાં સુરક્ષાના પગલાં સાથે લાગુ કરવામાં આવે છે.
- AI લક્ષણથી કારણ સુધીના નિદાનમાં ઝડપી છે; કરેક્શન માપન દ્વારા ચકાસવામાં આવે છે.
- dt વાસ્તવિક માપવામાં; કમાણી ફેરફારો નાના પગલાં અને અવલોકન કરવામાં આવે છે.
એપ્લિકેશન કાર્ય
સિસ્ટમ ચૂંટો (વાસ્તવિક મોટર/હીટર અથવા પાયથોનમાં સાદું પ્રથમ/સેકન્ડ ઓર્ડર મોડલ) અને એઆઈ પાસે સંતૃપ્તિ + એન્ટિ-વિન્ડઅપ સાથે પીઆઈડી ક્લાસ જનરેટ કરે છે. પછી: (1) ફક્ત P થી શરૂ કરીને અને Kp વધારીને ઓસિલેશન વર્તનનું અવલોકન કરો, (2) કાયમી ભૂલને દૂર કરવા માટે Ki ઉમેરો અને ઓવરશૂટ કેવી રીતે વધે છે તે જુઓ, (3) એન્ટી-વિન્ડઅપ ચાલુ અને બંધ કરીને મોટા ઓવરશૂટ પરની અસરની તુલના કરો. દરેક સ્ટેપ પર સ્ટેપ રિસ્પોન્સનું કાવતરું બનાવો અને નોંધ કરો કે કયો ફાયદો કઈ વર્તણૂકમાં ફેરફાર કરે છે. ઝિગલર-નિકોલ્સના નફાની તુલના તમે તમારી જાતને મેળવેલા લાભો સાથે કરો.