16f628a reset atmadan servo motorun çalışmaması

Başlatan okay57, 25 Mayıs 2015, 15:37:07

okay57

Arkadaşlar devremde servo motorlara enerji verildiğinde bir kıpırdıyor sonra motorlar buton ile kontro edilmiyor ama pici resetlersem motor kontrol ediliyor. Yani motoru çalıştırmak için ilk çalıştırmada pici resetlemek gerekiyor. PUT komutuyla bellirli bir süre pici resette tut dedim olmadı. Acaba yazılımsal reset atmam mümkünmü. Birde gecikme attım o da olmadı.

okay57

#1
//picproje.org

#include <16F628A.h>
#fuses NOPROTECT,  NOWDT, NOLVP, INTRC_IO // INTRC_IO;DAHİLİ OSİLATÖR KULLANILACAK,
#use delay(clock=4000000)

#use fast_io (a) //trisleri kendimiz ayarlayalim
#use fast_io (b)

long s1=100,s2=2000; //darbe genislik sureleri, mikrosaniye cinsinden

#define ileri input(PIN_A0)
#define geri  input(PIN_A1)
#define ileri_KANAT input(PIN_A2)
#define geri_KANAT  input(PIN_A3)


void main(){

set_tris_b(0b11111100);
set_tris_a(0b11111111);
output_a(0x00);
output_b(0x00);
while(True){
  
 while(ileri==1&ileri_KANAT==1&geri_KANAT==1)
   {
      output_high(pin_b0);
      delay_us(s1);
      output_low(pin_b0);

      delay_us(20000-s1);
   }
 
   while(geri==1&ileri_KANAT==1&geri_KANAT==1)
   {
      output_high(pin_b0);
      delay_us(s2);
      output_low(pin_b0);


      delay_us(20000-s2);
   }
  
   while(ileri_KANAT==0)
   {

      output_high(pin_b1);
      delay_us(s1);
      output_low(pin_b1);

      delay_us(20000-s1);
   }
   
   while(geri_KANAT==0)
   {

      output_high(pin_b1);
      delay_us(s2);
      output_low(pin_b1);

      delay_us(20000-s2);
   }
   
}//while
}//main


mesaj birleştirme:: 25 Mayıs 2015, 19:25:27

B portunun 1. biti ilk motoru 2. biti 2. ve 3. motora bilgi göndererek motorları  çalıştırmakta. A portunun ilk dört bitine motor kontrolü için buton bağlı.

Gökhan BEKEN

Besleme aynı mı?
Sigorta ayarlarından BOR'u iptal edip deneyin bir de...
Ama beslemeler farklı ise sorun olmaması lazım.
Özel mesaj okumuyorum, lütfen göndermeyin.

okay57

#3
Beslemeler aynı ama reset atınca motorlar çalışıyor.
Beslemeleri farklı yaparsam kaynaklarının eksilerini birleştirmem gerekiyor mu?

mesaj birleştirme:: 25 Mayıs 2015, 19:37:29

Boru nasıl iptal edebilirim. Sigorta ayarlarını ben elle yazıyorum programla ayarlamıyorum da.

Gökhan BEKEN

Evet GND'leri birleştirmeniz gerekiyor.
BOR'un kullanımı, help'de yazıyordur. #fuses diye birşey olması lazım.
ccs c bilmiyorum.
Özel mesaj okumuyorum, lütfen göndermeyin.