به نظر می رسد که شما عضو سایت نیستید و یا وارد نشده اید, امکان ارسال مطلب و دانلود فایل و همچنین دسترسی به انجمن هایی که فقط اعضا ثبت نام شده امکان دسترسی به آن را دارند از امتیازات ثبت نام در سایت میباشد.

لطفا از طریق این لینک برای ثبت نام اقدام نمایید.

    
You have (1) Unread PM; Click The Icon To Read It You have a new PM
جدیدترین موضوعات انجمنها


بازگشت   متارو > قطعات > موتورها

کنترل Pid موتور

موتورها

پاسخ
 
LinkBack ابزارهای موضوع نحوه نمایش
قدیمی 04-02-2009, 04:56 PM   #1
Post کنترل Pid موتور

سلام
کنترل PID موتور : یک نوع سیستم کنترل انعکاسی است که به کنترل موقعیت یک محور یا بازو توسط موتور است . در این سیستم می توان x و y را مکان فیزیکی بازو یا محور و z را قدرت الکتریکی داده شده به موتور فرض کرد . تابع کنترلی این سیستم به قرار زیر است :
Z=Kp.(Y-X
به دلیل آنکه این سیستم رابطه اصلی با خطای آن دارد (به Y-X به اصطلاح خطای سیستم گفته می شود .) این سیستم به کنترل تناسبی (Proportional control) معروف است .
به Kp نیز بهره کنترل (control gain) می گویند . در سیستم های کنترل تناسبی دقت رفتار سیستم به انتخاب صحیح بهره کنترل بستگی دارد .
sepehrnozari آنلاین نیست.   پاسخ با نقل قول
قدیمی 04-04-2009, 03:15 PM   #2
پیش فرض پاسخ : کنترل Pid موتور

سلام.این مطالب را از سایت ویکی پدیا پذاشتم.
الگوریتم پی‌آی‌دی از رایج ترین نمونه های الگوریتم کنترل بازخوردی است که در بسیاری از فرایندهای کنترلی نظیر کنترل سرعت موتور DC ، کنترل فشار، کنترل دما و ... کاربرد دارد. هدف از به کار بردن الگوریتم PID در کنترل حلقه بسته ، کنترل دقیق و سریع خروجی سیستم تحت شرایط متفاوت و بدون دانستن دقیق رفتار سیستم در پاسخ به ورودی است. PID از سه قسمت مجزا به نام های Proportional (تناسب) ،Integral (انتگرال) و Drivative (مشتق) تشکیل شده که هر کدام از انها سیگنال error را به عنوان ورودی گرفته و عملیاتی را روی ان انجام می دهند و در نهایت خروجی شان با هم جمع می‌شود. خروجی این مجموعه که همان خروجی PID است برای اصلاح خطا (error) به سیستم فرستاده می شود. فرمول استاندارد PID به فرم زیر است:

\mathrm{Output(t)}=K_p\left(\,{e(t)} + \frac{1}{T_i}\int_{0}^{t}{e(\tau)}\,{d\tau} + T_d\frac{de}{dt}\right)

اگرچه در بسیاری از کنترلرها به علت حساسیت عبارتِ مشتق نسبت به نویز و اجرای دشوار ان، از ان صرف نظر و کنترل را به صورت PI پیاده سازی می کنند. سیگنال (U(t ( خروجی PID ) بر اساس نسبتی از خطای کنونی سیستم (عملکرد حاضر) ، به اضافه مجموع خطاهای سیستم (رفتار گذشته) ، به اضافه مشتق خطای کنونی (تخمین خطی رفتار اینده) محاسبه می‌شود و برای اصلاح خطا به سیستم اعمال میگردد. ضرایب k ، Ti و Td نیز میتوانند با تکنیک های شناخته شده ای مانند تابع انتقال به صورت بهینه محاسبه شوند، اگرچه در کاربردهای عملی ، بطور رضایت بخش میتوانند با ازمون و خطا و مشاهده رفتار سیستم بطور تقریبی تعیین گردند
mohamad.nasr آنلاین نیست.   پاسخ با نقل قول
قدیمی 08-26-2009, 12:01 PM   #3
پیش فرض پاسخ : کنترل Pid موتور

جواب ندادید. من خودم سوالم را جواب می دم :
در کنترل pid یک مکان شاخص وجود دارد. ما با استفاده از آن خطا را می سنجیم یعنی ما می خواهیم به مکانی برسیم به میزان فاصله و انحراف از آن مکان ، خطا می گوییم که در کنترل pid هر چه خطا بیشتر سرعت عکس العمل نیز بیشتر و چون این روش روش حلقه بسته است و مداوم خطا را بررسی می کند و سرعت عکس العمل را تنظیم می کند ما یک حرکت ملایم داریم به طوری که از سرعت زیاد به کم در حال تغییر است و زمانی که به مکان شاخص رسید متوقف می شود.
*باتشکر فراوان از آقای امامی در راهنمایی در این زمینه*
__________________
بیا با افق مهربانی کنیم،غم پونه راآسمانی کنیم،بیا توی نقاشی قلبمان،رز عشق را ارغوانی کنیم
---------------------
Amin آنلاین نیست.   پاسخ با نقل قول
اين کاربران از Amin به خاطر این مطلب مفید تشکر کرده اند
قدیمی 08-27-2009, 06:28 AM   #4
پیش فرض پاسخ : کنترل Pid موتور

کنترل کننده های pid دارای سه پارامتر است
1- کنترل کننده ی تناسبیKP
2- کنترل کننده ی انتگرالیKI
3- کنترل کننده ی مشتقگیرKD
بعدا در مورد هر کدام توضیح می دهم
__________________
بیا با افق مهربانی کنیم،غم پونه راآسمانی کنیم،بیا توی نقاشی قلبمان،رز عشق را ارغوانی کنیم
---------------------
Amin آنلاین نیست.   پاسخ با نقل قول
قدیمی 10-31-2009, 10:29 PM   #5
پیش فرض پاسخ : کنترل Pid موتور

الکوریتم pid برای کامپس به یاری اقای امامی و کوشان با زبان c در تیم صاءب را اندازی شد
روش کار شبیه همونیه که محمد گفت که بعد از مسابقات سورس کد تو سایت قرار داده می شه
در ضمن کامپس در این کد به صورت سخت افزاری خونده شده که خواندن کامپس در یک پالس میکرو انجام میشه ( سورسش از اینترنت )
__________________
zii zii goola aasi pasi derakoola ta be ta

ویرایش توسط mehrdad : 10-31-2009 در ساعت 10:32 PM.
mehrdad آنلاین نیست.   پاسخ با نقل قول
قدیمی 11-24-2009, 05:39 PM   #6
پیش فرض پاسخ : کنترل Pid موتور

سلام.اولان که اون سری روی ربات فقط از p پی آی دی استفاده شده.جواب هم می دادن اما چون کامپس نویز می گرفت جواب نداد!!
کلا سرعت میکرو برای پیاده سازی pid کمه و نوشتن الگوریتمهای سنگین هم که تایمر ها و... را درگیر کنیم هم کاری مضاعف!من شنیدم که تیمهای دیگه از pi یا pd استفاده کردند و دیدیم که جواب دید و همچنین من سورس یکی از این تیمها را دیدم کلا محسابات kp,kt,... حدودا 10 خظ بود!
به نظر من توی خوارزمی وقت نبود که روش کار کنیم انشاءا... برای ایران اپن می تونیم روش کار کنیم.
__________________
We fight through the hurt ... And we live and we learn ...
And we Try and Try And Try


saeebrobotic.blogfa.com
________________________
We Are OpenSource
mohamad.nasr آنلاین نیست.   پاسخ با نقل قول
قدیمی 05-02-2011, 07:28 PM   #7
پیش فرض پاسخ : کنترل Pid موتور

یادش بخیر pid واسه کامپس!! خوب از این بچه بازی ها که بیایم بیرون pid خیلی مطلب بزرگ و خفنیه... که خیلی بخوام ساده بگمش میشه تبدیل pwm به مقدار حقیقی و این یه توضیحیه که هر کی میتونه یه pid راه بندازه...::

در محاسبات PID برای 3 بخش نسبت و مشتق و انتگرال از تقریب های زیر می توان استفاده کرد.

نسبت: عملیات ضرب یک ضریب در مقدار خطا

مشتق: زمان اندازه گیری / (خطای قبلی - خطای فعلی)

انتگرال: 2 / زمان اندازه گیری.(خطای قبلی+خطای فعلی) + مقدار قبلی انتگرال

بعد اینا با هم جمع میشن و از مقدار pwm کم میشن همین
mhmmdshirazi آنلاین نیست.   پاسخ با نقل قول
اين کاربران از mhmmdshirazi به خاطر این مطلب مفید تشکر کرده اند
قدیمی 05-02-2011, 07:29 PM   #8
پیش فرض پاسخ : کنترل Pid موتور

آهان بعد هر کدام از این 3 بخش یه ضریب هم دارن که باید کالیبره شه !!
mhmmdshirazi آنلاین نیست.   پاسخ با نقل قول
قدیمی 05-03-2011, 07:08 PM   #9
پیش فرض پاسخ : کنترل Pid موتور

سلام به دوست تازه وارد جناب mhmmdshirazi
خوب من اول صحبت مهرداد رایه اصلاح بکنم و اونم این که الگوریتم PID بوسیله ی کامپس نوشته شد و نه برای کامپس.
و بعد اینکه من هر چی معنی PID را ساده میکنم به این معنی نمی رسم.
((که خیلی بخوام ساده بگمش میشه تبدیل pwm به مقدار حقیقی و این یه توضیحیه که هر کی میتونه یه pid راه بندازه...))
یا من بد جمله را فهمیدم و یا علمم کمه که در هر صورت یه کمکی بکنین.
در مورد مواردی هم که فرمودید.
این ها به طور کلی PID نیست.
در حقیقت اینی که فرمودید مربوط میشه به تبدیل Z ساده شده ی PID در فضایی با زمان های نمونه برداری متفاوت.
که البته در این حالت (نمونه برداری با زمان های متفاوت) برای محاسبات توسط میکرو های 8 بیتی بسیار مناسبه.
ولی در ربات می توان زمانی که از برنامه نویسی غیر دینامیک استفاده می کنید(یعنی تعداد دستورات وابسته به شرایط محیط نیست) قسمت زمان اندازه گیری را برابر 1 فرض کرد...
__________________
معشوق من چنان لطیف است که خود را به بودن نیالوده است...
emami آنلاین نیست.   پاسخ با نقل قول
اين کاربران از emami به خاطر این مطلب مفید تشکر کرده اند
قدیمی 05-04-2011, 03:13 AM   #10
پیش فرض پاسخ : کنترل Pid موتور

نوشته اصلی توسط emami نمایش پست ها
سلام به دوست تازه وارد جناب mhmmdshirazi
خوب من اول صحبت مهرداد رایه اصلاح بکنم و اونم این که الگوریتم PID بوسیله ی کامپس نوشته شد و نه برای کامپس.
و بعد اینکه من هر چی معنی PID را ساده میکنم به این معنی نمی رسم.
((که خیلی بخوام ساده بگمش میشه تبدیل pwm به مقدار حقیقی و این یه توضیحیه که هر کی میتونه یه pid راه بندازه...))
یا من بد جمله را فهمیدم و یا علمم کمه که در هر صورت یه کمکی بکنین.
در مورد مواردی هم که فرمودید.
این ها به طور کلی PID نیست.
در حقیقت اینی که فرمودید مربوط میشه به تبدیل Z ساده شده ی PID در فضایی با زمان های نمونه برداری متفاوت.
که البته در این حالت (نمونه برداری با زمان های متفاوت) برای محاسبات توسط میکرو های 8 بیتی بسیار مناسبه.
ولی در ربات می توان زمانی که از برنامه نویسی غیر دینامیک استفاده می کنید(یعنی تعداد دستورات وابسته به شرایط محیط نیست) قسمت زمان اندازه گیری را برابر 1 فرض کرد...

من هرچی فک میکنم به نظرم تو واسم خیلی آشنایی حالا بماند....

این پاراگراف آخرتو یه بار تست کن بعد اگه تونستی روباترو به جز با زند یه چیزه سنگین روش یا خونی شدن دو تا دستت نگه داری (البته اگه موتورت مکسون باشه) بیا همین جا به من فهش بده...
عزیز من pid عالمیه و قبول دارم اینی که گفتم pid نیست ولی استفاده اصلی pid الان تو روباتیک صرفا اینه تازه 90% اون مشتق که واقعا تعثیرش عالیه رو حذف میکنن چون نمیدونن معنی مشتق گیری از یه نموداره گسسته چیه!!

و خوب pid اسمش رو خودشه
proportional–integral–derivative
و خوب من اون محور z اینایی که گفتی رو نفهمیدم اگه میشه توضیح بده
__________________
Heh kid... The truth is not true... It say The truth is Written in Ur mind KID....
mhmmdshirazi آنلاین نیست.   پاسخ با نقل قول
پاسخ

علاقه مندی ها (Bookmarks)

برچسب ها
کنترل pid موتور

« موضوع قبلی | موضوع بعدی »
ابزارهای موضوع
نحوه نمایش

انتخاب سریع یک انجمن


اکنون ساعت 06:53 AM برپایه ساعت جهانی (GMT - گرینویچ) +4.5 می باشد.


تمامي حقوق مادي و معنوي اين مجموعه متعلق به شركت ربات گستران آپادانا مي‌باشد Persian Skin By : Vbskin