چهارشنبه , ۲۴ مهر ۱۳۹۸
آخرین مطالب
LINK TABLES
خانه | میکروکنترلر | ادوات جانبی | راه اندازی استپر موتور با AVR

راه اندازی استپر موتور با AVR

سلام به شما کاربر محترم میکرولرن 🙂

در این پست  برنامه ای ساده جهت راه اندازی استپر موتورهای تک قطبی و دو قطبی در قالب دو فایل شبیه سازی جدا آماده شده است. مطالب مرتبط با استپر موتور(پست استپر موتور) قبلا توضیح داده شده و خواننده با مفاهیم پایه استپر موتور و انواع آن آشنایی پیدا کرده است. این پروژه بر اساس همان اطلاعات نوشته شده است.

استپپر موتور تک قطبی

همانطور که در تصویر زیر می بینید از میکروکنترلر ATMEGA32 و بافر ULN2003 جهت راه اندازی یک استپر موتور ۶ سیمه استفاده شده است.

برای مشاهده تصویر در اندازه اصلی روی آن کلیک کنید.

unip

در داخل آی سی uln2003 هفت زوج دارلینگتون وجود دارد که قابلیت تحمل جریان حد اکثر ۵۰۰ میلی آمپر را دارا می باشند.حداکثر ولتاژی که این آی سی می تواند در خروجی تحمل کند ۵۰ ولت است. Fan_html_5d7968bc

 شکل سمت راست در بالا دیاگرام هر پایه ورودی و خروجی بافر را نشان می دهد .با اعمال سیگنال ۱ به هر ورودی ترانزیستور خروجی روشن شده و اتصال به زمین یا قطب منفی مدار را برقرار می کند.در صورتی که ورودی صفر باشد ترانزیستور خاموش است و مدار اتصال به منفی باز می شود.دیودی که در خروجی مشاهده می کنید در کاربرد هایی که اندوکتانس بار بالا باشد برای خنثی کردن ولتاژ القائی به کار می رود.مثل رله ها و موتورها.به این دیود، دیود هرزگرد هم می گویند.پایه شماره ۸ این آی سی به زمین مدار متصل می شود.پایه شماره ۹ که پایه مشترک کاتد دیودهای هرزگرد است باید به ولتاژ مثبتی که برای تغذیه بار استفاده میشود متصل شود.ولتاژ بار می تواند متفاوت از ولتاژ تغذیه میکروکنترلر باشد.اگر بار ما یک موتور باشد می توانیم ولتاژ تغدیه موتور را ۱۲ ولت بگیریم در حالی که ولتاژ میکرو کنترلر ۵ ولت است.این ویژگی باعث می شود که بتوانیم تغذیه بار را از تغذیه میکروکنترلر مجزا کنیم تا مدار میکرو کنترلر داری کمترین نویز باشد.

در این پروژه ۴ دکمه وجود دارد که سه عدد آن برای تغییر آرایش استپ موتور یا تغییر توالی پالسهاست و دکمه آخری باعت توقف موتور می شود.ال ای دی ها موقعیت پالس ها را نشان می دهند.همانطور که میبینید ۴ سیم A,B,C,D هرکدام به یک ال ای دی نسبت داده شده اند.بنده تاخیر مابین پالس ها را زیاد گرفتم تا حرکات مشخص باشد.شما می توانید با کوچکتر کردن تاخیر بوسیله مقدار دهی متغیر d سرعت را بیشتر کنید.برای عمل کردن کلیدها در شبیه ساز کلید را حدود ۴ ثانیه در حالت فشرده قرار دهید.

متن برنامه برای استپپر موتور تک قطبی در کدویژن

در برنامه بالا سه تابع تعریف شده که هرکدام یک نوع آرایش یا توالی را به موتور اعمال می کند.این توابع براساس جداول پست استپر موتور(لینک به پست استپر موتور) در همین سایت نوشته شده.لازم به ذکر است در این پروژه در حالت نیم گام موتور بر عکس حالت های دیگر می تابد.برای تغییر جهت موتور در هر سه نوع آرایش کافیست در برنامه ترتیب اعمال توالیهارا به پورت خروجی معکوس کنیم.

