Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: samet_ehm - 06 Mart 2015, 10:43:10

Başlık: DC motor hızlandırma
Gönderen: samet_ehm - 06 Mart 2015, 10:43:10
Arkadaşlar merhaba. Çözemediğim bir konu için yardımınızı isteyeceğim. Aşağıda kodu ve şeması bulunan devre şuan çalışmakta. motorlar ayrı ayrı sağa sola döndürülüyor. Fakat benim için hızı önemli yardımcı olabilirseniz. İsteğim motorun hızını arttırmak. Ve de board üzerine kurduğumda L293 entegresi çıkışına transistör bağlamam gerektiğini söylediler ( entegre çıkışındaki gücü üzerine almak için). Bu konudaki görüşleriniz nelerdir ?
#include <motor2.h>
#fuses XT, NOWDT, NOPROTECT, NOBROWNOUT, NOLVP, NOPUT, NOWRT, NODEBUG, NOCPD
#use delay (clock=4000000)

#use fast_io(b)
#use fast_io(c)
#use fast_io(d)

void main()
{
setup_psp(PSP_DISABLED);
setup_timer_1(T1_DISABLED);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);


set_tris_d(0x0F);
set_tris_b(0x00);
set_tris_c(0x06);
output_b(0x00);
output_d(0x80);

setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);

setup_timer_2(T2_DIV_BY_16,120,1);
set_pwm1_duty(120);
set_pwm2_duty(120);

while(1)
{
   if(input(pin_d0)) // Sağa Döndürme
   {
   delay_ms(20);
   while(input(pin_d0));
   output_high(pin_b0);
   output_low(pin_b1);
   set_pwm1_duty(120);
   
   }
   
   if(input(pin_d1)) // Sola Döndürme
   {
   delay_ms(20);
   while(input(pin_d1));
   output_high(pin_b1);
   output_low(pin_b0);
   set_pwm1_duty(120);
   
   }
   
   if(input(pin_d2))
   {
   delay_ms(20);
   while(input(pin_d2));
   output_high(pin_b6);
   output_low(pin_b7);
   
   set_pwm2_duty(120);
   }
   
   if(input(pin_d3))
   {
   delay_ms(20);
   while(input(pin_d3));
   output_high(pin_b7);
   output_low(pin_b6);
   
   set_pwm2_duty(120);
   }
   }
}

(http://s17.postimg.cc/vl2m703zf/motor2.jpg) (http://postimg.cc/image/vl2m703zf/)
Başlık: Ynt: DC motor hızlandırma
Gönderen: vitruvius - 06 Mart 2015, 12:49:05
Merhaba, hız ayarı yapmak için pwm değerini değiştirmeniz gerekir. 6V DC motor için gücün bir sorun olacağını düşünmüyorum.
Başlık: Ynt: DC motor hızlandırma
Gönderen: samet_ehm - 06 Mart 2015, 13:01:09
Vermiş olduğum kod üzerinden gidersek nerelerde ki değerleri kaç yapmam gerek peki ?
Başlık: Ynt: DC motor hızlandırma
Gönderen: fatal16 - 06 Mart 2015, 13:29:28
Dc motoru farklı kaynaktan beslemen daha sağlıklı olur.

Hız kontrolü için enable uçlarını pwm ile kontrol etmen gerekli.
Pwm çıkış arttıkça hızlanır, azaltıldıkça yavaşlar motorlar.
Başlık: Ynt: DC motor hızlandırma
Gönderen: samet_ehm - 06 Mart 2015, 14:53:26
Enable pinini pwm ile nasil kontrol edebilirim ? Ufak bir ornek verebilir misiniz ?
Başlık: Ynt: DC motor hızlandırma
Gönderen: aliveli - 06 Mart 2015, 21:19:21
daha hızlı motor kullanacaksın
yada motorlar dayanıklıysa daha fazla gerilim vereceksin yazılımla son hızı vermişsin zaten
Başlık: Ynt: DC motor hızlandırma
Gönderen: samet_ehm - 06 Mart 2015, 21:26:30
Motor 6v 500rpm 9w ilk reduktorlu DC motor
Başlık: Ynt: DC motor hızlandırma
Gönderen: vitruvius - 06 Mart 2015, 22:12:06
PWM çıkışını enable pinine vermişsiniz zaten. Ancak PWM'i maksimum kullanıyorsunuz aliveli'nin dediği gibi. set_pwmn_duty() fonksiyonunu daha düşük değerden başlatıp butona basıldığında değerini kademeli olarak 120'ye kadar arttırabilirsiniz. Bu şekilde hızlanmayı görürsünüz. Aynı şekilde diğer butonla da set_pwmn_duty()'nin değerini düşürürseniz bu sefer de yavaşlamayı görürsünüz.
Başlık: Ynt: DC motor hızlandırma
Gönderen: samet_ehm - 07 Mart 2015, 11:01:03
Bir problemle daha karsilastim. Saga - sola- durma işlemleri 2 sn araliklarla gerçekleştirilecek.(sağa 2sn dur 2sn sola 2sn dur 2sn) Simülasyon da doğru bir şekilde calisti fakat board üzerinde kurdum motorun yon hep tek tarafa donuyor.( sağa 2sn dur 2sn sağa 2 sn olarak) l293 cikislarindaki motor baglantilarini ters çevirince de ayni hatayi ters yonde hareket ederek veriyor.
Başlık: Ynt: DC motor hızlandırma
Gönderen: vitruvius - 08 Mart 2015, 18:39:02
Kodun son halini koyar mısınız?
Başlık: Ynt: DC motor hızlandırma
Gönderen: samet_ehm - 10 Mart 2015, 14:53:56
İlk verdiğim kodu denedim tek motor için o hatayı aldım. PWM sürelerini değiştiriyorum hızı ayarlayabilmek için gözle görülür bir değişiklikte algılayamadım. acaba entegrenin çıkışı yetmiyor mu diye düşünmekteyim. L293B entegresi kullanıyorum.