Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: tuzluerik - 27 Şubat 2018, 18:04:12

Başlık: PWM FREKANSI DEĞİŞTİRME (timer)
Gönderen: tuzluerik - 27 Şubat 2018, 18:04:12
PIC16F877A İle 50hz sinüs dalgası üretiyorum burda sorun yok, frekansı değiştirdikçe genlikde değişiyor aynı oranda. Bunu nasıl düzeltebilirim?

setup_timer_2(T2_DIV_BY_4,160,2)   // 160 yazan değeri değitirerek frekansı değiştiriyorum.
Başlık: Ynt: PWM FREKANSI DEĞİŞTİRME (timer)
Gönderen: Z80 - 01 Mart 2018, 17:15:48
Timer2 frekansını değiştirdiğn zaman duty oranını da değiştirmiş oluyorsun.
Formül şu : DUTY = PWM_DEĞERİ / ((PR2+1) x 4)
PR2=160 olduğunda PWM değeri 0-644 arasındadır. Örneğin PR2'yi 80 yaparsan frekans iki katına çıkar ama yoğunluk (resolution) düşer, PWM değeri 0-324 arasında olur.

Datasheet'inde PWM peryodu şu şekilde hesaplandğını göreceksin.
PWM Period = ((PR2) + 1) x 4 x TOSC x (TMR2 Prescale Value))
(TOSC = 1/FOSC) 

Anladığım kadarıyla SPWM ile sinüs üretiyorsun ve bunun frekansını değiştirmek istiyorsun. PWM frekansını değiştirerek bunu yapamazsın.

Tablodan okuma zamanını değiştirerek sinüs frekansını değiştirmelisin.   
Başlık: Ynt: PWM FREKANSI DEĞİŞTİRME (timer)
Gönderen: tuzluerik - 04 Mart 2018, 15:13:17
TEŞEKKÜR EDERİM DÜZELTTİM SORUNU SAYENİZDE,
Başlık: Ynt: PWM FREKANSI DEĞİŞTİRME (timer)
Gönderen: StunnerB - 26 Nisan 2018, 09:20:40
Nasıl yaptığınızı bana da söyler misiniz bitirme projemle ugraşıyorum da 50 hz sinüs kodunu oluşturamadım yardımcı olur musunuz lütfen