امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 2
  • 1
  • 2
  • 3
  • 4
  • 5
کمک در نوشتن برنامه
نویسنده پیام
student123 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 27
موضوع‌ها: 7
تاریخ عضویت: اردیبهشت ۱۳۹۳

تشکرها : 16
( 2 تشکر در 2 ارسال )
ارسال: #1
Exclamation  کمک در نوشتن برنامه
سلام . من برنامه ای با کدویژن میخوام که به ازای زاویه ی 10 تا 170 درجه ی سینوسی و 190 تا 350 درجه پالس داشته باشم.و فرکانس این پالس ها هم قابل تغییر باشه.چیکار باید بکنم؟
ممنون میشم اگر سریع کمک کنید.خیلی گیرمSad
ميخوام مثل اين برنامه اي که اينجا هست باشد : در اين برنامه نمونه هاي سينوسي رو دارم و ديوتي سايکل با اونها تغيير ميکنه .من خودم فکر کردم به نظرم اومد که از مد phase correct استفاده کنم و مثه برنامه ي زير جدول درجه ها يي رو که به ازاي اون ميخوام پالس داشته باشم رو هم به عنوان ocr بدم و بعد با تغيير icr1l فرکانسمو تغيير بدم.ولي جواب نداد :sad:
در واقع ميخوام در کل دوره ي يک سينوسي 2 پالس به جاي اين 255 پالس داشته باشم و فرکانس سينوسي ام هم تغيير بکنه . به زباني ميخوام spwm درست کنم.نميدونم تونستم منظورمو برسونم؟؟؟
کد php:
#include <mega16.h>

flash char sinewave[]={
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x03,0x03,0x04,0x05,0x06,0x07,0x08,
0x09,0x0a,0x0c,0x0d,0x0f,0x10,0x12,0x13,0x15,0x17,0x19,0x1b,0x1d,0x1f,0x21,0x23,
0x25,0x27,0x2a,0x2c,0x2e,0x31,0x33,0x36,0x38,0x3b,0x3e,0x40,0x43,0x46,0x49,0x4c,
0x4f,0x51,0x54,0x57,0x5a,0x5d,0x60,0x63,0x67,0x6a,0x6d,0x70,0x73,0x76,0x79,0x7c,
0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,
0xb0,0xb3,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0xd5,0xd8,
0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xed,0xef,0xf0,0xf2,0xf3,0xf5,
0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,
0xf6,0xf5,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe2,0xe0,0xde,0xdc,
0xda,0xd8,0xd5,0xd3,0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb3,
0xb0,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x98,0x95,0x92,0x8f,0x8c,0x89,0x86,0x83,
0x80,0x7c,0x79,0x76,0x73,0x70,0x6d,0x6a,0x67,0x63,0x60,0x5d,0x5a,0x57,0x54,0x51,
0x4f,0x4c,0x49,0x46,0x43,0x40,0x3e,0x3b,0x38,0x36,0x33,0x31,0x2e,0x2c,0x2a,0x27,
0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17,0x15,0x13,0x12,0x10,0x0f,0x0d,0x0c,0x0a,
0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x03,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01
};

char i=0;

interrupt [TIM1_COMPAvoid timer1_compa_isr(void)
{
   
OCR1A=sinewave;
   
i++;
   if(
i==255)
   
i=0;
}

void main(void) {

DDRD=0xFF;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 8000.000 kHz
// Mode: Fast PWM top=00FFh
// OC1A output: Non-Inv.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
TCCR1A=0x81;
TCCR1B=0x09;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x10;

//enable global interrups
#asm("sei");

    
while (1);

(آخرین ویرایش در این ارسال: ۰۸-مرداد-۱۳۹۳, ۱۳:۱۹:۲۴، توسط رسول.)
۰۸-مرداد-۱۳۹۳, ۰۱:۰۶:۵۶
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #2
RE: کمک در نوشتن برنامه
spwm مخفف چی می شه؟
Synchronized Pulse Width Modulation ؟
یا
Sinusoidal Puls Width Modulation ؟
یا
...؟

در موردش یه مطلب شسته رفته با ورودی و خروجی هاش و در نهایت waveform هاش بذارید .
بعد بگید چه چیزهاییش قابل کنترل هست و در نهایت کاربردش چی هست .
از توضیحاتتون چیز خاصی متوجه نشدم. اگر مفهوم و فلسفه اش رو خوب بتونید جا بندازید شاید بتونم کمکتون کنم.
ممنون و موفق باشید.

۰۸-مرداد-۱۳۹۳, ۲۰:۳۵:۵۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, WhiteNoise, salehjg, omid_phoenix


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  نوشتن عدد روی LCD با KEYPAD ehsancompany 3 5,131 ۰۸-دى-۱۳۹۰, ۱۶:۴۷:۱۹
آخرین ارسال: abbasalifix
  کمک برای نوشتن برنامه مسیریاب hamedskort 11 9,574 ۲۸-شهریور-۱۳۹۰, ۱۹:۵۰:۵۹
آخرین ارسال: mg.javad
  نوشتن برنامه ربات مسیریاب skh1300 1 3,858 ۱۶-دى-۱۳۸۹, ۱۷:۲۷:۳۳
آخرین ارسال: ALI cv-c

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS