Bu uygulama saatinde, dinamik sistemlerin simülasyonu (benzetimi) için geliştirilmiş olan, oldukça kullanışlı bir arayüz, Simulink, tanıtılacaktır. Simulink bir Grafik Kullanıcı Arayüzü (Graphical User Interface - GUI) aracılığıyla dinamik sistemlerin, bloklar kullanılarak simülasyonunun yapılmasına olanak sağlar. Doğrusal, Doğrusal Olmayan ve Dijital Sistemlere ilişkin bloklar içerir. Bu bloklar, ilgili arayüzün blok kütüphanelerinden sürüklenmek suretiyle, model dosyasına eklenir. Simulink i başlatmak için MATLAB Command Window a simulink yazılabilir ya da daha genel kullanılan şekliyle, aşağıdaki şekilde görülen ikon tıklanabilir. 1
Bu ikon tıklandığında aşağıdaki şekilde görülen Simulink Library Browser penceresi açılır. Bu pencere, tüm blokları içeren kütüphaneleri barındırır. Şekilde yuvarlak içine alınan ikona tıklanarak yeni bir model dosyası (.mdl) açılır ve simülasyonu yapılacak olan sistem, bu model dosyası üzerinde oluşturulur. Bu ikonun hemen yanında ise, daha önce oluşturulmuş mevcut bir model dosyasını açmak için kullanılan ikon vardır. Açılan model dosyasının görünümü Şekil (b) deki gibidir. 2
Library Browser penceresinin sol tarafında, yaygın olarak kullanılan kütüphanelere erişim için kütüphane başlıkları mevcuttur. Örneğin Contunious kütüphanesine tıklandığında pencerenin sağ tarafında şekildeki gibi Derivative, Integrator, Transfer Functions vs. blokları ortaya çıkar. Bu bloklar açılan model dosyasına sürüklenmek suretiyle kullanılabilir. 3
Yine Simulink Library Browser penceresinin sol tarafında görülen kütüphanelerden Sources başlıklı olana tıklanırsa, bir sisteme kaynak vasfı teşkil edecek bloklar sağ tarafta belirir. Bu kütüphane çıkış olarak bir adım sinyali (Step), sinüs sinyali (Sine Wave), rampa sinyali (Ramp) vs. üreten blokları içerir. 4
Yine Simulink Library Browser penceresinde Sinks kütüphanesi tıklanırsa, sağ tarafta bir sisteme çıkış vasfı teşkil edebilecek, bir sinyalin zamana göre ya da başka bir sinyale göre değişimini grafiksel olarak görmeye olanak sağlayacak bloklar belirir. Bunlardan, örneğin, Scope bloğu, bir osiloskopun fonksiyonunu yerine getirir. Herhangi bir blok, model penceresine Mouse ile sürüklenerek modele eklenir. Bu andan itibaren bloğun (eğer gerek duyulursa) ismi ve boyutları değiştirilebilir. Ayrıca ilgili blok çift tıklanarak, açılan Block Parameters penceresinden bloğun parametreleri ayarlanabilir (örneğin sinüs sinyalinin frekansı, ya da adım sinyalinin genliği gibi). Ayrıca model dosyasındaki herhangi bir yere çift tıklanarak, buraya açıklayıcı metinler eklenebilir. 5
Herhangi iki bloğu birbirine bağlamak için, Mouse, bağlanacak olan bloğun ucundaki oka konumlandırılır ve sol tuş basılı tutularak bu bloğun bağlanacağı diğer bloğa doğru sürüklenir. Modelin oluşturulması tamamlandığında, aşağıda görülen Start Simulation butonuna tıklanarak simülasyon dosyası çalıştırılır. Şimdi bir tane doğrusal sistemler için ve bir tane de doğrusal olmayan sistemler için olmak üzere, iki ayrı örnek simülasyon modeli oluşturup çalıştıralım. 6
Örnek Model 1: Üç farklı Doğrusal Sistemin Zaman Cevabının Karşılaştırılması Transfer fonksiyonları sırasıyla 24.542 T1 2 s 4s 24.542 245.42 T2 2 ( s 10) s 4s 24.542 T 73.626 ( s 3) s 4s 24.542 3 2 olan üç farklı sistemin birim adım cevabını tek bir grafik üzerinde karşılaştıralım. Oluşturulacak modelin nihai hali aşağıdaki gibidir. 7
Sisteme birim adım girişi uygulanacağı için, ilk önce Sources menüsünden Step bloğunu model dosyasına sürükleyelim. Daha sonra bu bloğu çift tıkladığımızda aşağıdaki pencere açılacaktır: Buradaki Final Value kutusuna, uygulanacak olan adım girişinin genliği girilir. Hem bu bloğun, hem de diğer tüm blokların isimlerini (eğer ihtiyaç duyarsanız) yukarıdaki şekilde görüldüğü gibi değiştirebilirsiniz. Daha sonra her bir sistemin transfer fonksiyonlarını oluşturalım. Bunun için Math kütüphanesi altındaki Gain bloğu ile Continuous kütüphanesi altındaki Transfer Function bloğunu kullanalım. Bu blokların her birini çift tıkladığımızda aşağıda görülen pencereler açılır. Transfer Function blogunda Numerator yazan kutuya pay polinomunun katsayıları, Denominator yazan kutuya da payda polinomunun katsayıları girilir. 8
9
Son olarak, sistemlerin bu adım girişine cevabını tek bir grafik üzerinde görmek için osiloskop kullanalım. Osiloskopta üç farklı sinyal görmek istediğimiz için, önce Signal & Systems kütüphanesinden Mux bloğunu modele sürükleyip bırakalım. Bu bloğu çift tıkladığımızda açılan pencere aşağıdaki gibidir. Üç sinyali birleştireceğimizi için Number of Inputs kutusuna 3 değeri girilir. Daha sonra Sinks menüsünden Scope bloğunu modele sürükleyelim. Bağlantıları bu örneğin ilk şeklinde görüldüğü gibi yapalım ve modeli çalıştıralım. Aşağıdakine benzer bir grafik elde etmeniz beklenir: 10
Sonuçları gösteren blok olması nedeniyle Scope bloğu ve bu bloğun parametreleri konusunda daha fazla detay verelim: Scope bloğu çift tıklandığında aşağıdaki gibi bir pencere açılır. Pencerenin üst kısmındaki butonların soldan sağa doğru fonksiyonları şu şekildedir: 1. Buton: Osiloskop ekranını yazdırır. 2. Buton: Blok parametrelerini içerir (Birazdan detaylandırılacaktır) 3. Buton: Osiloskop ekranı üzerinde herhangi bir bölgeye odaklama (zoom) sağlar. 4. Buton: Sadece yatay eksende odaklama yapar. 5. Buton: Sadece düşey eksende odaklama sağlar. 6. Buton: Odaklama yapılmış ekranı normal haline döndürür. 7. Buton: Mevcut eksen ayarlarını kaydeder. 8. Buton: Kayıtlı eksen ayarlarını yeniden yükler. 9. Buton: Kayan osiloskop ekranı sağlar. 10. Buton: Mevcut eksen ayarlarını kilitler (değiştirilmesini önler). 11. Buton: Seçilen sinyallerin kayan ekranda görülmesini sağlar. 11
Bu butonlardan Scope Parameters butonu tıklandığında aşağıdaki gibi bir pencere açılır: Bu pencerenin tepesinde iki sekme vardır. Pencere, varsayılan olarak General sekmesinde açılır. Bu sekmede, osiloskopun eksen sayısı gibi parametreler ayarlanır. Ancak Data History sekmesi, osiloskop içeriğinin başka uygulamalarda da kullanılmasını sağlaması açısından çok önemlidir. Bu sekmenin görünüşü aşağıdaki gibidir. 12
Normalde osiloskop ekranının içeriği, başka uygulamalar (Örneğin Microsoft Word) için kullanılabilir değildir, yani doğrudan kopyalanıp başka bir uygulamaya yapıştırılamaz. Bu nedenle, eğer ekrandaki grafik başka bir uygulamada kullanılmak istenirse, bu penceredeki Save data to workspace kutusuna, ekran içeriğinin atanacağı değişkenin ismi yazılır (örneğin ssebe olsun). Simülasyon modeli çalıştırıldığında bu osiloskopa ilişkin data, MATLAB Workspace de sizin isimlendirdiğiniz değişkenin içine atılır. Daha sonra MATLAB Command Windowd a simplot(ssebe) yazıldığında, bu osiloskoptaki değişim, başka uygulamalar için de kopyalanabilir bir MATLAB figürü olarak çizdirilir. Örnek Model 2: Daha önce derste doyum türü doğrusalsızlığın sistemlerin zaman cevabı üzerindeki etkisini incelemek için gösterilen aşağıdaki modeli kurunuz ve çalıştırınız. Cevapların zamana göre değişimini aynı grafik üzerinde ve başka uygulamalar için de kullanılabilecek şekilde çizdiriniz. 13