14 Mart 2012 Çarşamba

16F877 ile ADC ve Pot Kullanarak R/C Servo Kontrolü

Bread Board görüntüsü (1 servo)
Şimdilik sadece şemasını ve kodlarını koyabildim, en uygun zamanda açıklamasını ekleyeceğim.

Bread Board görüntüsü (paralel 3 servo)
ISIS Simülasyon şeması
ISIS Osilaskop görüntüsü
#include <16f877.h>
#device ADC=10
#fuses HS,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=10000000)

long int giris, bekle, cikis;

void main ()
{
   setup_psp(PSP_DISABLED);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_CCP1(CCP_OFF);
   setup_CCP2(CCP_OFF);
   setup_adc_ports(AN0);
   setup_adc(ADC_CLOCK_INTERNAL);
   set_adc_channel(0);
   delay_us(20);
   while(1)
   {
      giris=read_adc();
      cikis=((giris*1.76)+600);
      bekle=(20000-cikis);
      output_high(pin_b1);
      delay_us(cikis);
      output_low(pin_b1);
      delay_us(bekle);   
   }
}
......

5 yorum:

  1. kardeş kolay gelsin ares te çizdi isen koy.bende 4 pot ile 4 servo yu sürecem ama radyo kontrol ile yapacagım.çok teşekkür ettim bilgilendirici oldu

    YanıtlaSil
  2. merhaba bu projede motor sayısını ve potansiyometre sayısını nasıl arttırabilirim kodlar üzerinde bir örnek verebilir misiniz paylaşımlar için teşekkürler.

    YanıtlaSil
  3. servo_pwm.hex.c file cannot be opened hatası alıyorum acaba sebebini biliyormusunuz

    YanıtlaSil
  4. merhaba acaba bana while içindeki şu kısmı açıklarmısınız nasıl hesaplanır
    ""cikis=((giris*1.76)+600);
    bekle=(20000-cikis);""

    YanıtlaSil
  5. Hangi program ile yazdınız mplapx mi yoksa başka program ile mi

    YanıtlaSil