AMASYA ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Elektrik Elektronik Mühendisliği Bölümü Denetim Sistemleri Laboratuvarı Deney Föyü Yrd.Doç.Dr.Mehmet EKİCİ Arş.Gör.Dr.Kenan TEKBAŞ Arş.Gör.Birsen BOYLU AYVAZ DENEY 1-RAPOR MATLAB VE SIMULINK E GİRİŞ Öğrencinin Adı/Soyadı: Numarası: Teslim Tarihi: Puanı: Ön Çalışma %30 Rapor %70
Raporunuzu bir sonraki deneye gelirken getiriniz. Ön hazırlık çalışmanız ise deney esnasında yanınızda olmalıdır. MATLAB PROGRAMLAMA DİLİNE GİRİŞ 1) AMAÇ: MATLAB programlama komut ve fonksiyonlarını kullanarak denklem takımlarının çözümü, veri çözümleme işlemleri, grafik çizimi vs. gibi programlar hazırlayabilmek. 2) DENEYE / UYGULAMAYA HAZIRLIK 1.1.Matlab Nedir? MATLAB, MATrix LABoratory sözcüklerinden gelir. Başta mühendislik alanında olmak üzere sayısal analiz yöntemlerini kullanan bilimlerde son yıllarda oldukça sık kullanılan bir hazır yazılım paketidir. Özellikle yüksek performans gerektiren algoritma hazırlama ve geliştirme, sayısal analiz, benzetim, mühendislik problemlerinin sayısal ve grafik çözüm tekniklerinde son derece etkindir. MATLAB programı, çeşitli mühendislik alanları için hazırlanmış Toolbox ları da ihtiva eden kapsamlı bir programdır. Ancak burada, MATLAB programlama komut ve fonksiyonlarını kullanarak çeşitli program örnekleri incelenecektir. MATLAB ortamına girildiğinde görülen >> biçimindeki MATLAB komut girme iletisinin önüne tek tek MATLAB komut ya da fonksiyonları yazılarak çalıştırılabilir. Ancak kullanıcının, programını File New M-file menüsünden açılan text editörü içerisine yazarak ve *.m uzantısı ile kaydederek çalıştırması pratik açıdan daha uygundur. 2.2.Kullanıcı Arayüzü Matlab açıldığında karşımıza 3 pencere gelecektir. Workspace (Çalışma Alanı) / Current Directory (Çalışma Klasörü) Command Window (Komut Penceresi) Command History (Komut Kaydı) 1
Workspace penceresinde hafızadaki değişkenler ile ilgili bilgiler gösterilmektedir. Değişkenlerin içeriği çift tıklama sonucu açılan Variable Editor ile görüntülenebilmekte ve üzerlerinde değişiklikler yapılabilmektedir. Benzer şekilde değişkenlerin basit grafikleri ve çıktıları elde edilebilmektedir. Workspace penceresinde hafızadaki değişkenler hakkında bilgi edinme ve işlem yapmaya ek olarak yeni değişkenler oluşturmak veya hafızadaki değişkenleri de temizlemek mümkündür. Current Directory (Çalışma Dizini) ve Workspace (Çalışma Alanı) Workspace and Current Directory pencereleri arasında geçiş, alttaki sekmeler vasıtasıyla yapılmaktadır. Current directory penceresinde ise Matlab in Çalışma Klasörü içerisinde bulunan dosyalar gösterilmektedir. Okutulacak veri dosyaları, yerleri path ile tanıtılmadığı sürece bu dosya içinde bulunmalıdır. Matlab ile beraber gelmeyen fonksiyon ve script dosyaları da çalışma klasörünün içerisinde bulunmalıdır veya bulundukları klasörler path komutu ile tanımlanmalıdır. Matlab tarafından üretilen dosyalar da özel bir yer belirtilmedikçe Çalışma Klasörüne kaydedilmektedir. Matlab in çalışma klasörünün adresini Toolbar üzerinde bulunan Current Directory kutucuğu içerisinden görebilirsiniz. Workspace penceresinde hafızadaki değişkenler ile ilgili bilgiler gösterilmektedir. Değişkenlerin içeriği çift tıklama sonucu açılan Variable Editor ile görüntülenebilmekte ve üzerlerinde değişiklikler 2
yapılabilmektedir. Benzer şekilde değişkenlerin basit grafikleri ve çıktıları elde edilebilmektedir. Workspace penceresinde hafızadaki değişkenler hakkında bilgi edinme ve işlem yapmaya ek olarak yeni değişkenler oluşturmak veya hafızadaki değişkenleri de temizlemek mümkündür. Command Window (Komut Penceresi) Command Window penceresinden fonksiyonlar ve programlar çalıştırılabilmekte veya değişkenler tanımlanabilmektedir. ƒ Yukarı ok tuşuyla ( ) bir önceki komut çağırılmaktadır. ƒ Aşağı ok tuşuyla ( ) bir sonraki komuta geçilmektedir. ƒ Sol ( ) ve sağ ( )tuşlarıyla komut içerisinde hareket edilebilmektedir. Değişkenlerin Tanımlanması Değişken isimleri rakam ile başlayamaz. - Sadece İngilizce alfabede a dan z ye kadar olan harfler, sayılar ve alt çizgi ( _ ) kullanılabilir. - 31 karakter ile sınırlı - Büyük-küçük harf kullanımına duyarlı. 3
Değişkenler ile ilgili komutlar Who Hafızadaki değişkenleri listeler Whos Hafızadaki değişkenleri boyutları ile beraber listeler Clear Hafızadaki değişkenleri temizler Save Hafızadaki değişkenleri kaydeder Komut Penceresinde Sık Olarak Kullanılan Komutlar Clc Komut penceresini temizler Clf Figure penceresini temizler Close Figure Penceresini kapatır More on Uzun program çıktılarının sayfa sayfa görüntülenmesini sağlar. Enter More on modu aktifken gelecek satıra ilerlemesini sağlar. Space More on modu aktifken gelecek sayfaya ilerlemesini sağlar. More on modu aktifken çıktıyı durdurur. More off More on modundan çıkılmasını sağlar. komut ikinci satırda devam ediyor. % Yorum (Bu kısım program tarafından değerlendirilmez., Tek satırda birden fazla komut girmek için kullanılır ; Çıktının ekranda görüntülenmesini engeller. Özellikle ara işlemlerde kullanılır. Ctrl + C Çalışan bir programdan çıkılmasını sağlar. Ctrl + Break Çalışan bir programdan çıkılmasını sağlar. Pause Programı kullanıcı bir tuşa basana kadar veya kullanıcı tarafından belirlenmiş bir süre için duraksatır. Exit, Quit Matlab i kapatır 4
Komut penceresinin görüntü ayarları MATLAB Start menüsündeki Preferences seçeneği ile yapılabilmektedir. Command Window Preferences penceresinde Numeric Format ve Numeric Display seçenekleri ile sayıların ekranda görüntülenme şekli seçilebilir. Aynı değişiklikler Komut penceresinden format komutuyla da yapılabilir. Format komutu hakkında ayrıntılı bilgi help format komutu ile alınabilir. Command History penceresinde de, komut penceresinde girmiş olduğunuz komutların kaydı tutulmaktadır. Command Window, Command History, Current Directory ve Workspace pencereleri sürüklenerek hareket ettirilebilmekte ve kaldırılabilmektedir. Kaldırılan pencerelerin yeniden gösterilmesi için Desktop menüsünden ekranda görünmesi istenen pencereleri işaretlemeniz yeterlidir. 5
Kısayollar Kısayollar, rutin görevlerin gerçekleştirilmesinde kullanıcıyı oldukça rahatlatmaktadır. Yeni bir kısayol yaratmak için shortcuts araç çubuğuna sağ tıklayın ve çıkan menüde New Shortcut seçeneğini seçin. Karşımıza gelen Shortcut editör penceresinde Label kısmına kısayolun ismi, Callback kısmına ise gerçekleştirmesi istenen görevler yazılmaktadır. 6
MATLAB de Yardım Alma Matlab kullanıcılara oldukça gelişmiş bir yardım sistemi sunmaktadır. Herhangi bir fonksiyon hakkında bilgi alabilmek için help komutu kullanılabilir. Örnek: help save. Bir konu hakkında bilgi içeren fonksiyonların listesi lookfor komutu ile elde edilebilir. Örnek: lookfor sine. F1 tuşuna basarak veya Help menüsünden ulaşabileceğimiz MATLAB yardım diyaloğu ile detaylı arama yapmak mümkündür. Özellikle bu pencerede bulunan Getting Started bölümünün yeni başlayan tüm kullanıcıların tarafından incelenmesi tavsiye edilmektedir. http://www.mathworks.com/matlabcentral/ adresinden Matlab Central a ulaşabilir ve diğer kullanıcılar tarafından geliştirilen uygulamalardan istifade edebilirsiniz. Gelişmiş Bir Hesap Makinesi Olarak MATLAB. Aritmetik Operatörler + Toplama - Çıkarma * Çarpma / Bölme ^ Üs Alma İşlem Önceliği 1. Parantezler (İçeriden dışarı doğru) 2. Üs alma 3. Çarpma ve Bölme (Soldan sağa) 4. Toplama ve Çıkarma (Soldan sağa) Özel Değişkenler Ans Varsayılan değişken ismi Pi π Eps İki rakam arasında olabilecek en ufak fark Inf Sonsuz Nan Sayı değil veya tanımsız Örnek. 0/0 7
Temel Matematiksel Fonksiyonlar 8
M-Dosyaları: Scriptler ve Fonksiyonlar Komutlar, komut penceresinden girilebildiği gibi M-Dosyaları aracılığıyla da girilebilmektedir. M-Dosyaları sayesinde birbirini takip eden çok sayıda komut bir seferde başlatılabilmektedir. M-Dosyası oluşturmak Yeni bir M-Dosyası oluşturmak için File menüsünden New M-file seçeneğini tıklayın. 9
Deney Öncesi Çalışma: 1) a = pi/6 n=sin(a)^2 + cos(a)^2 m=exp(2*log(3) + 3*log(2)) sonucu Matlab ta yapınız. 2) x^2-3*x-4=0 denklemini Matlab ta çözünüz. 3) A= 1 2 B= 2 4 Matrislerini oluşturup; 3 4 6 8 A+B,A-B,A^2,A.^2,A işlemlerini yapınız. 4) 2*2 lik birim matris ve 2*2 lik random matris oluşturunuz ve toplayınız. 5) x=23 değeri için; f(x)=5*x^2-6*x denklemini çözünüz. 10
SIMULINK E GİRİŞ 1-) AMAÇ MATLAB/Simulink Programını kullanarak kontrol sistemlerinin için blok şema çizimlerini yapabilmek ve çeşitli giriş sinyalleri için kontrol sisteminin cevabını incelemek. 2-) DENEYE / UYGULAMAYA HAZIRLIK SIMULINK; MATLAB programı (*.m dosyası) yazarak bir dinamik sistemin cevabının bulunması ve blok şemalarının fonksiyonlarla indirgenerek kontrol sisteminin incelenmesi yerine doğrudan blok şemalar ile kontrol sistemi çizilerek analizini sağlayan bir programdır. MATLAB/SIMULINK ortamına geçmek için komut satırından, >> simulink yazılmalı ya da Simulink düğmesi tıklanmalıdır. Simulink ortamında temel simulink blok kütüphaneleri ile birlikte çok sayıda toolbox blok kütüphaneleri mevcuttur. Temel simulink blok kütüphanelerinden ilk aşamada Continuous, Sinks, Sources, Math Operations kütüphaneleri önemlidir. SIMULINK Yeni bir Simulink dosyası oluşturmak için SIMULINK den File-New seçilerek boş bir simulink ortamı açılmalıdır. Bu boş ortamda Simulink ile bir kontrol sisteminin blok şemasını oluşturmak için yukarıdaki şekilde görülen kütüphane blokları seçildikten sonra içeriğindeki ilgili bloklar sürüklenerek 11
taşınmalı ve bağlantıları yapılmalıdır. Şekilde Continuous, Sinks, Sources kütüphanelerinden taşınan bloklarla bir transfer fonksiyonunun basamak cevabının osilaskopta incelenmesi çizilmiştir. Kontrol sistemi kurulduktan sonra dosyaya isim verilerek kaydedilebilir. Kurulan model, Simulation start ile çalıştırılır. Bazı önemli blok kütüphaneleri ve bloklar aşağıda verilmiştir. Math Operations kütüphanesi çarpma, bölme, toplama, işaret alma, karekök alma vs. gibi çeşitli aritmetiksel operatör bloklarını ihtiva eder. Continuous kütüphanesi türev, integral, sistemlerin transfer fonksiyonu ve durum denklemi modellerini ihtiva eder. Sinks kütüphanesi çeşitli osilaskoplar, blok çıkışı, dosya ve MATLAB komut satırına yazma bloklarını ihtiva eder. 12
Sources kütüphanesi blok girişi ve çeşitli giriş sinyallerini ihtiva eder. 1.Uygulama: 1) Aşağıdaki sistemi Simulink te gerçekleyiniz. 13
Bloklar seçilir: Bloklar birleştirilir; Simülasyon çalıştırılır. Süre 30 sn.dir. Blokları döndürmek için sağ tıklanıp formattan flip block seçilir. 14
Scope üzerine tıklandığında simülasyon çıktısını görebiliriz; 2.Uygulama: 1) Aşağıdaki sistemi Simulink te gerçekleyiniz Vc yi gözlemleyiniz. 15
Sistemi Simulink te oluşturduğumuzda; Scope tan sistemin çıkışını görebiliriz; Deney Sonrası Çalışma: 1) U(s) 25/(s^2+4*s+25) Y(s) Simulink te gerçekleyiniz. Ekran görüntülerini rapora ekleyiniz. 2) Sin(x) i ilk 10 terim kullanarak bulan bir Matlab programı yazınız. X açı değerini derece olarak kullanıcıdan alıp sin(x) i bulunuz. Kodu ve ekran görüntüsünü rapora ekleyiniz. 16