Arduino XY Plotter Çizim Robotu

Arduino XY Plotter Çizim Robotu

156,819 views
3,063   

Nedir-Nasıl Çalışır?

Proje Sandy Noble’ın mükemmel bir projesidir. Bu projede, Arduino geliştirme kartı kullanılarak X ve Y düzlem üzerinde çizim yapan bir robot geliştireceğiz. Bu XY çizim robotu ile duvar, panel veya A4 kağıt üzerine resimler çizebilir ve metin yazdırabilirsiniz.

Gerekli Bileşen ve Donanım

Bu proje için gerekli tüm bileşenlere aşağıdaki bağlantılardan ulaşabilirsiniz.

Gondola ve Step Holder 3D Model

Thingiverse sayfasında birden fazla gondola ve step holder tasarımı bulabilir ve istediğiniz tasarımlardan 3D baskı alarak projenizde kullanabilirsiniz. Bu projede kullanılan tasarımlara aşağıdaki adreslerden ulaşabilirsiniz.

3D yazıcıdan baskı alma imkanı yok ise CD ve benzeri materyaller ile kendiniz için aşağıdaki gibi bir gondola tasarımı oluşturabilirsiniz.

Gondola ve Step Holder Montajı

Adım 1: Çizim yapmak istediğiniz alanın veya kullanacağınız panonun boyutuna göre iki adet aynı uzunlukta kayışı gondola kayış yuvasına sabitleştirin.

Adım 2: Her iki kayışın boşta kalan ucuna ağırlık bağlayın. Ben kullandığım pano genişliğine göre her iki kayış ucuna 4 er adet AA tipi pil bağladım. Dilerseniz bu iş için olta kurşunları kullanabilirsiniz. Bu ağırlıkların amacı kayışları gergin pozisyonda tutmak ve gondola dengesini ayarlamaktır.

Adım 3: Servo motoru gondola modeli üzerinde bulunan servo yuvasına monte edin. Sabitleştirmek için sıcak silikondan faydalanabilirsiniz. Ardından gondola kalem yuvasına uygun bir tahta kalemi yerleştirin.

Adım 4: Step motorları, motor tutucu (holder) modeline monte edin. Bunun için sıcak silikondan faydalanabilirsiniz.

Adım 5: Step motor kasnaklarını (dişlilerini) step motorlara bağlayın ardından her iki step motoru aşağıdaki görselde olduğu gibi panonuzun sağ üst ve sol üst köşelerine sabitleyin.

Adım 6: Bu adımda gondola pano üzerinde aşağıdaki görselde olduğu şekilde durmalıdır. Burada ki önemli kısım; servo motor açık pozisyonda iken kalem ucu panoya temas etmemelidir. Eğer servo açık pozisyonda iken servo kanat uzunluğu bu mesafeyi sağlamıyorsa servo kanatına ek yaparak pano ile kalem arasında ki mesafeyi genişletebilirsiniz.

Adım 7: Adım 2’de kayışların boş ucuna ağırlık yerleştirmiştik bu adımda ise gondola için ağırlık yerleştirmemiz gerekiyor. Ağırlık için ben yine bir kaç adet pil kullandım, siz dilerseniz olta kurşunu veya madeni para kullanabilirsiniz. Burada ki amaç daha öncede bahsettiğimiz gibi kayışları gerginleştirmek ve gondola ağırlık dengesini sağlayabilmektir.

Devre Şeması – Bağlantılar

Bağlantılara geçmeden önce AF Motor Sürücü üzerinde bir yükseltme (upgrade) yapmamız gereklidir. Motor sürücü üzerinde bulunan iki adet L293D entegre projede kullandığımız step motorlar için yeterli akımı sağlayamayacaktır. Bu durum; aşırı ısınma, motorlarda titreme ve yanma gibi sorunlara neden olabilir. Bu tip sorunların üstesinden gelebilmek için iki adet harici L293D entegre kullanmamız yeterlidir.

Daha fazla detay için aşağıdaki uygulama videosunu izleyebilirsiniz.

15,305 views
165   

Adım 1: AF Motor Sürücü üzerinde bulunan iki adet L293D entegreyi düz bir tornavida yardımı ile yuvadan dikkatlice çıkarın. Ardından çıkartılan L293D entegre ile harici L293D entegreyi tüm bacaklar aynı hizada olacak şekilde üst üste yerleştirin. Bu işlemi ayrı ayrı her iki entegre için uygulayın. Son olarak entegre bacaklarına basit bir lehim işlemi uygulayarak birbirine temas etmesini sağlayın. Lehim işlemi uygulandıktan sonra her bir çifti tekrar AF Motor Sürücü üzerindeki yuvalara dikkatlice yerleştirin

Adım 2: Bağlantılarınızı aşağıdaki devre şemasına göre yapabilirsiniz. Her iki kartı (Arduino ve Motor Sürücüsünü) birbirinden bağımsız (harici) güç ile beslemenizi öneririm. Arduino için 9V pil tercih edebilirsiniz.

