Bilgisayar aracılığı ile herhangi bir işlemi gerçekleştirmek için tabi ki bilgisayar ve kontrol kartınız arasında bir data yolu açmamız gerekir. Daha önceki yazılarımda bu yolu açmak için kullanılabilecek çok çeşitli yolların olduğundan ve bu yollardan bahsetmiştim. Bilgisayarın çevresel ünitelerle haberleşmesinde kullandığı portları vardır. Portlar, bilgisayarın ya da bilgisayar işlemcisinin dış dünyaya açılan bir çeşit kapısıdır. Bu kapıdan veriler işlemci ve dış dünya arasında transfer olurlar. Bilgisayarın temel olarak iki çeşit portu vardır. Bunlar LPT(paralel) ve COM(Seri) portlardır. temel olarak tüm verilen bu portlar üzerinden işlemciye yönlendirilir. RS232 protokolü, COM portları kullanır.
Bütün elektronik cihazlar arasındaki veri transferleri belirli bir kurallar bütünüyle gerçekleştirilir. Bu kurallar bütününe protokol diyoruz. Bu protokoller, anlaşmayı sağlayan bir çeşit dil gibidir. RS232 protokolü basit uygulamalar ve küçük boyutlu verilerin transferi için çok yaygın olarak kullanılan bir protokoldür. Rs232 ilkel bir protokoldur ancak basittir. Bu basitliği sayesinde halen en çok kullanılan protokollerden biridir. Bu uygulamada RS232 protokolünü kullanmaktayız. Protokol hakkında yeterli bilgiye sahip değilseniz şu yazıları okumanızı tavsiye ederim;
http://elektronikhobi.net/i%C2%B2c-iletisim-protokolu-2/
http://elektronikhobi.net/bilgisayar-ve-denetleyici-arasinda-rs232-seri-iletisimi/
Rs232 protokolüne aynı zamanda I²C İletişim Protokolü desek çok yanlış olmaz.
Kullanılan COM port numarası bilgisayar üzerinden bilginin alınıp gönderilebilmesi için önemlidir. Mesela Visual C# ile yazdığınız herhangi bir arayüz programı ile tasarladığınız bir kontrol kartını kontrol etmek için bilgisayar işlemcisinden gönderilen kontrol sinyallerin transferinin hangi numaraya sahip COM port üzerinden yapılacağını bilmek ve bu port numarasına göre programı yazmak gerekir.
Uygulamamızda kullanılan önemli malzemeler olarak 16f877 mikro denetleyici, max232 voltaj düzenleyici entegre ve ULN2003A amplifier entegre olarak sıralayabiliriz.
Max232 entegresi RS232 seri portunun logic değer olarak kabul ettiği 11V gibi yüksek voltajın mikrodenetleyici tarafından algılanması için 5 Volt logic değere indirgenmesi için kullanılan bir entegredir. Bağlanış şeklide yukarıdaki fotoğrafta görüldüğü gibidir. ULN2003A entegresi, denetleyici üzerinden gelen 5 volta sahip kontrol sinyalini step motoru çalıştırabilecek güce yükseltilebilmesi için kullanılan bir amplifier entegresidir. Bu entegreler hakkında daha ayrıntılı bilgiye sahip olmak için üretici firmanın çıkardığı datasheet’lerini inceleyebilirsiniz.
Uygulama tamamen simülasyon tabanlı olduğu için proteus dizayn programının kendi oluşturduğu sanal COM port okuyucusunu kullanarak tamamen simülatif bir şekilde programın çalışıp çalışmadığını kontrol etmek mümkündür. Fakat gerçekte devreyi kontrol etmek için veri transferini sağlayan bir arayüz programına ihtiyaç duyulur. Bu programın visual c# üzerinden yazmak mümkün. İkinci bir alternatif ise hazır COM port arayüz programlarıdır. Hyper terminal bu programlardan birisidir. Visual C# üzerinden arayüz programının nasıl tasarlandığı hakkında bilgi sahibi olabilmek için şu yazıyı okumanızı tavsiye ederim.
http://elektronikhobi.net/visual-c-ile-arayuz-olusturmak/
Uygulamada denetleyici programı pic CCS C üzerinde yazılmıştır. Programda CCS C derleyicisinin hazır olarak kullanıcılarına sunduğu RS232 kütüphanesinin hazır fonksiyonları kullanılmıştır.
Program ve dizayn dosyaları için;
0 Yorumlar