استپر موتور دو قطبی

برای راه اندازی اسپر موتور دو قطبی باید از آرایش ترانزیستوری hi-bridge استفاده کنیم.آرایش hi-bridge نوعی از آرایش کلیدهاست که با نحوه باز و بست کردن آنها میتوان قطبیت و جهت جریان یک بار را تغییر داد.این آرایش را می توانیم هم  با کلید هم با رله و هم با ترانزیستور بسازیم.برای کاربردهای سریع، ترانزیستور بهترین گزینه می باشد.آی سی های آماده ای در بازار وجود دارد که درایور hi-bridge را به صورت یک مدار مجتمع در خود جای داده اند.آی سی l298 معمولترین درایور hi-bridge در بازار است.

۱B ro_03_21 شکل زیر دیاگرام داخلی آی سی را نشان می دهد.همانطور که می بینید دو آرایش ترانزیستوری hi-bridge در این آی سی وجود دارد که با حروف A و B مشخص شده اند. l298در شکل زیر شماتیک پروژه در شبیه ساز پروتئوس نشان داده شده.این پروژه بر اساس جداول توالی که در پست استپر موتور(لینک به پست استپر موتور) موجود است نوشته شده.موتور در حالت نیم گام نسبت به دو حالت دیگر برعکس می تابد.با معکوس کردن ارسال توالی ها به پورت خروجی میکروکنترلر می توان جهت چرخش موتور را تغییر داد.

برای مشاهده تصویر در اندازه اصلی روی آن کلیک کنید.

Ashampoo_Snap_2015.11.11_21h30m53s_001_

متن برنامه برای استپپر موتور دوقطبی در کدویژن

الگوریتم برنامه بالا شبیه برنامه استپر موتور تک قطبیست.برای همین بنده تکرار توضیحات این برنامه را لازم ندانستم. شما می توانید فایل های سورس برنامه ها,hex و شبیه ساز پروتئوس را با کلیک بر روی دکمه زیر دریافت کنید.

پسورد فایل: www.microlearn.ir

دانلود فایل های پروژه

درباره ی احسان عبداللهی

احسان عبداللهی هستم | کارشناسی الکترونیک خوندم و کارشناسی ارشد مخابرات |در سال 94 وب سایت میکرولرن را راه اندازی کردم | سعی کردم هر چیزی را به صورت کاربردی دنبال کنم، برای همین از کارشناسی کار با میکروکنترلرهای AVR و ARM، برنامه نویسی C و طراحی PCB را به صورت تخصصی کار کردم و از کارشناسی ارشد برنامه نویسی پایتون ، Computer vision و deep learning را به صورت تخصصی و کاربردی شروع کردم | الان هم سعی میکنم همیشه خودم را به روز نگه دارم و لذت کار کردن با دنیای برنامه نویسی و امبدد سیستم ها را به دیگران انتقال بدم

