Devir okuyucu (RPM) yardım

Başlatan tosun54, 23 Nisan 2014, 09:34:59

tosun54

Herkese iyi günler ekte göndermiş olduğum devreyi internette ararken buldum fakat bu devre LCD ileyapılmış. Acaba bu devreyi (sadece devir kısmını tur sayıca kısmı değil) 4 adet ortak katot seven segment display'e nasıl çeviririz.

est32

Arkadaşım yardım alabilmek için bence sen de bir adım atmalısın.
İlk olarak 7 segment olarak isis çizimini yap ve buraya koy ki yardım edecek kişiler programa lookup tablosunu ve tarama kısmını ekleyip sana teslim etsinler.
aksi halde yardım edecek kişinin isiste 7 segment çizimi yapması gerekecek ki işi uzayacak, ben şahsen isiste 7 segment ile uğraşmayı sevmiyorum, transistör ve pull up dirençleri yüzünden, oturup baştan çizim yapacağı için belki başkaları da uğraşmak istemez.
Sen bu kısmı yaparsan iş kısa sürede çözülür.
Ayrıca tasarımı yaparsan şöyle yap bence
belki devir saymak için harici kesmeye yönelmek gerekebilir. Bu nedenle CNY 70  PORTB.0 a bağlı olsun.
segment pinleri PORTB ye bağlı olsun(portb tamamen dolmuş oldu).
Ortak uçlar da PORTA ya bağlı olsun.
Bu şekilde yaparsan yardım edecek kişiye sadece programı düzenlemek kalır ki yapacağı sadece look up tablosu ve multiplex hazırlamak olur, iş kısa sürede çözülür.

tosun54

Alıntı yapılan: est32 - 23 Nisan 2014, 13:24:26
Arkadaşım yardım alabilmek için bence sen de bir adım atmalısın.
İlk olarak 7 segment olarak isis çizimini yap ve buraya koy ki yardım edecek kişiler programa lookup tablosunu ve tarama kısmını ekleyip sana teslim etsinler.
aksi halde yardım edecek kişinin isiste 7 segment çizimi yapması gerekecek ki işi uzayacak, ben şahsen isiste 7 segment ile uğraşmayı sevmiyorum, transistör ve pull up dirençleri yüzünden, oturup baştan çizim yapacağı için belki başkaları da uğraşmak istemez.
Sen bu kısmı yaparsan iş kısa sürede çözülür.
Ayrıca tasarımı yaparsan şöyle yap bence
belki devir saymak için harici kesmeye yönelmek gerekebilir. Bu nedenle CNY 70  PORTB.0 a bağlı olsun.
segment pinleri PORTB ye bağlı olsun(portb tamamen dolmuş oldu).
Ortak uçlar da PORTA ya bağlı olsun.
Bu şekilde yaparsan yardım edecek kişiye sadece programı düzenlemek kalır ki yapacağı sadece look up tablosu ve multiplex hazırlamak olur, iş kısa sürede çözülür.
Seven segmente uygun olduğunu düşündüğüm devreyi çizdim umarımki yanlışlık yoktur dosya ekte yanlış olan yerler varsa tekrar düzeltirim kolay gelsin.

est32

ben multiplex(tarama yöntemi) istediğini düşünmüştüm. Ekran titremelerine karşı ve programın kolay yazılabilmesi nedeniyle bu daha iyi ama fazla malzeme yüzünden çok yer kaplayan devre olur. Ama benim işimi görür diyorsan uğraşayım, kararını ver ona göre hareket edelim...

tosun54

