XYZ Kartezyen Robot ve 2B CAD-CAM Çizici Yazılımı Tasarımı
Download "XYZ Kartezyen Robot ve 2B CAD-CAM Çizici Yazılımı Tasarımı"
1 XYZ Kartezyen Robot ve 2B CAD-CAM Çizici Yazılımı Tasarımı Cengiz Balta, Cüneyt Oysu, Zafer Bilgül, Sıtkı Öztürk Elektronik ve Haberleşme Mühendisliği Bölümü Kocaeli Üniversitesi, 41380, Kocaeli, Türkiye Özet: Bu çalışmada, iki boyutlu tasarımlar için CAD-CAM parça programlama ve imalat ortamı fonksiyonlarını sağlayan genel amaçlı bir çizici-kesici kartezyen robot uygulaması ve bilgisayar yazılımı gerçekleştirilmiştir. Üç doğrusal eksenden oluşan, servo motorlu kartezyen robot mekanizması ve hareket kontrol kartı fonksiyonları, dahili CAD parça programlama yazılımı ortamı ile birleştirilerek, tezgah üzerinde iki boyutlu parça çizme/kesme fonksiyonları gerçekleştirilmiştir. Abstract: In this work, a general purpose plotter-cutter robot system with a CAD-CAM part programming software is designed. A cartesian robot that contains three linear axis with servo motors and a motion control card is used in the project. CAD design capabilities added to the software that controls mechanical system. Finally, a plotter-cutter cartesian robot with 2D CAD design environment is developed. 1. Giriş Üç doğrusal eksenden oluşan kartezyen yapıdaki robotlar (XYZ gantry) endüstriyel uygulamalarda ve imalat amaçlı olarak yaygın olarak kullanmaktadır. Kartezyen robotların paketleme, lojistik, freze, lazer, plazma, oksi asetilen kesme makinaları, su jeti ile kesme, elektro erezyon gibi uygulama alanları bulunur. Metal işleme, tekstil, dericilik ve benzeri imalat endüstrilerinde iki boyutlu kesme problemleri oldukça geniş bir yer tutmaktadır. Bu sistemlerde, doğrusal eksenler ve servo motorlar yardımı ile dahili CAD ortamında çizilen iki boyutlu parçaların seri üretimleri gerçekleştirilir. geliştirilmiştir. Uygulama programı, kullanıcının imal edilecek parçaları dahili CAD ortamında çizmesini ve çizilen parçaların, kartezyen robota hareket komutları halinde göndererek imal edilmesini sağlar. Uygulama programı, CAD ortamında parçaların tasarımı için kullanılan çizgi, yay parçası, çember ve benzeri CAD nesnelerini, tasarım ekranından tarayıp, kartezten robota hareket komutları şeklinde aktarır. Projede gerçekleştirilen aşamalar şu şekilde özetlenebilir: XYZ kartezyen robot ve servo motorların kurulması Servo sürücüler ve motor bağlantılarının yapılması Hareket kartı ve servo sürücü haberleşmelerinin temin edilmesi Geliştirilen iki boyutlu CAD-CAM arayüzü ile kullanıcıya parça programlama imkanı sağlanması Kullanıcı tarafından ana parça üzerinde çizilen iki boyutlu parçaların tasarım ortamından XYZ kartezyen robota gönderilmesi 2. Kartezyen Robot Kartezyen robot, doğrusal eksenler, servo motorlar, servo sürücüler ve hareket kartından oluşur. Doğrusal eksen olarak Festo DGE ZR-RF ve FDG ZR-RF kayışlı eksenleri, servo motor olarak, Festo MTR-AC-70-3S-GA ve MTR-AC-55-3S-GB motorları kullanılmıştır. Servo motorları sürmek üzere sistemde üç adet SEC-AC-305 servo sürücü bulunur. İmalata yönelik CAM uygulamalarında, işlenmemiş, ham haldeki ana parçanın, boyutları ve konumunun üretimi gerçekleştirecek olan makinaya hassas bir şekilde tanıtılması gerekir. Daha sonra ana parçadan imal edilecek olan parçalar CAM uygulamasında tasarlanır. Bilgisayar ortamında işleme hareketlerinin görsel olarak benzetiminden sonra kontrol ünitesine yüklenen hareket komutları makinada otomatik olarak işlenir. Projenin uygulama aşamalarında ilk olarak, doğrusal eksenler, servo motorlar, servo sürücüler ve hareket kartından oluşan kartezyen robotun kurulması ve elektrik bağlantılarının yapılması yer almıştır. Daha sonra, kullanıcaya tasarım ve imalat arayüzü sağlayan CAD-CAM windows uygulaması, XYZ robota entegre olarak Şekil 1: XYZ kartezyen robot ve kontrol paneli
2 2.1. Servo Sürücüler Projede kullanılan XYZ kartezyen robot sistemi, servo sürücüler, servo motorlar ve mekanik eksenlerden oluşmuştur. Şekil 2 de sistemin parçaları her bir eksen için numaralı olarak gösterilmiştir. (1) Güç bağlantısı (2) Anahtar (3) Sigortalar (4) Şase kontağı (5) 24 V DC kaynak (6) Harici direnç (7) SEC-AC 305 Servo sürücü (8) Motor ve resolver (9) Mekanik eksen (10) Parametre ayarları için PC Tablo1: Servo sürücü resolver bağlantı tablosu 1 SIN+ Resolver sinüs sinyali 6 SIN- Sinüs sinyali tersi 2 COS+ Kosinüs sinyali 7 COS- Kosinüs sinyali tersi 4 REF+ Resolver sinyal 9 REF- Resolver sinyal tersi 5 MOT-TEMP Motor ısı sensörü Digital/analog giriş çıkışlar (X1) Servo sürücü üzerinde, dış dünya ile haberleşme amaçlı olarak, X1 soketi üzerinde çeşitli analog ve digital giriş/çıkışlar bulunur. Tablo2: Analog giriş/çıkış soketi kısmi bağlantıları Şekil 2: Servo sistemin parçaları Şekilde 3 de SEC AC 305 servo sürücünün üstten görünümü verilmiştir. (1) X12 Harici direnç (2) X11 Artımlı enkoder çıkışı (3) X10 Artımlı enkoder girişi (4) Digital/analog girişçıkışlar (5) Soğutma fanı Pin Sembol Değer Açıklama 9 Din5 ENA-CL Sürücü hazır (Servo On) 22 Din6 END-0 Sınır sensörü negatif 10 Din7 END-1 Sınır sensötür pozitif 23 Din8 START Pozisyon başla 11 Din9 SAMPLE Yüksek hız giriş 24 Dout 0 READY İşleme hazır Artımlı enkoder girişi (X10) Artımlı enkoder girişi, master/slave operasyon moduna alınan servo sürücülere, hareket kartı üzerinden enkoder formunda darbeler gördermek üzere kullanılmıştır. Standart 9 pinli soket ile darbe/pulse girişleri yapılmıştır. Tablo3: Servo sürücü artımlı enkoder girişi Şekil 3: Servo sürücü, üst ve alt görünüm Şekil 3 de, sağ tarafta servo sürüsünün alttan görünümü veriliyor. (1) X2 Resolver girişi (2) X6 Motora güç besleme, sıcaklık sensörü, fren (3) Şase bağlantısı (4) Soğutma fanı bağlantısı (5) X9 Güç kaynağı bağlantısı (6) Soğutma amaçlı hava kanalı 2.1. Servo Sürücü Bağlantıları Resolver bağlantısı (X2) Servo motorlar üzerinde bulunan resolver bağlatıları Şekil 4 de gösterilmiştir. Şekil 4: Servo sürücü resolver bağlantıları 1 A Sinyal girişi A 6 A/ Sinyal girişi A değil 2 B Sinyal girişi B 7 B/ Sinyal girişi B değil 3 C Sinyal girişi C 8 C/ Sinyal girişi C değil 5 +5VDC +5V DC kaynak, harici sensör için Artımlı enkoder çıkışı (X11) Artımlı enkoder çıkışı, master/slave operasyon modunda çalışan servo sürücüden, pozisyonlama bilgisini darbe/pulse olarak alıp hareket kartına geri besleme sağlamak üzere kullanılmıştır. Darbe çıkışı standart 9 pinli soket ile yapılmıştır. Tablo4: Servo sürücü artımlı enkoder çıkışı 1 A Sinyal girişi A 6 A/ Sinyal girişi A değil 2 B Sinyal girişi B 7 B/ Sinyal girişi B değil 3 C Sinyal girişi C 8 C/ Sinyal girişi C değil 5 +5VDC +5V DC kaynak, harici sensör için
3 Motor Güç Bağlantısı (X6) Servo sürücü üzerinden motora güç beslemek üzere (X6) soketi kullanılmıştır. darbe bağlantılarında A, A/, B, B/ darbe kanalları her bir eksen için ilgili servo sürücülere bağlanmıştır. Şekil 5: Servo motor güç bağlantısı Tablo 5: Servo sürücü motor güç bağlantısı 1 U Motor bağlantısı, faz 1 2 V Motor bağlantısı, faz 2 3 W Motor bağlantısı, faz 3 4 Br+ 24V Fren 5 Br- 24V Fren şase 6 MT+ Motor sıcaklık sensörü 7 MT- Sıcaklık sensörü şase Şekil 8: Hareket kartı - servo sürücü bağlantısı, bir eksen 2.4. Eksen Yapısı Projede kullanılan PCI 1242 tipi hareket kartı, üç adet ana eksen (X-Y-Z) ve üç adet yardımcı ekseni (U-V-W) kontrol etmek üzere tasarlanmıştır. Hareket komutları eksenlere mutlak veya göreceli koordinat sistemine göre gönderilebilir Diferansiyal Sinyal Aktarma ve Darbe Tipleri Hareket komutlarının hareket kartından servo sürücülere aktarılması için darbeler kullanılmaktadır. Her bir hareket komutuna karşılık olarak üretilen darbe dizilerinin aktarım sırasında bozulmaması için diferansiyal aktarma metodu kullanılarak, sinyal ile birlikte sinyalin tersi de aynı anda servo sürücüye aktarılır. Şekil 9: Hareket kartının eksen yapısı Şekil 6: Diferansiyel sinyal aktarma metodu Bu projede, hareket komutlarını servo sürücülere iletmek üzere Advantech PCI 1242 modeli, darbe/pulse tipi hareket kartı kullanılmıştır. Bu hareket kartı, darbe giriş ve çıkışlarında üç tip darbe modunu desteklemektedir: pulse/direction (darbe/yön), ileri/geri palsler (CW/CCW) veya A/B/Phase (enkoder formunda palsler) Mekanik Parametre Tanımları Hareket kartının çalışacağı mekanik sisteme ait motor ve çalışma tezgahı parametrelerini sisteme girmek üzere EP_MAC_PARAM kayıt yapısı kullanılır. Şekil 10: Mekanik parametre ayarları Şekil 7: Desteklenen darbe giriş/çıkış formatları 2.3. Hareket Kartı ve Servo Sürücü Bağlantıları Projede kullanılan SEC-AC 305 servo sürücüleri enkoder formunda darbeler ile haberleştiğinden, hareket kartı ile olan Mekanik özelliklere ait kayıt yapısı şu bilgileri taşır: waxisdir: Eksen yönü. 1 değerine set edilirse, eksen ters yönde hareket eder wrpm : Eksen hızı, dakikada tur sayısı cinsinden dfpitch: Eksenin bir turda alacağı mesafe dfgearratio: Dişli sistemi ile motor tur sayısı azaltılıyor ise, kaldıraç oranı girilir dfswlimit_p: Pozitif yöndeki sınır. (Yazılım ile kontrol)
4 dfswlimit_n: Negatif yöndeki sınır. (Yazılım ile kontrol) dwswlimitoffset_p: Pozitif yönde tezgah sınır bölgesi (Yazılım ile kontrol) dwswlimitoffset_n: Negatif yönde tezgah sınır bölgesi (Yazılım ile kontrol) wpulsemode: 0: Pulse/Direction 1: CW/CCW 2: A/B Phase darbe modu wpulsewidth: Servo sürücünün özelliğine göre ns cinsinden darbe genişliği whwlimitmode_p: 0: Normalde açık kontak 1: normalde kapalı kontak sınır sensörü, pozitif yönde whwlimitmode_n: 0: Normalde açık kontak 1: normalde kapalı kontak sınır sensörü, negatif yönde ivmelenme tipi (S veya Trapezoid), ivmelenme zamanları ve hareketin hızı ve hareketle ilgili diğer koordinat bilgileridir Yörünge Planlama: Çizgi, Yay, Çember Hareket komutu karta gönderilmeden önce, EP_MOTION_CONFIG yapısı kullanılarak harekete ait parametreler belirlenir. Hareketin ivmelenme tipi (T/S), ivmelenme zamanları ve hareketin hızı, hareket konfigürasyon parametrelerini teşkil eder Home/Sıfır Parametre Tanımları XYZ robotun her bir ekseninin sıfır noktasına gitmesini sağlamak üzere eksenlerin uç noktalarında sensörler bulunur. Sıfır noktası parametre tanımları ile bu sensörlerin davranışları tanımlanır. Sensörler normalde açık veya normalde kapalı kontaklar şeklinde olabilir. Bu bilgiler EP_HOME_CONFIG kayıt yapısı ile tutulur. Yapı içerisinde şu bilgiler bulunur: wmode: Home pozisyon modu (0..13) wdir: Hareket yönü 0: Pozitif yön 1: Negatif yön wsensormode: 0: Normalde açık kontak 1: Normalde kapalı kontak nindexcount: Enkoder indeks (Phase Z) dfaccdectime: ms cinsinden ivmelenme zamanı dfhighspeed: Hareket hızı mm/s dflowspeed: Harekete başlama hızı mm/s dfoffset: Tezgahta bırakılan tolerans mesafesi 2.7. Enkoder Parametre Tanımları Hareket kartının darbe giriş ve çıkışlarında kullanılacak olan darbe şekillerinin tanımlanması için EP_ENCODER_CONFIG yapısı kullanılır. Yapı içerisinde şu değişkenler bulunur: wtype: Enkoder formatı 0: A/B/Phase 1: CW/CCW 2: Pulse/Direction wainverse: 1: A darbe kanalı ters 0: A darbe kanalı düz wbinverse: 1: B darbe kanalı ters 0: B darbe kanalı düz wcinverse: 1: C darbe kanalı ters 0: C darbe kanalı düz wabswap: A ve B kanalları yer değiştirmesi 2.8. Koordinat Sistemi Şekil 11: İvme seçenekleri Uygulama içerisinde, hareket konfigürasyonu işlevi, SetMotionCfg fonksiyonuna atanmıştır. Bu fonksiyon, hareket başlama ve bitişlerindeki ivmelenme tipi ve zamanlarını, ayrıca hareket boyunca kullanılacak sabit hız bilgisini belirler. Hareket kartı ile sağlanan hareket fonksiyonları dört ana grupta toplanabilir: Lineer, Yay, Daire, Yardımcı Eksen hareketleri. Lineer Hareket Komutları: EP_Line(), EP_LineX(), EPLineY(), EPLineZ() Yay Komutları: EP_ArcXYZ(), EP_ArcXY(), EP_ArzYZ() Daire Komutları: EP_CircleXY(), EP_CircleYZ(),EP_CircleZX() Yardımcı Eksen Lineer Hareket Komutları: EP_LineU, EP_LineV, EP_LineW 2.11 Gelişmiş Yörünge Planlama: Blending Blending özelliği ile, hareket kartı, hareket komutları arasındaki geçişlerde yumuşatma uygular. Böylece keskin dönüş noktalarında, hareket kartı teğet hızı sabit tutmak şartıyla, köşe dönüşlerinde mekanizmanın hareketini yumuşatır. EP_EnableBlend() fonksiyonu ile bu özellik aktive edilir. Kullanılan hareket kartı mutlak veya artımlı koordinatlar ile çalışabilir. Hareket kartı arayüzü içinde, koordinat sistemi ile ilgili olarak şu fonksiyonlar sağlanmıştır: EP_SetAbs(): Absolute (Mutlak) koordinat sistemi EP_SetInc(): Incremental (Artımlı) koordinat sistemi EP_GetCoordType(): Koordinat tipinin sorgulanması EP_SetUnit(): Ölçüm birimi olarak mm veya inc seçilmesi EP_GetUnit(): Mevcut ölçü biriminin sorgulanması EP_GetUnitPos(): Eksenlerin pozisyonlarını mm cinsinden oku EP_GetPulsePos(): Eksenlerin pozisyonlarını darbe cinsinden oku 2.9. Yörünge Planlama Hareket kartı ile gelen MCFL isimli fonksiyon kütüphanesi, doğrusal ve dairesel enterpolasyonları sağlar. Hareket fonksiyonları çağrılmadan önce kullanıcı, harekete ait tanımlama bilgilerini sağlamalıdır. Bu parametreler Şekil 12: Blending modunda hız grafiği Şekil 13: Blending modunda geçişler
5 3. Uygulama Yazılımı Uygulama yazılımı, kartezyen robot kontrol ekranı, CAD parça programlama ortamı ve CAM imalat amaçlı olarak tasarlanan parçaların kartezyen robota gönderilmesi kısımlarından oluşur Kartezyen Robot Kontrol Arayüzü Şekil 14: Kartezyen robot kontrol arayüzü Kartezyen robot kontrol arayüzü, hareket kartının sıfırlanması, servo motorların devreye alınması, eksenlerin sıfırlanması, sınır sensörü bilgilerinin ekrandan izlenmesi ve tezgahın konum bilgisinin izlenmesi fonksiyonlarını sağlar. Ayrıca robota basit seviyede çizgi, yay parçası ve daire komutlarının iletilmesini temin eder. Çizgi /Line Çoklu Çizgi / Polyline Daire / Circle Yay / Arc Elips Metin / Text Ölçülendirmeler / Dimensions Her bir nesne kendisine ait özelliklere sahiptir. Nesnelerin tipleri ve özellikleri bir veritabanında saklanarak gerektiğinde resim olarak bilgisayar ekranında tekrar üretilir. Nesneler, layer olarak adlandırılan farklı katmanlarda bulunabilirler. Her bir katman istendiği zaman gizlenerek, katman içindeki nesnelerin görünmez olması sağlanabilir. Nesnelerin çeşitli katmanlara dağıtılması ile, tasarım aşamasında sadeleştirme kolaylığı sağlanır. Uygulamadaki CAD dosyası, taranan, kullanıcı ve robot isimli katmanları içerir. Taranan katmanında, tezgahtan kamera ile alınıp vektörize edilen parçaların vektör resimleri bulunur. Kullanıcı katmanında ise, sistemi kullanan kişi tarafından çizilen nesneler tutulur. Robot katmanında ise, kullanıcı katmanındaki kompleks nesneler çizgi nesnelerine indirgenerek çizici XYZ robota gönderilir. 3.4 CAD Arayüzü - Robot Bağlantısı: 2B Dahili CAM Sistem tarafından bilinen her bir nesne için, öncelikle çizimin tezgah sınırları içinde olup olmadığı saptanır. Sınırlar içerisinde kalan nesneler, çizgi parçalarına indirgenerek çizici robota gönderilir. Şekil 16 da çizgilerin yapısı gösteriliyor. Jog fonksiyonları ile, her bir eksen için, kartezyen robotun kafasının bulunduğu pozisyon ince ayar yapılabilir CAD-CAM Tasarım Arayüzü Kullanıcı tarafından çizilen yeni parçalar, kartezyen robota hareket komutları şeklinde aktarılarak üretimi gerçekleştirilir. Şekil 16: Çizgi nesnesi Aşağıdaki şemada, CAD ortamındaki çizgi vektörlerin koordinatlarının alınıp XYZ robota iletilmesi işlevi gösteriliyor: Şekil 15: CAD tasarım ortamı, çizimler robota gönderilir 3.3. Tanımlı CAD Nesneleri CAD çizimleri çeşitli basit nesnelerin birlikte kullanılması ile oluşur. CAD çizimlerinde kullanılan başlıca nesneler şunlardır: Şekil 17: Çizici Akış Şeması
6 Şekil 18 ve 19 da çeşitli uygulama resimleri veriliyor. 5. Referanslar  ADVANTECH PCI 1241/ Eksen Darbe Tipi Hareket Kontrol Kartı Kitapçığı  FESTO SEC-AC-305 Servo Sürücü Dökümanları  Kolbasoft 2B CAD Yazılım Kütüphanesi Şekil 18: Harf kesme uygulaması Şekil 19: Örnek kenar taraması, görme destekli 4. Sonuçlar Bu çalışmada, iki boyutlu bir kartezyen kesme sistemi gerçekleştirilmiştir. Mekanik sistemin kurulması aşamasında kullanılacak olan doğrusal eksen, servo motorlar, servo sürücüler ve hareket kartının açık mimari yapıda olması, endüstriyel standartları sağlaması ve darbe tipi olarak mümkün olan tüm formatları (pulse/direction, CW/CCW, A/B/Phase) desteklemesi, istenilen eksenlerde çizgi, yay parçası, daire, elips enterpolasyonlarını sağlaması, gerekli sayıda yardımcı eksenleri desteklemesi, tezgahın mekanik yapısı ile uyumlu uç sensörleri desteklemesi ve mekanik aksamla ilgili güç gereksinimi şartlarını sağlaması gereklidir. CAD-CAM tasarım-imalat ortamının ise, endüstriyel CAD standartlarını desteklemesi, DXF - DWG gibi yaygın olarak kullanılan mimari tasarım formatlarına erişebilmesi, en alt seviyede çizgi, yay parçası, daire gibi basit nesneleri kullanıcıya sağlaması ve bu nesneleri hareket komutları şeklinde hareket kartına aktarabilecek seviyede açık mimariye sahip olması gerekir.