Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

DC Motor kontrolü & PWM Frekansı

Başlatan jozzef, 19 Ağustos 2011, 16:54:01

jozzef

Merhaba,
16F877A'nın CCP modülünü kullanarak DC motor hızını ayarlamak istiyorum. 20MHZlik kristalim var. Elde edebileceğim en düşün frekans
PR2=255 & setup_timer_2(t2_div_by_16) ile 1220Hz oluyor. Motordan sadece ıslık sesi geliyor. Frekansı düşürmek için tek yol kristali mi değiştirmek?
Teşekkürler

Tagli

Frekansı neden düşürmen gerekiyor ki? İş zamanını doğru şekilde ayarlıyor musun? Motor hızının frekans ile doğrudan bir ilgisi yok. Asıl önemli olan iş zamanı (duty cycle).
Gökçe Tağlıoğlu

satilla

duty'yi arttır zırıltı kesilecektir

serdararikan

frekansı düşürmek yerine artırmayı dene bence.

ete

Frekansı düşürmek yerine en azından 5Khz ve hatta mümkünse 10Khz dolayında çıkarmalısın. İnleme sesi otomatik olarak kesilecektir.
Motor düşük frekanstan dolayı inlemektedir. Hızı yine Duty (iş zamanı) değerini değiştirerek yapacaksın. Bu şekilde motor 0- max devir arasında sana hız verecektir. Tabiiki uygun sürücü ile.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

jozzef

#5
Cevaplarınız için çok teşekkürler arkadaşlar.
Frekansı yükselttikçe motorum mıymıylanmayı bırakıp dönmeye başladı.
Yalnız sadece belli bir frekansta ve min %50 dutyde çalışmaya başlıyor.
setup_timer_2(T2_div_by_1,16,1);
=>set_pwm1_duty(%50)

Burda PR2 veya bölüm sayısını değiştirdiğim de ya max hızda çalışıyor ya da hiç çalışmıyor.
-Bu durum normal midir? Kodumun tamamı aşağıda, L293D kullanıyorum, CCP1 çıkışı enable 1'e bağlı. Motor hızını kontrol etmek için POT kullanıyorum.

#include <16f877A.h>  
#device ADC=8
#fuses HS,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD 
#use delay(clock=20000000)  
#use fast_io(c)
#use fast_io(d)
#org 0x1F00, 0x1FFF void loader16F877A(void) {}

// Değişkenler
unsigned int pot;

// Ana Fonksiyon
void main ()
{
   setup_psp(PSP_DISABLED);        // PSP birimi devre dışı
   setup_spi(SPI_SS_DISABLED);     // SPI birimi devre dışı
   setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı        
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı
   setup_comparator(NC_NC_NC_NC);  // Karşılaştırıcı devre dışı

   setup_timer_2(T2_div_by_1,16,1);
   setup_CCP1(CCP_PWM); 
   setup_adc(ADC_clock_div_32);   
   setup_adc_ports(AN0);   
   set_adc_channel(0); // POT AN0'a bağlı
   set_tris_d(0x00);
   set_tris_c(0x00);  
   output_high(pin_d0); //L293D kontrol uçları
   output_low(pin_d1); //L293D kontrol uçları
   delay_ms(20); // Kanal seçtikten sonra bekleme vermek zorunludur
   

   while(1)
   {
      pot=read_adc();

      // Pot min=8 max=15 arasında sınırlama için
      if(pot>=240)
         pot=240;

      if(pot<=128)
         pot=128;

      pot=pot/16;

      set_pwm1_duty(pot);
      
   }
}


camby

pwm frekansını çok arttırırsak ne olur ? Frekansın motor kontrolü üzerindeki etkisi nedir ?

jozzef

Alıntı yapılan: camby - 19 Ağustos 2011, 18:33:20
pwm frekansını çok arttırırsak ne olur ? Frekansın motor kontrolü üzerindeki etkisi nedir ?
Çok arttırınca motor kontrolden çıkıyor, sadece maximum hızda dönüyor

drmp

#8
frekansın artması motor gücünde düşüşe sebeb oluyor  ısı kayıplar  motor direnci mosfetlerin lineer moda geçmesi vs

tayyar

Peki uygun frekans nasıl bulunur/hesaplanır?
--EGEMENLİK KAYITSIZ ŞARTSIZ MİLLETİNDİR--

drmp

ben bir aralar bu motor olayına çok takmıştım senin dediğin gibi olaylar başıma çok geldi   2 pot koydum devreme  duty ve frekans en uygun frekans  bendeki motor için (24v 350w 1000 rpm) 2-8 khz çok uygundu tamamıyla dememe mantığı ile yürüdüm

frat

Motorun induktansı'nın ve iç direncinin bilinmesi gerekir.

Yüksek frekanslarda motorun bobini hızlı açılıp kapanma anlarında akımı yakalayabilmelidir. Bu durum için de

2 x (Pi) x f x L >> R  olmalıdır, yaklaşık 10 kat daha büyük olmalı.

f:  Sürüş Frekansımız hz cinsinden
L: Motor induktansı Henri Cinsinden
R: Motor iç direnci ohm cinsinden

İç direnci ohmmerte ile ölçebilirsiniz. L içinse induktansMetre yada motor pdf'inde araşırmalısınız. Kullandığınız motorlar maxon, faulhaber gbi motorlarsa tüm verileri pdf'lerinde mevcuttur. Ama uzakdoğu malıysa üreticileri dahi bilgilerini bilmiyor...:)
DataCNC ve Robotus Mühendislik Kurucusu // https://www.robotus.net & https://www.datacnc.com