Elektronik / Mikrodenetleyici Projeleri/

PIC16F877 PIC16F84 Genel Amaçlı Kumanda Modülü

İki pic denetleyicisinin birlikte çalışmasına çok iyi bir örnek ve daha bir çok bilgi ayrıca assembly dilinde hazırlanan yazılımda bulunmakta aşağıda özetler verilmiştir. Hazırlayan emeği geçen kişilere teşekkürler.

Şekil 4.6. Gerçekleştirilen modülün konrol devresi genel olarak

kumanda-modul-kontrol-devresi-pic16f84-pic16f877

Bu bitirme tezi çalışmasının amacı kızılötesi uzaktan kumanda ile genel amaçlı uzaktan kumanda modülünün tasarımı ve gerçekleştirilmesidir. Gerçekleştirilen modül; ev, işyeri ve laboratuarlarda devre üzerinde kullanılan 8 adet rölenin ve 8 adet triyakın anahtarlaması ile sistemlerin kontrol edilmesi ve 1 adet triyaklı dimmer devresi ile ışık şiddetini uzaktan kontrol edilebilecek şekilde tasarlanmıştır.

Gerçekleştirilen modülde kızılötesi uzaktan kumanda vericisi olarak Creative firmasının ürettiği CD-ROM cihazlarında kullanılan infrared uzaktan kumanda cihazı kullanılmıştır. Modülü kontrol etmek amacıyla Microchip firmasının ürettiği PIC16F877 ve PIC16F84 mikrodenetleyicileri kullanılmıştır. PIC16F877 mikrodenetleyicisi ile uzaktan kumandadan gelen sinyalin kodunun çözülmesi, 8 adet röle ve 8 adet triyakın anahtarlama devrelerinin sürülmesi ve PIC16F84 mikrodenetleyicisine dimmer devresinin tetikleme açısı (Işık şiddeti bilgisi) gönderilmektedir.

PIC16F84 mikrodenetleyicisi ile PIC16F877 mikrodenetleyicisinden gelen tetikleme açısının (Işık şiddeti bilgisinin) alınması, sıfır geçiş algılayıcıdan gelen bilginin alınması ve 1 adet triyaklı dimmer devresinin sürülmesi gerçekleştirilmektedir. Gerçekleştirilen modülün çalışması bir blok şemayla Şekil 1.1’de verilmektedir.

Bu bitirme tezi çalışmasının ikinci bölümünde kullanılan PIC16F877 ve PIC16F84
mikrodenetleyicilerinin özellikleri ve programın mikrodenetleyicilere yüklenmesinden
bahsedilmektedir.

Üçüncü bölümde ise kızılötesi (IR) alıcı ve verici kumandasından ve vericiden gelen kodun
sistematik olarak çözülmesinden bahsedilmektedir.

Dördüncü bölümde ise gerçekleştirilen modülün devre donanımları ve yazılımlarından
bahsedilmektedir.

Beşinci bölümde ise sonuç verilmiştir.

Şekil-1.1. Gerçekleştirilen modülün blok şeması

kumanda-blok-sema

KIZILÖTESİ UZAKTAN KUMANDA

Bu çalışmada gerçekleştirilen modüldeki sistemi uzaktan kontrol etmek için kızılötesi ışığı kullanan uzaktan kumanda tipi tercih edilmiştir. Kızılötesi uzaktan kontrol (Infrared Remote Control) kumandaları yaygın kullanım ve RF kumandalara nazaran daha ucuz olmalarından dolayı tercih edilmiştir.

Gerçekleştirilen modülde Creative firmasının ürettiği CD-ROM sürücüleri için kullanılan
Infrared Kumanda kullanılmıştır. Bu kumandanın tercih edilme sebebi kumandanın boyutlarıdır. Üzerinde 24 adet ihtiyacı karşılayacak kadar çok sayıda tuş bulundurmasına rağmen diğer kumandalara nazaran küçük olması, bir adet 3V’luk CR2025 tipinde batarya ile çalışması bu kumandanın tercihin sebebinde etkili olmuştur. Genel olarak bir kızılötesi kumandada Şekil 3.1’deki gibi tuşlar, tuşları algılayan bir yonga (cip) ve bu bilgiyi ortama yayan kızılötesi led veya led grubu bulunmaktadır.