۱۹ دیدگاه

  1. سلام .
    بنده کار تنظیم موتور انحام میدم .
    استپر موتور ماشین ها ۴ سیمه هستند .
    میخوام بدونم با کدوم مدار میتونم ی حرکت چپ گرد راست گرد داشته باشم .
    ممنون میشم راهنمایی کنید

  2. سلام
    من با همین مدار استپ موتور راه اندازی کردم با atmega32 ولی یه مشکلی که هست اینه که بعد از اتمام برنامه باز میکرو جریان کشی بالا داره و قطع نمیشه. من میخوام بعد از ایستادن موتور، جریان کشی نداشته باشم.

  3. البوس دامبلدور

    ببخشید می توانید فایل امده پرو را به ایمیلم بفرستید
    ادرس ایمیلم
    mt3618507@gmail.com

  4. البوس دامبلدور

    سلام مجدد ایا برنامه نویسی دو قطبی را می توان به جای استفاده از ای سی L298 از تراشه uln2003

    • بله امکانش وجود داره. ولی باید این ساختار را تغییر بدید

    • امکان راه اندازی استپر موتور های دو قطبی با درایور uln2003 وجود نداره
      باید از l298 استفاده کنی

      • بله دوست عزیز. به دلیل اینکه بافر uln2003 فقط میتونه نقطه سینک جریان (زمین) را در خروجیش بده و موتورهای دو قطبی نیاز به ولتاژ کاریشون هم دارن پس این بافر مناسب نیست. میشه از L298 برای موتورهای با جریان نهایتا تا ۲ آمپر و برای موتورهای با جریان های تا ۴ آمپر از L6203 استفاده کرد.

  5. البوس دامبلدور

    سلام لطف میکنید بکید چگونه این برنامه نویسی ها را داخل کدویژن به صورت فایل امده پرو ذخیره کرد

  6. البوس دامبلدور

    خیلی ممنون از کمک تون

  7. البوس دامبلدور

    با سلام وعرض خسته نباشید می خواستم بدونم که در مدار با لا می توان از استپر موتور ۱۲ولتی/۱٫۸ درجه استفاده کرد و ورودی برق ان چند ولت است

  8. البوس دامبلدور

    سلام خسته نباشید دراین مدار دو قطبی از چه نوع ترانزیستوراستفاده کردی واین که برای می توان از استپر موتور ۱۲ ولت ۱٫۸درجه استفاده کر

  9. سلام ممنون از مطلبتون. برای آی سی L298 که معرفی کردید چه موقع باید هیت سینک یا فن استفاده کنیم؟ یا بهتره این طوری سوالمو بپرسم که اگر از چه نوع موتوری استفاده کنیم نیاز به این کار هست؟

    • برای محاسبه و انتخاب هیت سینک به یک دسته از اطلاعات زیر نیاز داریم:
      . بیشترین دمای قابل تحمل در بدنه قطعه(قابل دریافت از دیتاشیت)
      . بیشترین دمای محیط(بر اساس شرایط محیط کاری قطعه)
      . مقاومت حرارتی بدنه قطعه تا محیط(قابل دریافت از دیتاشیت)
      . توان تلفاتی در قطعه(قابل محاسبه بر اساس جریان ولتاژ کاری قطعه و یا بازده)
      . بیشترین دمای قابل تحمل در اتصال(Junction)
      توان تلفاتی در قطعه را محاسبه می کنیم(بسته به مدار و قطعه مورد نیاز). دمای بدنه را با فرض نبود هیت سینک به صورت زیر محاسبه می کنیم:
      مقاومت حرارتی بدنه تا محیط*توان تلفاتی در قطعه+بیشترین دمای محیط=دمای بدنه قطعه
      در صورتی که دمای بدنه از بیشترین دمای بدنه قابل تحمل کمتر باشد، نیازی به هیت سینک نداریم. در صورتی که این دما بیشتر از حد قابل تحمل باشد، مقاومت حرارتی مناسب برای انتقال کافی گرما و کاهش دمای قطعه را به صورت زیر محاسبه
      می کنیم:
      توان تلفاتی/(بیشترین دمای محیط – بیشترین دمای قابل تحمل بدنه)=حداکثر مقاومت حرارتی کل قابل قبول• سپس مقاومت حرارتی هیت سینک را به صورت زیر محاسبه می کنیم:
      (مقاومت حرارتی قابل قبول مقاومت حرارتی بدنه قطعه تا محیط)/( مقاومت حرارتی قابل قبول * مقاومت حرارتی بدنه قطعه تا محیط)=حداکثرمقاومت حرارتی قابل قبول هیت سینک
      با مشخص شدن مقاومت حرارتی هیت سینک، هیت سینک مناسب بر اساس این مقدار قابل انتخاب است.

پاسخی بگذارید

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