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

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

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


بازگشت   متارو > ميكروكنترلر > AVR > پروژهای عملی با AVR

کنترل دور موتور dc با pid کنترلر

پروژهای عملی با AVR

پاسخ
 
LinkBack ابزارهای موضوع نحوه نمایش
قدیمی 09-13-2010, 09:11 AM   #11
پیش فرض پاسخ : کنترل دور موتور dc با pid کنترلر

با تشکر از پروژه ی مفیدی که در اختیار عموم قرار دادین.

یه سوال:
در برنامه میکروکنترلر و در روتین PID_control آرایه errer_save کجا مقدار دهی می شود؟
mandana_rasouli آنلاین نیست.   پاسخ با نقل قول
اين کاربران از mandana_rasouli به خاطر این مطلب مفید تشکر کرده اند
قدیمی 09-17-2010, 11:33 PM   #12
Smile پاسخ : کنترل دور موتور dc با pid کنترلر

نوشته اصلی توسط mandana_rasouli نمایش پست ها
با تشکر از پروژه ی مفیدی که در اختیار عموم قرار دادین.

یه سوال:
در برنامه میکروکنترلر و در روتین PID_control آرایه errer_save کجا مقدار دهی می شود؟
سلام.
بله احتمالاً در هنگام مرتب کردن فایل این خط از برنامه اشتباهاً پاک شده.
به هر حال باید خط زیر رو به برنامه بعد از حلقه for در روتین PID_control اضافه کنید.
کد PHP:
error_save[9]=(set_point_int)-(rpm_out_int); 
__________________
در بدترین روزها امیدوار باش، زیرا زیباترین باران ها از سیاهترین ابرهاست ...
*****************************************
***********************************
***************************
تنها کسانی که ما را می رنجانند عزیزانی هستند که همیشه کوشیده ایم از ما نرنجند. علی شریعتی
*****************************************
*********************************
************************

ویرایش توسط mohammad_reza : 09-17-2010 در ساعت 11:35 PM.
mohammad_reza آنلاین نیست.   پاسخ با نقل قول
4 کاربر از mohammad_reza به خاطر این مطلب مفید تشکر کرده اند
قدیمی 04-19-2011, 11:11 AM   #13
پیش فرض پاسخ : کنترل دور موتور dc با pid کنترلر

سلام آقا محمد خواستم خیلیییییییییییییییییییییی ییییییی خیلیییییییییییییییییییییی یییییییییی تشکر کنم فقط ببخشید من طبق شماتیکی که گزاشتید شکل رو توی پروتوس کشیدم فقط نمیدونم شماره شفت انکدر چنده و اینکه آی سی من پایه 10 و11 نداره پس تغذیه رو چیکار کنم

ویرایش توسط baharak : 04-19-2011 در ساعت 11:13 AM.
baharak آنلاین نیست.   پاسخ با نقل قول
قدیمی 04-21-2011, 02:34 PM   #14
Exclamation پاسخ : کنترل دور موتور dc با pid کنترلر

نوشته اصلی توسط baharak نمایش پست ها
سلام آقا محمد خواستم خیلیییییییییییییییییییییی ییییییی خیلیییییییییییییییییییییی یییییییییی تشکر کنم فقط ببخشید من طبق شماتیکی که گزاشتید شکل رو توی پروتوس کشیدم فقط نمیدونم شماره شفت انکدر چنده و اینکه آی سی من پایه 10 و11 نداره پس تغذیه رو چیکار کنم
با سلام و تشکر . اولاً باید بگم که من برای اینکدر شفت از اپتوکوپر ساده استفاده کردم و چنین قطعه ای در پروتئوس وجود نداره. ثانیاً اگر منظورتون از آی سی میکرو هستش باید بگم که در پروتئوس این قطعه بصورت اتوماتیک تغذیه میشه و نیازی به vcc و gnd نداره.!!!
__________________
در بدترین روزها امیدوار باش، زیرا زیباترین باران ها از سیاهترین ابرهاست ...
*****************************************
***********************************
***************************
تنها کسانی که ما را می رنجانند عزیزانی هستند که همیشه کوشیده ایم از ما نرنجند. علی شریعتی
*****************************************
*********************************
************************
mohammad_reza آنلاین نیست.   پاسخ با نقل قول
قدیمی 04-28-2011, 03:43 PM   #15
پیش فرض پاسخ : کنترل دور موتور dc با pid کنترلر

نوشته اصلی توسط mohammad_reza نمایش پست ها
در این پروژه سرعت یک موتور dc با استفاده از pid کنترلر با دقت خوبی کنترل می شه. سیستم کنترل هم از نوع حلقه بسته است و در این پروژه برای اندازه گیری سرعت از یک اپتو کپلر که به شفت موتور متصل شده استفاده شده .
پس از اندازه گیری سرعت که در مدت زمان 0.1 ثانیه اندازه گیری می شه توسط کنترل کننده این سرعت با سرعت مطلوب ورودی که توسط یک پتانسیومتر به میکرو اعمال می شه مقایسه شده و در صورت وجود خطا سیستم کنترل این خطا را در کمتر 1 ثانیه بر طرف میکنه!
از قابلیتهای این طرح امکان تغییر پارامترهای کنترل کننده مانند ki , kd , kp و تغییر سرعت ورودی و تغییر جهت حرکت موتور و نمایش موارد فوق بر روی lcd است.
سیستم تغذیه این طرح توسط برق شهر تأمین میشه. برای این جهت از یک ترانس 220/12دوبل و پل دیود برای ولتاژ dc تغذیه و آی سی lm2576 برای کنترل ولتاژ موتور dc مورد نظر در نظر گرفته شده ...
فعلاً برنامشو براتون میزارم اکه خاستین بگین تا نقشه شماتیکشم براتون میل کنم !
سلام،ممنون ازاطلاعاتتون میخواستم اگر امکانش هست هم اطلاعاتی در مورد pid وهم اگر امکان داره نقشه شماتیک مدار رو برام بفرستید
نفیسه آنلاین نیست.   پاسخ با نقل قول
قدیمی 05-16-2011, 09:05 AM   #16
پیش فرض پاسخ : کنترل دور موتور dc با pid کنترلر