tarama yöntemi ile olan çizimi yükledim.ben bu konularda daha yeniyim araştırarak birazda kopyala yapıştır yaparak birşeyler öğrenip yapmaya çalışıyorum ve tabiki siz değerli insanların katkılarıyla. yapmak istediğim şeyi tam olarak açıklarsam hem sizin hem benim için daha kolay olacağını düşünüyorum. benim dizel motorlu bir zirai makinam var (çapalama motoru) ben bunun için bir bilgi ekranı yaptım arabalardakine benzeyen yakıt göstergesi ilave edeceğim birde motor devir saati eklemeye karar verdim bu devrede onun için devreyi LCD ekranlı olarak kurdum çalıştı ben 7segment display ile olsun rakamlar kolay okunsun istiyorum. aslında aklımda birde led ile deviri gösterme(hem 7segment ayrıca 25 adet led ile motor max devir 1400rpm yani her 56 rpm de bir led artarak yanacak şekilde) fikri var ama bu yüzsüzlük olur galiba.konuya dönersek sizin için hangisi kolay olursa ununla yapabilirsiniz çalışmalarınızda başarılar kolay gelsin. 

est32

Devreyi anlattığınız iyi oldu, şimdi durum biraz daha netlik kazandı ama 7 segmentin de şöyle sevmediğim bir yanı var, gün ışığı altında okunması çok zor olacaktır. Bu durumda lcd ekran en güzeli gibi görünüyor.
bi düşünün, hatta lcd çok yer kaplıyorsa 2*8 lcd ekranlar da var piyasada, minicik. Onlar da kullanılabilir.
Ama 7 segment olması gerekiyorsa ona göre yapalım...
tekrar okuyunca fark ettim, daha depo ile ilgili ek falan yapılacakmış. bence devre 2*16 ekranla kalsın derim, depo bilgisi de ekrana yazdırılır örneğin;
depo: %46    RPM: 1200
ısı: 27.4 C   MTR ısı: 78.6 C
gibi. Çünkü daha sonra başka bilgiler de eklenebilir.
Tabii karar sizin, bence acele etmeyin ileriye dönük daha iyi düşünün derim.

tosun54

evet LCD daha kolay ve projeler ilave edilir fakat ekranın küçük olması ve motorun çalışırken fazla titreşimli olması ekranla göz mesafesinin uzak olması nedeni ile display düşünüyorum. sıcaklık tarih saat vb bilgileri 4x20 LCD ekranla bilgi monitörü olarak hazırladım birkaç eksiği kaldı. depo seviyesini ise led bargraf ile yapmayı düşünüyorum görsellik açısından. bilgi ekranının resmini ekledim.

est32