Şekil 3.1. Genel bir kızılötesi kumandanın blok şeması
kizilotesi-kumanda-blok-sema

Kızılötesi sinyallerin iletildiği ortam havadır. Birçok kızılötesi kaynak iletim için hava ortamını kullanmaktadır. Hava ortamında yayılım varken her verici-alıcı çiftinin aynı hava ortamında birbirlerini etkilemeden iletim sağlayabilmeleri için kendilerine özgü bir haberleşme protokollerinin olması gerekmektedir. Haberleşme teorisinde bu protokollere modülasyon adı verilmektedir.

Modülasyonun gerekliliği yüzünden vericide bulunan özel bir çip aynı zamanda bir modülatör olarak da çalışmaktadır. Creative Infrared kumandasında darbe genişlik modülasyonu kodlaması adı verilen bir modülasyon türü kullanılmaktadır. Şekil 3.2’de bir NRZ (Non Return to Zero) (Sıfıra Geri Dönüşsüz) veri ve buna karşılık gelen darbe genişlik modülasyonu kodlaması görülmektedir. Şekilden de görüleceği gibi verinin lojik 0’mı yoksa lojik 1’mi olduğu bir periyot içerisindeki boşluk genişliğiyle kodlanmaktadır.

NRZ 010 verisi 3T’lik bir zaman diliminde iletilebilecek iken Creative infrared kumandasında kullanılan darbe genişlik modülaysonu kodlamasıyla bu süre 8T’ye çıkmaktadır. Bu sürenin uzunluğu veri içerisindeki 1’lerin ve 0’ların sayısıyla değişmektedir. Lojik 0 2T sürede iletilirken lojik 1 4T gibi bir sürede iletilmektedir.

Şekil 3.2 (a) “010” bilgisine karşılık gelen NRZ veri kodu (b) “010” bilgisine karşılık gelen darbe genişlik modülasyon kodu
sinyal-kizil-otesi

Burada belirtilmesi gereken bir konu ise kullanılan kumandanın darbe genişlik modülasyonunda kodlanmış verisi ortama direkt olarak vermemesidir. Kodlanmış veri bir çeşit darbe kod modülasyonuna (PCM’e) tabi tutulmaktadır. Burada taşıyıcı frekans 38 KHz’dir. Yukarıda verilmiş olan darbe genişlik modülasyonu örneğinin PCM’den geçirilmesinden sonra oluşan dalga şekli Şekil 3.3’de verilmiştir.

Birçok seri iletişimde olduğu gibi, kullanılan kumanda da verileri çerçevelerle (frame) göndermektedir. Creative Infrared kumandasında veri çerçevesi (data frame) ve tekrar çerçevesi (repeat frame) olarak adlandırılan iki çeşit çerçeve vardır. Her iki tip çerçevenin öncesinde başlangıç zamanı olarak adlandırılabilecek (start time) aktif bir bölge bulunmaktadır ve 9 ms civarında bir süredir.

Bu başlangıç zamanından hemen sonraki pasif zaman bölgesinin süresi bir çerçevenin tipini belirlemektedir. Çerçeve, bu süre 4 ms ise veri çerçevesi, 2 ms ise tekrar çerçevesi olarak adlandırılmaktadır (Şekil 3.4). Veri çerçevesi 32 bitlik bilgi içermektedir. Bu 32 bitlik bilgi bir adet 16 bitlik ve iki adet 8 bitlik veri olmak üzere toplam üç parça halinde değerlendirilmektedir.

16 bitlik kısım adres bilgisi içermektedir. Kullanılan kumanda Creative firması tarafından CD-ROM sürücüsü için tasarlanmıştır ve bu CD-ROM sürücüye bir adres verilmiştir. Dolayısıyla CD-ROM sürücüsünü kumanda etmek için önce ona ilgili adresiyle beraber tuş sinyali gönderilmelidir. Creative firmasının CD-ROM sürücüsünün adresi 8435H sayısıdır.