Not: Bağlantılar tamamlandıktan ve program çalıştırıldıktan sonra eğer step motorlar aksi yönlere hareket ederse, AF Motor Sürücü üzerindeki step motor bağlantı yönlerini değiştiriniz.

 

Yazılım ve Ayarlar

Bu bölümde hazır bir yazılım olan Polargraph 1.2 versiyonunu kullanacağız. Yazılım ve ayarlarına geçmeden önce oluşturduğunuz proje alanının ölçülerini yani makine boyutlarını bulmalıyız.

Not: Makine boyutunuzun, kullandığınız pano veya yüzey boyutuyla aynı olmadığını unutmayın. Sayfa veya çizim alanınız yüzeyinize oranla daha küçük boyutlarda olacaktır.

Makine Genişliği: İki step motor kasnağı (dişlisi) arasındaki mesafedir.

Makine Yüksekliği: Step motor kasnak (dişli) ekseninden çizim alanının veya yüzeyinin tabanına olan mesafedir.

Hedef Nokta: Her iki step motor kasnağı arasında enine bir hat çizin. Bu hattın orta merkezinden tam olarak 120mm (12cm) aşağısına bir nokta işaretleyin. Bu nokta; çizime başlamadan evvel kalem ucunun yerleştirileceği pozisyonu belirtir.

Not: Makine boyutlarını not edin. Bu değerler yazılım ayarlarında kullanılacaktır.

Adım 1: Polargraph yazılımını çalıştırabilmek için iki ayrı programa ihtiyacımız var; Processing ve Arduino IDE. Her iki program için bağlantılar aşağıdadır.

Processing version 1.5.1 – https://processing.org/download/

Arduino IDE version 1.0.5 – https://www.arduino.cc/en/Main/OldSoftwareReleases

Not: Versiyon hataları ile karşılaşmamak için bu iki programın yukarıda belirtilen sürümlerini indirip/kurmanız gerekmektedir.

Adım 2: Aşağıdaki bağlantıdan Polargraph yazılımı ve kütüphaneler için sıkıştırılmış dosyayı indirin.

http://bit.ly/polargraph

Arduino kaynak kodu için gerekli kütüphaneleri, Polargraph 1.2 > arduino-source > libraries klasörü içerisinde bulun ve kopyalayın (Kütüphane adları: AccelStepper, AFMotor, UTFT, UTouch). Kopyaladığınız dosyaları bilgisayarınızda bulunan Belgeler > Arduino > libraries (C:\Kullanıcılar\Kullanıcı\Belgeler\Arduino\libraries) klasörüne yapıştırın.

Adım 3: Arduino için Polargraph 1.2 > arduino-source > polargraph_server_a1 klasörü içerisinde bulunan polargraph_server_a1 kaynak kod dosyasını açın. Ardından kullanılan Arduino kartı ve Arduino’nun bağlı olduğu portu seçerek kodu yükleyiniz. Arduino kaynak kod kısmı burada tamamlanmıştır.

Adım 4: Bu adımda Polargraph yazılımını çalıştırabilmek için Processing ayarlarını yapacağız. Öncelikle Processing için gerekli kütüphaneleri Polargraph 1.2 > processing-source > Processing libraries klasörü içerisinde bulun ve kütüphane klasörlerini kopyalayın (Kütüphane adları: controlP5, diewald_CV_kit, geomerative). Ardından kopyaladığınız klasörleri Belgeler > Processing > libraries (C:\Kullanıcılar\Kullanıcı\Belgeler\Processing\libraries) klasörü içerisine yapıştırın.

Adım 5: Polargraph yazılımını çalıştırmamız için gereken son adımdayız, Polargraph 1.2 > processing-source klasörü altında bulunan polargraphcontroller klasörünü kopyalayın ve Belgeler > Processing (C:\Kullanıcılar\Kullanıcı\Belgeler\Processing\libraries) klasörü içerisine yapıştırın.

Adım 6: Processing 1.5.1 programını çalıştırın, ardından File > Sketchbook sekmesi altında bulunan polargraphcontroller kaynak kod dosyasını seçin. Polargraph yazılımı çalıştırılmak için artık hazır! Processing IDE sol üst köşesinde bulunan RUN (çalıştır) butonu ile yazılımı çalıştırın.

Adım 7: Yazılımı çalıştırdıktan sonra ilk yapmamız gereken makineye ait boyut değerlerini tanımlamak.  Öncelikle Makine Genişliği’ni tanımlayın bunun için yazılımın (Setup bölümü altında) sol tarafta bulunan listeden Machine Width sekmesini seçin ve farenizi yukarı-aşağı yönde hareket ettirerek sizin için en uygun değeri ayarlayın. İkinci olarak Makine Yüksekliği’ni tanımlayın, Machine Height sekmesini seçin ve uygun değere ayarlayın. Üçüncü olarak Sayfa Genişliği’ni (Page Widht) ve Sayfa Yüksekliği’ni (Page Height) seçerek ayarlayın. Bu iki ayar çizimin yerleştirileceği-çizileceği alanı belirler. Eğer A4 üzerine çizim yapmak isterseniz bu son iki ayarı A4 boyutlarına ayarlamanız gereklidir. Unutmayın ki çizim alanı genişliği ve yüksekliği, makine genişliği ve yüksekliğinden fazla olmamalıdır.

