پاسخ : پاسخ : کنترل کننده PID برای دمای کوره(نیاز به کمک فوری)
سلام به همگی
خیلی ممنون از آقای کی نژاد برای مطلب مفیدی که گذاشتین
من دارم از همین کد به کمک یه مقاومت آجری و یک ds18b20 سعی میکنم pid رو راه بندازم تا بعد از اینکه اکی گرفتم روی پروژه اصلیم استفاده کنم
با توجه به اینکه وقتی هیتر گرم میشه و میخواد به دمای مورد نظر ما برسه یه تاخیر زمانی وجود داره...
من این هیتر رو با pwm کنترل میکنم ...
الان توی مرحله پیدا کردن kp مناسب برای رسیدن به اون نوسان منظم هستم . ولی فک میکنم جز kp مناسب timeinterval توی برنامه هم خیلی مهمه
چون اگه این زمان خیلی کوتاه باشه (توی برنامه atmel پنج میلی ثانیه هست) برای کنترل دما فک کنم مناسب نیست .چون خیلی سریع عرض پالس من توی مد fast که ماکسیممش 1024 هست به 1024 میرسه...و وقتی که دما از setpoint رد میشه خیلی سریع عرض پالس به 0 میرسه...انگار on/off میشه ...
حالا من timeinterval رو حدود 10 ثانیه کردم و با kp 4 که به هیتر فرصت بدم دمای خودشو بالا ببره....
الان زمان پریود این نوسانات خیلی زیاد شد...یعنی اون موقع خیلی سریع نوسان میکرد ولی الان خیلی کند...ولی دیگه pwm به مقدار 1024 نمیرسه...الان به 300 میرسه شروع کنه به کم شدن...یعنی مثلا setpint من که 35 درجه است pwm مورد نظر باید یه مقداری بین 150 تا 300 باشه...
فک کنم اگه کنترل دور موتور dc بود زمان پاسخگویی سیستم خیلی سریع بود.الان باید بشینم هی دما کم و زیاد بشه
نمودار زمان ضرب در 10 کنین (هر یه خونش 10 ثانیه)
سوال :
حالا این kp همون Kc هست و این زمان پریود نوسان میشه Pc که با توجه به جدول زیگلرنیکولز مقدار kp ti tp بدست میاد
و با توجه به اون فرمول زیر مقادیر برای تابع pid بدست میاد .
میشه یکم راه نمایی کنید ؟تا اینجا درسته ؟ باید چه timeinterval ,KP انتخاب کنم ؟
pc برحسب ثانیه هست دیگه ؟
نوشته اصلی توسط طراح
خیلی ممنون از آقای کی نژاد برای مطلب مفیدی که گذاشتین
من دارم از همین کد به کمک یه مقاومت آجری و یک ds18b20 سعی میکنم pid رو راه بندازم تا بعد از اینکه اکی گرفتم روی پروژه اصلیم استفاده کنم
با توجه به اینکه وقتی هیتر گرم میشه و میخواد به دمای مورد نظر ما برسه یه تاخیر زمانی وجود داره...
من این هیتر رو با pwm کنترل میکنم ...
الان توی مرحله پیدا کردن kp مناسب برای رسیدن به اون نوسان منظم هستم . ولی فک میکنم جز kp مناسب timeinterval توی برنامه هم خیلی مهمه
چون اگه این زمان خیلی کوتاه باشه (توی برنامه atmel پنج میلی ثانیه هست) برای کنترل دما فک کنم مناسب نیست .چون خیلی سریع عرض پالس من توی مد fast که ماکسیممش 1024 هست به 1024 میرسه...و وقتی که دما از setpoint رد میشه خیلی سریع عرض پالس به 0 میرسه...انگار on/off میشه ...
حالا من timeinterval رو حدود 10 ثانیه کردم و با kp 4 که به هیتر فرصت بدم دمای خودشو بالا ببره....
الان زمان پریود این نوسانات خیلی زیاد شد...یعنی اون موقع خیلی سریع نوسان میکرد ولی الان خیلی کند...ولی دیگه pwm به مقدار 1024 نمیرسه...الان به 300 میرسه شروع کنه به کم شدن...یعنی مثلا setpint من که 35 درجه است pwm مورد نظر باید یه مقداری بین 150 تا 300 باشه...
فک کنم اگه کنترل دور موتور dc بود زمان پاسخگویی سیستم خیلی سریع بود.الان باید بشینم هی دما کم و زیاد بشه
نمودار زمان ضرب در 10 کنین (هر یه خونش 10 ثانیه)
سوال :
حالا این kp همون Kc هست و این زمان پریود نوسان میشه Pc که با توجه به جدول زیگلرنیکولز مقدار kp ti tp بدست میاد
و با توجه به اون فرمول زیر مقادیر برای تابع pid بدست میاد .
میشه یکم راه نمایی کنید ؟تا اینجا درسته ؟ باید چه timeinterval ,KP انتخاب کنم ؟
pc برحسب ثانیه هست دیگه ؟
دیدگاه