pic 16f628 elimi yaklastırınca etkilenmemesi için ne yapmalıyım

Başlatan kaybolanruh, 31 Ocak 2011, 11:26:10

kaybolanruh

merhaba arkadaşlar

(step motor kontrol içindir)

aşağıda yazmış olduğum kodu pic'e yüklüyorum  ve çalıştırınca saçma sapan işler yapma başlıyor
elimi yaklastırınca sanki if komutları bilgi almış gibi çalışıyor gibi hal alıyor ama motorlarımdan sadece ötme sesi geliyor

ve

bu devreden 3adet var ve hepsi bir kartta kristal kullanmıyorum  mclr ' i kapalı çalıstırıyorum reset almasın diye ama 3 pic'i de takınca saçmalıyor sadece tek pici takıyorum çalışıyor yada bana öyle geliyor (normal gibi) ama diğer pic'i takınca saçmalıyor

böyle bir sorunu nasıl giderebilirim







'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2010 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 11.10.2010                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
define osc 4
Trisa=255
Trisb=%00000000


@ DEVICE pic16F628 'işlemci 16F628
@ DEVICE pic16F628, WDT_ON 'Watch Dog Timer açık
@ DEVICE pic16F628, PWRT_ON 'Power on Timer açık
@ DEVICE pic16F628, PROTECT_OFF 'Kod Protek kapalı
@ DEVICE pic16F628, MCLR_OFF 'MCLR pini kullanılmıyor.
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT 'Dahili osilatör kullanılacak

CMCON=7

b var byte
c var byte

portb=0


basla:
if porta.2=0 then
goto tamadim
else
goto yarimadim
endif
goto basla


tamadim:
if porta.1=1 then

LOOKUP b,[153,204,102,51],c

portb=c
if porta.0=1 then
b=b+1
endif

while porta.1=0:wend

if  b=4 then
b=0
endif

else


LOOKUP b,[153,204,102,51],c

portb=c
if porta.0=1 then
b=b-1
endif

while porta.0=1:wend

if  b=255 then
b=3
endif

endif

goto tamadim


yarimadim:
if porta.1=1 then

LOOKUP b,[153,136,204,68,102,34,51,17],c

portb=c
if porta.0=1 then
b=b+1
endif

while porta.0=1:wend

if  b=8 then
b=0
endif

else


LOOKUP b,[153,136,204,68,102,34,51,17],c

portb=c
if porta.0=1 then
b=b-1
endif

while porta.0=1:wend

if  b=255 then
b=7
endif

endif
goto yarimadim

eseneren

- Kullanmadığın portları cıkıs yap ve 0 bilgisi yolla breadboardda isen,
devre yapacaksan bunun dogrusu hepsini giris yapıp GND ye bağlamak ımıs.

- MCLR kontrol et direk + ya bagla

- ve + - arasına kondansator eklemeyı unutma

bunlardan degılse kodlara bakmak lazım (ben kodları ıncelemedım)
Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

Evren KILIÇ

[email]evren1623@hotmail.com[/email]

kaybolanruh

programı yeniden yazıyorum portların hepsini giriş yapıp eksiye bağlıcam
karta değişiklikler yapacam mclr direnc kullanmadan artıya bağlıcam


kaybolanruh

sorunu buldum galiba ama işlemcilerim yandı  daha doğrusu step ve dır bilgisini girdiğim portlar yandı

sorun da kullandığım bilgisayar güç kaynağından mış her pals göndermemde güç kaynağından frekans sesi geliyordu, işlemci kapanıyordu sanırım. 12v trafo ile denedim çalıştı ama portlarımda yandı yanlışlıkla 12v artı ile anahtar yapınca yandı portlar

bir başka sorum daha olacak 

bundan bir ay kadar önce bir pozlama makinası için zaman devresi yaptım 16f628 ile ve devre starta basılınca
zaman devreye giriyor röle çekiyor ve balanslı 8 adet florosan lambayı devreye sokuyor zaman dolunca kapanıyor

ama

ne yaptımsa resetlenmesini önleyemedim florasan lambalar her kipmesinde reset atıyor zamanı basa alıyor
bende zaman sürekli kullanılan zamana ayarladım busefer en az 4-5kez starta basınca alıyor  bunun için ne yapabilirim yaptıklarım(röleye 100nf kondasatör ve diyot bağladım,beslemeye 1000mf ve 100nf kondansator bağladım, sebekeye 220v ta dirençle 47nf kondansatör bağladım,mclr ile eksi arasına 68nf kondansatör bağladım )yinede resetliyor

bu konuda şimdilik hiç bişe yapamam ama bilgi olması açısından bilgi verirseniz sevinirim

eseneren

Başka bir başlık acarsan aynı sorunu yasayanlar ıcın de faydası olacaktır.
7805 kullanıyormusun?
Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

Maxim


remzi


kaybolanruh

evet 7805 kullanıyorum girişindede çıkısındada 2200mf +1000mf var

lvp zaten off konumda

kaybolanruh

starterler ateşlemeye başlayınca yapıyor sorunu 4-5kez yapınca florasan lambalar ısınmıs oluyor sonra ki basmada çalışıyor

eseneren

Alıntı yapılan: kaybolanruh - 31 Ocak 2011, 18:12:53
evet 7805 kullanıyorum girişindede çıkısındada 2200mf +1000mf var

lvp zaten off konumda

7805 i floresanlı devre için sormadım, (sanırım motor surucu devreye) 12V verince mcu portları yandı uzerıne step motor devresi için sordum
Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

kaybolanruh