Şekil 3.3. Darbe genişlik modülasyonu kodlamasından sonra darbe kod modülasyonu
darbe-genislik-modulasyonu

Şekil 3.4. Çerçeve ayrımı
cerceve-ayrimi

İlk 8 bitlik kısım ise basılan tuşa karşılık gelen sayının onaltılık karşılığıdır. Kumanda üzerinde 24 adet tuş bulunmaktadır. Şekil 3.5’teki gibi sol üstteki tuştan itibaren sırayla 1’den 24’e kadar her tuşa bir numara verilmiştir. Daha sonra gelen 8 bitlik bilgi ise ilk 8 bitlik bilginin 1’e tümleyenidir. Örneğin kullanıcı kumanda üzerindeki MENU tuşuna basmışsa kumanda onaltılık 843504FBh sayısını veri çerçevesi içerisinde göndermektedir.

Kumanda üzerinde bulunan bütün tuşlara karşılık gelen kodlar Şekil 3.6’da verilmektedir. Creative firmasının CD-ROM sürücüsü uzaktan kumandasında kullanılan ve Şekil 3.2’de gösterilen zaman sabiti T 560 μs’lik bir süredir. Darbe genişlik modülasyonu kodlamasına göre lojik 0 bilgisini kodlamak 2T’lik, lojik 1 bilgisini kodlamak 4T’lik zaman gerektirmektedir.

16 bitlik adres bilgisi 8435h sayısında 6 adet lojik 1, 10 adet lojik 0 bulunmaktadır. Bu da 4×6+10×2=44T’lik bir zamana karşılık gelmektedir. 32 bitten geriye 16 bitlik bilgi kalmakta ilk 8’i tuş numarasını sonraki 8’i tuş numarasının 1’e tümleyenini temsil etmektedir. Tümleyen işlemi 16 bitlik bir sayı için ayrılan zamanı sabit bir şekilde tutmaktadır. Şöyle ki; kullanıcı sol üst köşedeki tuşa basmış olsun. Bu tuşa ait sayı 01h ve 1’e tümleyeni ise FEh’dir. İkilik sistemde gösterecek olursak bu sayılar sırasıyla ‘00000001’ ve ‘11111110’dır. Görüleceği üzere bu 16 bitlik kısımda 0’ların ve 1’lerin sayısı, basılan tuş ne olursa olsun, eşit ve 8’dir. Böylece 8×2+8×4=48T’lik bir zamana karşılık gelmektedir.

Toplam olarak bir veri çerçevesi 44+48=92T lik zamanda gönderilmektedir. Bu süre de 51.52ms etmektedir. Eğer kullanıcı kumanda tuşlarından birine belirtilen süreden fazla basık tutarsa kumandadan sürekli olarak o tuşa karşılık gelen 32 bitlik veri çerçevesi gönderilmeyecektir. Tuşa basıldıktan sonra veri çerçevesi sadece iki defa gönderilir. Bu iki çerçeve arasındaki süre ise 40 ms civarındadır.

Yani iki çerçevenin gönderilmesi başlangıç zamanları da dahil olmak üzere 200 ms zaman
almaktadır. Bu işlemler Şekil 3.7’de gösterilmiştir. Kullanıcı 200 ms’den daha fazla bir tuşa basmaya devam ederse kumandadan 100 ms’de bir tekrar çerçeveleri gönderilir. Bu da kumandanın bataryasında önemli ölçüde tasarruf sağlamaktadır.

Kullanılan kumanda PCM sinyaller ürettiği için alıcı kısımda ilk önce bu PCM sinyallerin
darbe genişlik modülasyonu kodlarına çevrilmesi gerekmektedir. Bu çevirme işleminden sonra darbe genişlik modülasyonu kodun hangi tuşa ait olduğu mikrodenetleyiciye yüklenecek yazılımla çözülebilmektedir. PCM sinyalleri çevirmek için Vishay firmasının PCM uzaktan kontrol sistemleri için üretmiş olduğu TSOP1238 foto modülü kullanılmıştır.

