TA2CBA Barbaros Aşuroğlu
E-Mail: ta2cba@www.antrak.org.tr
URL: http://www.antrak.org.tr/~ta2cba
Amatörce elektronikle uğraşan herkesin aklında uzaktan birşeylere kumanda
etmek vardır. Uzaktan kumanda çok çeşitli şekillerde karşımıza çıkar.
En basit anlamda bir kumanda sistemi kurmak için ya çok özel entegreler
(SL 480/ML920 gibi) veya 8 -10 adet TTL CMOS karışımı entegre
kullanmak gerekir. PIC her derde deva bir işlemci olarak burada da
hayatı bizim için kolaylaştırıyor.
Yukarıdaki girişten anlayacağınız gibi bu ayki uygulamanın konusu pic
ile
uzaktan kumanda, aslında ele alacağımız projeyi bir uzaktan kumanda
olsun diye tasarlamamıştım, uzaktan kumanda asıl amacın yan ürünü
olarak oluştu. Tasarımın birincil amacı 8 bitlik bir datayı iki tel
üzerinden
nispeten akıllı bir sistemle yollayıp aynı sistemin ikizi ile tekrar
8 bit olarak
bozulmadan geri kazanmaktı. Bu tip bir devre sadece GROUND ve
DATA diye niteleyebileceğimiz iki kablo yardımıyla bu işi yaptığından
6 adet kablodan tasarruf ediyordum. Önce bu sistemi açıklayayım
isterseniz, daha sonra da bunu 8 kanallı bir uzaktan kumandaya
dönüştürelim.
PARALEL / SERİ ---- SERİ / PARALEL DATA DÖNÜŞTÜRÜCÜSÜ:
Dönüştürücü iki adet PIC 16F84 kullanmaktadır, bunlardan biri verici
diğeri
ise alıcı olarak çalışmaktadır. Verici olan PIC 16F84 tek yönde 8 bitlik
veriyi
PortB tarafından alıp RA0 bacağından seri olarak alıcı olan PIC 16F84‘ün
RA0 bacağına vermektedir .Seri datayı alıcı paralel dataya çevirdikten
sonra PortB bacaklarından dışarı vermektedir. Bu sistem için bir şema
çizip çizmeme konusunda epey kararsız kaldıktan sonra çizmek yerine
çok
basit olduğu için açıklamak daha mantıklı geldi.
Verici ve Alıcıda kullanacağımız programlar uygula3.zip
dosyasında
bulunan dtverici.hex ve alici.hex programlarıdır. Adından da anlaşılacağı
gibi dtverici.hex porgramı verici olacak PIC 16F84, alici.hex ise alıcı
yerine geçeçek PIC 16F84 için kullanılmalıdır. Alıcı ve Verici PIC
16F84
sistemi daha önceki uygulama ve pic
yazılarımdaki minimum PIC16f84
sisteminden başkası değildir. RB0…RB7 bacakları sırasıyla vericide
data
giriş ve alıcıda data çıkış bacaklarıdır. RA0 bacağı ise verici ile
alıcıda
birbirine bağlanır. Ground, yani şaseyi ise alıcı ile vericide birbirine
bağlarsak 10 metreye kadar kullanabileceğimiz bir data dönüştürücüsü
elde ederiz.
Data dönüştürme hızı 9600 bit/s'dir ama bu hız kristali her iki picde
de
8 Mhz yaparak ve picleri programlarken HS modunu seçerek
19200 bit/s'ye kadar çıkar.
8 KANALLI UZAKTAN KUMANDA:
Uzaktan kumanda sistemi prensip olarak bir data dönüştürücüden
farklı birşey değildir. Sisteme komut vereceğimiz anahtarlarımızı vericide
RB0….RB7 bacakları ile şase arasına , sistemin algıladığı komutları
ise
alıcıda RB0….RB7 bacaklarından elde ederiz. Bu bacakları birer transistör
üzerinden 8 adet röleye verirsek 8 değişik aygıtı aynı anda kontrol
edebiliriz.
Vericide unutulmaması gereken tek nokta anahtarlar şase ile RB bacakları
arasındayken RB bacaklarının her birini 10k lık bir dirençle +5 Volta
bağlamaktır. Bunu yapmamızın sebebi pic bir CMOS entegre olduğu için
girişi anahtar basılı olmadığı zaman boşta kalacağından 0 ile 5 Volt
arasında salınabilir bunuda anahtar basılı değilken 5 Voltluk bir potansiyel
yaratarak önleriz. Verici RA0 ,GROUND ve alıcı RA0, GROUND bacakları
birbirleriyle eşlenerek bağlanarak haberleştirilir.Alıcı çıkışlarını
denemek
için RB0 ile şase arasına 330 ohmluk direnç ve buna seri bir LED
kullanabilirsiniz. Alıcı programı olarak gene alici.hex kullanılır
ama verici
için artık aynı program yerine ukverici.hex programını kullanmanız
gerekir.
Dtverici.hex programını uzaktan kumanda vericisinde kullanamayışımızın
sebebi anahtarlarda oluşan Debounce – sıçrama etkisidir.
Eğer bir önlem almazsak -ki dtverici.hex datayı olduğu gibi iletir-
anahtarda
ilk 100 milisaniyelik zaman diliminde oluşacak karasızlık ve kıvılcımlar
alıcıya aynen yansır. Ukverici.hex yazılım yardımıyla bir gecikme sağlayarak
bu etkiyi yok eder. Bunu ukverici.hex yerine dtverici.hex kullanarak
siz de deneyebilirsiniz.
Picleri programlamak için eski sayılarda
verdiğim basit programlayıcıyı
kullanabilirsiniz.
Bu aylık da bu kadar hepinize mutlu, kontrollü günler dilerim.
|