PIC Uygulamaları
Analog/Digital dönüstürücüler ve PIC ile bir devre. Bu ay PIC uygulamalarında analog dünya ile dijital dünyayı
tanıştıracağız. Dijital sinyal işleme tekniği denen DSP-Digital Signal
Processing uygulamalarında analog bir sinyal dijital karşılığına
Analog-dijital dönüştürücüler kullanılarak dönüştürülür. Tersi olan
işlenmiş dijital datanın analog karşılığına dönüştürülmesi işlemini
ise Dijital Analog çeviriciler üstlenir.
Analog – dijital dönüştürücülerin en basit olanı 1 bitlik çevirici olarak da
anılan tiptir. Bu basit anlamda voltaj karşılaştırıcı olarak kurulmuş bir
işlem kuvvetlendiriciden başkası değildir. Burada kuvvetlendirici
referans bacağındaki voltajı giriş voltajı ile karşılaştırıp bu kıyas
sonucunda çıkışından Hıgh veya low gibi bir sinyal vererek bir
işlemciye giriş voltajının istenen değere ulaşıp ulaşmadığını haber verir.
Daha ayrıntılı analog sinyal işlemek için R-2R tarzı A/D çeviriciler
kullanmak gerekir. Bir A/D çeviricinin hassasiyeti çözünürlük için
kullandığı bit sayısı ile orantılıdır. Örneğin 8 bitlik ADC0800 gibi bir
A/D çevirici ile elde edeceğimiz maksimum voltaj kombinasyonu
256 adettir. Bu Vref denen referans voltajının 1/256 sı kadar küçük
parçalarının toplamı ile o anda girişte bulunan voltajı ifade edebileceğimiz
anlamına gelir. Vref voltajımız 5 volt ise en küçük voltaj birimimiz yaklaşık
olarak 20 milivolt olacaktır. Bu 5 volt = 5000 mV , 5000/256 = 20 mV
olarak kolayca hesaplanabilir. Eğer 12 Bit bir A/D çevirici kullansak
hassasiyet 1/4096 birim olur. Örnek olarak Vref = 5 Volt = 5000 Volt
ise 5000/4096 = 1.22 mV luk bir çözünürlük elde ederiz. Çözünürlük
8 bit A/D ye göre 12 bitte 10 misli artar.
A/D çeviricilerin çözünürlük dışında performans karakteristiklerini
belirleyen en önemli faktörlerden biri vede en önemlisi işlem yani
analog voltajı dijital voltaja çevirme hızlarıdır. Günümüzde saniyede
100 milyon örnekleme yapabilecek A/D dönüştürücüler üretilmektedir
ve bunlar sayesinde artık dijital osiloskoplar standard ekipman
sınıfına alınmıştır.
Bu ay bir A/D dönüştürücü olan National Semiconductor
(http://www.nsc.com) firmasının ADC0831 entegresi ile
Pic 16F84'ü tanıştırıp, 5 volta kadar olan voltajları terminal
ekranında mV mertebesinde görmeye yarayacak bir devreyi
uygulayacağız.
Şemayı daha net görmek için üzerine sağ tuşla tıklayıp çıkan menüden (View Image) faydalanın.
ADC0831 diğer ADC 'lerden farklı olarak seri olarak senkron
portu yardımıyla kontrol edilebilen bir ADC 'dir. Türkiye piyasasında
temini zor bir entegre değildir. İstanbul kokenli MONEL elektronik
ithalat firmasından 0.5 USD gibi bir fiyata temin edilebilir.
Daha kolay bulunabilen ADC0800 gibi bir entegreyi neden
kullanmadığımı sorguladığınızı duyar gibiyim. Bunun en önemli
nedeni ADC0800 gibi paralel veri yolu olan bir entegrenin
zaten çok sınırlı sayıda giriş/çıkış bacağı olan PIC16F84 gibi bir
işlemcide neredeyse bacakların tamamına yakın bir kısmını işgal
edecek olmasıdır. Bir ADC0831 ise aynı performansla 3 adet
kontrol bacağı ile kontrol edilebilmektedir. Bu da bize pic ile
geri kalan bacakları kullanarak farklı işleri yapma imkanı vermektedir,
örneğin seri veri giriş/çıkış yardımıyla bir PC ile haberleşmek gibi.
ADC0831 8 bit hassasiyeti olan bir A/D çeviricidir. Bir adet voltaj girişi
bulunur. Hassasiyet yaklaşık 20mV civarındadır ki bu birçok uygulama
için yeterlidir.
Bizim uygulamamızda Vref yani en yüksek okuyabileceğimiz voltaj
değeri 5000 mV yani 5 volt olarak sabitlenmiştir. 0 ile 5 volt
arasında 20 mV luk adımlarla okuma yapabiliriz. ADC0831'in
kontrolu için DO-Veri çıkışı, CS- entegre seçim, CLK- saat
bacaklarını kullanırız. CS bacağı ile önce entegre aktif hale getirilir
daha sonra her CLK-saat darbesinde DO-veri çıkış bacağında bir
bit belirir,pic tarafından kaydedilir ve bu işlem sekiz saat darbesi
kadar sürer. Sonunda sonuçla ilgili her bit sırayla alınmış olur ve
işleme sokulur. İşlem sonuç ile 20mV çözünürlük katsayısının
çarpımından oluşur.
Devre şemadanda görüleceği gibi oldukça basit olup daha evvel
ki yazılarımda kullandığım tekniklerle benzerdir.Devreyi monte edip
bilgisayarın COM1 veya COM2 seri portundan birine DB9 veya
DB25 tipi dişi seri port konnektörüyle bağlantı yapılır. DB9 veya
DB25 üzerindeki TXD ve RXD ile GND – ground bağlantıları için
ANTRAK gazetesi linkler sayfasındaki Hardware Book linkinden
yardım alabilirsiniz.
Pic16F84'ü programlamak için eski sayılardaki yazımda bahsettiğim
proramlayıcıyı kullanabilirsiniz. ADC için pic16f84 programı
ADC0831.ZIP dosyası içinde bulunan adc0831.hex dir.
Devreyi hatasız yapıp voltaj vermeden önce bazı ayrıntılara
dikkatinizi çekmek istiyorum:
* PC RS232 (COM) portuna bağlantı konektörünü takarken PC
ya da PIC'den en az birinin enerji almaması gerekir aksi halde
RS232 portunun arızalanması işten bile değildir.
* DB9 konnektör kullanırsanız COM1, DB25 konnektörünü
kullanırsanız COM2 portunu işgal etmeniz gerekir. PIC için
hangi COM portun kullanıldığının önemi yoktur, bu terminal
programının sorunudur.
* RS232 (COM) portun bacaklarının kesinlikle kısa devre
olmasına izin vermeyin aksi takdirde port arızalanır.
Sistemin sonuçlarını görmek için iki yöntem kullanabiliriz, ya
aşağıda izah edilen terminal SETUP'ını kulllanarak kendimize bir
Quickbasic veya Visual Basic programı yazarız, ya da kolay yolu
seçip windows accessories içindeki Hyperterm Terminal
emulasyon programını kullanırız. Hyperterm yerine herhangi
bir terminal emulasyon programını kullanabilirsiniz önemli olan
aşağıda izah ettiğim uyarıları ve setup bilgilerini eksiksiz uygulayın.
Şimdi terminal programının SETUP'ına göz atalım:
* COM1 veya COM2 yi seçin. (Hangisini kullandıysanız)
* 1200 baud ,8Bit,No parity,1 Stop bit seçeneklerini ayarlayın.
* Terminal emülasyon tipini TTY olarak seçin.
* Sistem Half duplex çalışacağından half duplex yada full duplex
olması farketmez.
Önce Terminal programını çalıştırın daha sonra devreye +5Volt verin.
Sistem hatasız çalışıyor ve bağlantılar ile terminal setup'ında bir
hata yok ise ekranda :
PIC-ADC – ANTRAK Barbaros Asuroglu
Sonuc icin a basin
>
yazısı görünmelidir. Eğer bu yazıyı gördüyseniz sistem sorunsuz
çalışıyor demektir. > kürsörden sonra her a tuşuna basışınızda
sistem o anda girişindeki voltajı okur ,çevirir ve sonucu size :
V= 3500 mV
>
gibi bildirir.
Bu ay PC-PIC-ADC karışımından bi
r voltmetre ürettik. Gelecek
ay yeni bir uygulamada buluşmak dileğiyle'