MİKRODENETLEYİCİLER VE PIC PROGRAMLAMA Öğr.Gör. Ahmet KARAKUŞ
İçindekiler 1. Giriş 2. Mikroişlemciler 3. Mikrodenetleyiciler 4. Mikroişlemciler ve Mikrodenetleyicilerin Karşılaştırılması 5. Mikrodenetleyici Seçimi 6. PIC Mikro denetleyici 7. PIC Programlamak İçin Bilinmesi Gereken Bilgiler ve Sahip Olunması Gereken Donanımlar 7.1. Kişisel Bilgisayar (PC) 7.2. Metin Editörü 7.3. Assembler Programı 7.4. PIC Programlama Devre Kartı 7.5. Deneme Kartı 7.6. Elektronik Simülasyon Programı 9. Mikrodenetleyiciler kullanılarak yapılan çalışmalar.
1.GİRİŞ Cebimizde taşıdığımız cep telefonu, Büromuzdaki faks cihazı, Günümüzde hızla gelişen teknoloji elektronik elemanlar yardımı ile kontrol edilen cihazları bizlere çok yaklaştırdı. Öyle ki, Cebimizde taşıdığımız cep telefonu, Büromuzdaki faks cihazı, Evimizdeki çamaşır makinesi, buzdolabı, bulaşık makinesi, klima, kullandığımız yeni otomobiller, çocuğumuzun elindeki oyuncak Daha bir çok elektronik cihaz, adına mikrodenetleyici denilen elektronik elemanlar yardımı ile kontrol edilir hale geldi. Aynı işlemler 1990 öncesinde mikroişlemci (CPU) kontrol elemanları ile yapılmaktaydı. CPU ile bir cihazı kontrol etmek için G/Ç elemanları, RAM bellek gibi ek devreler gerekmekteydi. Bunlar hem maliyeti artırıyor hem de programlamayı zorlaştırıyordu. Mikrodenetleyicilerin tasarlanması ile bu sorunlar ortadan kaldırılmış. Ayrıca uygulama alanını geliştirmiştir.
2. MİKROİŞLEMCİ Bilgisayarlarda en önemli donanım parçalarından birisi olan Merkezi İşlem Birimi (CPU), genel olarak mikroişlemci adıyla anılır. Mikroişlemci çevre birimlerle ve bunların birbirine bağlantısını sağlayan kablolarla birlikte bilgisayarın beynidir. Mikroişlemci bilgisayarlarda aritmetik ve mantık işlemlerinin yapıldığı ve bunların denetlendiği merkezdir. Nasıl ki insan vücudunda da beyin düşünen, karar veren kısımdır. İnsanda beynin aldığı kararları uygulaması el, ayak gibi organları kullanmasıyla gerçekleşir. Beyin yöneticidir. Şekil 2.1. Intel 80486dx2 mikroişlemci
Hafıza (memory) birimi (RAM, ROM, EPROM,EEPROM), Mikroişlemcilerle bir mikro bilgisayar sistemini gerçekleştirmek için yardımcı birimlere ihtiyaç duyarlar. Bunlar; Giriş (input) birimi, Çıkış (output) birimi, Hafıza (memory) birimi (RAM, ROM, EPROM,EEPROM), Veri yolu, program yolu, İşaret kaynağı osilatör, Çevre birimler (klavye, ekran, …) Şekil 2.3. AMD X2 3600 Çift Çekirdek işlemci Şekil 2.2. Bir mikroişlemci sistemin temel bileşenleri
3. MİKRODENETLEYİCİ Bir bilgisayar içerisinde bulunması gereken temel bileşenlerden CPU, RAM, ROM ve I/O ünitelerinin tek bir entegre içerisinde üretilmesiyle elde edilen yapıya mikro denetleyici denir. Şekil 3.1. Microchip Firmasının Ürettiği Çeşitli Mikrodenetleyiciler. Mikrodenetleyiciler kameralar, bilgisayarlar, telefon ve modem cihazları, fotokopi ve faks cihazları, radyo, teyp ve oyuncaklarda otomobillerde ise motor denetimi, elektrik ve iç panel denetiminde kullanılırlar.
Mikrodenetleyiciler küçük bir hacme sahiptir Mikrodenetleyiciler küçük bir hacme sahiptir. Hacmin küçük olması, az hafıza, küçük bir beyin ve kısıtlı sayıda giriş/çıkış birimi anlamına gelir. Bu yönüyle bir mikro bilgisayardır. Şekil 3.2. Bir mikrodenetleyici sistemin temel bileşenleri.
4. MİKROİLŞEMCİLER ve MİKRODENETLEYİCİLERİN KARŞILAŞTIRILMASI Mikroişlemci ile kontrol edilecek bir sistemi kurmak için şu üniteler bulunmalıdır; CPU, RAM, I/O ve bu üniteler arasında veri alış verişini kurmak için bilgi yolu (data bus) gerekir. Ayrıca bu üniteleri yerleştirmek için baskılı devre gerekir. Mikroişlemci ile kontrol edilecek bir sistemin maliyeti yüksektir. Mikroişlemcili sistemin tasarımı ve kullanımı mikrodenetleyicili sisteme göre daha karmaşık ve masraflıdır. Mikroişlemci ile kontrol edilecek bir sistemi kurmak için tek bir chip (mikrodenetleyici) ve bir devre kartı yeterlidir. Mikrodenetleyicili sistemlerin maliyeti oldukça düşüktür. Mikroişlemcili sisteme göre kullanım kolaylığı ve programlama kolaylığı da avantajlarındandır. Mikrodenetleyicilerin küçük ve ucuz olmalası, bunların tüm elektronik kontrol devrelerinde kullanılmasını sağlamaktadır.
5. MİKRODENETLEYİCİ SEÇİMİ Bir uygulamaya başlamadan önce hangi firmanın ürünü kullanılacağına, daha sonra da hangi parça numaralı mikrodenetleyicinin kullanılacağına karar vermek gerekir. Bunun için mikrodenetleyici gerektiren uygulamada hangi özelliklerin olması gerektiği önceden bilinmesi gereklidir. Programlanabilir dijital paralel giriş/çıkış ucu sayısı. Programlanabilir analog giriş/çıkış ucu sayısı. Seri giriş/çıkış ( senkron, asenkron ve cihaz denetimi gibi) ucu sayısı. Analog karşılaştırıcının var olup olmadığı. Motor veya servo kontrol için saat sinyali çıkışı. Harici giriş vasıtasıyla kesme yapılıp yapılamayacağı.
Timer (zamanlayıcı) vasıtasıyla ile kesme yapılıp yapıIamayacağı. Harici bellek arabiriminin varlığı. Program belleği tipi (ROM, EPROM, PROM, FLASH ve EEPROM) ve kapasiteleri. Program belleği üzerinde kod koruması yapılıp yapılamayacağı. Dahili RAM kapasitesi. Dahili EEPROM var olup olmadığı ve kapasitesi. Osilatör frekans değeri (Güç tüketiminde önemli rol oynar.)
6. PIC MİKRODENETLEYİCİ Bir uygulamaya başlamadan önce hangi firmanın ürünü kullanılacağına karar verilmelidir. Şuan piyasa da en çok Microchip firmasının PIC ismi ile üretmiş olduğu mikrodenetleyiciler kullanılmaktadır. Microchip firması, 8-bit’lik mikrodenetleyici ve EEPROM üreten bir amerikan şirketidir. PIC mikrodenetleyiciyi tercih etmemizin belli başlı sebepleri şunlardır; Yazılımın Microchip’ten veya internetten parasız olarak elde edilmesi. Çok geniş bir kullanım kitlesi bulunması. PIC’lerin çok kolaylıkla ve ucuz olarak elde edilmesi. Elektronikle hobi olarak uğraşanların bile kullanabildikleri basit elemanları kullanarak yapılan donanımla programlanabilmesi. Çok basit reset, clock sinyali ve güç devreleri gerektirmeleri.
PIC Programlamak İçin Bilinmesi Gereken Bilgiler ve Sahip Olunması Gereken Donanımlar Kişisel bilgisayara sahip olmak ve temel kullanımlarını bilmek. Bir metin editörü kullanmasını bilmek. PIC asembler programına sahip olmak. PIC programlama devre kartına sahip olmak. Program yükleme yazılınımına sahip olmak. PIC mikrodenetleyici (P16F877, P16F84 v.b.) olması. PIC’i denemek için kurulacak olan elektronik devrede kullanılmak üzere breadbord, güç kaynağı, dijital voltmetre ve çeşitli elektronik elemanlar. Programlanmış bir PIC’in çalışmasını izlemek için PIC deneme kartı. 7. ve 8. madde yapılacak işlemlerde zaman kaybını ve malzeme israfını önlemek için Elektronik simülasyon programı. (PROTEUS..v.b.)
7.1. Kişisel Bilgisayar (PC) Assembly program kodlarını kolayca yazabilmek, doğru ve hızlı bir şekilde PIC’in program belleğine göndermek için bilgisayara ihtiyaç vardır.WINDOWS işletim sistemi asgari düzeyde bilinmesi gerekmektedir. Şekil 7.1. PIC’e program aktarımı
7.2. Metin Editörü Assembly dili komutlarını yazıp bir metin dosyası oluşturmak için Windows işletim sistemi içerisindeki NotPad gibi bir editörü kullanabilir. MPLAB editörü sadece asembly değil, Picbasic, pic-C dili komutlarını da renklendirilmiş biçimde göstererek kullanıcıyı oldukça rahatlatmaktadır. Ayrıca program hatalarını bulma da kullanıcıya kolaylık sağlamaktadır. Şekil7.2.1.MPLAB programı Şekil7.2.2. NOT Defteri programı
7.3. Assembler Programı Şekil 7.3.1. MPASM programı PIC assembly dili adı verilen ve 35 komuttan oluşan programlama dilini mikrodenetleyicinin anlayacağı makine koduna(.hex uzantılı program) çeviren programa Assembler derleyici programı denir. Microchip firmasının ürettiği ve internetten ücretsiz edinilebilen MPASM programı ile bu işlem yapılır. Şekil 7.3.1. MPASM programı
7.4. PIC Programlama Devre Kartı Makine diline çevrilmiş program kodlarını PC’den alıp PIC mikrodenetleyicisine yazmak için kullanılan elektronik devreye denir. USB’den programlama ve Seri port aracılı ile programlama yapabilen olmak üzere iki çeşittir. Şekil 7.4.1. PIC Programlama kartı (Seri Port) Şekil 7.4.2. PIC Programlama kartı (USB )
7.5. Deneme Kartı Şekil 7.5.1. PIC Deneme Kartı Programladığınız PIC’i breadbord üzerinde kendi kurduğunuz devrede deneyebileceğiniz gibi aşağıdaki şekilde görülen özel bir bir deneme kartı üzerinde de deneyebilirsiniz. Şekil 7.5.1. PIC Deneme Kartı
7.6. Elektronik Simülasyon Programı Uygulama geliştirmek için ve PIC programlamayı daha kolay öğrenmek için en kullanışlı yöntem elektronik sümilasyon programıdır. Genellikle proteus programı tercih edilir. Labcenter Electronic firmasının bir ürünü olan Proteus görsel olarak elektronik devrelerin simülasyonunu yapabilen yetenekli bir devre çizimi, simülasyonu, animasyonu ve Baskılı Devre çizimi programıdır. Şekil 7.6.1. Proteus programı
8. Mikrodenetleyiciler Kullanılarak Yapılan Çalışmalar. 1. MİKRODENETLEYİCİ KULLANARAK YUMURTA ÜRETME ÇİFTLİĞİNİN ISI, AYDINLATMA VE SU KONTROLÜNÜN GERÇEKLEŞTİRİLMESİ Fatma KAVAK İYİLİK (YÜKSEK LİSANS TEZİ ) ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ Osmangazi Üniversitesi Ekim 2006 Bu tez çalışmasında, 20000 tavuk kapasiteli bir yumurta üretme çiftliğinin soğutma, havalandırma, aydınlatma ve su sistemlerinin kontrolü mikrodenetleyici kullanılarak tasarlanmış ve gerçekleştirilmiştir. Bu çalışmada Microchip firmasının PIC16F870 mikrodenetleyicisi kullanılmıştır. Şekil 8.1. Yumurta Üretme Çiftliği Şekil 8.2. Program ekranı
8.2. DEMİRYOLLARINDA ATC VE ATO SİSTEMLER Yalçın ÇETİN İnönü Üniversitesi Fen Bilimleri Enstitüsü (Yüksek Lisans Tezi) Elektrik-Elektronik Mühendisliği Bu tez de, tren trafiği yönetim metotlarından biri olan hareketli blok sisteminin tasarımı ve uygulamasının gerçekleştirilmişdir. Bu kapsamda tren trafiği yönetim metotları ve tren koruma sistemleri ayrıntıları ile incelenip temel mantıkları çıkartılmıştır. Bu temel mantığa göre, tren trafiği yönetim metodu ve tren koruma sistemi olan bir sistem tasarlanmış, bu sisteme “Hareketli Blok ve Komünikasyon Bazlı Tren Koruma Sistemi” adı verilmiştir. Şekil 8.2.2 GPS Alıcı Modülü. Şekil 8.2.1.Hız Kontrol Blok Diyagramıı Şekil 8.2.3. Her iki aracın konum bilgileri, araçlar arasındaki mesafe ve hız farkının LCD ekrandaki görüntüsü
8.3. ÖNGERİLME ALTINDAKİ MALZEMELERDE DÜŞÜK HIZLI DARBE DENEY DÜZENEĞİ GERİ SEKME(Rebound) FRENSİSTEMİ TASARIMI (MAYIS 2008) DUMLUPINAR ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ LİSANS TEZİ Düşük hızlı darbe deney düzeneği tasarlanmıştır. Şekil 8.3.2. Sistemin kontrol kartı Şekil 8.3.1. Tasarlanan sistemin çalışma elemanları
8.4. PIC 16F877 DENETLEYİCİ TABANLI KLİMA SİSTEMİNİN TASARIMI VE UYGULAMASI GAZİ ÜNV. FEN BİLİMLERİ ENS. ELEKTRİK EĞİTİMİ YÜKSEK LİS. TEZİ H.Tolga KAHRAMAN Danışman: Prof.Dr.İlhami ÇOLAK Bu çalışma de kızılötesi (infrared_IR) uzaktan kumandalı, uyuma modlu, LCM (Liquid Crystal Modul) göstergeli bir otomatik klima kontrolü gerçekleştirilmiştir. Şekil 8.4.1. Devre şeması
Şekil 8.5.1.Program Görünüşü 8.5. BULANIK MANTIK KONTROL UYGULAMALARINDA KULLANILACAK MİKRODENETLEYİCİNİN ÖZELLİKLERİNİN BELİRLENMESİ İÇİN BİR YAZILIM GELİŞTİRİLMESİ Abdullah PADAK Çukurova Ünv.Fen Bilimleri Ens. (Y.Lisans Tezi) Danışman: Yrd. Doç. Dr. Murat AKSOY Bu çalışmada, BMKS uygulamalarında kullanılacak en uygun özelliklerdeki mikrodenetleyicinin seçilmesini sağlayan, Windows tabanlı, kullanımı kolay bir yazılım geliştirilmiştir. Bu yazılım ile en uygun mikrodenetleyici seçilebilmektedir. Şekil 8.5.1.Program Görünüşü
Şekil 8.6.1. Güneş enerjisi ile çalışan araba tasarımı 8.6. GÜNEŞ ENERJİSİ İLE ÇALIŞAN ARACIN ELEKTRİK VE ELEKTRONİK SİSTEMİNİN MİKRODENETLEYİCİLER İLE TASARIMI VE UYGULAMASI KOCAELİ ÜNİVERSİTESİ FEN BİLİMLERİ ENS. MEKATRONİK MÜH. YÜKSEK LİSANS TEZİ Metin SUNAN (HAZİRAN 2006) Danışman: Yrd. Doç. Dr. H. Metin ERTUNÇ Bu tasarımı yapılan araçta güneş panelleri, aküler, motorlar, mikro denetleyiciler, LCD ekranlar ve birçok sensorlar kullanılarak ülkemizin teknoloji kullanımı ve yerli tasarım gücü arttırılmaya çalışılmıştır. Şekil 8.6.1. Güneş enerjisi ile çalışan araba tasarımı
Şekil 8.6.2. Güneş Enerjisi İle Çalışan Arabanın İç Görünümü
SONUÇ Mikrodenetleyici teknolojisi Türkiye’de ve dünyada hızla gelişmekte olan bir teknolojidir. Bu gün Türkiye’de mikrodenetleyici kullanılarak yüzlerce proje gerçekleştirilmiştir. Mikrodenetleyici çoğu yapılan projede araç olarak kullanılmakta, tasarlanan sistemlerin bir kısmını veya tamamını kontrol etmektedir. Mikroişlemci ile kontrol edilen sistemler belirli alanlarda gerçekleşirken, mikrodenetleyici tasarımı ile birlikte kullanım alanı genişlemiştir. Yapılan çalışmalar sadece elektronik alanında değil , bir çok alanda( Tekstil, Tıp, Ulaşım, Ziraat , Makine, Otomotiv, Savunma Sanayi v.b.) yapılmıştır ve daha bir çok çalışma da devam etmektedir. Mikrodenetleyici ile yapılan çalışmalar her alanda hayatı kolaylaştırmaktadır ve teknolojiye katkı sağlamaktadır.
TEŞEKKÜRLER..!