ileri geri dc motor devresi zaman ayarı yardım

onurody

Üye
Katılım
18 Ara 2012
Mesajlar
2
Puanları
1
Yaş
38
mrb
arkadaşlar kurmaya çalıştıgım bir devre var
tek butonla ileri geri çalışan zaman ayarlı motor devresi
sorunum şu potdan ayar yapıyorum butona basılı tutunca ileri dönüyor ayar zamanı sonunda duruyor butonu bırakınca geri dönüyor ayarlı zaman sonunda duruyor
ama geri dönüşte her zaman biraz kısa dönüyör

bunu engelemek için acaba şöyle bir olay yapıla bilirmi butona bastgımızda adc okuyup dönmeye başladıgında dönüş zamanını kayıt ettirip geri dönüşe aktara bilirmiyiz
c kodunda bunu nasıl yapabilirim
 
Otomatik sigorta bulunduğu devreyi yüksek akım ve kısa devre akımlarından koruyan bir anahtarlama elamanıdır.
İyi bir topraklama değeri sıfıra ohm'a yakın olan değerdir. Fakat her işte olduğu topraklamadada maliyetler önemli, onun için iyi bir topraklama değeri izin verilen değerler içinde olandır.
c koduda bu

#include <16F876A.h>
#device adc=10
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#use delay(clock=4000000)
unsigned long int adc;
void ileri(void){
output_high(pin_c0);output_low(pin_c1);
output_high(pin_c6);output_low(pin_c7);
output_high(pin_c2);output_high(pin_c5);
delay_ms(adc);
output_low(pin_c2);output_low(pin_c5);
}
void geri(void){
output_high(pin_c1);output_low(pin_c0);
output_high(pin_c7);output_low(pin_c6);
output_high(pin_c2);output_high(pin_c5);
delay_ms(adc);
output_low(pin_c2);output_low(pin_c5);
}
void main()
{
setup_adc_ports(AN0); //ANALOG GİRİŞLER TANIMLANIYOR
setup_adc(ADC_CLOCK_INTERNAL); // SADECE A0 ANALOG GİRİŞİ AÇILMIŞ
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);

set_adc_channel(0);
output_low(pin_c2);output_low(pin_c5);
delay_ms(500);
while(1){
off:
if(input(pin_a5)==1)goto off;
while(!input(pin_a1)==1){if(input(pin_a5)==1)goto off;}
if(input(pin_a1)==1){
delay_us(50);
adc=read_adc()*5;
delay_us(50);
ileri();}
while(input(pin_a1));
geri();
}}
 
bu sorunun yeri burası deil .. ayrıca pıc şema başka hiç bir şey yok ... cevap bulman biraz zor olur
 

Forum istatistikleri

Konular
127,952
Mesajlar
913,879
Kullanıcılar
449,599
Son üye
Gksn

Yeni konular

Geri
Üst