Devir sayısını sağlıklı ölçemiyorum?

Başlatan futureng, 31 Ocak 2009, 17:58:52

futureng

Devre şeması ve açıklama için çok çok teşekkür ederim. Umarım bu konu başka arkadaşlara da faydalı olur.

Normalde 2 Motordan CNY70 lerden 1 (high) sinyali geliyor. Yani senin dediğine göre bu high sinyalinini birini Low a çevirip, Aynı anda hem high hem de Low ları saydıracaz ve High sayısı 1.motoru ifade edecek, low sayısı ise 2. motorun devrini ifade edecek. Doğru mu anlamışım?
Ama bu durumda şunu sormak istiyorum pic' in "option" ayarında timer0 ı kurarken Sadece yükselen kenbarı say ya da düşen kenarı şeklinde ifade edebiliyoruz.(kastettiğim bit T0SE biti) Bu durumda nasıl olacak? Yine her durumda aynı anda. ya highı sayabilecez ya da low u?
GimpTR.COM: Hayal Gücünüzün Gerçek Dünyadaki Görünüşü  http://www.gimptr.com

alayli

Ah be sevgili "futureng" maalesef hiç bir şey anlamamışsın... :D  Evet yukarıdaki devre fazlasıyla işini görür ama anladığın şekilde değil... Aslında daha iyi anlayabilmek için yukarıdaki devreyi proteus'ta kur ve simulasyonda incele. Daha iyi anlarsın. Burada dediğin yükselen-düşen kenar karmaşası yok. Şu anki yazılımın nasıl çalışıyorsa öylece kalsın bu kısım. Aynı CNY70+opamp pals devresinden bir tane daha yap. bu pals çıkışlarını yukarıdaki 1. motor ve 2. motor palsleri yazan yerlere bağla... Muhtemelen PIC de boş bir çıkış bacağın vardır. Bu bacağıda kontrol ucu yazan yere bağla. Bu pinin porta.0 olduğunu farzedersek (porta.0 olması şart değil, çıkış olarak kullanılabilecek herhangi bir port-pin olabilir) yazılımın şu şekilde olmalıdır...

devir        => word boyutunda bir değişken
devir_motor1 => word boyutunda bir değişken
devir_motor2 => word boyutunda bir değişken

döngü:
  porta.0 = 1                '(porta0 ı bir yaptığında devir ölçme ucuna 1. motorun palsleri ulaşır)
  devir = 0
  devir_motor1 = 0
  motor palslerini okuyan alt programa git devri oku gel
  devir_motor1 = devir       ' (1. motor devrini okumuş ve ilgili değişkene atmış olduk)


  porta.0 = 0                '(porta0 ı sıfır yaptığında devir ölçme ucuna 2. motorun palsleri ulaşır)
  devir = 0
  devir_motor2 = 0
  motor palslerini okuyan alt programa git devri oku gel 
  devir_motor2 = devir       ' (2. motor devrini de okumuş ve ilgili değişkene atmış olduk)
  bu değerleri LCD'ye yazdır...
goto döngü
Anca kazganmiş itmiş ilimiz törümüz erti. Türk Oguz begleri budun esiding. Üze tengri basmasar, asra yir telinmeser, Türk budun, ilingin törüngin kim artati? (udaci erti)

futureng

:) Biraz anlamakta güçlükler oluyor :) Neyse Yazıları biraz daha inceledim ve şu şekilde anladım:

Senin verdiğin transistörlü devrede,pic' in herhangi bir portunu kontrol ucunu çıkış olarak tanımlayıp "0" verdiğimizde 1. motorun devri pic'in ölçüm ucuna gidiyor.
Kontrol ucuna "1" verdiğimizde de 2. motorun devir durumu pic' in ölçüm ucuna gidiyor.  Ve buna göre sayım işi gerçekleşiyor.

Bu sefer doğru anlamışmıyım :)
GimpTR.COM: Hayal Gücünüzün Gerçek Dünyadaki Görünüşü  http://www.gimptr.com

alayli

Alıntı yapılan: "futureng":) .....Bu sefer doğru anlamışmıyım :)

Evet aynen öyle... :)
Anca kazganmiş itmiş ilimiz törümüz erti. Türk Oguz begleri budun esiding. Üze tengri basmasar, asra yir telinmeser, Türk budun, ilingin törüngin kim artati? (udaci erti)

gevv

elinde isis için cny70 library dosyası varmıdır ?
 

KAZIMUGUR