Ynt: İsis, servo motor hakkında

Başlatan ziyaretci, 06 Mart 2014, 23:33:26

ziyaretci

Merhaba,

İsis de servo motor ile ufak bir uygulama yapmaya çalışıyorum. Çalışma mantığı ile ilgili. 2 tane buton var biri -90 diğeri +90 için.
PWM ile yapmadım. CCS C de varolan gecikme süreleri ile yaptım. Sıkıntım butonlardan -90 olanına bastığımda +90 sağa direkt dönüyor. Sonraki girişlerde çalışma prensibinin verdiği sonuçları düzgün bir şekilde görebiliyorum. Bunun nedeni ne olabilir? İlk girişte istenmeyen sonuç sonraki girişlerde düzgün sonuç. Yazdığım kodlar aşağıda.
#include <16f84.h>
#Fuses XT,Nowdt
#use delay(clock=4M)

unsigned int8 i,j;

void K1(){
for(i=0;i<1;i++){
output_high(pin_b0);
delay_us(1250);
output_low(pin_b0);
delay_us(1250);
}
}
Void K2(){
for(j=0;j<1;j++){
output_high(pin_b0);
delay_us(1750);
output_low(pin_b0);
delay_us(1750);
}
}


Void main(){
For(;;){
if(input(pin_a0)){while(input(pin_a0)); K1();}
if(input(pin_a1)){while(input(pin_a1)); K2();}


 }
}


mesaj birleştirme:: 06 Mart 2014, 23:46:03

Sorun çözüldü. B0 pin'ini kararsız tuttuğumdan dolayıymış. Servo bilgi girişine 10K toprak yaptım sorun çözüldü.