امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
دور موتور در ربات مسیریاب
نویسنده پیام
mehrdadgh آفلاین
کاربر با تجربه
****

ارسال‌ها: 830
موضوع‌ها: 58
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 654
( 1904 تشکر در 596 ارسال )
ارسال: #1
دور موتور در ربات مسیریاب
سلام

دور موتور رو که با pwm تو ربات های مسیریاب کنترل می کنند چه جوریه؟؟؟
من تا حالا مسیریاب رو با میکرو نساختم واسه همین
اگه یه برنامه نمونه عملی بزارین کافیه
ممنون

وبلاگ من : Azarrobot.blogfa.com

ISAplast.ir
۰۲-بهمن-۱۳۸۷, ۱۹:۰۰:۴۶
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #2
RE: دور موتور در ربات مسیریاب
با چه ميكرويي مي خواين كار كنين .

اگه AVR با زبان بسكامه كه كافيه تايمر يك رو در مود PWM, بذارين و از خروجي تايمر يك بدين به انيبل راه اندازتون ( پايه 18 و 19 ميكرو ATMEGA 16 (
به همين راحتي !

اينم يه مثال :
کد php:
$regfile "M16def.dat" 

$crystal 1000000  

Config Timer1 
Pwm Pwm Compare A Pwm Clear Up Compare B Pwm Clear Down Prescale 1

Pwm1a 
100

Pwm1b 
200

End 
۰۲-بهمن-۱۳۸۷, ۱۹:۱۷:۰۶
ارسال‌ها
پاسخ
تشکر شده توسط : lord_viper, sita_rampail, mehrdadgh, mahdi20, Robocup, milad15m
sita_rampail غایب
كاربر دو ستاره
**

ارسال‌ها: 154
موضوع‌ها: 5
تاریخ عضویت: آبان ۱۳۸۷

تشکرها : 2348
( 1652 تشکر در 389 ارسال )
ارسال: #3
RE: دور موتور در ربات مسیریاب
(۰۲-بهمن-۱۳۸۷, ۱۹:۰۰:۴۶)mehrdadgh نوشته است: سلام

دور موتور رو که با pwm تو ربات های مسیریاب کنترل می کنند چه جوریه؟؟؟
من تا حالا مسیریاب رو با میکرو نساختم واسه همین
اگه یه برنامه نمونه عملی بزارین کافیه
ممنون

سلام به اینجا مراجعه کنید
http://www.forum.iranled.com/showthread....620&page=4
توی این بخش یک نمونه برنامه هست شاید بتونه یک کمی بهتون کمک کنه

دوست مثل پول، به دست آوردنش از نگه داشتنش آسان تر است
باتلر



۰۴-بهمن-۱۳۸۷, ۰۲:۰۰:۱۲
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, mehrdadgh, mahdi20, Robocup
mehrdadgh آفلاین
کاربر با تجربه
****

ارسال‌ها: 830
موضوع‌ها: 58
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 654
( 1904 تشکر در 596 ارسال )
ارسال: #4
RE: دور موتور در ربات مسیریاب
سلام
این طور که شما عزیزان گفتین فکر کنم دیگه خیلی آسون باشه!!!
البته اگه مشکلی داشتم باز هم مزاحمتون میشم!

وبلاگ من : Azarrobot.blogfa.com

ISAplast.ir
۰۷-بهمن-۱۳۸۷, ۲۰:۲۷:۵۷
ارسال‌ها
پاسخ
mr.boroojerdi آفلاین
كاربر تک ستاره
*

ارسال‌ها: 56
موضوع‌ها: 15
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 13
( 43 تشکر در 25 ارسال )
ارسال: #5
RE: دور موتور در ربات مسیریاب
سلام
نمیدونم جاش هست یا نه ولی ببخشید
می خواستم در مورد چینش سنسور به صورت تار عنکبوتی توضیح بدید و بگید چجوریه
۰۹-بهمن-۱۳۸۷, ۱۷:۴۴:۵۹
ارسال‌ها
پاسخ
mehrdadgh آفلاین
کاربر با تجربه
****

ارسال‌ها: 830
موضوع‌ها: 58
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 654
( 1904 تشکر در 596 ارسال )
ارسال: #6
RE: دور موتور در ربات مسیریاب
سلام
چنتا سوال داشتم
1) dutycycle رو چجوری تعیین کنیم ؟ مثلا در برنامه ای که اقا تریپ گذاشتن dutycycle چقدره؟
2) در بیسکام فقط مدل phase conect pwm وجود داره ؟ fast pwm مثل کدویژن نداره؟
3) مگه نمی گن که ای وی آر 4تا کانال pwm داره پس دو تای دیگه کو؟ ( دو تاشون پایه های oc2a,oc1a هستن؟)
4) تو برنامه زیر
$regfile = "m16def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 =
Portc.7 , E = Portc.3 , Rs = Portc.2
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm =
Clear Down , Prescale = 1
Dim A As Byte
Dim B As Byte
Config portd = output
Do
Pwm1a = A
Pwm1b = B
Incr A
Incr B
Waitms 500
Loop
End
که اقای یه نفر تو فایل اموزشی گذاشتن این جمله را گفتن : در مثال بالا مقدار دو متغيير aو b در ريجيستر pwmقرار داده شده اند ، مقدار انها هر يک ميلی ثانيه افزايش ميابد . اون یه میلی ثانیه از کجا اومد؟