Adım 8: Makine boyutları tanımlandıktan sonra listeden sırasıyla Center Page (Sayfayı Ortala) ve Center HomePoint (Hedef Noktayı Ortala) sekmelerini tıklıyoruz. Ardından Page Pos Y ve Home Pos Y sekmelerini seçerek her ikisinin değerini 120 olarak ayarlıyoruz.

Adım 9: Bu adımda projede kullandığımız step motor ve kasnak (dişli) değerlerini tanımlayacağız. Sol listeden MM Per Rev  sekmesini bulun. Burada tanımlanacak değer projede kullanılan kasnak ve kayış tipine göre olacaktır.

Örneğin; eğer kullandığınız kayış GT2 ise değer 2mm dir ve kullandığınız kasnak 16 diş ise tanımlanacak değer 2*16=32 yani 32mm dir. MM Per Rev değerinizi bu basit hesaba göre tanımlayabilirsiniz.

Ardından Steps Per Rev sekmesine gelin. Burada tanımlanacak değer kullandığınız step motor türüne göre olacaktır. Örneğin; kullanılan step motorun adım açısı (step angle) 1.8 derece ise 200 adım (steps) dır.  Çift motor kullandığımız için Steps Per Rev değeri 400 olarak tanımlanacaktır.

Adım 10: Bu adımda servo motor yani kalem ayarlarını yapacağız. Pen Up Position ve Pen Down Position değerleri servo motor açılarınızı belirler yani kalem ucunun panoya temas etmesi veya etmemesi bu değerler ile sağlanır. Bu iki değeri en uygun servo açılarınıza göre tanımlayın.

Adım 11: Daha önce Arduino için gerekli kodu yüklemiştik şimdi ise Processing ile Arduino arasında iletişimi başlatacağız. Bunun için listenin en alt sekmesinde bulunan Serial Port seçeneğini seçin ardından açılan listeden  Arduino’nun bağlı olduğu port’u (bağlantı noktasını) seçin. Bağlantı noktası doğru ise ekranın üst bölümünde bulunan No Serial Connection ibaresi yerine bağlanılan port numarasını göreceksiniz (yeşil renk). Daha sonra ekranın sağ tarafında bulunan Command Queue ibaresini tıklayın böylece komut gönderme işlemi aktif (yeşil renk) olacaktır. Bu adımı son olarak sol listeden Upload Lift Range ve Test Lift Range seçeneklerini tıklayarak tamamlayın.

Adım 12: Bu adıma başlamadan önce, yazılımı her çalıştırdığınızda tekrar ayar yapmamak için Save seçeneği ile ayarlarınızı kaydedin. Yazılımı daha sonra çalıştırdığınızda yine Save seçeneği altında bulunan Load seçeneği ile son ayarları tanımlayabilirsiniz. Şimdi yazılım ekranının en üstünde bulunan menüden Input sekmesine yani ana ekrana geçiş yapın. Ardından manuel olarak (el ile) pano üzerinde bulunan gondolayı hedef noktaya taşıyın (Bu işlem her çizim öncesi yapılmalıdır!). Kalem hedef nokta üzerine taşındıktan sonra yazılıma geri dönerek Set Home ve Set Pen Position seçeneklerini seçin.

Adım 13: Bu adımda çizim alanımızın son halini belirleyeceğiz. Öncelikle Select Area seçeneğini tıklıyoruz ve ekranda bulunan çizim alanı (açık gri ton) içerisine farenin sol tuşuna basılı tutarak bir alan daha belirliyoruz. Bu şu manaya gelmektedir; çizim alanınızı bir A4 kağıt olarak düşünün ve Select Area seçeneği ile A4 kağıdın içerisinde sınırlarını belirlediğiniz bir çizim alanı daha oluşturuyorsunuz. Ardından Set Frame to Area seçeneğini tıklayarak çizim için alanımızın son halini belirlemiş oluyoruz.

Adım 14: Bir görseli veya metni yazdırmak için yükleyeceğiniz dosya uzantısı .svg olmalıdır. İnternette bir çok ücretsiz online format çevirici site mevcuttur. Vektör çizim görseller veya metinler daha iyi sonuç almanızı sağlayacaktır. Görselinizi ayarladıktan sonra yazılıma geri dönerek Load Vector seçeneğini tıklayın, Resize Vector seçeneği ile görselinizin boyutunu ayarlayın, Move Vector seçeneği ile görselinizi konumlandırın, Select Area ve Set Frame to Area seçenekleri ile görselinizin boyutu oranında alan ve çerçeve belirleyin ve son olarak Draw Vector seçeneğini tıklayarak çizimi başlatabilirsiniz.

shares