PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کنترل حلقه بسته cnc ؟



mzarkoob
10-04-2013, 01:27
سلام
یه CNC حلقه بسته مطابق شکل زیر در نظر بگیرید:


You can see links before reply

(البته این سرو موتورها درایور هم داره که نکشیدم!)
در حالتی که فیدبک نداریم کنترلر پالس های لازم برای حرکت دو بعدی CNC مطابق نقشه ای که به آن داده شده است را فراهم می کند. حالا می خواد بره اون نقطه می خواد نره! البته میره خطای خیلی کمی داره که با کالیبره کردن و تنظیماتی درستش می کنند
حال مطابق شکل بخواهیم از انکدر های سرو موتور هم استفاده کنیم(چون خروجی انکدر تفاضلی است باید درستش کنیم) یعنی به ازای حرکتی که داره پالس های انکدر هم بشماریم ببینیم درست رفته یا نه. اگه کم رفته با پالس های اضافه جبرانش کنیم.
خوب تا اینجا به صرت تئوری موردی نیست. اما ما در کنترل حلقه بسته در درس کنترل سیستم های حلقه بسته PID داشتیم. حالا اگه بخواهیم یه همچین چیزی را به صورت کنترل حلقه بسته با PID کنترل کنیم چه کاری باید انجام بدیم و بلوک دیاگرام چی میشه و این ضرایب pid را کجا و چطوری پیاده سازی کنیم؟
سوالم که خفن نیست!؟:mrgreen:

