درایور با pic

در این مقاله سخت افزار و نرم افزار به کار رفته در کنترل دو موتور پله ای را که برای رباتهای با درایور دیفرانسیلی , مناسب می باشند را شرح می دهیم

این مدار دو کلمه دو بیتی را می پذیرد تا به هر یک از موتورها فرامین حرکت به جلو , عقب , تثبیت موقعیت و سکون را دهد همچنین هرگاه یک پله (گام) شکل گرفت (طی شد) , یک سیگنال خروجی ایجاد می کند.این مدار طرحی مناسب می باشد که با آن می توان تحریک سیم پیچ , سرعت موتور , شکل “کلمه کنترل ” وسایر پارامترهای موتورهای تک قطبی و دو قطبی مبتنی بر میکروکنترلر را اصلاح کرد نرم افزار آن نیز , به زبانهای C و Assembly تهیه شده است.

مدار سخت افزار:

مدار مذکور شامل سه آی سی است: PIC16F84 و همچنین دو درایور پل H ,L293D برای موتورهای پله ای دوقطبی(شکل بالا) یا دو ULN2803 برای موتور پله ای تک قطبی است به جز منابع تغذیه , قطعات مدار تنها به: نوسانساز 4MHz , یک مقاومت بالاکش 10 کیلو اهم و چند کانکتور محدود می شود در این طرح یک بسته 6 تایی از باتری های 1.2 ولتی ,که اختلاف پتانسیل 7.2 ولت تولید می کنند به طور خطی تنظیم (رگوله) می شوند تا تغذیه منطقی 5 ولتی را تامین نمایند افت ولتاژ ترانزیستورهای دوقطبی درایور , به ولتاژ 7.2 ولت اجازه نمی دهد موتور را بیش از توان آن درایو کند.

” کلمه کنترل”به دو کلمه کنترل 2 بیتی شکسته شده است: دوبیت با ارزش تر که بیتهای 2و3 از PORTA هستند , موتور سمت چپ را کنترل نموده و دو بیت کم ارزش تر یعنی بیتهای 0 ,1 از PORTA موتور سمت راست را کنترل می کنند برای این مقادیر: 00 ,01 ,10 ,11 , کلمه کنترل به موتورها به ترتیب فرامین: جلو , عقب, تثبیت موقعیت و سکون را می دهد این ترتیب را می توان به سادگی عوض کرد

بنا به مدار طراحی شده, امکان کنترل سرعت موتور فراهم شده است بخصوص این که به پالس های کنترلی متناوب برای پیشبرد موتورها نیازی نیست بعلاوه هنگامی که یک گام (پله) طی شد, مدار یک سیگنال خروجی در بیت 4 از PORTA تولید می کند کنترل کننده اصلی می تواند این سیگنال را بازبینی کند تا هنگامی که کلمه کنترل باید تغییر کند را مشخص کند به عنوان مثال برای اینکه فاصله معینی به جلو حرکت نماید, پردازنده اصلی , تعداد گام های لازم برای دستیابی به این هدف را محاسبه نموده و به این ترتیب فرمان به جلو را به موتور صادر می کند وقتی که تعداد گام های لازم طی شد , کلمه کنترل می تواند به وضعیت ایست تغییر کند یا مجددا حرکت نماید در اکثر پردازنده ها عمل شمردن گام ها (پله ها) را می توان به یک فعالیت در پس زمینه موکول کرد تا این امر در هر زمان و بدون دخالت کاربر صورت گیرد.

نرم افزار:

دو نسخه از نرم افزار موجود است یکی در C2C که نسخه ای خاص از زبان C است و دیگری در زبان اسمبلی که با کمک چند ماکرو ساختارهای برنامه نویسی سطح بالا ایجاد می کند.

برنامه اصلی به سادگی و به تناوب ,PORTA را جهت یافتن تغییر در کلمه کنترل می خواند این فرایند هر از چند گاهی هنگامی که موتور به یک تحریک جدید نیاز داشته باشد توسط وقفه TMR0 متوقف می شود چون تحریک موتور دوره ای است , کنترل موتور در پس زمینه اجرا می شود.

نرم افزار موجود به ما اجازه تغییرات ساده ای در تحریک سیم پیچی موتور , کلمه کنترل و سرعت موتور را می دهد بدین ترتیب می توان به سادگی جدول تحریک را از لحاظ اندازه و محتوی برای نیم پله اصلاح کرد کلمات کنترل تنها یک شمارش(از صفر تا چهار) هستند بنابراین می توانیم ترتیب آنها را انتخاب کرده و در صورت لزوم , عوض نموده با تغییر مقدار اولیه TMR0 می توان سرعت را در مبنای دو تغییر داد تغییرات بهتر با ایجاد تغییر در مقدار اولیه TMR0 به دست می آیند.


درباره نویسنده

مطالب مرتبط

1 نظر

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *