راه اندازی موتور پله ای با درایور L298N
توضیحی درباره نحوه کارکرد استپ موتور
اول یه توضیحی درباره کارکرد استپ موتور بدم:
استپ موتور نوعی موتور مثل موتورهای DC است که حرکت دورانی تولید می کند. با این تفاوت که استپ موتورها دارای حرکت دقیق و حساب شده تری هستند.
* این موتورها به صورت درجه ای دوران می کنند و با درجه های مختلف در بازار موجود هستند.
* موتورهای پله ای موجود در بازار معمولا در دو نوع ۵ یا ۶ سیم یافت می شود.
* موتور دیسک سخت یک نمونه موتور پلهای است.
* کاربرد اصلی این موتورها در کنترل موقعیت است.
* این موتورها ساختار کنترلی سادهای دارند. لذا در ساخت ربات کاربرد زیادی دارند. بطوریکه به تعداد پالسهایی که به یکی از پایههای راه انداز آن ارسال میشود موتور به چپ یا راست میچرخد.
* استفاده از موتور پلهای مشکلاتی از جمله وزن زیاد، قیمت بالا و قدرت بسیار کم را بدنبال دارد.
اصول کار موتور پلهای
* واژه پله به معنی چرخش به اندازه درجه تعریف شده موتور است.
مثلاً موتور پلهای با درجه ۱.۸ باید ۲۰۰ پله حرکت کند تا ۳۶۰ درجه یا یک دور کامل بچرخد.
یک استپ موتور با درجه ۱۵ فقط باید ۲۴ پله برای یک دور کامل انجام دهد.
به این ترتیب هرچه تعداد پلههای یک موتور بیشتر باشد دقت چرخش آن افزایش مییابد.
· مکانیسم کنترلی موتور پله ای طوریست که امکان کنترل سرعت به سادگی میسر می شود.
در حالت عادی میزان چرخش موتور به تعداد پالسهای اعمالی و گام موتور بستگی دارد. هر پالس یک پله موتور را میچرخاند.
· با تحریک دو فاز مجاور در موتور میتوان موتور را به اندازه نیم پله حرکت داد. به این ترتیب تعداد پلههای موتور دو برابر میشود و در نتیجه دقت چرخش موتور هم دوبرابر می گردد.
روشهای درایو موتور پله ای (steper motor)
چون میکرو کنترلر نمی تواند جریان کافی برای راه اندازی موتور پله ای ( ( steper motor
را تامین کند لذا از درایور یا راه انداز استفاده میگردد.به عنوان درایور می توان از ترانزیستور یا از تراشه هایی چون ULN2001A , ULN2002A , ULN2003A , ULN2004A , L293D ,L298 , …
استفاده کرد که به اختصار توضیحاتی راجع به تراشه L298 داده می شود.
درایور L298 یکی از قطعات مناسب جهت راه اندازی موتور است که با توجه به جریان دهی مناسب ( تا یک آمپر در هر کانال ) می تواند نیاز بسیاری از پروژه ها را مرتفع سازد. این قطعه می تواند دو موتور را به صورت مجزا راه اندازی کرده و جهت گردش آنها را کنترل نماید. که این کنترل توسط اعمال ولتاژ به چهار ورودی منطقی این قطعه صورت می گرد. ( برای هر موتور دو ورودی ) که می توان خروجی میکروکنترلر یا مدارات حسگر را به صورت مستقیم به این چهار ورودی متصل نمود و به راحتی موتور را کنترل کرد.
تشریح پایه های درایور موتور L298
پایه ۱) CURRENT SENSING A
از این پایه جهت کنترل جریان موتور A استفاده می گردد. همچنین می توان این پایه را به صورت مستقیم به خط منفی مدارGND اتصال داد که در این صورت کنترلی بر روی جریان وجودندارد.
پایه۲) OUTPUT 1
این پایه به یکی از ترمینالهای موتور A متصل می گردد . همچنین دیودها نیز جهت حفاظت به همین پایه متصل می شوند.
پایه۳) OUTPUT 2
این پین به ترمینال دیگر موتور A متصل شده و دیودها نیز مانند نقشه به آن متصل می گردند.
پایه۴) (SUPPLY VOLTAGE (VS
به پایه باید ولتاژ مورد نظر خود جهت اعمال به موتورها را متصل نمایید. این ولتاژ با توجه به موتورهای مورد استفاده شما حداکثر تا ۴۶ ولت می تواند افزایش یابد. به برای ساخت رباتهای کوچک به طور معمول بین ۶ تا ۱۲ ولت است.
پایه۵) INPUT 1 TTL Compatible Inputs 1 to drive Motor A
این پایه باید به صفر یا پنج ولت متصل گردد که همراه با پین ۷ می توانند جهت گردش موتور را مشخص نمایند.
پایه۶) ENABLE A TTL Compatible Enable Input for Motor A
این پایه جهت روشن و خاموش کردن موتور A و در بیشتر مواقع جهت اعمل فرکانس PWM به موتور استفاده می گردد. پنج ولت موتور را روشن و صفر موتور را خاموش می کند.
پایه۷) INPUT 2 TTL Compatible Inputs 2 to drive Motor A
این پایه باید به صفر یا پنج ولت متصل گردد که همراه با پین ۵ می توانند جهت گردش موتور را مشخص نمایند.
پایه۸) GND
اتصال به خط منفی مدار GND
پایه۹) (LOGIC SUPPLY VOLTAGE (VSS
اتصال به ۵ تا ۷ ولت
پایه۱۰) INPUT 3 TTL Compatible Inputs 1 to drive Motor B
این پایه باید به صفر یا پنج ولت متصل گردد که همراه با پین ۱۲ می توانند جهت گردش موتورB را مشخص نمایند.
پایه۱۱) ENABLE B TTL Compatible Enable Input for Motor B
این پایه جهت روشن و خاموش کردن موتور B و در بیشتر مواقع جهت اعمل فرکانس PWM به موتور استفاده می گردد. پنج ولت موتور را روشن و صفر موتور را خاموش می کند.
پایه۱۲) INPUT 4 TTL Compatible Inputs 2 to drive Motor B
این پایه باید به صفر یا پنج ولت متصل گردد که همراه با پین ۱۰ می توانند جهت گردش موتورB را مشخص نمایند.
پایه۱۳) OUTPUT 3
این پایه به یکی از ترمینالهای موتور B متصل می گردد . همچنین دیودها نیز جهت حفاظت به همین پایه متصل می شوند .
پایه۱۴) OUTPUT 4
این ترمینال دیگر موتور B متصل می گردد . همچنین دیودها نیز جهت حفاظت به همین پایه متصل می شوند .
پایه۱۵) CURRENT SENSING B
از این پایه جهت کنترل جریان موتور B استفاده می گردد. همچنین می توان این پایه را به صورت مستقیم به خط منفی مدارGND اتصال داد که در این صورت کنترلی بر روی جریان وجود ندارد.
خب توضیحات لازم برای استپ موتور یا موتور پله را دادم حالا بقیه کار :
برنامه ای که برای راه اندازی نیاز داریم ساده هست و فقط باید ۴ تا کد را پشت سر هم والبته با یک تاخیر زمانی مناسب ( هر موتور در دیتاشیت توضیح داده که چه فرکانسی دارد و تاخیر داخل برنامه را هم نسبت به این فرکانس قرار می دهیم) ارسال می کنیم تا چهار سیم پیچ داخل موتور تحریک شده و به دوران در بیاید .
شماتیک پروژه به صورت زیر است :
دو عدد کلید برای افزایش و کاهش سرعت ارسال پالس ها که باعث افزایش و کاهش سرعت چرخش موتور می شود در نظر گرفته شده است .
شش عدد از پایه های میکرو به شش عدد از پایه های درایور متصل شده است که چهار عدد اولی برای ارسال کدها و دو عدد دوم برای فعال کردن خروجی درایور است که اگر یک باشد کدهای ارسال پس از تقویت در درایور به خروجی انتقال داده می شود و اگر صفر باشند خروجی درایور قطع شده و موتور می ایستد.
سیم های استپ موتور باید یک در میان به درایور وصل شود . برای تشخیص سیم ها با استفاده از حالت تست دیود مولتی متر سیم ها را به صورت تصادفی تست می کنیم اگر سیم ها به هم راه دادند این دو سیم مربوط به یک سر سیم پیچ می شود و اگر سیم ها به هه پایه ها راه دادند سیم مشترک هستند که به صورت ازاد و یا به زمین متصل می شوند.
راه اندازی موتور پله ای با درایور L298N