وبلاگ من : Azarrobot.blogfa.com

ISAplast.ir
۰۹-بهمن-۱۳۸۷, ۲۰:۵۷:۴۷
ارسال‌ها
پاسخ
تشکر شده توسط : Robocup, ram3di
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #7
RE: دور موتور در ربات مسیریاب
نقل قول: می خواستم در مورد چینش سنسور به صورت تار عنکبوتی توضیح بدید و بگید چجوریه
يه نمونه مي ذارين !
بايد جالب باشه !!


نقل قول: dutycycle رو چجوری تعیین کنیم
دقت كرده باشين من PWM رو 8 بيتي گذاشتم . يعني مقدار متغير Pwm1b و Pwm1a مي تونه بين 0 تا 255 باشه.
براي مدلاسيون 50 درصد مي ذاريم رو عدد 127 . ( براي pwm 9 بيتي بين 0 تا 511 و 10 بيتي بين 0 تا 1023 مي تونيم ضريب مدلاسيون رو تنظيم كنيم )

نقل قول: مگه نمی گن که ای وی آر 4تا کانال pwm داره پس دو تای دیگه کو؟
پايه OC2 هم خروجي pwm تايمر دو هستش . oc1b,oc1a هم كه خروجي pwm تايمر يك هستند .
اون يكي ديگه اش رو هم نمي دونم .

نقل قول: اون یه میلی ثانیه از کجا اومد؟
يه ميلي ثانيه نبوده و نيم ثانيه بوده ( غلط تايپي )
کد:
Waitms 500
(آخرین ویرایش در این ارسال: ۰۹-بهمن-۱۳۸۷, ۲۱:۵۷:۰۱، توسط t3r!p3000.)
۰۹-بهمن-۱۳۸۷, ۲۱:۵۱:۴۶
ارسال‌ها
پاسخ
تشکر شده توسط : mehrdadgh, 1nafar, Robocup, milad15m
mehrdadgh آفلاین
کاربر با تجربه
****

ارسال‌ها: 830
موضوع‌ها: 58
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 654
( 1904 تشکر در 596 ارسال )
ارسال: #8
RE: دور موتور در ربات مسیریاب
سلام
ایسیهای L298 وuln2003 رو میشه هر دو رو به کار برد؟
هر دو شونم هم ورودی رو نات می کنند؟
اگه نات می کنن پس باید برنامرو تغییر داد مثلا مدلاسیون 25% لازم داریم باید تو برنامه %75 درصد بنویسم؟

وبلاگ من : Azarrobot.blogfa.com

