سلام
من قصد دارم با PIC18F26K22 یک پروژه SPWM 3فاز برای کنترل موتور انجام بدم. با اقتباس از برنامه جناب طراح که در بخش AVR گذاشتن یک کدی نوشتم که در مرحله اول جواب داد. اما وقتی میخوام فرکانس موج سینوسی رو با تایمر تعیین کنم به مشکل خوردم.
طبق محاسبات من برای فرکانس 50 هرتز :
فرکانس کریستال 16مگ. سیکل ماشین= us 0.25
که تقریباً برابر 20 میلی ثانیه میشه و درنتیجه فرکانس سینوسی باید 50 هرتز باشه ولی در عمل نتیجه 44 هرتز هست که به عبارتی زمان سرریز تایمر بجای 78 میکروثانیه 88 میکروثانیه هست.
حالا سوالم اینه که چرا اینطوری میشه و باید چکار کرد؟
فایلهای پروژه
من قصد دارم با PIC18F26K22 یک پروژه SPWM 3فاز برای کنترل موتور انجام بدم. با اقتباس از برنامه جناب طراح که در بخش AVR گذاشتن یک کدی نوشتم که در مرحله اول جواب داد. اما وقتی میخوام فرکانس موج سینوسی رو با تایمر تعیین کنم به مشکل خوردم.
طبق محاسبات من برای فرکانس 50 هرتز :
فرکانس کریستال 16مگ. سیکل ماشین= us 0.25
کد:
65535-312 = 65223 312 x 0.25us = 78us 78us x 256 = 19.968 ms
حالا سوالم اینه که چرا اینطوری میشه و باید چکار کرد؟
فایلهای پروژه
دیدگاه