Mumsema.NET

FrMaLeV

Bilgi Dağıtmak İçin El Ele

Geri git   Mumsema.NET >
Uydu - Elektronik
> Elektrik-Elektronik > Elektronik Bölümü

Forum Kuralları Bize Ulaşın İletiler Kayıt ol Yardım Ajanda Bütün Forumları okunmuş kabul et

             
Pic İle Mesafe ÖlÇÜcÜ ile ilgili Benzer Konular
942 Kez Görüntülendi

Mesafe Gitar Akorları Şarkı Notaları
Mesafe /Kendinden Kaçmak... Aşk-Sevgi-Evlilik
aşk mesafe tanımaz Aşk-Sevgi-Evlilik
Mesafe Aşkın Sigortasıdır... Güzel Yazılar / Makaleler
tr mesafe Q-R-S-T

Kartuş Dolumu(resimli anlatım) | sony psp
Cevapla
 
Konu Araçları
Alt 17-04-2007   #1
Profil Bilgileri
Arrow Pic İle Mesafe ÖlÇÜcÜ

Pic İle Mesafe ÖlÇÜcÜ başlıklı yazı Mumsema Pic İle Mesafe ÖlÇÜcÜ Forum Alev


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 seması
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önderirDarbeler 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ırC6 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 kaydı
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

Yeniden 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 silme
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ırBu 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î (dc) 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 olurEkoları 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
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 (297927 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üç kaynagı
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

Yapım
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
Hizalama rutinleri
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 degerleri
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ıyesi
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 testi
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
Veri 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
Veri 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)
Kalıcılık
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)
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

Genisletılmıs program versiyonu

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 ayarları
Ç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 03V’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 1000 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 05V’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

Yazılım kodları
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 [Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...] 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ı : [Hoşgeldiniz.. Yudumla Ailesine Üye Olmadan Forumdaki Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...] den indirilebilir


Parca listesi Dirençler
R1, R5, R8’den R11’e 10k (6 tane)
R2, R3, R7 100k (3 tane)
R4 1M
R6 470k
tümü 025W 5% karbon film veya daha iyisi
Potansiyometreler
VR1 20k trimpot
VR2 10k trimpot
Kondansatörler
C1 22u elektrolitik, 16V
C2, C4 100n seramik disk
(02inç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 spst 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



alıntıdır

 

Mattet is offline  
Dantel   Mumsema   Frmacil
Alt 23-07-2007   #2
Profil Bilgileri
Thumbs down --->: Pic İle Mesafe ÖlÇÜcÜ



Arkadaşlar bu devreyi kesinlikle denemeyin Çünkü devreyi ben okulda uyguladım ve çalışmadığı için proje dersinden kaldım Devre de herşey normal çalışıyor aslında ancak bu devrenin programını yazan arkadaş TASM adında ve ilk sürümü 1985 yılında çıkmış ve DOS üzerinden çalışan bir program kullanmış ve asm dosyası hex e düzgün çevrilemediği için devre çalışmıyor
Bilgilerinize sunuyorum

 

stigmata41 is offline  
Cevapla
Tags: ile, mesafe, olcucu, pic


Pic İle Mesafe ÖlÇÜcÜ ile ilgili Benzer Konular
942 Kez Görüntülendi

Mesafe Gitar Akorları Şarkı Notaları
Mesafe /Kendinden Kaçmak... Aşk-Sevgi-Evlilik
aşk mesafe tanımaz Aşk-Sevgi-Evlilik
Mesafe Aşkın Sigortasıdır... Güzel Yazılar / Makaleler
tr mesafe Q-R-S-T

Saat 11:42.
Sayfalar Rüyatadı Mumsema Frmacil Etiket Dantel Modeller Mumsema.Net Add to Google Add to My Yahoo!
Powered by vBulletin® Version 3.6.12 Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Mail Adresimiz Forumalev(at)gmailcom
Moderatör Başvuru Formu

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553