پروژه کنترل سرعت موتور DC باPWM
در این پروژه با استفاده از تایمر کانتر ۱ میکرو که در حالت pwm سریع یا تک شیب پیکربندی شده است یک موج pwm را برای کنترل میزان جریان ارسالی از درایور L298 بر روی پایه OC1A,OC1B میکرو ATMEGA8 ایجاد کرده ایم.این پایه ها با وقوع وقفه ی OCR و یا رسیدن به مقدار TOP رجیستر TCNT0 معکوس شده و تا وقوع وقفه ی بعدی در این حالت باقی میمانند طول وقوع وقفه را محتوای OCR1A وOCR1B مشخص میکند و هر چه این دو رجیستر با عدد بیشتری پر شوند طول وقفه افزایش یافته و مقدار PWM خروجی بیشتر خواهد شد.تایمر یک را میتوان به نحوی پیکر بندی کرد که پایه های OC1A وOC1B میکرو یک موج PWM شبیه به هم یا معکوس هم را تولید نمایند همچنین این دو موج میتوانند به طور مجزا بر اساس محتوای دو رجیستر OCR1A وOCR1B موج PWM تولید کنند.
نکات مثبت پروژه:
- طراحی شماتیک به نحوی که PCB تک لایه باشد
- بهبود برنامه برای عملکرد بهتر
- استفاده از ۵ کلید کنترلی افزایش و کاهش سرعت و چپ گرد و راست گرد و توقف
محتوای پوشه پروژه:
- فایل شماتیک و PCB با پروتیوس
- فایل سورس کدویژن
- تصاویر و فیلم مدار ساخته شده
- فایل کامل آموزشی در فرمت pdf
توضیحات برنامه:
عملکرد کلی برنامه به این شکل است که پس از فشار داده شدن کلید برنامه به یکی از زیر برنامه های مربوطه پرش میکند زیر برنامه ی display_no برای نمایش متغییر های عددی روی LCD است در حالتی که از کتابخانه STUDIO استفاده نکنیم این برنامه به راحتی کار ما را راه می اندازد. زیر برنامه ی direction برای آپدیت LCD به کار میرود که مقادیر نمایش داده شده روی LCD را هر بار آپدیت میکند و جهت گردش هم در همین زیر برنامه با معکوس شدن مقدار روی پایه های B.7 وb.6 تغییر خواهد کرد. برای کاهش و افزایش سرعت کافی است مقدار موجود در OCR1A,OCR1B را کم و زیاد کرد که با توجه به این که تایمر ۱ در حالت Fast PWM top=پیکر بندی شده است پهنای پالس با مقدار OCR رابطه خطی دارد.
لینک دانلود فیلم مربوط به این پروژه