bu kadar lüks şeyler bizim arabada bile yok (:
Madem 877 kullanılmış ve bişeyler ortaya koymuşsunuz bence 7 segment kodu da bu işlemciye ekleyin, başka işlemciye para harcamaktansa daha boş bacaklar var ziyan olmasın onlar (:
ben bildiğimi yapmaya çalışayım siz de buna uyarlayın bence. ayrıca o giriş çıkışları azaltmanın da yolları mevcut. Butonlar için sadece 1 analog kanal kullanılabilir. Dirençlerle gerilim bölücü yapılır ve tek pinden tüm tuşlar okunabilirdi.

est32

Bişeyler yaptım, görünüşe göre belli bir seviyede programlama bilginiz var, gerekli değişiklikleri kendiniz halledebilirsiniz.
Eksikler ve hatalar olabilir, isiste çok kırpışmalı çalışıyor ve yüksek cpu harcıyor, bi sorun varsa gerçekte ortaya çıkar ve kolay çözülür.
Kolay gelsin, bakın inceleyin haberdar edin.

tosun54

teşekkürler devreyi en kısa zamanda kurup deneyeceğim sonuç hakkında sizi bilgilendiririm.

tosun54

devreyi az önce breadbord da kurup çalıştırdım.display ler flash yaparak çalışıyor yaklaşık 0,3 saniye civarı yanıp sönerek değeri gösteriyor birde devir hesabı sanki yüksek gibi geldi sanki iki katı gibi bir değer ölçülüyor gibi işe gitmem gerektiği için şimdilik test sonuçları bunlar

est32

PBP dosyasının içine yeterli açıklamayı yazdığımı düşünüyorum. Multiplex çalışmalar isiste genelde pek sağlıklı test edilemiyor, bu nedenle de bazı sorunlar görülemeyebiliyor.
Anlaşılan devir okuması 0.3 saniyede bir gerçekleşiyor, bunu da dosyada belirttiğim üzere for next döngüsünden kaynaklandığını düşünüyorum, sanırım döngü 20 tekrar yapıyordu. Siz kendinize göre ayarlayın o kısmı, kaç saniyede hız okuması yapılacaksa. 20 tekrar 0.3 saniye ise buradan yola çıkarak hesaplayabilirsiniz uygun süreyi.
Sayının ekranda kalma süresi de 1mS, bunu da değiştirip gözlem yapabilirsiniz.
Ama en güzeli portb.0 kesmesi ile timer kullanarak saniyede 1 kez iki puls arasının okunup hesaplanmasıdır, ancak biraz daha ince iş olduğundan ve kendi birkaç projemle ilgilenmek zorunda olduğumdan bu işe girişmedim.
Bunları yaparsanız daha iyi sonuçlar elde edebilirsiniz...

tosun54

program üzerinde birçok değişiklik yaptım fakat bir türlü istediğim sonucu alamadım ekran titreme sorunu bir türlü düzelmedi

DEVIR_SAY:
          COUNT PORTB.0,1000,DEVIR
          DEVIR=DEVIR*60
portb.0 dan gelen pals ölçün süresini yükselttiğim zaman ekran ölçüme gittiğinde ölçüm süresi kadar sönük kalıyor
süreyi kısaltıp çarpan sayısını artırınca bu sefer ölçüm hassasiyeti düşüyor yani ölçüm süresi 10ms çarpan 600 olunca devir 600 ve katları şeklinde artıyor. kesme konusunu bilmediğim için onu test edemedim bu devir ölçme konusunda yardımlarınızı bekliyorum.   

est32

Titreşim sornunu çözmek için önce program içerisinde DEVIR_SAY etiketine dallanmadan bir deneme yapın. yani GOSUB DEVIR_SAY satırını kapatın, program ölçüme gitmeden boşta dönsün ki bu sırada titreşim olup olmadığını gözlemleyelim.
Muhtemelen titreşim kaybolacaktır. Bana göre titreşim sebebi sensör okumasına gitme sıklığı ve okuma sırasındaki harcanan zamandır.
Dediğim gibi bu sistemde en güzeli kesme kullanmak.

RB0 kesmesi kurulur, timer kesmesinden biriyle saniyede 1 kez kesmeye gidilir ve burada tekrar krank mili 1 tur atıncaya kadar timer saydırılır ve buradan da hesaplamayla dakikadaki devir hesaplanır diye düşünüyorum. İşin içine iyi bir timer hesaplama giriyor.

Diğer bir çözüm de 74HC595 ler kullanılarak her displeye 1 entegre verilir. Bu entegreler kilitli kaldığı için işlemci ile bağlantı kesilse bile sayı ekranda bekleyecektir. Ekrana değerler verildikten sonra işlemci istediği kadar ölçüm yapsın titreme olmayacaktır. Bu şekilde tarama yöntemi kullanılmamış olur ki titreşim tamamen kaybolur, sadece arada bir ekrana güncelleme yollanır. Sonuçlar daha kesin olur.
Eksi yönleri de var, kullanılan malzeme çoğalacak, pcb büyüyecek ve daha çok akım çekilecektir.

Şu an başka bir projeye yoğunlaştığımdan hesap kitap işlerine giremiyorum. Zaten bu dediğim yöntemi daha önce hiç kullanmadım o nedenle benim de şimdilik bir yardımım olması zor. Ama anladığım bildiğim konularda yardımcı olmaya çalışırım.

tosun54

Uzun zamandır bu devir okuyucu ile uğraşıyorum ama hala bir sonuç alamadım est32 arkadaşımın yardımı ile birşeyler yaptık fakat ondada titreme sorununu bir türlü gideremedim.kesme konusunu ete hocamın dersinden sayısız kez okudum ama hala anlayamadım ete hocamın kesme dersinden anladığım ve örneklerinden yola çıkarak programı yazdım fakat devre çalışmadı devreyi breadboard a kurdum display lerde hiç enerji yok bana bu devreyi çalıştıramıyorum bana bu konuda lütfen yardımcı olurmusunuz.son dosyalar ekte. 

Powered by EzPortal