فائدہ:
- صحیح سیاق و سباق کے ساتھ AI پر P، I، D کی شرائط اور اثرات کی وضاحت کرنے اور لاگو کرنے کی صلاحیت
- زیگلر نکولس اور تجرباتی ٹیوننگ کے طریقوں کو AI کی مدد سے مرحلہ وار انجام دینے کی صلاحیت
- پی آئی ڈی ٹریپس کو پہچاننے اور ختم کرنے کی صلاحیت جیسے کہ انٹیگرل ونڈ اپ، AI سفارشات میں مشتق شور
تندور کے درجہ حرارت کو مستقل رکھنا، موٹر کی رفتار کو مطلوبہ قیمت پر چلانا، ڈرون کے زاویے کو متوازن کرنا؛ ان سب کے دل میں ایک کنٹرول الگورتھم ہے۔ ان میں سب سے عام پی آئی ڈی کنٹرولر ہے جو کہ انڈسٹری کی ریڑھ کی ہڈی ہے۔ پی آئی ڈی؛ یہ سادہ، مضبوط اور مسائل کی ایک وسیع رینج پر کام کرتا ہے۔ لیکن "سادہ" کا مطلب "ٹیون کرنا آسان" نہیں ہے: غلط طریقے سے سیٹ کردہ PID دوہرائے گا، اوور شوٹ کرے گا، دیر سے بیٹھ جائے گا، یا مکمل طور پر غیر مستحکم ہو جائے گا۔ مصنوعی ذہانت یہاں ایک قابل قدر معاون ہے: یہ پی آئی ڈی کی اصطلاحات کی وضاحت کرتی ہے، ٹیوننگ کے طریقوں سے رہنمائی کرتی ہے، عام خرابیوں کی تشخیص کرتی ہے اور ٹیوننگ کوڈ لکھتی ہے۔ تاہم، حتمی ایڈجسٹمنٹ آپ کے سسٹم کے جسمانی رویے کو دیکھ کر کی جاتی ہے اور استحکام کا فیصلہ انجینئر کا ہوتا ہے۔ اس یونٹ میں ہم AI کے ساتھ PID ٹریپس کو انسٹال، ٹیون، اور تصدیق کرنے کا طریقہ بتاتے ہیں۔
پی آئی ڈی کی تین شرائط
PID تین طریقوں سے ایرر سگنل (e = target - ماپا) کا جواب دیتا ہے:
اصطلاح
وہ کیا دیکھتا ہے؟
اثر
انتہائی میں
پی (متناسب)
موجودہ غلطی
تیز ردعمل
دوغلا پن، مستقل خرابی۔
میں (لازمی)
جمع شدہ ماضی کی غلطی
مستقل خرابی کو دوبارہ ترتیب دیتا ہے۔
overshoot, windup, oscillation
ڈی (ماخوذ)
غلطی کی تبدیلی کی شرح
ڈیمپنگ اوور شوٹ کو کم کرتی ہے۔
شور کو بڑھانا
زبانی خلاصہ: 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, output_max self.integral = 0.0_self.0.0.0.0.0.0 خود ساختہ غلطی = 0.0.0. ہدف، ماپا، ڈی ٹی): غلطی = ہدف - ماپا گیا # P p = self.Kp * غلطی # I -- windup تحفظ کے ساتھ self.integral += error * dt i = self.Ki * self.integral # D -- مشتق شور حساس d = self.Kd * (غلطی - self.previous_error) / ious p_tur = error # v. آؤٹ پٹ اور لمیٹ ونڈ اپ اگر آؤٹ پٹ > self.output_max: output = self.out_max self.integral -= error * dt # اینٹی ونڈ اپ: انٹیگرل ایلیف آؤٹ پٹ کو کالعدم کریں < self.output_min: output = self.output_min self.integral -= error * dt واپسی آؤٹ پٹ
یہ کوڈ "ٹریننگ پی آئی ڈی" نہیں ہے، بلکہ پیداواری منطق کے قریب ایک ڈھانچہ ہے: اس میں آؤٹ پٹ سیچوریشن اور اینٹی ونڈ اپ شامل ہیں۔ AI کی طرف سے دی گئی بہت سی سادہ PIDs ان دو تحفظات کو نظرانداز کرتی ہیں۔ ان کے بغیر، جب ایکچیویٹر اپنی حد تک پہنچ جائے گا، تو انٹیگرل پھول جائے گا اور نظام غیر متوقع طور پر اوور شوٹ ہو جائے گا۔
ٹپ: AI سے PID کے لیے پوچھتے وقت کہے کہ "آؤٹ پٹ سیچوریشن اور اینٹی ونڈ اپ شامل کریں، ڈیریویٹیو آن پیمائش کو ڈیریویٹیو ٹرم پر لگائیں"۔ یہ تین اضافے نصابی کتاب PID کو فیلڈ PID میں تبدیل کرتے ہیں۔
انٹیگرل ونڈ اپ اور مشتق شور
دو کلاسک نقصانات PID کی ناکامی کی سب سے عام وجوہات ہیں:
انٹیگرل ونڈ اپ: جب ایکچیویٹر سیچوریٹ ہوتا ہے (مثال کے طور پر موٹر پہلے سے پوری طاقت پر ہے) خرابی برقرار رہتی ہے اور انٹیگرل ٹرم مسلسل بڑھتا رہتا ہے۔ جب نظام ہدف تک پہنچ جاتا ہے تو یہ فلایا ہوا انٹیگرل ایک بڑے اوور شوٹ کی طرف جاتا ہے۔ حل: جب آؤٹ پٹ سیر ہو جائے تو انٹیگرل کو روکنا یا پیچھے ہٹانا (اینٹی ونڈ اپ، اوپر کوڈ میں دکھایا گیا ہے)۔
مشتق شور: D کی اصطلاح غلطی سے مشتق ہوتی ہے۔ شور کی پیمائش کا مشتق زیادہ شور والا ہے اور ایکچیویٹر کو کمپن کرے گا۔ حل: پیمائش سے مشتق لینا (غلطی کی بجائے پیمائش کا مشتق)، مشتق اصطلاح میں کم پاس فلٹر شامل کرنا۔
# مشتق شور کو کم کرنا: پیمائش مشتق + فلٹرڈ_را = -(ماپا ہوا - self.previous_measured) / dt غلطی کی بجائے
AI ان خرابیوں کی نشاندہی کرنے میں اچھا ہے۔ اگر آپ کہتے ہیں کہ "میرا پی آئی ڈی ہدف تک پہنچنے پر بہت زیادہ شوٹ کرتا ہے"، تو یہ وائنڈ اپ کی سفارش کرتا ہے۔ لیکن آپ پیمائش کرکے تصدیق کرتے ہیں کہ آیا آپ کے سسٹم پر فکس کام کرتا ہے۔
زیگلر نکولس کے ساتھ سیٹنگ
شروع سے حاصلات (Kp, Ki, Kd) تلاش کرنے کا ایک کلاسک طریقہ Ziegler-Nichols ہے۔ اس کا جوہر: صرف P کے ساتھ شروع کرنا اور Kp کو بڑھانا جب تک کہ نظام مستقل دولن میں نہ چلا جائے۔ ٹیبل سے Kp, Ki, Kd کا حساب لگائیں اس مقام پر اہم فائدہ Ku اور دولن کی مدت Tu کے ساتھ۔
کنٹرولر
kp
تی
ٹی ڈی
پی۔
0.5·Ku
-
-
P.I.
0.45·Ku
Tu/1.2
-
پی آئی ڈی
0.6·Ku
Tu/2
Tu/8
Ziegler-Nichols کے اقدامات (AI کی طرف سے بنائے جانے کا منصوبہ):1۔ Ki=0، Kd=0 لیں۔ بس P.2 چلائیں۔ آہستہ آہستہ Kp میں اضافہ کریں جب تک کہ مستحکم، پائیدار ارتعاش شروع نہ ہو جائے۔3۔ یہ Kp = Ku (اہم فائدہ)، دولن کی مدت = Tu.4۔ ٹیبل سے Kp، Ti، Td کا حساب لگائیں۔ Ki = Kp/Ti، Kd = Kp*Td.5۔ ان اقدار کے ساتھ شروع کریں، پھر تجرباتی تبدیلیاں کریں۔
احتیاط: Ziegler-Nichols جان بوجھ کر نظام کو اس کی استحکام کی حد (مستقل دولن) تک لاتا ہے۔ اصلی ہارڈ ویئر پر ایسا کرتے وقت مکینیکل تناؤ، اوورکرنٹ اور خطرے کا خطرہ ہوتا ہے۔ اگر ممکن ہو تو اسے پہلے سمولیشن میں کریں، پھر ہارڈ ویئر میں کم پاور لمٹ اور ای اسٹاپ کے ساتھ کام کریں۔ AI کے ذریعہ تجویز کردہ Ku ایک نقطہ آغاز ہے، یہ آپ کے سسٹم میں ماپا اور تصدیق شدہ ہے۔
AI سے مدد یافتہ تشخیص
آپ پی آئی ڈی رویے کی تشخیص AI کو بتا کر کر سکتے ہیں۔ علامت → ممکنہ وجہ کی نقشہ سازی:
علامت
ممکنہ وجہ
سمت AI تجویز کرے گی۔
سست بیٹھنا
Kp/Ki کم
kp میں اضافہ
مستقل غلطی
میں غیر حاضر ہوں یا بہت کم ہوں۔
کی اضافہ/اضافہ
اوور شوٹ + دولن
Kp/Ki ہائی، کوئی D
Kd شامل کریں، کی کمی کریں۔
ایکچیویٹر ہل رہا ہے۔
مشتق شور
ڈی فلٹر/کم کریں۔
جب آپ بڑی حد تک پہنچ جاتے ہیں۔
انٹیگرل ونڈ اپ
اینٹی ونڈ اپ شامل کریں۔
کمزور پرامپٹ / مضبوط اشارہ
کمزور: "PID کے فوائد دیں" (کون سا سسٹم؟ سلوک کیسا ہے؟ کیا کوئی پیمائش ہے؟ بے ترتیب نمبر آتے ہیں۔) مضبوط: "میں DC موٹر اسپیڈ کنٹرول کے لیے PID کو ایڈجسٹ کر رہا ہوں۔ فی الحال، Kp=2, Ki=0.5, Kd=0۔ یہ اسٹیپ ان پٹ پر 35% سے زیادہ شوٹ کرتا ہے اور جب یہ ایک بڑا ہدف تک پہنچتا ہے تو ایک سیکنڈ سے زیادہ وقت لگتا ہے۔ سیمپلنگ 100 ہرٹز ہے، ان علامات سے ممکنہ وجوہات کی فہرست بنائیں، "مجھے یہ بتائیں کہ مجھے کس سمت کو تبدیل کرنا چاہئے اور مجھے یہ بتانا ہے کہ اوور شوٹ ایک لازمی وائنڈ اپ ہے۔"
منی کیس
کنٹرول انجینئر کریم ایکسٹروڈر کے ٹمپریچر کنٹرول کو ایڈجسٹ کرتا ہے۔ AI کی طرف سے تجویز کردہ فوائد کے ساتھ، نظام تیزی سے ہدف تک پہنچ جاتا ہے، لیکن ہر سیٹ کی تبدیلی پر یہ ایک بڑا اوور شوٹ کرتا ہے اور آہستہ آہستہ بیٹھ جاتا ہے۔ کریم AI کی علامت کی وضاحت کرتا ہے۔ AI کو انٹیگرل ونڈ اپ کا شبہ ہے کیونکہ ہیٹر تھوڑی دیر تک پوری طاقت (سیچوریٹڈ) پر رہتا ہے۔ کریم پی آئی ڈی کوڈ میں اینٹی ونڈ اپ شامل کرتا ہے اور اوور شوٹ نمایاں طور پر کم ہوجاتا ہے۔ لیکن اب ہیٹر کے آؤٹ لیٹ پر ہلکی سی ٹمٹماہٹ ہے۔ وہ اسے درجہ حرارت سینسر کے شور کو بڑھانے والی D اصطلاح سے منسوب کرتا ہے اور مشتق میں کم پاس فلٹر شامل کرتا ہے۔ آخر میں، یہ زیگلر نکولس کے ساتھ حاصلات کی توثیق کرتا ہے اور تجرباتی فائن ٹیوننگ کرتا ہے۔ AI میں تیز رفتار تشخیص ہے؛ لیکن کریم نے اصل قدمی ردعمل کی پیمائش کرکے ہر تصحیح کی تصدیق کی — چاہے ونڈ اپ کو درست کیا گیا ہو یا ٹمٹماہٹ ختم ہو جائے، اسے صرف تصویری طور پر دیکھا جا سکتا ہے۔
عام غلطیاں
- پی آئی ڈی میں آؤٹ پٹ سیچوریشن اور اینٹی ونڈ اپ شامل کرنے میں ناکامی اور ایکچیویٹر کی حد میں بڑے اوور شوٹ کا سامنا کرنا۔
- شور کی پیمائش کے مشتق سے مشتق لینا اور ایکچیویٹر کو ہلانا۔
- فرض کریں کہ dt مستقل ہے، جبکہ نمونے لینے کی مدت مختلف ہوتی ہے۔
- حفاظتی احتیاط کے بغیر ہارڈ ویئر پر Ziegler-Nichols oscillation ٹیسٹ کو انجام دینا۔
- AI سے پیدا ہونے والی کمائی کو سسٹم کی مخصوص تصدیق کے بغیر "حتمی" کے طور پر قبول کرنا۔
- بہت بڑے قدموں کے ساتھ ایک ہی فائدہ کو تبدیل کرنا اور نظام کو عدم استحکام کی طرف دھکیلنا۔
خلاصہ میں
- پی آئی ڈی؛ یہ P (موجودہ غلطی)، I (جمع شدہ غلطی)، D (خرابی کی تبدیلی کی شرح) کے ساتھ رد عمل ظاہر کرتا ہے۔
- فیلڈ PID میں آؤٹ پٹ سیچوریشن، اینٹی ونڈ اپ اور ڈیریویٹیو فلٹر شامل ہونا چاہیے۔
- انٹیگرل ونڈ اپ بڑے اوور شوٹ، مشتق شور ایکچیویٹر کمپن کا سبب بنتا ہے۔
- Ziegler-Nichols حاصل کرنے کے لئے شروع کرتا ہے؛ اسے ہارڈ ویئر میں حفاظتی اقدامات کے ساتھ لاگو کیا جاتا ہے۔
- AI علامات سے وجہ تک تشخیص میں تیزی سے ہے۔ اصلاح کی تصدیق پیمائش کے ذریعے کی جاتی ہے۔
- dt اصل ماپا؛ کمائی میں تبدیلیاں چھوٹے قدموں اور مشاہدے میں کی جاتی ہیں۔
درخواست کا کام
ایک سسٹم چنیں (حقیقی موٹر/ہیٹر یا ازگر میں ایک سادہ فرسٹ/سیکنڈ آرڈر ماڈل) اور AI سے سیچوریشن + اینٹی ونڈ اپ کے ساتھ PID کلاس تیار کریں۔ پھر: (1) صرف P سے شروع کرکے اور Kp کو بڑھا کر دوغلی رویے کا مشاہدہ کریں، (2) مستقل خرابی کو ختم کرنے کے لیے Ki شامل کریں اور دیکھیں کہ اوور شوٹ کیسے بڑھتا ہے، (3) اینٹی ونڈ اپ کو آن اور آف کرکے بڑے اوور شوٹ پر اثر کا موازنہ کریں۔ ہر قدم پر قدمی ردعمل کی منصوبہ بندی کریں اور نوٹ کریں کہ کون سا رویہ بدلتا ہے۔ Ziegler-Nichols سے حاصل ہونے والے فوائد کا ان فوائد سے موازنہ کریں جو آپ نے خود کو پایا۔