در این پروژه که با کامپایلر کدویژن انجام شده، روی خروجی های OC1A و OC1B و OC1C در mega64، سه خروجی PWM سینوسی با اختلاف فاز 120 درجه تولید می شوند. کنترل تغییر فرکانس از طریق ولتاژ آنالوگ متصل به ADC0 انجام می شود. فرکانس خروجی در محدوده 0.5 تا 100 هرتز و با پله 0.1 هرتز تغییر می کند و در کل 996 فرکانس مختلف تولید می شود. اگر مقدار قرائت شده توسط ADC کمتر از 14 باشد، هر سه خروجی در وضعیت Low قرار می گیرند.فرکانس حامل PWM برابر 15.6 کیلوهرتز است و کلاک mega64 در مقدار 8 مگاهرتز باید تنظیم شود. با فیلتر کردن 3 خروجی می توان 3 سینوسی با اختلاف فاز 120 درجه را مشاهده کرد که این عملیات می تواند توسط 3 فیلتر RC با فرکانس قطع مناسب انجام شود. در آخرین نسخه پروژه، مقدار Acceleration از طریق ولتاژ اعمال شده به ADC1 و مقدار Deceleration از طریق ولتاژ اعمال شده به ADC2 قابل تنظیم هستند. محدوده تغییرات برای هر یک از این دو پارامتر 255-1 ثانیه است که به معنای زمان تغییر به میزان 100 هرتز در فرکانس است.
این کد در بخش پروژه های سایت AVRFreaks قرار داده شده است. در ادامه 4 نسخه مختلف از این پروژه برای دانلود قرار داده می شود.
1391/07/12 فایل SPWM3.zip قرار داده شد.
1392/06/27 نسخه جدید پروژه (SPWM3_4Rev0.zip) با اضافه کردن کلیدهای Run و Stop و Direction و Led هایی برای تعیین جهت و وضعیت فعال بودن موتور و همچنین پشتیبانی از شرایط fault قرار داده شد. شماتیک پروژه در پست زیر قرار دارد:
اینجا
این کد در بخش پروژه های سایت AVRFreaks قرار داده شده است. در ادامه 4 نسخه مختلف از این پروژه برای دانلود قرار داده می شود.
1391/07/12 فایل SPWM3.zip قرار داده شد.
1392/06/27 نسخه جدید پروژه (SPWM3_4Rev0.zip) با اضافه کردن کلیدهای Run و Stop و Direction و Led هایی برای تعیین جهت و وضعیت فعال بودن موتور و همچنین پشتیبانی از شرایط fault قرار داده شد. شماتیک پروژه در پست زیر قرار دارد:
اینجا
دیدگاه