bascom2
11-04-2013, 19:40
با سلام
چه جالب من الان نزدیک یک ماه میشه دارم روی این مورد در یک ربات صنعنتی کار میکنم
ببینید ما 3 مدل pid کنترل داریم
1)pid control speed
2)pid control potion
3(pid control torq
که معمولا با هم به کار نمی روند چون یک میکرو کنترلر با قدرت پردازش بالا نظیر arm نیاز داره
من دومدل برنامه برای سرعت و موقعیت دارم که براتون قرار میدم
نوع سرو شما چی هست؟
rc-dc-ac
?

mzarkoob
11-04-2013, 20:03
با سلام
چه جالب من الان نزدیک یک ماه میشه دارم روی این مورد در یک ربات صنعنتی کار میکنم
ببینید ما 3 مدل pid کنترل داریم
1)pid control speed
2)pid control potion
3(pid control torq
که معمولا با هم به کار نمی روند چون یک میکرو کنترلر با قدرت پردازش بالا نظیر arm نیاز داره
من دومدل برنامه برای سرعت و موقعیت دارم که براتون قرار میدم
نوع سرو شما چی هست؟
rc-dc-ac
?
سلام
سرو من Estun هست:
You can see links before reply
بعد از انجام اتصالان به طور صحیح( و زدن به برق شهر) به درایور پالس بدی به تعداد پالس میچرخه.
یوزر منوال فارسی داره:
راهنمای فارسی سرو سری EDB:
1-نصب و ابعاد - سیم بندی (You can see links before reply) 2-پنل اپراتوری دیجیتال-معرفی پارامترها- ارتباطات (You can see links before reply)
3- لیست پارامترها (You can see links before reply) 4- لیست آلارمها (You can see links before reply)
5- راهنمای استفاده از برد ترمینال سری EDB (You can see links before reply)
مثلا اگر 10000 پالس بدید یک دور میزنه. در این یک دور موتور، انکدر 2500 پالس ایجاد می کند
ما می خواهیم کنترل موقعیت داشته باشیم

amin1139
11-04-2013, 21:22
پروژه ی من تو دانشگاه ساخت یک کنترلر برای یک موتور DC بود که به علت گشتاور بالای موتور DC از نظر کنترل کار سختی هست حالا بهتون میگم چکار کنید اولین کاری که باید بکنید اینکه بگید سیستم چی هست و خروجی چیه و ورودی چی هست بهتون بگم خروجیتون موقعیت (اگه x و y روبخوایین چون تغییر x تاثیری بر تغییر y نداره میتونیین دوتا PID جداگونه طراحی کنین)ولی اگه بخوایین کیفیت سیستمتون بره بالا باید از فازی استفاده کنید و دوتا PID که مثلا وقتی y خطا کرد سرعت x کم بشه تا y بتونه سریعا خطاشو جبران کنه وسپس به سرعت اولیه برگرده نمیدونم منضورمو گرفتین یا نه بریم سر بحث خودمون ورودی هم موقعیت هست و محرک شما دوتا سروموتور هست و (پالس هم موقعیت شافت سرو هست که باید با میکرو تبدیل بشه به موقعیت خروجی)
راستی به علت استفاده از انکودر سیستم شما با یک تلورانس که دقت انکدر میزانشو تنظیم میکنه پیش میره و سرعت فیدبکتون هم شدیدا میاد پایین مثلا من برای موتور dc برای همین قضیه مجبور شدم هم از جریان و هم از انکدر فید بک بگیرم
مثلا بین موقعیت 1.1 و 3.3 موقعیت 2.2 جزو خطا میشه که به صورت نویز تو خروجی ظاهر میشه
بعدش طراحی فیدبک هست این مرحله رو انجام بده تا بهت بگم مرحله ی بعدی چکار کنی

amin1139
11-04-2013, 21:25
از طراحی سیستم های چند ورودی چند خروجی هم میشه به جای فازی استفاده کرد که البته من که نمیتونم ضرایبشو بدون نوشتن معادله مشخصه بدست بیارم و از طرفی فوشتن معادله مشخصه ی سرو و انکودر مرددددددد میخاد
که در این زمینه من یکی در شبکه موجود نیستم

amin1139
11-04-2013, 21:30
با سلام
چه جالب من الان نزدیک یک ماه میشه دارم روی این مورد در یک ربات صنعنتی کار میکنم
ببینید ما 3 مدل pid کنترل داریم
1)pid control speed
2)pid control potion
3(pid control torq
که معمولا با هم به کار نمی روند چون یک میکرو کنترلر با قدرت پردازش بالا نظیر arm نیاز داره
من دومدل برنامه برای سرعت و موقعیت دارم که براتون قرار میدم
نوع سرو شما چی هست؟
rc-dc-ac
?
جالب بدونین که هر سروی این سه تا رو میخواد و جالبتر اینکه اگه بخوای کیفت بره بالاتر و فازی یا چند ورودی چند خروجی طراحی کنی؟؟؟چه شود اوه ه ه ه ه ه ه
کاملا دوستمون درست میگن من برای یک pid ساده مجبور شده حداکثر فرکانس میکرو یعنی 24مگاهرتز

mzarkoob
11-04-2013, 21:41
پروژه ی من تو دانشگاه ساخت یک کنترلر برای یک موتور DC بود که به علت گشتاور بالای موتور DC از نظر کنترل کار سختی هست حالا بهتون میگم چکار کنید اولین کاری که باید بکنید اینکه بگید سیستم چی هست و خروجی چیه و ورودی چی هست بهتون بگم خروجیتون موقعیت (اگه x و y روبخوایین چون تغییر x تاثیری بر تغییر y نداره میتونیین دوتا PID جداگونه طراحی کنین)ولی اگه بخوایین کیفیت سیستمتون بره بالا باید از فازی استفاده کنید و دوتا PID که مثلا وقتی y خطا کرد سرعت x کم بشه تا y بتونه سریعا خطاشو جبران کنه وسپس به سرعت اولیه برگرده نمیدونم منضورمو گرفتین یا نه
سلام
نه حقیقتش متوجه نشدم چی گفتید! البته شاید شما منظورم را که در پست های قبل گفتم متوجه نشدید یا کم توضیح دادم.
این سیستم را با تنظیم سرعت موتور dc که تنظیم سرعت هست اشتباه نکنید. همان طور که گفتم ما یه تعداد مشخص پالس میدیم سرو میچرخه از انکدر سرو پالس میگیرم میدیم میکرو بشماره. این مد که به سرو پالس میدهند میگویند مد position
خوب حالا واضح تر شرح می دهید؟:mrgreen:

amin1139
11-04-2013, 22:30
سلام
درست میگین منضورتونو فهمیدم ولی شما با چه دقتی به سروتون پالس میدین منظورم اینه که از موقعیت صفر تا 360 به چند قسمت تقسیم شده؟
حالا انکودر به چند قسمت تبدیل شده ؟
اگه مساویند از این لحاظ مشکلی نیست
یک نکته ی دیگه هم اینکه:
به هر حال سیستمتون همواره یک نویز ناشی از گسستگی رو داره که جز هیچ کاریش نمیشه کرد و تو سیستم آنالوگ این قضیه به صفر میرسه حقیقتش توضیحش قدری سخت هست تو حالت که ورودی و خروجی منطبق شدن دائما بین دو مقدار نوسان میکنه
من انکدر 4 قسمت خروجی داشتم ولی ورودیم از 0 تا 1024 قسمت شده بود که مشکل ایجاد میکنه ؟
نمیدونم گرفتین یا نه کلا توضیح مسائل کنترلی به نظر من یکم سخت هست

mzarkoob
11-04-2013, 22:38
شما با چه دقتی به سروتون پالس میدین منظورم اینه که از موقعیت صفر تا 360 به چند قسمت تقسیم شده؟
حالا انکودر به چند قسمت تبدیل شده ؟
اگه مساویند از این لحاظ مشکلی نیستبا اعمال 10000 پالس ، سرو موتور یک دور می چرخد و به ازای یک دور چرخش، 2500 پالس انکدر تولید می کند.

amin1139
12-04-2013, 11:15
خب پس دقت ورودی موتورت بیش از دقت خروجی اون هست دقت سیستم با دقت اونی که کمتر هست پیش میره و 7250پالس دقت سرو بدون استفاده میمونه مگر اینکه بتونی به یک روش دیگه ای هم موقعیتو بسنجی (مثلا من برای موتور dc از جریانش استفاده کردم چون با سرعت غیر خطی تغییر میکرد دقیق نبود که دقتو از انکدر میگرفتم و نمونه برداری سریع رو با نمونه برداری از جریان موتور)شما سیتمت تو هر موقعیتی که باشه 0.144درجه نوسان میکنه ولی اگه بتونین از جای دیگه ای هم فید بک بگیرین این نوسان به 0.036 درجه میتونه کاهش پیدا کنه ضمن این که خروجیت که انکدر هست با تاخیر هم هست یعنی یک تاخیر میره تو پاچه ی سیستمت و یک دقت پایین

mzarkoob
12-04-2013, 11:48
این سرو یک گیریبکس داخلی داره به طوری که با تنظیم اعداد اون می توان جوری تنظیم کرد که به ازای پالس هایی مختلفی یک دور چرخش کنه. مثلا میشه جوری تنظیم کرد که به ازای هر 1000 پالس یک دور بچرخه ...

amin1139
12-04-2013, 18:54
ببین میتونی یک رابطه با جریان مصرفی سرو و سرعتش پیداکنی ؟
اگه بتونی این کارو بکنی زمان رو هم میتونی اندازه بگیری و موقعیت سرو رو با استفاده از زمان کارکرد و سرعتش بفهمی مطمئنن دقیق نیست که شما دقت میتونی از انکدر بگیری
و کنترلر کاسکد یا دو طبقه طرحی کنی

amin1139
12-04-2013, 19:02
میتونی این کارو نکنی فعلا بیا یک بار با همین اوضا براش pid طراحی کن شاید لغزش چرخدنده ها خودش خطا رو به حد قابل قبولی کم کنه یا به صفر برسونه
شما کاری که الان باید بکنی تبدیل شافت سروها به موقعیت هست (دستگاه های میکانیکیشو آماده کردی؟)
علتش هم که میدونین مثلا تو یک گیربک فرضا 0.3 درجه چرخش خرج درگیر شدن میشه و خروجی هیچ تغییری نمیکنه و میتونه این قضیه خودش خطا رو صفر کنه