Kullanılan foto modülün görüntüsü ve blok şeması Şekil 3.8’de verilmiştir. Bu foto modül üzerine 38 KHz’de darbelenmiş ışık düştüğünde çıkışını 0V’a çekmektedir ve direkt olarak mikrodenetleyiciye bağlanabilmektedir. Bir PCM giriş için modül çıkışı Şekil 3.9’da gösterilmiştir.

GERÇEKLEŞTİRİLEN MODÜLÜN DEVRE DONANIMI VE YAZILIMI

Bu bölümde gerçekleştirilmiş olunan uzaktan kontrol modülünün devre donanım yapısı ve kontrol için kullanılan PIC16F877 ve PIC16F84 mikrodenetleyicileri içine yüklenen programın içeriğinden söz edilecektir.

Geçekleştirilen modülde aşağıdaki devreler parça parça olarak incelenecektir.
1. Güç kaynağı ve Sıfır geçiş algılayıcı devresi
2. Uzaktan Kumanda alıcı devresi
3. Display sürücü devresi
4. Kontrol devresi
5. Röle sürücü devresi
6. Optokuplör ve Triyaklı sürücü devresi
7. Optokuplör ve Triyaklı dimmer devresi

Modüldeki devrelerin gereksinim duyduğu +5V ve +12V DC kaynak ihtiyacı ve Optokuplör ve Triyaklı dimmer devresinde kullanılacak yükün şebeke gerilimiyle uyumu için sıfır geçiş algılayıcı ihtiyacı için tasarlanmıştır. Devre kullanılmış olan 220V AC Transformatör (Şekil 4.1) aracılıyla A ve N uçlarından 17V AC kaynak tam dalga doğrulması yapılarak, 7805 ve 7812 regüle elemanları ile +5V DC ve +12V DC kaynaklara dönüştürülmektedir. Devre üzerinde ilaveten 5.1V zener diyot üzerinden sıfır geçiş algılayıcısıda bulunmaktadır. Şekil 4.2’de sıfır geçiş algılayıcısının giriş/çıkış grafiği verilmektedir. Şekil 4.3’de güç kaynağı ve sıfır geçiş algılayıcı devresi verilmektedir.

Bölüm 3’te verilen bilgiler ışığında kumandadan gelen sinyalin PIC16F877 mikrodenetleyicisinde kodunun çözülmesi için TSOP1238 uzaktan kumanda alıcı devresi tasarlanmıştır. Tasarlanan devre Şekil 4.4’de verilmiştir.

PIC16F877 ile uzaktan kumandanın tuş kodu çözüldükten sonra kumanda üzerindeki bir sayıya basıldığında ekranda gözükmesi gereken sayı için tasarlanan display sürücü devresi Şekil 4.5’te verilmiştir.

PIC16F877 mikrodenetleyicisinden tetikleme açı bilgisi PIC16F84’e verilmektedir. PIC16F84’ün PORT B0 ucu aracılığıyla optokuplör ve triyaklı dimmer devresi sürülmektedir. Şekil 4.8’de Optokuplör ve triyaklı sürücü devresi ile aynı devre şeklindedir.

Gerçekleştirilen modülde PIC16F877 mikrodenetleyicisi ile uzaktan kumanda kodunun çözülme işlemi, 8 adet rölenin B portundan anahtarlama olarak sürülmesi, 8 adet optokuplör ve triyakın D portundan anahtarlama olarak sürülmesi, PIC16F84’e giden açı bilgisinin A portundan gönderilmesi ve basılan sayısal tuşun displayde gösterilmesi için C Portunun C7, C6, C5 ve C4 uçlarının sürülmesi, Röle ve Triyak anahtarlamasını belirten sarı veya kırmızı led’in sürülmesi için C portunun C0 ve C1 uçları aktif edilmesi işlemleri

Mikrodenetleyiciler PIC16F877 PIC16F84

PIC Mikrodenetleyicisinin Tercih Nedenleri
PIC16F84 Mikrodenetleyicisi
PIC16F84 Portlarının Fonksiyonları
Port A7-Port B
PIC16F84’ün RAM Belleği
PIC16F84’ün Besleme Uçları ve Beslemesi
PIC16F84’ün Reset Uçları
PIC16F84’ün Clock Uçları ve Osilatör Tipleri
PIC16F877 Mikrodenetleyicisi
PIC16F877 Portlarının Fonksiyonları
Port A11-Port B11-Port C12-Port D12-Port E1
PIC16F877’nin RAM Belleği
PIC16F877’nin Besleme Uçları ve Beslemesi
PIC16F877’nin Reset Uçları
PIC16F877’nin Clock Uçları ve Osilatör Tipleri
PIC Mikrodenetleyicisinde Komut Seti ve Program Yazımı
PIC Mikrodenetleyicisine Programın Aktarılması

