Bir motor kontrol sisteminin model tabanlı donanım ve yazılım ortak tasarımı

thumbnail.default.alt
Tarih
2023-01-19
Yazarlar
İn, Sedat
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
Lisansüstü Eğitim Enstitüsü
Özet
Günümüz teknolojisinde elektrikli motor ve motor sürücüler önemi büyük teknolojik cihazlardır. Elektrik enerjisini mekanik enerjiye aktaran bu cihazlar, endüstri ve bir çok otomasyon sisteminde kullanılmaktadır. Yaygınlaşan elektrikli araç teknolojisinde de farklı tipte birçok elektrik motoru ve motor sürücüsü kullanıma denk gelinebilir. Elektrikli motorlar ihtiyaç tipine ve kullanım alanına göre farklı tip ve farklı modellerde oluşturulabilir. Elektrik motorları yapıları ve çalışma ihtiyaçlarına göre 2 ana başlık altında ayrılmıştır. Bunlar doğru akım motorları ve asenkron elektrik motorlarıdır. Doğru akım motorları da kendi içlerinde 2 ana başlık altında incelenebilir. Doğru akım motor tiplerinden biri fırçasız doğru akım motoru iken, bir diğeri ise fırçalı doğru akım motorlarıdır. Her iki motor tipi için de farklı kontrol yöntemleri mevcuttur. Bu tez çalışmasında bir fırçasız doğru akım motoru için, motorun kontrolünü sağlayacak olan bir motor sürücüsünün donanım ve yazılım tasarımı çalışmaları yapılmıştır. Motor sürücü, elektrikli motoru istenen hız veya akım değerinde çalıştırmak için kullanılan bir cihazdır. Fırçasız doğru akım motorları yapıları gereği motor sürücüye ihtiyaç duymaktadır. Motor sürücünün model tabanlı tasarımı için ilk olarak motorun modelinin oluşturulması gerekir. Motora ait modelleme çalışmaları gerçekleştirilirken motor parametrelerinin doğru elde edilmesi önemli bir husustur. Motora ait modelleme parametreleri doğru elde edilmez ise tasarım hatalı oluşacaktır. Bu motor kontrol çalışmasında, motor kullanıcı tarafından sağlanan hız girdisi ile kontrol edilmiştir. Kontrol edilecek olan elektrikli motorun matematiksel modeli oluşturulmuş ve çeşitli kontrol algoritmaları ile test çalışmaları yapılmıştır. Test çalışmaları ile birlikte motor kontrolü için donanım yapıları oluşturulmuş ve model tabanlı tasarım yapılmıştır. Model tabanlı tasarım otomatik olarak yazılıma aktarılmış ve yazılım el ile kodlama yapılmadan tamamıyla model tabanlı olarak otomatik gerçekleştirilmiştir. Otomatik kod oluşturma için literatür de bulunan çalışmalar incelenmiş ve birçok farklı yöntem ile otomatik kod çalışması yapıldığı görülmüştür. Model tabanlı tasarım için MATLAB/Simulink ortamı kullanılmıştır. MATLAB/Simulink ortamında model tabanlı kod üretimi yapılabilen bir çok eklenti mevcuttur. Farklı işlemci, Digital Signal Processor (DSP) veya Field Programmable Gate Array (FPGA) tipleri için otomatik kod oluşturma çalışmaları mevcuttur. Bu çalışmada işlemci için tasarım yapılacağından işlemciler için otomatik kod üretimi yapılan çalışmalar incelenmiştir. İşlemciler için geliştirilen birçok farklı kod üretim yöntemi mevcuttur. Yapılan bu çalışma da STMicrocontroller ailesine ait bir işlemci kullanılacağından STMicrocontroller ailesi için kod üretimi yapan yapılar üzerinde durulmuştur. STMicrocontroller ailesine ait olan STM32 işlemciler için otomatik kod oluşturma imkanı tanıyan Waijung Blockset ve STM32-MAT Target blok setleri bu tez çalışmasında detaylıca anlatılmıştır. Her iki otomatik kod oluşturma çalışmasının da Simulink ortamında nasıl kullanılacağı ve kurulumunun nasıl yapılacağından bahsedilmiştir. Motor sürücü tasarımı MATLAB/Simulink ortamında gerçekleştirilmiştir. Tasarım için ihtiyaç duyulan bloklar parça parça oluşturulmuş ve MATLAB/Simulink ortamında simüle edilmiştir. Tasarım oluşturulurken, kullanılacak olan motor tipi kadar motorun ihtiyaç duyacağı yükün ve karşılamasını beklediğimiz gerekliliklerin ne olduğunu bilmek de önemlidir. Bu nedenle, motorun kullanılacağı alan olan araç içerisinde motorun nasıl bir yükü karşılaması gerektiği hesaplanmıştır. Araca ait sürtünme katsayısı, eğim, ön yüzey alanı ve ortama ait hava direncine kadar bir çok parametre ile karşılanması gereken yük elde edilmiştir. Motor modeli Simulink ortamında oluşturulmuş ve simulasyon çıktıları izlenerek yazılım modellemesi yapılmıştır. Yazılım modellemesi oluşturulurken kullanılacak olan işlemci tipine uygun tasarım yapılmıştır. İşlemci tipine özgü tasarım ile model direkt olarak yazılıma aktarılabilmiştir. Kullanılan işlemci modeli STMicrocontroller ailesine ait olan bir işlemcidir. Bu nedenle oluşturulan tasarım, Waijung Blockset veya STM32-MAT Target yapıları kullanılarak işlemciye aktarılmalıdır. Bu çalışmada otomatik koda dönüştürme işlemi için STM32-MAT Target yönteminin kullanılmasına karar verilmiştir. İşlemci STM32-MAT Target ile koda dönüştürüleceği için, işlemciye ait konfigürasyon çalışmaları STM32CubeMX arayüzü ile gerçekleştirilmişir. STMCubeMX arayüzü ile konfigürasyonun oluşturulması için gerekli olan işlemci seçimi ve seçilen işlemciye ait ADC, TIMER, Haberleşme hatları ve diğer çevre birimlerin nasıl konfigüre edileceği detaylıca anlatılmıştır. Otomatik kod oluşturmak için kullanılan Waijung Blockset ve STM32-MAT Target bloklarının kurulumları nasıl yapıldığı detaylıca gösterilmiştir. Her iki yöntem içinde birer örnek sunulmuş böylelikle koda dönüştürme ve uygulama örneklendirilmiştir. Motor sürücü tasarımı oluşturulurken istenen hız değerine uygun çıktılar verecek şekilde bir kontrol sinyali üretilmesi gerekmektedir. Motor sürücüler farklı bir çok yöntem ile kontrol edilebilmektedir. Motor kontrolü için, Bulanık PID kontrolcüler, Model Predictive Control (MPC) ve geleneksel PID kontrolcüler gibi seçeneklere literatürde rastlamak mümkündür. En yaygın kontrolcü tipi ise Proportional-Integral-Derivative (PID) kontrolcüdür. Motor Yazılım modellemesi yapılırken, motorun PID kontrolcü ile kontrol edilmesine karar verilmiştir. Geleneksel PID yöntemleri, uygulamanın gerçekleştirildiği motor modeli için istenen çıkış değerlerini tam olarak sağlayamamaktadır. Ek olarak geleneksel PID kontrolcülerin oluşturduğu katsayılar kontrol edilmek istenen fırçasız doğru akım motoru için uygulanabilir olmalıdır. Bu çalışmada geleneksel PID ile kontrol sistemi üretilmeye çalışılmıştır. Kontrol katsayıları belirlenirken Ziegler-Nichols açık çevrim cevabı ve Ziegler-Nichols kapalı çevrim cevabı kullanılmıştır. Ziegler-Nichols yöntemleri ile kontrolcü katsayıları elde edilmiştir. Elde edilen bu katsayılar ile kontrol işareti üretilmiştir. Üretilen kontrol işaretinin, güç için kullanılan sistemin gerilim değerini aştığı ve gerilim hattı üzerinde sürekli osilasyona sebep olduğu görülmüştür. Sistemin batarya enerjisi ile besleneceği düşünüldüğünde bu durum sistemin uygulanabilirliğini kaybetmesine neden olur. Geleneksel PID yerine farklı çalışmalar incelenmiş ve PID içerisinde kullanılan kontrol katsayıları Linear-Quadratic-Regulation (LQR) yöntemi ile elde edilmiştir. LQR yöntemi ile sistem girdisinin hassasiyeti ayarlanabilmektedir. Böylelikle uygulanabilir gerilim seviyesinde kontrol işareti üretmek mümkün olur. LQR yöntemi ile elde edilen PID kontrolcüsünün katsayıları motoru istenen hız değerine ulaştıran en doğru kontrol işaretini üretmiştir. Üretilen kontrol işareti sistem osilasyonunu yok denecek kadar düşürmüştür. Ziegler-Nichols yöntemleri ile elde edilen katsayılar ve LQR yöntemi ile elde edilen katsayılar karşılaştırılmıştır. Yapılan karşılaştırma sonucunda motor sürücü kontrol işareti LQR yöntemi ile hesaplanan PID katsayıları aracılığıyla oluşturulmuştur. Motor sürücü donanım yapısı 4 farklı kart ile gerçekleştirilmiştir. Böylelikle sürücü yapısının modüler olması hedeflenmiştir. Olası aşırı yüklenme vb. durumlarda zarar gören elektronik kartı değiştirmek mümkündür. Motor sürücü yapısı için oluşturulan elektronik kartların üç tanesi motor sürücü sisteminde bir tanesi ise motor içerisinde olacak şekilde tasarlanmıştır. Motor sürücü içerisinde bulunan üç kart, Regüle kartı, Kontrol kartı ve Güç kartıdır. Bu kartlar aracılığıyla motor sürücüye ait PCB tasarımları işlevlerine göre ayrılmıştır. Kontrol kartı motor sürücüsünün beyni olarak işlev yapmaktadır. Tüm kontrol algoritması bu kartta bulunan işlemci ile gerçekleştirilir. Kart tasarımı yapılırken ihiyaç duyulacak bütün çevre birimler kart tasarımına eklenmiştir. Bu çevre birimler haberleşme, filtreleme ve sinyal işleme gibi çevre birimlerdir. Kart içerisindeki tüm çevre birimlerin şematik tasarımları paylaşılmıştır. Şematikler oluşturulurken nelere dikkat edildiği ve nasıl oluşturulduğu detaylı bir şekilde anlatılmıştır. Şematik sonrası oluşturulan PCB çizimleri gösterilmiştir. Çevre birimlerin PCB üzerinde konumlandırılırken dikkat edilen parametreleri açıklanmıştır. Kullanılan çevre birimlerin neden kullanıldığı bahsedilmiştir. Kontrol kartı çevre birimler ile çevre birimleri besleyen güç hattını da içerisinde barındırmaktadır. Tüm çevre birimler farklı enerji seviyesinde besleme ihtiyacı duyabilir. Kontrol kartı tüm bu enerji ihtiyaçlarını karşılamak üzere karta harici olarak gelecek olan bir besleme gerilimine ihtiyaç duyar. Kontrol kartının ihtiyaç duyduğu besleme 12V seviyesindedir. İşlemci ve çevre birimler için ihtiyaç duyulan gerilim seviyeleri kontrol kartı içerisinde dönüştürülür. Böylelikle, Tüm çevre birimlerin beslemesi gerçekleştirilir. Regüle kartı ile hem kontrol kartının hem de güç kartının ihtiyaç duyduğu 12V besleme gerilimi motor beslemesinden elde edilir. Regüle kartı enerji girişini sistem dışından, batarya üzerinden elde edecektir. Gelen enerji girişi manyetik bozulmalara maruz kalabileceğinden, regüle kartı tasarımı bu öngörüler doğrultusunda filtreleme ile gerçekleştirilmiştir. Güç kartı, Kontrol kartından gelen komutları gerçekleştiren, içerisinde MOSFET'lerin ve kapı sürücülerin bulunduğu donanımsal birimdir. Kontrol kartı ile oluşturulan tetikleme darbeleri güç kartına aktarılır. Kontrol kartından gelen sinyal ile Güç kartında bulunan kapı sürücülerin faz tetiklemeleri gerçekleştirilir. Güç kartı içerisinde 18 adet MOSFET bulunmaktadır. Üç fazdan oluşan motor için motor sürücüde minimum 6 adet anahtarlama elemanı kullanılması gerekir. Güç kartı yapısında 18 adet MOSFET kullanımı ile oluşacak akım yoğunluğu 3 farklı anahtarlama elemanı üzerinden aktarılmıştır. Her bir fazın hem yüksek değerlikli anahtarlama elemanı hem de düşük değerlikli anahtarlama elemanı için 3 adet MOSFET kullanılmıştır. Güç kartı içerisinde motora ait enerji akışının gerçekleştirildiği iletim hattını barındırmaz. Enerji akışının gerçekleşmesi baralar aracılığıyla sağlanmıştır. Güç kartı baralara montajlı MOSFET'lerin tetiklemesini sağlamaktadır. Bu üç motor sürücü kartı dışında bir PCB'de motor içerisinde motorun pozisyon bilgilerinin alındığı Hall Sensör kartıdır. Hall sensör kartı ile alınan bilgiler işlemciye kablo aracılığıyla aktarılır. işlemci içerisinde işlenen pozisyon bilgileri gerekli komütasyon adımlarını üretir. Böylelikle motorun dönüşü için gerekli sinyaller elde edilmiş olur. Tez çalışması ile hedeflenen tasarım bu doğrultuda gerçekleştirilmiştir.
Açıklama
Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Lisansüstü Eğitim Enstitüsü, 2023
Anahtar kelimeler
Elektrikli motor, Electric motors, Motor kontrol sistemi, Motor control system
Alıntı