if deyimi ile ilgili ufak bir soru.

Başlatan myprayer14, 26 Aralık 2016, 20:31:39

myprayer14

Herkese merhabalar,
Bir dc motorun hızını pwm değerini artırıp azaltarak değiştirmek istiyorum. Sonsuz döngü içerisinde butonlar ile sağ veya sola döndürüyorum. Diğer butonlar ile hızını artırıp azaltmak istiyorum. Ama hız kontrol kısmına gelince program oraya dallanıp motor duruyor. Hız değişimi yapıldıktan diğer yön butonlarına tekrar basmak kaydıyla istenilen hızda motor dönüyor. Ama ben hızın motor durmadan, dönerken değiştirmek istiyorum bunu nasıl yaparım?

Kodun ilgili kısmı;
for(;;)
      {
     
      if(!input(pin_a0))    //hız arttır;
      {
      delay_ms(100);
      while(!input(pin_a0));
      i=i+5;
     
      if(i>=50)
      i=50;
      }
       
      if(!input(pin_a1))   //hız azalt
      {
      delay_ms(100);
      while(!input(pin_a1));
      i=i-5;
     
      if(i<=15)
      i=15;
     
   
      }
           
             if(!input(pin_a3))   //motor sola dönsün.
               {
         
               delay_ms(100);
               while(!input(pin_a3));
               set_pwm1_duty(0);
               output_low(pin_c3);
               
               output_high(pin_c4) ;
               set_pwm2_duty(i);
               
               }
         
             if(!input(pin_a4))  // motor sağa dönsün
               {
         
               delay_ms(100);
               while(!input(pin_a4));
               set_pwm2_duty(0);
               output_low(pin_c4);
               
               output_high(pin_c3) ;
               set_pwm1_duty(i);
               
               }
               
                   
              if(!input(pin_a2))    // motor dursun
                {

                delay_ms(100);
                while(!input(pin_a2));
                output_low(pin_c3);
                output_low(pin_c4) ;
                set_pwm1_duty(0);
                set_pwm2_duty(0);
               
               
                }
     if(oldu)
               {
               delay_ms(10);
               
               printf(lcd_putc,"\f\nRPM DEGERI=%lu ",deger);
               
               oldu=0;
               }
         } 

xoom

Motor dönerken hız değişimi yapmak istiyorsan Duty değerinde yaptğın değişiklikleri Arttır/Azalt deyimlerinin içerisinde de belirtmelisin.
Yukaridaki kodlarla hızı değiştiriyorsun ama Pwm duty'ye bunu belirtmiyorsun. Kolay gelsin.

Powered by EzPortal