T.C. FIRAT ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ARABA-TERS SARKAÇ KONTROLÜ BİTİRME ÖDEVİ HAZIRLAYAN İbrahim ÇERİ Kaan GÜRARSLAN DANIŞMAN Doç. Dr. Ayşegül UÇAR ELAZIĞ 2019 KABUL VE ONAY Bu çalışma Fırat Üniversitesi Mühendislik Fakültesi Mekatronik Mühendisliği Bölümüne Bitirme Projesi yükümlülüğünü yerine getirmek amacıyla sunulmuştur. İbrahim ÇERİ Kaan GÜRARSLAN Öğrenci No:14280025 … /…/ 2019 Öğrenci No:15280016 İmza: Proje Danışmanı: Doç. Dr. Ayşegül UÇAR Verilen Not: Jüri Üyeleri İmza Üye : Üye: Üye: Sınav Tarihi: … / … / 2019 Bölüm Başkanı Doç. Dr. Oğuz YAKUT 2 ÖNSÖZ Bu tez çalışmamızda, temel kontrol problemlerinden biri olan araba-ters sarkaç deneyini geniş kapsamda araştırma yapma fırsatı bulduk ve bu çalışma neticesinde, sistem tasarımı, modellemesi ve kontrol yönteminin belirlenmesini geniş çaplı irdeledik. Çalışmamız sırasında bizlerden tecrübe ve bilgisini esirgemeyen Sayın Doç. Dr. Ayşegül UÇAR ’a ve bu süreçte bizlerden yardımını ve desteğini eksik etmeyen Sayın Yakup ÖKDEM ve Sayın Mehmet Can TÜRK ’e teşekkürü bir borç biliriz. … /… / 2019 ELAZIĞ İbrahim ÇERİ Kaan GÜRARSLAN I İÇİNDEKİLER ÖNSÖZ…...………………………………………………………………..………………………………………………………………………I İÇİNDEKİLER…………………………………………………………….……………………………………………………………………..II ŞEKİLLER ve TABLOLAR LİSTESİ…….…………………………………………………………………………….………………...IV SEMBOLLER…………..…………………………………………………………………………………………………….………………….V KISALTMALAR………..………………………………………………….…………………………………………………….…………...VI ÖZET………………………………………………………………………………………………………………………….……..………….VII ABSTRACT…………………………………………………………………….…………………………………………………...……….VIII 1 GİRİŞ…………………..…………………………………………………………………………………………………………………….1 1.1 Amaç……………………………….……………………………………….………………………………………………………..1 1.2 Litaratürde Ters Sarkaç Sistemi………………………………….……………………………………………………….1 1.3 Ters Sarkaç Sistemi Uygulama Alanları……………………….………………………………………………………2 2 PROJENİN TANIMI…………………………………………………………………………………………………………………….4 2.1 Ters Sarkaç Sistemi.………………………………………………………………………..……………………………......4 2.2 Araba-Ters Sarkaç Sistemi………………………………………………………………………………………………….5 2.3 Araba-Ters Sarkaç Sisteminin Yapısı…………………………………………………………………………………..6 3 ARABA-TERS SARKAÇ SİSTEM TASARIMI…………………………………………………………………………………..7 3.1 Mekanik Tasarım………………………………….…………………………………………………………………………..7 3.1.1 Mekanik Malzemeler…………………………………………………………………………………………7 3.2 Elektronik Tasarım……………………………………………………………………………………………………………7 3.2.1 CPU Seçimi………………….…..…………………..……………………………………………………………8 3.2.2 Kodlayıcı Seçimi…….…………….……………………………………………..……………………………..9 3.2.2.1 Mutlak Kodlayıcı………………………………………………………………………………………..9 3.2.2.2 Artımsal Kodlayıcı………………………………………………………………………………………9 3.2.3 Motor Seçimi……………..………………………………………………………………………………………9 4 ARABA-TERS SARKAÇIN MATEMATİKSEL MODELİ..……………………………………………………………….10 4.1 Sistemin Modellenmesi……………………………….…………………………………………………………………..10 4.1.1 Fiziksel Denklemlerle Modelleme………………….………………………………………………..10 4.1.1.1 Kuvvet Analizi ve Sistem Denklemleri………………….…………………………………..10 4.1.1.2 Lagrange Yöntemi ile Hareket Denklemi…………….……………………………………12 4.1.2 Sistemin Transfer Fonksiyonun Elde Edilmesi…………….…………………………………..12 4.1.3 Durum Uzay Modelinin Elde Edilmesi………………………….………………………………….13 5 ARABA-TERS SARKACIN KONTROL YÖNTEMİ………………………………………………………………………….14 5.1 Kontrol Sistemi………………………..…………………………………………………………………………………….14 5.2 Kontrol Sistemi Tanımı ve Amacı…………………………..……………………………………………………….14 5.3 Kontrol Sistemi Türleri……………………………………..……………………………………………………………15 5.3.1 Açık Çevrim Kontrol Sistemleri…………..………..…………………………………………………15 5.3.2 Kapalı Çevrim Kontrol Sistemleri…..……………..………………………………………………..15 5.4 Kontrol Yöntemi…………………….……………………………………………………………………………………..16 5.4.1 Sarkacın Yukarı Kaldırılması………………………….………………………………………………..16 5.4.2 Sarkacın Dengelenmesi…………………………………….……………………………………………16 6 SİSTEME UYGULANAN KONTROLLER……………………………………………………………………………………….17 6.1 PID Kontrol………….………………………………………………………………………………………………………..18 6.2 LQR Kontrol………….……………………………………………………………………………………………………….22 II 7 ARABA TERS SARKAÇ KONTROLÜ TASARIM VE UYGULMA.........................................................27 7.1 Mekanik Tasarım……………………………………………………………….………………………....................27 7.2 Elektronik Tasarım…………………………………………………………………………………………………………28 7.3 Kontrol Parametrelerinin Belirlenmesi……………..……………………………………………………………29 7.4 Kontrol Algoritması………………………….…………………………………………………………………………….31 7.5 Uygulama ve Gözlem…………………………………………………………..............................................32 SONUÇLAR………..............................................................................................................................33 KAYNAKÇA…….…………………..………………………………………………………………….…………………………………..34 III ŞEKİLLER VE TABLOLAR LİSTESİ Şekil 1.1 Şekil 1.2 Şekil 1.3 Şekil 1.4 Şekil 1.5 Şekil 2.1 Şekil 2.2 Şekil 3.1 Şekil 3.2 Şekil 3.3 Şekil 4.1 Şekil 5.1 Şekil 5.2 Şekil 5.3 Şekil 6.1 Şekil 6.2 Şekil 6.3 Şekil 6.4 Şekil 6.5 Şekil 6.6 Şekil 6.7 Şekil 6.8 Şekil 6.9 Şekil 6.10 Şekil 6.11 Şekil 7.1 Şekil 7.2 Şekil 7.3 Şekil 7.4 Şekil 7.5 Şekil 7.6 Şekil 7.7 Tablo 1.1 Tablo 2.1 Tablo 3.1 Robot Kolu Benzetimi………………………….………………………….…2 Vinç Sistemi………………...……..………………………....…………….…3 Segway Sistemi………………………………………….…….…....………...3 Ayakta Duran İnsan Modeli….……………………………………………….4 Füze Sistemi.………………………………………………………………….4 Araba-Ters Sarkaç Sistemi………………………….………………………...6 Araba-Ters Sarkaç Sisteminin Yapısı....….…………………………………..6 Araba-Ters Sarkaç Mekanik Modeli………….....……………………………7 Elektronik Tasarım Şeması……………….…………………………………..8 Arduino Due ve Teenst 3.6 Görüntüsü……….....……………………………8 Araba-Ters Sarkaç Modeli……………....…………………………………..10 Kontrol Sistemi………...……………………………………………………14 Açık Çevrim Kontrol Sistemin Genel Yapısı….…………………………….15 Kapalı Çevrim Kontrol Sistemi Genel Yapısı…….....…….……..………….15 Sistem Kontrol Şeması……………………….……...……………………....17 Basitleştirilmiş Sistem Kontrol Şeması……………………………………...17 Sarkacın Konumu Kp=1…..……………………………………..………..…...19 Sarkacın Konumu Kp=100…..…………………………………...……..……..19 Sarkacın Konumu Kp=100, Kd=20…………………………………...….……20 Araba Konum Kontrol Şeması………………………………………….…...20 Basitleştirilmiş Araba Konum Kontrol Şeması……………………………...20 Araba Konumu………………………………………………………….…...21 Tam Durum Geri Beslemeli Kontrol Şeması……………………….…….…22 LQR İle Araba Konumu ve Sarkaç açısı…………………………...……......25 LQR İle Arabanın Konumu ve Sarkaç Açısı………………………………...27 Araba Tasarımı………………………………………………………………27 Araba Ters Sarkaç Genel Yapısı…………………………………………….28 PCB Devresi…………………………………………………………………28 Baskı Devresi………………………………………………………………..29 Sistem Kontrol Şeması………………………………………………………29 Matlab PID Tuner Aracı……………………………………………………..30 Kontrol Akış Diyagramı.……………………………………………………..31 Arduino Due ve Teensy 3.6 Karşılaştırması…………………………………..8 Araba-Ters Sarkaç Modeli Tanımları……………..…………………………10 Sistem Parametreleri………………………………………………………....17 IV SEMBOLLER M m b l I g F x x x Arabanın Kütlesi Sarkacın Kütlesi Sürtünme Katsayısı Sarkaç Uzunluğu Sarkacın Kütle Atalet Momenti Yerçekimi İvmesi Uygulanan Kuvvet Arabanın Konumu Arabanın Hızı Arabanın İvmesi Sarkaç Açısı Sarkaç Hızı N P Sarkaç İvmesi Yataydaki Kuvvetlerin Tepkisi Dikeydeki Kuvvetlerin Tepkisi Dikey Konumdaki Sarkacın Açısı Dikey Konumdaki Sarkacın Hızı Dikey Konumdaki Sarkacın İvmes (s) Sapma Açısının Fonksiyonu U (s) Girişin Transfer Fonksiyonu X ( s) Araba Konumunun Transfer Fonksiyonu Ppend ( s ) Sarkaç Konumu Pcart ( s) Araba Konumu C (s) Kontroller T (s) T d f Transfer Fonksiyonu Tork Kasnak Yarıçapı Motorun Açısal Hızı Frekans Pmotor Motor Gücü V KISALTMALAR L Lagrange Eşitliği KE Kinetik Enerji PE Potansiyel Enerji KEM Arabanın Kinetik Enerjisi KEm Sarkacın Kinetik Enerjisi CPU Merkezi İşlem Birimi Max Maksimum PWM Darbe Genişliği Modülasyonu VI ÖZET Bu çalışmamızda kontrol teoremlerinin önemli problemlerinden biri olan doğrusal olmayan ters sarkaç sisteminin mekanik ve elektronik tasarımları gerçekleştirilmiştir. Bu çalışmada kontrol yöntemleri üzerinde durulmuştur. Çalışmanın nihai amacı, araba üzerinde yer alan ters sarkacın dik pozisyonda tutulmasıdır. VII ABSTRACT In this study; mechanical and electronic design of a non-linear inverted pendulum has been done which is one of the outstanding problems in control theories. Furthermore, various control theories were mentioned. The ultimate aim of the study is to hold the pendulum in a vertical position which is mounted on a cart. VIII 1 GİRİŞ 1.1 Amaç Bu çalışmada, aşağı konumdaki ters sarkaç sistemine belirli kontrol yöntemleri uygulanarak, sarkacın yukarı dik konumda tutulması sağlanmıştır. Bu tezin amacı; kontrol teorilerinin klasik problemlerinden olan ters sarkaç sisteminde belirli kontrol yöntemi uygulanarak, ters sarkaç sistemi üzerindeki etkisi incelemektir. Ters sarkaç sistemi birçok gerçek sistemin temelini oluşturduğundan, bu çalışmanın gerçekleştirilmesi birçok karmaşık sistemin gerçekleştirilmesi bakımından oldukça önem arz etmektedir. 1.2 Literatürde Ters Sarkaç Sistemi Sarkaç salınımları üzerine ilk araştırma 10.yüzyılda İbn-i Yunus tarafından yapılmıştır. Yapılan çalışma diğer araştırmacıların da ilgisini çekmiştir. Galileo sarkacı zamanı ölçmek için kullanmıştır. 17. Yüzyıl araştırmacılarından Newton, Hooke ve Huygens sarkaç salınımları konusunda Galileo‘yu referans alarak çeşitli çalışmalar yapmıştır [1-3]. Literatürde, ters sarkaç sistemleri farklı yapılarda sınıflandırılabilmektedirler. Tek çubuklu ters sarkaç sistemleri, döner ters sarkaç sistemleri ve çift çubuklu ters sarkaç sistemleri şeklinde temel çeşitleri bulunmaktadır [4-10]. Ters sarkaç sistemlerine farklı kontrol yöntemleri uygulanarak sistemin kontrolü sağlanmaktadır. Uygulanan temel kontrol yöntemleri; PID ve durum geri besleme, genetik algoritma, yapay sinir ağları, enerji tabanlı, bulanık mantık, geri beslemeli doğrusallaştırma, kayan kipli kontrol gibi temel kontrol yöntemleri uygulamaktadır [9,11-18]. Muskinja ve Tovornik [9] kontrol yöntemi olarak bulanık mantık ve enerji tabanlı kontrol yöntemlerini kullanarak tek sarkaçlı sistemi kontrol etmişlerdir. Uyarlamalı kontrolör yapısını sarkacın dengelenmesi için tavsiye etmişlerdir. Çalışmalarının sonucunda bulanık mantık yönteminin enerji tabanlı yönteme göre daha avantajlı olduğunu belirtmişlerdir. Yazıcı ve Karamancıoğlu [19] çalışmalarında farklı denetçiler tasarlayarak bunların performanslarını karşılaştırmışlar. Elde edilen deney sonuçlarından gürbüzlük analizlerini yapmışlardır. Bugeja [11] çalışmasında geri beslemeli doğrusallaştırma ve durum geri besleme yöntemlerini kullanmıştır. Sarkacın yükseltilmesi için sistem enerjisi ve geri beslemeli doğrusallaştırma yöntemlerini, sarkacın dengelenmesi için de durum geri besleme yöntemlerini kullanmıştır. Ji, Lei ve Kin [12] çalışmalarında, bulanık mantık ile geliştirdikleri algoritmayı ters sarkaç sistemine uygulamışlardır. Lozano ve arkadaşları [14] çalışmalarında enerji tabanlı kontrolör tasarlayarak ters sarkaç sistemini kontrol etmişlerdir. Yamakita ve arkadaşları [20] çift sarkaç sistemini yukarı kaldırılması ile ilgili problemi inceleyerek deneysel veri elde etmişlerdir. Çalışmada geri beslemeli kontrol yöntemi kullanılarak dönel çift ters sarkaç sisteminin kontrolü sağlanmıştır. Chaio-Shiung Chen ve Wen-Liang Chen [21] çalışmalarında iki farklı model kullanmışlardır. Bulanık mantık ile kayan kip denetimini ters sarkaç sistemine uygulamışlardır. Pavol ve Martin [22] çalışmalarında PLC ve MATLAB Simulink kullanarak ters sarkaç 1 sistemini kontrol etmişlerdir. Sistemi enerji prensibi yöntemiyle kontrol etmişlerdir. MATLAB Simulink ile üretilen kod PLC’ ye yüklenerek sistemin kontrolü sağlanmıştır. Kamen [23] çalışmasında, farklı kontrolör kullanarak ters sarkaç sistemini kontrol etmiştir. Ayrıca PLC kullanarak enerji yaklaşımı ile problemin çözümünü yapmıştır. Andrzej ve arkadaşları [24] çalışmasında PLC S7-1200 kullanarak PWM ile ters sarkaç sistemini kontrol etmişlerdir. Burada kontrol algoritması olarak sürücü programlanarak sistem kontrol edilmiştir. 1.3 Ters Sarkaç Sistemi Uygulama Alanları Ters sarkaç sistemini anlayabilmek için verilebilecek en iyi örnek; bir kalem örneğidir. Günlük hayatımızda çoğu kez kalemi parmağımızla dik konumda tutmaya çalışmışızdır. Kalemi elimizle dik konumda kontrol etmeye çalıştığımızda zorlanacağımızı görmekteyiz. Bunun nedeni ise kalem dengeleme işlemi ikinci dereceden doğrusal olmayan bir ters sarkaç sistemine benzer olmasıdır. Ters sarkaç sistemlerinin ilk kullanım alanlarından biri saatlerdir. Akrep ve yelkovan zamana bağlı sarkaç benzetimleri yapılarak, sistem belirli hareket algoritmasıyla zamanı ölçmemizi sağlamaktadır [1]. Robot kontrollerinde ters sarkaç sistemlerine rastlanmaktadır. Şekil 1.1’de robot kol benzetimi yapılmıştır. Özellikle endüstriyel robot kollarında benzer sistem bulunmaktadır. Şekil 1.1 Robot Kolu Benzetimi [25] Atalet yer gösterici sistemlerin tasarımında kullanılır Schuler Metodu da ters sarkaç sistemi benzetiminden ortaya çıkmıştır [1,26]. Ters sarkaç sisteminin başka bir uygulama alanı ise vinçlerdir. Şekil 1.2’de vince bağlı olan yük hareket halinde sürekli salınım yapmaktadır. Ters sarkaç sistemine benzer kontrolör bu sisteme uygulandığında bu sorun ortadan kalkmaktadır. 2 Şekil 1.2 Vinç Sistemi Ters sarkaç sistemine benzer diğer bir uygulama alanı da Segway’lerdir. Ülkemizde ginger olarak ta bilinmektedir. Bu sistemlerin kendilerinden dengeleyici mekanizması ters sarkaç sistemine benzemektedir. Şekil 1.3’de Segway sistemi gösterilmiştir. Şekil 1.3 Segway Sistemi [27] Ters sarkaç sisteminin matematiksel modeli roketlerin yükselirken dikey olarak yükselişini anlatan modele ve ayakta hareketsiz duran insan modeline benzemesinden dolayı bu sistemlere uygulanmaktadır. Bu alanlara ek olarak uydu sistemlerinde, uçak sistemlerinde, gemi dengeleme sistemlerinde ve nükleer yakıt çubuklarının dengelenmesi gibi birçok uygulamalarda kullanılır [1,13]. 3 Şekil 1.4 Ayakta Duran İnsan Modeli [28] Şekil 1.5 Füze Sistemi [29] 2 PROJENİN TANIMI 2.1 Ters Sarkaç Sistemi Ters sarkaç, kontrol mühendisliği alanında kullanılan en popüler ölçütlerden biridir. Kontrol teorisinin temellerini öğretmek maksadıyla kullanılan eğitim amaçlı bir sistem olmasının yanı sıra; kontrol tekniklerinin üzerinde test edilebileceği iyi bir mekanizmadır. Ters sarkaç sistemi aynı zamanda iyi bilinen bir eksik tahrikli mekanik sistem (underactuated mechanical system, UMS) örneğidir. Eksik tahrikli mekanik sistemler robotik alanında yaygın bir şekilde kullanılır ve bu sistemlerin temel özelliği, serbestlik derecesinden daha az sayıda eyleyiciye sahip olmalarıdır [30]. Ters sarkaç kararsız ve doğrusal olmayan bir yapıya sahiptir. Bu yapısından ötürü oldukça ilgi çekici bir sistemdir ve kontrol mühendisliği çalışmalarında sıklıkla ele alınmaktadır. Ters sarkacı daha ilgi çekici hale getiren bir diğer önemli özelliği ise depremölçerler, insansı robotlar, uçaklar ve roketler gibi birçok yeni teknolojinin temelini oluşturmasıdır [30]. Ters sarkaç sistemi bir girişe ve iki çıkışa sahiptir; sistemin tek girişi kuvvet olup, çıkışları sarkaç açısı ve sarkacın bağlı olduğu arabanın pozisyonudur. Bu yüzden ters sarkaç, tek giriş çok çıkışlı (single-input multiple-output, SIMO) bir sistem örneğidir [30]. 4 Literatürde birbirinden farklı birçok ters sarkaç yapısı ile karşılaşılabilir. Bunlar: Çift ters sarkaç Döner tek kollu sarkaç Araba-ters sarkaç Daha az popüler olan ters sarkaç yapıları ise: Dörtlü ters sarkaç Paralel tipte çift ters sarkaç 3 boyutlu ya da küresel sarkaç Döner iki bağlantılı sarkaç Üçlü ters sarkaç Literatürde ters sarkaç ile ilgili birçok çalışma bulunmaktadır. Bu çalışmaların çoğu ters sarkacın stabilizasyonu yani sarkacın yukarı konumda dengede tutulması ile ilgilidir. Doğrusal, doğrusal olmayan ve akıllı kontrol yöntemlerinden oluşan çeşitli teknikler ters sarkaç sistemine uygulanmıştır [30]. Bunlar: Oransalintegral-türev (proportional-integral-derivative, PID) Doğrusal kuadratik regülatör (linear quadratic regulator, LQR) kontrol metotları, ters sarkaç sistemine uygulanan temel doğrusal kontrol yaklaşımlarıdır [30]. Kayan kipli kontrol (sliding mode control, SMC) ve geri adımlamalı kontrol yaklaşımları, ters sarkacın stabilizasyonu için yaygın olarak kullanılan doğrusal olmayan kontrol yöntemleridir. Uyarlamalı sinirsel bulanık çıkarım sistemi (adaptive neuro fuzzy inference system, ANFIS), yapay sinir ağları, genetik algoritmalar ve bulanık mantık gibi akıllı kontrol yaklaşımları da sarkacın dikey (ters) konumda dengede tutulması için kullanılmaktadır [30]. Yukarıda verilen referanslardan da anlaşılacağı üzere, sarkacın kararsız, dikey (ters) konumda dengede tutulabilmesi için birçok kontrol tekniği kullanılmıştır [30]. 2.2 Araba-Ters Sarkaç Sistemi Araba-ters sarkaç sistemi dengesiz, yüksek mertebede, çok değişkenli ve yüksek derecede eşleşmiş ve harekete geçirilmiş doğrusal olmayan kontrol probleminin klasik bir örneği olarak ele alınabilecek sistemdir. Araba- ters sarkaç sistemi Şekil 2.1’de gösterilmektedir. 5 2.3 Araba-Ters Sarkaç Sistemin Yapısı Araba-ters sarkaç sisteminde bir araba ve ona bağlı bir tane sarkaç kolu bulunmaktadır. Araba ray boyunca hareket edebilmekte ve ona bağlı sarkaç kolları da serbestçe dönebilmektedir. Sistem, arabaya bağlı bir kemeri çekerek arabanın ileri geri hareket etmesini sağlayan bir dc motora sahiptir. Arabanın hareket ettirilmesi sarkaç kolunun salınım yapmasına neden olmaktadır. Araba-ters sarkaç sisteminin yapısı Şekil 2.1’de gösterilmektedir. Şekil 2.1 Araba-Ters Sarkaç Sistemi Arabaya uygulanan kuvvetin değeri dc motora uygulanan voltajın değerinin değiştirilmesi ile ayarlanmaktadır. Sarkacın açısal konumunu ve ray üzerindeki arabanın pozisyonunu belirlemek için sistemde iki adet optik kodlayıcı kullanılmıştır. Sarkaç açısı ve araba konumu verileri kullanılarak dc motora uygulanan kontrol voltajının değeri ayarlanabilir ve böylece, ters sarkaç stabilizasyonu gerçekleştirilebilir [30]. Şekil 2.2’de araba-ters sarkaç sisteminin yapısı gösterilmiştir. Şekil 2.2 Araba-Ters Sarkaç Sisteminin Yapısı 6 3 ARABA-TERS SARKAÇ SİSTEM TASARIMI 3.1 Mekanik Tasarım Şekil 3.1 Araba-Ters Sarkaç Mekanik Modeli Şekil 3.1’de gösterildiği gibi motorun miline bağlı olan kasnağın dönmesi ile arabaya bağlı olan kayışın hareketine bağlı olarak sarkacın dikey pozisyonda tutulması amaçlanmıştır. 3.1.1 Mekanik Malzemeler Mekanik tasarımda kurulmak istenen sistemin malzeme seçimi ve imalat yöntemi sistemin düzgün çalışmasında büyük rol oynamaktadır. Sistemde kullanılacak malzemeler: 3.2 Mil Mil Tutacağı Kayış-Kasnak Araba Sarkaç ve Kütlesi Sistemin Platformu Elektronik Tasarım Aşağıdaki Şekil 3.2’de gösterildiği gibi arabanın konum ve sarkaç açısı bilgisinin CPU tarafından derlenerek motor sürücüsüne PWM sinyali üreterek arabaya motor aracılığıyla bir kuvvet uygulanmaktadır. Elektronik sistemde CPU frekansı, kodlayıcı çözünürlüğü ve motor gücü seçimi büyük ölçüde önemlidir. 7 CPU ARABA KONUMU VE SARKAÇ AÇISI MOTOR SÜRÜCÜ ARABA MOTOR Şekil 3.2 Elektronik Tasarım Şeması 3.2.1 CPU Seçimi Bu projede CPU seçimi esnasında en çok dikkat edilmesi gereken parametre CPU frekansıdır. Şekil 3.3’de Arduino Due ve Teensy 3.6 gösterilmiştir. Tablo 1’de Arduino Due ile Teensy 3.6 karşılastırılmıştır. Şekil 3.3 Arduino Due ve Teenst 3.6 Görüntüsü Özellikler Arduino Due Teensy 3.6 CPU Mimarisi 32-bit ARM Cortex M3 32-bit ARM Cortex M4 CPU Frekansı Max 84 MHz Max 180 MHz RAM 96 KB 256 KB Programlama Arduino IDE-C Tabanlı Arduino IDE-C Tabanlı Tablo 1.1 STM32F4 Discovery ve Teensy 3.6 Karşılaştırması Tablo 1’de anlaşılacağı gibi Teensy 3.6 CPU frekansı ve kolaylıkla programlama açısından Arduino Due’ye kıyasla daha iyi olduğu görülmektedir. 8 3.2.2 Kodlayıcı Seçimi CPU frekansının önemli olduğu kadar kodlayıcı seçimi de büyük ölçüde önemlidir. Temelde iki çeşit kodlayıcı vardır ve bunlar; mutlak kodlayıcı ve artımsal kodlayıcıdır [31]. 3.2.2.1 Mutlak Kodlayıcı Mutlak kodlayıcıya güç verildiği anda dönen mile göre dijital bit dizileri şeklinde birbirine benzemeyen çıkışlar vererek konumu belirler. Enerji kesilse dahi en sonraki konumunda kalır ve tekrar enerjilendiğinde kaldığı konumdan işlemine devam eder [31]. 3.2.2.2 Artımsal Kodlayıcı Dönen mil için sürekli kare sinyal üreterek bulunduğu konumu bilgilendirmede ve sayma işlemlerinde kullanılır. Bu tip kodlayıcı mutlak kodlayıcılardan farkı enerjilendikleri andan itibaren bulunduğu konumu 0 olarak kabul eder ve bu değerin üstüne işlem yapar. Bu tip kodlayıcırlar endüstriyel robotlar, CNC tezgâhlarda, antenler, medikal cihazlar, paketleme makinaları, deri işleme makinaları, şişeleme makinalarında vb. alanlarda kullanılır [31]. Kodlayıcı seçiminde ayrıca dikkat edilecek hususlar şunlardır: Çözünürlüğü: Kodlayıcının her dönüşte üretilen puls(kare sinyal) sayısı öğrenilmeli Besleme Gerilimi: 5VDC, 5-30VDC, 11-24VDC vb. Çıkış Gerilimi: besleme geriliminden farklı çıkış gerilimi veren kodlayıcılar vardır. Bu yüzden kullanacağımız cihaza göre çıkış gerilimi önemlidir. Referans Çıkışının Genliği Fiziksel Özellikler Gövde Çapı / Gövde Uzunluğu Malzemesi: ABS, alüminyum, çelik vb. tamamen çalışma ortam koşullarına bağlı olarak. Milli mi? / Delik milli mi? Bağlantılar(Kablolu / Soketli) Soket / Kablo Çıkış Yönü (Eksenel / Yandan Çıkışlı) Soket Tipi / Kablo Damar Sayısı ve Uzunluğu Koruma Sınıfı 3.2.3 Motor Seçimi Arabaya uygulanacak maksimum kuvvet belirlendikten sonra bu kuvveti sağlayacak motor seçimi diğer sistem bileşenleri kadar önemlidir. Aşağıdaki eşitliklerden faydalanarak motor seçimi yapılır. 𝑇=𝐹𝑥𝑑 (1) (2) (3) =2𝑥𝜋𝑥𝑓 Pmotor Tx 9 4 ARABA-TERS SARKACIN MATEMATİKSEL MODELİ 4.1 Sistemin Modellenmesi Araba istenen bir yörüngeyi takip ederken sarkacın dik konumda dengede tutulabilmesi için araba-ters sarkaç sisteminin modellenmesi gerekmektedir. Araba-ters sarkaç sistemlerinin modellenmesi genellikle iki yaklaşıma dayanmaktadır: Fiziksel denklemleri kullanarak modelleme ve Matlab Sistem Tanımlama Aracı kullanarak modelleme. Araba-ters sarkaç sistemindeki semboller ve tanımları Tablo 2.1’de gösterilmektedir. Tanımları Arabaya Uygulanan Fiziksel Kuvvet Arabanın Kütlesi Sarkacın Kütlesi Sürtünme Katsayısı Sarkaç Açısı x Arabanın Konumu Tablo 2.1 Araba-Ters Sarkaç Modeli Tanımları Semboller F M m b 4.1.1 Fiziksel Denklemlerle Modellenme Yaygın olarak kullanılan ilk yaklaşım, sistemlerin fiziksel denklemlerine dayanmaktadır. Bu yaklaşımda, hem sarkaç açısına hem de araba konumuna ait transfer fonksiyonlarını elde etmede fiziksel yasalar kullanır. Şekil 4.1’de araba-ters sarkaç sistemi gösterilmiştir. Şekil 4.1 Araba-Ters Sarkaç Modeli 4.1.1.1 Kuvvet Analizi ve Sistem Denklemleri Arabadaki kuvvetleri yatay yönde toplayarak aşağıdaki hareket denklemini elde ederiz [32]. (4) M x +𝑏x +𝑁 =𝐹 Sarkacın yatay yöndeki kuvvetleri toplayarak tepki kuvvetini aşağıdaki gibi elde ederiz [32]. 𝑁 = 𝑚 x + 𝑚𝑙 𝑐𝑜𝑠 − 𝑚𝑙 𝑠𝑖𝑛 2 (5) 10 Tepki kuvveti olan N ’i (3)’de yerine yazacak olursak aşağıdaki ana hareket denklemini elde ederiz [32]. (𝑀 + 𝑚) x + 𝑏 x + 𝑚𝑙 𝑐𝑜𝑠 − 𝑚𝑙 𝑠𝑖𝑛 = 𝐹 2 (6) Bu sisteme ait ikinci hareket denklemini elde etmek için sarkaca dik olan kuvvetleri toplamamız gerekir. Sistemi bu eksen boyunca çözmek matematiği büyük ölçüde basitleştirir ve aşağıdaki eşitliği elde ederiz [32]. 𝑃𝑠𝑖𝑛 + 𝑁𝑐𝑜𝑠 − 𝑚𝑔𝑠𝑖𝑛 = 𝑚𝑙 + 𝑚 x 𝑐𝑜𝑠 (7) (7)’teki P ve N terimlerinden kurtulmak için sarkacın merkezine göre moment alarak aşağıdaki eşitliği elde ederiz [32]. −𝑃𝑙𝑠𝑖𝑛 − 𝑁𝑙𝑐𝑜𝑠 = 𝐼 (8) (7) ve (8)’i birleştirerek ikinci ana hareket denklemini aşağıdaki gibi elde ederiz [32]. (𝐼 + 𝑚 l 2 ) + 𝑚𝑔𝑙𝑠𝑖𝑛 = −𝑚𝑙 x 𝑐𝑜𝑠 (9) Bu projede kullanacağımız analiz ve kontrol tasarım yöntemleri sadece lineer sistemlere uygulandığından, bu denklem setini doğrusallaştırmak gerekir. Spesifik olarak, dikey doğrultuda denge konumu ile ilgili denklemleri doğrusallaştıracağız ve sarkacın dikey konumunu referans alacağız. = π bu varsayım makul şekilde geçerli olmalıdır çünkü kontrol altında sarkacın dikey olarak yukarı konumdan 20 dereceden fazla sapma yapmamasını istiyoruz. Sarkacın denge konum sapmasını, yani = π + olduğunu gösterelim. Yine dengeden küçük bir sapma ( ) varsayarak, lineer olmayan fonksiyonların aşağıdaki denklemlerimizde küçük açı yaklaşımlarını sistem kullanabiliriz [32]: 𝑐𝑜𝑠 = cos(𝜋 + ) ≅ −1 (10) 𝑠𝑖𝑛 = sin(𝜋 + ) ≅ − (11) = 2 ≅ 0 (12) 2 Yukarıdaki yaklaşımları doğrusal olmayan ana denklemlerimize yerleştirdikten sonra iki doğrusal hareket denklemi elde ediyoruz [32]. Not: F kuvveti u giriş olarak verildi. (𝐼 + 𝑚 l 2 ) − 𝑚𝑔𝑙 = 𝑚𝑙 x (13) (𝑀 + 𝑚) x + 𝑏 x + 𝑚𝑙 = 𝑢 (14) 11 4.1.1.2 Lagrange Yöntemi İle Hareket Denklemi Sistemin dinamik denklerinin çıkarılması için enerji tabanlı Lagrange yönteminden de faydalanır. Lagrange denklemi kinetik ve potansiyel enerjileri arasındaki fark olarak tanımlanırsa; L KE PE (15) Öncelikle toplam kinetik enerji elde edilmektedir. Toplam kinetik enerji arabanın ve sarkacın kinetik enerjilerinin toplamından oluşmaktadır. KE KEM KEm KE (16) 1 1 ( M m) x 2 m(2 xl cos l 2 2 ) 2 2 (17) Toplam potansiyel enerji aşağıdaki denklemdeki gibi elde ederiz. PE mgl cos (18) (17),(18) ve (15)’de yerine yazacak olursak Lagrange eşitliği aşağıdaki gibi olur. L 1 1 ( M m) x 2 m(2 xl cos l 2 2 ) mgl cos 2 2 (19) Ana hareket denklemi oluşturmak için aşağıdaki eşitlikten faydalanırız. L L Q t q q (20) (17)’deki işlemi gerçekleştirdiğimizde (6) ve (14)’deki eşitlikleri elde ederiz. 4.1.2 Sistemin Transfer Fonksiyonun Elde Edilmesi Doğrusallaştırılmış sistem denklemlerinin transfer fonksiyonlarını elde etmek için önce sıfır başlangıç koşulunu varsayarak sistem denklemlerinin Laplace dönüşümünü almalıyız. Elde edilen Laplace dönüşümleri aşağıda gösterilmiştir [32]. (𝐼 + 𝑚 l 2 ) ( s ) s 2 − 𝑚𝑔𝑙 ( s ) = 𝑚𝑙 X ( s) s 2 (21) (𝑀 + 𝑚) X ( s) s 2 + 𝑏 X ( s) 𝑠 − 𝑚𝑙 ( s ) s 2 = U ( s ) (22) 12 Bir transfer fonksiyonunun bir seferde tek bir giriş ile tek bir çıkış arasındaki ilişkiyi temsil ettiğini hatırlayarak yukarıdaki eşitlikte transfer fonksiyonunu bulmak için çıkış ( s ) ve bir girdi U ( s ) elde etmemiz gereken X ( s) aşağıda mevcuttur [32]. I ml 2 g X ( s) 2 ( s) s ml (23) Ardından yukarıdakileri ikinci denklemde kullanarak. I ml 2 g I ml 2 g (𝑀 + 𝑚 ) 2 ( s) s 2 + 𝑏 2 ( s) 𝑠 − 𝑚𝑙 ( s ) s 2 = U ( s ) s s ml ml (24) Yeniden düzenlersek transfer fonksiyonu aşağıdaki gibidir. (s) U (s) 𝑚𝑙 𝑞 = b(𝐼+𝑚 s4 + l2) 𝑞 s2 (25) s 3 −(𝑀+𝑚)𝑚𝑔𝑙 s 2 −𝑏𝑚𝑔𝑙 s 𝑞 𝑞 𝑞 = [(𝑀 + 𝑚) (𝐼 + 𝑚 l 2 ) − ( ml ) 2 ] (26) Yukarıdaki transfer fonksiyonundan, başlangıçta hem kutup hem de sıfır olduğu görülebilir. Bunlar iptal edilebilir ve transfer fonksiyonu aşağıdaki gibi olur [32]. Ppend ( s) = (s) U (s) 𝑚𝑙 𝑞 = b(𝐼+𝑚 s3 + l2) 𝑞 X ( s) U (s) (27) s 2 −(𝑀+𝑚)𝑚𝑔𝑙 s −𝑏𝑚𝑔𝑙 𝑞 𝑞 (𝐼+𝑚 Pcart ( s) = s l 2 ) s 2 −𝑚𝑔𝑙 𝑞 = b(𝐼+𝑚 s4 + 𝑞 l 2 ) (28) s 3 −(𝑀+𝑚)𝑚𝑔𝑙 s 2 −𝑏𝑚𝑔𝑙 s 𝑞 𝑞 4.1.3 Durum Uzay Modelinin Elde Edilmesi Yukarıdan hareketin doğrusallaştırılmış denklemleri, bir birinci dereceden diferansiyel denklem dizisine yeniden düzenlenirlerse durum-uzay formunda da temsil edilebilir. Denklemler doğrusal olduğu için, aşağıda gösterilen standart matris formuna konulabilir [32]. 13 x x 0 0 = 0 0 1 0 ( I ml 2 )b I ( M m) Mml 2 0 mlb I ( M m) Mml 2 m 2 gl 2 I ( M m) Mml 2 0 mgl ( M m) I ( M m) Mml 2 0 0 1 0 0 2 x I ml x 2 + I ( M m) Mml u 0 ml 2 I ( M m) Mml x 1 0 0 0 x 0 y u 0 0 1 0 0 5 (29) (30) ARABA-TERS SARKACIN KONTROL YÖNTEMİ 5.1 Kontrol Sistemi Bu bölümde kontrol sistemleri hakkında genel bilgiler verilmiştir. Kontrol sistemlerinin amacı, sınıflandırılması ve geçmişten günümüze denetim sistemlerinin gelişimi hakkında temel bilgiler verildikten sonra bir sonraki bölüm olan kontrol yönetimi kısmında, tez çalışmasındaki denetim sistemi hakkında detaylı bilgiler verilecektir [33]. 5.2 Kontrol Sistemi Tanımı ve Amacı Kontrol sistemi, kendisini veya başka bir sistemi yönetmek, yönlendirmek veya kumanda etmek için belirli fiziksel elemanların bir arada bulunarak ilişkilendirilmesidir. Kontrol sistemleri üç temel ögeden oluşmaktadır. Bunlar; kontrolün amaçları, kontrol sistemi temel ögeleri ve sonuç ya da çıkışlardır. Bunların birbiriyle olan ilişkisi Şekil 5.1’de gösterildiği gibi amaçlar, girişler ile belirlenmektedir. Sonuçlar ise çıkışları ya da kontrol edilen değişkenleri etkilemektedir. Şekil 5.1’e bakılarak kontrol sisteminin amacı, kontrol sistemi elemanları aracılığıyla girişleri uygun parametrelerle kullanarak, çıkışları kontrol etmektir [33]. Şekil 5.1 Kontrol Sistemi Kontrol sistemleri gündelik yaşantımızda birçok yerde kullanılmaktadır. Otomatik kapı sistemleri, oda sıcaklığını sabit tutmak için tasarlanan sıcaklık sabitleyicileri, makinalardaki zamanlayıcılar ve ışığa veya sese duyarlı elektronik devreler kontrol sistemlerine örnek verilebilirler [33]. 14 5.3 Kontrol Sistemleri Türleri Bir çalışma farklı kontrol yöntemleriyle aynı işi yapacak şekilde tasarlanabilmektedir. Yapılacak çalışmaya göre kontrol sistemlerinin seçilmesi avantaj sağlayacaktır. Çünkü bir çalışma farklı kontrol türleriyle gerçekleştirilebilir ama yapılan çalışmaya göre seçilen belirli kontrolör sistemi diğer kontrolör türlerine göre daha verimli sonuçlar verebilmektedir. Çıkış işaretlerinin denetlenmesi bakımından kontrol sistemleri açık çevrim denetim sistemleri ve kapalı çevrim denetim sistemleri şeklinde sınıflandırılırlar [33]. 5.3.1 Açık Çevrimli Kontrol Sistemleri Açık çevrim kontrol sistemine geri beslemesiz kontrol sistemi de denmektedir. Bu kontrol sisteminde, sistemin çıkış cevabına bakılmadan sistem kontrol edilmektedir. Açık çevrimli kontrol sistemleri, Denetleyici (kontrolör) ve Sistem’den oluşmaktadır. Şekil 5.2’de gösterildiği gibi denetleyiciye referans girişi uygulanmaktadır. Uygulanan girişe uygun olarak bir çıkışı elde edilmektedir. Şekilde görüldüğü üzere çıkışın girişten bağımsız olduğu kontrol sistemi türüdür. Açık çevrimli kontrol sistemlerinin basit ve ekonomik olmaları nedeniyle karmaşık olmayan birçok sistemde rastlamak mümkündür [33]. Şekil 5.2 Açık Çevrim Kontrol Sistemin Genel Yapısı 5.3.2 Kapalı Çevrim Kontrol Sistemi Kapalı çevrimli sistemler geribeslemeli kontrol sistemleridir. Geribesleme, sistem çıkışı ve girişi arasındaki hataları azaltmak amacıyla sistemde kullanılmaktadır. Şekil 5.3’te görüleceği üzere geribesleme sistemdeki hatanın azaltılmasında önemli bir katkı sunmaktadır. Geribeslemenin sistemdeki hatanın azaltılmasında etkisi bulunmamaktadır aynı zamanda sistemdeki kararlılığa, toplam kazanca, bozucu ve duyarlılığa da etkisi bulunmaktadır [33]. Şekil 5.3 Kapalı Çevrim Kontrol Sistemi Genel Yapısı 15 5.4 Kontrol Yöntemi Bu çalışmada, kontrol algoritması iki farklı temel yöntem üzerine kurulmuştur. Bunlardan birincisi sarkacın yukarı kaldırılması işlemi için kullanılan konum kontrollü stratejik araba hareketi yöntemidir. Bu yöntem sayesinde aşağı konumdaki sarkaca belirli hareketler ile enerji eklenerek sarkaç yukarı kaldırılmıştır. İkinci Yöntem ise sarkacın dik konumda dengelemeye yönelik yöntemdir. 5.4.1 Sarkacın Yukarı Kaldırılması Sarkacın yukarı kaldırılma işlemi için birçok yöntem bulunmaktadır. Bunlar; stratejik araba hareketleriyle sarkacın yukarı kaldırılması, bulanık mantık yöntemi ve enerji kontrol yöntemi en temel yöntemlerdir. Nenad ve Boris [9] çalışmalarında hem bulanık mantık yöntemini hem de enerji kontrolü yöntemi kullanarak sarkacı yukarı kaldırmışlardır. Çalışmalarında bulanık mantık kontrol yönteminde elde edilen deney sonuçların enerji kontrol yönteminden daha iyi olduğu gözlenmiştir. Radhamohan ve arkadaşları [34] çalışmalarında bulanım mantık yöntemiyle sarkacı yukarı kaldırmışlardır. Bu yöntemde matematiksel modelden faydalanılarak enerjiyi bulanık mantık yöntemiyle kontrol ederek sarkaç yukarı kaldırılmıştır. Kizir ve arkadaşları [35] çalışmalarında üç yöntemi de kullanarak sarkacın yukarı kaldırılması sağlanmıştır. Nundrakwang ve arkadaşları [17] PD konum kontrollü bir denetçi kullanarak sarkacı yukarı kaldırmışlardır [33]. 5.4.2 Sarkacın Dengelenmesi Sarkacın denge noktasında tutulma işlemleri birçok farklı işlemle yapılabilmektedir. Literatürde sarkacın dengelenmesinde farklı kontrolör yöntemleri bulunmaktadır. Bunlar; bulanık mantık, tam durum geribesleme ve PID kontrol yöntemleridir. Er [36] çalışmasında sarkacın dengelenmesinde, PID kontrol yöntemini, tam durum geribeslemeli kontrol yöntemini ve doğrusal kuadratik düzenleyicisi (LQR) kontrol yöntemlerini kullanmıştır. Bu kontrol yöntemlerinden PID kontrol yöntemi hariç diğer kontrol yöntemleri matematiksel modele ihtiyaç duymaktadırlar. Mohammadbagheri ve Yaghoobi [37] çalışmalarında sarkacın dengelemesinde PID kontrolör yöntemini kullanmışlardır [33]. 16 6. SİSTEME UYGULANAN KONTROLLER Sisteme uygulanacak kontrol parametreleri aşağıdaki Tablo 2.1’de mevcuttur. Parametreler Arabanın Kütlesi (M) Değerler 0.5 Birimler kg Sarkacın Kütlesi (m) 0.2 kg Sürtünme Katsayısı (b) Kütle Atalet Momenti (I) 0.1 0.006 - Yerçekimi İvmesi (g) 9.8 Sarkaç Uzunluğu (l) 0.3 Tablo 3.1 Sistem Parametreleri kg.m2 m / s2 m Bu problem için kontrol cihazının yapısı, alışkın olabileceğiniz standart kontrol problemlerinden biraz farklıdır. İlk bozucu etkenden sonra dikeye dönmesi gereken sarkaç konumunu kontrol etmeye çalıştığımızdan, takip ettiğimiz referans sinyali sıfır olmalıdır. Bu tür durumlara genellikle düzenleyici problem denir. Arabaya uygulanan dış kuvvet, itici bir bozucu olarak kabul edilebilir. Şekil 6.1’de sistem kontrol şeması gösterilmiştir [32]. Şekil 6.1 Sistem Kontrol Şeması Şekil 6.2’de basitleştirilmiş sistem kontrol şeması gibi yeniden düzenlersek, bu sistemin analizini ve tasarımını daha kolay bulabiliriz. Şekil 6.2 Basitleştirilmiş Sistem Kontrol Şeması 17 Kapalı devre sistemi için ortaya çıkan transfer fonksiyonu T ( s ) , F bir kuvvet girişinden sarkaç açısının çıkışına kadar, (31) ile belirlenir. T ( s) 6.1 ( s) F (s) Ppend ( s ) (31) 1 C ( s ) Ppend ( s ) PID Kontrol Bu kapalı döngü transfer fonksiyonu, aşağıdaki kodu m-file sonuna kopyalayarak MATLAB'da modellenebilir. Özellikle, denetleyicimizi MATLAB içindeki PID nesnesini kullanarak tanımlıyoruz. Daha sonra, geri besleme komutunu, yukarıdaki şekilde gösterildiği gibi, bozulma kuvvetinin F girdi olduğu ve sarkaç açısının dikeyden sapmasının çıktı olduğu şekilde gösterildiği gibi kapalı döngü transfer fonksiyonunu T ( s ) üretmek için kullanırız [32]. Şimdi denetleyicimizi ayarlamaya başlayabiliriz. Öncelikle, bu ilk kontrol kazanımları seti için kapalı devre sistemin tepkisini dürtüsel bir bozulmaya karşı inceleyelim [32]. Şekil 6.3’de sarkacın konumu Kp=1 iken sarkaç açısı göstrilmiştir. M = 0.5; m = 0.2; b = 0.1; I = 0.006; g = 9.8; l = 0.3; q = (M+m)*(I+m*l^2)-(m*l)^2; s = tf('s'); P_pend = (m*l*s/q)/(s^3 + (b*(I + m*l^2))*s^2/q - ((M + m)*m*g*l)*s/q - b*m*g*l/q); Kp = 1; Ki = 1; Kd = 1; C = pid(Kp,Ki,Kd); T = feedback(P_pend,C); t=0:0.01:10; impulse(T,t) axis([0, 2.5, -0.2, 0.2]); title({'Sarkacın Açısı'; PID Kontrol: Kp = 1, Ki = 1, Kd = 1'}); 18 Şekil 6.3 Sarkacın Konumu Kp=1 Şekil 6.3’de sarkacın konumu Kp=1 iken cevap hala kararlı değil. Orantılı kazancı artırarak yanıtı değiştirmeye başlayalım. Cevap üzerindeki etkisinin ne olduğunu görmek için Kp değişkeni artırın ve m-file dosyanızı şu şekilde değiştirirseniz Kp=100. Komut penceresinde çalıştırın, Şekil 6.4’deki sarkacın konumu Kp=100 iken sarkaç açısı gösterilmiştir [32]. Şekil 6.4 Sarkacın Konumu Kp=100 Spesifik olarak, cevabın yerleşme süresi, 5 saniye gerekenden daha az olan 1.64 saniye olarak belirlenir. Kararlı durum hatası yeterince hızlı bir şekilde sıfıra yaklaştığından, ek bir integral işlem gerekmez. Bazı integral kontrolünün gerekli olduğunu kendiniz görmek için integral kazancı sabitini Ki sıfıra ayarlayabilirsiniz. Bununla birlikte, en yüksek tepkime 0.05 radyan gereksiniminden daha büyüktür. Türev kontrolün miktarını artırarak aşmanın sıklıkla azaltılabileceğini hatırlayalım. Bazı deneme yanılmalarından sonra Kd = 20 türev kazancının tatmin edici bir cevap sağladığı bulunmuştur [32]. Şekil 6.5’te sarkacın konumu Kp=100, Kd=20 iken sonuç sarkaç açısı gösterilmiştir. 19 Şekil 6.5 Sarkacın Konumu Kp=100, Kd=20 Gördüğünüz gibi, sarkaç dikeyden 0,05 radyandan daha fazla hareket etmeyecek şekilde düşürüldü. Verilen tasarım gerekliliklerinin tümü yerine getirildiğinden, başka bir yinelemeye gerek yoktur [32]. Arabasının pozisyonunu temsil eden blok dâhil edilmedi çünkü bu değişken kontrol edilmedi. Sarkacın açısının bulunduğu blokta arabanın konumuna ne olduğunu görmek mümkün değildir. Bu nedenle Şekil 6.6’daki kontrol şemasını uygulamak gerekir [32]. Şekil 6.6 Araba Konum Kontrol Şeması Yeniden düzenlemek gerekirse; Şekil 6.7 Basitleştirilmiş Araba Konum Kontrol Şeması 20 Şekil 6.7’de basitleştirilmiş araba konum kontrol şeması, blok sarkaç dikey tutmak için tasarlanmış C ( s ) kontrol sistemidir. Kapalı döngü transfer fonksiyonu T ( s ) , arabaya uygulanan bir giriş kuvvetinden araba pozisyonunun (32) verilmektedir [32]. Pcart Pcart ( s) X ( s) F (s) 1 Ppand (s)C ( s) (32) M-dosyanıza aşağıdaki komutların eklenmesi ( Ppend ( s ) ve C ( s ) tanımlanmış varsayarak), arabanın pozisyonunun düşündüğümüz aynı itici kuvvete tepkisini oluşturacaktır [32]. P_cart = (((I+m*l^2)/q)*s^2 - (m*g*l/q))/(s^4 + (b*(I + m*l^2))*s^3/q - ((M + m)*m*g*l)*s^2/q - b*m*g*l*s/q); T2 = feedback(1,P_pend*C)*P_cart; t = 0:0.01:5; impulse(T2, t); title({'Araba Konumu';'PID Kontrol: Kp = 100, Ki = 1, Kd = 20'}); Şekil 6.8 Araba Konumu Şekil 6.8’de araba konumu, araba yaklaşık sabit hızla negatif yönde hareket eder. Bu nedenle, PID kontrol cihazı sarkacın açısını kararlı hale getirilmesine rağmen, konumunu kararlı hale gelmemektedir. 21 6.2 LQR Kontrol Ana problemden, ters sarkaç sisteminin durum-uzay formundaki dinamik denklemleri şöyledir: 1 0 x 0 x 0 0.1818 2.6727 = 0 0 0 0 0.4545 31.1818 x 1 0 0 0 x 0 y u 0 0 1 0 0 0 0 1 0 x 0 x 1.1818 u + 0 4.5455 (33) (34) Bu problem için çıktılar, arabanın yer değiştirmesi x (metre cinsinden) ve sarkacın konumunun dengeden sapmasını temsil eden sarkaç açısı (radyan cinsinden) [32]. Bu örnek için tasarım kriterleri farklıdır. Diğer örneklerde, arabaya uygulanan itici kuvvete cevaben sarkacı dikey tutmaya çalışıyorduk. Arabanın pozisyonunu kontrol etmeye çalışmadık. Bu örnekte, sarkaç dikey konumda tutulurken, arabanın konumunu 0,2 metre sağa hareket ettirmek için kontrol edilir. Durum alanı tasarım yaklaşımı, burada olduğu gibi birden fazla çıkışın kontrolüne çok uygundur [32]. Bu sorun tam durum geri bildirimi kullanılarak çözülebilir. Şekil 6.9’da tam geri beslemeli kontrol blok diyagramı verilmiştir. Bu tip kontrol sisteminin şeması aşağıda bir kontrol kazancı K matrisi olduğu için gösterilmiştir. Burada, sistemin çıktılarını geribildirim için kullanmak yerine, tüm sistem durumlarını geri bildirdiğimizi unutmayın [32]. Şekil 6.9 Tam Durum Geri Beslemeli Kontrol Şeması Bu problemde, arabanın pozisyonunun adım komutunu r gösterir. 4 durum, arabanın pozisyonunu, hızını, sarkacın açısını ve açısal hızını temsil eder. Çıktı y hem arabanın konumunu hem de sarkacın açısını içerir. Bir denetleyici tasarlamak istiyoruz, böylece sisteme bir adım referansı verildiğinde, sarkaç yer değiştirmeli, ancak sonunda sıfıra (yani dikey) dönmeli ve araba yeni komut pozisyonuna geçmelidir [32]. Tam durumlu bir geri besleme denetleyicisi tasarlamanın ilk adımı, sistemin açık döngü kutuplarını belirlemektir. Bir m-file dosyasına aşağıdaki kod satırlarını girin. MATLAB komut penceresinde yürütüldükten sonra, çıkış açık döngü kutuplarını (özdeğerlerini) aşağıda gösterildiği gibi listeleyecektir [32]. 22 M m b I g l p A = = = = = = = = 0.5; 0.2; 0.1; 0.006; 9.8; 0.3; I*(M+m)+M*m*l^2; %denominator for the A and B matrices [0 1 0 0; 0 -(I+m*l^2)*b/p (m^2*g*l^2)/p 0; 0 0 0 1; 0 -(m*l*b)/p m*g*l*(M+m)/p 0]; B = [ 0; (I+m*l^2)/p; 0; m*l/p]; C = [1 0 0 0; 0 0 1 0]; D = [0; 0]; states = {'x' 'x_dot' 'phi' 'phi_dot'}; inputs = {'u'}; outputs = {'x'; 'phi'}; sys_ss = ss(A,B,C,D,'statename',states,'inputname',inputs,'outputname', outputs); poles = eig(A) poles = 0 -0.1428 -5.6041 5.5651 Tasarım sürecindeki bir sonraki adım, durum değişkenlerinin dördünün hepsinin erişimine sahip olduğumuzu (yani ölçebiliriz) kabul ederek durum-geri besleme kontrol kazançlarının vektörünü bulmaktır. Bu, birkaç yolla gerçekleştirilebilir. İstenilen kapalı devre kutup konumlarını biliyorsanız, MATLAB komutları place ya da acker'ı kullanabilirsiniz. Diğer bir seçenek de, lineer bir tesis, ikinci dereceden maliyet fonksiyonu ve sıfıra eşit referans varsayarak en iyi kontrolör kazancını döndüren LQR komutunu kullanmaktır [32]. Kontrolörümüzü tasarlamadan önce, öncelikle sistemin kontrol edilebilir olduğunu doğrulayacağız. Bu özelliğin memnuniyeti, sistemin durumunu sonlu bir zamanda (sistemin fiziksel kısıtlamaları altında) istediğimiz her yere götürebileceğimiz anlamına gelir. Sistemin tamamen kontrol edilebilir olması için, kontrol edilebilirlik matrisinin bir matrisin rankının n doğrusal olarak bağımsız satırların (veya sütunların) olduğu bir sıralama olması gerekir. Sistemin kontrol edilebilirlik matrisi, aşağıda gösterilen şekli alır. Sayı, sistemin durum değişkenlerinin sayısına karşılık gelir. Daha yüksek matris gücüne sahip kontrol edilebilirlik 23 matrisine ilave terimler eklemek, kontrol edilebilirlik matrisinin A sırasını arttırmayacaktır, çünkü bu ilave terimler daha önceki terimlerin doğrusal kombinasyonları olacaktır [32]. C B AB A2 B ... An 1 B (35) Kontrol edilebilirlik matrisimiz 4x4 olduğundan, matrisin sırası 4 olmalıdır. Kontrol edilebilirlik matrisi oluşturmak için MATLAB komutunu ctrb ve matrisin sırasını test etmek için MATLAB komutunu kullanacağız. Aşağıdaki ek komutları m-file dosyasına eklemek ve MATLAB komut penceresinde çalıştırmak aşağıdaki çıktıyı verecektir [32]. co = ctrb(sys_ss); controllability = rank(co) controllability = 4 Bu nedenle, sistemimizin kontrol edilebilir olduğunu doğruladık ve bu nedenle verilen gereklilikleri yerine getiren bir kontrolör tasarlayabilmeliyiz. Özellikle, geri besleme kontrolü kazanç matrisimizi K belirlemek için doğrusal kuadratik düzenleme yöntemini kullanacağız. MATLAB işlevi LQR, R ve Q iki parametreyi seçmenize izin verir, kontrol çabalarının ( u ) ve hatanın (sırasıyla 0'dan sapma) göreceli önemini, optimize etmeye çalıştığınız maliyet fonksiyonunda dengeleyecektir. En basit durum R 1 ve Q C ' C varsaymaktır. Buna karşılık gelen maliyet işlevi, kontrole ve çıkan durum değişkenlerine (sarkaç açısı ve araba pozisyonu) eşit derecede önem verir. Temel olarak, LQR yöntemi her iki çıkışın kontrolüne izin verir. Denetleyici, istenen bir yanıtı elde etmek için matristeki sıfır olmayan elemanları değiştirerek ayarlanabilir. Yapısını gözlemlemek için, aşağıda verilen çıktıyı görmek için MATLAB komut penceresine aşağıdakini girin [32]. Q = C'*C Q = 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 24 (1,1) pozisyonundaki eleman, araba pozisyonundaki ağırlığı temsil eder ve (3,3) pozisyonundaki eleman, sarkaç açısı üzerindeki ağırlığı temsil eder. Girdi ağırlıklandırma R 1'de kalacaktır. Sonunda önemli olan R ve Q , mutlak değerleri değil. Artık Q matrisi nasıl yorumlayacağımızı biliyoruz, bize 'iyi' bir kontrolör verecek K matrisi bulmak için deneyler yapabiliriz. Devam edip K matrisi bulacağız ve cevabı tek adımda çizeceğiz, böylece kontrolde değişiklikler yapılabilir ve yanıtta otomatik olarak görülebilir. Aşağıdaki komutu m-file dosyanızın sonuna ekleyiniz ve aşağıdaki değeri almak ve aşağıda verilen cevap grafiğini almak için MATLAB komut penceresinde çalıştırınız [32]. Q = C'*C; R = 1; K = lqr(A,B,Q,R) Ac = [(A-B*K)]; Bc = [B]; Cc = [C]; Dc = [D]; states = {'x' 'x_dot' 'phi' 'phi_dot'}; inputs = {'r'}; outputs = {'x'; 'phi'}; sys_cl = ss(Ac,Bc,Cc,Dc,'statename',states,'inputname',inputs,'outputname',outputs); t = 0:0.01:5; r =0.2*ones(size(t)); [y,t,x]=lsim(sys_cl,r,t); [AX,H1,H2] = plotyy(t,y(:,1),t,y(:,2),'plot'); set(get(AX(1),'Ylabel'),'String','Araba Konumu (m)') set(get(AX(2),'Ylabel'),'String','Sarkaç Açısı (rad)') title('LQR Kontrol') K = -1.0000 -1.6567 18.6854 3.4594 Şekil 6.10 LQR İle Araba Konumu ve Sarkaç açısı 25 Şekil 6.10’da LQR kontrolör kullanarak elde edilen arabanın konumu ve sarkacın açısı verilmiştir. Kırmızı olan eğri sarkacın radyan cinsinden açısını temsil eder ve mavi olan eğri, arabanın pozisyonunu metre cinsinden gösterir. Şekil 6.10’dan görüldüğü gibi, bu sonuç tatmin edici değil. Sarkaç ve araba uyumu iyi görünüyor, ancak oturma sürelerinin düzelmesi ve arabanın yükselme süresinin azaltılması gerekiyor. Arabanın son konumu da istenen yere yakın değildir, ancak tam tersi yönde hareket etmiştir. M-file dosyanıza geri dönün ve daha iyi bir yanıt alıp alamayacağınızı görmek için Q matrisi değiştirin. (1,1) ve (3,3) elementlerini arttırmanın, çökelme ve yükselme zamanlarını azalttığını ve sarkacın hareket açısını düşürdüğünü göreceksiniz. Başka bir deyişle, artan kontrol çabası pahasına hatalara daha fazla ağırlık veriyorsunuz. M-file dosyanızı değiştirerek (1,1) elementi 5000 ve (3,3) elementi 100 olacak şekilde değiştirmek, aşağıdaki değeri ve aşağıda gösterilen adım cevabını üretecektir [32]. Q = C'*C; Q(1,1) = 5000; Q(3,3) = 100 R = 1; K = lqr(A,B,Q,R) Ac = [(A-B*K)]; Bc = [B]; Cc = [C]; Dc = [D]; states = {'x' 'x_dot' 'phi' 'phi_dot'}; inputs = {'r'}; outputs = {'x'; 'phi'}; sys_cl = ss(Ac,Bc,Cc,Dc,'statename',states,'inputname',inputs,'outputname',outputs); t = 0:0.01:5; r =0.2*ones(size(t)); [y,t,x]=lsim(sys_cl,r,t); [AX,H1,H2] = plotyy(t,y(:,1),t,y(:,2),'plot'); set(get(AX(1),'Ylabel'),'String','Araba Konumu (m)') set(get(AX(2),'Ylabel'),'String','Sarkaç Açısı(rad)') title('LQR Kontrol') Q = 5000 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 K = -70.7107 -37.8345 105.5298 20.9238 26 Şekil 6.11 LQR ile Arabanın Konumu ve Sarkaç Açısı Daha yüksek elemanların değerlerini arttırırsanız, Q cevabı daha da artırabileceğinizi belirtmiş olabilirsiniz. Bu ağırlığın seçilmesinin nedeni, sadece geçici tasarım gereksinimlerini karşılamasıydı. Daha fazla büyüklüğün arttırılması, izleme hatasını daha küçük yapar, ancak daha fazla kontrol gücü gerektirir. Daha fazla kontrol çabası genellikle daha yüksek maliyete (daha fazla enerji, daha büyük aktüatör vb.) karşılık gelir [32]. 7. ARABA TERS SARKAÇ KONTROLÜ TASARIM VE UYGULAMASI 7.1 Mekanik Tasarım Platform üzerine yerleştirilmiş iki adet mil üzerinde rulman ilişkisi ile hareket edebilen araba mevcuttur. Motorun kuvvetini, arabaya aktarmak için kayış ve kasnak kullanılmıştır. Araba üzerinde bulunan enkoderin miline kaplin yardımı ile sarkaç bağlanmıştır. Şekil 7.1’de arabanın tasarımı gösterilmiştir. Şekil 7.2’de araba ters sarkaç sisteminin genel yapısı gösterilmiştir. Şekil 7.1 Araba Tasarımı 27 Şekil 7.2 Araba Ters Sarkaç Genel Yapısı 7.2 Elektronik Tasarım Sarkaçın açı bilgisini okumak için endüstriyel 2 fazlı optik artımsal 400 aralıklı 5-24 V enkoder tercih edilmiştir. Enkoderden gelen verileri sağlıklı okuyabilmek için işlemci mimarisi ARM Cortex M4 ve CPU frekansı 184 MHz olan Teensy 3.6 kullanılmıştır. F kuvvetimizi oluşturan 20 V ve 1390 RPM DC motoru sürebilmek için VNH2SP30 DC motor sürücü kullanılmıştır. Denetleyicimizi 5 V ile beslemek için LM2596 ayarlanabilir voltaj regülatörü kullanılmıştır. Aracın hareketini sınırlamak için Mikro Switch kullanılmıştır. Şekil 7.3’te PCB devresi tasarlanarak baskı devresi oluşturulmuştur. Şekil 7.4 baskı devresi gösterilmektedir. Şekil 7.3 PCB Devresi 28 Şekil 7.4 Baskı Devresi 7.3 Kontrol Parametrelerinin Belirlenmesi Aşağıdaki Şekil 7.5’te görüldüğü gibi sistem kontrol şeması ve transfer fonksiyonundan yola çıkarak kontrol parametrelerini belirlendi. Şekil 7.5 Sistem Kontrol Seması Ppend ( s) = (s) U (s) 𝑚𝑙 𝑞 = b(𝐼+𝑚 s 3 + 𝑞 l2) s s 2 −(𝑀+𝑚)𝑚𝑔𝑙 s −𝑏𝑚𝑔𝑙 𝑞 𝑞 𝑞 = [(𝑀 + 𝑚) (𝐼 + 𝑚 l 2 ) − ( ml ) 2 ] 29 %Sistem Parametreleri M=0.5; m=0.2; b=0.1; I=0.006; g=9.8; l=0.3; %Transfer Fonksiyonu S=tf('s'); q=(M+m)*(I+m*l^2)-(m*l)^2; P_pend = (((I+m*l^2)/q)*s^2 - (m*g*l/q))/(s^4 + (b*(I + m*l^2))*s^3/q - ((M + m)*m*g*l)*s^2/q - b*m*g*l*s/q); %PID Tuner Aracı pidtool(P_pend); P_pend P_pend = 1.045e-05 s ----------------------------------------------------2.3e-06 s^3 + 4.182e-07 s^2 - 7.172e-05 s - 1.025e-05 Şekil 7.6’da gösterildiği gibi Matlab PID Tuner aracını kullanarak kontrol parametrelerini ve performansını elde edildi. Elde edilen PID parametreleri C değişkeninde atandı. Şekil 7.6 Matlab PID Tuner Aracı 30 %Kontrol Parametreleri C C = 1 Kp + Ki * --- + Kd * s s with Kp = 50.1, Ki = 109, Kd = 5.78 Continuous-time PID controller in parallel form. Continuous-time transfer function. 7.4 Kontrol Algoritması Şekil 7.7’de sistemin kontrol akış diyagramı gösterilmektedir. Sistem ilk çalıştığı anda sağa doğru sürekli harekete başlar. Sağ sınır anahtarına temasından sonra orta noktaya gider. Ardından serbest salınım hareketi yaparak sarkacın belirlenen sapma açısına girmesi sağlanır. Sarkaç sapma açısına ulaştığı anda PID kontrolör yardımıyla sarkacı dik konumda tutar. Bu süre içerisinde kesme algoritması ile sürekli enkoderden açı değeri okunmaktadır. Aynı zamanda kesme algoritması yardımıyla sınır anahtarındaki fiziki değişiklik kontrol edilerek sistemin hareket kısıtlanması sağlanır. Tüm bu algoritmaya paralel PID kontrol sağlanır. Şekil 7.7 Kontrol Akış Diyagramı 31 7.5 Uygulama ve Gözlem Sistemimiz çalıştığı anda serbest salınım hareketini gerçekleştirip daha önce belirlenen sapma açısına girdiğinde PID kontrolümüz devreye girmekte ve sarkacı dik konumda tutmaktadır. Sarkaç dik konumda iken dışarıdan bozucu kuvvet uygulandığında set noktasına geri gelmektedir. Mekanik tasarımında tercih edilen platformdan kaynaklanan normalden daha fazla titreşim yapması sistemimize bozucu etken olarak yansımakta ve dik konumda durması güçleşmektedir. Yazılımda tercih edilen algoritma ve komutların neden olduğu gecikmelerden kaynaklı olarak sarkacın set noktasında tutulması zorlaşmakta. 32 SONUÇLAR Bu çalışmada araba-ters sarkaç sisteminin tanımlanması, mekanik ve elektronik tasarımları, matematiksel modellerin oluşturulması ve kontrol yönteminin belirlenmesi gerçekleştirilmiştir. Tercih edilen PID kontrol ile sistemi çalıştırarak sarkacı dik komunda tutulması sağlanmıştır. Sistemimizin eksiklikleri ve kusurları gözlemlenip giderilmeye çalışılmıştır. 33 KAYNAKÇA [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] Mahmood, Z.S., Nicelimli Kontrol Girişi ile Ters Sarkaç Yukarı Kaldırma Benzetimii,Yüksek Lisans Tezi. 2012. Antman, S.S., The simple pendulum is not so simple. SIAM review, 1998. 40(4): p. 927930. Matthews, M.R., C. Gauld, and A. Stinner, The pendulum: Its place in science, culture and pedagogy, in The Pendulum. 2005, Springer. p. 1-17. Åström, K.J., J. Aracil, and F. Gordillo. A new family of smooth strategies for swinging up a pendulum. in Proceedings of the 16th IFAC World Congress. 2005. Elsevier. Inoue, A., M. Deng, and T. Tanabe. Practical Swing-up Control System Design of Carttype Double Inverted Pendulum. in Control Conference, 2006. CCC 2006. Chinese. 2006. IEEE. Iwashiro, M., K. Furuta, and K.J. Astrom. Energy based control of pendulum. in Control Applications, 1996., Proceedings of the 1996, IEEE International Conference on. 1996. IEEE. Kizir, S., Z. Bingul, and C. Oysu, Fuzzy control of a real time inverted pendulum system. Journal of Intelligent and Fuzzy Systems, 2010. 21(1): p. 121-133. Krishen, J. and V.M. Becerra. Efficient fuzzy control of a rotary inverted pendulum based on LQR mapping. in Computer Aided Control System Design, 2006 IEEE International Conference on Control Applications, 2006 IEEE International Symposium on Intelligent Control, 2006 IEEE. 2006. IEEE. Muskinja, N. and B. Tovornik, Swinging up and stabilization of a real inverted pendulum. Industrial Electronics, IEEE Transactions on, 2006. 53(2): p. 631-639. Zhong, W. and H. Rock. Energy and passivity based control of the double inverted pendulum on a cart. in Control Applications, 2001.(CCA'01). Proceedings of the 2001 IEEE International Conference on. 2001. IEEE. Bugeja, M. Non-linear swing-up and stabilizing control of an inverted pendulum system. in EUROCON 2003. Computer as a Tool. The IEEE Region 8. 2003. IEEE. Ji, C.W., F. Lei, and L.K. Kin. Fuzzy logic controller for an inverted pendulum s ystem. in Intelligent Processing Systems, 1997. ICIPS'97. 1997 IEEE International Conference on. 1997. IEEE. Kizir, S., Dogrusal Olmayan Ters Sarkaç Sisteminin Tasarımı ve Kontrolü. 2008, Kocaeli Üniversitesi. Lozano, R., I. Fantoni, and D.J. Block, Stabilization of the inverted pendulum around its homoclinic orbit. Systems & control letters, 2000. 40(3): p. 197-204. Ma, R., et al. dSPACE-based PID controller for a linear motor driven inverted pendulum. in Mechatronics and Machine Vision in Practice, 2007. M2VIP 2007. 14th International Conference on. 2007. IEEE. Magana, M.E. and F. Holzapfel, Fuzzy-logic control of an inverted pendulum with vision feedback. Education, IEEE Transactions on, 1998. 41(2): p. 165-170. Nundrakwang, S., et al., Hybrid PD-servo state feedback control algorithm for swing up inverted pendulum system. ICCAS2005 June, 2005: p. 2-5. Tang, J. and H. Shoaee, A Comparative Study of Fuzzy Logic and Classical Control with EPICS [Experimental Physics and Industrial Control System]. 1995, Thomas Jefferson National Accelerator Facility, Newport News, VA (US). [14.04.2015]; http://www.emo.org.tr/ekler/69ce79eae467c50_ek.pdf 34 [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] Yamakita, M., K. Nonaka, and K. Furuta. Swing up control of a double pendulum. in American Control Conference, 1993. 1993. IEEE. Chen, C.-S. and W.-L. Chen, Robust adaptive sliding-mode control using fuzzy modeling for an inverted-pendulum system. Industrial Electronics, IEEE Transactions on, 1998. 45(2): p. 297-306. S., P. and M. J, Swing up and Stadilization of Reaction Wheel Pendulum. Modelling of Mechanic System, 2011. P, K., Inverted Pendulum Control: an Overviev. 2011, Information Technologies and Control. p. 34-41. Turnau, A., et al.," The Real-time Network Control of the Inverted Pendulum System Based on Siemens Hardware." Automatyka/Automatics 17.1 (2013): 83-92. [20.01.2015];http://www.tasimakaldirmauniteleri.com/ Ogata, K., Modern Control Engineering. Peaeson Education International, ed. Fourth. 2002. Anonim, http://www.segway.com/segway/specs_iseries.html Anonim, http://www.akinrobotics.com/ Anonim, http://www.kkk.tsk.tr/ İbrahim Kaya ve Fuat Peker, Dicle University, July 2017 https://www.researchgate.net/publication/320016485 Anonim, http://www.elektrikde.com/encoder-nedir-kullanim-alanlari/ Anonim, http://www.ctms.engin.umich.edu/CTMS/index.php?example=Inverted Pendulum&section=SystemModeling İshak Erturul, Fen Bilimleri Enstitüsü, Marmara Üniversitesi, Haziran 2015 Radhamohan, S.V., M. Subramaniam, and M. Nigam, Fuzzy swing-up and stabilization of real inverted pendulum using single rulebase. Journal of Theoretical and Applied Information Technology, 2010. 14: p. 43-50. Kizir, S., Z. Bingül, and C. Oysu, Ters Sarkaç Probleminin PID ve Tam Durum GeriBesleme Yöntemleri ile Kontrol,TOK 2007. ER, F., Control of the Inverted Pendulum: Comparison of Various Strategies for Swing up and Balancing, in System and Control Engineering. 2002, Bogaziçi Üniversty: İstanbul. Mohammadbagheri, A. and M. Yaghoobi. A New Approach to Control a Driven Pendulum with PID Method. in Computer Modelling and Simulation (UKSim), 2011 UkSim 13th International Conference on. 2011. IEEE. 35