سلام
میخواستم بدونم چطوری میشه ربات را با سرعت های مختلف راه اندازی کرد مثلا 3 کلید روی برد بزاریم اگه کلید اول زدیم ربات با سرعت بسیار بالا (حداکثر سرعت) حرکت کنه اگه دکمه دوم را زدیم ربات با سرعت متوسط کار کنه و اگه دکمه سوم رو زدیم با سرعت کم کار کنه
اگه نقشه مداری در مورد کار با سرعت موتور یا برنامه ای در این مورد دارین دریغ نکنید .
باید از pwm استفاده کنی و برای هر کلید یک مقدار در نظر بگیری برای کلید تند مقدار 0xff رو برای 0x99 برای سرعت کمم مقدار 0x10 در نظر بگیری
با فشار هر کلید مقدار آن به برای pwm در نظر گرفته می شود وباعت سریع یا کند شدن حرکت موتور میشه
کد:
while (1)
{ if(PINA.1==1){
OCR0=0xff;
}
if(PINA.2==1){
OCR0=0x99;
}
if(PINA.3==1){
OCR0=0x10;
}
}
بعد موتور یه پایه ocr0 وصل می کنیم
مثل شکل(البته این فقط توی شبیه سازی)می بندیم
سلام تشکر از شما
توی بسکام باید چگونه ازش استفاده کنم.پ؟
من باید پورت B پایه 4 رو مستقیم به میکرو وصل کنم.؟
توی ربات های مسیریاب که سرعت ربات رو بسته به خروجی سنسور ها تعیین میکنن هم اینجوری هست؟
اولا باید بگم این این مکدار فقط توی پرتوس کار می کنه اگه بخوای اینو واقعا ببندی میکروت میسوزه .
بعدش برای این کار من یه مقاله نوشتم توی انجمن هست یه سرچ بزن پیداش می کنی بعضی از انواع درایور توضیح دادم در مورد pwm هم یه مقاله دیگه هست اونم سرچ کن .
در مورد بسکام توی help نرم افزار در موردش توضیح داده
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1
Pwm1a = 100
Pwm1b = 200
End
باید تایمر 1 تعریف کنی ب عنوان سیگنال pwm میزان تقسیم پذیری 8و16و14و128و256 تعریف کنی بعد مشخص کنی سیگنال اول از صفر شروع بشه یا یک
بعد می تونی با مقدار دهی به Pwm1a وPwm1b سرعت موتور هارو کنترل کنی
(۲۱-اسفند-۱۳۸۹, ۰۰:۱۴:۰۵)h0x00i نوشته است: [ -> ]کد:
while (1)
{ if(PINA.1==1){
[color=#FF0000] OCR0=0xff;[/color]
}
if(PINA.2==1){
OCR0=0x99;
}
if(PINA.3==1){
OCR0=0x10;
}
}
سلا دوست عزیز
جسارتا من فکر کنم که نباید توی PWM مقدار OCR را روی 0xFF گذاشت. صحیح نیست.
همچنین روی 0x00