Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

PWM Sinyalleri Üretme

Başlatan emter, 27 Mart 2013, 19:58:54

emter

Bitirme projemizde kullanmak üzere 3 adet fırçasız dc motor aldık. Bu motorların hızları pwm sinyali ile kontrol edilmektedir.

 
while(1)
   {
   enable_interrupts(INT_RDA);
   output_high(pin_c1);
   delay_us(hiz);
   output_low(pin_c1);
   delay_ms(20);
   }


Yukarıdaki kod ile rs232 portundan gelen hiz değeri ile pwm sinyali üremekteyiz. Fakat birden çok pwm sinyali ürettiğimizde bu sinyaller birbirinin periyotlarını etkilemektedir. Yani ;
 
while(1)
   {
   enable_interrupts(INT_RDA);
   output_high(pin_c1);
   delay_us(hiz1);
   output_low(pin_c1);
   delay_ms(20);
 output_high(pin_c2);
   delay_us(hiz2);
   output_low(pin_c2);
   delay_ms(20);
   }


şeklinde iki pwm ürettiğimizde periyot değişmektedir. Bizim istediğim ise pwmler birbirinden bağımsız olsun. Bunu nasıl sağlayabiliriz?


ecunnu

Aslında bu işin birden fazla yolu var. Ya gider donanımsal olarak en az 3 tane pwm çıkışı alan bir mikrodenetleyici kullanırsın(en sağlam ,garanti,hızlı çözüm) yada yazılımsal olarak halledersin işini. Eğer çok hassas pwm sinyalleri gerekli deyil ise bir tane timer kesmesiyle istediğin kadar birbirinden bağımsız pwm üretmen mümkün. Tabi sayı arttıkça hassasiyet azalır. Araştırırsan bir çok yerde örneklerini bulman mümkün örneğin serdar çiçeğin ccs kitabında servo motorları anlattığı bölümde benzer bir uygulama vardı.