ISAplast.ir
۱۰-بهمن-۱۳۸۷, ۱۱:۲۹:۱۴
ارسال‌ها
پاسخ
تشکر شده توسط : ram3di
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #9
RE: دور موتور در ربات مسیریاب
L298 نات نمي كنه . فقط يه بافر جريان هستش .
ولي ULN2003 نات مي كنه . ( البته فقط خروجيش رو به زمين اتصال مي ده و برعكس نمي شه )

تو اين خط برنامه مي تونيم خروجي pwm را not كنيم .
کد:
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear UP, Prescale = 1
كافيه به جاي Clear UP بنوييسيم Clear Down
۱۰-بهمن-۱۳۸۷, ۱۶:۴۱:۴۱
ارسال‌ها
پاسخ
تشکر شده توسط : Robocup
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #10
PWM in Bascom
اینم از کتاب سعید یه نفر


> پیکر بندی تایمر/کانتر یک در مد PWM :


pwm یا مدولاسین پهنای پالس یکی از امکانات پرکاربرد در avr میباشد ، از این موج برای کنترل دور موتور ساخت پالس مربعی و دیگر پالس ها و ... استفاده میشود

در این نوع مدولاسیون دامنه پالس ثابت است و نسبت زمان صفر به یک ان تغییر میکند برای درک بیشتر موضوع بهتر است کلیه مثالها را اجراکنید.

راه اندازی تایمر/کانتر 1 در مد pwm با دستورات زیر انجام میشود :

کد php:
Config Timer1 Pwm,Pwm 8|9|10 Compare A Pwm=Clear Up |Clear Down |Disconnect ,Compare B Pwm =Clear Up |Clear Down |Disconnect Prescale=1|8|64|256|1024 

Pwm = 8|9|10
pwm میتواند 8 یا 9 یا 10 بیتی باشد که مقدار بیت هرچه بیشتر یاشد دقت موج بیشتر است (تعدا پله بیشتر است )

pwm 8 بیتی تا 256 سرریز میشود (شما میتوانید 256 واحد ان را کم یا زیاد کنید) pwm 9 بیتی تا 512 و pwm 10 بیتی تا 1024 سرریز میشود.


Compare A Pwm=Clear Up |Clear Down |Disconnect:
در صورت استفاده از گزینه Clear Up، موج pwm از سطح 1 شروع میشود و در صورت انتخاب Clear Down ، موج pwm از سطح صفر شروع میشود و در صورت انتخاب Disconnect ، هنگامی که مقدار pwm با pwm1a که در برنامه مشخص میشود برابر شد ، ارتباط پالس با پایه ی oc1a قطع میشود .

Compare b Pwm=Clear Up |Clear Down |Disconnect:
در صورت استفاده از گزینه Clear Up، موج pwm از سطح 1 شروع میشود و در صورت انتخاب Clear Down ، موج pwm از سطح صفر شروع میشود و در صورت انتخاب Disconnect ، هنگامی که مقدار pwm با pwm1b که در برنامه مشخص میشود برابر شد ، ارتباط پالس با پایه ی oc1b قطع میشود .

Prescale :
این گزینه و مقدار کریستال در تعیین فرکانس pwm نقش دارند . برای تولید PWM با فرکانس های متفاوت از این گزینه ها استفاده می شود.

با استفاده از دو دستور زیر میتوان یک عدد ثابت یا متغییر را در ریجیستر pwm قرار داد تا مقدار pwm با انها مقایسه شود:

کد php:
Pwm1a=x
Pwm1b
=

یا

کد php:
COMPARE1A 
 COMPARE1B 


مثال:

کد php:
$regfile "m16def.dat"
$crystal 8000000
Config Lcd 
16 2
Config Lcdpin 
Pin Db4 Portc.4 Db5 Portc.5 Db6 Portc.6 Db7 Portc.7 Portc.3 Rs Portc.2
Config Timer1 
Pwm Pwm Compare A Pwm Clear Up Compare B Pwm Clear Down Prescale 1
Dim A 
As Byte
Dim B 
As Byte
Config portd 
output
Do
Pwm1a A
Pwm1b 
B
Incr A
Incr B
Waitms 500
Loop
End 