Modül Donanım Yazılım
Güç Kaynağı ve sıfır Geçiş Algılayıcı Devrei
Uzaktan Kumanda Alıcı Devresi
Display Sürücü Devresi-Kontrol Devresi
Röle Sürücü Devresi
Optokuplör ve Triyaklı Sürücü Devresi
Optokuplör ve Triyaklı Dimmer Devresi
Gerçekleştirilen Modül Yazılımı
PIC16F877 Mikrodenetleyici Yazılımı
PIC16F84 Mikrodenetleyici Yazılımı
Gerçekleştirilen Modül Çalışması
PIC16F877 Mikrodenetleyici Programı
PIC16F84 Mikrodenetleyici Programı
Gerçekleştirilen Modüle Ait Devre Fotografları

Şekiller
Gerçekleştirilen modülün blok şeması
Bir mikrodenetleyicili sisteme ait blok şeması
PIC16F84 mikrodenetleyicisinin entegre kılıf yapısı
PIC16F84’ün kullanıcı RAM bellek haritası
PIC16F877 mikrodenetleyicisinin entegre kılıf yapısı
PIC16F877’nin kullanıcı RAM bellek haritası
MPASM derleyici programı şekli
IC-PROG programı ilk defa çalıştırıldığında ekran görüntüsü
ICPROG programının ekran görüntüsü
PIC16F877’yi ve PIC16F84’ü programlamak için gereken devre
Genel bir kızılötesi kumandanın blok şeması
(a) “010” bilgisine karşılık gelen NRZ veri kodu
(b) “010” bilgisine karşılık gelen darbe genişlik modülasyon kodu
Darbe genişlik modülasyonu kodlamasından sonra darbe kod modülasyonu
Uzaktan kumanda üzerindeki tuşlara karşılık gelen sayılar
Uzaktan kumanda da bulunan tuşların 32 bitlik karşılıkları
İki adet veri çerçevesinin ardından tekrar çerçevelerinin gönderilmesi
TSOP1238 foto modülü ve blok şeması
TSOP1238 foto modülünün giriş ve çıkış ilişkisi.
Üç Çıkışlı Transformatör
Sıfır geçiş algılayıcısı giriş/çıkış grafiği
Güç kaynağı ve Sıfır geçiş algılayıcı devresi
Uzaktan kumanda algılayıcı devresi
Display sürücü devresi-Röle sürücü devresi
Gerçekleştirilen modülün konrol devresi genel olarak
Optokuplör ve Triyaklı sürücü devresi
Gerçekleştirilen modülün ana kontrol kartı üstten görünüşü
Gerçekleştirilen modülün ana kontrol kartı alttan görünüşü
Gerçekleştirilen modülün ana kontrol kartı yandan görünüşü
Gerçekleştirilen modulün güç kaynağı kartı üsten görünüşü
Gerçekleştirilen modülün güç kaynağı kartı alttan görünüşü
modülün display ve uzaktan kumanda algılayıcı kartı üstten görünüşü
Gerçekleştirilen modülün display ve uzaktan kumanda algılayıcı kartı alttan görünüşü
Gerçekleştirilen modülün son halinin üstten görünüşü

Genel Amaçlı Uzaktan Kumanda Modülü Hazırlayan: Kurtuluş TÜFEKÇİ Dosya: http://host.nigde.edu.tr/muzam/kurtulus_tufekci.zip Alternatif link: PIC16F877 PIC16F84 Genel Amaçlı Kumanda Modülü

Dosya indirme LINK listesi (TXT formatında) link-590.zip şifre-pass: 320volt.com

  1. erdal 2008/06/10
  2. RIDVAN 2009/01/27

Yorum

Soru: