• Sonuç bulunamadı

Üç fazlı stator akımı sinyalinin sıfır geçiş noktaları arasında 60° fark olması gerekmektedir. 50 Hz frekansa sahip bir sinyal için bu fark zaman olarak 3333μs olarak ifade edilebilir. Ancak idealde olması beklenen bu durum rotor oyuk harmoniklerinin etkisi nedeniyle tam olarak gerçekleşememekte, 3333 μs’nin üstünde ve altında değerler oluşmaktadır.

Akım sensörleri kullanılarak elde edilen her bir faz akımı sinyali sayısallaştırıldıktan sonra her bir alternans için üç adet kare dalga formunda sinyal elde edilir. Şekil 3.8’de stator faz akımlarının sayısallaştırılması için kullanılan karşılaştırıcı devrenin şeması görülmektedir. Bu üç sinyal ikişerli olarak mantıksal AND işleminden geçirilir. Bu aşamada oluşan üç sinyal üç girişli bir mantıksal OR kapısı kullanılarak toplanır. Kare dalga formunda tek bir sinyal meydana gelir. Bu sinyal SGA sinyalidir.

Şekil 3.8. Stator akımını sayısallaştıran karşılaştırıcı devre

Şekil 3.9’da SGA sinyalinin elde edilmesi gösterilmektedir. Şekildeki ilk satırda bulunan sinüsoidal dalgalar akım sensörünün çıkışlarıdır. Bu çıkışlar sıfır geçiş

31

anları kıyaslayıcılara uygulanır. Her bir kıyaslayıcının çıkışları ikinci, üçüncü ve dördüncü satırlarda kare dalga formu olarak görülmektedir. Bu kare dalgaların mantıksal AND kapılarıyla ikişerli olarak çarpılır. Çarpma işlemi ile elde edilen dalgaların mantıksal OR kapısı ile toplanması sonucunda beşinci satırda görülen SGA sinyali olarak adlandırılan dalga formu oluşur. SGA sinyalinin yükselen kenarlarından ve düşen kenarlarından ayrı ayrı birer kare dalga oluştulur. Bu kare dalgaların mantıksal olarak çarpılmasıyla son satırda görülen dalga formu elde edilmiştir. Son dalga formu istenilen dalga formudur. Bu dalga formu sayesinde tek kesme kullanılarak asenkron motor hız tespiti gerçekleştirilmiştir.

Şekil 3.9. SGA sinyalinin elde edilmesi

32 3.6. SGA Sinyalinin İşlenmesi

Bu çalışmada gerçek zamanlı hız tespiti yapılabilmesi için FPGA’in hızından faydalanılmıştır. National Instruments firmasının ürettiği bir FPGA yapısı olan LabVIEW RIO Evaluation Kit kullanılmıştır. Gerçek zamanlı çalışmaya imkan veren bu ürün sayesinde rotor hızındaki değişikliklerin anlık izlenebilmesi mümkün olmuştur.

FPGA programlaması zor ama oldukça hızlı bir yapıya sahiptir. Programlamada kolaylık sağlaması için bazı firmalar farklı yazılımlar geliştirmektedirler.

National Instruments firması geliştirmiş olduğu yazılım ve donanımlarla FPGA kullanımını daha kolay hale getirmiştir. FPGA ile etkileşimli çalışabilme özelliğine sahip olması nedeniyle bu çalışmada LabVIEW arayüzü kullanılmıştır.

3.6.1. FPGA

FPGA (Field Programmable Gate Array), alanda programlanabilir kapı dizileri olarak ifade edilen, elektriksel olarak programlanabilir eleman ve arabirimlerden oluşan bir tümleşik devredir. Programlanabilir eleman ve arabirimler; VE (AND), VEYA (OR), Özel VEYA (XOR), DEĞİL (NOT) gibi mantıksal işlemleri veya daha karmaşık olan decoder, çoklayıcı gibi matematiksel işlemleri gerçekleştirmek amacıyla programlanabilir. FPGA yapısında bulunan arabirimler tasarımdaki bağlantılar göz önüne alınarak elektriksel olarak programlanabilir ve istenildiği kadar programlanabilme yapısına sahip olduğundan tasarımlarda büyük kolaylık sağlar. FPGA’ler programlanabilir eleman ve arabirimlere ek olarak hafıza birimlerine de sahiptirler. Bu hafıza birimleri ayrık flip-flop yapılarından veya hafıza bloklarından oluşabilir. Şekil 3.10’da FPGA yapısında yer alan bloklar görülmektedir.

33

Şekil 3.10. FPGA yapısı

FPGA temel olarak Mantık Hücreleri (Logic Cell), Giriş/Çıkış Blokları (IO Block) ve Arabağlantılardan oluşur. FPGA’in ana yapısını mantık hücreleri oluşturur.

Bir mantık hücresi bir adet Lookup Table (LUT), 1adet D Flip-Flop ve bir adet 2 to 1 Mux’tan oluşur. LUT'lar aslında bir mantık işlemi yerine getiren küçük belleklerdir (RAM). N girişli bir LUT, 2𝑁’li bir belleğe işaret eder. Binlerce mantık Hücresinin birleşimi sonucunca kompleks ve büyük programlar oluşturulur. Mantık hücrelerinin arabağlantıları matris şeklindeki veri yolları ve programlanabilir anahtarlarla (FPGA’e yüklenen programa göre) sağlanır. FPGA tasarımı, her bir mantık hücresinin uygulayacağı fonksiyonu ve programlanabilir anahtarların durumunu (açık/kapalı) belirleyerek bu mantık hücreleri arasındaki bağlantıları tanımlar.

FPGA pinleri genel olarak Ayrılmış pinler (Dedicated pins) ve Kullanıcı pinleri (User pins) olmak üzere iki katagoriye ayrılır. Bir FPGA'de tüm pinlerin %20 ila

%30'u ayrılmış pindir. Bu pinler, FPGA'de gerçekleştirdikleri özel fonksiyonlara göre üçe ayrılır.

Güç Pinleri: FPGA için gerekli olan güç ve toprak (ground) bağlantılarını sağlayan pinlerdir.

34

Konfigürasyon Pinleri: Oluşturulan programın FPGA’e yüklenmesi (download) için kullanılan pinlerdir.

Clock Pinleri: Clock sinyalleri için ayrılmış özel pinlerdir.

Kullanıcı pinleri kullanıcı tarafından konfigüre edilebilen standart I/O pinleridir.

Input, Output, Input/Output olarak üç kategoriye ayrılır. Her bir I/O pini FPGA'de bir IO hücresine bağlıdır. IO hücrelerinin güçleri VCCIO tarafından sağlanır. Eski FPGA'ler birden fazla VCCIO pinine sahip olmalarına rağmen, bütün pinler aynı gerilimle beslenirdi. Yeni üretilen FPGA'lerde ise IO'lar gruplara ayrılabilir ve bu gruplar farklı gerilimlerden beslenebilirler. Böylelikle bir grup IO pinleri 3.3 Volt ile çalışırken diğer grup IO pinleri de 2.5 Volt ile çalışabilmektedir.

FPGA’ler genellikle senkronize (synchronous) tasarlanır. Yani FPGA tasarımları clock tabanlıdır ve FPGA içerisindeki D flip-floplar, clock sinyalinin yardımıyla durum değiştirirler. Senkronize tasarımlarda bir clock sinyalinin, bütün flip-flopları aynı anda tetiklemesi gerekir. Aksi takdirde FPGA'de elektriksel ve zamansal problemler oluşmaktadır. FPGA üreticileri bu problemleri ortadan kadırabilmek için, "Global Routing" veya "Global Line" olarak adlandırılan özel bir iç bağlantı geliştirmişlerdir. Bu bağlantı sayesinde, clock sinyalininin FPGA içerisindeki bütün flip-floplara aynı anda ulaşması sağlanır. Bundan dolayı clock beslemelerinin, FPGA'in clock için ayrılmış pinlerinden verilmesi gerekir.

FPGA’lerin çoğunda ayrılmış RAM yani bellek üniteleri bulunmaktadır. Bunlar mantık devrelerinin işleyişi sırasında duyulan geçici depolama ihtiyacı için kullanılırlar. Bu RAM’ler tek veya çoklu erişimi destekleyebilirler. Çoklu erişimde birden fazla uygulama tarafından RAM üzerinde okuma/yazma yapılabilmektedir. Çoklu erişim farklı clockta çalışan işlem blokları arasında veri aktarımı için iyi bir çözümdür. Örneğin 25 MHz clock ile çalışan bir veri toplama ünitesinden 50 Hz ile çalışan bir veri işleme ünitesine veri aktarmak için 2 portlu bir RAM kullanılabilir. 25 MHz ile çalışan veri toplama ünitesi veriyi RAM’e yazar ve 50 MHz ile çalışan veri işleme ünitesi veriyi RAM’den okuyarak

35

kullanır. FPGA içerisinde büyük RAM ihtiyaçları için Block RAM’ler bulunurken küçük veriler için mantık hücreleri arasına serpiştirilmiş dağınık (distributed) küçük RAM’ler bulunmaktadır. Üretici firmaların bazıları dağınık RAM için ihtiyaca göre mantık hücrelerinin bazılarını RAM olarak kullanırken bazıları ise block RAM’leri FPGA içerisinde değişik boyutlarda paylaştırmaktadır.

Programlanabilir mantıksal birimlerin tarihsel gelişimi incelendiğinde ilk programlanabilir birimin PROM (Programmable Read Only Memory) olduğu gözlenir. PROM’lar bir kez programlanabilme özelliğine sahiptirler.

PROM’lardan sonra sırasıyla EPROM (Erasable Programmable Read Only Memory) ve EEPROM (Electrically Erasable Programmable Read Only Memory) birimleri gelmektedir. Bu birimler oldukça kısıtlı yeteneklere sahiptirler. Bu birimlerden sonra EEPROM’lara göre daha gelişmiş olan PAL (Programmable Array Logic) ve PLA (Programmable Logic Array) yapıları geliştirilmiştir.

PLA’ların yapısında programlanabilen VE ve VEYA matrisleri bulunurken, PAL’lerin yapısında ise sabit VEYA matrisi ve programlanabilen VE matrisi mevcuttur. PAL ve PLA yapıları bir fonksiyonu çarpım veya toplamlar şeklinde ifade etmek ve gerçeklemek yöntemiyle kullanılmaktadır. Pek çok PLA ve PAL yapılarının bir araya gelmesi ile oluşturulmuş bir diğer yapı ise CPLD’dir.

CPLD’ler FPGA yapısına oranla girişlere daha hızlı tepki verebilirken, daha küçük lojik birimlere sahip olmaları nedeniyle küçük tasarımların gerçekleştirilmesinde kullanılabilmektedir.

FPGA’ler tekrar programlanabilme özelliği ve tasarımların basit kontrol edilebilir olması nedeniyle tasarımın daha ucuza mal edilebilmesi açısından önemli avantajlara sahiptir. FPGA, tasarımcıya sağladığı esnek çalışma platformu, paralel işlem yapma özelliği nedeniyle eş zamanlı olarak birden fazla işlemi aynı anda gerçekleştirmesi, yüksek frekanslarda çalışabilmesi gibi özellikleri nedeniyle sayısal işaret işleme, yazılımsal radyolar, savunma sistemleri, tıbbi görüntüleme, ses tanıma, kriptografi gibi pek çok alanda kullanılmaktadır. Gerçek zamanlı uygulamalarda ve hızın önemli olduğu yerlerde FPGA kullanılması mikroişlemcilere ve mikrodenetleyicilere göre daha avantajlı olmaktadır.

36

Mikroişlemcilerle ve mikrokontrolcülerle karşılaştırıldığında FPGA hız ve güvenlik açısından tercih edilmektedir. FPGA'de işlemler parelel olarak işlendiği için yazılan programa göre aynı anda birçok modül bir arada kullanılabilir.

Örneğin iki matrisin çarpılması işlemi yapılırken 100 adet çarpma işlemi gerçekleşeceği düşünülürse bir mikroişlemci bu işlemleri tek tek yaparken, DSP aynı anda birkaç çarpma işlemini gerçekleştirebilmekte, FPGA ise tüm çarpma işlemlerini aynı anda yapabilmektedir. Yüksek güvenlik gerektiren askeri uygulamalarda ve yapay sinir ağları gibi yüksek hızda çalışma gerektiren uygulamalarda genellikle FPGA tercih edilmektedir. FPGA’lerin rakiplerine göre en dezavantajlı tarafı olarak programlanmasının zorluğu öne çıkmaktadır.

FPGA yapısının programlanması için donanım tanımlama dilleri veya şematik tasarım araçları kullanılmaktadır. FPGA programlamak için kullanılan donanım tanımlama dillerinin en çok bilinenleri VHDL (Very-High-Speed Integrated Circuits Hardware Description Language) ve Verilog-HDL dilleridir. Donanım tanımlama dilleri tasarım sırasında kullanılacak olan FPGA programlanabilir biriminin hangi üretici firmaya ait olduğuna göre farklılık gösterebilir. Donanım tanımlama dillerinin kullanılmasının karmaşıklığı ve hata ayıklama zorluğu nedeniyle günümüzde C dili kullanılarak programlama yapılmasına imkân veren yeni yazılımlar geliştirilmektedir. Farklı bir alternatif olarak programlamada kolaylık sağlanabilmesi için bazı firmalar tarafından mevcut programların altında çalışan FPGA tool’ları da üretilmektedir.

3.6.2. LabVIEW

Görsel bir programlama dili olan LabVIEW özellikle sinyal işleme uygulamalarında sıkça kullanılan National Instruments firması tarafından geliştirilmiş bir yazılım platformudur. LabVIEW, Laboratory Virtual Instrument Engineering Workbench kelimelerinin kısaltılmasından elde edilen bir isimdir ve bir programlama ortamını tanımlar. Gelişmiş bir grafiksel kullanıcı arayüzüne sahip olan LabVIEW, yazılım dilleri yerine şematik çalışmaya olanak sağlayacak şekilde tasarlanmıştır. Bu programda, içinden veri akan hatlar yardımıyla fonksiyonel noktalar birbirine bağlanarak bir grafik gösterim

Benzer Belgeler