راه اندازی PWM میکروکنترلر ATtiny13 با BASCOM بسکام

مقدمه:

یکی از قابلیتهای تایمر میکروکنترلرهای AVR تولید مدولاسیون PWM است. پی دبلیو ام مخفف Pulse Width Modulation به معنای مدولاسیون عرض پالس می‌باشد. در این شکل موج نسبت یا Duty Cycle یک بودن خروجی به صفر بودن بین 0 تا 100 درصد قابل تغییر است و با این روش میتوان با حفظ میزان ولتاژ خروجی، توان مصرف کننده را کنترل نمود. از PWM معمولاً برای کنترل دور موتورها، نور لامپ، ریسه‌های LED، حرارت المنت، ایجاد طلوع و غروب مجازی برای پرندگان و غیره استفاده می‌شود.

در این پروژه یک Soft Starter یا راه انداز نرم با کمک میکروکنترلر ATtiny13 و کامپایلر بسکام BASCOM طراحی شده است که با کمی تغییر می‌توان آن را به یک دیمر 12 ولت (یا هر ولتاژ دیگری) تبدیل کرد.

شماتیک:

در این قسمت شماتیک پروژه راه اندازی PWM میکروی ATTiny13A با بسکام قرار داده شده است:

شماتیک دیمر 12 ولت با tiny13

 

سورس:

برنامه راه اندازی PWM میکروی Tiny13 با بسکام BASCOM:

شرح برنامه:

در این برنامه که با کامپایلر بسکام نوشته شده در ابتدا نوع میکرو، فرکانس کاری و سایز پشته سخت افزاری، نرم افزاری و فریم سایز تنظیم شده است. در خط یعدی با دستور Prog در صورتی که از پروگرمر بسکام استفاده کنید فیوزبیت‌ها بصورت خودکار تنظیم می‌شوند. در خط بعدی تایمر شماره 0 بصورت pwm تنظیم شده و تقسیم کننده آن روی 8 قرار داده شده است یعنی فرکانس CPU که حدود 9.6 مگاهرتز RC داخلی است بر 8 تقسیم شده و به تایمر اعمال می‌گردد. در قسمت آخرِ دستور نیز با عبارت Compare_a_pwm  و تنظیم آن روی Clear_up پایه OC0A به محض رسیدن به مقدار مقایسه، پاک یا 0 می‌شود.

فیوزبیت ها:

در صورتی که از پروگرمر دیگری استفاده می‌کنید فیوزبیتها را به شکل زیر تنظیم نمایید:

فیوزبیت ها

ویدیوی آزمایش مدار:

در اینجا یک کلیپ ویدیویی از آزمایش پروژه سافت استارتر قرار داده شده است:

سخن آخر:

در این پروژه یاد گرفتیم که چگونه تایمر میکروکنترلر ATtime13 را با کمک کامپایلر بسکام در مد PWM تنظیم کنیم. دستورات Bascom بسیار متنوع و زیاد بوده و با مراجعه به Help نرم افزار می‌توانید مدهای دیگر را بررسی نمایید.

بازدیدها: 1314