MYO-ÖS 2010- Ulusal Meslek Yüksekokulları Öğrenci Sempozyumu 21-22 EKĐM 2010-DÜZCE SERVO MOTORUN MĐKRODENETLEYĐCĐ ĐLE KONUM VE HIZ DENETĐMĐ Đlker KÖKDENÇĐFTÇĐ Emre YALÇINKAYA Teknik Eğitim Fakültesi Gazi Üniversitesi ANKARA ilkerkokden@gmail.com emre.yalcinkaya@hotmail.com ÖZET Bu çalışmada, mikrodenetleyici, grafik LCD ve dokunmatik panel kullanılarak bir DA servo motorun konum ve hız kontrolü gerçekleştirilmiştir. Servo motorun hareket etmesi istenilen konum bilgisi dokunmatik panel yardımıyla mikrodenetleyiciye gönderilmektedir. Gönderilen konum bilgisi mikrodenetleyici tarafından sürücü devreyi tetikler ve sürücü devre yardımıyla servo motor konum kontrolü gerçekleşmiş olur. Yapılan deneysel çalışmalar sonucu, istenen ve gerçekleşen konum değerlerinin uyum içinde oldukları gözlenmiştir. Anahtar Kelimeler: Servo motor, Mikrodenetleyici, Grafik LCD, Servo sistem, Pozisyon kontrolü. 1. GĐRĐŞ Endüstriyel uygulamalarda değişik görevleri gerçekleştirmek amacıyla kullanılan ve farklı isimlerle adlandırılan birçok elektrik motoru vardır. Ortak yanı; elektrik enerjisini mekanik enerjiye dönüştürmek olan bu motorların yapıları birbirine göre farklılıklar gösterir. Günümüzdeki uygulamalarda gerçekleştirilen konum ve hız kontrolleri için her elektrik motoru uygun olmamaktadır. Bu gibi durumlarda kontrolü gerçekleştirilecek olan sisteme uygun bir elektrik motoru seçilmelidir. Konum kontrolü uygulamalarında kullanılan motorlar genellikle adım motoru ve servo motorlardır. Adım motorlarının kullanım alanı küçük güçlü ve düşük moment gerektiren kontrol sistemleri ile sınırlıdır. Buna karşılık büyük güç, yüksek moment ve hızlı tepki gerektiren sistemlerde ise daha çok servo motorlar kullanılır [1]. Ayrıca servo motorların kalkış ve duruş anında, motor kontrolü daha yumuşak bir şekilde gerçekleştirilebilmektedir. Motorun bu şekilde kontrol edilmesi sisteme iki şekilde fayda sağlar. Birincisi motor milinde bir yük olması durumunda motorun kalkışı ve duruşu sırasında mile bağlı yükün zarar görmesi önlenebilir. Đkincisi fayda ise motorun kalkışı sırasında yüksek akım çekmesinin önlenmesidir. Literatür incelendiğinde, DA servo motorlarda rotor konum ve hız bilgilerini elde etmek için artımlı enkoder kullanıldığı görülmüştür. Rotor açısı, enkoder tarafından belirlenmiş ve bilgisayara, denetleyici sistem bilgileri açısal olarak girilmiştir [2-3]. Bununla birlikte farklı bir çalışma DA servo motorun PID kontrol algoritmalarını kullanarak da pozisyon kontrolü yapılmıştır [4]. Pozisyon kontrolü ile ilgili yapılan çalışmalar incelendiğinde parametreleri farklı olan kontrol sistemleri model mühendisliğine sorunlar oluşturduğu görülmektedir [5]. Bu farklılığı eşitlemek için kullanılan bir yol gerçek zaman bilgi temelli kontroldür ve bu hız kontrol sisteminde hız sensörü gerekmemektedir [6]. Ayrıca, parametre değişmesi ve kuvvet rahatsızlığının sebep olduğu resmi hatayı bastırabilmek için DA servo motorun doğrusal pozisyon kontrol sistemi de kullanılmıştır. Bu yöntem çift pasif uyarlamalı kontrol döngüsüne dayanır ve aynı zamanda model referans ivme kontrolü gerçekleştirme işlemi de yapabilir. Bu 1
yapı basit ve kolaydır, toplam pozisyon kontrol sisteminin hesaplama süresi çok kısadır [7]. Bununla birlikte DA servo motorun hız ve konum kontrolü sensör, enkoder, vb. durum bildiriciler ile gerçekleştirilmiştir. Ayrıca yapılan çalışmaların tamamında, konum bilgisi buton ya da bilgisayar yardımı ile sisteme gönderilmiştir [8]. Bu çalışmada ise servo motorun hareket etmesi istenilen konum bilgisi dokunmatik panel ile mikrodenetleyiciye gönderilmiştir. Gönderilen bu konum bilgisi motor miline bağlı olan potansiyometreden elde edilen konum bilgisiyle karşılaştırılarak rotorun istenilen konuma hareketi sağlanmıştır. Böylece servo motorun hız ve konum kontrolü sağlanmıştır. 2. TASARIM VE UYGULAMA Servo motorun mikrodenetleyici ile konum ve hız kontrolü denetiminin gerçekleştirilmesine ait blok diyagramı Şekil 1 de verilmiştir. Blok diyagram anahtar, güç kaynağı, grafik LCD, mikrodenetleyici, sürücü devre, DA motor ve tako olmak üzere 7 bölümden oluşmaktadır. Şekil 1. Servo motorun mikrodenetleyici ile konum ve hız kontrolü denetiminin blok diyagramı 2.1. PIC 18F4620 Mikrodenetleyici Bir bilgisayarın sahip olduğu Ram ve I/O ünitesi bileşenlerinin tek bir chip içerisinde üretilmiş biçimine mikrodenetleyici (mikrokontroller) denir. Bir mikrodenetleyici tek bir yonga üzerine inşa edilmiş tek yongalık bir bilgisayar gibi düşünülebilir. Fiziksel boyutunun küçük olması, düşük güç tüketimi, ucuz olması ve de yüksek performansa sahip olması gibi belirgin avantajları mikrodenetleyicilerin tercih edilme sebeplerini oluşturur [9]. Bu çalışmada kullanılan PIC18F4620 nin 64KB program hafızası vardır. Grafik LCD de grafik çizdirmek için yazılan kodlar, mikrodenetleyicinin hafızasında çok yer kaplamaktadır. Bundan dolayı 18F4620 ile çok rahat bir şekilde çalışma yapılabilir. 2
2.2. Grafik LCD Grafik LCD ler karakter tabanlı LCD lerin tüm özelliklerini yerine getirebilirler. Bunun yanında grafik LCD lerde pixel düzeyinde kontrol imkânı olduğundan, Grafik LCD ler istenen çizimlerde gösterebilir. Grafik LCD lerde karakter tabanlı LCD lerde olduğu gibi kontrol entegreleri içerirler. Ancak grafik LCD lerin kontrol edilmesi işlemi daha zordur [10]. Şekil 2. Proteus ISIS de Grafik LCD Grafik LCD lerin farklı kontrol entegreleri mevcuttur. Piyasada K0108 entegreleri ile uyumlu birçok grafik LCD rahatlıkla bulunabilir. Bunların doğru pin bağlantısı için mutlaka kullandığınız grafik LCD nin teknik dokümanına bakmanız gereklidir. 2.3. Dokunmatik Panel Şekil 3. Proteus ISIS de Grafik LCD Dokunmatik ekranların çalışma prensipleri, kullanım amaçlarına ve bulunacakları yere göre birkaç farklı çeşitte olabilir. Bu tür ekranlarda günümüzde kullanılan üç temel teknoloji mevcuttur [11]. Bunlar; Dirençli (Rezistif) Teknoloji. Yüzey Dalgası (Surface Wave) Teknolojisi. Kızılötesi (Infrared) teknolojisi. 3
2.4. Servo Motorlar Servo motorlar, kontrol motorları olarak da adlandırılan elektrik motorları olup özellikle geri beslemeli kontrol sistemlerinde çıkış hareketini kontrol edici olarak kullanmak üzere tasarlanır ve üretilirler. Gömülü kontrol devrelerine sahiptirler ve birkaç vat ile birkaç yüz vat olacak şekilde farklı güçlerde yapılırlar. Servo motorların yüksek hız tepkisine sahip olmaları rotor ataletinin düşük olmasını gerektirir. Bu motorlar yapı olarak daha küçük çaplı ve daha uzundurlar. Servo motorların en yaygın kullanım alanlarına örnek olarak; robotlar, radarlar, bilgisayar malzemeleri, takım tezgâhları, izleme ve yol gösterme sistemleri ve işlev denetleyiciler gösterilebilir [12]. Şekil 4. Servo Motorlar [13] 2.4.1. DA Servo Motorun Çalışması Servo motorun milinden geri besleme almak için dinamik performansı düşük, kullanımı kolay ve ekonomik olan tako jeneratör, hall sensör veya artırımlı enkoder gibi elemanlar kullanılır. Sistem darbe genişlik modülasyonu ile çalışır. Pozisyon bilgisi PWM sinyali olarak girişe uygulanır. Servo motor milindeki geri besleme elamanı giriş bilgisini referans alıp rotoru istenilen konuma gelene kadar hareket ettirir. Giriş bilgisi değişmediği sürece milin konumu sabit kalır [14]. 2.4.2. DA Servo Motor ve AC Servo Motorun Karşılaştırılması Günümüzde, DA servo motorlar daha çok yüksek güçlü uygulamalarda kullanılmaktadır. AA servo motorlar ise hem düşük hem de yüksek güçlü uygulamalarda kullanılmaktadır. AA servo motorların yapıları basittir ve ataletleri düşüktür. Bu motorlar genellikle doğrusal olmayan özellik gösteren ve yüksek manyetik bağa sahip makinelerdir. AA servo motorların moment-hız karakteristikleri, DA servo motorlarınki gibi ideal değildir. Ayrıca AA servo motorları aynı boyuttaki DA servo motor ile karşılaştırıldıklarında daha düşük momente sahiptir. 2.5. RC - Servo Motor RC servo motor model uçak, araba, tekne ve küçük güçteki robot uygulamalarında kullanılan motor çeşitlerindendir. RC servo motor içerisinde bir DA motor, kod çözücü, motoru sürmekte kullanılan elektronik bir devre ve motor gücünü arttırmakta kullanılan plastik veya metal dişliler bulunur. RC servo motorun elektronik sürücüsü kendi içerisinde bulunduğu için ve fazla akım çekmediği için PIC ile direkt olarak sürülebilir. 4
Şekil 5. RC servo motorun görünüşü RC servoların çalışma gerilimleri 4,8-6V civarındadır ve standart RC servonun gücü 1 cm/3.5 kg dır. Bu değer servonun miline bağlanacak kolun merkezden uzaklığının 1 cm olduğunda servonun bu kola 3.5 kg güç verebileceği anlamına gelir. Bu mesafe 3.5 cm olursa servonun uygulayabileceği güç 1 kg a düşmektedir. Görüldüğü gibi servonun miline bağlanacak kolun uzunluğu ile servonun kolun gücü arasında ters orantı vardır. RC Servonun devreye bağlantısında üç adet kablo kullanılır. Bu kablolardan ikisi enerji, biri sinyal girişi içindir. Artı hat genelde kırmızı renk kablo ile eksi hat siyah veya kahverengi renkli kablo ile ve sinyal hattı sarı turuncu veya beyaz renkli kablo ile temsil edilir. RC servoların kontrolü sinyal hattına verilen sinyalin uzunluğu ile yapılır. RC servo motorlar konumları PWM (Pals Genişlik Modülasyonu) yöntemiyle kontrol edilirler. Şekil 13 de RC servo motora uygulanan PWM sinyalin şekline göre RC servonun aldığı konumu göstermektedir. RC servoya 10-20 ms de bir 0,5-1,5 ms arasında bir pals uygulanır. Bu pals in (sinyalin lojik 1 kısmı) süresi 0,5 ms ise RC servo en sola döner, palsin süresi 0,5-1 msn arasında artırılırsa RC servo ortaya doğru konumlanır. Pals in değeri 1,5 ms ye doğru artırılırsa RC servo sağa doğru konumlanır. Pals in değeri sabit tutulup 10-20 msn de bir tekrarlanırsa RC servoda aynı konumda kalmaya devam edecektir. RC servonun pals değerleri markalarına göre de farklılık gösterebilir. Bazı markalarda tam sol için pals in değeri 1ms, orta konum için 1,5 ms ve tam sağ için 2 ms süreli pals uygulanır. Pals değeri bilinmeyen bir RC servonun süreleri deneme yanılma yoluyla bulunabilir [15]. 5
Şekil 6. RC servo motorun PWM sinyali ile yönlendirilmesi 3. DENEYSEL SONUÇLAR Şekil 7. RC servo motorun iç blok diyagramı Yapılan bu çalışmanın sonunda, servo motorun pozisyon kontrolünü hatasız bir şekilde gerçekleştirip gerçekleştiremediğimizi denedik ve sonuçları gözlemledik. Konum bilgisini girmek için kullandığımız dokunmatik panelde iki ayrı menü bulunmaktadır. Birincisi manüel kontrol ekranı, diğeri ise otomatik kontrol ekranıdır. Manüel kontrol ile konum kontrolü yapabilmek için aşağı-yukarı okları ile derece cinsinden açı bilgisi +90 ile -90 derece arasında arttırılıp azaltılmaktadır. Ekranda görünen okların üzerine her dokunuşta bir kademe ileri ya da geri gittiği için büyük aralıklarla ilerlemeye programladık. Ok üzerine her dokunuşta servo motorun rotoru 9 derecelik açı ile hareket etmektedir. Böylece 0 dan 90 a gitmesi için ekrandaki oka 10 kez dokunmak yeterli olmaktadır. 6
Menüdeki seçeneklerden bir diğeri olan otomatik kontrolü seçtiğimizde ise ekranda bir tuş takımı görüntüsü belirmekte ve yan tarafında 3 adet konum bilgisi girebileceğimiz alan bulunmaktadır. Konum bilgileri girilip onaylandıktan sonra ileri ekrana geçildiğinde bizden zaman bilgisi istenmektedir. 3 farklı değer için zaman bilgileri de girilip onaylandıktan sonra dokunmatik ekran üzerindeki START a dokunulduğunda sistem belirtilen zamanların sonunda istenilen konuma motoru hareket ettirmektedir. Bu çalışmada, sürülmesinin kolaylığı ve maliyetinin ucuz olmasından dolayı RC servo motor kullandık. Kullandığımız motor hareket etmesini istediğimiz konuma hatasız olarak hareket etmekte ve o konumda sabitlenmektedir. Ancak az da olsa bir salınım yapmakta ve küçük hatalara sebep olmaktadır. Deneysel sonuçları incelediğimizde şunu söyleyebiliriz ki; buna benzer bir çalışma yapacak olan kişilerin motor seçiminde daha dikkatli olmaları gerekmektedir. Tasarım ve uygulama kısmında blok diyagramı verilen ve uygulaması yapılıp çalışır vaziyete gelen sistemin çıkış elemanı olan servo motoru istediğimiz pozisyona hareket ettirebilmek için uyguladığımız PWM sinyallerinin genliklerini osilaskopta inceledik. Farklı birçok değeri gözlemlemiş olsak da hepsini burada göstermek gereksiz olacağından örnek olarak; 0, +45, +90, -45, +90 derece değerlerine göre uygulanan PWM sinyali osilaskop görüntüleri aşağıdaki şekillerde sırası ile gösterilmiştir. Şeklerde de rahatça görüldüğü üzere, 0 dereceden +90 dereceye doğru gidildikçe PWM sinyalinin genişliği aratmaktadır. 0 dereceden 90 dereceye doğru gidildikçe PWM sinyalinin genişliği azalmaktadır. Şekil 8. 0 derece konumuna göre PWM sinyalinin genliği 7
Şekil 9. +45 derece konumuna göre PWM sinyalinin genliği Şekil 10. +90 derece konumuna göre PWM sinyalinin genliği 8
Şekil 11. -45 derece konumuna göre PWM sinyalinin genliği Şekil 12. -90 derece konumuna göre PWM sinyalinin genliği 4. SONUÇLAR VE DEĞERLENDĐRME Bu çalışmada, mikrodenetleyici, grafik LCD ve dokunmatik panel kullanılarak DA Servo Motorun konum ve hız kontrolü gerçekleştirilmiştir. Yapılan çalışma sayesinde; DA Servo Motorun kontrolü, grafik LCD kullanımı, dokunmatik panel kullanımının öğrenilmesi ve geliştirilmesi amaçlanmıştır. Kullanılan mikrodenetleyicinin programlanmasında yüksek seviyeli dillerden C kullanılmıştır. C nin kullanılması ile kullanılan mikrodenetleyicinin programlanmasında büyük kolaylıklar sağlanmıştır. Servo Motorların kontrolü gönderilen PWM sinyali ile sağlanmaktadır. Servo motorun kontrolünde standart olarak uygulanabilecek PWM sinyal değeri yoktur. Bu değer servo motoru üretici firmaya göre değişir. Eğer kaynak gücünün yeterli olmadığı düşünülüyorsa ilaveten bir kaynak daha kullanılarak Servo Motor ile Mikrodenetleyicinin ayrı kaynaklardan beslenilmesi önerilir. Çünkü Servo Motor zorlandığında kaynaktan yüksek akım çekecektir ve mikrodenetleyici bu parazitten etkilenecektir. Aynı zamanda Grafik LCD de servonun oluşturduğu parazitten 9
etkilenimektedir. Servo motorun GND ucu ile Mikrodenetleyicinin GND ucu birbirine bağlantılı olmalıdır. Aksi halde Servo Motor gönderilen PWM sinyalini algılayamamaktadır. 5. TEŞEKKÜR Bu bildiri ELK-410 Mesleki Tasarım Dersi kapsamında hazırlanmıştır. Yazarlar sağladığı katkılardan dolayı ders öğretim üyesi Doç. Dr. Ramazan BAYINDIR a teşekkür eder. 6. KAYNAKLAR [1] Coşkun, Đ., Işık, M. F., Position and Speed Control of Servomotor Using Microcontroller. G.Ü. Fen Bilimleri Dergisi, Cilt 17, Sayı 3, Sayfa 115-125, 2004. [2] Kim, D., Lee, J., Kim, S., Control Of Parmanent Magnet AC Servo Motors Widhout Absolute Rotor Position Transducers, Robotics R/D Team, Production Engineering Division, Consuner Electronics Business, Samsung Electronics 416, Maetan-Dong, Kwonsun-Ku, Suwen city, Kyungki-Do, Sayfa440-742, Korea. [3] Khongkoom, N., Kanchanathep, A., Nopnakeepong, S., Control of the Position DC Servo Motor by Fuzzy Logic. Yonago Tottor, Sayfa 683-8502, Japan. [4] Liu, J., Zhang, P., Wang, F., Real Time DC Servo Motor Position Control by PID Controllers Using Labview. International Journal of Engineering Studies ISSN 0975-6469 Cilt 1, Sayı 4, Sayfa 247 256, 2009. [5] Kariyappa, B. S., Hariprasad, S. A., R. Nagaraj Position Control of an AC Servo Motor Using VHDL & FPGA. World Academy of Science, Engineering and Technology 49, 2009. [6] Robert, J. F., Andrew, J. B., Terry, S. L., Brian, P. B., Implementing a Real-Time Knowledge-Based Controller in a Velocity Controlled, Servo Motor Control System. Intelligent Control, Proceedings., 5th IEEE International Symposium on., 1990. [7] Ohishi, K., Ohishi, K., Hotta, M., Taniguchi, K., Linear Adaptive Position Control System Of Brushless DC Servo Motor. IEEE/ASME Transactions on Mechatronics, Cilt 2, Sayı 3, Eylül 1997. [8] Mingji, L., Zhongqin, C., Ximing, C., Minggao, O., Adaptive Position Servo Control of Permanent Magnet Synchronous Motor. Proceeding of the 2004 American Control Conference Boston. Massachusetts, Haziran 30 -Temmuz 2, 2004. [9] http://www.microchip.com/wwwproducts/devices.aspx?ddocname=en010304 [10] http://www.lcdproduct.com/ [11] http://www.mekatronikkulubu.org/dokunmatik_ekranlar [12] Bal, G., Özel Elektrik Makinaları. Seçkin Yayıncılık, Ankara, 179-192 (2006) [13] http://www.elsim.com/ 10
[14] Ardıç, G., Arslan, A., ve diğerleri.. MEGEP, Elektrik Elektronik Teknolojisi Servo Motor ve Sürücüleri. Ankara 2007 [15] http://www.ermicro.com/blog/?p=771 11