نوشته اصلی توسط baharak نمایش پست ها
سلام آقا محمد خواستم خیلیییییییییییییییییییییی ییییییی خیلیییییییییییییییییییییی یییییییییی تشکر کنم فقط ببخشید من طبق شماتیکی که گزاشتید شکل رو توی پروتوس کشیدم فقط نمیدونم شماره شفت انکدر چنده و اینکه آی سی من پایه 10 و11 نداره پس تغذیه رو چیکار کنم
باسلام
اگر ممکنه شماتیکی که با پروتوس گذاشتین رو بذارین به شدت نیاز دارم.
ممنون میشم
تمنا دارم
saeed4641 آنلاین نیست.   پاسخ با نقل قول
قدیمی 06-24-2011, 01:45 PM   #17
پیش فرض پاسخ : کنترل دور موتور dc با pid کنترلر

با سلام و سپاس
مطلبتون واقعاٌ مفيد بود.
متشكرم
alitoosi آنلاین نیست.   پاسخ با نقل قول
قدیمی 08-24-2011, 10:29 AM   #18
Red face پاسخ : کنترل دور موتور dc با pid کنترلر

[IMG]file:///C:/DOCUME%7E1/MVLAB/LOCALS%7E1/Temp/moz-screenshot-4.png[/IMG]
سلام خسته نباشی
ببخشید یه سوال داشتم درمورد برنامه کنترل موتوری که گذاشته بودی توسایت. اول اینکه در قسمت اول برنامه تایمردو


interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{

if(delay_count>0){
delay_count--;
}
else{
x=TCNT0;
rpm_out_float=(x*60);
rpm_out_float=rpm_out_float/(20);
rpm_out_float=rpm_out_float/sampling;
rpm_out_int=rpm_out_float;
TCNT0=0;
delay_count=3;
PID_control();
}
}
چرا اومدی در این اعداد(60و20
sampling
ضرب و تقسیم کردی؟
--------------------------------------------------------
دقیقا مشابه همین رو در انتهای برنامه اصلی داخل حلقه "وایل" آوردی
set_point_int=(read_adc(0)*5);
set_point_int=(set_point_int*840);
set_point_int=set_point_int/1023;
set_point_int= set_point_int+500;
display();
این اعداد 5و 1023و 840و500 چی هستند؟
--------------------------------------------------------
در برنامه
setting
اعداد 1023و5و5.8 چی هست؟و اینکه این

vdc

اصلا چیه؟
vdc=read_adc(4);
vdc/=1023;
vdc*=5;
vdc*=5.8;
--------------------------------------------------------
در ادامه برنامه
setting
اعداد 1023و5و2.5 چی هست؟
kp=read_adc(1)*5;
kp/=1023;
kp/=2.5;
--------------------------------------------------------
و سوال آخر اینکه در برنامه
PID_control
چرا اومدی خطا رو در بازه در نظر گرفتی و گرد کردیش؟
error_save[9]=(set_point_int)-(rpm_out_int);
if(error_save[9]>1000){
error_save[9]=1000;
}
if(error_save[9]<-1000){
error_save[9]=-1000;
}
if(error_save[9]>500 && error_save[9]<1000){
error_save[9]=500;
}
if(error_save[9]<-500 && error_save[9]>-1000){
error_save[9]=-500;
}
if(error_save[9]>250 && error_save[9]<500){
error_save[9]=250;
}
if(error_save[9]<-250 && error_save[9]>-500){
error_save[9]=-250;
}
if(error_save[9]>125 && error_save[9]<250){
error_save[9]=125;
}
if(error_save[9]<-125 && error_save[9]>-250){
error_save[9]=-125;
}
if(error_save[9]>65 && error_save[9]<125){
error_save[9]=65;
}
if(error_save[9]<-65 && error_save[9]>-125){
error_save[9]=-65;
}
--------------------------------------------------------
منم یه بخش از پروژم کنترل سرعت موتور دی سی هست.موتورم 12ولته و شفت انکدرم 200پالسی.

ببخشید که اینقد سوال پرسیدم
hamed.mazlum آنلاین نیست.   پاسخ با نقل قول
قدیمی 04-09-2012, 09:33 PM   #19
Unhappy پاسخ : کنترل دور موتور dc با pid کنترلر

با سلام
آقا محمد رضا من باید حتما یه تماسی باهاتون بگیرم من تو دانشگاه بد جور سر این پروژه گیر کردم یه چند کلمه ای باید باهاتون حرف بزنم ، خیلی ممنون... 09132815191
ابوالفضل آنلاین نیست.   پاسخ با نقل قول
پاسخ

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

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

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

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


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


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