Sayıcı devresi hatası

Başlatan HASAN48, 27 Aralık 2013, 10:46:05

HASAN48

Sayın ETE hocam enson programı düzenlediğiniz şekilde hex haline getirip isis te devreyi simüle ettimve  pice yükledim.Devreyi protoboarda kurdum fakat devre çalışmayıp ekranda hata veriyo altta resimi ekledim.Yardımcı olursanız sevinirim.

ete

Kullandığın işlemci 16f84A ise dahili osc si yoktur. Bu nedenle kristal osilatör yada 4 Mhzlik rezonatör kullanman gerekiyor. Kristal kullanırsan iki bacaklıdır. Bacaklar pic in osc1 ve osc2 bacaklarına bağlanacaktır. Her bir bacak ile gnd arasına 22pF kondansatör bağlanacaktır.
Rezonatör kullanırsan 3 bacaklıdır dıştaki bacaklar osc1 ve osc2 bacaklarına ortadaki bacak gnd ye bağlanacaktır.
Bu işlemcinin Mclr bacağıda 10 k direnç ile +5V ta bağlanmalıdır.
Lcd nin 3 nolu bacağı kontrast bacağıdır. Normal şartlarda o bacak 10 lık trimpotun orta ucuna bağlanır. Trimpotun diğer iki bacağından biri +5v ta diğeride gnd ye bağlanır. Sistem çalıştıktan sonra ekranda yazı görünceye kadar trimpot ile kontrast ayarı yapılır. 

Ete

HASAN48

Hocam ozaman programda herhangi bölümü yani define osc4 bölümünü değiştirmemize gerek varmı.

ete

Hiç bir yer değişmeyecek. Bu anlattıklarımın programla alakası yok zaten devrenin olmazsa olmazlarıdır. Define osc 4 bir çalışma frekansı bildirgecidir.  Program gecikmeleri bu komuta göre çalışır. Dahili osc de olsa harici osc de olsa bu komut verilmelidir.
Ete

HASAN48

Hocam Allah razı olsun dediklerinizi aynen yaptım ve fotodiyot ile devreyi kurdum.Ekrana gayet güzel herşey geldi ama şöylebir sorun var şimdi fotodiyotun üzerine ışık düşüyor 5v üretiyor tam aradan bir şey geçtiğinde geçerken bi artıyo bide bitince bi artıyor sistem yabi bir cisim geçtiğinde 2 kere sayıyor.Bu programdan kaynaklanabilirmi.

ete

Elbette çift sayma programdandır. Şemana bakılırsa foto diyot pini low da beklemekte ve lazer geldğinde diyot 5v tu geçirip diyot pinini high yapmaktadır.  Kavram kargaşasını ortadan kaldırmak için diyot pini engel var iken hangi konumda , engel yok iken hangi konumda olduğunu söylersen gereken tedbiri alırız.
Birazda sen kafayı çalıştırıp programın mevcut halinide düzenlesen olacak aslında.  Engel yok iken lazer diyot üzerine düşüp diyot pinini high da tuttuğunu düşünürsek,
Temel mantık şöyle,
Pin high da ise low olmasını yani bir engel görmesini beklemek gerekiyor.
While pin=1:wend. Bu komut satırı programı pin=0 oluncaya kadar bekletir. Program bu satırı geçerse pin low olmuş demektir. O halde sayacı bir artırıp biraz gecikme vermek ve ardından engelin geçmesini beklemek gerekir. Engel diyot dan kurtulunca pin yemiden high olacaktır. Ohalde,
Sayac=sayac+1
Pause 50
While pin=0:wend
Pause 50.  Şeklinde tekrar bir gecikme verip programı başa yollamak yeterli olacaktır.
Ete

zeus48

Ete hocam mrb. Bu arada benimde bir sorum olacak. Arkadaşın şemasına baktım filtre kullanmıyor. Foto diyot   güneş ve çevresel koşullardan nasıl korunacak.

ete

Bana değil ona sormak lazım. Deneysel amaçlı bir devre ise sorun olmaz. İç ortamda çalışıyor ise yine sorun olmaz.
Zaten fotodiyotun burada bu şekilde nasıl çalıştığınıda anlamıyorum. Çok düşük seviyelerde çıkış verir aslında önünde opmap transistör vs kullanıp kuvvetlendirmek gerekir. Çalışıyorsa bravo o fotodiyota zaten.

Ete

İlyas KAYA

İç mekanda da floransandan etkilenecektir.

Bu nedenle sorunu daha aza indirgemek ve cisim saymak için TK-19 gibi bir alıcı kullanıp, şifreli IR data gönderip almak en makul çözüm olacaktır.

Toshiba firmasının TC9148 ve TC9149 entegreleri en basit donanım olarak kullanılabilir.(Piyasada mevcud)
Yalnız bu iki entegre de mutlaka orjinal olmak durumunda. Aksi halde sıkıntı çıkartıyor.

Diğer bir yöntem PT2262IR ve PT2272 çifti. Eğer PT2262IR bulunanaz ise önüne 555 li 38khz taşıyıcı yapıp karşıya iletilebilir.

Ben daha önce yapmıştım ve çok da sağlıklı , hızlı çalışıyor.



Saygılarımla.
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

Powered by EzPortal