lojik 0

Başlatan designer.21, 28 Nisan 2020, 18:25:20

designer.21

Merhabalar; piyasada bulunan 5V - 12V röle kartlarından aldım. ürün detaylarında lojik 0 ile tetiklendiği belirtilmiş. ben de bu kısmı anlamadım. mesela o röle kartının tetiklenmesi için pic ile 0 voltu nasıl verecem

ete

Sıfır volt dediği GND oluyor. O röle low verince tetikleniyormuş. İşlemciden direk low vermek yerine High vererek bir NPN transistörü tetikle o transistörde röle ye low versin.  Böylece ilk açılışta işlemci bacaklarındaki karmaşadan kurtulursun.
Yok transistör kullanmayayım detsen işk açılışta röleyi tetikleyen bacak High ile açılmalı ve istendiği zaman low yapılarak röle çalıştırılmalıdır.
Ete

designer.21

buna istinaden ben de böyle basit bişey yaptım olmadı. butonlarla led yanıp sönüyor ama röle kartta herhangi bir hareketlilik olmadı
@ __config _CP_OFF & _PWRTE_ON & _WDT_ON & _LVP_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT

CMCON=7 
TRISA=0
TRISB=%00000011
PORTA=0
PORTB=0
              
BASLA:
    if PORTB.0=0  THEN
    PORTA.0=1
    ENDIF
    
    IF PORTB.1=0 THEN
    PORTA.0=0
    ENDIF

 GOTO BASLA
    END



ete

Programa bakılırsa röle ye hem high hemde low veriyorsun ama rölede hareket yok ise o rölenin çalışma sistemini ya anlayamadık yada röle bozuk.
Ete.

designer.21

Ete Hocam aynen dediğiniz gibi kart arızalıymış, devreye başka bir röle kart taktım çalıştı, buton 1 iken kapalı 0 iken tetikleniyor. Teşekkürler Hocam

designer.21

Hocam başka bir konudan daha yardıma ihtiyacım var. yeni başlık açmayayım diye buraya yazayım. 628a'yı 7805 ile çalıştıramıyorum. kondansatör taktım, 9V pil denedim, 12V adaptör denedim ne yaptıysam 7805 ile çalışmıyor. pic'in uçlarını ölçüyorum 4,80 civarlarında bir gerilim var ama bir ledi bile yakmıyor. onu söküyorum 4 kalem pil ile 6 volt veriyorum çalışıyor. elimde bulunan yaklaşık 10 tane 7805'i tek tek denedim yine olmadı.

onurinci

Pic'in 5 ve 14 nolu ayaklarına en kısa yoldan bir 100 nF kapasitör bağla,
eğer pic'in 4 nolu MCLR ayağı kullanılmıyorsa onu boşta bırakma + 5 volt ayağına yada 15 no'ya bağla.

7805 orta ayağından gürüş ve çıkış ayaklarına 100 nF kapasitör bağlar isen Pil kalitesinde gerilim verir..

designer.21

pic'in + ve - uçlarına taktığım 100 nF kapasitör sorunu çözdü. çok teşekkürler.

designer.21

bu defa da led flaşör gibi oluyor ve tutarsızlıklar olduktan bir süre sonra düzeliyor.

İlyas KAYA

#9
Butonların girişini  10k direnç ile 5volta a pull-up  yapın. Kararsızlık buradan kaynaklıdır.
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

onurinci

sıkıntı breadbord üstünde çalışıyorsan,teller anten gibi çalışabilir,parazitik sorunlar çıkar.
MCLR'ye önem ver bu 4 nolu pin kaprislidir.eğer Port'de WPU internal Pullup'lı çalışmıyorsan,ve switch bağladığın butonlara 5K...10K bir Pullup direnci bağla ,yani + 5 volt'a

eğer switch'lerin portA'da ise muhakkak Pullup drenci bağlamalısın,zira programdan aktif edebileceğin WPU registeri portA'da yok.

buraya kadar önerilerim 9 sıfır olunca aktif olan bölgeler içindi..
eğer switch'e basınca + yani pozitif geliyorsa bu durumda dirençler Gnd,şase,eksi,negatif terimleri kullandığımız tarafa atılacak,bunun jargonuda pulldown,zamanla bu kurallar otomatik gelişir dikkat bile etmeden kendin koyarsın zaten.

şimdi Logic devrelerin esası sıfır 0 yada 1 bir'e dayanıyor,giriş olarak ayarlanmış port zayıf akım dirençleri ile donatılmamış ise ,butona elini yaklaştırdığında anten gibi olur,bu durumda Tri sate oluşur, Pic karar vermekte zorlanır.kolay gelsin.
MOT bu kadar şey yazmam benim konuya hakim olduğumu göstermez,forumda çok konuşuldu bende dikkatle izledim.

designer.21

zaman ayırıp cevap yazdığınız için çok teşekkür ederim. sorun çözüldü.
yaptıklarım;

pic'in + ve - bacaklarına 100 nF ekledim
dahili pull-up'ları iptal edip butonlara 10 K'lık direnç bağladım.
MCLRE pinini aktifleştirip 4.7K ile 5V'a bağladım.

ve sorun çözüldü çok şükür. hepinize tekrar ayrı ayrı çok teşekkür ederim.

ete

#12
Mesajların başında verdiğin programa bakacak olursak asıl sorunun pullup özelliğinin açılmamış olmasını söyleyebilirim. 16F628 de pullup ları aktive eden komut Option_reg.7=0 komutudur. Sende bu eksik. Dİrek 10K bağlayınca sorunu aşmış oluyorsun.
Bu durumda besleme bacaklarına 100nf bağlama ekstra faydalı bir iş onada sözüm yok. Ama MCLR pini zaten pasif durumda olunca oraya direnç bağlaman sonucu etkileyecek bir unsur değil maalesef. Bence o direnci sök. Option ile ilgili komutu ekle ve bağladığın o 10K dirençleride sök.
Diğer bir eksiklik de programa açılış gecikmesi vermemiş olman. Her işlemci ilk çalıştırmada dahli registerlerini ayarlayabilmek için en az 150 ms yada ortalama 300 ms lik bir gecikme ister. Bu gecikmeyi verdikten sonra program BASLA satırına gelmeli oradan devam etmelidir. Gecikmeyş koymazsan ne olur? işlemci register yerleştirme iini pass geçmeye zarlanır ve registerlere tesadüfi olarak hangi değerler yerleşmiş ise o değerlerden açılır ve muhtemelen pic abuk subuk çalışır yada şansına doğru da çalışabilir. Bunu önleyip hep doğru çalışssın diyorsan mutlaka Basla satırından evvel ve genellikle değişken tanımlamalarından hemen sonra Pause 300 komutunu yerleştirmek gerekir.

Ete

designer.21

dün sorun halloldu dediğim yöntem bugün yine olmadı :( Ete Hocam dosyanın son halini bu şekil yaptım. yine olmadı, olmuyor. normalde direk taktığım zaman sorun yok çalışıyor ama güç kaynağını 7805'e takınca herşey bozuluyor. pic değiştim, regülatör değiştim yine olmadı.

@ __config _CP_OFF & _PWRTE_ON & _WDT_ON & _LVP_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT

CMCON=7
OPTION_REG.7=0 
TRISA=0
TRISB=%00000011
PORTA=0
PORTB=0
PAUSE 200
              
BASLA:
    if PORTB.0=0  THEN
    high PORTA.0
    ENDIF
    
    IF PORTB.1=0 THEN
    LOW PORTA.0
    ENDIF

 GOTO BASLA
    END



designer.21

ayrıca devrem de bu şekilde.




Powered by EzPortal