Bitirme projesi

+ Yorum Gönder
Elektronik ve Elektronik Bölümü Bölümünden Bitirme projesi ile ilgili Kısaca Bilgi
  1. 1
    Hunter4343
    Yeni Üye
    Reklam

    Bitirme projesi

    Reklam



    Bitirme projesi

    Forum Alev
    Merhabalar kolay gelsin benim bitirme projesi olarak basınç,sıcaklık,seviye,yükseklik,esneme,mesafe vb. büyüklüklerden birini ölçebilen bir devre yapmam gerekiyor.Yardımcı olursanız sevinirim.Kolay Gelsin



  2. 2
    Mattet
    Usta Üye

    --->: Bitirme projesi

    Reklam



    PIC İLE MESAFE ÖLÇÜCÜ

    Doğal olarak çoğunuz eski hoşunuza giden devrelerin yenilenmesi için PIC 'lerin nasıl kullanılabileceğini merak
    ediyorsunuzdur. PIC ’ler bir çok şekilde ispatlandığı gibi çok esnek cihazlardır ve bir çok devrede kullandığımız çoğu mantık
    entegresi yerine tek bir PIC kullanılabilir.
    Kısa bir süre önce yazarın gözü daha önce yaptığı ultrasonik mesafe ölçer cihazına takılmış (EPE Dergisi 92 şubat sayısı) ve
    bir PIC kullanılarak bu cihazın nasıl basitleştirileceğini düşünmeye başlamıştır. Sonuç olarak (havya ile geçen bir saat ve
    bilgisayar başında geçen birkaç saat) önünüzde bulunan PIC16C84 kontrollü ultrasonik mesafe ölçücü ortaya çıkmıştır.
    Bu cihaz sadece eski dizaynın bir yenilemesi değil aynı zamanda çok daha gelişmiş bir alettir. EEPROM ’un (Elektrikle
    Silinebilir Programlanabilir Sadece Okunabilir Bellek) avantajını kullanarak veri kaydı ve kaydedilen verileri okuma özelliği de
    eklenmiştir. Aynı zamanda ön plandaki cisimlerden kaynaklanan ekoları ortadan kaldırmak için bir maskeleme seçeneği de
    bulunmaktadır.
    Cihaz 30 veya 32 tane (daha sonra açıklanacak) mesafe ölçümü kaydı yapıp bunları geri çağırabilir. Böylece kağıda geçirmeden önce bir çok okuma yapma imkanı doğar. Bu özellik zor ulaşılan bölgelerde ölçüm yaparken çok kullanışlıdır.
    Cihaz için iki tane yazılım seçeneği vardır. Standart program zamanlamada ve hesaplama faktörlerinde ayar gerektirmez ve sesin hızının sabit olduğunu kabul eder. Gelişmiş program ise hesaplama değerlerini ince ayarların yapılmasına izin verir ve az miktarda yazılımda ve panel fonksiyon düğmelerinde ayarlama yapılmasını gerektirir. Her iki program içinde aynı devre kullanılmaktadır.
    DEVRE ŞEMASI
    P
    IC mesafe ölçücü cihazın tüm şeması Şekil1’de görülmektedir.
    Kısaca PIC mikrodenetleyici (IC2) cihazın beynidir ve tüm işlemleri yürütür. Gönderme düğmesi olan S2 basıldığı zaman PIC 40kHz’lik darbe serisini ultrasonik verici (ultrasonik hoparlör) (TX1) üzerinden gönderir.Darbeler ve her çıkış sinyali arasında işlenen komutların sayısı yazılım tarafından hassas bir biçimde PIC’in çalışma frekansı tarafından belirlenir (4MHz).
    PIC’in çıkış pinleri RA0 ve RA1 ultrasonik hoparlörü süren push-pull kaynağı olarak kullanılmıştır. Bir pin yüksek ve alçak değerler arasında değişirken diğer pin alçak ve yüksek değerler arasında değişir.
    Gönderilen bu sinyalin yolunun üzerinde bulunan katı cisimler sinyali ultrasonik alıcı dönüştürücüsü (Ultrasonik mikrofon) olan RX1 üzerine yansıtır.
    Bu eko sinyalleri gözle görülebilir miktarda gönderilen sinyalden daha zayıftır ve PIC tarafından lojik sinyaller olarak algılanabilmesi için bir miktar yükseltmeye ihtiyaç vardır.

    YÜKSELTME
    40kHz eko sinyalleri iki katlı AC yükseltmeye tabi tutulur. IC1a opampı tarafından 100 kat kazanç sağlanır. Bu değer R1 ve R4 dirençleri tarafından ayarlanır. IC1b de yükseltilen bu sinyali 47 kat daha yükseltir. Bu değerde R5 ve R6 dirençleriyle ayarlanmıştır.C6 kondansatörü yükseltilmiş olan bu sinyali TR1 transistörüne gönderir. Bu transistor ün görevi PIC’in RB7 bacağına lojik seviyede darbeler aktarmaktır. Bunların arasında R7 direnci ve VR1 ayarı TR1’in beyzinde basit DC polarma sağlar. Bu polarma cevap duyarlılığını ayarlar. Tr1’in çıkışı normalde 5V düzeyindedir fakat yeterince güçlü eko sinyalleri bulunduğunda 5V ile 0V aralığında dalgalanmaya başlar. Aniden PIC 40kHz’lik darbeleri göndermeyi durdurur ve iki baytlık bir sayıcıyı (16bit) çalıştırır. Bu sayıcı bilinen bir hızla artmaktadır. PIC RB7 bacağının mantıksal durumunu Tr1’den gelen çıkış sonucunda yüksekten düşüğe geçirmesiyle sayıcı durur.
    HESAPLAMALAR Yazılım daha sonra hesaplama rutinine geçer. Burada sayıcının içerisindeki değer iki uzaklık değerine çevrilir. Birisi metrik diğeri İngiliz ölçü birimidir (feet ve inch). Bu ölçümler X2 16 karakter 2 satır LCD’sinde (Sıvı kristal display modül) görüntülenir. Metre üst sol tarafta görüntülenir ve “mt” karakterleri bu ifadenin sonuna eklenir. “Feet” ve “inch” alt solda görüntülenir ve “ft” ve “in” karakterleri bu sayıların ardına yazılır (fotoğraflara bakınız).
    Gönderim ve eko çevirimi işlemleri “Send” düğmesi basılı kaldığı sürece devam eder. Böylece odanın etrafında hareket ederek odanın boyutlarını istediğiniz sürece görüntüleyebilirsiniz. Bu anda tuşun bırakılması en son yapılan ölçümün LCD’de kalmasına neden olur. Gönderme düğmesi tekrar basılana kadar veya okuma düğmesi (S5) basılana kadar veya cihaz kapatılana kadar bu değer ekranda kalır. Gönderme düğmesi basılı olduğu esnada örnekleme miktarı saniyede birin biraz altındadır. Bu değer maske ve uzaklık değerlerine bağlıdır.

    ÖLÇÜM KAYDI
    Displeyde görüntülenen ölçüm PICin EEPROM’una henüz kaydedilmemiştir. Bu işlem kayıt düğmesi olan S3 düğmesine basıldığı zaman yapılır. Düğmenin durumu PIC hesaplamaları bitirip görüntüyü gösterdikten sonra okunduğundan dolayı ölçüm kaydı en son bitirilmiş olan ölçümler için yapılabilir. Böylelikle tam olarak bitmemiş ölçümlerin kaydedilmesi engellenmiş olur (Örneğin transmisyon ortasında yakalanmış bir ölçüm ).Kayıt metre veya inç cinsinden yapılmaz, elde edilen sayma değeri kaydedilerek yapılır. Bundan dolayı EEPROM’un sadece 2 baytı kullanılır. PICin bu türden 64 baytlık belleği olduğundan dolayı standart program ile 32 ölçüm kaydedilebilir.
    Genişletilmiş program ile 30 ölçüm kaydedilebilir. Diğer iki bayt zamanlama ve sayma değerleri için ayrılmıştır. Her ölçüm kaydedildiğinde kayıt sayıcısı 1 arttırılır bu sayı LCDnin sağ üst köşesinde gösterilir. Böylelikle kaç tane kayıt yaptığınızı
    görebilirsiniz. Bu değerin hemen önünde “SAVED” kelimesi yazılıdır.
    Bu sayıcıyı azaltmak ve bir önceki bölgeye başka bir ölçüm kaydetmek mümkün değildir. Bundan dolayı yanlışlıkla bir kayıt yaparsanız kayıtları okuduğunuz zaman bu kaydın yanlış olduğunu hatırlamanız gerekir.

    YENİDEN GÖSTERME
    Kaydedilen değerleri yeniden göstermek için okuma düğmesi kullanılır. Bu düğme her basılışında okuma sayıcısı bir arttırılır. Bu değere karşılık gelen 2 baytlık EEPROM adresi (Sayı x 2) okunur ve metrik ve İngiliz ölçü birimlerine çevrilir. Okuma sayıcı değeri aynı zamanda kayıt sayıcı değerinin yerine sağ üst köşede görüntülenir. Mesajın hemen önünde “SHOW=” yazısı bulunur.
    EEPROM SİLME
    Normal kullanım sırasında kayıt ve okuma sayıcılarını sıfırlayan bir sistem eklenmemiştir. Standart programla cihaz açıldığı zaman bu değerler otomatik olarak sıfırlanır. Genişletilmiş programda okuma sayıcısı cihaz açıldığı zaman sıfırlanır fakat kayıt sayıcısı tüm EEPROM ölçüm veri değerleri sıfırlandığı zaman sıfırlanır. EEPROM ölçüm verileri özellikle sıfırlanana kadar kalırlar. Bu işlem cihaz açılırken yapılabilir. Eğer kayıt düğmesi cihaz açılırken ve açıldıktan sonra basılı tutulursa bütün kayıtlı ölçüm değerleri silinir ve kayıt ile okuma sayıcıları sıfırlanır.
    MASKELEME
    Maskeleme özelliği ön plan ekolarının maskeleme düğmesi olan S4 ile ayarlanmış zamanlama/uzaklık değeri yoluyla ihmal edilmesini sağlar. Bu durum örneğin önünüzde karmaşık eşyalar varken uzaktaki duvarın mesafesini ölçmenize izin verir. Bu özellik olmadan önünüzde bulunan eşyaların mesafesi yanlışlıkla duvarın mesafesiymiş gibi okunabilir.
    Bu özellik dikkatli kullanılmalıdır. Maskeleme mesafesinin çok uzun olması birden çok yansımanın okunmasına neden olabilir. Örneğin cihaza gelmeden önce odada seken yansımalar.
    Bu durumu ortadan kaldırmak için bir kazanç kontrolü yapılması düşünüldü fakat hem maskeleme kontrolünü hem de kazanç kontrolünü bir arada kullanmanın pratik anlamda kafa karıştırıcı olacağına karar verildi ve bu fikirden vazgeçildi. Eğer dışarıdan ayarlanabilen bir duyarlık kontrolü istiyorsanız VR1 yerine kutuya takılacak şekilde aynı değerde bir potansiyometre takabilirsiniz (tabii daha büyük bir kutuya ihtiyacınız olabilir).
    Yazılım öyle yapılmıştır ki maskeleme düğmesi basıldığında mesafe adım adım artar. Bu durum standart programda sıfırdan dokuza kadar (birer birer) genişletilmiş programda birden dokuza kadardır dokuzdan sonra da otomatik olarak sıfırdan tekrar eder. Maskeleme değeri ekranın sağ alt köşesinde görüntülenir. Bu değerin başında “mask” ifadesi bulunur. Bu değer metre cinsinden yaklaşık bir uzaklık değeridir. Gösterilen değer sıfırdan yüksekse bu değerin ardından “m” harfi görüntülenir. S4 düğmesi maskeleme değerini yaklaşık olarak saniyede iki rakam arttırır.Bu hız maskeleme değeri sıfırdan yüksek olduğu zaman veya aynı anda gönderme düğmesi basılı ise bundan biraz daha yavaş olabilir. Bu durumda bir eko alınmıyorsa yazılım gönderme düğmesini kontrol etmeden önce belli bir süre bekler. normalde maskeleme düğmesine gönderme düğmesine basmadan önce basmak daha iyidir.



    MASKELEME
    Fotoğraf 1 maskelemenin neden gerekli olduğunu göstermektedir. Gönderilen sinyalin en son darbesi en üst solda görülmektedir ve değişik genliklerde beş eko sinyali merkezde görülmektedir. Birinci eko (normal olarak) geçerli olarak kabul edilebilmek için çok küçüktür. İkinci eko tetikleyici bir sinyal olarak sinyalin merkezî (d.c.) pozisyonunun yaklaşık yarısı kadar üstünde tepki gösterdiğinde yazılım tarafından kabul edilebilecek kadar geniştir ve eğer cevap gecikmesi yoksa durum bu şekilde olur.Ekoları incelemeye başlamadan önce uygun bir gecikme süresi eklenmesi durumunda ikinci eko göz ardı edilebilir. Böylece üçüncü eko asıl kabul edilen eko olur. Gecikmeyi biraz daha arttırırsak sadece beşinci ekonun kabul edileceği şekilde ayarlayabiliriz.









  3. 3
    Mattet
    Usta Üye
    Gösterildiği gibi dördüncü eko algılanabilmek için çok zayıftır. Ancak Tr1 transistörünün polarması uygun bir biçimde arttırılırsa, böylece kazanç da artma meydana gelecektir, hem birinci hem de dördüncü ekolar, gecikme uygun şekilde ayarlanırsa algılanabilirler.
    Dikkat edilirse ilk eko büyük ihtimalle gerçek bir eko olmaktan çok alıcı mikrofonun artık çınlamasıdır. Cevap zamanı gecikmesi olmadan bu istenmeyen sinyal cihazı tetikleyebilir. Böylece bundan sonra gelen diğer sinyallere cevap vermekten cihazı alıkoyabilir. İşte bu sebepten minimum maskeleme değeri olan 1 (yaklaşık bir metre) yüksek polarma koşullarında gereklidir.
    Fotoğraf 1 de görülen görüntü ultrasonik hoparlöre ve IC1b OP-AMP’ının çıkışına EPE Virtual Scope (Jan/Sept’98) bağlanarak elde edilmiştir. Gösterim amaçlı olarak koşullar biraz doğal olmayan şekilde ayarlanmıştır.
    Alıcı ve vericinin birkaç inç önüne özellikle yerleştirilmiş küçük malzemeler kullanılmıştır. Elde edilen veri fotoğraflanmadan birkaç ay önce kaydedilmiştir.
    Darbeler 40kHz’lik olmasına rağmen ekranın sağ alt köşesinde görülen frekans (2979.27 Hz) meydana çıkmıştır çünkü gönderilen ve alınan darbeler sürekli değildir ve V-Scope frekansta 1sn’de meydana gelen palsleri kullanır.

    GÜÇ KAYNAĞI
    Devremiz 9V PP3 pili ile çalışmaktadır. Çektiği akım yaklaşık olarak 6mA’dir. Bu akım gönderme esnasında (ortalama) 7mA’e çıkar.
    IC3 regülatörü 9V’luk kaynağı PIC ve LCD’ye uygun olacak şekilde 5V’a düşürür.

    YAPIM
    Baskı devrenin detayları ve parça yerleşimi şekil 2’de görülmektedir. Baskı devre EPE Online PCB Service’ten satın alınabilir. Kod numarası 207’dir. IC2 için soket kullanmak gereklidir ve IC1 için de kullanılması tavsiye edilebilir. Kart üzerindeki kabloları yerleştirin ve daha sonra kartı en kolayınıza gelen şekilde yapın.
    LCD modülü PCB’ye tek damarlı teller ile bağlayabilirsiniz (20swg kalaylanmış bakır tel – ancak dirençlerin kesilen bacakları da kullanılabilir)
    Tek damarlı kabloları kullanarak LCD kartın ön kısmını 7mm üzerine yerleştirilebilir. Böylece lehimlerin ve ayarlı elemanların LCD’nin herhangi bir yerine değmesi engellenmiş olur. Cihaz sıkıldığı zaman bu tür sorunların olmamasına emin olmak için LCD ile kart arasına plastik bir madde konulabilir.
    LCD için görüntüleme penceresi plastik kutunun tabanındadır. Bu pencere kutu üzerine sırayla delikler açılarak yapılır. LCD’nin pozisyonunun doğru olduğuna ve pil için yer kalmış olduğuna emin olun aynı zamanda vida yerlerinin kutu içindeki malzemelere engel olmamalarına dikkat edin. Kutu üzerine iki tane delik açarak LCDyi bu deliklere vida ve somun kullanılarak bağlayın. Kutu ile LCD arasına bir tane daha somun konması uygun olabilir. Böylece LCD’nin lehimlerinin LCD’nin kutuya düzgün biçimde oturmasını engellememesini sağlarız. LCD’yi herhangi bir şeyin etkilemesi çalışmasını bozabilir.
    LCD’nin takılacağı bölüm yapıldığında ve LCD kutuya takılmadan önce LCD’nin yerinin üzerine düğmeler için beş adet delik delin. Ayrıca kutunun yan tarafına ultrasonik mikrofon ve hoparlör için iki delik delin. Matkabın mikrofon ve hoparlörün bacakları kalınlığındaki ucunu kullanın ki bu parçalar sağlıklı bir şekilde otursunlar. Düğmeleri şekil 2 deki gibi kablolayın ve fotoğraftaki sırayı takip ederek çok telli kablo kullanın. Hoparlör ve mikrofon sert bir kablo kullanılarak bağlanmalıdır ki kutuya sağlam bir şekilde otursunlar. Hoparlör ve mikrofonun birbirlerine göre düzgün durmalarına dikkat edin ki sinyal gönderimi ve dönüş yolu en iyi şekilde olsun.

    9V’luk pilin güç bağlantılarının PCB ile veya butonlarla temas etmemesine çok dikkat edin. Böyle bir durum PIC ’in veya LCD’nin bozulmasına sebep olabilir. Kartın arkasına ve düğmelerin uçlarına birkaç kat izolasyon bandı koyun.
    Bir başka plastik de kutu kapandığı zaman pilin tıkırdamasını engellemek için kullanılabilir.

    İLK TESTLER
    Yapılan devreyi iyi bir şekilde kısa devrelere ve diğer şeylere dikkat ederek kontrol ettikten sonra IC1 opamp’ını takın fakat PIC’i takmayın. Güç kaynağını açın ve IC3 regülatörünün çıkışında 5V olup olmadığına bakın.
    VR1’i ayarlayarak Tr1 transistörünün beyzindeki polarmanın yaklaşık 0,3Volmasını sağlayın.
    Eğer her şey doğruysa devreyi kapatın ve PIC16C84’ü (veya PIC16F84) takın. PIC daha önce programlanmış olmalıdır (Daha sonra anlatılacak).
    Devreyi açın (hiçbir düğme basılı olmasın) PIC çalışmaya başlayacaktır. Yapacağı ilk iş LCD’yi başlatmak, LCD’yi 4bit kontrol moduna ayarlamak, LCD’yi iki satır moduna ayarlamak ve şu mesajı görüntülemektir.

    EPE PIC TAPE BOX
    PRESS SEND KEY
    Kontrast ayarı olan VR2’yi ayarlayarak görüntüyü okunaklı hale getirmeniz gerekebilir.
    HİZALAMA RUTİNLERİ
    Bu noktada genişletilmiş program versiyonu için düğmeler kullanılarak bazı hizalama işlemleri uygulanması gerekmektedir. Bu ileride “genişletilmiş program versiyonu” başlığı altında anlatılacaktır. Oraya kadar bir sonraki paragraf her iki versiyon için de gereklidir.
    Normal kullanımda cihaz ilk açıldığında ve açılış mesajı görüntülendiğinde yazılım S2 ile S5 arası bir tuşa basılması için sonsuz bir döngüye girerek bekler. Cihazı ölçüm için yakındaki bir duvara tutun. Cihaz ile duvar arasında başka bir cisim bulunmasın. Gönderme düğmesi olan S2’ye basın. Cihaz ile duvar arasındaki mesafe LCD’de metre, feet ve inç cinsinden görüntülenecektir.

    “LIVE” kelimesi ve “mask” ile maskeleme değeri de görüntülenecektir. Gönderme düğmesine basılı tutun ve duvara göre ileriye ve geriye giderek yapılan okumadaki değişimleri gözleyin. Düğmeye basan elinizden sinyalin yansımamasına dikkat edin.
    MAX.-MIN. DEĞERLER
    Maske değeri sıfır iken ve Tr1 transistörünün polarması 0,3V iken okunabilecek minimum uzaklık değeri 55mm değerindedir (2inç). Maksimum değer birkaç faktöre bağlıdır. Ultrasonik hoparlörün gönderim gücü faktörlerden birisidir. Bu değer üretim toleranslarından dolayı kaynaklanır ve aynı türden ürünlerin arasında değişik değerlere sahiptir.
    Şimdi aynı şekilde ultrasonik mikrofonun duyarlılığı da değişkendir. Alıcı ve vericinin birbirlerine göre duruş şekli de bu durumu etkiler.
    Ultrasonik ışının yansıtıldığı yüzeyin doğal yapısı da faktörlerden birisidir. Sert yüzeyler yumuşak yüzeylere göre daha güçlü ekolar meydana getirecektir.
    Buna ek olarak eğer cihaz dışarıda kullanılırsa (Cihazın ıslanmamasına dikkat edin) rüzgar gönderilen ve yansıtılan sinyalleri saptırabilir veya engelleyebilir. Böylece alınan sinyal genliği düşebilir.

    POLARMA SEVİYESİ
    En önemli faktör TR1in polarma seviyesidir. Polarma değeri 0,3Va ayarlandığında maksimum olarak 6m’lik bir ölçüm mesafesi kabul edilebilir bir beklentidir. Polarma değerini VR1’i kullanarak 0,5V’a ayarlamakla 10m’lik uzaklık ölçümü de mümkün olabilir.
    Polarma değeri 0,6V’a da yükseltilebilir. Böylelikle çok düşük genlikli eko sinyalleri de TR1 transistörünü de tetikleyebilir. Fakat cihazı aşırı duyarlı yapmanın tehlikesi odada yayılan bir çok ekonun alınmasını sağlayarak yanlış okuma yapılmasına neden olabilir.
    Ayrıca yüksek duyarlılık sistemin alıcı mikrofonda vericiye çok yakın olmasından dolayı meydana gelen çınlama ile de tetiklenmesine imkan verir. Maskeleme özelliği bu etkinin genellikle ihmal edilmesini sağlar. Ancak oldukça yüksek duyarlık ayarlarında işe yaramaz.
    Normal ölçüm durumlarında tetiklemenin olabildiğince yüksek mesafe algılama özelliği yanında her zaman güvenilir olduğuna dikkat edin.
    MASKELEME TESTİ
    Maskeleme özelliğini test etmek için (polarma değeri yaklaşık 0,3V’ta iken) cihazı bir duvara bakan bir masanın kenarına yerleştirin ve sinyal yoluna bir sandalye koyun. Gönderme düğmesi basılıyken sandalyenin pozisyonunu, duvar yerine sandalyenin uzaklığı görüntülenene kadar ayarlayın. Şimdi gönderme düğmesi basılırken maskeleme düğmesine basın.
    Maskeleme mesafesi sandalyenin biraz arkası kadar bir mesafeye eşit olduğunda sandalyeden gelen eko ortadan kalkacak ve duvarın değeri görüntülenecektir. Maskeleme ön plandaki şeylerin istenen hedefi okumayı engellediği her durumda kullanılabilir. Yeter ki hedeften yeterince güçlü bir sinyal cihaza ulaşsın.
    Normal kullanımda ön plan ekoları olmadan ve polarma 0,4V’un altındayken maskeleme değerini sıfırın altında tutun. Transistor ün polarma seviyesi yüksek ise maskeleme değerinin bire ayarlanması daha uygundur (Genişletilmiş versiyonun normal kullanımında en düşük maskeleme değeri otomatik olarak bire ayarlanır). Yaptığınız devreye en uygun polarma değerini kendininizin deneyerek bulmanız tavsiye edilir.
    VERİ KAYDETME
    Görüntülenen okumayı kaydetmek için kayıt düğmesi olan S3’e basın. Dikkat etmeniz gereken görüntülenen okumanın ölçüm yapılarak elde edilmiş değer olmasıdır. Okuma düğmesine basılarak geri çağrılan değerler tekrar kendi üzerlerine kaydedilemezler.
    Gerçek bir değere mi yoksa okuma düğmesine basılarak elde edilmiş bir değere mi baktığınızı anlamak için sırasıyla “LIVE” ve “SHOW” mesajları görüntülenir. Sadece “LIVE” görüntülenirken kayıt yapabilirsiniz. Yeni kaydedilen ölçümün kayıt numarası LCD’nin sağ üst köşesinde yazılıdır. Farklı EEPROM adres çiftleri kayıt düğmesi her basıldığında yükselen bir şekilde kullanılır. İzin verilen maksimum kayıt sayısı aşıldığında sayıcı resetlenir ve yeni kayıtları o adreste bulunan eski kayıtların üzerine yazar.
    VERİ OKUMA
    Okuma düğmesi basıldığında veri okuma yapılır. Bu bölüm için farklı bir sayıcı kullanılır ve okuma düğmesi her basıldığında bu sayıcı bir artar. Aynı şekilde bu sayıcının maksimum değerine ulaşıldığında sayıcı reset olur. Görüntülenen kayıt yeni yapılan kayıt olmayabilir. En son yapılan kaydı görüntülemek için okuma sayıcısındaki değer kaydetme sayıcısındaki değerle aynı olmalıdır.
    Pratik durumda her iki sayıcı da üst üste birkaç ölçüm yapılacağı zaman sıfıra ayarlanmalıdır (daha önce geçen eeprom reset konusuna bakın).
    KALICILIK
    Elektrik kesilse bile yapılan kayıtlar PICin EEPROMunda kalır. Taki üzerine yeni değerler yazılıncaya kadar (Eğer PICi önce başka bir iş için programlamışsanız bu duruma dikkat etmeniz lazım).
    Daha önce de belirtildiği gibi kayıt düğmesi cihaz açılırken basılı tutulursa veriler sıfırlanırlar.
    Standart yazılım ile cihazı her açtığınızda kayıt sayıcısı sıfırlanır. Bundan dolayı art arda birkaç ölçüm yapacaksanız cihazı kapatmamanız gerekir.
    Ancak genişletilmiş program hem okunan ölçüm değerlerini hem de sayaç değerini EEPROM’a kaydettiğinden cihazı kapatsanız dahi bu değer kaybolmaz.

    YORUMLAR
    Ultrasonik hoparlörün PortA’nın RA0 ve RA1 uçları kullanılarak push-pull modunda sürülmesi PIC programlama ile uğraşan okuyucuların ilgisini çekmiş olabilir.
    • Programın başında genel başlangıç rutininde PortA’nın bu pinleri çıkış olarak ayarlanır ve RA2 ile RA4 arasındaki pinler giriş yapılarak PortA sıfırlanır.
    • Gönderim rutinine giriş sırasında (TXIT etiketinde) bir döngü değeri 10’a ayarlanır. İki baytlık sayıcı temizlenir ve RA0 yüksek yapılır. Böylelikle TX1’in bir tarafı yükseğe çekilmiş olur. Daha sonra sekiz tane NOP komutuyla bir boşluk yapılır.
    • Daha sonra COMF PORTA,F komutu verilir. Bu PortA’daki binary 00001 değerini 11110a çevirir (PortA’da sadece 5 kullanılabilir uç vardır). RA0 böylelikle sıfırlanmış ve RA1 birlenmiş olur. Bu durum TX1 üzerindeki akım akışını tersine çevirir. Diğer üç pin (RA2 ile RA4 arası) önemsizdir çünkü bu pinler giriş olarak ayarlanmıştır.
    • Daha sonra biraz daha uzun bir boşluk 12 adet NOP komutuyla sağlanır. Bunun ardından COMF PORTA,F komutu tekrar verilir ve PortA’nın ilk değeri olan 00001 haline geri dönmesi sağlanır. Döngü değeri bir azaltılır ve henüz sıfır olmamışsa rutin baştaki sekiz NOP komutunun en başına döner (BEAMIT etiketi) ve işlem tekrarlanır.
    • Döngünün sonunda gönderim işlemi biter ve PortA sıfırlanır. Böylelikle 10 adet darbe gönderilmiş olur ve gönderilmek için harcanan zaman darbelerin frekansının 40kHz olmasını sağlar.
    Gönderim rutini Liste1 de kısaltılmış olarak görülmektedir (BSF SAVE,0 komutu ölçümün gerektiğinde kaydedilebilmesi için bir bayrağı set eder).








  4. 4
    Mattet
    Usta Üye
    Liste 1
    TIXT:
    MOVLW 10
    MOVWF LOOPB
    CLRF COUNT0
    CLRF COUNT1
    BSF PORTA,0
    BSF SAVE,0

    BEAMIT:

    NOP(8 adet)
    COMF PORTA,F
    NOP(12 adet)
    COMF PORTA,F
    DECFSZ LOOPB,F
    GOTO BEAMIT
    CLRF PORTA
    CALL RECEIVE

    Çıkış darbelerini işaret boşluk oranında gözle görülebilir oranda dengesizlik görülebilecekken döngüdeki diğer komutların bulunması zamanlamayı dengelemektedir. Bu döngüdeki komutları değiştirmeyin. Bunu yapmanız frekansın 40kHz olmasını ve gönderim zamanını bozacaktır.
    Alım rutini burada anlatılmak için çok uzundur ama şunu söyleyebiliriz ki iki baytlık zamanlama sayıcısı PortB’nin RB7 pininde bir değişim (Yüksekten düşüğe) görene kadar artar. Bu noktada sayıcı durur.
    MESAFE HESABI
    Ses havada 331,4m/sn hızında yol alır (normal şartlar altında) yani ders kitapları öyle söylüyor. Diğer durumlarda sesin hızı değişebilir. Kısa mesafelerde bu cihaz düşünülürse bu değişimler ihmal edilebilir. Bundan dolayı bunlar ihmal edilmiştir (cihazı çok daha basit ve yapılması kolay bir hale getirmek için).
    Sesin hızı böylece bir sabit olarak alınır. Yapılan testler ve ölçümler gösterdi ki 1000mm’lik mesafedeki bir hedef 618 sayma değerini üretmektedir (bu değer genişletilmiş versiyonda ayarlanabilir). 1000’i 618’e bölünce 1,6181229 değerini elde ediyoruz. Buradan sayma değerini 1,618 ile çarparak metreye çevirmek uygun bir yaklaşım gibi görünüyor. 1,618 değerini binary değer olarak göstermek için 2 bayt kullanıldı. MSB ‘1’ değerini tutarken LSB 158 değerini tutar (256x0,618=158). Sayma değerini bu binary değerle bölmek için ilave bir teknik kullanılır. Sonuç 10’luk hale getirilir ve LCD’ye metre cinsinden yazılır.
    Binary metre değeri aynı zamanda 25,4’ün binary gösterimine de bölünür (MSB 25, LSB 102 çünkü 256x0,4=102). Böylece inç değeri elde edilir. Aynı şekilde bu değer feet’e de çevrilir. Her ikisi de onluk olarak LCD’ye yazılır.

    GENİŞLETİLMİŞ PROGRAM VERSİYONU

    Bu devrenin orijinal versiyonu TAPE99 diye adlandırılmıştır. Fakat projenin dizayn edilmesi ile bu yazının yazılması arasında birkaç ay geçmiştir. Bu makalenin yazılması sırasında yazar ince ayar opsiyonunun eklenmesinin maskeleme ofseti ve uzaklık hesaplama değerleri üzerinde küçük düzeltmeler yapılabilmesi için uygun olacağına karar vermiştir. İzleyen paragraflar bu ayarların nasıl yapılacağını anlatır. Bu versiyonun yazılımının ismi TAPE100 dür. Bu versiyonu nasıl alacağınız makalenin sonunda yazmaktadır.
    ZAMANLAMA AYARLARI
    Çoğu örnekte zamanlama değerlerinin ilk halini değiştirmek pek gerekli değildir. Gerekli olsa bile çok büyük bir ihtiyaç değildir. Fakat uyuşturmanın ilk basamağı yeni yapılmış cihazlarda mutlaka uygulanmalıdır.
    ADIM 1
    LCD’nin kontrastı ayarlandığında ve açılış mesajı rahatlıkla göründüğünde (ilk testler başlığında anlatıldığı gibi) cihazı kapatın.
    Okuma düğmesi basılı iken cihazı açın ve okuma düğmesini bırakın. Açılış mesajının sağ üstünde “BOX” kelimesi “CLR” kelimesine dönüşecektir. Bu işlem EEPROM belleğin tüm içeriğini siler ve zamanlama değerlerinin LSB kısmını ilk değerine (default) ayarlar. İlk değerler temel zamanlama için EEPROM’un 62. baytında 158’dir ve maskeleme zamanı için EEPROM’un 63. baytında 234’tür.

    ADIM 2
    Tr1’in polarması hizalamanın ikinci adımında eko duyarlılığını minimuma indirmek için yaklaşık 0.3V’a ayarlanmış olmalıdır.
    Cihazı kapatın ve gönderme düğmesi basılıyken geri açın ve gönderme düğmesini bırakın. Ekran açılış mesajından mesafe ölçümü ekranına dönecektir ve üst satırda “TEST158” yazısı çıkacaktır. Bu yazıyı takip eden ve yanıp sönen bir S harfi de görüntülenecektir. Bu modda ultrasonik darbeler sürekli olarak gönderilir ve mesafe ölçümü görüntülenir. Maskeleme değeri otomatik olarak sıfır’a ayarlanmıştır.
    Şu anda 158 değeri kayıt ve okuma düğmeleri ile arttırılabilir veya azaltılabilir. Değişim miktarı yaklaşık saniyede bir rakamdır.
    Ultrasonik mikrofon ile arasında tam olarak bir metre mesafe olan bir duvara cihazı tutun ve kayıt ile okuma düğmelerine basarak okunan değerin tam 1.000 metre olmasını sağlayın. Kayıt düğmesi LSB değerini ve mesafe değerini bir arttırır, okuma ise bu değerleri düşürür. Uzaklık değerinin LSB değerine göre değişim hızı oldukça yavaştır.
    Temel zamanlama ayarlanmış oldu. Şimdi cihazı kapatın.

    ADIM 3

    Maskeleme düğmesi basılıyken cihazı açın ve düğmeyi bırakın. LCD ekranı açılış mesajından mesafe ölçümü ekranına dönecektir ve üst satırda “TEST234” yazısı çıkacaktır. Bu yazıyı takip eden ve yanıp sönen bir M harfi de görüntülenecektir. Bu modda ultrasonik darbeler yine sürekli olarak gönderilir ve mesafe ölçümü görüntülenir. Maskeleme değeri ise otomatik olarak bir’e ayarlanmıştır.
    Tr1 transistörünün polarmasını daha yüksek bir eko duyarlılığı için yaklaşık olarak 0.5V’a ayarlayın. Şimdi 234 değeri kayıt ve okuma düğmelerine basılarak sırasıyla arttırılabilir veya azaltılabilir. Değişim değeri yine yaklaşık saniyede bir rakamdır.
    Cihazı duvardan birkaç metre geriye yerleştirin. Cihazla duvar arasında herhangi bir cismin olmamasına dikkat edin. Okunan mesafeyi kaydedin. Şimdi maskeleme düğmesine tekrar tekrar basın ve her seferinde okunan değerleri yazın. Eğer maskeleme hizalama değeri doğru ise okunan değerler neredeyse birbirine eşit olacaktır. Eğer gerekiyorsa kayıt ve okuma düğmelerini kullanarak maskeleme değerini uygun şekilde değiştirin.
    Böylece hizalama işlemi bitiyor. Yeni değerler işlemler sırasında otomatik olarak EEPROM’a kaydedilir ve gelecekteki okuma işlemleri için kullanılır. Eğer isterseniz bu değerleri aynı teknikleri kullanarak sonra değiştirebilirsiniz.
    DÜĞMELERİN ÖZETİ

    Özet olarak hizalama işlemleri sırasında kullanılan düğmelerin görevleri şunlardır.
    Cihaz açılırken basılan düğme:

    • Gönderme – temel düzeltme modu.
    • Kayıt – EEPROM’daki ölçümleri silme (zamanlama değerlerine dokunulmaz).
    • Maskeleme – Maskeleme değeri düzeltme modu.
    • Okuma – Tüm EEPROM’un silinmesi.
    • Temel ve maskeleme değeri düzeltme modundayken:
    • Kayıt görüntülenen değeri bir arttırır.
    • Okuma görüntülenen değeri bir azaltır.

    YAZILIM KODLARI
    Kaynak kodlarının text dosyaları (.ASM) gereken yerlerdeki açıklamalarla birlikte tüm rutinleri göstermektedir. Bu kodlar TASM ile yazılmıştır.
    TAPE99’un (standart program) ve TAPE100’ün (genişletilmiş program) dosyaları EPE Online’nın web sitesi www.epemag.com da ücretsiz olarak mevcuttur.
    TAPE100 yazılımı ile programlanmış PIC’ler Magenta elektronikten alınabilir.
    Yazılımı ve programlanmış çipleri almak konusunda daha fazla bilgi için bu sayıdaki Shop Talk sayfasına bakabilirsiniz.

    Yazılımın Kodları : http://homepages.nildram.co.uk/~starbug/files/tape.zip den indirilebilir..


    PARÇA LİSTESİ Dirençler
    R1, R5, R8’den R11’e 10k (6 tane)
    R2, R3, R7 100k (3 tane)
    R4 1M
    R6 470k
    tümü 0.25W 5% karbon film veya daha iyisi
    Potansiyometreler
    VR1 20k trimpot
    VR2 10k trimpot
    Kondansatörler
    C1 22u elektrolitik, 16V
    C2, C4 100n seramik disk
    (0.2inçlik – 2 tane)
    C3, C5, C6 22n polistiren (3 tane)
    C7, C8 10p polistiren (2 tane)
    Yarıiletkenler
    TR1 BC549 npn transistör
    IC1 LM358 çift opamp
    IC2 PIC16C84 (veya PIC16F84)
    Programlanmış mikrokontrolcü – yazıya bakın.
    IC3 78L05 +5V 100mA voltaj regülator
    Çeşitli

    S1 minyatür s.p.s.t switch
    S2 to S5 minyatür push buton (4 tane)
    Mikrofon - RX1 minyatür 40kHz ultrasonik
    Hoparlör - TX1 minyatür 40kHz ultrasonic
    X1 4MHz kristal
    X2 16-karakter 2-satır alfanümerik
    LCD display
    B1 9V PP3 pil
    PCB


    Çeviren: Erkan Gench - Ankara 2004


+ Yorum Gönder
5 üzerinden | Toplam : 0 kişi