در مثال بالا مقدار دو متغییر a و b در ریجیستر pwm قرار داده شده اند ، مقدار انها هر یک میلی ثانیه افزایش میابد .

زمان تناوب پالس pwm از رابطه ی زیر بدست میاید:
زمان / 1 = فرکانس
۲۶-آبان-۱۳۸۸, ۰۱:۳۲:۵۵
ارسال‌ها
پاسخ
تشکر شده توسط : sheitunak, Robocup, iris, mahdi20
sararobo آفلاین
کاربر مهندس
**

ارسال‌ها: 100
موضوع‌ها: 8
تاریخ عضویت: بهمن ۱۳۸۸

تشکرها : 349
( 319 تشکر در 85 ارسال )
ارسال: #11
RE: دور موتور در ربات مسیریاب
سلام

من یه مشکل پیدا کردم برای استفاده از pwm

توی کدویژن یه دستور ساده نوشتم واسه امتحان کردن دورموتور

if(PINA.0==1){
PORTD.0=1;
PORTD.1=0;

OCR1A=1000;
OCR1B=1000;
}
if(PINA.0==0){
PORTD.0=1;
PORTD.1=0;

OCR1A=400;
OCR1B=400;
}

ولی هر موقع میخواد سرعت موتور کم بشه خیلی تاخیر داره حدود 10 ثانیه

تنظیمات کدویژن مشکلی نداره

نمیدونم مشکلش از کجاست!

الهی بمیرم اگه باز ببینم غمی توی چشمات
الهی که باشه برای دل من تمومی دردات


۱۵-شهریور-۱۳۸۹, ۱۱:۴۵:۰۲
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  کمک جهت انتخاب موتور مناسب Mohsen_ n 3 1,201 ۰۹-تير-۱۳۹۹, ۱۰:۴۴:۳۹
آخرین ارسال: Mohsen_ n
Sad [فوری] راه اندازی استپر موتور ماشین hmdv 5 1,737 ۲۹-تير-۱۳۹۸, ۰۱:۳۰:۵۴
آخرین ارسال: 1نفر
  [سوال] درایور کردن موتور 180ولت DC با جریان 10 آمپر salehjg 1 3,236 ۰۳-آبان-۱۳۹۵, ۰۶:۳۴:۲۶
آخرین ارسال: alimogmov
  انتخاب موتور برای نوار نقاله آزمایشگاهی hamidreza001371 0 2,168 ۰۷-شهریور-۱۳۹۵, ۲۲:۲۵:۲۶
آخرین ارسال: hamidreza001371
  موتور براشلس در پروتئوس gray 5 4,361 ۲۳-مرداد-۱۳۹۵, ۱۲:۵۵:۰۰
آخرین ارسال: gray
Rolleyes کار نکردن موتور براشلس gray 11 8,129 ۱۷-مرداد-۱۳۹۵, ۰۸:۴۷:۰۲
آخرین ارسال: alimogmov
  [سوال] حداکثر کلاک استپر موتور؟ sorena01 1 2,499 ۰۵-مرداد-۱۳۹۵, ۰۲:۰۴:۲۲
آخرین ارسال: salehjg
Question [فوری] انتخاب میکرو برای کنترل موتور براشلس gray 7 5,648 ۲۷-تير-۱۳۹۵, ۲۳:۵۷:۱۰
آخرین ارسال: gray
Rolleyes [فوری] موتور ساده و ارزان برای گهواره کودک rostamiani 1 3,377 ۲۶-خرداد-۱۳۹۵, ۱۷:۲۸:۲۴
آخرین ارسال: rostamiani
  سوال در باره سرعت ماکسیمم استپ موتور hata6417 0 2,276 ۰۹-خرداد-۱۳۹۵, ۱۷:۵۱:۰۹
آخرین ارسال: hata6417

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS