PDA

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



alira
07-10-2015, 01:10
سلام دوستان 2 سوال داشتم :
1- برنامه برای کنترل سروو موتور با پتانسیومتر توسط میکرو avr کسی برنامه داره؟؟!
2- اگه بخوایم در هر لحطه مکان سرو موتور رو بدونیم میشه کاری کرد؟ یا باید انکودر استفاده کرد؟!
ممنون میشم اگه میدونید جواب بدین

erfanjeddy
07-10-2015, 02:44
با سلام، اول لطف کنید بگید از چه سروویی استفاده میکنید، عکس هم خوبه بزارید

alira
08-10-2015, 00:39
با سلام، اول لطف کنید بگید از چه سروویی استفاده میکنید، عکس هم خوبه بزارید
سروو mg995 عکس از چی بزارم؟!

erfanjeddy
08-10-2015, 01:37
عکس نمیخواد دیگه مرسی
تا اینجاش رو حتما میدونید که این سروو ها با PWM کار میکنن، 60 درجه تو هر جهت میچرخن
یعنی اگه Duty cycle پنجاه درصد بگیرن وسط و صفر و صد دو انتهای کورس رو به شما میدن.
پس شما 50 درصد duty cycle داری و 60 درجه ، با یه تناسب مکان تقریبی(با دقت قابل قبول) بدست میاد،
حالا میخواین duty cycle v رو با پتانسیومتر تنظیم کنین؟ یا من درست متوجه نشدم؟

alira
11-10-2015, 00:13
عکس نمیخواد دیگه مرسی
تا اینجاش رو حتما میدونید که این سروو ها با PWM کار میکنن، 60 درجه تو هر جهت میچرخن
یعنی اگه Duty cycle پنجاه درصد بگیرن وسط و صفر و صد دو انتهای کورس رو به شما میدن.
پس شما 50 درصد duty cycle داری و 60 درجه ، با یه تناسب مکان تقریبی(با دقت قابل قبول) بدست میاد،
حالا میخواین duty cycle v رو با پتانسیومتر تنظیم کنین؟ یا من درست متوجه نشدم؟
من این پروژه رو با اردوینو انجام دادم اینجوریه که با چرخوندن پتانسیو متر سروو هم میچرخه
حالا می خوام بدونم با avr چجوری میشه این کار کرد؟؟

erfanjeddy
11-10-2015, 00:21
مگه آردینو avr نیست؟؟

erfanjeddy
11-10-2015, 00:27
یه سر پتانسیومتر رو به زمین بزن یه سر رو به VCC
سر وسط به یکی از کانال های ADC
چون Atmega از ADC ده بیتی استفاده میکنه یه طرف پتانسیومتر عدد صفر، طرف دیگه عدد 1024 و وسط 512 رو خواهد داد، حالا با تناسبی که قبلا گفتم بقیه ماجرا رو انجام بده

alira
11-10-2015, 00:49
مگه آردینو avr نیست؟؟
هست ولی برنامه اش فرق میکنه دیگه مشکل من برنامشه!!!

alira
11-10-2015, 22:38
دوست عزیز سوال دوم رو جواب نمیدی ؟

erfanjeddy
12-10-2015, 02:58
از سوال دوم منظور اینه که کدشو میخوای یا روششو؟ روششو نوشتم، در مورد کد باید بگی چه کامپایلری، من فقط میتونم برای avr gnu بهت کد بدم

alira
13-10-2015, 21:39
یعنی همون ولتاژ سر وسط پتانسیومتر با نسبت درست اگه حساب کنم میشه زاویه سروو تو اون لحظه؟
با کد ویژن اگه برنامشو داشته باشی ممنون میشم اگه نه با هر کامپایلری شد دستت طلا

erfanjeddy
13-10-2015, 22:30
مدل میکروت چیه؟

alira
15-10-2015, 00:35
avr ATMega32 شاید اگه خرجم کم شه از اردوینو استفاده کنم حالا شما اگه کدشو داری بده که اگه استفاده کردم از avr لنگ نمونم

erfanjeddy
15-10-2015, 10:52
Dropbox - servo.c (You can see links before reply)

alira
17-10-2015, 00:03
ممنون دوست عزیز

alira
17-10-2015, 00:31
Dropbox - servo.c (You can see links before reply)
این کد واسه چه میکرو ای هست؟
روند برنامه رو توضیح میدی یکم؟

erfanjeddy
17-10-2015, 00:54
خواهش میکنم دوست عزیز.
این کد برای ATMEGA32 نوشته شده ولی براحتی میتونی روی تمام ATMEGA ها اجراش کنی.شاید با یه تغییر خیلی کوچولو.
از تایمر 1 برای ایجاد PWM استفاده شده با فرکانس 61 هرتز.
مقدار ADC0 خونده میشه سه بار و میانگین گرفته میشه
سپس مقدار ADC0 که بین 0 تا 1024 تبدیل میشه به درصد و میشه درصد Duty برای PWM.
اگه بازم چیز خاصی گنگه بپرس

alira
17-10-2015, 01:14
بازم ممنون
اگه باز مشکل پیش اومد میپرسم خیلی لطف میکنید سوالام جواب میدید