بازدیدها: 1345
برنامه به زبان C و برای میکروکنترلر AVR نوشته شده کارکرد مدار به این صورت می باشد که ابتدا استپ موتور به اندازه 360 درجه در جهت راست می چرخد و بعد از رسیدن به 360 دوباره از همان 360 در جهت خلاف عقربه های ساعت (چپگرد) می چرخد تا به 0 درجه برسد و این روند به همین صورت ادامه خواهد یافت.
استپ موتور ما 6 پایه دارد که دو تا از پایه های مشترک آن به VCC وصل می شود و 4 پایه هم به آیسی درایور ULN2003A وصل می شود.
گام استپ موتور ما 2 درجه می باشد (این گام در برنامه پروتئوس قابل تغییر است) یعنی اگر 4 بار سیگنال ارسال کنیم 4*2=8 درجه خواهید چرخید و برای 360 درجه باید 360/8=45 بار این 4 بار ارسال سیگنال را تکرار کنیم.
unsigned char j,step[]={0x01,0x02,0x04,0x8};
آرایه step به ترتیب 4 سیگنال را برای ما ارسال می کند: 0001 و 0010 و 0100 و 1000 و بین هر 8 درجه چرخش 130ms تاخیر گذاشتیم کلا برنامه چیز خاصی ندارد که من بخواهم بیشتر از این توضیح بدهم.
نکته:
برای حالت چپ گرد ابتدا باید آخرین عضو آرایه ارسال شود تا به عضو صفر برسد که برای این کار از حلقه for به صورتی کاهشی استفاده کردم در این گونه موارد (حلقه کاهشی) بهتر است از متغییر signed char استفاده شود.
این مقاله توسط سایت برنامه نویسی میکروکنترولرها ارائه شده کپی برداری تنها با ذکر منبع مجاز می باشد.